UNPKG

alinea

Version:
19 lines (18 loc) 762 B
import { Type } from './Type.js'; import type { RecordShape } from './shape/RecordShape.js'; export interface Schema<Definitions = {}> extends Record<string, Type> { } export declare namespace Schema { function referencedViews(schema: Schema): Array<string>; function validate(schema: Schema): void; function shapes(schema: Schema): Record<string, RecordShape>; function typeNames(schema: Schema): Map<Type, string>; function contained(schema: Schema, contains: Array<string | Type>): Array<string>; } export interface SchemaTypes { [key: string]: Type; } export interface SchemaOptions<Definition> { types: Definition; } export declare function schema<Definition extends SchemaTypes>(options: SchemaOptions<Definition>): Definition;