@zxh19890103/wik
Version:
The world-class JavaScript library for building large-scale digital warehouse both on 2D and 3D.
16 lines (15 loc) • 632 B
TypeScript
import { AbstractConstructor } from '../../interfaces';
import { InjectToken, ConfigProviderConfigValue } from './Injector.class';
/**
* just mark a class as an injectable one.
*/
declare function injectable(config?: {
providedIn: 'root';
provide: symbol;
}): (target: AbstractConstructor) => void;
/**
* inject a service according to the token, which binds with a constructor.
*/
declare function inject(token: InjectToken, ...tokens: InjectToken[]): (...args: any[]) => void;
declare function provides(config: Record<symbol, ConfigProviderConfigValue>): (target: any) => void;
export { injectable, inject, provides };