This npm package implements methods for validating Network Canvas protocol files against an appropriate JSON schema.
It exports three methods:
- validateSchema - validates a schema against the JSON schema
const { hasErrors, errors } = validateSchema(schemaJson);
- 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);
- 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);