UNPKG

json-schema-migrate-x

Version:

Migrate JSON-Schema `draft-04` to `draft-07`, `draft-2019-09` or `draft-2020-12`

22 lines 817 B
import { getAjv } from './ajv.js'; import { metaSchema } from './common.js'; import { DRAFT_2020_SCHEMA, DRAFT_2019_SCHEMA } from './constants.js'; export function getMigrateSchema(version) { const isDraft2020 = version === 'draft2020'; const schema = isDraft2020 ? DRAFT_2020_SCHEMA : DRAFT_2019_SCHEMA; return { $id: `migrateSchema-${version}`, $schema: schema, allOf: [{ migrateSchema: version }, { $ref: schema }], ...(isDraft2020 ? { $dynamicAnchor: 'meta' } : { $recursiveAnchor: true }), }; } export function getMigrate(version) { let migrate; return (schema) => { migrate ||= getAjv(version).compile(getMigrateSchema(version)); migrate(schema); schema.$schema ||= metaSchema(version); }; } //# sourceMappingURL=helpers.js.map