feat: Add fork of json-schema-to-zod (no-changelog) (#11228)

This commit is contained in:
Tomi Turtiainen
2024-10-17 14:57:44 +02:00
committed by GitHub
parent c728a2ffe0
commit 86a94b5523
56 changed files with 3013 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
import { z } from 'zod';
import { parseArray } from '../../src/parsers/parse-array';
describe('parseArray', () => {
test('should create tuple with items array', () => {
expect(
parseArray(
{
type: 'array',
items: [
{
type: 'string',
},
{
type: 'number',
},
],
},
{ path: [], seen: new Map() },
),
).toMatchZod(z.tuple([z.string(), z.number()]));
});
test('should create array with items object', () => {
expect(
parseArray(
{
type: 'array',
items: {
type: 'string',
},
},
{ path: [], seen: new Map() },
),
).toMatchZod(z.array(z.string()));
});
test('should create min for minItems', () => {
expect(
parseArray(
{
type: 'array',
minItems: 2,
items: {
type: 'string',
},
},
{ path: [], seen: new Map() },
),
).toMatchZod(z.array(z.string()).min(2));
});
test('should create max for maxItems', () => {
expect(
parseArray(
{
type: 'array',
maxItems: 2,
items: {
type: 'string',
},
},
{ path: [], seen: new Map() },
),
).toMatchZod(z.array(z.string()).max(2));
});
});