UNPKG

lakutata

Version:

An IoC-based universal application framework.

47 lines (35 loc) 2.06 kB
import { Schema } from './TypeDef.internal.27.js'; import { IConstructor } from './TypeDef.internal.118.js'; import { BaseObject } from './TypeDef.internal.120.js'; import { Provider, Component, Module } from './TypeDef.internal.96.js'; type JSONSchema = Schema; type ClassDecorator<Constructor extends IConstructor> = (target: Constructor) => Constructor | void; type ActionPattern<T extends Record<string, any> = {}> = Record<string, any> & T; type MethodDecorator<ClassPrototype, Method, Property = string | symbol> = (target: ClassPrototype, propertyKey: Property, descriptor: TypedPropertyDescriptor<Method>) => TypedPropertyDescriptor<Method> | void; type ParameterDecorator<ClassPrototype> = (target: ClassPrototype, propertyKey: string | symbol, parameterIndex: number) => void; type PropertyDecorator<ClassPrototype> = (target: ClassPrototype, propertyKey: string | symbol) => void; interface BaseObjectOptions { class: typeof BaseObject; [prop: string]: any; } type ObjectOptions<T> = T & BaseObjectOptions; type ObjectOptionsBuilder<T> = (options: T) => ObjectOptions<T>; interface BaseProviderOptions { class: typeof Provider; [prop: string]: any; } type ProviderOptions<T> = T & BaseProviderOptions; type ProviderOptionsBuilder<T> = (options: T) => ProviderOptions<T>; interface BaseComponentOptions { class: typeof Component; [prop: string]: any; } type ComponentOptions<T> = T & BaseComponentOptions; type ComponentOptionsBuilder<T> = (options: T) => ComponentOptions<T>; interface BaseModuleOptions { class: typeof Module; [prop: string]: any; } type ModuleOptions<T> = T & BaseModuleOptions; type ModuleOptionsBuilder<T> = (options: T) => ModuleOptions<T>; export type { ActionPattern, BaseComponentOptions, BaseModuleOptions, BaseObjectOptions, BaseProviderOptions, ClassDecorator, ComponentOptions, ComponentOptionsBuilder, JSONSchema, MethodDecorator, ModuleOptionsBuilder, ObjectOptions, ObjectOptionsBuilder, ParameterDecorator, PropertyDecorator, ProviderOptions, ProviderOptionsBuilder };