@codemask-labs/node-config
Version:
Node Config Module
20 lines (19 loc) • 715 B
TypeScript
import { ClassTransformOptions } from 'class-transformer';
export type Class<T = any> = new (...args: Array<any>) => T;
export type ConfigServiceExceptionOptions = {
stack?: string;
};
export type Constructors<T extends Array<any>> = {
[K in keyof T]: T[K] extends new (...args: Array<any>) => infer U ? U : never;
};
export type ConfigInstance<T extends Array<any>> = T extends [infer U, ...infer Rest] ? {
[K in keyof U]: U[K];
} & ConfigInstance<Rest> : {};
export type RegisteredConfig = {
base: Class;
dependencies: Array<Class>;
resolvedDependencies: Array<any>;
propertyNameTranslations: Record<string, string>;
transformOptions?: ClassTransformOptions;
instance: any;
};