##// END OF EJS Templates
tests, refactoring, fixes
tests, refactoring, fixes

File last commit:

r40:6559c5b81a19 di-typescript
r40:6559c5b81a19 di-typescript
Show More
interfaces.ts
68 lines | 1.6 KiB | video/mp2t | TypeScriptLexer
/ src / ts / di / interfaces.ts
cin
tests, refactoring, fixes
r40 import { isNull, isPrimitive } from "../safe";
cin
ported IoC container to typescript...
r34 import { ActivationContext } from "./ActivationContext";
cin
ts code cleanup, linting
r39 import { Constructor, Factory } from "../interfaces";
cin
ported IoC container to typescript...
r34
export interface Descriptor {
activate(context: ActivationContext, name?: string);
cin
working on IoC container
r38 isInstanceCreated(): boolean;
getInstance();
cin
ported IoC container to typescript...
r34 }
cin
tests, refactoring, fixes
r40 export function isDescriptor(x): x is Descriptor {
return (!isPrimitive(x)) &&
(x.activate instanceof Function);
cin
ported IoC container to typescript...
r34 }
export interface ServiceMap {
cin
tests, refactoring, fixes
r40 [s: string]: any;
cin
ported IoC container to typescript...
r34 }
export enum ActivationType {
cin
working on IoC container
r38 Singleton,
Container,
Hierarchy,
Context,
Call
}
export interface RegistrationWithServices {
services?: object;
}
export interface ServiceRegistration extends RegistrationWithServices {
$type?: string | Constructor;
$factory?: string | Factory;
activation?: "singleton" | "container" | "hierarchy" | "context" | "call";
params?;
inject?: object | object[];
cleanup: (instance) => void | string;
}
export interface ValueRegistration {
$value;
parse?: boolean;
}
export interface DependencyRegistration extends RegistrationWithServices {
$dependency: string;
lazy?: boolean;
optional?: boolean;
default?;
}
export function isServiceRegistration(x): x is ServiceRegistration {
cin
tests, refactoring, fixes
r40 return (!isPrimitive(x)) && ("$type" in x || "$factory" in x);
cin
working on IoC container
r38 }
export function isValueRegistration(x): x is ValueRegistration {
cin
tests, refactoring, fixes
r40 return (!isPrimitive(x)) && ("$value" in x);
cin
working on IoC container
r38 }
export function isDependencyRegistration(x): x is DependencyRegistration {
cin
tests, refactoring, fixes
r40 return (!isPrimitive(x)) && ("$depdendency" in x);
cin
working on IoC container
r38 }