Skip to main content
Module

x/enzastdlib/schema/schema.ts>typeofschema

enzastdlib is a set of TypeScript modules that follow a common design API philosophy aiming at sane defaults and ease-of-use targeting the Deno TypeScript runtime.
Latest
type alias typeofschema
import { type typeofschema } from "https://deno.land/x/enzastdlib@v0.0.4/schema/schema.ts";

Converts a constant JSON Schema object into TypeScript typing at compile-time.

WARNING: Depending on the complexity of your JSON Schemas, your type checking and continous integration suites might experience slowdowns.

WARNING: It is recommended to put schema-related code into a seperate TypeScript file (ex. *.schema.ts) to allow your IDE to cache the resulting typings.

Otherwise you might experience slowdowns with your IDE.

Examples

Example 1

import type { JSONSchema, typeofschema } from 'https://deno.land/x/enzastdlib/schema/mod.ts';

const MY_OBJECT_SCHEMA = {
    type: 'object',

    additionalProperties: {
        type: 'string',
    },
} as const satisfies JSONSchema;

type MyObjectType = typeofschema<typeof MY_OBJECT_SCHEMA>; // `{ [x: string]: string; }`
definition: FromSchema<Schema>