UNPKG

@openactive/data-model-validator

Version:

A library to allow a developer to validate a JSON document against the OpenActive Modelling Opportunity Specification

95 lines (83 loc) 2.41 kB
const { getContext, getEnums, getFullyQualifiedProperty, getGraph, getMetaData, loadEnum, loadModel, getSchemaOrgVocab, getProperties, } = require('@openactive/data-models'); const { InvalidModelNameError } = require('../exceptions'); const DataModelHelper = class { static getSchemaOrgVocab() { return getSchemaOrgVocab(); } static getProperties(version) { if (typeof version === 'undefined') { throw Error('Parameter "version" must be defined'); } return getProperties(version); } static getContext(version) { if (typeof version === 'undefined') { throw Error('Parameter "version" must be defined'); } return getContext(version); } static getFullyQualifiedProperty(value, version, contexts = []) { if (typeof value === 'undefined') { throw Error('Parameter "value" must be defined'); } if (typeof version === 'undefined') { throw Error('Parameter "version" must be defined'); } return getFullyQualifiedProperty(value, version, contexts); } static getEnums(version) { if (typeof version === 'undefined') { throw Error('Parameter "version" must be defined'); } return getEnums(version); } static getGraph(version) { if (typeof version === 'undefined') { throw Error('Parameter "version" must be defined'); } return getGraph(version); } static getMetaData(version) { if (typeof version === 'undefined') { throw Error('Parameter "version" must be defined'); } return getMetaData(version); } static loadEnum(name, version) { if (typeof name === 'undefined') { throw Error('Parameter "name" must be defined'); } if (typeof version === 'undefined') { throw Error('Parameter "version" must be defined'); } return loadEnum(name, version); } static loadModel(name, version) { if (typeof name === 'undefined') { throw new InvalidModelNameError('Parameter "name" must be defined'); } if (typeof version === 'undefined') { throw Error('Parameter "version" must be defined'); } try { return loadModel(name, version); } catch (e) { if (e.message.startsWith('Invalid model name')) { throw new InvalidModelNameError('Parameter "name" must be a valid model name'); } else { throw e; } } } }; module.exports = DataModelHelper;