UNPKG

json-schema-preset

Version:

Produce a suitable default template / preset based on a JSON-Schema.

61 lines 2.96 kB
/** * json-schema-preset.test.ts * * Created by Dr. Maximillian Dornseif 2021-12-20 in json-schema-empty-arrays 1.0.0 * Copyright (c) 2021 Dr. Maximillian Dornseif */ import test from 'ava'; import { jsonPreset } from './json-schema-preset'; const schema = { $id: 'https://huwawi3.hudora.de/schemata/H3Test', $schema: 'http://json-schema.org/draft-07/schema#', title: 'Test data', type: 'object', required: ['s1', 'n1'], properties: { s1: { title: 's1', type: 'string', default: 'foo', }, s2: { title: 's2', type: 'string', default: '', }, s3: { title: 's3', type: 'string', }, n1: { title: 'n1', type: 'integer', }, n2: { title: 'n2', type: 'integer', }, n3: { title: 'n3', type: 'integer', default: 3, }, sub: { type: 'array', items: { title: 'su1', type: 'string', }, }, }, }; test('handles simple schema', (t) => { t.deepEqual(jsonPreset(schema), { n3: 3, s1: 'foo', s2: '', s3: '', sub: [], }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1zY2hlbWEtcHJlc2V0LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2pzb24tc2NoZW1hLXByZXNldC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxJQUFJLE1BQU0sS0FBSyxDQUFBO0FBR3RCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVqRCxNQUFNLE1BQU0sR0FBZ0I7SUFDMUIsR0FBRyxFQUFFLDJDQUEyQztJQUNoRCxPQUFPLEVBQUUseUNBQXlDO0lBQ2xELEtBQUssRUFBRSxXQUFXO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztJQUN0QixVQUFVLEVBQUU7UUFDVixFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLEtBQUs7U0FDZjtRQUNELEVBQUUsRUFBRTtZQUNGLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsRUFBRTtTQUNaO1FBQ0QsRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEVBQUUsRUFBRTtZQUNGLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxRQUFRO2FBQ2Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQTtBQUVELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzlCLEVBQUUsRUFBRSxDQUFDO1FBQ0wsRUFBRSxFQUFFLEtBQUs7UUFDVCxFQUFFLEVBQUUsRUFBRTtRQUNOLEVBQUUsRUFBRSxFQUFFO1FBQ04sR0FBRyxFQUFFLEVBQUU7S0FDRyxDQUFDLENBQUE7QUFDZixDQUFDLENBQUMsQ0FBQSJ9