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 +20 -10
- package/esm/_internal/handlers.d.ts +10 -4
- package/esm/_internal/handlers.d.ts.map +1 -1
- package/esm/_internal/handlers.js +17 -4
- package/esm/fn/fn.d.ts.map +1 -1
- package/esm/fn/fn.js +3 -0
- package/esm/fn/inject.d.ts.map +1 -1
- package/esm/fn/inject.js +2 -8
- package/esm/fn/types.d.ts +2 -0
- package/esm/fn/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/script/_internal/handlers.d.ts +10 -4
- package/script/_internal/handlers.d.ts.map +1 -1
- package/script/_internal/handlers.js +18 -4
- package/script/fn/fn.d.ts.map +1 -1
- package/script/fn/fn.js +3 -0
- package/script/fn/inject.d.ts.map +1 -1
- package/script/fn/inject.js +2 -8
- package/script/fn/types.d.ts +2 -0
- package/script/fn/types.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -419,15 +419,12 @@ Key points:
|
|
|
419
419
|
|
|
420
420
|
### Injecting Dependencies
|
|
421
421
|
|
|
422
|
-
Use
|
|
422
|
+
Use `.inject()` to provide implementations:
|
|
423
423
|
|
|
424
424
|
```typescript
|
|
425
|
-
const getUser =
|
|
426
|
-
|
|
427
|
-
|
|
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 =
|
|
447
|
+
const withDb = GetUser.inject(Database.impl({/* ... */}));
|
|
451
448
|
// Still needs Logger
|
|
452
449
|
|
|
453
|
-
const getUser =
|
|
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
|
-
|
|
|
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
|
|
2
|
+
* Shared implementation helpers for methods and standalone operators.
|
|
3
3
|
*
|
|
4
|
-
* Both
|
|
5
|
-
* need the same transformation logic. This module provides
|
|
6
|
-
* so behavior stays consistent and bugs only need fixing
|
|
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
|
|
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
|
|
2
|
+
* Shared implementation helpers for methods and standalone operators.
|
|
3
3
|
*
|
|
4
|
-
* Both
|
|
5
|
-
* need the same transformation logic. This module provides
|
|
6
|
-
* so behavior stays consistent and bugs only need fixing
|
|
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
|
+
}
|
package/esm/fn/fn.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/esm/fn/inject.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/fn/inject.ts"],"names":[],"mappings":"AAAA,2DAA2D;
|
|
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 {
|
|
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
|
-
|
|
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). */
|
package/esm/fn/types.d.ts.map
CHANGED
|
@@ -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,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared implementation helpers for
|
|
2
|
+
* Shared implementation helpers for methods and standalone operators.
|
|
3
3
|
*
|
|
4
|
-
* Both
|
|
5
|
-
* need the same transformation logic. This module provides
|
|
6
|
-
* so behavior stays consistent and bugs only need fixing
|
|
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
|
|
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
|
|
3
|
+
* Shared implementation helpers for methods and standalone operators.
|
|
4
4
|
*
|
|
5
|
-
* Both
|
|
6
|
-
* need the same transformation logic. This module provides
|
|
7
|
-
* so behavior stays consistent and bugs only need fixing
|
|
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
|
+
}
|
package/script/fn/fn.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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/script/fn/inject.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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;
|
package/script/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). */
|
package/script/fn/types.d.ts.map
CHANGED
|
@@ -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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"}
|