UNPKG

@yellow-ticket/seed-json-schema

Version:

Seed a JSON Schema with random values.

23 lines (22 loc) 637 B
import { faker } from '@faker-js/faker'; /** * @see https://json-schema.org/understanding-json-schema/reference/numeric#integer */ export function seedInteger(schema) { if (schema.const) { return schema.const; } if (schema.examples) { return schema.examples; } const minimum = schema.exclusiveMinimum != null ? schema.exclusiveMinimum + 1 : (schema.minimum ?? 0); const maximum = schema.exclusiveMaximum != null ? schema.exclusiveMaximum - 1 : (schema.maximum ?? minimum + 100); return faker.number.int({ min: minimum, max: maximum, }); }