UNPKG

@visactor/vrender-core

Version:

```typescript import { xxx } from '@visactor/vrender-core'; ```

25 lines (24 loc) 1.37 kB
import type { ServiceIdentifier } from '../common/explicit-binding'; export type LegacyNamedIdentifier = string | number | symbol; export interface ILegacyBindingResolveContext { container: ILegacyBindingContext; } export interface ILegacyBindingSyntax<T = unknown> { to: (constructor: new (...args: any[]) => T) => ILegacyBindingSyntax<T>; toSelf: () => ILegacyBindingSyntax<T>; toDynamicValue: (factory: (context: ILegacyBindingResolveContext) => T) => ILegacyBindingSyntax<T>; toConstantValue: (value: T) => ILegacyBindingSyntax<T>; toService: (serviceIdentifier: ServiceIdentifier) => ILegacyBindingSyntax<T>; inSingletonScope: () => ILegacyBindingSyntax<T>; whenTargetNamed: (name: LegacyNamedIdentifier) => ILegacyBindingSyntax<T>; } export interface ILegacyBindContext { bind: <T>(serviceIdentifier: ServiceIdentifier<T>) => ILegacyBindingSyntax<T>; } export interface ILegacyBindingContext extends ILegacyBindContext { rebind: <T>(serviceIdentifier: ServiceIdentifier<T>) => ILegacyBindingSyntax<T>; isBound: <T>(serviceIdentifier: ServiceIdentifier<T>) => boolean; getAll: <T>(serviceIdentifier: ServiceIdentifier<T>) => T[]; getNamed: <T>(serviceIdentifier: ServiceIdentifier<T>, name: LegacyNamedIdentifier) => T | undefined; } export declare function createLegacyBindingContext(): ILegacyBindingContext;