@vielzeug/conduit 2.1.1 → 26.10.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/dist/types.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  declare const tokenBrand: unique symbol;
2
- declare const scopeBrand: unique symbol;
3
2
  export type Token<T = unknown> = symbol & {
4
3
  readonly [tokenBrand]: T;
5
4
  };
6
- export type ScopeToken = symbol & {
7
- readonly [scopeBrand]: true;
8
- };
9
5
  export declare function token<T>(description: string): Token<T>;
10
- export declare function scope(name: string): ScopeToken;
11
- export type Lifetime = 'singleton' | 'transient' | ScopeToken;
6
+ export declare const disposalSignalToken: Token<AbortSignal>;
7
+ /** Singleton results are cached on the registering container; transient results belong to the requesting container. */
8
+ export type Lifetime = 'singleton' | 'transient';
9
+ export type InferTokens<T extends readonly Token<unknown>[]> = {
10
+ [K in keyof T]: T[K] extends Token<infer Value> ? Value : never;
11
+ };
12
12
  export type ValueOptions<T> = Readonly<{
13
13
  dispose?: (value: T) => Promise<void> | void;
14
14
  }>;
@@ -16,22 +16,53 @@ export type FactoryOptions<T> = Readonly<{
16
16
  dispose?: (value: T) => Promise<void> | void;
17
17
  lifetime?: Lifetime;
18
18
  }>;
19
- export type InferTokens<T extends readonly Token<unknown>[]> = {
20
- [K in keyof T]: T[K] extends Token<infer Value> ? Value : never;
19
+ export interface ValueProvider<T> {
20
+ readonly dispose?: (value: T) => Promise<void> | void;
21
+ readonly token: Token<T>;
22
+ readonly value: T;
23
+ }
24
+ export interface FactoryProvider<T, Dependencies extends readonly Token<unknown>[] = readonly Token<unknown>[]> {
25
+ readonly dependencies: Dependencies;
26
+ readonly dispose?: (value: T) => Promise<void> | void;
27
+ readonly factory: (...values: InferTokens<Dependencies>) => Promise<T> | T;
28
+ readonly lifetime?: Lifetime;
29
+ readonly token: Token<T>;
30
+ }
31
+ export type Provider<T = unknown, Dependencies extends readonly Token<unknown>[] = readonly Token<unknown>[]> = ValueProvider<T> | FactoryProvider<T, Dependencies>;
32
+ /**
33
+ * Type-erased provider for the heterogeneous lists accepted by
34
+ * `createContainer()` and `createScope()`. Providers are invariant in their
35
+ * value type, so erasure needs `any` at this one boundary; registration
36
+ * re-validates every provider at runtime.
37
+ */
38
+ export type AnyProvider = Provider<any, any>;
39
+ export declare function valueProvider<T>(token: Token<T>, value: NoInfer<T>, options?: ValueOptions<T>): ValueProvider<T>;
40
+ export declare function factoryProvider<T, const Dependencies extends readonly Token<unknown>[]>(token: Token<T>, dependencies: Dependencies, factory: (...values: InferTokens<Dependencies>) => Promise<T> | T, options?: FactoryOptions<T>): FactoryProvider<T, Dependencies>;
41
+ /** Map of service name to dependency token, passed to `container.resolve()` at a composition root. */
42
+ export type ServiceMap = {
43
+ readonly [key: string]: Token<unknown>;
21
44
  };
45
+ export type InferServices<M extends ServiceMap> = {
46
+ readonly [K in keyof M]: M[K] extends Token<infer Value> ? Value : never;
47
+ };
48
+ export type CreateScopeOptions = Readonly<{
49
+ name?: string;
50
+ providers?: readonly AnyProvider[];
51
+ }>;
22
52
  export interface Container {
23
- createScope(scope?: ScopeToken, options?: {
24
- name?: string;
25
- }): Container;
53
+ /**
54
+ * Create a child container that inherits parent registrations. Providers
55
+ * registered on the child are local to it, which is how request-scoped
56
+ * values are spelled: one child per request.
57
+ */
58
+ createScope(options?: CreateScopeOptions): Container;
26
59
  readonly disposalSignal: AbortSignal;
27
60
  dispose(): Promise<void>;
28
61
  readonly disposed: boolean;
29
- factory<T, Dependencies extends readonly Token<unknown>[]>(token: Token<T>, dependencies: Dependencies, create: (...values: InferTokens<Dependencies>) => Promise<T> | T, options?: FactoryOptions<T>): this;
30
62
  has<T>(token: Token<T>): boolean;
31
63
  readonly name: string;
32
64
  resolve<T>(token: Token<T>): Promise<T>;
33
- validate(): this;
34
- value<T>(token: Token<T>, value: T, options?: ValueOptions<T>): this;
65
+ resolve<M extends ServiceMap>(map: M): Promise<InferServices<M>>;
35
66
  [Symbol.asyncDispose](): Promise<void>;
36
67
  }
37
68
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AACxC,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AAExC,MAAM,MAAM,KAAK,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAElE,wBAAgB,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAEtD;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAE9C;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,QAAQ,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI;KAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK;CAChE,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,OAAO,CAAC,CAAC,EAAE,YAAY,SAAS,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,EACvD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAChE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,IAAI,CAAC;IAER,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,IAAI,IAAI,CAAC;IAEjB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACrE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,11 +1,2 @@
1
- //#region src/types.ts
2
- function e(e) {
3
- return Symbol(e);
4
- }
5
- function t(e) {
6
- return Symbol(e);
7
- }
8
- //#endregion
9
- export { t as scope, e as token };
10
-
1
+ function token(e){return Symbol(e)}var e=token(`Conduit disposal signal`);function valueProvider(e,t,n={}){return Object.freeze({...n,token:e,value:t})}function factoryProvider(e,t,n,r={}){return Object.freeze({...r,dependencies:Object.freeze([...t]),factory:n,token:e})}export{e as disposalSignalToken,factoryProvider,token,valueProvider};
11
2
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["declare const tokenBrand: unique symbol;\ndeclare const scopeBrand: unique symbol;\n\nexport type Token<T = unknown> = symbol & { readonly [tokenBrand]: T };\nexport type ScopeToken = symbol & { readonly [scopeBrand]: true };\n\nexport function token<T>(description: string): Token<T> {\n return Symbol(description) as Token<T>;\n}\n\nexport function scope(name: string): ScopeToken {\n return Symbol(name) as ScopeToken;\n}\n\nexport type Lifetime = 'singleton' | 'transient' | ScopeToken;\n\nexport type ValueOptions<T> = Readonly<{\n dispose?: (value: T) => Promise<void> | void;\n}>;\n\nexport type FactoryOptions<T> = Readonly<{\n dispose?: (value: T) => Promise<void> | void;\n lifetime?: Lifetime;\n}>;\n\nexport type InferTokens<T extends readonly Token<unknown>[]> = {\n [K in keyof T]: T[K] extends Token<infer Value> ? Value : never;\n};\n\nexport interface Container {\n createScope(scope?: ScopeToken, options?: { name?: string }): Container;\n readonly disposalSignal: AbortSignal;\n dispose(): Promise<void>;\n readonly disposed: boolean;\n\n factory<T, Dependencies extends readonly Token<unknown>[]>(\n token: Token<T>,\n dependencies: Dependencies,\n create: (...values: InferTokens<Dependencies>) => Promise<T> | T,\n options?: FactoryOptions<T>,\n ): this;\n\n has<T>(token: Token<T>): boolean;\n readonly name: string;\n resolve<T>(token: Token<T>): Promise<T>;\n validate(): this;\n\n value<T>(token: Token<T>, value: T, options?: ValueOptions<T>): this;\n [Symbol.asyncDispose](): Promise<void>;\n}\n"],"mappings":";AAMA,SAAgB,EAAS,GAA+B;CACtD,OAAO,OAAO,CAAW;AAC3B;AAEA,SAAgB,EAAM,GAA0B;CAC9C,OAAO,OAAO,CAAI;AACpB"}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["declare const tokenBrand: unique symbol;\n\nexport type Token<T = unknown> = symbol & { readonly [tokenBrand]: T };\n\nexport function token<T>(description: string): Token<T> {\n return Symbol(description) as Token<T>;\n}\n\nexport const disposalSignalToken = token<AbortSignal>('Conduit disposal signal');\n\n/** Singleton results are cached on the registering container; transient results belong to the requesting container. */\nexport type Lifetime = 'singleton' | 'transient';\n\nexport type InferTokens<T extends readonly Token<unknown>[]> = {\n [K in keyof T]: T[K] extends Token<infer Value> ? Value : never;\n};\n\nexport type ValueOptions<T> = Readonly<{\n dispose?: (value: T) => Promise<void> | void;\n}>;\n\nexport type FactoryOptions<T> = Readonly<{\n dispose?: (value: T) => Promise<void> | void;\n lifetime?: Lifetime;\n}>;\n\nexport interface ValueProvider<T> {\n readonly dispose?: (value: T) => Promise<void> | void;\n readonly token: Token<T>;\n readonly value: T;\n}\n\nexport interface FactoryProvider<T, Dependencies extends readonly Token<unknown>[] = readonly Token<unknown>[]> {\n readonly dependencies: Dependencies;\n readonly dispose?: (value: T) => Promise<void> | void;\n readonly factory: (...values: InferTokens<Dependencies>) => Promise<T> | T;\n readonly lifetime?: Lifetime;\n readonly token: Token<T>;\n}\n\nexport type Provider<T = unknown, Dependencies extends readonly Token<unknown>[] = readonly Token<unknown>[]> =\n | ValueProvider<T>\n | FactoryProvider<T, Dependencies>;\n\n/**\n * Type-erased provider for the heterogeneous lists accepted by\n * `createContainer()` and `createScope()`. Providers are invariant in their\n * value type, so erasure needs `any` at this one boundary; registration\n * re-validates every provider at runtime.\n */\nexport type AnyProvider = Provider<any, any>;\n\nexport function valueProvider<T>(token: Token<T>, value: NoInfer<T>, options: ValueOptions<T> = {}): ValueProvider<T> {\n return Object.freeze({ ...options, token, value });\n}\n\nexport function factoryProvider<T, const Dependencies extends readonly Token<unknown>[]>(\n token: Token<T>,\n dependencies: Dependencies,\n factory: (...values: InferTokens<Dependencies>) => Promise<T> | T,\n options: FactoryOptions<T> = {},\n): FactoryProvider<T, Dependencies> {\n return Object.freeze({\n ...options,\n dependencies: Object.freeze([...dependencies]) as unknown as Dependencies,\n factory,\n token,\n });\n}\n\n/** Map of service name to dependency token, passed to `container.resolve()` at a composition root. */\nexport type ServiceMap = { readonly [key: string]: Token<unknown> };\n\nexport type InferServices<M extends ServiceMap> = {\n readonly [K in keyof M]: M[K] extends Token<infer Value> ? Value : never;\n};\n\nexport type CreateScopeOptions = Readonly<{\n name?: string;\n providers?: readonly AnyProvider[];\n}>;\n\nexport interface Container {\n /**\n * Create a child container that inherits parent registrations. Providers\n * registered on the child are local to it, which is how request-scoped\n * values are spelled: one child per request.\n */\n createScope(options?: CreateScopeOptions): Container;\n readonly disposalSignal: AbortSignal;\n dispose(): Promise<void>;\n readonly disposed: boolean;\n has<T>(token: Token<T>): boolean;\n readonly name: string;\n resolve<T>(token: Token<T>): Promise<T>;\n resolve<M extends ServiceMap>(map: M): Promise<InferServices<M>>;\n [Symbol.asyncDispose](): Promise<void>;\n}\n"],"mappings":"AAIA,SAAgB,MAAS,EAA+B,CACtD,OAAO,OAAO,CAAW,CAC3B,CAEA,IAAa,EAAsB,MAAmB,yBAAyB,EA4C/E,SAAgB,cAAiB,EAAiB,EAAmB,EAA2B,CAAC,EAAqB,CACpH,OAAO,OAAO,OAAO,CAAE,GAAG,EAAS,QAAO,OAAM,CAAC,CACnD,CAEA,SAAgB,gBACd,EACA,EACA,EACA,EAA6B,CAAC,EACI,CAClC,OAAO,OAAO,OAAO,CACnB,GAAG,EACH,aAAc,OAAO,OAAO,CAAC,GAAG,CAAY,CAAC,EAC7C,UACA,OACF,CAAC,CACH"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vielzeug/conduit",
3
- "version": "2.1.1",
4
- "description": "Lightweight dependency injection container — singletons, transient instances, factories, and named scopes",
3
+ "version": "26.10.0",
4
+ "description": "Typed dependency injection container",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/helmuthdu/vielzeug",
@@ -30,19 +30,21 @@
30
30
  "registry": "https://registry.npmjs.org/"
31
31
  },
32
32
  "scripts": {
33
- "build": "vite build && pnpm run build:bundle && pnpm run build:types",
33
+ "build": "vite build && pnpm --silent run build:bundle && pnpm --silent run build:types && pnpm --silent run test:types && pnpm --silent run verify:exports",
34
34
  "build:bundle": "vite build --config vite.bundle.config.ts",
35
35
  "build:types": "tsc -p tsconfig.declarations.json",
36
36
  "fix": "biome check --write src",
37
37
  "lint": "biome ci src",
38
- "prepublishOnly": "pnpm run build",
38
+ "prepublishOnly": "pnpm --silent run build",
39
39
  "preview": "vite preview",
40
- "test": "vitest"
40
+ "test": "vitest",
41
+ "test:types": "tsc -p tsconfig.type-tests.json",
42
+ "verify:exports": "node verify-exports.mjs"
41
43
  },
42
44
  "devDependencies": {
43
- "@types/node": "^26.2.0",
45
+ "@types/node": "^26.6.2",
44
46
  "typescript": "^6.0.3",
45
- "vite": "^8.2.1",
46
- "vitest": "^4.1.10"
47
+ "vite": "^8.3.0",
48
+ "vitest": "^5.0.1"
47
49
  }
48
50
  }