UNPKG

ts-ioc-container

Version:
29 lines (28 loc) 1.33 kB
import { DependencyKey } from './container/IContainer'; import { IInjectFnResolver } from './injector/IInjector'; import { DepKey } from './DepKey'; export type constructor<T> = new (...args: any[]) => T; export interface InstanceOfClass<T = unknown> { new (...args: unknown[]): T; } export type MapFn<T> = (value: T) => T; export declare const pipe: <T>(...mappers: MapFn<T>[]) => MapFn<T>; export declare function fillEmptyIndexes<T>(baseArr: (T | undefined)[], insertArr: T[]): T[]; export declare const constant: <T>(value: T) => () => T; export declare function lazyProxy<T>(resolveInstance: () => T): T; export declare function toLazyIf<T>(resolveInstance: () => T, isLazy?: boolean): T; export declare const promisify: <T>(arg: T | Promise<T>) => Promise<T>; export declare const List: { lastOf: <T>(arr: T[]) => T; }; export declare const Filter: { exclude: <T>(arr: Set<T> | T[]) => (v: T) => boolean; }; export declare const Is: { object: (target: unknown) => target is object; instance: (target: unknown) => target is InstanceOfClass; constructor: (target: unknown) => target is constructor<unknown>; dependencyKey: (target: unknown) => target is DependencyKey; injectBuilder: (target: unknown) => target is IInjectFnResolver<unknown>; DepKey: <T>(key: unknown) => key is DepKey<T>; };