UNPKG

1.74 kBTypeScriptView Raw
1import "reflect-metadata";
2import { IDefinition } from "./types";
3export declare const META_INJECT: unique symbol;
4export declare const META_PARAMETERS_INJECT: unique symbol;
5/**
6 * Get a class constructor
7 * @param {any} value
8 */
9export declare function getTarget(value: any): FunctionConstructor;
10/**
11 * Check if a function or class has definition property
12 * @param {Function} value Function or class to check
13 */
14export declare function hasDefinition(value: Function): boolean;
15export declare function emitTypes(): (target: any, method: string) => null;
16/**
17 * Get default class definition
18 * @param {Function} target
19 */
20export declare function getInitialDefinition(target: Function, context?: any): IDefinition;
21/**
22 * Get decorated definition for a class or function
23 */
24export declare function getDefinition(value: any, context?: any): IDefinition;
25/**
26 * set decorated definition for a class or function
27 */
28export declare function setDefinition(value: any, definition: Partial<IDefinition>): IDefinition;
29export declare function extendDefinition(value: any, definition: Partial<IDefinition>): IDefinition;
30export interface IPropertyInjectionOptions {
31 lateBinding?: boolean;
32}
33/**
34 * Injection for class or property
35 *
36 * @param service Service or services to inject
37 * @param options Property injection options
38 */
39export declare function Inject(services: (Function | string)[]): ClassDecorator;
40export declare function Inject(service?: Function | string, options?: IPropertyInjectionOptions): any;
41export declare function Tag(...tags: string[]): (target: Function) => void;
42export declare function Service(definition?: Partial<IDefinition> | string): (target: Function) => void;