1 | {"version":3,"file":"transform.di.js","sourceRoot":"","sources":["../../../src/lib/graph/transform.di.ts"],"names":[],"mappings":";;;AAoBA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,gBAAgB,CAAC,MAAyB;IACxD,OAAO;QACL,GAAG,MAAM;QACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;KACxB,CAAC;AACJ,CAAC;AALD,4CAKC","sourcesContent":["import { FactoryProvider, InjectionToken } from 'injection-js';\nimport { Transform } from './transform';\n\n/**\n * A specialized `FactoryProvider` for a `Transform`.\n */\nexport interface TransformProvider extends FactoryProvider {\n /**\n * An injection token for the `Transform` provided by this provider.\n */\n provide: InjectionToken<Transform>;\n\n /**\n * A function to invoke to create the `Transform`.\n *\n * The factory function is invoked with resolved values of tokens in the `deps` field.\n */\n useFactory: (...args: any[]) => Transform;\n}\n\n/**\n * Creates a provider for a `Transform`.\n *\n * #### Example\n *\n * Creating a transformation `fooBar` that is composed of `foo` and `bar` transforms:\n *\n * ```ts\n * const FOO_BAR_TOKEN = new InjectionToken<Transform>('fooBar');\n *\n * const FOO_BAR_TRANSFORM = provideTransform({\n * provide: FOO_BAR_TOKEN,\n * useFactory: (foo, bar) => {\n * return pipe(foo, bar);\n * },\n * deps: [ FOO_TOKEN, BAR_TOKEN ]\n * });\n * ```\n *\n * @param module The provider for the transform\n * @return A (normalized) provider for the transform\n */\nexport function provideTransform(module: TransformProvider): TransformProvider {\n return {\n ...module,\n deps: module.deps || [],\n };\n}\n"]} |