injection-token.d.ts 953 B

12345678910111213141516171819
  1. import constructor from "../types/constructor";
  2. import { DelayedConstructor } from "../lazy-helpers";
  3. import Transform from "../types/transform";
  4. declare type InjectionToken<T = any> = constructor<T> | string | symbol | DelayedConstructor<T>;
  5. export declare function isNormalToken(token?: InjectionToken<any>): token is string | symbol;
  6. export declare function isTokenDescriptor(descriptor: any): descriptor is TokenDescriptor;
  7. export declare function isTransformDescriptor(descriptor: any): descriptor is TransformDescriptor;
  8. export declare function isConstructorToken(token?: InjectionToken<any>): token is constructor<any> | DelayedConstructor<any>;
  9. export interface TokenDescriptor {
  10. token: InjectionToken<any>;
  11. multiple: boolean;
  12. isOptional?: boolean;
  13. }
  14. export interface TransformDescriptor {
  15. token: InjectionToken<any>;
  16. transform: InjectionToken<Transform<any, any>>;
  17. transformArgs: any[];
  18. }
  19. export default InjectionToken;