ts-ioc-container 50.1.0 → 50.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,7 +56,7 @@ no global container objects.
56
56
  - [Proxy](#proxy)
57
57
  - [Provider](#provider) `provider`
58
58
  - [Singleton](#singleton) `singleton`
59
- - [Arguments](#arguments) `setArgs` `setArgsFn`
59
+ - [Arguments](#arguments) `appendArgs` `appendArgsFn`
60
60
  - [Visibility](#visibility) `visible`
61
61
  - [Alias](#alias) `asAlias`
62
62
  - [Decorator](#decorator) `decorate`
@@ -140,7 +140,7 @@ container.resolve(App).start();
140
140
  > For classes, prefer the `@register(bindTo('Key'))` decorator over the fluent
141
141
  > `R.fromClass(Class).bindToKey('Key')` chain. The decorator co-locates the binding
142
142
  > with the class and reads consistently with other registration pipes
143
- > (`scope`, `singleton`, `setArgsFn`, ...). Use the fluent `bindToKey` chain only
143
+ > (`scope`, `singleton`, `appendArgsFn`, ...). Use the fluent `bindToKey` chain only
144
144
  > for `R.fromValue(...)` and `R.fromFn(...)` (which have no class to decorate)
145
145
  > or for third-party classes you don't own.
146
146
 
@@ -1442,7 +1442,7 @@ describe('lazy registerPipe', () => {
1442
1442
  const container = new Container().addRegistration(
1443
1443
  R.fromClass(ConfigService)
1444
1444
  .pipe(
1445
- (p) => p.setArgs(() => ['https://api.example.com', 5000]),
1445
+ (p) => p.appendArgs('https://api.example.com', 5000),
1446
1446
  (p) => p.lazy(),
1447
1447
  )
1448
1448
  .pipe(singleton()),
@@ -1740,8 +1740,8 @@ Provider is dependency factory which creates dependency.
1740
1740
  ```typescript
1741
1741
  import {
1742
1742
  args,
1743
- setArgs,
1744
- setArgsFn,
1743
+ appendArgs,
1744
+ appendArgsFn,
1745
1745
  bindTo,
1746
1746
  Container,
1747
1747
  inject,
@@ -1823,7 +1823,7 @@ describe('Provider', () => {
1823
1823
 
1824
1824
  const container = new Container().register(
1825
1825
  'FileService',
1826
- Provider.fromClass(FileService).pipe(setArgs('/var/data')),
1826
+ Provider.fromClass(FileService).pipe(appendArgs('/var/data')),
1827
1827
  );
1828
1828
 
1829
1829
  const service = container.resolve<FileService>('FileService');
@@ -1839,7 +1839,7 @@ describe('Provider', () => {
1839
1839
  'Database',
1840
1840
  Provider.fromClass(Database).pipe(
1841
1841
  // Dynamically resolve connection string at creation time
1842
- setArgsFn((scope) => [`postgres://${scope.resolve('DbPath')}`]),
1842
+ appendArgsFn((scope) => [`postgres://${scope.resolve('DbPath')}`]),
1843
1843
  ),
1844
1844
  );
1845
1845
 
@@ -1982,9 +1982,9 @@ describe('Singleton', function () {
1982
1982
 
1983
1983
  Sometimes you want to bind some arguments to provider.
1984
1984
 
1985
- - `provider(setArgs('someArgument'))`
1986
- - `provider(setArgsFn((container) => [container.resolve(Logger), 'someValue']))`
1987
- - `Provider.fromClass(Logger).pipe(setArgs('someArgument'))`
1985
+ - `provider(appendArgs('someArgument'))`
1986
+ - `provider(appendArgsFn((container) => [container.resolve(Logger), 'someValue']))`
1987
+ - `Provider.fromClass(Logger).pipe(appendArgs('someArgument'))`
1988
1988
 
1989
1989
  ### Token as argument
1990
1990
 
@@ -2016,16 +2016,14 @@ const userToken = ApiToken.args('https://users.api.com', 1000);
2016
2016
 
2017
2017
  ```typescript
2018
2018
  import {
2019
- addArgs,
2020
- addArgsFn,
2021
2019
  args,
2020
+ appendArgs,
2021
+ appendArgsFn,
2022
2022
  bindTo,
2023
2023
  Container,
2024
2024
  inject,
2025
2025
  register,
2026
2026
  Registration as R,
2027
- setArgs,
2028
- setArgsFn,
2029
2027
  SingleToken,
2030
2028
  singleton,
2031
2029
  } from 'ts-ioc-container';
@@ -2048,7 +2046,7 @@ describe('IProvider', function () {
2048
2046
  describe('Static Arguments', () => {
2049
2047
  it('can pass static arguments to constructor', function () {
2050
2048
  // Pre-configure the logger with a filename
2051
- @register(setArgs('/var/log/app.log'))
2049
+ @register(appendArgs('/var/log/app.log'))
2052
2050
  class FileLogger {
2053
2051
  constructor(@inject(args(0)) public filename: string) {}
2054
2052
  }
@@ -2060,19 +2058,21 @@ describe('IProvider', function () {
2060
2058
  expect(logger.filename).toBe('/var/log/app.log');
2061
2059
  });
2062
2060
 
2063
- it('prioritizes provided args over resolve args', function () {
2064
- // 'FixedContext' wins over any runtime args
2065
- @register(setArgs('FixedContext'))
2061
+ it('appends configured args after resolve args', function () {
2062
+ @register(appendArgs('ConfiguredContext'))
2066
2063
  class Logger {
2067
- constructor(@inject(args(0)) public context: string) {}
2064
+ constructor(
2065
+ @inject(args(0)) public runtimeContext: string,
2066
+ @inject(args(1)) public configuredContext: string,
2067
+ ) {}
2068
2068
  }
2069
2069
 
2070
2070
  const root = createContainer().addRegistration(R.fromClass(Logger));
2071
2071
 
2072
- // Even if we ask for 'RuntimeContext', we get 'FixedContext'
2073
2072
  const logger = root.resolve<Logger>('Logger', { args: ['RuntimeContext'] });
2074
2073
 
2075
- expect(logger.context).toBe('FixedContext');
2074
+ expect(logger.runtimeContext).toBe('RuntimeContext');
2075
+ expect(logger.configuredContext).toBe('ConfiguredContext');
2076
2076
  });
2077
2077
  });
2078
2078
 
@@ -2083,7 +2083,7 @@ describe('IProvider', function () {
2083
2083
  }
2084
2084
 
2085
2085
  // Extract 'env' from Config service dynamically
2086
- @register(setArgsFn((scope) => [scope.resolve<Config>('Config').env]))
2086
+ @register(appendArgsFn((scope) => [scope.resolve<Config>('Config').env]))
2087
2087
  class Service {
2088
2088
  constructor(@inject(args(0)) public env: string) {}
2089
2089
  }
@@ -2099,7 +2099,7 @@ describe('IProvider', function () {
2099
2099
 
2100
2100
  describe('Appending Arguments', () => {
2101
2101
  it('can append static arguments after existing resolve arguments', function () {
2102
- @register(addArgs('configured'))
2102
+ @register(appendArgs('configured'))
2103
2103
  class Service {
2104
2104
  constructor(
2105
2105
  @inject(args(0)) public runtime: string,
@@ -2114,29 +2114,26 @@ describe('IProvider', function () {
2114
2114
  expect(service.configured).toBe('configured');
2115
2115
  });
2116
2116
 
2117
- it('can append dynamic arguments after an existing argsFn', function () {
2117
+ it('can append dynamic arguments after runtime args', function () {
2118
2118
  class Config {
2119
2119
  tenant = 'tenant-a';
2120
2120
  }
2121
2121
 
2122
- @register(
2123
- setArgs('fixed'),
2124
- addArgsFn((scope, { args = [] } = {}) => [scope.resolve<Config>('Config').tenant, ...args]),
2125
- )
2122
+ @register(appendArgs('fixed'), appendArgsFn((scope) => [scope.resolve<Config>('Config').tenant]))
2126
2123
  class Service {
2127
2124
  constructor(
2128
- @inject(args(0)) public fixed: string,
2129
- @inject(args(1)) public tenant: string,
2130
- @inject(args(2)) public runtime: string,
2125
+ @inject(args(0)) public runtime: string,
2126
+ @inject(args(1)) public fixed: string,
2127
+ @inject(args(2)) public tenant: string,
2131
2128
  ) {}
2132
2129
  }
2133
2130
 
2134
2131
  const root = createContainer().addRegistration(R.fromClass(Config)).addRegistration(R.fromClass(Service));
2135
2132
 
2136
2133
  const service = root.resolve<Service>('Service', { args: ['runtime'] });
2134
+ expect(service.runtime).toBe('runtime');
2137
2135
  expect(service.fixed).toBe('fixed');
2138
2136
  expect(service.tenant).toBe('tenant-a');
2139
- expect(service.runtime).toBe('runtime');
2140
2137
  });
2141
2138
  });
2142
2139
 
package/cjm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toSingleAlias = exports.SingleAliasToken = exports.toGroupAlias = exports.GroupAliasToken = exports.InjectionToken = exports.HooksRunner = exports.AddOnDisposeHookModule = exports.onDispose = exports.onDisposeHooksRunner = exports.AddOnConstructHookModule = exports.onConstruct = exports.onConstructHooksRunner = exports.injectProp = exports.createHookContext = exports.createHookContextFactory = exports.HookContext = exports.hasHooks = exports.hook = exports.getHooks = exports.UnexpectedHookResultError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyMissingKeyError = exports.DependencyNotFoundError = exports.Registration = exports.bindTo = exports.register = exports.scope = exports.decorate = exports.SingletonProvider = exports.singleton = exports.Provider = exports.ProviderDecorator = exports.setArgs = exports.setArgsFn = exports.addArgsFn = exports.addArgs = exports.lazy = exports.scopeAccess = exports.ProxyInjector = exports.SimpleInjector = exports.MetadataInjector = exports.Injector = exports.argsFn = exports.args = exports.resolveArgs = exports.inject = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
4
- exports.resolveConstructor = exports.Is = exports.pipe = exports.select = exports.once = exports.shallowCache = exports.debounce = exports.throttle = exports.handleAsyncError = exports.handleError = exports.getMethodTags = exports.methodTag = exports.getMethodLabels = exports.methodLabel = exports.getMethodMeta = exports.methodMeta = exports.getParamTags = exports.paramTag = exports.getParamLabels = exports.paramLabel = exports.getParamMeta = exports.paramMeta = exports.getClassTags = exports.classTag = exports.getClassLabels = exports.classLabel = exports.getClassMeta = exports.classMeta = exports.GroupInstanceToken = exports.ConstantToken = exports.FunctionToken = exports.SingleToken = exports.ClassToken = void 0;
3
+ exports.SingleToken = exports.ClassToken = exports.toSingleAlias = exports.SingleAliasToken = exports.toGroupAlias = exports.GroupAliasToken = exports.InjectionToken = exports.HooksRunner = exports.AddOnDisposeHookModule = exports.onDispose = exports.onDisposeHooksRunner = exports.AddOnConstructHookModule = exports.onConstruct = exports.onConstructHooksRunner = exports.injectProp = exports.createHookContext = exports.createHookContextFactory = exports.HookContext = exports.hasHooks = exports.hook = exports.getHooks = exports.UnexpectedHookResultError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyMissingKeyError = exports.DependencyNotFoundError = exports.Registration = exports.bindTo = exports.register = exports.scope = exports.decorate = exports.SingletonProvider = exports.singleton = exports.Provider = exports.ProviderDecorator = exports.appendArgsFn = exports.appendArgs = exports.lazy = exports.scopeAccess = exports.ProxyInjector = exports.SimpleInjector = exports.MetadataInjector = exports.Injector = exports.argsFn = exports.args = exports.resolveArgs = exports.inject = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
4
+ exports.resolveConstructor = exports.Is = exports.pipe = exports.select = exports.once = exports.shallowCache = exports.debounce = exports.throttle = exports.handleAsyncError = exports.handleError = exports.getMethodTags = exports.methodTag = exports.getMethodLabels = exports.methodLabel = exports.getMethodMeta = exports.methodMeta = exports.getParamTags = exports.paramTag = exports.getParamLabels = exports.paramLabel = exports.getParamMeta = exports.paramMeta = exports.getClassTags = exports.classTag = exports.getClassLabels = exports.classLabel = exports.getClassMeta = exports.classMeta = exports.GroupInstanceToken = exports.ConstantToken = exports.FunctionToken = void 0;
5
5
  // Containers
6
6
  var IContainer_1 = require("./container/IContainer");
7
7
  Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
@@ -27,10 +27,8 @@ Object.defineProperty(exports, "ProxyInjector", { enumerable: true, get: functio
27
27
  var IProvider_1 = require("./provider/IProvider");
28
28
  Object.defineProperty(exports, "scopeAccess", { enumerable: true, get: function () { return IProvider_1.scopeAccess; } });
29
29
  Object.defineProperty(exports, "lazy", { enumerable: true, get: function () { return IProvider_1.lazy; } });
30
- Object.defineProperty(exports, "addArgs", { enumerable: true, get: function () { return IProvider_1.addArgs; } });
31
- Object.defineProperty(exports, "addArgsFn", { enumerable: true, get: function () { return IProvider_1.addArgsFn; } });
32
- Object.defineProperty(exports, "setArgsFn", { enumerable: true, get: function () { return IProvider_1.setArgsFn; } });
33
- Object.defineProperty(exports, "setArgs", { enumerable: true, get: function () { return IProvider_1.setArgs; } });
30
+ Object.defineProperty(exports, "appendArgs", { enumerable: true, get: function () { return IProvider_1.appendArgs; } });
31
+ Object.defineProperty(exports, "appendArgsFn", { enumerable: true, get: function () { return IProvider_1.appendArgsFn; } });
34
32
  Object.defineProperty(exports, "ProviderDecorator", { enumerable: true, get: function () { return IProvider_1.ProviderDecorator; } });
35
33
  var Provider_1 = require("./provider/Provider");
36
34
  Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
@@ -1,15 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderDecorator = exports.lazy = exports.scopeAccess = exports.addArgsFn = exports.addArgs = exports.setArgsFn = exports.setArgs = void 0;
3
+ exports.ProviderDecorator = exports.lazy = exports.scopeAccess = exports.appendArgsFn = exports.appendArgs = void 0;
4
4
  const ProviderPipe_1 = require("./ProviderPipe");
5
- const setArgs = (...extraArgs) => (0, ProviderPipe_1.registerPipe)((p) => p.setArgs(() => extraArgs));
6
- exports.setArgs = setArgs;
7
- const setArgsFn = (fn) => (0, ProviderPipe_1.registerPipe)((p) => p.setArgs(fn));
8
- exports.setArgsFn = setArgsFn;
9
- const addArgs = (...extraArgs) => (0, ProviderPipe_1.registerPipe)((p) => p.addArgs(...extraArgs));
10
- exports.addArgs = addArgs;
11
- const addArgsFn = (fn) => (0, ProviderPipe_1.registerPipe)((p) => p.addArgsFn(fn));
12
- exports.addArgsFn = addArgsFn;
5
+ const appendArgs = (...extraArgs) => (0, ProviderPipe_1.registerPipe)((p) => p.appendArgs(...extraArgs));
6
+ exports.appendArgs = appendArgs;
7
+ const appendArgsFn = (fn) => (0, ProviderPipe_1.registerPipe)((p) => p.appendArgsFn(fn));
8
+ exports.appendArgsFn = appendArgsFn;
13
9
  const scopeAccess = (rule) => (0, ProviderPipe_1.registerPipe)((p) => p.setAccessRule(rule));
14
10
  exports.scopeAccess = scopeAccess;
15
11
  const lazy = () => (0, ProviderPipe_1.registerPipe)((p) => p.lazy());
@@ -39,16 +35,12 @@ class ProviderDecorator {
39
35
  this.decorated = this.decorated.pipe(...fns);
40
36
  return this;
41
37
  }
42
- setArgs(argsFn) {
43
- this.decorated.setArgs(argsFn);
38
+ appendArgs(...extraArgs) {
39
+ this.decorated.appendArgs(...extraArgs);
44
40
  return this;
45
41
  }
46
- addArgs(...extraArgs) {
47
- this.decorated.addArgs(...extraArgs);
48
- return this;
49
- }
50
- addArgsFn(argsFn) {
51
- this.decorated.addArgsFn(argsFn);
42
+ appendArgsFn(argsFn) {
43
+ this.decorated.appendArgsFn(argsFn);
52
44
  return this;
53
45
  }
54
46
  lazy() {
@@ -38,16 +38,12 @@ class Provider {
38
38
  this.isLazy = true;
39
39
  return this;
40
40
  }
41
- setArgs(argsFn) {
42
- this.argsFn = argsFn;
43
- return this;
44
- }
45
- addArgs(...extraArgs) {
41
+ appendArgs(...extraArgs) {
46
42
  const parentFn = this.argsFn;
47
43
  this.argsFn = (container, options) => [...parentFn(container, options), ...extraArgs];
48
44
  return this;
49
45
  }
50
- addArgsFn(argsFn) {
46
+ appendArgsFn(argsFn) {
51
47
  const parentFn = this.argsFn;
52
48
  this.argsFn = (container, options) => [...parentFn(container, options), ...argsFn(container, options)];
53
49
  return this;
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setArgs = exports.InjectionToken = void 0;
3
+ exports.InjectionToken = void 0;
4
4
  exports.isInjectionToken = isInjectionToken;
5
5
  const basic_1 = require("../utils/basic");
6
6
  class InjectionToken {
7
7
  }
8
8
  exports.InjectionToken = InjectionToken;
9
- const setArgs = (...args) => (s) => args;
10
- exports.setArgs = setArgs;
11
9
  function isInjectionToken(target) {
12
10
  return basic_1.Is.object(target) && 'resolve' in target && 'args' in target && 'argsFn' in target && 'lazy' in target;
13
11
  }
package/esm/index.js CHANGED
@@ -9,7 +9,7 @@ export { MetadataInjector } from './injector/MetadataInjector';
9
9
  export { SimpleInjector } from './injector/SimpleInjector';
10
10
  export { ProxyInjector } from './injector/ProxyInjector';
11
11
  // Providers
12
- export { scopeAccess, lazy, addArgs, addArgsFn, setArgsFn, setArgs, ProviderDecorator, } from './provider/IProvider';
12
+ export { scopeAccess, lazy, appendArgs, appendArgsFn, ProviderDecorator, } from './provider/IProvider';
13
13
  export { Provider } from './provider/Provider';
14
14
  export { singleton, SingletonProvider } from './provider/SingletonProvider';
15
15
  export { decorate } from './provider/DecoratorProvider';
@@ -1,8 +1,6 @@
1
1
  import { isProviderPipe, registerPipe } from './ProviderPipe';
2
- export const setArgs = (...extraArgs) => registerPipe((p) => p.setArgs(() => extraArgs));
3
- export const setArgsFn = (fn) => registerPipe((p) => p.setArgs(fn));
4
- export const addArgs = (...extraArgs) => registerPipe((p) => p.addArgs(...extraArgs));
5
- export const addArgsFn = (fn) => registerPipe((p) => p.addArgsFn(fn));
2
+ export const appendArgs = (...extraArgs) => registerPipe((p) => p.appendArgs(...extraArgs));
3
+ export const appendArgsFn = (fn) => registerPipe((p) => p.appendArgsFn(fn));
6
4
  export const scopeAccess = (rule) => registerPipe((p) => p.setAccessRule(rule));
7
5
  export const lazy = () => registerPipe((p) => p.lazy());
8
6
  export class ProviderDecorator {
@@ -30,16 +28,12 @@ export class ProviderDecorator {
30
28
  this.decorated = this.decorated.pipe(...fns);
31
29
  return this;
32
30
  }
33
- setArgs(argsFn) {
34
- this.decorated.setArgs(argsFn);
31
+ appendArgs(...extraArgs) {
32
+ this.decorated.appendArgs(...extraArgs);
35
33
  return this;
36
34
  }
37
- addArgs(...extraArgs) {
38
- this.decorated.addArgs(...extraArgs);
39
- return this;
40
- }
41
- addArgsFn(argsFn) {
42
- this.decorated.addArgsFn(argsFn);
35
+ appendArgsFn(argsFn) {
36
+ this.decorated.appendArgsFn(argsFn);
43
37
  return this;
44
38
  }
45
39
  lazy() {
@@ -35,16 +35,12 @@ export class Provider {
35
35
  this.isLazy = true;
36
36
  return this;
37
37
  }
38
- setArgs(argsFn) {
39
- this.argsFn = argsFn;
40
- return this;
41
- }
42
- addArgs(...extraArgs) {
38
+ appendArgs(...extraArgs) {
43
39
  const parentFn = this.argsFn;
44
40
  this.argsFn = (container, options) => [...parentFn(container, options), ...extraArgs];
45
41
  return this;
46
42
  }
47
- addArgsFn(argsFn) {
43
+ appendArgsFn(argsFn) {
48
44
  const parentFn = this.argsFn;
49
45
  this.argsFn = (container, options) => [...parentFn(container, options), ...argsFn(container, options)];
50
46
  return this;
@@ -1,7 +1,6 @@
1
1
  import { Is } from '../utils/basic';
2
2
  export class InjectionToken {
3
3
  }
4
- export const setArgs = (...args) => (s) => args;
5
4
  export function isInjectionToken(target) {
6
5
  return Is.object(target) && 'resolve' in target && 'args' in target && 'argsFn' in target && 'lazy' in target;
7
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "50.1.0",
3
+ "version": "50.2.0",
4
4
  "description": "Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.",
5
5
  "workspaces": [
6
6
  "docs"
@@ -6,7 +6,7 @@ export { type IInjector, type InjectOptions, type IInjectFnResolver, Injector }
6
6
  export { MetadataInjector } from './injector/MetadataInjector';
7
7
  export { SimpleInjector } from './injector/SimpleInjector';
8
8
  export { ProxyInjector } from './injector/ProxyInjector';
9
- export { type ResolveDependency, type IProvider, scopeAccess, lazy, addArgs, addArgsFn, setArgsFn, setArgs, type ArgsFn, ProviderDecorator, type IMapper, type ProviderOptions, } from './provider/IProvider';
9
+ export { type ResolveDependency, type IProvider, scopeAccess, lazy, appendArgs, appendArgsFn, type ArgsFn, ProviderDecorator, type IMapper, type ProviderOptions, } from './provider/IProvider';
10
10
  export { Provider } from './provider/Provider';
11
11
  export { singleton, SingletonProvider } from './provider/SingletonProvider';
12
12
  export { decorate, type DecorateFn } from './provider/DecoratorProvider';
@@ -21,15 +21,12 @@ export interface IProvider<T = any> {
21
21
  hasAccess(options: ScopeAccessOptions): boolean;
22
22
  pipe(...mappers: (MapFn<IProvider<T>> | ProviderPipe<T>)[]): IProvider<T>;
23
23
  setAccessRule(hasAccessWhen: ScopeAccessRule): this;
24
- setArgs(argsFn: ArgsFn): this;
25
- addArgs(...extraArgs: unknown[]): this;
26
- addArgsFn(argsFn: ArgsFn): this;
24
+ appendArgs(...extraArgs: unknown[]): this;
25
+ appendArgsFn(argsFn: ArgsFn): this;
27
26
  lazy(): this;
28
27
  }
29
- export declare const setArgs: <T>(...extraArgs: unknown[]) => ProviderPipe<T>;
30
- export declare const setArgsFn: <T>(fn: ArgsFn) => ProviderPipe<T>;
31
- export declare const addArgs: <T>(...extraArgs: unknown[]) => ProviderPipe<T>;
32
- export declare const addArgsFn: <T>(fn: ArgsFn) => ProviderPipe<T>;
28
+ export declare const appendArgs: <T>(...extraArgs: unknown[]) => ProviderPipe<T>;
29
+ export declare const appendArgsFn: <T>(fn: ArgsFn) => ProviderPipe<T>;
33
30
  export declare const scopeAccess: <T>(rule: ScopeAccessRule) => ProviderPipe<T>;
34
31
  export declare const lazy: <T>() => ProviderPipe<T>;
35
32
  export declare abstract class ProviderDecorator<T> implements IProvider<T> {
@@ -39,8 +36,7 @@ export declare abstract class ProviderDecorator<T> implements IProvider<T> {
39
36
  hasAccess(options: ScopeAccessOptions): boolean;
40
37
  resolve(container: IContainer, options: ProviderOptions): T;
41
38
  pipe(...mappers: (MapFn<IProvider<T>> | ProviderPipe<T>)[]): IProvider<T>;
42
- setArgs(argsFn: ArgsFn): this;
43
- addArgs(...extraArgs: unknown[]): this;
44
- addArgsFn(argsFn: ArgsFn): this;
39
+ appendArgs(...extraArgs: unknown[]): this;
40
+ appendArgsFn(argsFn: ArgsFn): this;
45
41
  lazy(): this;
46
42
  }
@@ -16,8 +16,7 @@ export declare class Provider<T = any> implements IProvider<T> {
16
16
  resolve(container: IContainer, { args, lazy }?: ProviderOptions): T;
17
17
  setAccessRule(predicate: ScopeAccessRule): this;
18
18
  lazy(): this;
19
- setArgs(argsFn: ArgsFn): this;
20
- addArgs(...extraArgs: unknown[]): this;
21
- addArgsFn(argsFn: ArgsFn): this;
19
+ appendArgs(...extraArgs: unknown[]): this;
20
+ appendArgsFn(argsFn: ArgsFn): this;
22
21
  hasAccess(options: ScopeAccessOptions): boolean;
23
22
  }
@@ -1,10 +1,9 @@
1
1
  import { type IContainer } from '../container/IContainer';
2
- import { ArgsFn, ProviderOptions } from '../provider/IProvider';
2
+ import { ProviderOptions } from '../provider/IProvider';
3
3
  export declare abstract class InjectionToken<T = any> {
4
4
  abstract resolve(s: IContainer, options?: ProviderOptions): T;
5
5
  abstract args(...deps: unknown[]): InjectionToken<T>;
6
6
  abstract argsFn(getArgsFn: (s: IContainer) => unknown[]): InjectionToken<T>;
7
7
  abstract lazy(): InjectionToken<T>;
8
8
  }
9
- export declare const setArgs: (...args: unknown[]) => ArgsFn;
10
9
  export declare function isInjectionToken(target: unknown): target is InjectionToken;