UNPKG

ts-valid8

Version:

A next-generation TypeScript validation library with advanced features

45 lines 1.54 kB
/** * Plugin System for Valid8 * * This system allows for extending the library's functionality through plugins * that can add new validator types or enhance existing ones. */ import { Schema } from '../core/types'; export type PluginDefinition = { name: string; version: string; install: (api: PluginAPI) => void; }; export type PluginAPI = { extend: (schemaType: string, methodName: string, method: Function) => void; registerSchema: <T>(schemaType: string, schemaConstructor: new (...args: any[]) => Schema<T>) => void; registerValidator: (name: string, validatorFn: Function) => void; }; /** * Plugin Manager for registering and managing plugins */ export declare class PluginManager { private plugins; private extensions; private schemas; private validators; /** * Register a plugin with the validation library */ use(plugin: PluginDefinition): void; /** * Get an extension method for a specific schema type */ getExtension(schemaType: string, methodName: string): Function | undefined; /** * Get a registered schema constructor */ getSchema(schemaType: string): (new (...args: any[]) => Schema<any>) | undefined; /** * Get a registered validator function */ getValidator(name: string): Function | undefined; } export declare const pluginManager: PluginManager; export declare function createPlugin(name: string, version: string, installFn: (api: PluginAPI) => void): PluginDefinition; //# sourceMappingURL=index.d.ts.map