@jsonjoy.com/json-random
Version:
Random JSON generation, structured JSON by schema generation, no dependencies.
28 lines (27 loc) • 1.52 kB
TypeScript
import type { ArrayTemplate, BinTemplate, BooleanTemplate, FloatTemplate, IntegerTemplate, Int64Template, LiteralTemplate, MapTemplate, NumberTemplate, ObjectTemplate, OrTemplate, StringTemplate, Template } from './types';
export interface TemplateJsonOpts {
maxNodes?: number;
}
export declare class TemplateJson {
readonly template: Template;
readonly opts: TemplateJsonOpts;
static readonly gen: (template?: Template, opts?: TemplateJsonOpts) => unknown;
protected nodes: number;
protected maxNodes: number;
constructor(template?: Template, opts?: TemplateJsonOpts);
gen(): unknown;
protected generate(tpl: Template): unknown;
protected minmax(min: number, max: number): number;
protected generateArray(template: ArrayTemplate): unknown[];
protected generateObject(template: ObjectTemplate): Record<string, unknown>;
protected generateMap(template: MapTemplate): Record<string, unknown>;
protected generateString(template: StringTemplate): string;
protected generateNumber([, min, max]: NumberTemplate): number;
protected generateInteger(template: IntegerTemplate): number;
protected generateInt64(template: Int64Template): bigint;
protected generateFloat(template: FloatTemplate): number;
protected generateBoolean(template: BooleanTemplate): boolean;
protected generateBin(template: BinTemplate): Uint8Array;
protected generateLiteral(template: LiteralTemplate): unknown;
protected generateOr(template: OrTemplate): unknown;
}