Skip to content

JS tooling for lottie schema processing and validation

License

Notifications You must be signed in to change notification settings

lottie/lottie-specs-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lottie Specs

JS bindings for the Lottie specs

Usage

Node:

// Imports
const ajv2020 = require("ajv/dist/2020");
const {LottieValidator, get_schema_path} = require("src/validator.js");

// Data
const data = {...}; // Lottie data to validate

// Create validator
const schema = JSON.parse(fs.readFileSync(get_schema_path(), "utf8"));
const validator = new LottieValidator(ajv2020.Ajv2020, schema);
// Get errors
const errors = validator.validate(data);

Browser:

<script src="https://cdnjs.cloudflare.com/ajax/libs/ajv/8.17.1/ajv2020.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@lottie-animation-community/lottie-specs/src/validator.js"></script>

<script>
    // Data
    const data = {...}; // Lottie data to validate

    // You'll need to fetch the schema
    fetch(get_schema_url()).then( r => r.json() ).then(schema => {
        const validator = new LottieValidator(ajv2020.Ajv2020, schema);
        const errors = validator.validate(data);
    });
</script>

Returned Errors

Returned error objects have the following properties:

  • type: "error" or "warning"
  • warning: (only on warnings)
    • "type" whether it's an unknown object type
    • "property" whether it's an unknown property
  • message: Human readable message
  • path: JSON path to the object causing the error (empty string refers to the top-level object)
  • name: Name of the object type as per the schema
  • docs: Link to the specs describing the object

By default LottieValidator.validate returns warnings, to suppress them pass false as second parameter.

Links

Publishing the package

npm login
npm publish --access public

About

JS tooling for lottie schema processing and validation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published