skyr 1.0.0 → 1.1.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
@@ -419,15 +419,12 @@ Key points:
419
419
 
420
420
  ### Injecting Dependencies
421
421
 
422
- Use `inject()` in a `pipe()` to provide implementations:
422
+ Use `.inject()` to provide implementations:
423
423
 
424
424
  ```typescript
425
- const getUser = R.pipe(
426
- GetUser,
427
- R.inject(
428
- Database.impl({ findUser: async (email) => db.query(email) }),
429
- Logger.impl({ info: console.log }),
430
- ),
425
+ const getUser = GetUser.inject(
426
+ Database.impl({ findUser: async (email) => db.query(email) }),
427
+ Logger.impl({ info: console.log }),
431
428
  );
432
429
 
433
430
  // Now callable — all dependencies satisfied
@@ -447,13 +444,25 @@ like `Missing dependency: "database". Use inject() to provide this dependency.`
447
444
  Injection can be done incrementally:
448
445
 
449
446
  ```typescript
450
- const withDb = R.pipe(GetUser, R.inject(Database.impl({/* ... */})));
447
+ const withDb = GetUser.inject(Database.impl({/* ... */}));
451
448
  // Still needs Logger
452
449
 
453
- const getUser = R.pipe(withDb, R.inject(Logger.impl({/* ... */})));
450
+ const getUser = withDb.inject(Logger.impl({/* ... */}));
454
451
  // Fully callable
455
452
  ```
456
453
 
454
+ The standalone `inject()` operator works the same way inside `pipe()`:
455
+
456
+ ```typescript
457
+ const getUser = R.pipe(
458
+ GetUser,
459
+ R.inject(
460
+ Database.impl({ findUser: async (email) => db.query(email) }),
461
+ Logger.impl({ info: console.log }),
462
+ ),
463
+ );
464
+ ```
465
+
457
466
  ### Nested Functions
458
467
 
459
468
  When one `fn()` uses another via `yield* R.use(ChildFn)`, the child's
@@ -558,7 +567,8 @@ operations (`.match()`, `.unwrap()`, `.unwrapOr()`) which return `Promise`.
558
567
  | `fn(func)` | Unify Result return type |
559
568
  | `use(dep)` | Acquire dependency inside a generator |
560
569
  | `use(Fn)` | Get contextualized callable for nested Fn |
561
- | `inject(...impls)` | Provide dependency implementations |
570
+ | `.inject(...impls)` | Provide dependency implementations (method) |
571
+ | `inject(...impls)` | Provide dependency implementations (operator) |
562
572
 
563
573
  ## License
564
574
 
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Shared implementation helpers for Result methods and standalone operators.
2
+ * Shared implementation helpers for methods and standalone operators.
3
3
  *
4
- * Both the methods on ok()/err() and the standalone operators (for pipe())
5
- * need the same transformation logic. This module provides the shared core
6
- * so behavior stays consistent and bugs only need fixing in one place.
4
+ * Both chainable methods (e.g. .map(), .inject()) and standalone operators
5
+ * (for pipe()) need the same transformation logic. This module provides
6
+ * the shared core so behavior stays consistent and bugs only need fixing
7
+ * in one place.
7
8
  *
8
9
  * @internal
9
10
  */
@@ -32,4 +33,9 @@ export declare function handleMatch(result: Result<any, any>, handlers: {
32
33
  * wraps in AsyncResult that resolves to the original Result.
33
34
  */
34
35
  export declare function handleInspect(result: Result<any, any>, fn: (value: any) => any): any;
36
+ /**
37
+ * Core inject logic: merge dependency implementations into an Fn,
38
+ * returning a new Fn with those dependencies satisfied.
39
+ */
40
+ export declare function injectDeps(fn: any, impls: readonly any[]): any;
35
41
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/_internal/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAGzD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,CAmBlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3B,YAAY,EAAE,GAAG,GACf,GAAG,CA6BL;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,QAAQ,EAAE;IAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE,GACzD,GAAG,CAaL;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GACrB,GAAG,CAYL"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/_internal/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAIzD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,CAmBlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3B,YAAY,EAAE,GAAG,GACf,GAAG,CA6BL;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,QAAQ,EAAE;IAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE,GACzD,GAAG,CAaL;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GACrB,GAAG,CAYL;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,CAM9D"}
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Shared implementation helpers for Result methods and standalone operators.
2
+ * Shared implementation helpers for methods and standalone operators.
3
3
  *
4
- * Both the methods on ok()/err() and the standalone operators (for pipe())
5
- * need the same transformation logic. This module provides the shared core
6
- * so behavior stays consistent and bugs only need fixing in one place.
4
+ * Both chainable methods (e.g. .map(), .inject()) and standalone operators
5
+ * (for pipe()) need the same transformation logic. This module provides
6
+ * the shared core so behavior stays consistent and bugs only need fixing
7
+ * in one place.
7
8
  *
8
9
  * @internal
9
10
  */
@@ -11,6 +12,7 @@ import { Panic } from "../panic.js";
11
12
  import { unknownErr } from "./errors.js";
12
13
  import { isResult, ok } from "../result.js";
13
14
  import { asyncResult } from "../async_result.js";
15
+ import { createFn } from "../fn/fn.js";
14
16
  /**
15
17
  * Core map logic: transform an Ok value, handling Result flattening,
16
18
  * Promise→AsyncResult conversion, and Panic on sync throw.
@@ -99,3 +101,14 @@ export function handleInspect(result, fn) {
99
101
  }
100
102
  return result;
101
103
  }
104
+ /**
105
+ * Core inject logic: merge dependency implementations into an Fn,
106
+ * returning a new Fn with those dependencies satisfied.
107
+ */
108
+ export function injectDeps(fn, impls) {
109
+ const newInjectedDeps = { ...fn._fn._injectedDeps };
110
+ for (const impl of impls) {
111
+ newInjectedDeps[impl.key] = impl.value;
112
+ }
113
+ return createFn(fn._fn._generator, newInjectedDeps);
114
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"fn.d.ts","sourceRoot":"","sources":["../../src/fn/fn.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,KAAK,EAEX,UAAU,EAEV,sBAAsB,EACtB,mBAAmB,EACnB,EAAE,EAEF,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAEhB,YAAY,EACZ,MAAM,YAAY,CAAC;AA8LpB,mEAAmE;AACnE,iBAAS,QAAQ,CAChB,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACN,MAAM,SAAS,MAAM,EACrB,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAEpC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,EAC/D,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACpC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CA4ChC;AAyCD,wBAAgB,EAAE,CACjB,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAE1B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GACxB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAG1E,wBAAgB,EAAE,CACjB,IAAI,SAAS,GAAG,EAAE,EAClB,GAAG,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEpC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,GAAG,GAC/B,EAAE,CACJ,IAAI,EACJ,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EACnE,iBAAiB,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GACnD,iBAAiB,CAAC,GAAG,CAAC,GACtB,KAAK,CACR,CAAC;AAqBF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"fn.d.ts","sourceRoot":"","sources":["../../src/fn/fn.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,KAAK,EAEX,UAAU,EAEV,sBAAsB,EACtB,mBAAmB,EACnB,EAAE,EAEF,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAEhB,YAAY,EACZ,MAAM,YAAY,CAAC;AA+LpB,mEAAmE;AACnE,iBAAS,QAAQ,CAChB,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACN,MAAM,SAAS,MAAM,EACrB,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAEpC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,EAC/D,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACpC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CA+ChC;AAyCD,wBAAgB,EAAE,CACjB,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAE1B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GACxB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAG1E,wBAAgB,EAAE,CACjB,IAAI,SAAS,GAAG,EAAE,EAClB,GAAG,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEpC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,GAAG,GAC/B,EAAE,CACJ,IAAI,EACJ,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EACnE,iBAAiB,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GACnD,iBAAiB,CAAC,GAAG,CAAC,GACtB,KAAK,CACR,CAAC;AAqBF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/esm/fn/fn.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { isErr, isOk, isResult, ok } from "../result.js";
3
3
  import { asyncResult } from "../async_result.js";
4
4
  import { unknownErr } from "../_internal/errors.js";
5
+ import { injectDeps } from "../_internal/handlers.js";
5
6
  // ============================================================================
6
7
  // Type Guards
7
8
  // ============================================================================
@@ -156,6 +157,8 @@ function createFn(generator, injectedDeps = {}) {
156
157
  };
157
158
  // Attach metadata
158
159
  callable._fn = metadata;
160
+ // Builder method: .inject()
161
+ callable.inject = (...impls) => injectDeps(callable, impls);
159
162
  // Make Fn iterable so `yield* use(SomeFn)` works in parent generators.
160
163
  // This generator yields nothing and immediately returns the callable —
161
164
  // `yield*` on a generator that only returns (no yields) evaluates to the
@@ -1 +1 @@
1
- {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/fn/inject.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAG3D,OAAO,KAAK,EACX,UAAU,EACV,cAAc,EACd,EAAE,EACF,QAAQ,EACR,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GACjB,KAAK,CAAC,KAAK,SAAS,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAC1D,GAAG,OAAO,KAAK,MAGf,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACN,MAAM,SAAS,MAAM,EACrB,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAEpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAChC,EAAE,CACJ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAevC,CAAC"}
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/fn/inject.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,OAAO,KAAK,EACX,UAAU,EACV,cAAc,EACd,EAAE,EACF,QAAQ,EACR,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GACjB,KAAK,CAAC,KAAK,SAAS,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAC1D,GAAG,OAAO,KAAK,MAGf,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACN,MAAM,SAAS,MAAM,EACrB,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAEpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAChC,EAAE,CACJ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAGvC,CAAC"}
package/esm/fn/inject.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Dependency injection operator for use with `pipe()`. */
2
- import { createFn } from "./fn.js";
2
+ import { injectDeps } from "../_internal/handlers.js";
3
3
  /**
4
4
  * Provides dependency implementations to an `Fn`. Use inside `pipe()`.
5
5
  *
@@ -21,11 +21,5 @@ import { createFn } from "./fn.js";
21
21
  * ```
22
22
  */
23
23
  export const inject = (...impls) => (fn) => {
24
- // Merge new implementations with existing ones
25
- const newInjectedDeps = { ...fn._fn._injectedDeps };
26
- for (const impl of impls) {
27
- newInjectedDeps[impl.key] = impl.value;
28
- }
29
- // Create new Fn with merged dependencies
30
- return createFn(fn._fn._generator, newInjectedDeps);
24
+ return injectDeps(fn, impls);
31
25
  };
package/esm/fn/types.d.ts CHANGED
@@ -61,6 +61,8 @@ export type Fn<Args extends any[], Return, Errors extends string, Deps extends D
61
61
  _: `ERROR - Missing dependencies: ${DepKeys<Deps>}. Use inject() first.`
62
62
  ]): [Deps] extends [never] ? Result<Return, Errors> | Promise<Result<Return, Errors>> : never;
63
63
  readonly _fn: FnMetadata<Args, Return, Errors, Deps>;
64
+ /** Provides dependency implementations, returning a new Fn with those dependencies satisfied. */
65
+ inject<const Impls extends readonly DependencyImpl<any, string>[]>(...impls: Impls): Fn<Args, Return, Errors, RemoveDepsByKeys<Deps, ImplKeys<Impls>>>;
64
66
  [Symbol.iterator](): Generator<Fn<Args, Return, Errors, Deps>, ContextualizedCallable<Args, Return, Errors>, any>;
65
67
  };
66
68
  /** Extracts dependency key strings from a Dependency union (for error messages). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fn/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fn/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skyr",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Type-safe error handling for TypeScript, inspired by Rust's Result type.",
5
5
  "keywords": [
6
6
  "result",
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Shared implementation helpers for Result methods and standalone operators.
2
+ * Shared implementation helpers for methods and standalone operators.
3
3
  *
4
- * Both the methods on ok()/err() and the standalone operators (for pipe())
5
- * need the same transformation logic. This module provides the shared core
6
- * so behavior stays consistent and bugs only need fixing in one place.
4
+ * Both chainable methods (e.g. .map(), .inject()) and standalone operators
5
+ * (for pipe()) need the same transformation logic. This module provides
6
+ * the shared core so behavior stays consistent and bugs only need fixing
7
+ * in one place.
7
8
  *
8
9
  * @internal
9
10
  */
@@ -32,4 +33,9 @@ export declare function handleMatch(result: Result<any, any>, handlers: {
32
33
  * wraps in AsyncResult that resolves to the original Result.
33
34
  */
34
35
  export declare function handleInspect(result: Result<any, any>, fn: (value: any) => any): any;
36
+ /**
37
+ * Core inject logic: merge dependency implementations into an Fn,
38
+ * returning a new Fn with those dependencies satisfied.
39
+ */
40
+ export declare function injectDeps(fn: any, impls: readonly any[]): any;
35
41
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/_internal/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAGzD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,CAmBlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3B,YAAY,EAAE,GAAG,GACf,GAAG,CA6BL;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,QAAQ,EAAE;IAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE,GACzD,GAAG,CAaL;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GACrB,GAAG,CAYL"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/_internal/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAIzD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,CAmBlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3B,YAAY,EAAE,GAAG,GACf,GAAG,CA6BL;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,QAAQ,EAAE;IAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE,GACzD,GAAG,CAaL;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GACrB,GAAG,CAYL;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,CAM9D"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  /**
3
- * Shared implementation helpers for Result methods and standalone operators.
3
+ * Shared implementation helpers for methods and standalone operators.
4
4
  *
5
- * Both the methods on ok()/err() and the standalone operators (for pipe())
6
- * need the same transformation logic. This module provides the shared core
7
- * so behavior stays consistent and bugs only need fixing in one place.
5
+ * Both chainable methods (e.g. .map(), .inject()) and standalone operators
6
+ * (for pipe()) need the same transformation logic. This module provides
7
+ * the shared core so behavior stays consistent and bugs only need fixing
8
+ * in one place.
8
9
  *
9
10
  * @internal
10
11
  */
@@ -13,10 +14,12 @@ exports.handleMap = handleMap;
13
14
  exports.handleMapErr = handleMapErr;
14
15
  exports.handleMatch = handleMatch;
15
16
  exports.handleInspect = handleInspect;
17
+ exports.injectDeps = injectDeps;
16
18
  const panic_js_1 = require("../panic.js");
17
19
  const errors_js_1 = require("./errors.js");
18
20
  const result_js_1 = require("../result.js");
19
21
  const async_result_js_1 = require("../async_result.js");
22
+ const fn_js_1 = require("../fn/fn.js");
20
23
  /**
21
24
  * Core map logic: transform an Ok value, handling Result flattening,
22
25
  * Promise→AsyncResult conversion, and Panic on sync throw.
@@ -105,3 +108,14 @@ function handleInspect(result, fn) {
105
108
  }
106
109
  return result;
107
110
  }
111
+ /**
112
+ * Core inject logic: merge dependency implementations into an Fn,
113
+ * returning a new Fn with those dependencies satisfied.
114
+ */
115
+ function injectDeps(fn, impls) {
116
+ const newInjectedDeps = { ...fn._fn._injectedDeps };
117
+ for (const impl of impls) {
118
+ newInjectedDeps[impl.key] = impl.value;
119
+ }
120
+ return (0, fn_js_1.createFn)(fn._fn._generator, newInjectedDeps);
121
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"fn.d.ts","sourceRoot":"","sources":["../../src/fn/fn.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,KAAK,EAEX,UAAU,EAEV,sBAAsB,EACtB,mBAAmB,EACnB,EAAE,EAEF,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAEhB,YAAY,EACZ,MAAM,YAAY,CAAC;AA8LpB,mEAAmE;AACnE,iBAAS,QAAQ,CAChB,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACN,MAAM,SAAS,MAAM,EACrB,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAEpC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,EAC/D,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACpC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CA4ChC;AAyCD,wBAAgB,EAAE,CACjB,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAE1B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GACxB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAG1E,wBAAgB,EAAE,CACjB,IAAI,SAAS,GAAG,EAAE,EAClB,GAAG,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEpC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,GAAG,GAC/B,EAAE,CACJ,IAAI,EACJ,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EACnE,iBAAiB,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GACnD,iBAAiB,CAAC,GAAG,CAAC,GACtB,KAAK,CACR,CAAC;AAqBF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"fn.d.ts","sourceRoot":"","sources":["../../src/fn/fn.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,KAAK,EAEX,UAAU,EAEV,sBAAsB,EACtB,mBAAmB,EACnB,EAAE,EAEF,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAEhB,YAAY,EACZ,MAAM,YAAY,CAAC;AA+LpB,mEAAmE;AACnE,iBAAS,QAAQ,CAChB,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACN,MAAM,SAAS,MAAM,EACrB,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAEpC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,EAC/D,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACpC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CA+ChC;AAyCD,wBAAgB,EAAE,CACjB,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAE1B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GACxB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAG1E,wBAAgB,EAAE,CACjB,IAAI,SAAS,GAAG,EAAE,EAClB,GAAG,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEpC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,GAAG,GAC/B,EAAE,CACJ,IAAI,EACJ,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EACnE,iBAAiB,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GACnD,iBAAiB,CAAC,GAAG,CAAC,GACtB,KAAK,CACR,CAAC;AAqBF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/script/fn/fn.js CHANGED
@@ -6,6 +6,7 @@ exports.createFn = createFn;
6
6
  const result_js_1 = require("../result.js");
7
7
  const async_result_js_1 = require("../async_result.js");
8
8
  const errors_js_1 = require("../_internal/errors.js");
9
+ const handlers_js_1 = require("../_internal/handlers.js");
9
10
  // ============================================================================
10
11
  // Type Guards
11
12
  // ============================================================================
@@ -160,6 +161,8 @@ function createFn(generator, injectedDeps = {}) {
160
161
  };
161
162
  // Attach metadata
162
163
  callable._fn = metadata;
164
+ // Builder method: .inject()
165
+ callable.inject = (...impls) => (0, handlers_js_1.injectDeps)(callable, impls);
163
166
  // Make Fn iterable so `yield* use(SomeFn)` works in parent generators.
164
167
  // This generator yields nothing and immediately returns the callable —
165
168
  // `yield*` on a generator that only returns (no yields) evaluates to the
@@ -1 +1 @@
1
- {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/fn/inject.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAG3D,OAAO,KAAK,EACX,UAAU,EACV,cAAc,EACd,EAAE,EACF,QAAQ,EACR,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GACjB,KAAK,CAAC,KAAK,SAAS,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAC1D,GAAG,OAAO,KAAK,MAGf,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACN,MAAM,SAAS,MAAM,EACrB,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAEpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAChC,EAAE,CACJ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAevC,CAAC"}
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/fn/inject.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,OAAO,KAAK,EACX,UAAU,EACV,cAAc,EACd,EAAE,EACF,QAAQ,EACR,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GACjB,KAAK,CAAC,KAAK,SAAS,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAC1D,GAAG,OAAO,KAAK,MAGf,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACN,MAAM,SAAS,MAAM,EACrB,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAEpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAChC,EAAE,CACJ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAGvC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  /** Dependency injection operator for use with `pipe()`. */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.inject = void 0;
5
- const fn_js_1 = require("./fn.js");
5
+ const handlers_js_1 = require("../_internal/handlers.js");
6
6
  /**
7
7
  * Provides dependency implementations to an `Fn`. Use inside `pipe()`.
8
8
  *
@@ -24,12 +24,6 @@ const fn_js_1 = require("./fn.js");
24
24
  * ```
25
25
  */
26
26
  const inject = (...impls) => (fn) => {
27
- // Merge new implementations with existing ones
28
- const newInjectedDeps = { ...fn._fn._injectedDeps };
29
- for (const impl of impls) {
30
- newInjectedDeps[impl.key] = impl.value;
31
- }
32
- // Create new Fn with merged dependencies
33
- return (0, fn_js_1.createFn)(fn._fn._generator, newInjectedDeps);
27
+ return (0, handlers_js_1.injectDeps)(fn, impls);
34
28
  };
35
29
  exports.inject = inject;
@@ -61,6 +61,8 @@ export type Fn<Args extends any[], Return, Errors extends string, Deps extends D
61
61
  _: `ERROR - Missing dependencies: ${DepKeys<Deps>}. Use inject() first.`
62
62
  ]): [Deps] extends [never] ? Result<Return, Errors> | Promise<Result<Return, Errors>> : never;
63
63
  readonly _fn: FnMetadata<Args, Return, Errors, Deps>;
64
+ /** Provides dependency implementations, returning a new Fn with those dependencies satisfied. */
65
+ inject<const Impls extends readonly DependencyImpl<any, string>[]>(...impls: Impls): Fn<Args, Return, Errors, RemoveDepsByKeys<Deps, ImplKeys<Impls>>>;
64
66
  [Symbol.iterator](): Generator<Fn<Args, Return, Errors, Deps>, ContextualizedCallable<Args, Return, Errors>, any>;
65
67
  };
66
68
  /** Extracts dependency key strings from a Dependency union (for error messages). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fn/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fn/types.ts"],"names":[],"mappings":"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"}