@nosana/schema-validator
Version:
To install dependencies:
18 lines • 625 B
JavaScript
import AJV from "ajv";
import { NosPipelineSchema } from "./schema.js";
import { parse, stringify } from 'yaml';
const ajv = new AJV({
allErrors: true,
verbose: true,
allowUnionTypes: true,
strict: false,
});
export const validateJson = (schema) => {
const parsed = JSON.parse(schema);
const validate = ajv.compile(NosPipelineSchema);
const valid = validate(parsed);
return { valid, ...validate };
};
export const validateYaml = (yaml) => validateJson(JSON.stringify(parse(yaml)));
export { NosPipelineSchema, parse as parseYaml, stringify as stringifyYaml };
//# sourceMappingURL=index.js.map