@sprucelabs/schema
Version:
Static and dynamic binding plus runtime validation and transformation to ensure your app is sound. 🤓
19 lines (18 loc) • 679 B
TypeScript
import { Schema } from '../schemas.static.types';
export default class SchemaRegistry {
private schemasById;
private static instance?;
private shouldTrack;
constructor(shouldTrack?: boolean);
static getInstance(): SchemaRegistry;
trackSchema(schema: Schema): void;
isTrackingSchema(id: string, version?: string, namespace?: string): boolean;
getAllSchemas(): Schema[];
getTrackingCount(): number;
forgetAllSchemas(): void;
getSchema(id: string, version?: string, namespace?: string): Schema;
private getSchemaNotThrowing;
private isTrackedById;
forgetSchema(id: string, version?: string): void;
static reset(): void;
}