sanex3339 9 anos atrás
pai
commit
7d00d7fe5e

+ 211 - 0
typings/browser/ambient/inversify/index.d.ts

@@ -0,0 +1,211 @@
+// Generated by typings
+// Source: node_modules/inversify-dts/inversify/inversify.d.ts
+// Type definitions for inversify 2.0.0-beta.8
+// Project: https://github.com/inversify/InversifyJS
+// Definitions by: inversify <https://github.com/inversify>
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+interface Symbol {
+    toString(): string;
+    valueOf(): Object;
+}
+
+interface SymbolConstructor {
+    (description?: string|number): Symbol;
+}
+
+declare var Symbol: SymbolConstructor;
+
+declare namespace inversify {
+
+    export interface IKernelConstructor {
+        new(): IKernel;
+    }
+
+    export interface PlanAndResolve<T> {
+        (args: PlanAndResolveArgs): T[];
+    }
+
+    export interface IMiddleware extends Function {
+        (next: PlanAndResolve<any>): PlanAndResolve<any>;
+    }
+
+    export interface PlanAndResolveArgs {
+        multiInject: boolean;
+        serviceIdentifier: (string|Symbol|INewable<any>);
+        target: ITarget;
+        contextInterceptor: (contexts: IContext) => IContext;
+    }
+
+    export interface IKernel {
+        bind<T>(serviceIdentifier: (string|Symbol|INewable<T>)): IBindingToSyntax<T>;
+        unbind(serviceIdentifier: (string|Symbol|any)): void;
+        unbindAll(): void;
+        get<T>(serviceIdentifier: (string|Symbol|INewable<T>)): T;
+        getNamed<T>(serviceIdentifier: (string|Symbol|INewable<T>), named: string): T;
+        getTagged<T>(serviceIdentifier: (string|Symbol|INewable<T>), key: string, value: any): T;
+        getAll<T>(serviceIdentifier: (string|Symbol|INewable<T>)): T[];
+        load(...modules: IKernelModule[]): void;
+        applyMiddleware(...middleware: IMiddleware[]): void;
+        getServiceIdentifierAsString(serviceIdentifier: (string|Symbol|INewable<any>)): string;
+        snapshot(): void;
+        restore(): void;
+    }
+
+    export interface IKernelModule extends Function {
+        (kernel: IKernel): void;
+    }
+
+    interface IBindingOnSyntax<T> {
+        onActivation(fn: (context: IContext, injectable: T) => T): IBindingWhenSyntax<T>;
+    }
+
+    interface IBindingInSyntax<T> {
+        inSingletonScope(): IBindingWhenOnSyntax<T>;
+    }
+
+    interface IBindingWhenSyntax<T> {
+        when(constraint: (request: IRequest) => boolean): IBindingOnSyntax<T>;
+        whenTargetNamed(name: string): IBindingOnSyntax<T>;
+        whenTargetTagged(tag: string, value: any): IBindingOnSyntax<T>;
+        whenInjectedInto(parent: (Function|string)): IBindingOnSyntax<T>;
+        whenParentNamed(name: string): IBindingOnSyntax<T>;
+        whenParentTagged(tag: string, value: any): IBindingOnSyntax<T>;
+        whenAnyAncestorIs(ancestor: (Function|string)): IBindingOnSyntax<T>;
+        whenNoAncestorIs(ancestor: (Function|string)): IBindingOnSyntax<T>;
+        whenAnyAncestorNamed(name: string): IBindingOnSyntax<T>;
+        whenAnyAncestorTagged(tag: string, value: any): IBindingOnSyntax<T>;
+        whenNoAncestorNamed(name: string): IBindingOnSyntax<T>;
+        whenNoAncestorTagged(tag: string, value: any): IBindingOnSyntax<T>;
+        whenAnyAncestorMatches(constraint: (request: IRequest) => boolean): IBindingOnSyntax<T>;
+        whenNoAncestorMatches(constraint: (request: IRequest) => boolean): IBindingOnSyntax<T>;
+    }
+
+    interface IBindingToSyntax<T> {
+        to(constructor: { new(...args: any[]): T; }): IBindingInWhenOnSyntax<T>;
+        toConstantValue(value: T): IBindingWhenOnSyntax<T>;
+        toDynamicValue(func: () => T): IBindingWhenOnSyntax<T>;
+        toConstructor<T2>(constructor: INewable<T2>): IBindingWhenOnSyntax<T>;
+        toFactory<T2>(factory: IFactoryCreator<T2>): IBindingWhenOnSyntax<T>;
+        toAutoFactory<T2>(serviceIdentifier: (string|Symbol|T2)): IBindingWhenOnSyntax<T>;
+        toProvider<T2>(provider: IProviderCreator<T2>): IBindingWhenOnSyntax<T>;
+    }
+
+    interface IBindingInWhenOnSyntax<T> extends IBindingInSyntax<T>, IBindingWhenOnSyntax<T> {}
+    interface IBindingWhenOnSyntax<T> extends IBindingWhenSyntax<T>, IBindingOnSyntax<T> {}
+
+    export interface IFactory<T> extends Function {
+        (...args: any[]): (((...args: any[]) => T)|T);
+    }
+
+    interface IFactoryCreator<T> extends Function {
+        (context: IContext): IFactory<T>;
+    }
+
+    export interface INewable<T> {
+        new(...args: any[]): T;
+    }
+
+    export interface IProvider<T> extends Function {
+        (): Promise<T>;
+    }
+
+    interface IProviderCreator<T> extends Function {
+        (context: IContext): IProvider<T>;
+    }
+
+    export interface IContext {
+        kernel: IKernel;
+        plan: IPlan;
+        addPlan(plan: IPlan): void;
+    }
+
+    export interface IPlan {
+        parentContext: IContext;
+        rootRequest: IRequest;
+    }
+
+    export interface IRequest {
+        serviceIdentifier: (string|Symbol|INewable<any>);
+        parentContext: IContext;
+        parentRequest: IRequest;
+        childRequests: IRequest[];
+        target: ITarget;
+        bindings: IBinding<any>[];
+        addChildRequest(
+            serviceIdentifier: (string|Symbol|INewable<any>),
+            bindings: (IBinding<any>|IBinding<any>[]),
+            target: ITarget): IRequest;
+    }
+
+    export interface IBinding<T> {
+        activated: boolean;
+        serviceIdentifier: (string|Symbol|INewable<T>);
+        implementationType: INewable<T>;
+        factory: IFactoryCreator<any>;
+        provider: IProviderCreator<any>;
+        constraint: (request: IRequest) => boolean;
+        onActivation: (context: IContext, injectable: T) => T;
+        cache: T;
+        dynamicValue: () => T;
+        scope: number; // BindingScope
+        type: number; // BindingType
+    }
+
+    export interface ITarget {
+        serviceIdentifier: (string|Symbol|INewable<any>);
+        name: IQueryableString;
+        metadata: Array<IMetadata>;
+        hasTag(key: string): boolean;
+        isArray(): boolean;
+        matchesArray(name: string|Symbol|any): boolean;
+        isNamed(): boolean;
+        isTagged(): boolean;
+        matchesNamedTag(name: string): boolean;
+        matchesTag(key: string): (value: any) => boolean;
+    }
+
+    export interface IQueryableString {
+        startsWith(searchString: string): boolean;
+        endsWith(searchString: string): boolean;
+        contains(searchString: string): boolean;
+        equals(compareString: string): boolean;
+        value(): string;
+    }
+
+    export interface IMetadata {
+        key: string;
+        value: any;
+    }
+
+    export var Kernel: IKernelConstructor;
+    export var decorate: (decorator: (ClassDecorator|ParameterDecorator), target: any, parameterIndex?: number) => void;
+    export function injectable(): (typeConstructor: any) => void;
+    export function tagged(metadataKey: string, metadataValue: any): (target: any, targetKey: string, index?: number) => any;
+    export function named(name: string): (target: any, targetKey: string, index?: number) => any;
+    export function targetName(name: string): (target: any, targetKey: string, index: number) => any;
+    export function inject(serviceIdentifier: (string|Symbol|any)): (target: any, targetKey: string, index?: number) => any;
+    export function multiInject(serviceIdentifier: (string|Symbol|any)): (target: any, targetKey: string, index?: number) => any;
+
+    export function makePropertyInjectDecorator(kernel: IKernel):
+        (serviceIdentifier: (string|Symbol|INewable<any>)) => (proto: any, key: string) => void;
+
+    export function makePropertyInjectNamedDecorator(kernel: IKernel):
+        (serviceIdentifier: (string|Symbol|INewable<any>), named: string) => (proto: any, key: string) => void;
+
+    export function makePropertyInjectTaggedDecorator(kernel: IKernel):
+        (serviceIdentifier: (string|Symbol|INewable<any>), key: string, value: any) => (proto: any, propertyName: string) => void;
+
+    export function makePropertyMultiInjectDecorator(kernel: IKernel):
+        (serviceIdentifier: (string|Symbol|INewable<any>)) => (proto: any, key: string) => void;
+
+    // constraint helpers
+    export var traverseAncerstors: (request: IRequest, constraint: (request: IRequest) => boolean) => boolean;
+    export var taggedConstraint: (tag: string) => (value: any) => (request: IRequest) => boolean;
+    export var namedConstraint: (value: any) => (request: IRequest) => boolean;
+    export var typeConstraint: (type: (Function|string)) => (request: IRequest) => boolean;
+}
+
+declare module "inversify" {
+  export = inversify;
+}

+ 211 - 0
typings/main/ambient/inversify/index.d.ts

@@ -0,0 +1,211 @@
+// Generated by typings
+// Source: node_modules/inversify-dts/inversify/inversify.d.ts
+// Type definitions for inversify 2.0.0-beta.8
+// Project: https://github.com/inversify/InversifyJS
+// Definitions by: inversify <https://github.com/inversify>
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+interface Symbol {
+    toString(): string;
+    valueOf(): Object;
+}
+
+interface SymbolConstructor {
+    (description?: string|number): Symbol;
+}
+
+declare var Symbol: SymbolConstructor;
+
+declare namespace inversify {
+
+    export interface IKernelConstructor {
+        new(): IKernel;
+    }
+
+    export interface PlanAndResolve<T> {
+        (args: PlanAndResolveArgs): T[];
+    }
+
+    export interface IMiddleware extends Function {
+        (next: PlanAndResolve<any>): PlanAndResolve<any>;
+    }
+
+    export interface PlanAndResolveArgs {
+        multiInject: boolean;
+        serviceIdentifier: (string|Symbol|INewable<any>);
+        target: ITarget;
+        contextInterceptor: (contexts: IContext) => IContext;
+    }
+
+    export interface IKernel {
+        bind<T>(serviceIdentifier: (string|Symbol|INewable<T>)): IBindingToSyntax<T>;
+        unbind(serviceIdentifier: (string|Symbol|any)): void;
+        unbindAll(): void;
+        get<T>(serviceIdentifier: (string|Symbol|INewable<T>)): T;
+        getNamed<T>(serviceIdentifier: (string|Symbol|INewable<T>), named: string): T;
+        getTagged<T>(serviceIdentifier: (string|Symbol|INewable<T>), key: string, value: any): T;
+        getAll<T>(serviceIdentifier: (string|Symbol|INewable<T>)): T[];
+        load(...modules: IKernelModule[]): void;
+        applyMiddleware(...middleware: IMiddleware[]): void;
+        getServiceIdentifierAsString(serviceIdentifier: (string|Symbol|INewable<any>)): string;
+        snapshot(): void;
+        restore(): void;
+    }
+
+    export interface IKernelModule extends Function {
+        (kernel: IKernel): void;
+    }
+
+    interface IBindingOnSyntax<T> {
+        onActivation(fn: (context: IContext, injectable: T) => T): IBindingWhenSyntax<T>;
+    }
+
+    interface IBindingInSyntax<T> {
+        inSingletonScope(): IBindingWhenOnSyntax<T>;
+    }
+
+    interface IBindingWhenSyntax<T> {
+        when(constraint: (request: IRequest) => boolean): IBindingOnSyntax<T>;
+        whenTargetNamed(name: string): IBindingOnSyntax<T>;
+        whenTargetTagged(tag: string, value: any): IBindingOnSyntax<T>;
+        whenInjectedInto(parent: (Function|string)): IBindingOnSyntax<T>;
+        whenParentNamed(name: string): IBindingOnSyntax<T>;
+        whenParentTagged(tag: string, value: any): IBindingOnSyntax<T>;
+        whenAnyAncestorIs(ancestor: (Function|string)): IBindingOnSyntax<T>;
+        whenNoAncestorIs(ancestor: (Function|string)): IBindingOnSyntax<T>;
+        whenAnyAncestorNamed(name: string): IBindingOnSyntax<T>;
+        whenAnyAncestorTagged(tag: string, value: any): IBindingOnSyntax<T>;
+        whenNoAncestorNamed(name: string): IBindingOnSyntax<T>;
+        whenNoAncestorTagged(tag: string, value: any): IBindingOnSyntax<T>;
+        whenAnyAncestorMatches(constraint: (request: IRequest) => boolean): IBindingOnSyntax<T>;
+        whenNoAncestorMatches(constraint: (request: IRequest) => boolean): IBindingOnSyntax<T>;
+    }
+
+    interface IBindingToSyntax<T> {
+        to(constructor: { new(...args: any[]): T; }): IBindingInWhenOnSyntax<T>;
+        toConstantValue(value: T): IBindingWhenOnSyntax<T>;
+        toDynamicValue(func: () => T): IBindingWhenOnSyntax<T>;
+        toConstructor<T2>(constructor: INewable<T2>): IBindingWhenOnSyntax<T>;
+        toFactory<T2>(factory: IFactoryCreator<T2>): IBindingWhenOnSyntax<T>;
+        toAutoFactory<T2>(serviceIdentifier: (string|Symbol|T2)): IBindingWhenOnSyntax<T>;
+        toProvider<T2>(provider: IProviderCreator<T2>): IBindingWhenOnSyntax<T>;
+    }
+
+    interface IBindingInWhenOnSyntax<T> extends IBindingInSyntax<T>, IBindingWhenOnSyntax<T> {}
+    interface IBindingWhenOnSyntax<T> extends IBindingWhenSyntax<T>, IBindingOnSyntax<T> {}
+
+    export interface IFactory<T> extends Function {
+        (...args: any[]): (((...args: any[]) => T)|T);
+    }
+
+    interface IFactoryCreator<T> extends Function {
+        (context: IContext): IFactory<T>;
+    }
+
+    export interface INewable<T> {
+        new(...args: any[]): T;
+    }
+
+    export interface IProvider<T> extends Function {
+        (): Promise<T>;
+    }
+
+    interface IProviderCreator<T> extends Function {
+        (context: IContext): IProvider<T>;
+    }
+
+    export interface IContext {
+        kernel: IKernel;
+        plan: IPlan;
+        addPlan(plan: IPlan): void;
+    }
+
+    export interface IPlan {
+        parentContext: IContext;
+        rootRequest: IRequest;
+    }
+
+    export interface IRequest {
+        serviceIdentifier: (string|Symbol|INewable<any>);
+        parentContext: IContext;
+        parentRequest: IRequest;
+        childRequests: IRequest[];
+        target: ITarget;
+        bindings: IBinding<any>[];
+        addChildRequest(
+            serviceIdentifier: (string|Symbol|INewable<any>),
+            bindings: (IBinding<any>|IBinding<any>[]),
+            target: ITarget): IRequest;
+    }
+
+    export interface IBinding<T> {
+        activated: boolean;
+        serviceIdentifier: (string|Symbol|INewable<T>);
+        implementationType: INewable<T>;
+        factory: IFactoryCreator<any>;
+        provider: IProviderCreator<any>;
+        constraint: (request: IRequest) => boolean;
+        onActivation: (context: IContext, injectable: T) => T;
+        cache: T;
+        dynamicValue: () => T;
+        scope: number; // BindingScope
+        type: number; // BindingType
+    }
+
+    export interface ITarget {
+        serviceIdentifier: (string|Symbol|INewable<any>);
+        name: IQueryableString;
+        metadata: Array<IMetadata>;
+        hasTag(key: string): boolean;
+        isArray(): boolean;
+        matchesArray(name: string|Symbol|any): boolean;
+        isNamed(): boolean;
+        isTagged(): boolean;
+        matchesNamedTag(name: string): boolean;
+        matchesTag(key: string): (value: any) => boolean;
+    }
+
+    export interface IQueryableString {
+        startsWith(searchString: string): boolean;
+        endsWith(searchString: string): boolean;
+        contains(searchString: string): boolean;
+        equals(compareString: string): boolean;
+        value(): string;
+    }
+
+    export interface IMetadata {
+        key: string;
+        value: any;
+    }
+
+    export var Kernel: IKernelConstructor;
+    export var decorate: (decorator: (ClassDecorator|ParameterDecorator), target: any, parameterIndex?: number) => void;
+    export function injectable(): (typeConstructor: any) => void;
+    export function tagged(metadataKey: string, metadataValue: any): (target: any, targetKey: string, index?: number) => any;
+    export function named(name: string): (target: any, targetKey: string, index?: number) => any;
+    export function targetName(name: string): (target: any, targetKey: string, index: number) => any;
+    export function inject(serviceIdentifier: (string|Symbol|any)): (target: any, targetKey: string, index?: number) => any;
+    export function multiInject(serviceIdentifier: (string|Symbol|any)): (target: any, targetKey: string, index?: number) => any;
+
+    export function makePropertyInjectDecorator(kernel: IKernel):
+        (serviceIdentifier: (string|Symbol|INewable<any>)) => (proto: any, key: string) => void;
+
+    export function makePropertyInjectNamedDecorator(kernel: IKernel):
+        (serviceIdentifier: (string|Symbol|INewable<any>), named: string) => (proto: any, key: string) => void;
+
+    export function makePropertyInjectTaggedDecorator(kernel: IKernel):
+        (serviceIdentifier: (string|Symbol|INewable<any>), key: string, value: any) => (proto: any, propertyName: string) => void;
+
+    export function makePropertyMultiInjectDecorator(kernel: IKernel):
+        (serviceIdentifier: (string|Symbol|INewable<any>)) => (proto: any, key: string) => void;
+
+    // constraint helpers
+    export var traverseAncerstors: (request: IRequest, constraint: (request: IRequest) => boolean) => boolean;
+    export var taggedConstraint: (tag: string) => (value: any) => (request: IRequest) => boolean;
+    export var namedConstraint: (value: any) => (request: IRequest) => boolean;
+    export var typeConstraint: (type: (Function|string)) => (request: IRequest) => boolean;
+}
+
+declare module "inversify" {
+  export = inversify;
+}