fp-pack 0.5.0 → 0.6.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.
Files changed (51) hide show
  1. package/README.md +16 -15
  2. package/dist/fp-pack.umd.js.map +1 -1
  3. package/dist/implement/composition/curry.d.ts +5 -5
  4. package/dist/implement/composition/curry.d.ts.map +1 -1
  5. package/dist/implement/composition/curry.mjs.map +1 -1
  6. package/dist/implement/composition/index.d.ts +3 -0
  7. package/dist/implement/composition/index.d.ts.map +1 -1
  8. package/dist/implement/composition/pipe.d.ts +3 -0
  9. package/dist/implement/composition/pipe.d.ts.map +1 -1
  10. package/dist/implement/composition/pipe.mjs.map +1 -1
  11. package/dist/implement/composition/pipe.type-test.d.ts +7 -1
  12. package/dist/implement/composition/pipe.type-test.d.ts.map +1 -1
  13. package/dist/implement/composition/sideEffect.d.ts +1 -1
  14. package/dist/implement/composition/sideEffect.d.ts.map +1 -1
  15. package/dist/implement/composition/sideEffect.mjs.map +1 -1
  16. package/dist/implement/object/assocPath.d.ts +2 -1
  17. package/dist/implement/object/assocPath.d.ts.map +1 -1
  18. package/dist/implement/object/assocPath.mjs.map +1 -1
  19. package/dist/implement/object/dissocPath.d.ts +2 -1
  20. package/dist/implement/object/dissocPath.d.ts.map +1 -1
  21. package/dist/implement/object/dissocPath.mjs.map +1 -1
  22. package/dist/implement/object/index.d.ts +1 -0
  23. package/dist/implement/object/index.d.ts.map +1 -1
  24. package/dist/implement/object/path.d.ts +4 -2
  25. package/dist/implement/object/path.d.ts.map +1 -1
  26. package/dist/implement/object/path.mjs.map +1 -1
  27. package/dist/implement/object/pathKey.d.ts +2 -0
  28. package/dist/implement/object/pathKey.d.ts.map +1 -0
  29. package/dist/implement/object/pathOr.d.ts +5 -3
  30. package/dist/implement/object/pathOr.d.ts.map +1 -1
  31. package/dist/implement/object/pathOr.mjs.map +1 -1
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/skills/fp-pack/SKILL.md +18 -16
  35. package/dist/skills/fp-pack.md +18 -16
  36. package/dist/stream/index.d.ts +1 -0
  37. package/dist/stream/index.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/src/implement/composition/curry.ts +5 -5
  40. package/src/implement/composition/index.ts +3 -0
  41. package/src/implement/composition/pipe.ts +4 -0
  42. package/src/implement/composition/pipe.type-test.ts +17 -1
  43. package/src/implement/composition/sideEffect.ts +1 -1
  44. package/src/implement/object/assocPath.ts +2 -2
  45. package/src/implement/object/dissocPath.ts +2 -2
  46. package/src/implement/object/index.ts +1 -0
  47. package/src/implement/object/path.ts +5 -3
  48. package/src/implement/object/pathKey.ts +1 -0
  49. package/src/implement/object/pathOr.ts +6 -4
  50. package/src/index.ts +3 -0
  51. package/src/stream/index.ts +1 -0
@@ -2,22 +2,22 @@
2
2
  * Curry function with stable TypeScript types.
3
3
  * Supports functions with 2-5 parameters and keeps data-last call order.
4
4
  */
5
- type Curry2<Fn> = Fn extends (a: infer A, b: infer B) => infer R ? {
5
+ export type Curry2<Fn> = Fn extends (a: infer A, b: infer B) => infer R ? {
6
6
  (...args: [A]): (b: B) => R;
7
7
  (...args: [A, B]): R;
8
8
  } : never;
9
- type Curry3<Fn> = Fn extends (a: infer A, b: infer B, c: infer C) => infer R ? {
9
+ export type Curry3<Fn> = Fn extends (a: infer A, b: infer B, c: infer C) => infer R ? {
10
10
  (...args: [A]): (b: B) => (c: C) => R;
11
11
  (...args: [A, B]): (c: C) => R;
12
12
  (...args: [A, B, C]): R;
13
13
  } : never;
14
- type Curry4<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D) => infer R ? {
14
+ export type Curry4<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D) => infer R ? {
15
15
  (...args: [A]): (b: B) => (c: C) => (d: D) => R;
16
16
  (...args: [A, B]): (c: C) => (d: D) => R;
17
17
  (...args: [A, B, C]): (d: D) => R;
18
18
  (...args: [A, B, C, D]): R;
19
19
  } : never;
20
- type Curry5<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D, e: infer E) => infer R ? {
20
+ export type Curry5<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D, e: infer E) => infer R ? {
21
21
  (...args: [A]): (b: B) => (c: C) => (d: D) => (e: E) => R;
22
22
  (...args: [A, B]): (c: C) => (d: D) => (e: E) => R;
23
23
  (...args: [A, B, C]): (d: D) => (e: E) => R;
@@ -26,7 +26,7 @@ type Curry5<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D, e:
26
26
  } : never;
27
27
  type CurryVariadic<Fn extends (...args: any[]) => any> = Fn extends (...args: infer P) => infer R ? <T extends any[]>(...args: T) => T extends P ? R : P extends [...T, ...infer Rest] ? CurryVariadic<(...args: Rest) => R> : never : never;
28
28
  type CurryByArity<Fn extends (...args: any[]) => any> = Parameters<Fn>['length'] extends 2 ? Curry2<Fn> : Parameters<Fn>['length'] extends 3 ? Curry3<Fn> : Parameters<Fn>['length'] extends 4 ? Curry4<Fn> : Parameters<Fn>['length'] extends 5 ? Curry5<Fn> : CurryVariadic<Fn>;
29
- type Curried<Fn extends (...args: any[]) => any> = CurryByArity<Fn>;
29
+ export type Curried<Fn extends (...args: any[]) => any> = CurryByArity<Fn>;
30
30
  declare function curry<Fn extends (...args: any[]) => any>(fn: Fn): Curried<Fn>;
31
31
  export default curry;
32
32
  //# sourceMappingURL=curry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"curry.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/curry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curry.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/curry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"curry.mjs","sources":["../../../src/implement/composition/curry.ts"],"sourcesContent":["/**\n * Curry function with stable TypeScript types.\n * Supports functions with 2-5 parameters and keeps data-last call order.\n */\n\ntype Curry2<Fn> = Fn extends (a: infer A, b: infer B) => infer R\n ? {\n (...args: [A]): (b: B) => R;\n (...args: [A, B]): R;\n }\n : never;\n\ntype Curry3<Fn> = Fn extends (a: infer A, b: infer B, c: infer C) => infer R\n ? {\n (...args: [A]): (b: B) => (c: C) => R;\n (...args: [A, B]): (c: C) => R;\n (...args: [A, B, C]): R;\n }\n : never;\n\ntype Curry4<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D) => infer R\n ? {\n (...args: [A]): (b: B) => (c: C) => (d: D) => R;\n (...args: [A, B]): (c: C) => (d: D) => R;\n (...args: [A, B, C]): (d: D) => R;\n (...args: [A, B, C, D]): R;\n }\n : never;\n\ntype Curry5<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D, e: infer E) => infer R\n ? {\n (...args: [A]): (b: B) => (c: C) => (d: D) => (e: E) => R;\n (...args: [A, B]): (c: C) => (d: D) => (e: E) => R;\n (...args: [A, B, C]): (d: D) => (e: E) => R;\n (...args: [A, B, C, D]): (e: E) => R;\n (...args: [A, B, C, D, E]): R;\n }\n : never;\n\ntype CurryVariadic<Fn extends (...args: any[]) => any> = Fn extends (...args: infer P) => infer R\n ? <T extends any[]>(\n ...args: T\n ) => T extends P ? R : P extends [...T, ...infer Rest] ? CurryVariadic<(...args: Rest) => R> : never\n : never;\n\ntype CurryByArity<Fn extends (...args: any[]) => any> = Parameters<Fn>['length'] extends 2\n ? Curry2<Fn>\n : Parameters<Fn>['length'] extends 3\n ? Curry3<Fn>\n : Parameters<Fn>['length'] extends 4\n ? Curry4<Fn>\n : Parameters<Fn>['length'] extends 5\n ? Curry5<Fn>\n : CurryVariadic<Fn>;\n\ntype Curried<Fn extends (...args: any[]) => any> = CurryByArity<Fn>;\n\nfunction curry<Fn extends (...args: any[]) => any>(fn: Fn): Curried<Fn>;\n\n// Implementation\nfunction curry(fn: (...args: any[]) => any, ...args: any[]): any {\n const curried = (accumulated: any[]) => {\n return accumulated.length >= fn.length\n ? fn(...accumulated)\n : (...nextArgs: any[]) => curried([...accumulated, ...nextArgs]);\n };\n\n return args.length === 0 ? curried([]) : curried(args);\n}\n\nexport default curry;\n"],"names":["curry","fn","args","curried","accumulated","nextArgs"],"mappings":"AA4DA,SAASA,EAAMC,MAAgCC,GAAkB;AAC/D,QAAMC,IAAU,CAACC,MACRA,EAAY,UAAUH,EAAG,SAC5BA,EAAG,GAAGG,CAAW,IACjB,IAAIC,MAAoBF,EAAQ,CAAC,GAAGC,GAAa,GAAGC,CAAQ,CAAC;AAGnE,SAAOH,EAAK,WAAW,IAAIC,EAAQ,EAAE,IAAIA,EAAQD,CAAI;AACvD;"}
1
+ {"version":3,"file":"curry.mjs","sources":["../../../src/implement/composition/curry.ts"],"sourcesContent":["/**\n * Curry function with stable TypeScript types.\n * Supports functions with 2-5 parameters and keeps data-last call order.\n */\n\nexport type Curry2<Fn> = Fn extends (a: infer A, b: infer B) => infer R\n ? {\n (...args: [A]): (b: B) => R;\n (...args: [A, B]): R;\n }\n : never;\n\nexport type Curry3<Fn> = Fn extends (a: infer A, b: infer B, c: infer C) => infer R\n ? {\n (...args: [A]): (b: B) => (c: C) => R;\n (...args: [A, B]): (c: C) => R;\n (...args: [A, B, C]): R;\n }\n : never;\n\nexport type Curry4<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D) => infer R\n ? {\n (...args: [A]): (b: B) => (c: C) => (d: D) => R;\n (...args: [A, B]): (c: C) => (d: D) => R;\n (...args: [A, B, C]): (d: D) => R;\n (...args: [A, B, C, D]): R;\n }\n : never;\n\nexport type Curry5<Fn> = Fn extends (a: infer A, b: infer B, c: infer C, d: infer D, e: infer E) => infer R\n ? {\n (...args: [A]): (b: B) => (c: C) => (d: D) => (e: E) => R;\n (...args: [A, B]): (c: C) => (d: D) => (e: E) => R;\n (...args: [A, B, C]): (d: D) => (e: E) => R;\n (...args: [A, B, C, D]): (e: E) => R;\n (...args: [A, B, C, D, E]): R;\n }\n : never;\n\ntype CurryVariadic<Fn extends (...args: any[]) => any> = Fn extends (...args: infer P) => infer R\n ? <T extends any[]>(\n ...args: T\n ) => T extends P ? R : P extends [...T, ...infer Rest] ? CurryVariadic<(...args: Rest) => R> : never\n : never;\n\ntype CurryByArity<Fn extends (...args: any[]) => any> = Parameters<Fn>['length'] extends 2\n ? Curry2<Fn>\n : Parameters<Fn>['length'] extends 3\n ? Curry3<Fn>\n : Parameters<Fn>['length'] extends 4\n ? Curry4<Fn>\n : Parameters<Fn>['length'] extends 5\n ? Curry5<Fn>\n : CurryVariadic<Fn>;\n\nexport type Curried<Fn extends (...args: any[]) => any> = CurryByArity<Fn>;\n\nfunction curry<Fn extends (...args: any[]) => any>(fn: Fn): Curried<Fn>;\n\n// Implementation\nfunction curry(fn: (...args: any[]) => any, ...args: any[]): any {\n const curried = (accumulated: any[]) => {\n return accumulated.length >= fn.length\n ? fn(...accumulated)\n : (...nextArgs: any[]) => curried([...accumulated, ...nextArgs]);\n };\n\n return args.length === 0 ? curried([]) : curried(args);\n}\n\nexport default curry;\n"],"names":["curry","fn","args","curried","accumulated","nextArgs"],"mappings":"AA4DA,SAASA,EAAMC,MAAgCC,GAAkB;AAC/D,QAAMC,IAAU,CAACC,MACRA,EAAY,UAAUH,EAAG,SAC5BA,EAAG,GAAGG,CAAW,IACjB,IAAIC,MAAoBF,EAAQ,CAAC,GAAGC,GAAa,GAAGC,CAAQ,CAAC;AAGnE,SAAOH,EAAK,WAAW,IAAIC,EAAQ,EAAE,IAAIA,EAAQD,CAAI;AACvD;"}
@@ -3,16 +3,19 @@ export { default as pipeSideEffect } from './pipeSideEffect';
3
3
  export { default as pipeSideEffectStrict } from './pipeSideEffectStrict';
4
4
  export { default as compose } from './compose';
5
5
  export { default as curry } from './curry';
6
+ export type { Curried, Curry2, Curry3, Curry4, Curry5 } from './curry';
6
7
  export { default as partial } from './partial';
7
8
  export { default as flip } from './flip';
8
9
  export { default as complement } from './complement';
9
10
  export { default as identity } from './identity';
10
11
  export { default as constant } from './constant';
11
12
  export { default as from } from './from';
13
+ export type { FromFn } from './from';
12
14
  export { default as tap } from './tap';
13
15
  export { default as once } from './once';
14
16
  export { default as memoize } from './memoize';
15
17
  export { default as SideEffect } from './sideEffect';
16
18
  export { SideEffect as SideEffectClass } from './sideEffect';
17
19
  export { isSideEffect, matchSideEffect, runPipeResult } from './sideEffect';
20
+ export type { MatchHandlers } from './sideEffect';
18
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5E,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -1,8 +1,10 @@
1
+ import { FromFn } from './from';
1
2
  type UnaryFn<A, R> = (a: A) => R;
2
3
  type ZeroFn<R> = () => R;
3
4
  type PipeInput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<infer A, any>, ...UnaryFn<any, any>[]] ? A : never;
4
5
  type PipeOutput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>] ? R : Fns extends [UnaryFn<any, infer R>, ...infer Rest] ? Rest extends [UnaryFn<R, any>, ...UnaryFn<any, any>[]] ? PipeOutput<Rest> : never : never;
5
6
  type Pipe<Fns extends UnaryFn<any, any>[]> = (input: PipeInput<Fns>) => PipeOutput<Fns>;
7
+ type PipeFrom<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]> = (input?: PipeInput<Fns>) => PipeOutput<Fns>;
6
8
  declare function pipe<R>(ab: ZeroFn<R>): () => R;
7
9
  declare function pipe<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => R;
8
10
  declare function pipe<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => R;
@@ -13,6 +15,7 @@ declare function pipe<B, C, D, E, F, G, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd:
13
15
  declare function pipe<B, C, D, E, F, G, H, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, R>): () => R;
14
16
  declare function pipe<B, C, D, E, F, G, H, I, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, I>, ij: UnaryFn<I, R>): () => R;
15
17
  declare function pipe<B, C, D, E, F, G, H, I, J, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, I>, ij: UnaryFn<I, J>, jk: UnaryFn<J, R>): () => R;
18
+ declare function pipe<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeFrom<Fns>;
16
19
  declare function pipe<A, R>(ab: UnaryFn<A, R>): (a: A) => R;
17
20
  declare function pipe<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A) => R;
18
21
  declare function pipe<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): (a: A) => R;
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipe.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.mjs","sources":["../../../src/implement/composition/pipe.ts"],"sourcesContent":["type UnaryFn<A, R> = (a: A) => R;\ntype ZeroFn<R> = () => R;\ntype PipeInput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<infer A, any>, ...UnaryFn<any, any>[]]\n ? A\n : never;\ntype PipeOutput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>]\n ? R\n : Fns extends [UnaryFn<any, infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<R, any>, ...UnaryFn<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype Pipe<Fns extends UnaryFn<any, any>[]> = (input: PipeInput<Fns>) => PipeOutput<Fns>;\n\nfunction pipe<R>(ab: ZeroFn<R>): () => R;\nfunction pipe<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => R;\nfunction pipe<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => R;\nfunction pipe<B, C, D, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, R>): () => R;\nfunction pipe<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): () => R;\nfunction pipe<B, C, D, E, F, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, R>\n): () => R;\nfunction pipe<B, C, D, E, F, G, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, R>\n): () => R;\nfunction pipe<B, C, D, E, F, G, H, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, R>\n): () => R;\nfunction pipe<B, C, D, E, F, G, H, I, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, R>\n): () => R;\nfunction pipe<B, C, D, E, F, G, H, I, J, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, J>,\n jk: UnaryFn<J, R>\n): () => R;\nfunction pipe<A, R>(ab: UnaryFn<A, R>): (a: A) => R;\nfunction pipe<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A) => R;\nfunction pipe<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): (a: A) => R;\nfunction pipe<A, B, C, D, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, G, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, G, H, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, G, H, I, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, G, H, I, J, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, J>,\n jk: UnaryFn<J, R>\n): (a: A) => R;\n\nfunction pipe<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): Pipe<Fns>;\nfunction pipe(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;\nfunction pipe(...funcs: Array<(input: any) => any>) {\n return (init: any) => {\n return funcs.reduce((acc, fn) => fn(acc), init);\n };\n}\n\nexport default pipe;\n"],"names":["pipe","funcs","init","acc","fn"],"mappings":"AAgJA,SAASA,KAAQC,GAAmC;AAClD,SAAO,CAACC,MACCD,EAAM,OAAO,CAACE,GAAKC,MAAOA,EAAGD,CAAG,GAAGD,CAAI;AAElD;"}
1
+ {"version":3,"file":"pipe.mjs","sources":["../../../src/implement/composition/pipe.ts"],"sourcesContent":["import type { FromFn } from './from';\n\ntype UnaryFn<A, R> = (a: A) => R;\ntype ZeroFn<R> = () => R;\ntype PipeInput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<infer A, any>, ...UnaryFn<any, any>[]]\n ? A\n : never;\ntype PipeOutput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>]\n ? R\n : Fns extends [UnaryFn<any, infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<R, any>, ...UnaryFn<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype Pipe<Fns extends UnaryFn<any, any>[]> = (input: PipeInput<Fns>) => PipeOutput<Fns>;\ntype PipeFrom<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]> = (input?: PipeInput<Fns>) => PipeOutput<Fns>;\n\nfunction pipe<R>(ab: ZeroFn<R>): () => R;\nfunction pipe<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => R;\nfunction pipe<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => R;\nfunction pipe<B, C, D, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, R>): () => R;\nfunction pipe<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): () => R;\nfunction pipe<B, C, D, E, F, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, R>\n): () => R;\nfunction pipe<B, C, D, E, F, G, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, R>\n): () => R;\nfunction pipe<B, C, D, E, F, G, H, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, R>\n): () => R;\nfunction pipe<B, C, D, E, F, G, H, I, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, R>\n): () => R;\nfunction pipe<B, C, D, E, F, G, H, I, J, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, J>,\n jk: UnaryFn<J, R>\n): () => R;\nfunction pipe<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeFrom<Fns>;\nfunction pipe<A, R>(ab: UnaryFn<A, R>): (a: A) => R;\nfunction pipe<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A) => R;\nfunction pipe<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): (a: A) => R;\nfunction pipe<A, B, C, D, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, G, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, G, H, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, G, H, I, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, G, H, I, J, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, J>,\n jk: UnaryFn<J, R>\n): (a: A) => R;\n\nfunction pipe<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): Pipe<Fns>;\nfunction pipe(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;\nfunction pipe(...funcs: Array<(input: any) => any>) {\n return (init: any) => {\n return funcs.reduce((acc, fn) => fn(acc), init);\n };\n}\n\nexport default pipe;\n"],"names":["pipe","funcs","init","acc","fn"],"mappings":"AAoJA,SAASA,KAAQC,GAAmC;AAClD,SAAO,CAACC,MACCD,EAAM,OAAO,CAACE,GAAKC,MAAOA,EAAGD,CAAG,GAAGD,CAAI;AAElD;"}
@@ -13,10 +13,13 @@ export type PipePureSixIsStrict = Expect<Equal<typeof purePipeSix, PurePipeSixEx
13
13
  export declare const purePipeTen: (a: number) => string;
14
14
  type PurePipeTenExpected = (input: number) => string;
15
15
  export type PipePureTenIsStrict = Expect<Equal<typeof purePipeTen, PurePipeTenExpected>>;
16
- export declare const pipeFromTen: (a: unknown) => string;
16
+ export declare const pipeFromTen: (input?: unknown) => string;
17
17
  export declare const pipeFromTenValue: string;
18
18
  type PipeFromTenValueExpected = string;
19
19
  export type PipeFromTenValueIsStrict = Expect<Equal<typeof pipeFromTenValue, PipeFromTenValueExpected>>;
20
+ export declare const pipeFromTenValueNoInput: string;
21
+ type PipeFromTenValueNoInputExpected = string;
22
+ export type PipeFromTenValueNoInputIsStrict = Expect<Equal<typeof pipeFromTenValueNoInput, PipeFromTenValueNoInputExpected>>;
20
23
  export declare const pipeWithSideEffectInput: (a: number | SideEffect<any>) => string | SideEffect<any>;
21
24
  export declare const pipeWithSideEffectValue: string | SideEffect<any>;
22
25
  type PipeExpected = (input: number | SideEffect<any>) => string | SideEffect<any>;
@@ -78,6 +81,9 @@ export type PipeSideEffectStrictEffects = Expect<Equal<StrictSideEffectEffects,
78
81
  type StrictSideEffectValue = ValueUnion<typeof strictPipeSideEffectResult>;
79
82
  type StrictSideEffectValueExpected = number;
80
83
  export type PipeSideEffectStrictValue = Expect<Equal<StrictSideEffectValue, StrictSideEffectValueExpected>>;
84
+ export declare const strictPipeSideEffectRunResult: number | "LOW";
85
+ type StrictPipeSideEffectRunExpected = ValueUnion<typeof strictPipeSideEffectResult> | EffectUnion<typeof strictPipeSideEffectResult>;
86
+ export type PipeSideEffectStrictRunPipeResultIsStrict = Expect<Equal<typeof strictPipeSideEffectRunResult, StrictPipeSideEffectRunExpected>>;
81
87
  export declare const strictPipeSideEffectInput: number | SideEffect<0 | "LOW" | "INPUT">;
82
88
  type StrictSideEffectInputEffects = EffectUnion<typeof strictPipeSideEffectInput>;
83
89
  type StrictSideEffectInputEffectsExpected = 'LOW' | 0 | 'INPUT';
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.type-test.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipe.type-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipe.type-test.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipe.type-test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class SideEffect<T = unknown> {
7
7
  constructor(effect: () => T, label?: string);
8
8
  static of<T>(effect: () => T, label?: string): SideEffect<T>;
9
9
  }
10
- type MatchHandlers<T, RValue, REffect> = {
10
+ export type MatchHandlers<T, RValue, REffect> = {
11
11
  value: (value: T) => RValue;
12
12
  effect: (sideEffect: SideEffect) => REffect;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sideEffect.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/sideEffect.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,UAAU,CAAC,CAAC,GAAG,OAAO;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM;IAK3C,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;CAG7D;AAED,KAAK,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,IAAI;IACvC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC;CAC7C,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,EACtD,MAAM,EAAE,CAAC,GAAG,UAAU,EACtB,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAC1C,MAAM,GAAG,OAAO,CAKlB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,GAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAKxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,CAErE;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"sideEffect.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/sideEffect.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,UAAU,CAAC,CAAC,GAAG,OAAO;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM;IAK3C,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;CAG7D;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,IAAI;IAC9C,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC;CAC7C,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,EACtD,MAAM,EAAE,CAAC,GAAG,UAAU,EACtB,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAC1C,MAAM,GAAG,OAAO,CAKlB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,GAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAKxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,CAErE;AAED,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sideEffect.mjs","sources":["../../../src/implement/composition/sideEffect.ts"],"sourcesContent":["/**\n * SideEffect - side effect container (never auto-executed)\n */\nexport class SideEffect<T = unknown> {\n readonly effect: () => T;\n readonly label?: string;\n\n constructor(effect: () => T, label?: string) {\n this.effect = effect;\n this.label = label;\n }\n\n static of<T>(effect: () => T, label?: string): SideEffect<T> {\n return new SideEffect(effect, label);\n }\n}\n\ntype MatchHandlers<T, RValue, REffect> = {\n value: (value: T) => RValue;\n effect: (sideEffect: SideEffect) => REffect;\n};\n\nexport function matchSideEffect<T, RValue, REffect = any>(\n result: T | SideEffect,\n handlers: MatchHandlers<T, RValue, REffect>\n): RValue | REffect {\n if (result instanceof SideEffect) {\n return handlers.effect(result);\n }\n return handlers.value(result as T);\n}\n\nexport function runPipeResult<T, R=any>(result: T | SideEffect<R>): T | R {\n if (isSideEffect(result)) {\n return result.effect() as R;\n }\n return result as T;\n}\n\nexport function isSideEffect(value: unknown): value is SideEffect<any> {\n return value instanceof SideEffect;\n}\n\nexport default SideEffect;\n"],"names":["SideEffect","effect","label","matchSideEffect","result","handlers","runPipeResult","isSideEffect","value"],"mappings":"AAGO,MAAMA,EAAwB;AAAA,EAC1B;AAAA,EACA;AAAA,EAET,YAAYC,GAAiBC,GAAgB;AAC3C,SAAK,SAASD,GACd,KAAK,QAAQC;AAAA,EACf;AAAA,EAEA,OAAO,GAAMD,GAAiBC,GAA+B;AAC3D,WAAO,IAAIF,EAAWC,GAAQC,CAAK;AAAA,EACrC;AACF;AAOO,SAASC,EACdC,GACAC,GACkB;AAClB,SAAID,aAAkBJ,IACbK,EAAS,OAAOD,CAAM,IAExBC,EAAS,MAAMD,CAAW;AACnC;AAEO,SAASE,EAAwBF,GAAkC;AACxE,SAAIG,EAAaH,CAAM,IACdA,EAAO,OAAA,IAETA;AACT;AAEO,SAASG,EAAaC,GAA0C;AACrE,SAAOA,aAAiBR;AAC1B;"}
1
+ {"version":3,"file":"sideEffect.mjs","sources":["../../../src/implement/composition/sideEffect.ts"],"sourcesContent":["/**\n * SideEffect - side effect container (never auto-executed)\n */\nexport class SideEffect<T = unknown> {\n readonly effect: () => T;\n readonly label?: string;\n\n constructor(effect: () => T, label?: string) {\n this.effect = effect;\n this.label = label;\n }\n\n static of<T>(effect: () => T, label?: string): SideEffect<T> {\n return new SideEffect(effect, label);\n }\n}\n\nexport type MatchHandlers<T, RValue, REffect> = {\n value: (value: T) => RValue;\n effect: (sideEffect: SideEffect) => REffect;\n};\n\nexport function matchSideEffect<T, RValue, REffect = any>(\n result: T | SideEffect,\n handlers: MatchHandlers<T, RValue, REffect>\n): RValue | REffect {\n if (result instanceof SideEffect) {\n return handlers.effect(result);\n }\n return handlers.value(result as T);\n}\n\nexport function runPipeResult<T, R=any>(result: T | SideEffect<R>): T | R {\n if (isSideEffect(result)) {\n return result.effect() as R;\n }\n return result as T;\n}\n\nexport function isSideEffect(value: unknown): value is SideEffect<any> {\n return value instanceof SideEffect;\n}\n\nexport default SideEffect;\n"],"names":["SideEffect","effect","label","matchSideEffect","result","handlers","runPipeResult","isSideEffect","value"],"mappings":"AAGO,MAAMA,EAAwB;AAAA,EAC1B;AAAA,EACA;AAAA,EAET,YAAYC,GAAiBC,GAAgB;AAC3C,SAAK,SAASD,GACd,KAAK,QAAQC;AAAA,EACf;AAAA,EAEA,OAAO,GAAMD,GAAiBC,GAA+B;AAC3D,WAAO,IAAIF,EAAWC,GAAQC,CAAK;AAAA,EACrC;AACF;AAOO,SAASC,EACdC,GACAC,GACkB;AAClB,SAAID,aAAkBJ,IACbK,EAAS,OAAOD,CAAM,IAExBC,EAAS,MAAMD,CAAW;AACnC;AAEO,SAASE,EAAwBF,GAAkC;AACxE,SAAIG,EAAaH,CAAM,IACdA,EAAO,OAAA,IAETA;AACT;AAEO,SAASG,EAAaC,GAA0C;AACrE,SAAOA,aAAiBR;AAC1B;"}
@@ -1,4 +1,4 @@
1
- type PathKey = string | number | symbol;
1
+ import { PathKey } from './pathKey';
2
2
  type AssocPath = {
3
3
  <T = unknown>(...args: [pathArray: PathKey[]]): (value: unknown) => (obj: unknown) => T;
4
4
  <T = unknown>(...args: [pathArray: PathKey[], value: unknown]): (obj: unknown) => T;
@@ -6,4 +6,5 @@ type AssocPath = {
6
6
  };
7
7
  declare const curriedAssocPath: AssocPath;
8
8
  export default curriedAssocPath;
9
+ export type { PathKey };
9
10
  //# sourceMappingURL=assocPath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assocPath.d.ts","sourceRoot":"","sources":["../../../src/implement/object/assocPath.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AA0BxC,KAAK,SAAS,GAAG;IACf,CAAC,CAAC,GAAG,OAAO,EACV,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,GAC9B,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC;IACpF,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACjF,CAAC;AA4BF,QAAA,MAAM,gBAAgB,EAAuB,SAAS,CAAC;AACvD,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"assocPath.d.ts","sourceRoot":"","sources":["../../../src/implement/object/assocPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,KAAK,SAAS,GAAG;IACf,CAAC,CAAC,GAAG,OAAO,EACV,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,GAC9B,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC;IACpF,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACjF,CAAC;AA4BF,QAAA,MAAM,gBAAgB,EAAuB,SAAS,CAAC;AACvD,eAAe,gBAAgB,CAAC;AAChC,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"assocPath.mjs","sources":["../../../src/implement/object/assocPath.ts"],"sourcesContent":["import curry from '../composition/curry';\n\ntype PathKey = string | number | symbol;\n\nconst isIndexKey = (key: PathKey): key is number | `${number}` => {\n if (typeof key === 'number') {\n return Number.isInteger(key);\n }\n if (typeof key === 'string') {\n return /^-?\\d+$/.test(key);\n }\n return false;\n};\n\nconst normalizeIndex = (key: number | `${number}`, length: number) => {\n const raw = typeof key === 'number' ? key : Number(key);\n if (Number.isNaN(raw)) {\n return -1;\n }\n if (raw < 0) {\n return Math.max(length + raw, 0);\n }\n return raw;\n};\n\nconst isObjectLike = (value: unknown): value is Record<PropertyKey, unknown> =>\n value !== null && typeof value === 'object';\n\ntype AssocPath = {\n <T = unknown>(\n ...args: [pathArray: PathKey[]]\n ): (value: unknown) => (obj: unknown) => T;\n <T = unknown>(...args: [pathArray: PathKey[], value: unknown]): (obj: unknown) => T;\n <T = unknown>(...args: [pathArray: PathKey[], value: unknown, obj: unknown]): T;\n};\n\n/**\n * assocPath - 경로 기반 값 설정 (불변)\n */\nfunction assocPath<T = unknown>(pathArray: PathKey[], value: unknown, obj: unknown): T {\n if (pathArray.length === 0) {\n return value as T;\n }\n\n const [key, ...rest] = pathArray;\n const useArray = isIndexKey(key);\n const base = Array.isArray(obj) ? obj.slice() : isObjectLike(obj) ? { ...(obj as object) } : useArray ? [] : {};\n\n if (Array.isArray(base) && isIndexKey(key)) {\n const index = normalizeIndex(key, base.length);\n const current = (base as unknown[])[index];\n const nextValue = rest.length === 0 ? value : assocPath(rest, value, current);\n (base as unknown[])[index] = nextValue;\n return base as T;\n }\n\n const current = isObjectLike(base) ? (base as Record<PropertyKey, unknown>)[key] : undefined;\n const nextValue = rest.length === 0 ? value : assocPath(rest, value, current);\n (base as Record<PropertyKey, unknown>)[key] = nextValue;\n return base as T;\n}\n\nconst curriedAssocPath = curry(assocPath) as AssocPath;\nexport default curriedAssocPath;\n"],"names":["isIndexKey","key","normalizeIndex","length","raw","isObjectLike","value","assocPath","pathArray","obj","rest","useArray","base","index","current","nextValue","curriedAssocPath","curry"],"mappings":";AAIA,MAAMA,IAAa,CAACC,MACd,OAAOA,KAAQ,WACV,OAAO,UAAUA,CAAG,IAEzB,OAAOA,KAAQ,WACV,UAAU,KAAKA,CAAG,IAEpB,IAGHC,IAAiB,CAACD,GAA2BE,MAAmB;AACpE,QAAMC,IAAM,OAAOH,KAAQ,WAAWA,IAAM,OAAOA,CAAG;AACtD,SAAI,OAAO,MAAMG,CAAG,IACX,KAELA,IAAM,IACD,KAAK,IAAID,IAASC,GAAK,CAAC,IAE1BA;AACT,GAEMC,IAAe,CAACC,MACpBA,MAAU,QAAQ,OAAOA,KAAU;AAarC,SAASC,EAAuBC,GAAsBF,GAAgBG,GAAiB;AACrF,MAAID,EAAU,WAAW;AACvB,WAAOF;AAGT,QAAM,CAACL,GAAK,GAAGS,CAAI,IAAIF,GACjBG,IAAWX,EAAWC,CAAG,GACzBW,IAAO,MAAM,QAAQH,CAAG,IAAIA,EAAI,UAAUJ,EAAaI,CAAG,IAAI,EAAE,GAAIA,EAAA,IAAmBE,IAAW,CAAA,IAAK,CAAA;AAE7G,MAAI,MAAM,QAAQC,CAAI,KAAKZ,EAAWC,CAAG,GAAG;AAC1C,UAAMY,IAAQX,EAAeD,GAAKW,EAAK,MAAM,GACvCE,IAAWF,EAAmBC,CAAK,GACnCE,IAAYL,EAAK,WAAW,IAAIJ,IAAQC,EAAUG,GAAMJ,GAAOQ,CAAO;AAC3E,WAAAF,EAAmBC,CAAK,IAAIE,GACtBH;AAAA,EACT;AAEA,QAAME,IAAUT,EAAaO,CAAI,IAAKA,EAAsCX,CAAG,IAAI,QAC7Ec,IAAYL,EAAK,WAAW,IAAIJ,IAAQC,EAAUG,GAAMJ,GAAOQ,CAAO;AAC3E,SAAAF,EAAsCX,CAAG,IAAIc,GACvCH;AACT;AAEA,MAAMI,IAAmBC,EAAMV,CAAS;"}
1
+ {"version":3,"file":"assocPath.mjs","sources":["../../../src/implement/object/assocPath.ts"],"sourcesContent":["import curry from '../composition/curry';\nimport type { PathKey } from './pathKey';\n\nconst isIndexKey = (key: PathKey): key is number | `${number}` => {\n if (typeof key === 'number') {\n return Number.isInteger(key);\n }\n if (typeof key === 'string') {\n return /^-?\\d+$/.test(key);\n }\n return false;\n};\n\nconst normalizeIndex = (key: number | `${number}`, length: number) => {\n const raw = typeof key === 'number' ? key : Number(key);\n if (Number.isNaN(raw)) {\n return -1;\n }\n if (raw < 0) {\n return Math.max(length + raw, 0);\n }\n return raw;\n};\n\nconst isObjectLike = (value: unknown): value is Record<PropertyKey, unknown> =>\n value !== null && typeof value === 'object';\n\ntype AssocPath = {\n <T = unknown>(\n ...args: [pathArray: PathKey[]]\n ): (value: unknown) => (obj: unknown) => T;\n <T = unknown>(...args: [pathArray: PathKey[], value: unknown]): (obj: unknown) => T;\n <T = unknown>(...args: [pathArray: PathKey[], value: unknown, obj: unknown]): T;\n};\n\n/**\n * assocPath - 경로 기반 값 설정 (불변)\n */\nfunction assocPath<T = unknown>(pathArray: PathKey[], value: unknown, obj: unknown): T {\n if (pathArray.length === 0) {\n return value as T;\n }\n\n const [key, ...rest] = pathArray;\n const useArray = isIndexKey(key);\n const base = Array.isArray(obj) ? obj.slice() : isObjectLike(obj) ? { ...(obj as object) } : useArray ? [] : {};\n\n if (Array.isArray(base) && isIndexKey(key)) {\n const index = normalizeIndex(key, base.length);\n const current = (base as unknown[])[index];\n const nextValue = rest.length === 0 ? value : assocPath(rest, value, current);\n (base as unknown[])[index] = nextValue;\n return base as T;\n }\n\n const current = isObjectLike(base) ? (base as Record<PropertyKey, unknown>)[key] : undefined;\n const nextValue = rest.length === 0 ? value : assocPath(rest, value, current);\n (base as Record<PropertyKey, unknown>)[key] = nextValue;\n return base as T;\n}\n\nconst curriedAssocPath = curry(assocPath) as AssocPath;\nexport default curriedAssocPath;\nexport type { PathKey };\n"],"names":["isIndexKey","key","normalizeIndex","length","raw","isObjectLike","value","assocPath","pathArray","obj","rest","useArray","base","index","current","nextValue","curriedAssocPath","curry"],"mappings":";AAGA,MAAMA,IAAa,CAACC,MACd,OAAOA,KAAQ,WACV,OAAO,UAAUA,CAAG,IAEzB,OAAOA,KAAQ,WACV,UAAU,KAAKA,CAAG,IAEpB,IAGHC,IAAiB,CAACD,GAA2BE,MAAmB;AACpE,QAAMC,IAAM,OAAOH,KAAQ,WAAWA,IAAM,OAAOA,CAAG;AACtD,SAAI,OAAO,MAAMG,CAAG,IACX,KAELA,IAAM,IACD,KAAK,IAAID,IAASC,GAAK,CAAC,IAE1BA;AACT,GAEMC,IAAe,CAACC,MACpBA,MAAU,QAAQ,OAAOA,KAAU;AAarC,SAASC,EAAuBC,GAAsBF,GAAgBG,GAAiB;AACrF,MAAID,EAAU,WAAW;AACvB,WAAOF;AAGT,QAAM,CAACL,GAAK,GAAGS,CAAI,IAAIF,GACjBG,IAAWX,EAAWC,CAAG,GACzBW,IAAO,MAAM,QAAQH,CAAG,IAAIA,EAAI,UAAUJ,EAAaI,CAAG,IAAI,EAAE,GAAIA,EAAA,IAAmBE,IAAW,CAAA,IAAK,CAAA;AAE7G,MAAI,MAAM,QAAQC,CAAI,KAAKZ,EAAWC,CAAG,GAAG;AAC1C,UAAMY,IAAQX,EAAeD,GAAKW,EAAK,MAAM,GACvCE,IAAWF,EAAmBC,CAAK,GACnCE,IAAYL,EAAK,WAAW,IAAIJ,IAAQC,EAAUG,GAAMJ,GAAOQ,CAAO;AAC3E,WAAAF,EAAmBC,CAAK,IAAIE,GACtBH;AAAA,EACT;AAEA,QAAME,IAAUT,EAAaO,CAAI,IAAKA,EAAsCX,CAAG,IAAI,QAC7Ec,IAAYL,EAAK,WAAW,IAAIJ,IAAQC,EAAUG,GAAMJ,GAAOQ,CAAO;AAC3E,SAAAF,EAAsCX,CAAG,IAAIc,GACvCH;AACT;AAEA,MAAMI,IAAmBC,EAAMV,CAAS;"}
@@ -1,8 +1,9 @@
1
- type PathKey = string | number | symbol;
1
+ import { PathKey } from './pathKey';
2
2
  type DissocPath = {
3
3
  <T = unknown>(...args: [pathArray: PathKey[]]): (obj: T) => T;
4
4
  <T = unknown>(...args: [pathArray: PathKey[], obj: T]): T;
5
5
  };
6
6
  declare const curriedDissocPath: DissocPath;
7
7
  export default curriedDissocPath;
8
+ export type { PathKey };
8
9
  //# sourceMappingURL=dissocPath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dissocPath.d.ts","sourceRoot":"","sources":["../../../src/implement/object/dissocPath.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AA0BxC,KAAK,UAAU,GAAG;IAChB,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3D,CAAC;AA+CF,QAAA,MAAM,iBAAiB,EAAwB,UAAU,CAAC;AAC1D,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"dissocPath.d.ts","sourceRoot":"","sources":["../../../src/implement/object/dissocPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,KAAK,UAAU,GAAG;IAChB,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3D,CAAC;AA+CF,QAAA,MAAM,iBAAiB,EAAwB,UAAU,CAAC;AAC1D,eAAe,iBAAiB,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dissocPath.mjs","sources":["../../../src/implement/object/dissocPath.ts"],"sourcesContent":["import curry from '../composition/curry';\n\ntype PathKey = string | number | symbol;\n\nconst isIndexKey = (key: PathKey): key is number | `${number}` => {\n if (typeof key === 'number') {\n return Number.isInteger(key);\n }\n if (typeof key === 'string') {\n return /^-?\\d+$/.test(key);\n }\n return false;\n};\n\nconst normalizeIndex = (key: number | `${number}`, length: number) => {\n const raw = typeof key === 'number' ? key : Number(key);\n if (Number.isNaN(raw)) {\n return -1;\n }\n if (raw < 0) {\n return length + raw;\n }\n return raw;\n};\n\nconst isObjectLike = (value: unknown): value is Record<PropertyKey, unknown> =>\n value !== null && typeof value === 'object';\n\ntype DissocPath = {\n <T = unknown>(...args: [pathArray: PathKey[]]): (obj: T) => T;\n <T = unknown>(...args: [pathArray: PathKey[], obj: T]): T;\n};\n\n/**\n * dissocPath - 경로 기반 값 제거 (불변)\n */\nfunction dissocPath<T = unknown>(pathArray: PathKey[], obj: T): T {\n if (pathArray.length === 0) {\n return obj;\n }\n\n if (!isObjectLike(obj)) {\n return obj;\n }\n\n const [key, ...rest] = pathArray;\n\n if (Array.isArray(obj) && isIndexKey(key)) {\n const index = normalizeIndex(key, obj.length);\n if (index < 0 || index >= obj.length) {\n return obj;\n }\n\n const result = obj.slice();\n if (rest.length === 0) {\n result.splice(index, 1);\n return result as unknown as T;\n }\n\n const nextValue = dissocPath(rest, result[index]);\n result[index] = nextValue;\n return result as unknown as T;\n }\n\n if (!Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj;\n }\n\n if (rest.length === 0) {\n const { [key]: _removed, ...restObj } = obj as Record<PropertyKey, unknown>;\n return restObj as T;\n }\n\n const result = { ...(obj as object) } as Record<PropertyKey, unknown>;\n result[key] = dissocPath(rest, result[key]);\n return result as T;\n}\n\nconst curriedDissocPath = curry(dissocPath) as DissocPath;\nexport default curriedDissocPath;\n"],"names":["isIndexKey","key","normalizeIndex","length","raw","isObjectLike","value","dissocPath","pathArray","obj","rest","index","result","nextValue","_removed","restObj","curriedDissocPath","curry"],"mappings":";AAIA,MAAMA,IAAa,CAACC,MACd,OAAOA,KAAQ,WACV,OAAO,UAAUA,CAAG,IAEzB,OAAOA,KAAQ,WACV,UAAU,KAAKA,CAAG,IAEpB,IAGHC,IAAiB,CAACD,GAA2BE,MAAmB;AACpE,QAAMC,IAAM,OAAOH,KAAQ,WAAWA,IAAM,OAAOA,CAAG;AACtD,SAAI,OAAO,MAAMG,CAAG,IACX,KAELA,IAAM,IACDD,IAASC,IAEXA;AACT,GAEMC,IAAe,CAACC,MACpBA,MAAU,QAAQ,OAAOA,KAAU;AAUrC,SAASC,EAAwBC,GAAsBC,GAAW;AAKhE,MAJID,EAAU,WAAW,KAIrB,CAACH,EAAaI,CAAG;AACnB,WAAOA;AAGT,QAAM,CAACR,GAAK,GAAGS,CAAI,IAAIF;AAEvB,MAAI,MAAM,QAAQC,CAAG,KAAKT,EAAWC,CAAG,GAAG;AACzC,UAAMU,IAAQT,EAAeD,GAAKQ,EAAI,MAAM;AAC5C,QAAIE,IAAQ,KAAKA,KAASF,EAAI;AAC5B,aAAOA;AAGT,UAAMG,IAASH,EAAI,MAAA;AACnB,QAAIC,EAAK,WAAW;AAClBE,aAAAA,EAAO,OAAOD,GAAO,CAAC,GACfC;AAGT,UAAMC,IAAYN,EAAWG,GAAME,EAAOD,CAAK,CAAC;AAChDC,WAAAA,EAAOD,CAAK,IAAIE,GACTD;AAAAA,EACT;AAEA,MAAI,CAAC,OAAO,UAAU,eAAe,KAAKH,GAAKR,CAAG;AAChD,WAAOQ;AAGT,MAAIC,EAAK,WAAW,GAAG;AACrB,UAAM,EAAE,CAACT,CAAG,GAAGa,GAAU,GAAGC,MAAYN;AACxC,WAAOM;AAAA,EACT;AAEA,QAAMH,IAAS,EAAE,GAAIH,EAAA;AACrB,SAAAG,EAAOX,CAAG,IAAIM,EAAWG,GAAME,EAAOX,CAAG,CAAC,GACnCW;AACT;AAEA,MAAMI,IAAoBC,EAAMV,CAAU;"}
1
+ {"version":3,"file":"dissocPath.mjs","sources":["../../../src/implement/object/dissocPath.ts"],"sourcesContent":["import curry from '../composition/curry';\nimport type { PathKey } from './pathKey';\n\nconst isIndexKey = (key: PathKey): key is number | `${number}` => {\n if (typeof key === 'number') {\n return Number.isInteger(key);\n }\n if (typeof key === 'string') {\n return /^-?\\d+$/.test(key);\n }\n return false;\n};\n\nconst normalizeIndex = (key: number | `${number}`, length: number) => {\n const raw = typeof key === 'number' ? key : Number(key);\n if (Number.isNaN(raw)) {\n return -1;\n }\n if (raw < 0) {\n return length + raw;\n }\n return raw;\n};\n\nconst isObjectLike = (value: unknown): value is Record<PropertyKey, unknown> =>\n value !== null && typeof value === 'object';\n\ntype DissocPath = {\n <T = unknown>(...args: [pathArray: PathKey[]]): (obj: T) => T;\n <T = unknown>(...args: [pathArray: PathKey[], obj: T]): T;\n};\n\n/**\n * dissocPath - 경로 기반 값 제거 (불변)\n */\nfunction dissocPath<T = unknown>(pathArray: PathKey[], obj: T): T {\n if (pathArray.length === 0) {\n return obj;\n }\n\n if (!isObjectLike(obj)) {\n return obj;\n }\n\n const [key, ...rest] = pathArray;\n\n if (Array.isArray(obj) && isIndexKey(key)) {\n const index = normalizeIndex(key, obj.length);\n if (index < 0 || index >= obj.length) {\n return obj;\n }\n\n const result = obj.slice();\n if (rest.length === 0) {\n result.splice(index, 1);\n return result as unknown as T;\n }\n\n const nextValue = dissocPath(rest, result[index]);\n result[index] = nextValue;\n return result as unknown as T;\n }\n\n if (!Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj;\n }\n\n if (rest.length === 0) {\n const { [key]: _removed, ...restObj } = obj as Record<PropertyKey, unknown>;\n return restObj as T;\n }\n\n const result = { ...(obj as object) } as Record<PropertyKey, unknown>;\n result[key] = dissocPath(rest, result[key]);\n return result as T;\n}\n\nconst curriedDissocPath = curry(dissocPath) as DissocPath;\nexport default curriedDissocPath;\nexport type { PathKey };\n"],"names":["isIndexKey","key","normalizeIndex","length","raw","isObjectLike","value","dissocPath","pathArray","obj","rest","index","result","nextValue","_removed","restObj","curriedDissocPath","curry"],"mappings":";AAGA,MAAMA,IAAa,CAACC,MACd,OAAOA,KAAQ,WACV,OAAO,UAAUA,CAAG,IAEzB,OAAOA,KAAQ,WACV,UAAU,KAAKA,CAAG,IAEpB,IAGHC,IAAiB,CAACD,GAA2BE,MAAmB;AACpE,QAAMC,IAAM,OAAOH,KAAQ,WAAWA,IAAM,OAAOA,CAAG;AACtD,SAAI,OAAO,MAAMG,CAAG,IACX,KAELA,IAAM,IACDD,IAASC,IAEXA;AACT,GAEMC,IAAe,CAACC,MACpBA,MAAU,QAAQ,OAAOA,KAAU;AAUrC,SAASC,EAAwBC,GAAsBC,GAAW;AAKhE,MAJID,EAAU,WAAW,KAIrB,CAACH,EAAaI,CAAG;AACnB,WAAOA;AAGT,QAAM,CAACR,GAAK,GAAGS,CAAI,IAAIF;AAEvB,MAAI,MAAM,QAAQC,CAAG,KAAKT,EAAWC,CAAG,GAAG;AACzC,UAAMU,IAAQT,EAAeD,GAAKQ,EAAI,MAAM;AAC5C,QAAIE,IAAQ,KAAKA,KAASF,EAAI;AAC5B,aAAOA;AAGT,UAAMG,IAASH,EAAI,MAAA;AACnB,QAAIC,EAAK,WAAW;AAClBE,aAAAA,EAAO,OAAOD,GAAO,CAAC,GACfC;AAGT,UAAMC,IAAYN,EAAWG,GAAME,EAAOD,CAAK,CAAC;AAChDC,WAAAA,EAAOD,CAAK,IAAIE,GACTD;AAAAA,EACT;AAEA,MAAI,CAAC,OAAO,UAAU,eAAe,KAAKH,GAAKR,CAAG;AAChD,WAAOQ;AAGT,MAAIC,EAAK,WAAW,GAAG;AACrB,UAAM,EAAE,CAACT,CAAG,GAAGa,GAAU,GAAGC,MAAYN;AACxC,WAAOM;AAAA,EACT;AAEA,QAAMH,IAAS,EAAE,GAAIH,EAAA;AACrB,SAAAG,EAAOX,CAAG,IAAIM,EAAWG,GAAME,EAAOX,CAAG,CAAC,GACnCW;AACT;AAEA,MAAMI,IAAoBC,EAAMV,CAAU;"}
@@ -19,4 +19,5 @@ export { default as mapValues } from './mapValues';
19
19
  export { default as evolve } from './evolve';
20
20
  export { default as has } from './has';
21
21
  export { default as hasPath } from './hasPath';
22
+ export type { PathKey } from './pathKey';
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/implement/object/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/implement/object/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -1,7 +1,9 @@
1
+ import { PathKey } from './pathKey';
1
2
  type Path = {
2
- (pathArray: string[]): <T>(obj: any) => T | undefined;
3
- <T>(...args: [pathArray: string[], obj: any]): T | undefined;
3
+ (pathArray: PathKey[]): <T>(obj: any) => T | undefined;
4
+ <T>(...args: [pathArray: PathKey[], obj: any]): T | undefined;
4
5
  };
5
6
  declare const curriedPath: Path;
6
7
  export default curriedPath;
8
+ export type { PathKey };
7
9
  //# sourceMappingURL=path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/implement/object/path.ts"],"names":[],"mappings":"AAEA,KAAK,IAAI,GAAG;IACV,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC;IACtD,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;CAC9D,CAAC;AASF,QAAA,MAAM,WAAW,EAAkB,IAAI,CAAC;AACxC,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/implement/object/path.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,KAAK,IAAI,GAAG;IACV,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC;IACvD,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;CAC/D,CAAC;AASF,QAAA,MAAM,WAAW,EAAkB,IAAI,CAAC;AACxC,eAAe,WAAW,CAAC;AAC3B,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"path.mjs","sources":["../../../src/implement/object/path.ts"],"sourcesContent":["import curry from '../composition/curry';\n\ntype Path = {\n (pathArray: string[]): <T>(obj: any) => T | undefined;\n <T>(...args: [pathArray: string[], obj: any]): T | undefined;\n};\n\n/**\n * path - 안전한 깊은 프로퍼티 접근\n */\nfunction path<T>(pathArray: string[], obj: any): T | undefined {\n return pathArray.reduce((current, key) => (current == null ? undefined : current[key]), obj) as T | undefined;\n}\n\nconst curriedPath = curry(path) as Path;\nexport default curriedPath;\n"],"names":["path","pathArray","obj","current","key","curriedPath","curry"],"mappings":";AAUA,SAASA,EAAQC,GAAqBC,GAAyB;AAC7D,SAAOD,EAAU,OAAO,CAACE,GAASC,MAAuCD,IAAQC,CAAG,GAAIF,CAAG;AAC7F;AAEA,MAAMG,IAAcC,EAAMN,CAAI;"}
1
+ {"version":3,"file":"path.mjs","sources":["../../../src/implement/object/path.ts"],"sourcesContent":["import curry from '../composition/curry';\nimport type { PathKey } from './pathKey';\n\ntype Path = {\n (pathArray: PathKey[]): <T>(obj: any) => T | undefined;\n <T>(...args: [pathArray: PathKey[], obj: any]): T | undefined;\n};\n\n/**\n * path - 안전한 깊은 프로퍼티 접근\n */\nfunction path<T>(pathArray: PathKey[], obj: any): T | undefined {\n return pathArray.reduce((current, key) => (current == null ? undefined : current[key]), obj) as T | undefined;\n}\n\nconst curriedPath = curry(path) as Path;\nexport default curriedPath;\nexport type { PathKey };\n"],"names":["path","pathArray","obj","current","key","curriedPath","curry"],"mappings":";AAWA,SAASA,EAAQC,GAAsBC,GAAyB;AAC9D,SAAOD,EAAU,OAAO,CAACE,GAASC,MAAuCD,IAAQC,CAAG,GAAIF,CAAG;AAC7F;AAEA,MAAMG,IAAcC,EAAMN,CAAI;"}
@@ -0,0 +1,2 @@
1
+ export type PathKey = string | number | symbol;
2
+ //# sourceMappingURL=pathKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathKey.d.ts","sourceRoot":"","sources":["../../../src/implement/object/pathKey.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -1,8 +1,10 @@
1
+ import { PathKey } from './pathKey';
1
2
  type PathOr = {
2
- <D>(...args: [defaultValue: D]): <T>(pathArray: string[]) => (obj: any) => T | D;
3
- <D>(...args: [defaultValue: D, pathArray: string[]]): <T>(obj: any) => T | D;
4
- <T, D>(...args: [defaultValue: D, pathArray: string[], obj: any]): T | D;
3
+ <D>(...args: [defaultValue: D]): <T>(pathArray: PathKey[]) => (obj: any) => T | D;
4
+ <D>(...args: [defaultValue: D, pathArray: PathKey[]]): <T>(obj: any) => T | D;
5
+ <T, D>(...args: [defaultValue: D, pathArray: PathKey[], obj: any]): T | D;
5
6
  };
6
7
  declare const curriedPathOr: PathOr;
7
8
  export default curriedPathOr;
9
+ export type { PathKey };
8
10
  //# sourceMappingURL=pathOr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pathOr.d.ts","sourceRoot":"","sources":["../../../src/implement/object/pathOr.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG;IACZ,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC1E,CAAC;AAUF,QAAA,MAAM,aAAa,EAAoB,MAAM,CAAC;AAC9C,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"pathOr.d.ts","sourceRoot":"","sources":["../../../src/implement/object/pathOr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,KAAK,MAAM,GAAG;IACZ,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAClF,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC3E,CAAC;AAUF,QAAA,MAAM,aAAa,EAAoB,MAAM,CAAC;AAC9C,eAAe,aAAa,CAAC;AAC7B,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pathOr.mjs","sources":["../../../src/implement/object/pathOr.ts"],"sourcesContent":["import curry from '../composition/curry';\n\ntype PathOr = {\n <D>(...args: [defaultValue: D]): <T>(pathArray: string[]) => (obj: any) => T | D;\n <D>(...args: [defaultValue: D, pathArray: string[]]): <T>(obj: any) => T | D;\n <T, D>(...args: [defaultValue: D, pathArray: string[], obj: any]): T | D;\n};\n\n/**\n * pathOr - 기본값이 있는 깊은 프로퍼티 접근\n */\nfunction pathOr<T, D>(defaultValue: D, pathArray: string[], obj: any): T | D {\n const value = pathArray.reduce((current, key) => (current == null ? undefined : current[key]), obj) as T | undefined;\n return value == null ? defaultValue : value;\n}\n\nconst curriedPathOr = curry(pathOr) as PathOr;\nexport default curriedPathOr;\n"],"names":["pathOr","defaultValue","pathArray","obj","value","current","key","curriedPathOr","curry"],"mappings":";AAWA,SAASA,EAAaC,GAAiBC,GAAqBC,GAAiB;AAC3E,QAAMC,IAAQF,EAAU,OAAO,CAACG,GAASC,MAAuCD,IAAQC,CAAG,GAAIH,CAAG;AAClG,SAAOC,KAAgBH;AACzB;AAEA,MAAMM,IAAgBC,EAAMR,CAAM;"}
1
+ {"version":3,"file":"pathOr.mjs","sources":["../../../src/implement/object/pathOr.ts"],"sourcesContent":["import curry from '../composition/curry';\nimport type { PathKey } from './pathKey';\n\ntype PathOr = {\n <D>(...args: [defaultValue: D]): <T>(pathArray: PathKey[]) => (obj: any) => T | D;\n <D>(...args: [defaultValue: D, pathArray: PathKey[]]): <T>(obj: any) => T | D;\n <T, D>(...args: [defaultValue: D, pathArray: PathKey[], obj: any]): T | D;\n};\n\n/**\n * pathOr - 기본값이 있는 깊은 프로퍼티 접근\n */\nfunction pathOr<T, D>(defaultValue: D, pathArray: PathKey[], obj: any): T | D {\n const value = pathArray.reduce((current, key) => (current == null ? undefined : current[key]), obj) as T | undefined;\n return value == null ? defaultValue : value;\n}\n\nconst curriedPathOr = curry(pathOr) as PathOr;\nexport default curriedPathOr;\nexport type { PathKey };\n"],"names":["pathOr","defaultValue","pathArray","obj","value","current","key","curriedPathOr","curry"],"mappings":";AAYA,SAASA,EAAaC,GAAiBC,GAAsBC,GAAiB;AAC5E,QAAMC,IAAQF,EAAU,OAAO,CAACG,GAASC,MAAuCD,IAAQC,CAAG,GAAIH,CAAG;AAClG,SAAOC,KAAgBH;AACzB;AAEA,MAAMM,IAAgBC,EAAMR,CAAM;"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,5 @@ export * from './implement/string';
8
8
  export * from './implement/async';
9
9
  export * from './implement/nullable';
10
10
  export * from './implement/debug';
11
+ export type { AnyIterable, AnyIterableInput, PromiseLikeValue } from './stream/utils';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,CAAC;AAGxB,cAAc,yBAAyB,CAAC;AAGxC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,CAAC;AAGxB,cAAc,yBAAyB,CAAC;AAGxC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,mBAAmB,CAAC;AAGlC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -7,7 +7,7 @@ metadata:
7
7
 
8
8
  # fp-pack AI Agent Skills
9
9
 
10
- Document Version: 0.5.0
10
+ Document Version: 0.6.0
11
11
 
12
12
  This document provides guidelines for AI coding assistants when working in projects that use fp-pack. Follow these instructions to write clean, declarative, functional code using fp-pack's utilities.
13
13
 
@@ -129,7 +129,7 @@ const finalValue = runPipeResult(processDataPipeline(input));
129
129
  **Key SideEffect functions:**
130
130
  - `SideEffect.of(fn, label?)` - Create a side effect container
131
131
  - `isSideEffect(value)` - Type guard for **runtime checking** whether a value is a SideEffect
132
- - `runPipeResult<T, R>(result)` - Execute SideEffect or return value (call **OUTSIDE** pipelines, provide generics for type safety). **⚠️ CRITICAL:** `runPipeResult<T, R=any>` has default `R=any`, so using it without generics returns `any` type. Always provide generics for type safety
132
+ - `runPipeResult<T, R>(result)` - Execute SideEffect or return value (call **OUTSIDE** pipelines). If the input type is precise, inference is preserved. If the input is widened to `SideEffect<any>` or `any`, the result becomes `any` unless you provide generics.
133
133
  - `matchSideEffect(result, { value, effect })` - Pattern match on result
134
134
 
135
135
  **Type-safe result handling:**
@@ -147,32 +147,34 @@ const processNumbers = pipeSideEffect(
147
147
 
148
148
  const result = processNumbers([1, 2, 3, 4, 5]);
149
149
 
150
- // ✅ CORRECT: Use isSideEffect for runtime checking + provide generics to runPipeResult
150
+ // ✅ CORRECT: Use isSideEffect for runtime checking
151
151
  if (!isSideEffect(result)) {
152
152
  // TypeScript knows: result is number[]
153
153
  const sum: number = result.reduce((a, b) => a + b, 0);
154
154
  } else {
155
155
  // TypeScript knows: result is SideEffect<string>
156
- // But runPipeResult still returns number[] | string (not fully narrowed)
157
- const error = runPipeResult<number[], string>(result); // error: number[] | string
156
+ // runPipeResult returns number[] | string (not fully narrowed)
157
+ const error = runPipeResult(result); // number[] | string
158
158
  }
159
159
 
160
- // WRONG: runPipeResult without generics
161
- const value = runPipeResult(result); // result: any (no type information!)
160
+ // ⚠️ If the result type is widened to SideEffect<any>, inference is lost
161
+ const widened: number[] | SideEffect<any> = result;
162
+ const unsafeValue = runPipeResult(widened); // number[] | any
162
163
 
163
- // ✅ CORRECT: Provide generics to runPipeResult
164
- const value = runPipeResult<number[], string>(result); // result: number[] | string (union type - safe but not narrowed)
164
+ // ✅ CORRECT: Provide generics to recover a safe union
165
+ const safeValue = runPipeResult<number[], string>(result); // result: number[] | string (union type - safe but not narrowed)
165
166
  ```
166
167
 
167
168
  **⚠️ CRITICAL: runPipeResult Type Safety**
168
169
 
169
170
  `runPipeResult<T, R=any>` has a default type parameter `R=any`. This means:
170
171
 
171
- - **Without generics**: `const result = runPipeResult(pipeline(data));` returns `any` type (unsafe!)
172
- - **With generics**: `runPipeResult<SuccessType, ErrorType>(result)` returns union type `SuccessType | ErrorType` (type-safe)
173
- - ✅ **With isSideEffect**: Use for runtime checking whether a value is SideEffect
172
+ - **Precise input types**: `T | SideEffect<'E'>` preserves `T | 'E'` without extra annotations.
173
+ - ⚠️ **Widened inputs**: `T | SideEffect<any>` (or `any`) collapses to `any`.
174
+ - ✅ **With generics**: `runPipeResult<SuccessType, ErrorType>(result)` restores a safe union when inference is lost.
175
+ - ✅ **With isSideEffect**: Prefer for runtime narrowing when you need branch-specific types.
174
176
 
175
- **Always provide generics to `runPipeResult`** for type safety. Use `isSideEffect` for runtime type checking.
177
+ Provide generics when inference is lost; prefer `isSideEffect` for precise narrowing.
176
178
 
177
179
  ## Stream Functions - Lazy Iterable Processing
178
180
 
@@ -527,7 +529,7 @@ const gradeToLetter = cond([
527
529
 
528
530
  - `prop` returns `T[K] | undefined`. Use `propOr` (or guard) before array operations.
529
531
  - `ifElse` expects **functions** for both branches. If you already have a value, wrap it: `() => value` or use `from(value)` for cleaner constant branches.
530
- - Use `from(value)` when you need a unary function that ignores input (handy for `ifElse`/`cond` branches and data-first patterns).
532
+ - Use `from(value)` when you need a unary function that ignores input (handy for `ifElse`/`cond` branches and data-first patterns). Pipelines that start with `from(...)` can be called without an initial input value.
531
533
  - `cond` returns `R | undefined`. Add a default branch and coalesce when you need a strict result.
532
534
  - In `pipeSideEffect`, keep step return types aligned to avoid wide unions.
533
535
 
@@ -680,8 +682,8 @@ const updateUser = assoc('lastLogin', new Date());
680
682
  - **Pure async operations**: `pipeAsync`
681
683
  - **Error handling with SideEffect**: `pipeSideEffect` (sync) / `pipeAsyncSideEffect` (async)
682
684
  - **Strict SideEffect unions**: `pipeSideEffectStrict` (sync) / `pipeAsyncSideEffectStrict` (async)
683
- - **Type-safe result handling**: `isSideEffect` for precise type narrowing (⚠️ **ALWAYS prefer this over bare `runPipeResult`** to avoid `any` types)
684
- - **Execute SideEffect**: `runPipeResult` (call OUTSIDE pipelines). **⚠️ CRITICAL:** Returns `any` type without type narrowing due to default `R=any` parameter
685
+ - **Type-safe result handling**: `isSideEffect` for precise type narrowing (prefer this when you need branch-specific types)
686
+ - **Execute SideEffect**: `runPipeResult` (call OUTSIDE pipelines). If the input is widened to `SideEffect<any>`/`any`, the result becomes `any`; provide generics to recover
685
687
  - **Large datasets**: `stream/*` functions
686
688
  - **Conditionals**: `ifElse`, `when`, `unless`, `cond`
687
689
  - **Object access**: `prop`, `propStrict`, `path`, `pick`, `omit`