Buckets:
ktongue/docker_container / .cache /opencode /node_modules /@fastify /merge-json-schemas /test /items.test.js
| const assert = require('node:assert/strict') | |
| const { test } = require('node:test') | |
| const { mergeSchemas } = require('../index') | |
| const { defaultResolver } = require('./utils') | |
| test('should merge empty schema and items keyword', () => { | |
| const schema1 = { type: 'array' } | |
| const schema2 = { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' } | |
| } | |
| } | |
| } | |
| const mergedSchema = mergeSchemas([schema1, schema2], { defaultResolver }) | |
| assert.deepStrictEqual(mergedSchema, { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' } | |
| } | |
| } | |
| }) | |
| }) | |
| test('should merge two equal item schemas', () => { | |
| const schema1 = { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' } | |
| } | |
| } | |
| } | |
| const schema2 = { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' } | |
| } | |
| } | |
| } | |
| const mergedSchema = mergeSchemas([schema1, schema2], { defaultResolver }) | |
| assert.deepStrictEqual(mergedSchema, { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' } | |
| } | |
| } | |
| }) | |
| }) | |
| test('should merge two different sets of item schemas', () => { | |
| const schema1 = { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' }, | |
| bar: { type: 'number' } | |
| } | |
| } | |
| } | |
| const schema2 = { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' }, | |
| baz: { type: 'boolean' } | |
| } | |
| } | |
| } | |
| const mergedSchema = mergeSchemas([schema1, schema2], { defaultResolver }) | |
| assert.deepStrictEqual(mergedSchema, { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' }, | |
| bar: { type: 'number' }, | |
| baz: { type: 'boolean' } | |
| } | |
| } | |
| }) | |
| }) | |
| test('should merge two different sets of item schemas with additionalItems', () => { | |
| const schema1 = { | |
| type: 'array', | |
| items: [ | |
| { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string', const: 'foo' } | |
| } | |
| } | |
| ], | |
| additionalItems: { | |
| type: 'object', | |
| properties: { | |
| baz: { type: 'string', const: 'baz' } | |
| } | |
| } | |
| } | |
| const schema2 = { | |
| type: 'array', | |
| items: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' }, | |
| baz: { type: 'string' } | |
| } | |
| } | |
| } | |
| const mergedSchema = mergeSchemas([schema1, schema2], { defaultResolver }) | |
| assert.deepStrictEqual(mergedSchema, { | |
| type: 'array', | |
| items: [ | |
| { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string', const: 'foo' }, | |
| baz: { type: 'string' } | |
| } | |
| } | |
| ], | |
| additionalItems: { | |
| type: 'object', | |
| properties: { | |
| foo: { type: 'string' }, | |
| baz: { type: 'string', const: 'baz' } | |
| } | |
| } | |
| }) | |
| }) | |
Xet Storage Details
- Size:
- 3.05 kB
- Xet hash:
- 21f4603f7d90e5f8d97106d4a88dcc4a88060a89003a97207ae59cb1f780ba28
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.