@rimbu/common 1.1.0 → 2.0.1

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 (82) hide show
  1. package/dist/bun/async-optlazy.mts +18 -5
  2. package/dist/bun/internal.mts +0 -2
  3. package/dist/bun/optlazy.mts +12 -3
  4. package/dist/cjs/async-optlazy.cjs +60 -42
  5. package/dist/cjs/async-optlazy.cjs.map +1 -0
  6. package/dist/cjs/async-optlazy.d.cts +46 -0
  7. package/dist/cjs/collect.cjs +9 -31
  8. package/dist/cjs/collect.cjs.map +1 -0
  9. package/dist/cjs/collect.d.cts +29 -0
  10. package/dist/cjs/comp.cjs +519 -1598
  11. package/dist/cjs/comp.cjs.map +1 -0
  12. package/dist/cjs/comp.d.cts +239 -0
  13. package/dist/cjs/eq.cjs +375 -203
  14. package/dist/cjs/eq.cjs.map +1 -0
  15. package/dist/cjs/err.cjs +57 -50
  16. package/dist/cjs/err.cjs.map +1 -0
  17. package/dist/cjs/index-range.cjs +105 -109
  18. package/dist/cjs/index-range.cjs.map +1 -0
  19. package/dist/cjs/index-range.d.cts +42 -0
  20. package/dist/cjs/index.cjs +9 -1684
  21. package/dist/cjs/index.cjs.map +1 -0
  22. package/dist/cjs/index.d.cts +6 -0
  23. package/dist/cjs/internal.cjs +14 -1684
  24. package/dist/cjs/internal.cjs.map +1 -0
  25. package/dist/cjs/internal.d.cts +11 -0
  26. package/dist/cjs/optlazy.cjs +43 -36
  27. package/dist/cjs/optlazy.cjs.map +1 -0
  28. package/dist/cjs/optlazy.d.cts +42 -0
  29. package/dist/cjs/range.cjs +35 -49
  30. package/dist/cjs/range.cjs.map +1 -0
  31. package/dist/cjs/traverse-state.cjs +30 -46
  32. package/dist/cjs/traverse-state.cjs.map +1 -0
  33. package/dist/cjs/types.cjs +2 -17
  34. package/dist/cjs/types.cjs.map +1 -0
  35. package/dist/cjs/update.cjs +21 -32
  36. package/dist/cjs/update.cjs.map +1 -0
  37. package/dist/{types → esm}/async-optlazy.d.mts +10 -3
  38. package/dist/esm/async-optlazy.mjs +10 -4
  39. package/dist/esm/async-optlazy.mjs.map +1 -1
  40. package/dist/esm/comp.mjs.map +1 -1
  41. package/dist/esm/eq.d.mts +196 -0
  42. package/dist/esm/eq.mjs.map +1 -1
  43. package/dist/esm/err.d.mts +33 -0
  44. package/dist/esm/index-range.mjs.map +1 -1
  45. package/dist/{types → esm}/internal.d.mts +0 -2
  46. package/dist/esm/internal.mjs +0 -2
  47. package/dist/esm/internal.mjs.map +1 -1
  48. package/dist/{types → esm}/optlazy.d.mts +8 -2
  49. package/dist/esm/optlazy.mjs +7 -2
  50. package/dist/esm/optlazy.mjs.map +1 -1
  51. package/dist/esm/range.d.mts +35 -0
  52. package/dist/esm/range.mjs.map +1 -1
  53. package/dist/esm/traverse-state.d.mts +33 -0
  54. package/dist/esm/types.d.mts +31 -0
  55. package/dist/esm/update.d.mts +18 -0
  56. package/dist/esm/update.mjs.map +1 -1
  57. package/package.json +21 -14
  58. package/src/async-optlazy.mts +18 -5
  59. package/src/internal.mts +0 -2
  60. package/src/optlazy.mts +12 -3
  61. package/dist/bun/async-reducer.mts +0 -1157
  62. package/dist/bun/reducer.mts +0 -1025
  63. package/dist/cjs/async-reducer.cjs +0 -1621
  64. package/dist/cjs/reducer.cjs +0 -1621
  65. package/dist/esm/async-reducer.mjs +0 -638
  66. package/dist/esm/async-reducer.mjs.map +0 -1
  67. package/dist/esm/reducer.mjs +0 -669
  68. package/dist/esm/reducer.mjs.map +0 -1
  69. package/dist/types/async-reducer.d.mts +0 -542
  70. package/dist/types/reducer.d.mts +0 -542
  71. package/src/async-reducer.mts +0 -1157
  72. package/src/reducer.mts +0 -1025
  73. /package/dist/{types/eq.d.mts → cjs/eq.d.cts} +0 -0
  74. /package/dist/{types/err.d.mts → cjs/err.d.cts} +0 -0
  75. /package/dist/{types/range.d.mts → cjs/range.d.cts} +0 -0
  76. /package/dist/{types/traverse-state.d.mts → cjs/traverse-state.d.cts} +0 -0
  77. /package/dist/{types/types.d.mts → cjs/types.d.cts} +0 -0
  78. /package/dist/{types/update.d.mts → cjs/update.d.cts} +0 -0
  79. /package/dist/{types → esm}/collect.d.mts +0 -0
  80. /package/dist/{types → esm}/comp.d.mts +0 -0
  81. /package/dist/{types → esm}/index-range.d.mts +0 -0
  82. /package/dist/{types → esm}/index.d.mts +0 -0
package/src/optlazy.mts CHANGED
@@ -1,12 +1,16 @@
1
1
  /**
2
2
  * A potentially lazy value of type T.
3
3
  * @typeparam T - the value type
4
+ * @typeparam A - (default: []) types of the argument array that can be passed in the lazy case
4
5
  */
5
- export type OptLazy<T> = T | (() => T);
6
+ export type OptLazy<T, A extends any[] = []> = T | ((...args: A) => T);
6
7
 
7
8
  /**
8
9
  * Returns the value contained in an `OptLazy` instance of type T.
9
10
  * @param optLazy - the `OptLazy` value of type T
11
+ * @param args - when needed, the extra arguments to pass to the lazy invocation
12
+ * @typeparam T - the value type
13
+ * @typeparam A - (default: []) types of the argument array that can be passed in the lazy case
10
14
  * @example
11
15
  * ```ts
12
16
  * OptLazy(1) // => 1
@@ -14,8 +18,11 @@ export type OptLazy<T> = T | (() => T);
14
18
  * OptLazy(() => () => 1) // => () => 1
15
19
  * ```
16
20
  */
17
- export function OptLazy<T>(optLazy: OptLazy<T>): T {
18
- if (optLazy instanceof Function) return optLazy();
21
+ export function OptLazy<T, A extends any[] = []>(
22
+ optLazy: OptLazy<T, A>,
23
+ ...args: A
24
+ ): T {
25
+ if (optLazy instanceof Function) return optLazy(...args);
19
26
  return optLazy;
20
27
  }
21
28
 
@@ -32,6 +39,8 @@ export type OptLazyOr<T, O> = T | ((none: O) => T | O);
32
39
  * `otherValue` if the lazy function returns it.
33
40
  * @param optLazyOr - a value or a function returning a value or otherwise the received value
34
41
  * @param otherValue - the value to return if the optLazyOr does not return its own value
42
+ * @typeparam T - the value type
43
+ * @typeparam O - the default value type
35
44
  * @example
36
45
  * ```ts
37
46
  * OptLazyOr(1, 'a') // => 1