@codaco/protocol-validation
TypeScript icon, indicating that this package has built-in type declarations

3.0.0-alpha.4 • Public • Published

@codaco/protocol-validation

This npm package implements methods for validating Network Canvas protocol files against an appropriate JSON schema.

It exports three methods:

  1. validateSchema - validates a schema against the JSON schema
const { hasErrors, errors } = validateSchema(schemaJson);
  1. validateLogic - validates the logic of the protocol to ensure there are no inconsistencies. This includes validations that cannot be implemented within the JSON schema.
const { hasErrors, errors } = validateLogic(protocolJson);
  1. validateProtocol - validates the protocol against the schema and logic.
try {
  validateProtocol(protocolJson, schemaJson);
  // schema is valid
} catch (e) {
  if (e instanceof ValidationError) {
    // schema is invalid. e.schemaErrors and e.dataErrors contain the errors
  } else {
    // some other error happened during the process
  }
}

It also exports migration functionality for migrating protocols from one version to another.

const migratedProtocol = migrateProtocol(8, protocolJson);

Readme

Keywords

none

Package Sidebar

Install

npm i @codaco/protocol-validation

Weekly Downloads

8

Version

3.0.0-alpha.4

License

GPL-3.0-or-later

Unpacked Size

1.15 MB

Total Files

16

Last publish

Collaborators

  • mrkarimoff
  • buckhalt
  • jthrilly