@bessemer/cornerstone 0.5.114 → 0.5.115

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 (247) hide show
  1. package/dist/array.d.ts.map +1 -1
  2. package/dist/array.js +28 -28
  3. package/dist/array.js.map +1 -1
  4. package/dist/aspect-ratio.d.ts +3 -3
  5. package/dist/aspect-ratio.d.ts.map +1 -1
  6. package/dist/aspect-ratio.js +13 -12
  7. package/dist/aspect-ratio.js.map +1 -1
  8. package/dist/assertion.d.ts.map +1 -1
  9. package/dist/assertion.js +5 -5
  10. package/dist/assertion.js.map +1 -1
  11. package/dist/async-value.js +2 -2
  12. package/dist/async-value.js.map +1 -1
  13. package/dist/async.d.ts.map +1 -1
  14. package/dist/async.js +2 -2
  15. package/dist/async.js.map +1 -1
  16. package/dist/cache.d.ts.map +1 -1
  17. package/dist/cache.js +11 -12
  18. package/dist/cache.js.map +1 -1
  19. package/dist/combinable.js +5 -5
  20. package/dist/combinable.js.map +1 -1
  21. package/dist/comparator.js +8 -8
  22. package/dist/comparator.js.map +1 -1
  23. package/dist/data-size.d.ts +2 -1
  24. package/dist/data-size.d.ts.map +1 -1
  25. package/dist/data-size.js +3 -3
  26. package/dist/data-size.js.map +1 -1
  27. package/dist/either.js +5 -5
  28. package/dist/either.js.map +1 -1
  29. package/dist/equalitor.d.ts.map +1 -1
  30. package/dist/equalitor.js +2 -2
  31. package/dist/equalitor.js.map +1 -1
  32. package/dist/error/error-cause.d.ts.map +1 -1
  33. package/dist/error/error-cause.js +14 -14
  34. package/dist/error/error-cause.js.map +1 -1
  35. package/dist/error/error-code.js +2 -2
  36. package/dist/error/error-code.js.map +1 -1
  37. package/dist/error/error-event.d.ts +3 -2
  38. package/dist/error/error-event.d.ts.map +1 -1
  39. package/dist/error/error-event.js +28 -28
  40. package/dist/error/error-event.js.map +1 -1
  41. package/dist/error/error-type.d.ts +2 -1
  42. package/dist/error/error-type.d.ts.map +1 -1
  43. package/dist/error/error-type.js +2 -2
  44. package/dist/error/error-type.js.map +1 -1
  45. package/dist/error/error.js +5 -5
  46. package/dist/error/error.js.map +1 -1
  47. package/dist/expression/array-expression.js +3 -3
  48. package/dist/expression/array-expression.js.map +1 -1
  49. package/dist/expression/core-expression.d.ts.map +1 -1
  50. package/dist/expression/core-expression.js +19 -19
  51. package/dist/expression/core-expression.js.map +1 -1
  52. package/dist/expression/expression-evaluator.js +2 -2
  53. package/dist/expression/expression-evaluator.js.map +1 -1
  54. package/dist/expression/expression-mapper.js +4 -4
  55. package/dist/expression/expression-mapper.js.map +1 -1
  56. package/dist/expression/internal.js +3 -3
  57. package/dist/expression/internal.js.map +1 -1
  58. package/dist/expression/numeric-expression.js +13 -13
  59. package/dist/expression/numeric-expression.js.map +1 -1
  60. package/dist/expression/string-expression.js +4 -4
  61. package/dist/expression/string-expression.js.map +1 -1
  62. package/dist/glob.d.ts +3 -3
  63. package/dist/glob.d.ts.map +1 -1
  64. package/dist/glob.js +11 -12
  65. package/dist/glob.js.map +1 -1
  66. package/dist/global-variable.d.ts.map +1 -1
  67. package/dist/global-variable.js +5 -5
  68. package/dist/global-variable.js.map +1 -1
  69. package/dist/hex-code.d.ts +3 -3
  70. package/dist/hex-code.d.ts.map +1 -1
  71. package/dist/hex-code.js +11 -10
  72. package/dist/hex-code.js.map +1 -1
  73. package/dist/index.d.ts +10 -0
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +4 -0
  76. package/dist/index.js.map +1 -1
  77. package/dist/intl/country-code.d.ts +3 -3
  78. package/dist/intl/country-code.d.ts.map +1 -1
  79. package/dist/intl/country-code.js +9 -10
  80. package/dist/intl/country-code.js.map +1 -1
  81. package/dist/intl/country-subdivision-code.d.ts +3 -3
  82. package/dist/intl/country-subdivision-code.d.ts.map +1 -1
  83. package/dist/intl/country-subdivision-code.js +13 -11
  84. package/dist/intl/country-subdivision-code.js.map +1 -1
  85. package/dist/intl/currency-code.d.ts +3 -3
  86. package/dist/intl/currency-code.d.ts.map +1 -1
  87. package/dist/intl/currency-code.js +9 -10
  88. package/dist/intl/currency-code.js.map +1 -1
  89. package/dist/intl/language-code.d.ts +3 -3
  90. package/dist/intl/language-code.d.ts.map +1 -1
  91. package/dist/intl/language-code.js +9 -10
  92. package/dist/intl/language-code.js.map +1 -1
  93. package/dist/intl/locale.d.ts +3 -3
  94. package/dist/intl/locale.d.ts.map +1 -1
  95. package/dist/intl/locale.js +18 -19
  96. package/dist/intl/locale.js.map +1 -1
  97. package/dist/json.d.ts.map +1 -1
  98. package/dist/json.js +2 -2
  99. package/dist/json.js.map +1 -1
  100. package/dist/logger.d.ts.map +1 -1
  101. package/dist/logger.js +12 -12
  102. package/dist/logger.js.map +1 -1
  103. package/dist/map.js +8 -8
  104. package/dist/map.js.map +1 -1
  105. package/dist/mime-type.d.ts +3 -3
  106. package/dist/mime-type.d.ts.map +1 -1
  107. package/dist/mime-type.js +9 -10
  108. package/dist/mime-type.js.map +1 -1
  109. package/dist/misc.js +4 -4
  110. package/dist/misc.js.map +1 -1
  111. package/dist/monetary-amount.d.ts +3 -2
  112. package/dist/monetary-amount.d.ts.map +1 -1
  113. package/dist/monetary-amount.js +16 -16
  114. package/dist/monetary-amount.js.map +1 -1
  115. package/dist/net/content-type.d.ts +2 -1
  116. package/dist/net/content-type.d.ts.map +1 -1
  117. package/dist/net/content-type.js +2 -2
  118. package/dist/net/content-type.js.map +1 -1
  119. package/dist/net/domain-name.d.ts +3 -3
  120. package/dist/net/domain-name.d.ts.map +1 -1
  121. package/dist/net/domain-name.js +10 -11
  122. package/dist/net/domain-name.js.map +1 -1
  123. package/dist/net/http-method.d.ts.map +1 -1
  124. package/dist/net/http-method.js +9 -9
  125. package/dist/net/http-method.js.map +1 -1
  126. package/dist/net/ipv4-address.d.ts +3 -3
  127. package/dist/net/ipv4-address.d.ts.map +1 -1
  128. package/dist/net/ipv4-address.js +10 -11
  129. package/dist/net/ipv4-address.js.map +1 -1
  130. package/dist/net/ipv6-address.d.ts +3 -3
  131. package/dist/net/ipv6-address.d.ts.map +1 -1
  132. package/dist/net/ipv6-address.js +10 -11
  133. package/dist/net/ipv6-address.js.map +1 -1
  134. package/dist/net/uri-host-name.d.ts +3 -3
  135. package/dist/net/uri-host-name.d.ts.map +1 -1
  136. package/dist/net/uri-host-name.js +15 -16
  137. package/dist/net/uri-host-name.js.map +1 -1
  138. package/dist/net/uri.d.ts +1 -2
  139. package/dist/net/uri.d.ts.map +1 -1
  140. package/dist/net/uri.js +5 -3
  141. package/dist/net/uri.js.map +1 -1
  142. package/dist/net/url.d.ts.map +1 -1
  143. package/dist/net/url.js +6 -7
  144. package/dist/net/url.js.map +1 -1
  145. package/dist/object/object-path.d.ts.map +1 -1
  146. package/dist/object/object-path.js +23 -28
  147. package/dist/object/object-path.js.map +1 -1
  148. package/dist/object/type-path.js +19 -19
  149. package/dist/object/type-path.js.map +1 -1
  150. package/dist/patch.js +4 -4
  151. package/dist/patch.js.map +1 -1
  152. package/dist/promise.js +2 -2
  153. package/dist/promise.js.map +1 -1
  154. package/dist/property.d.ts.map +1 -1
  155. package/dist/property.js +7 -7
  156. package/dist/property.js.map +1 -1
  157. package/dist/proxy.js +2 -2
  158. package/dist/proxy.js.map +1 -1
  159. package/dist/range.js +2 -2
  160. package/dist/range.js.map +1 -1
  161. package/dist/reference.d.ts +2 -1
  162. package/dist/reference.d.ts.map +1 -1
  163. package/dist/reference.js +13 -13
  164. package/dist/reference.js.map +1 -1
  165. package/dist/resource-key.js +2 -2
  166. package/dist/resource-key.js.map +1 -1
  167. package/dist/result.js +5 -5
  168. package/dist/result.js.map +1 -1
  169. package/dist/retry.d.ts.map +1 -1
  170. package/dist/retry.js +12 -12
  171. package/dist/retry.js.map +1 -1
  172. package/dist/rich-text.js +2 -2
  173. package/dist/rich-text.js.map +1 -1
  174. package/dist/signature.d.ts.map +1 -1
  175. package/dist/signature.js +9 -9
  176. package/dist/signature.js.map +1 -1
  177. package/dist/sql/sql-expression-parser.js +2 -2
  178. package/dist/sql/sql-expression-parser.js.map +1 -1
  179. package/dist/store.d.ts.map +1 -1
  180. package/dist/store.js +9 -9
  181. package/dist/store.js.map +1 -1
  182. package/dist/string.js +4 -4
  183. package/dist/string.js.map +1 -1
  184. package/dist/tag.d.ts.map +1 -1
  185. package/dist/tag.js +10 -10
  186. package/dist/tag.js.map +1 -1
  187. package/dist/temporal/clock.d.ts +13 -13
  188. package/dist/temporal/clock.d.ts.map +1 -1
  189. package/dist/temporal/clock.js +10 -10
  190. package/dist/temporal/clock.js.map +1 -1
  191. package/dist/temporal/duration.d.ts +15 -9
  192. package/dist/temporal/duration.d.ts.map +1 -1
  193. package/dist/temporal/duration.js +30 -31
  194. package/dist/temporal/duration.js.map +1 -1
  195. package/dist/temporal/instant.d.ts +18 -15
  196. package/dist/temporal/instant.d.ts.map +1 -1
  197. package/dist/temporal/instant.js +42 -43
  198. package/dist/temporal/instant.js.map +1 -1
  199. package/dist/temporal/plain-date-time.d.ts +16 -13
  200. package/dist/temporal/plain-date-time.d.ts.map +1 -1
  201. package/dist/temporal/plain-date-time.js +36 -38
  202. package/dist/temporal/plain-date-time.js.map +1 -1
  203. package/dist/temporal/plain-date.d.ts +16 -13
  204. package/dist/temporal/plain-date.d.ts.map +1 -1
  205. package/dist/temporal/plain-date.js +35 -37
  206. package/dist/temporal/plain-date.js.map +1 -1
  207. package/dist/temporal/plain-month-day.d.ts +37 -0
  208. package/dist/temporal/plain-month-day.d.ts.map +1 -0
  209. package/dist/temporal/plain-month-day.js +84 -0
  210. package/dist/temporal/plain-month-day.js.map +1 -0
  211. package/dist/temporal/plain-time.d.ts +19 -17
  212. package/dist/temporal/plain-time.d.ts.map +1 -1
  213. package/dist/temporal/plain-time.js +43 -42
  214. package/dist/temporal/plain-time.js.map +1 -1
  215. package/dist/temporal/plain-year-month.d.ts +57 -0
  216. package/dist/temporal/plain-year-month.d.ts.map +1 -0
  217. package/dist/temporal/plain-year-month.js +109 -0
  218. package/dist/temporal/plain-year-month.js.map +1 -0
  219. package/dist/temporal/time-zone-id.d.ts +5 -4
  220. package/dist/temporal/time-zone-id.d.ts.map +1 -1
  221. package/dist/temporal/time-zone-id.js +11 -11
  222. package/dist/temporal/time-zone-id.js.map +1 -1
  223. package/dist/temporal/time-zone-offset.d.ts +12 -11
  224. package/dist/temporal/time-zone-offset.d.ts.map +1 -1
  225. package/dist/temporal/time-zone-offset.js +42 -50
  226. package/dist/temporal/time-zone-offset.js.map +1 -1
  227. package/dist/temporal/zoned-date-time.d.ts +16 -13
  228. package/dist/temporal/zoned-date-time.d.ts.map +1 -1
  229. package/dist/temporal/zoned-date-time.js +35 -36
  230. package/dist/temporal/zoned-date-time.js.map +1 -1
  231. package/dist/uuid/ulid.d.ts +3 -3
  232. package/dist/uuid/ulid.d.ts.map +1 -1
  233. package/dist/uuid/ulid.js +9 -10
  234. package/dist/uuid/ulid.js.map +1 -1
  235. package/dist/uuid/uuid-v4.d.ts +3 -3
  236. package/dist/uuid/uuid-v4.d.ts.map +1 -1
  237. package/dist/uuid/uuid-v4.js +13 -14
  238. package/dist/uuid/uuid-v4.js.map +1 -1
  239. package/dist/uuid/uuid-v7.d.ts +1 -2
  240. package/dist/uuid/uuid-v7.d.ts.map +1 -1
  241. package/dist/uuid/uuid-v7.js +1 -2
  242. package/dist/uuid/uuid-v7.js.map +1 -1
  243. package/dist/zod-util.d.ts +4 -21
  244. package/dist/zod-util.d.ts.map +1 -1
  245. package/dist/zod-util.js +21 -11
  246. package/dist/zod-util.js.map +1 -1
  247. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
package/dist/array.js CHANGED
@@ -1,9 +1,9 @@
1
1
  // src/array.ts
2
- import { equalBy as equalitorEqualBy, natural as naturalEquality } from "@bessemer/cornerstone/equalitor";
3
- import { sign } from "@bessemer/cornerstone/signature";
4
- import { split } from "@bessemer/cornerstone/either";
5
- import { compareBy, natural as naturalComparison } from "@bessemer/cornerstone/comparator";
6
- import { isNil } from "@bessemer/cornerstone/object";
2
+ import * as Equalitors from "@bessemer/cornerstone/equalitor";
3
+ import * as Signatures from "@bessemer/cornerstone/signature";
4
+ import * as Eithers from "@bessemer/cornerstone/either";
5
+ import * as Comparators from "@bessemer/cornerstone/comparator";
6
+ import * as Objects from "@bessemer/cornerstone/object";
7
7
  import * as Assertions from "@bessemer/cornerstone/assertion";
8
8
  import * as Maths from "@bessemer/cornerstone/math";
9
9
  var makeBy = (n, f) => {
@@ -43,36 +43,36 @@ var equalWith = (first2, second, equalitor) => {
43
43
  }
44
44
  return first2.every((element, index) => equalitor(element, second[index]));
45
45
  };
46
- function equalBy(first2, second, mapper, equalitor) {
47
- if (isNil(equalitor)) {
46
+ function equalBy2(first2, second, mapper, equalitor) {
47
+ if (Objects.isNil(equalitor)) {
48
48
  return equalWith(
49
49
  first2,
50
50
  second,
51
- equalitorEqualBy((it) => sign(mapper(it)), naturalEquality())
51
+ Equalitors.equalBy((it) => Signatures.sign(mapper(it)), Equalitors.natural())
52
52
  );
53
53
  } else {
54
- return equalWith(first2, second, equalitorEqualBy(mapper, equalitor));
54
+ return equalWith(first2, second, Equalitors.equalBy(mapper, equalitor));
55
55
  }
56
56
  }
57
57
  var equal = (first2, second) => {
58
- return equalBy(first2, second, sign);
58
+ return equalBy2(first2, second, Signatures.sign);
59
59
  };
60
60
  var differenceWith = (first2, second, equalitor) => {
61
61
  return first2.filter((firstItem) => !second.some((it) => equalitor(firstItem, it)));
62
62
  };
63
63
  function differenceBy(first2, second, mapper, equalitor) {
64
- if (isNil(equalitor)) {
64
+ if (Objects.isNil(equalitor)) {
65
65
  return differenceWith(
66
66
  first2,
67
67
  second,
68
- equalitorEqualBy((it) => sign(mapper(it)), naturalEquality())
68
+ Equalitors.equalBy((it) => Signatures.sign(mapper(it)), Equalitors.natural())
69
69
  );
70
70
  } else {
71
- return differenceWith(first2, second, equalitorEqualBy(mapper, equalitor));
71
+ return differenceWith(first2, second, Equalitors.equalBy(mapper, equalitor));
72
72
  }
73
73
  }
74
74
  var difference = (first2, second) => {
75
- return differenceBy(first2, second, sign);
75
+ return differenceBy(first2, second, Signatures.sign);
76
76
  };
77
77
  var removeWith = (array, element, equalitor) => {
78
78
  return differenceWith(array, [element], equalitor);
@@ -87,17 +87,17 @@ var containsWith = (array, element, equalitor) => {
87
87
  return array.some((it) => equalitor(it, element));
88
88
  };
89
89
  function containsBy(array, element, mapper, equalitor) {
90
- if (isNil(equalitor)) {
90
+ if (Objects.isNil(equalitor)) {
91
91
  return containsWith(
92
92
  array,
93
93
  element,
94
- equalitorEqualBy((it) => sign(mapper(it)), naturalEquality())
94
+ Equalitors.equalBy((it) => Signatures.sign(mapper(it)), Equalitors.natural())
95
95
  );
96
96
  } else {
97
- return containsWith(array, element, equalitorEqualBy(mapper, equalitor));
97
+ return containsWith(array, element, Equalitors.equalBy(mapper, equalitor));
98
98
  }
99
99
  }
100
- var contains = (array, element) => containsBy(array, element, sign);
100
+ var contains = (array, element) => containsBy(array, element, Signatures.sign);
101
101
  var containsAllWith = (first2, second, equalitor) => isEmpty(differenceWith(second, first2, equalitor));
102
102
  function containsAllBy(first2, second, mapper, equalitor) {
103
103
  return isEmpty(differenceBy(second, first2, mapper, equalitor));
@@ -114,29 +114,29 @@ var dedupeWith = (array, equalitor) => {
114
114
  return result;
115
115
  };
116
116
  function dedupeBy(array, mapper, equalitor) {
117
- if (isNil(equalitor)) {
118
- return dedupeWith(array, equalitorEqualBy(mapper, naturalEquality()));
117
+ if (Objects.isNil(equalitor)) {
118
+ return dedupeWith(array, Equalitors.equalBy(mapper, Equalitors.natural()));
119
119
  } else {
120
- return dedupeWith(array, equalitorEqualBy(mapper, equalitor));
120
+ return dedupeWith(array, Equalitors.equalBy(mapper, equalitor));
121
121
  }
122
122
  }
123
123
  var dedupe = (array) => {
124
- return dedupeBy(array, sign);
124
+ return dedupeBy(array, Signatures.sign);
125
125
  };
126
126
  var sortWith = (array, comparator) => {
127
127
  return [...array].sort(comparator);
128
128
  };
129
129
  function sortBy(array, mapper, comparator) {
130
- if (isNil(comparator)) {
130
+ if (Objects.isNil(comparator)) {
131
131
  return sortWith(
132
132
  array,
133
- compareBy((it) => sign(mapper(it)), naturalComparison())
133
+ Comparators.compareBy((it) => Signatures.sign(mapper(it)), Comparators.natural())
134
134
  );
135
135
  } else {
136
- return sortWith(array, compareBy(mapper, comparator));
136
+ return sortWith(array, Comparators.compareBy(mapper, comparator));
137
137
  }
138
138
  }
139
- var sort = (array) => sortBy(array, sign);
139
+ var sort = (array) => sortBy(array, Signatures.sign);
140
140
  var concatenate = (array, ...values) => {
141
141
  const result = [...array];
142
142
  for (const value of values) {
@@ -186,7 +186,7 @@ var clear = (array) => {
186
186
  filterInPlace(array, () => false);
187
187
  };
188
188
  var bisect = (array, bisector) => {
189
- return split(array.map(bisector));
189
+ return Eithers.split(array.map(bisector));
190
190
  };
191
191
  var toArray = (array) => {
192
192
  if (Array.isArray(array)) {
@@ -214,7 +214,7 @@ export {
214
214
  differenceBy,
215
215
  differenceWith,
216
216
  equal,
217
- equalBy,
217
+ equalBy2 as equalBy,
218
218
  equalWith,
219
219
  filterInPlace,
220
220
  first,
package/dist/array.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/array.ts"],"sourcesContent":["import { equalBy as equalitorEqualBy, Equalitor, natural as naturalEquality } from '@bessemer/cornerstone/equalitor'\nimport { sign, Signable, Signature } from '@bessemer/cornerstone/signature'\nimport { Either, split } from '@bessemer/cornerstone/either'\nimport { Comparator, compareBy, natural as naturalComparison } from '@bessemer/cornerstone/comparator'\nimport { Arrayable } from 'type-fest'\nimport { isNil } from '@bessemer/cornerstone/object'\nimport * as Assertions from '@bessemer/cornerstone/assertion'\nimport * as Maths from '@bessemer/cornerstone/math'\nimport { FiniteBounds } from '@bessemer/cornerstone/range'\n\nexport const makeBy = <T>(n: number, f: (i: number) => T): Array<T> => {\n Assertions.assert(Maths.isWhole(n))\n Assertions.assert(n >= 0)\n\n const out = new Array(n)\n for (let i = 0; i < n; i++) {\n out[i] = f(i)\n }\n\n return out\n}\n\nexport const range = ([start, end]: FiniteBounds<number>): Array<number> => {\n return start <= end ? makeBy(end - start + 1, (i) => start + i) : [start]\n}\n\nexport const repeat = <T>(a: T, n: number): Array<T> => {\n return makeBy(n, () => a)\n}\n\nexport const fromIterable = <A>(collection: Iterable<A>): Array<A> => {\n return Array.isArray(collection) ? collection : Array.from(collection)\n}\n\nexport const take = <T>(array: Array<T>, elementsToSkip: number = 1): Array<T> => {\n return array.slice(elementsToSkip)\n}\n\nexport const takeWhile = <T>(array: Array<T>, predicate: (item: T, index: number) => boolean): T[] => {\n const result: T[] = []\n for (let i = 0; i < array.length; i++) {\n if (!predicate(array[i]!, i)) {\n break\n }\n\n result.push(array[i]!)\n }\n return result\n}\n\n/**\n * Determines if two arrays are equal by comparing each element using an Equalitor.\n * Returns `true` if all corresponding elements are equal according to the provided\n * equalitor function in both arrays.\n *\n * **Example**\n *\n * ```ts\n * import { Arrays } from \"@bessemer/cornerstone\"\n *\n * const users1 = [{ id: 1, name: \"Alice\" }, { id: 2, name: \"Bob\" }]\n * const users2 = [{ id: 1, name: \"Alice\" }, { id: 2, name: \"Bob\" }]\n *\n * const result = Arrays.equalWith(users1, users2, (a, b) => a.id === b.id && a.name === b.name)\n * console.log(result) // true\n *\n * const numbers1 = [1.1, 2.2, 3.3]\n * const numbers2 = [1.0, 2.0, 3.0]\n *\n * const closeEnough = Arrays.equalWith(numbers1, numbers2, (a, b) => Math.abs(a - b) < 0.5)\n * console.log(closeEnough) // false\n * ```\n *\n * @category comparison\n */\nexport const equalWith = <T>(first: Array<T>, second: Array<T>, equalitor: Equalitor<T>): boolean => {\n if (first.length !== second.length) {\n return false\n }\n\n return first.every((element, index) => equalitor(element, second[index]!))\n}\n\n/**\n * Determines if two arrays are equal by comparing mapped values from each element.\n * Returns `true` if all corresponding mapped values are equal according to the\n * provided Equalitor or natural equality.\n *\n * **Example**\n *\n * ```ts\n * import { Arrays } from \"@bessemer/cornerstone\"\n *\n * const users1 = [{ id: 1, name: \"Alice\" }, { id: 2, name: \"Bob\" }]\n * const users2 = [{ id: 1, name: \"Alice\" }, { id: 2, name: \"Bob\" }]\n *\n * // Compare by mapped property using natural equality\n * const result = Arrays.equalBy(users1, users2, user => user.id)\n * console.log(result) // true\n *\n * // Compare by mapped property using custom Equalitor\n * const products1 = [{ name: \"Apple\", price: 1.99 }, { name: \"Orange\", price: 2.49 }]\n * const products2 = [{ name: \"Apple\", price: 2.00 }, { name: \"Orange\", price: 2.50 }]\n *\n * const closeEnough = Arrays.equalBy(\n * products1,\n * products2,\n * product => product.price,\n * (a, b) => Math.abs(a - b) < 0.1\n * )\n * console.log(closeEnough) // true\n * ```\n *\n * @category comparison\n */\nexport function equalBy<T>(first: Array<T>, second: Array<T>, mapper: (element: T) => Signable): boolean\nexport function equalBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor: Equalitor<N>): boolean\nexport function equalBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor?: Equalitor<N>): boolean {\n if (isNil(equalitor)) {\n return equalWith(\n first,\n second,\n equalitorEqualBy((it) => sign(mapper(it) as Signable), naturalEquality())\n )\n } else {\n return equalWith(first, second, equalitorEqualBy(mapper, equalitor))\n }\n}\n\nexport const equal = <T extends Signable>(first: Array<T>, second: Array<T>): boolean => {\n return equalBy(first, second, sign)\n}\n\nexport const differenceWith = <T>(first: Array<T>, second: Array<T>, equalitor: Equalitor<T>): Array<T> => {\n return first.filter((firstItem) => !second.some((it) => equalitor(firstItem, it)))\n}\n\nexport function differenceBy<T>(first: Array<T>, second: Array<T>, mapper: (element: T) => Signable): Array<T>\nexport function differenceBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor: Equalitor<N>): Array<T>\nexport function differenceBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor?: Equalitor<N>): Array<T> {\n if (isNil(equalitor)) {\n return differenceWith(\n first,\n second,\n equalitorEqualBy((it) => sign(mapper(it) as Signable), naturalEquality())\n )\n } else {\n return differenceWith(first, second, equalitorEqualBy(mapper, equalitor))\n }\n}\n\nexport const difference = <T extends Signable>(first: Array<T>, second: Array<T>): Array<T> => {\n return differenceBy(first, second, sign)\n}\n\nexport const removeWith = <T>(array: Array<T>, element: T, equalitor: Equalitor<T>): Array<T> => {\n return differenceWith(array, [element], equalitor)\n}\n\nexport function removeBy<T>(array: Array<T>, element: T, mapper: (element: T) => Signable): Array<T>\nexport function removeBy<T, N>(array: Array<T>, element: T, mapper: (element: T) => N, equalitor: Equalitor<N>): Array<T>\nexport function removeBy<T, N>(array: Array<T>, element: T, mapper: (element: T) => N, equalitor?: Equalitor<N>): Array<T> {\n return differenceBy(array, [element], mapper, equalitor as any)\n}\n\nexport const remove = <T extends Signable>(array: Array<T>, element: T): Array<T> => {\n return difference(array, [element])\n}\n\nexport const containsWith = <T>(array: Array<T>, element: T, equalitor: Equalitor<T>): boolean => {\n return array.some((it) => equalitor(it, element))\n}\n\nexport function containsBy<T>(array: Array<T>, element: T, mapper: (element: T) => Signable): boolean\nexport function containsBy<T, N>(array: Array<T>, element: T, mapper: (element: T) => N, equalitor: Equalitor<N>): boolean\nexport function containsBy<T, N>(array: Array<T>, element: T, mapper: (element: T) => N, equalitor?: Equalitor<N>): boolean {\n if (isNil(equalitor)) {\n return containsWith(\n array,\n element,\n equalitorEqualBy((it) => sign(mapper(it) as Signable), naturalEquality())\n )\n } else {\n return containsWith(array, element, equalitorEqualBy(mapper, equalitor))\n }\n}\n\nexport const contains = <T extends Signable>(array: Array<T>, element: T): boolean => containsBy(array, element, sign)\n\nexport const containsAllWith = <T>(first: Array<T>, second: Array<T>, equalitor: Equalitor<T>): boolean =>\n isEmpty(differenceWith(second, first, equalitor))\n\nexport function containsAllBy<T>(first: Array<T>, second: Array<T>, mapper: (element: T) => Signable): boolean\nexport function containsAllBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor: Equalitor<N>): boolean\nexport function containsAllBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor?: Equalitor<N>): boolean {\n return isEmpty(differenceBy(second, first, mapper, equalitor as any))\n}\n\nexport const containsAll = <T extends Signable>(first: Array<T>, second: Array<T>): boolean => isEmpty(difference(second, first))\n\nexport const dedupeWith = <T>(array: Array<T>, equalitor: Equalitor<T>): Array<T> => {\n const result: Array<T> = []\n\n for (const element of array) {\n const isDuplicate = result.some((existing) => equalitor(existing, element))\n if (!isDuplicate) {\n result.push(element)\n }\n }\n\n return result\n}\n\nexport function dedupeBy<T>(array: Array<T>, mapper: (element: T) => Signable): Array<T>\nexport function dedupeBy<T, N>(array: Array<T>, mapper: (element: T) => N, equalitor: Equalitor<N>): Array<T>\nexport function dedupeBy<T, N>(array: Array<T>, mapper: (element: T) => N, equalitor?: Equalitor<N>): Array<T> {\n if (isNil(equalitor)) {\n return dedupeWith(array, equalitorEqualBy(mapper as any, naturalEquality()))\n } else {\n return dedupeWith(array, equalitorEqualBy(mapper, equalitor))\n }\n}\n\nexport const dedupe = <T extends Signable>(array: Array<T>): Array<T> => {\n return dedupeBy(array, sign)\n}\n\nexport const sortWith = <T>(array: Array<T>, comparator: Comparator<T>): Array<T> => {\n return [...array].sort(comparator)\n}\n\nexport function sortBy<T>(array: Array<T>, mapper: (element: T) => Signable): Array<T>\nexport function sortBy<T, N>(array: Array<T>, mapper: (element: T) => N, comparator: Comparator<N>): Array<T>\nexport function sortBy<T, N>(array: Array<T>, mapper: (element: T) => N, comparator?: Comparator<N>): Array<T> {\n if (isNil(comparator)) {\n return sortWith(\n array,\n compareBy((it) => sign(mapper(it as any) as Signature), naturalComparison())\n )\n } else {\n return sortWith(array, compareBy(mapper, comparator))\n }\n}\n\nexport const sort = <T extends Signable>(array: Array<T>): Array<T> => sortBy(array, sign)\n\nexport const concatenate = <T>(array: Array<T>, ...values: Array<T | Array<T>>): Array<T> => {\n const result = [...array]\n\n for (const value of values) {\n if (Array.isArray(value)) {\n result.push(...value)\n } else {\n result.push(value)\n }\n }\n\n return result\n}\n\nexport const first = <T>(array: Array<T>): T | undefined => {\n return array.length > 0 ? array[0] : undefined\n}\n\nexport const only = <T>(array: Array<T>): T => {\n Assertions.assert(array.length === 1)\n return first(array)!\n}\n\nexport const last = <T>(array: Array<T>): T | undefined => {\n return array.length > 0 ? array[array.length - 1] : undefined\n}\n\nexport const isEmpty = <T>(array: Array<T>): boolean => {\n return array.length === 0\n}\n\n// JOHN i don't think this function should exist here... maybe examine the use cases more thoroughly\nexport function groupBy<T, N extends string | number | symbol>(array: Array<T>, iteratee: (it: T) => N): Record<N, Array<T>> {\n return array.reduce<Record<N, Array<T>>>((result, value) => {\n const key = iteratee(value)\n\n if (!result[key]) {\n result[key] = []\n }\n\n result[key].push(value)\n return result\n }, {} as any)\n}\n\nexport const rest = <T>(array: Array<T>, elementsToSkip: number = 1): Array<T> => {\n return array.slice(elementsToSkip)\n}\n\nexport const filterInPlace = <T>(array: Array<T>, predicate: (value: T, index: number, array: Array<T>) => boolean): void => {\n for (let i = array.length - 1; i >= 0; i--) {\n const value = array[i]\n if (value !== undefined && !predicate(value, i, array)) {\n array.splice(i, 1)\n }\n }\n}\n\nexport const clear = (array: Array<unknown>): void => {\n filterInPlace(array, () => false)\n}\n\nexport const bisect = <T, LeftType, RightType>(\n array: Array<T>,\n bisector: (element: T, index: number) => Either<LeftType, RightType>\n): [Array<LeftType>, Array<RightType>] => {\n return split(array.map(bisector))\n}\n\nexport const toArray = <T>(array: Arrayable<T>): Array<T> => {\n if (Array.isArray(array)) {\n return array\n }\n\n return [array]\n}\n\nexport const flatten = <T>(array: Array<Array<T>>): Array<T> => {\n return array.flatMap((it) => it)\n}\n"],"mappings":"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","names":["first"]}
1
+ {"version":3,"sources":["../src/array.ts"],"sourcesContent":["import * as Equalitors from '@bessemer/cornerstone/equalitor'\nimport { Equalitor } from '@bessemer/cornerstone/equalitor'\nimport * as Signatures from '@bessemer/cornerstone/signature'\nimport { Signable, Signature } from '@bessemer/cornerstone/signature'\nimport * as Eithers from '@bessemer/cornerstone/either'\nimport { Either } from '@bessemer/cornerstone/either'\nimport * as Comparators from '@bessemer/cornerstone/comparator'\nimport { Comparator } from '@bessemer/cornerstone/comparator'\nimport { Arrayable } from 'type-fest'\nimport * as Objects from '@bessemer/cornerstone/object'\nimport * as Assertions from '@bessemer/cornerstone/assertion'\nimport * as Maths from '@bessemer/cornerstone/math'\nimport { FiniteBounds } from '@bessemer/cornerstone/range'\n\nexport const makeBy = <T>(n: number, f: (i: number) => T): Array<T> => {\n Assertions.assert(Maths.isWhole(n))\n Assertions.assert(n >= 0)\n\n const out = new Array(n)\n for (let i = 0; i < n; i++) {\n out[i] = f(i)\n }\n\n return out\n}\n\nexport const range = ([start, end]: FiniteBounds<number>): Array<number> => {\n return start <= end ? makeBy(end - start + 1, (i) => start + i) : [start]\n}\n\nexport const repeat = <T>(a: T, n: number): Array<T> => {\n return makeBy(n, () => a)\n}\n\nexport const fromIterable = <A>(collection: Iterable<A>): Array<A> => {\n return Array.isArray(collection) ? collection : Array.from(collection)\n}\n\nexport const take = <T>(array: Array<T>, elementsToSkip: number = 1): Array<T> => {\n return array.slice(elementsToSkip)\n}\n\nexport const takeWhile = <T>(array: Array<T>, predicate: (item: T, index: number) => boolean): T[] => {\n const result: T[] = []\n for (let i = 0; i < array.length; i++) {\n if (!predicate(array[i]!, i)) {\n break\n }\n\n result.push(array[i]!)\n }\n return result\n}\n\n/**\n * Determines if two arrays are equal by comparing each element using an Equalitor.\n * Returns `true` if all corresponding elements are equal according to the provided\n * equalitor function in both arrays.\n *\n * **Example**\n *\n * ```ts\n * import { Arrays } from \"@bessemer/cornerstone\"\n *\n * const users1 = [{ id: 1, name: \"Alice\" }, { id: 2, name: \"Bob\" }]\n * const users2 = [{ id: 1, name: \"Alice\" }, { id: 2, name: \"Bob\" }]\n *\n * const result = Arrays.equalWith(users1, users2, (a, b) => a.id === b.id && a.name === b.name)\n * console.log(result) // true\n *\n * const numbers1 = [1.1, 2.2, 3.3]\n * const numbers2 = [1.0, 2.0, 3.0]\n *\n * const closeEnough = Arrays.equalWith(numbers1, numbers2, (a, b) => Math.abs(a - b) < 0.5)\n * console.log(closeEnough) // false\n * ```\n *\n * @category comparison\n */\nexport const equalWith = <T>(first: Array<T>, second: Array<T>, equalitor: Equalitor<T>): boolean => {\n if (first.length !== second.length) {\n return false\n }\n\n return first.every((element, index) => equalitor(element, second[index]!))\n}\n\n/**\n * Determines if two arrays are equal by comparing mapped values from each element.\n * Returns `true` if all corresponding mapped values are equal according to the\n * provided Equalitor or natural equality.\n *\n * **Example**\n *\n * ```ts\n * import { Arrays } from \"@bessemer/cornerstone\"\n *\n * const users1 = [{ id: 1, name: \"Alice\" }, { id: 2, name: \"Bob\" }]\n * const users2 = [{ id: 1, name: \"Alice\" }, { id: 2, name: \"Bob\" }]\n *\n * // Compare by mapped property using natural equality\n * const result = Arrays.equalBy(users1, users2, user => user.id)\n * console.log(result) // true\n *\n * // Compare by mapped property using custom Equalitor\n * const products1 = [{ name: \"Apple\", price: 1.99 }, { name: \"Orange\", price: 2.49 }]\n * const products2 = [{ name: \"Apple\", price: 2.00 }, { name: \"Orange\", price: 2.50 }]\n *\n * const closeEnough = Arrays.equalBy(\n * products1,\n * products2,\n * product => product.price,\n * (a, b) => Math.abs(a - b) < 0.1\n * )\n * console.log(closeEnough) // true\n * ```\n *\n * @category comparison\n */\nexport function equalBy<T>(first: Array<T>, second: Array<T>, mapper: (element: T) => Signable): boolean\nexport function equalBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor: Equalitor<N>): boolean\nexport function equalBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor?: Equalitor<N>): boolean {\n if (Objects.isNil(equalitor)) {\n return equalWith(\n first,\n second,\n Equalitors.equalBy((it) => Signatures.sign(mapper(it) as Signable), Equalitors.natural())\n )\n } else {\n return equalWith(first, second, Equalitors.equalBy(mapper, equalitor))\n }\n}\n\nexport const equal = <T extends Signable>(first: Array<T>, second: Array<T>): boolean => {\n return equalBy(first, second, Signatures.sign)\n}\n\nexport const differenceWith = <T>(first: Array<T>, second: Array<T>, equalitor: Equalitor<T>): Array<T> => {\n return first.filter((firstItem) => !second.some((it) => equalitor(firstItem, it)))\n}\n\nexport function differenceBy<T>(first: Array<T>, second: Array<T>, mapper: (element: T) => Signable): Array<T>\nexport function differenceBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor: Equalitor<N>): Array<T>\nexport function differenceBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor?: Equalitor<N>): Array<T> {\n if (Objects.isNil(equalitor)) {\n return differenceWith(\n first,\n second,\n Equalitors.equalBy((it) => Signatures.sign(mapper(it) as Signable), Equalitors.natural())\n )\n } else {\n return differenceWith(first, second, Equalitors.equalBy(mapper, equalitor))\n }\n}\n\nexport const difference = <T extends Signable>(first: Array<T>, second: Array<T>): Array<T> => {\n return differenceBy(first, second, Signatures.sign)\n}\n\nexport const removeWith = <T>(array: Array<T>, element: T, equalitor: Equalitor<T>): Array<T> => {\n return differenceWith(array, [element], equalitor)\n}\n\nexport function removeBy<T>(array: Array<T>, element: T, mapper: (element: T) => Signable): Array<T>\nexport function removeBy<T, N>(array: Array<T>, element: T, mapper: (element: T) => N, equalitor: Equalitor<N>): Array<T>\nexport function removeBy<T, N>(array: Array<T>, element: T, mapper: (element: T) => N, equalitor?: Equalitor<N>): Array<T> {\n return differenceBy(array, [element], mapper, equalitor as any)\n}\n\nexport const remove = <T extends Signable>(array: Array<T>, element: T): Array<T> => {\n return difference(array, [element])\n}\n\nexport const containsWith = <T>(array: Array<T>, element: T, equalitor: Equalitor<T>): boolean => {\n return array.some((it) => equalitor(it, element))\n}\n\nexport function containsBy<T>(array: Array<T>, element: T, mapper: (element: T) => Signable): boolean\nexport function containsBy<T, N>(array: Array<T>, element: T, mapper: (element: T) => N, equalitor: Equalitor<N>): boolean\nexport function containsBy<T, N>(array: Array<T>, element: T, mapper: (element: T) => N, equalitor?: Equalitor<N>): boolean {\n if (Objects.isNil(equalitor)) {\n return containsWith(\n array,\n element,\n Equalitors.equalBy((it) => Signatures.sign(mapper(it) as Signable), Equalitors.natural())\n )\n } else {\n return containsWith(array, element, Equalitors.equalBy(mapper, equalitor))\n }\n}\n\nexport const contains = <T extends Signable>(array: Array<T>, element: T): boolean => containsBy(array, element, Signatures.sign)\n\nexport const containsAllWith = <T>(first: Array<T>, second: Array<T>, equalitor: Equalitor<T>): boolean =>\n isEmpty(differenceWith(second, first, equalitor))\n\nexport function containsAllBy<T>(first: Array<T>, second: Array<T>, mapper: (element: T) => Signable): boolean\nexport function containsAllBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor: Equalitor<N>): boolean\nexport function containsAllBy<T, N>(first: Array<T>, second: Array<T>, mapper: (element: T) => N, equalitor?: Equalitor<N>): boolean {\n return isEmpty(differenceBy(second, first, mapper, equalitor as any))\n}\n\nexport const containsAll = <T extends Signable>(first: Array<T>, second: Array<T>): boolean => isEmpty(difference(second, first))\n\nexport const dedupeWith = <T>(array: Array<T>, equalitor: Equalitor<T>): Array<T> => {\n const result: Array<T> = []\n\n for (const element of array) {\n const isDuplicate = result.some((existing) => equalitor(existing, element))\n if (!isDuplicate) {\n result.push(element)\n }\n }\n\n return result\n}\n\nexport function dedupeBy<T>(array: Array<T>, mapper: (element: T) => Signable): Array<T>\nexport function dedupeBy<T, N>(array: Array<T>, mapper: (element: T) => N, equalitor: Equalitor<N>): Array<T>\nexport function dedupeBy<T, N>(array: Array<T>, mapper: (element: T) => N, equalitor?: Equalitor<N>): Array<T> {\n if (Objects.isNil(equalitor)) {\n return dedupeWith(array, Equalitors.equalBy(mapper as any, Equalitors.natural()))\n } else {\n return dedupeWith(array, Equalitors.equalBy(mapper, equalitor))\n }\n}\n\nexport const dedupe = <T extends Signable>(array: Array<T>): Array<T> => {\n return dedupeBy(array, Signatures.sign)\n}\n\nexport const sortWith = <T>(array: Array<T>, comparator: Comparator<T>): Array<T> => {\n return [...array].sort(comparator)\n}\n\nexport function sortBy<T>(array: Array<T>, mapper: (element: T) => Signable): Array<T>\nexport function sortBy<T, N>(array: Array<T>, mapper: (element: T) => N, comparator: Comparator<N>): Array<T>\nexport function sortBy<T, N>(array: Array<T>, mapper: (element: T) => N, comparator?: Comparator<N>): Array<T> {\n if (Objects.isNil(comparator)) {\n return sortWith(\n array,\n Comparators.compareBy((it) => Signatures.sign(mapper(it as any) as Signature), Comparators.natural())\n )\n } else {\n return sortWith(array, Comparators.compareBy(mapper, comparator))\n }\n}\n\nexport const sort = <T extends Signable>(array: Array<T>): Array<T> => sortBy(array, Signatures.sign)\n\nexport const concatenate = <T>(array: Array<T>, ...values: Array<T | Array<T>>): Array<T> => {\n const result = [...array]\n\n for (const value of values) {\n if (Array.isArray(value)) {\n result.push(...value)\n } else {\n result.push(value)\n }\n }\n\n return result\n}\n\nexport const first = <T>(array: Array<T>): T | undefined => {\n return array.length > 0 ? array[0] : undefined\n}\n\nexport const only = <T>(array: Array<T>): T => {\n Assertions.assert(array.length === 1)\n return first(array)!\n}\n\nexport const last = <T>(array: Array<T>): T | undefined => {\n return array.length > 0 ? array[array.length - 1] : undefined\n}\n\nexport const isEmpty = <T>(array: Array<T>): boolean => {\n return array.length === 0\n}\n\n// JOHN i don't think this function should exist here... maybe examine the use cases more thoroughly\nexport function groupBy<T, N extends string | number | symbol>(array: Array<T>, iteratee: (it: T) => N): Record<N, Array<T>> {\n return array.reduce<Record<N, Array<T>>>((result, value) => {\n const key = iteratee(value)\n\n if (!result[key]) {\n result[key] = []\n }\n\n result[key].push(value)\n return result\n }, {} as any)\n}\n\nexport const rest = <T>(array: Array<T>, elementsToSkip: number = 1): Array<T> => {\n return array.slice(elementsToSkip)\n}\n\nexport const filterInPlace = <T>(array: Array<T>, predicate: (value: T, index: number, array: Array<T>) => boolean): void => {\n for (let i = array.length - 1; i >= 0; i--) {\n const value = array[i]\n if (value !== undefined && !predicate(value, i, array)) {\n array.splice(i, 1)\n }\n }\n}\n\nexport const clear = (array: Array<unknown>): void => {\n filterInPlace(array, () => false)\n}\n\nexport const bisect = <T, LeftType, RightType>(\n array: Array<T>,\n bisector: (element: T, index: number) => Either<LeftType, RightType>\n): [Array<LeftType>, Array<RightType>] => {\n return Eithers.split(array.map(bisector))\n}\n\nexport const toArray = <T>(array: Arrayable<T>): Array<T> => {\n if (Array.isArray(array)) {\n return array\n }\n\n return [array]\n}\n\nexport const flatten = <T>(array: Array<Array<T>>): Array<T> => {\n return array.flatMap((it) => it)\n}\n"],"mappings":"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","names":["first","equalBy"]}
@@ -1,12 +1,12 @@
1
- import Zod from 'zod';
2
1
  import { NominalType } from '@bessemer/cornerstone/types';
3
2
  import { Result } from '@bessemer/cornerstone/result';
4
3
  import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
5
- export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"aspect-ratio">;
4
+ import * as ResourceKeys from '@bessemer/cornerstone/resource-key';
5
+ export declare const Namespace: ResourceKeys.ResourceNamespace<"aspect-ratio">;
6
6
  export type AspectRatio = NominalType<string, typeof Namespace>;
7
7
  export declare const parseString: (value: string) => Result<AspectRatio, ErrorEvent>;
8
8
  export declare const from: (value: string) => AspectRatio;
9
- export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<AspectRatio, string>>;
9
+ export declare const Schema: import("zod").ZodPipe<import("zod").ZodType<AspectRatio, AspectRatio, import("zod/v4/core").$ZodTypeInternals<AspectRatio, AspectRatio>>, import("zod").ZodTransform<AspectRatio, AspectRatio>>;
10
10
  export declare const fromDimensions: (width: number, height: number) => AspectRatio;
11
11
  export declare const numericValue: (aspectRatio: AspectRatio) => number;
12
12
  export declare const calculateHeight: (width: number, aspectRatio: AspectRatio) => number;
@@ -1 +1 @@
1
- {"version":3,"file":"aspect-ratio.d.ts","sourceRoot":"","sources":["../src/aspect-ratio.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAIhG,eAAO,MAAM,SAAS,gFAAkC,CAAA;AACxD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAE/D,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAMzE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,WAEpC,CAAA;AAED,eAAO,MAAM,MAAM,mEAIjB,CAAA;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,WAK9D,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,aAAa,WAAW,KAAG,MAGvD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,aAAa,WAAW,KAAG,MAGzE,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,aAAa,WAAW,KAAG,MAGzE,CAAA"}
1
+ {"version":3,"file":"aspect-ratio.d.ts","sourceRoot":"","sources":["../src/aspect-ratio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACpE,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAA;AAGlE,eAAO,MAAM,SAAS,gDAA+C,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAE/D,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAQzE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,WAEpC,CAAA;AAED,eAAO,MAAM,MAAM,iMAIjB,CAAA;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,WAK9D,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,aAAa,WAAW,KAAG,MAGvD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,aAAa,WAAW,KAAG,MAGzE,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,aAAa,WAAW,KAAG,MAGzE,CAAA"}
@@ -1,27 +1,28 @@
1
1
  // src/aspect-ratio.ts
2
- import Zod from "zod";
3
- import { greatestCommonFactor } from "@bessemer/cornerstone/math";
4
- import { failure, success } from "@bessemer/cornerstone/result";
5
- import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
6
- import { createNamespace } from "@bessemer/cornerstone/resource-key";
7
- import { structuredTransform } from "@bessemer/cornerstone/zod-util";
8
- var Namespace = createNamespace("aspect-ratio");
2
+ import * as Maths from "@bessemer/cornerstone/math";
3
+ import * as Results from "@bessemer/cornerstone/result";
4
+ import * as ErrorEvents from "@bessemer/cornerstone/error/error-event";
5
+ import * as ResourceKeys from "@bessemer/cornerstone/resource-key";
6
+ import * as ZodUtil from "@bessemer/cornerstone/zod-util";
7
+ var Namespace = ResourceKeys.createNamespace("aspect-ratio");
9
8
  var parseString = (value) => {
10
9
  if (!/^[1-9]\d*:[1-9]\d*$/.test(value)) {
11
- return failure(invalidValue(value, { namespace: Namespace, message: `Aspect Ratio must be in the format 'width:height' (e.g., '16:9', '4:3').` }));
10
+ return Results.failure(
11
+ ErrorEvents.invalidValue(value, { namespace: Namespace, message: `Aspect Ratio must be in the format 'width:height' (e.g., '16:9', '4:3').` })
12
+ );
12
13
  }
13
- return success(value);
14
+ return Results.success(value);
14
15
  };
15
16
  var from = (value) => {
16
- return unpackResult(parseString(value));
17
+ return ErrorEvents.unpackResult(parseString(value));
17
18
  };
18
- var Schema = structuredTransform(Zod.string(), parseString).meta({
19
+ var Schema = ZodUtil.structuredTransform(ZodUtil.string(), parseString).meta({
19
20
  type: "string",
20
21
  format: Namespace,
21
22
  pattern: "^[1-9]\\d*:[1-9]\\d*$"
22
23
  });
23
24
  var fromDimensions = (width, height) => {
24
- const factor = greatestCommonFactor(width, height);
25
+ const factor = Maths.greatestCommonFactor(width, height);
25
26
  const ratioWidth = width / factor;
26
27
  const ratioHeight = height / factor;
27
28
  return `${ratioWidth}:${ratioHeight}`;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/aspect-ratio.ts"],"sourcesContent":["import Zod from 'zod'\nimport { greatestCommonFactor } from '@bessemer/cornerstone/math'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = createNamespace('aspect-ratio')\nexport type AspectRatio = NominalType<string, typeof Namespace>\n\nexport const parseString = (value: string): Result<AspectRatio, ErrorEvent> => {\n if (!/^[1-9]\\d*:[1-9]\\d*$/.test(value)) {\n return failure(invalidValue(value, { namespace: Namespace, message: `Aspect Ratio must be in the format 'width:height' (e.g., '16:9', '4:3').` }))\n }\n\n return success(value as AspectRatio)\n}\n\nexport const from = (value: string): AspectRatio => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString).meta({\n type: 'string',\n format: Namespace,\n pattern: '^[1-9]\\\\d*:[1-9]\\\\d*$',\n})\n\nexport const fromDimensions = (width: number, height: number): AspectRatio => {\n const factor = greatestCommonFactor(width, height)\n const ratioWidth = width / factor\n const ratioHeight = height / factor\n return `${ratioWidth}:${ratioHeight}` as AspectRatio\n}\n\nexport const numericValue = (aspectRatio: AspectRatio): number => {\n const [width, height] = aspectRatio.split(':').map(Number)\n return width! / height!\n}\n\nexport const calculateHeight = (width: number, aspectRatio: AspectRatio): number => {\n const ratio = numericValue(aspectRatio)\n return width / ratio\n}\n\nexport const calculateWidth = (height: number, aspectRatio: AspectRatio): number => {\n const ratio = numericValue(aspectRatio)\n return height * ratio\n}\n"],"mappings":";AAAA,OAAO,SAAS;AAChB,SAAS,4BAA4B;AAErC,SAAS,SAAiB,eAAe;AACzC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,uBAAuB;AAChC,SAAS,2BAA2B;AAE7B,IAAM,YAAY,gBAAgB,cAAc;AAGhD,IAAM,cAAc,CAAC,UAAmD;AAC7E,MAAI,CAAC,sBAAsB,KAAK,KAAK,GAAG;AACtC,WAAO,QAAQ,aAAa,OAAO,EAAE,WAAW,WAAW,SAAS,2EAA2E,CAAC,CAAC;AAAA,EACnJ;AAEA,SAAO,QAAQ,KAAoB;AACrC;AAEO,IAAM,OAAO,CAAC,UAA+B;AAClD,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW,EAAE,KAAK;AAAA,EACxE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX,CAAC;AAEM,IAAM,iBAAiB,CAAC,OAAe,WAAgC;AAC5E,QAAM,SAAS,qBAAqB,OAAO,MAAM;AACjD,QAAM,aAAa,QAAQ;AAC3B,QAAM,cAAc,SAAS;AAC7B,SAAO,GAAG,UAAU,IAAI,WAAW;AACrC;AAEO,IAAM,eAAe,CAAC,gBAAqC;AAChE,QAAM,CAAC,OAAO,MAAM,IAAI,YAAY,MAAM,GAAG,EAAE,IAAI,MAAM;AACzD,SAAO,QAAS;AAClB;AAEO,IAAM,kBAAkB,CAAC,OAAe,gBAAqC;AAClF,QAAM,QAAQ,aAAa,WAAW;AACtC,SAAO,QAAQ;AACjB;AAEO,IAAM,iBAAiB,CAAC,QAAgB,gBAAqC;AAClF,QAAM,QAAQ,aAAa,WAAW;AACtC,SAAO,SAAS;AAClB;","names":[]}
1
+ {"version":3,"sources":["../src/aspect-ratio.ts"],"sourcesContent":["import * as Maths from '@bessemer/cornerstone/math'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport * as Results from '@bessemer/cornerstone/result'\nimport { Result } from '@bessemer/cornerstone/result'\nimport * as ErrorEvents from '@bessemer/cornerstone/error/error-event'\nimport { ErrorEvent } from '@bessemer/cornerstone/error/error-event'\nimport * as ResourceKeys from '@bessemer/cornerstone/resource-key'\nimport * as ZodUtil from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = ResourceKeys.createNamespace('aspect-ratio')\nexport type AspectRatio = NominalType<string, typeof Namespace>\n\nexport const parseString = (value: string): Result<AspectRatio, ErrorEvent> => {\n if (!/^[1-9]\\d*:[1-9]\\d*$/.test(value)) {\n return Results.failure(\n ErrorEvents.invalidValue(value, { namespace: Namespace, message: `Aspect Ratio must be in the format 'width:height' (e.g., '16:9', '4:3').` })\n )\n }\n\n return Results.success(value as AspectRatio)\n}\n\nexport const from = (value: string): AspectRatio => {\n return ErrorEvents.unpackResult(parseString(value))\n}\n\nexport const Schema = ZodUtil.structuredTransform<AspectRatio>(ZodUtil.string(), parseString).meta({\n type: 'string',\n format: Namespace,\n pattern: '^[1-9]\\\\d*:[1-9]\\\\d*$',\n})\n\nexport const fromDimensions = (width: number, height: number): AspectRatio => {\n const factor = Maths.greatestCommonFactor(width, height)\n const ratioWidth = width / factor\n const ratioHeight = height / factor\n return `${ratioWidth}:${ratioHeight}` as AspectRatio\n}\n\nexport const numericValue = (aspectRatio: AspectRatio): number => {\n const [width, height] = aspectRatio.split(':').map(Number)\n return width! / height!\n}\n\nexport const calculateHeight = (width: number, aspectRatio: AspectRatio): number => {\n const ratio = numericValue(aspectRatio)\n return width / ratio\n}\n\nexport const calculateWidth = (height: number, aspectRatio: AspectRatio): number => {\n const ratio = numericValue(aspectRatio)\n return height * ratio\n}\n"],"mappings":";AAAA,YAAY,WAAW;AAEvB,YAAY,aAAa;AAEzB,YAAY,iBAAiB;AAE7B,YAAY,kBAAkB;AAC9B,YAAY,aAAa;AAElB,IAAM,YAAyB,6BAAgB,cAAc;AAG7D,IAAM,cAAc,CAAC,UAAmD;AAC7E,MAAI,CAAC,sBAAsB,KAAK,KAAK,GAAG;AACtC,WAAe;AAAA,MACD,yBAAa,OAAO,EAAE,WAAW,WAAW,SAAS,2EAA2E,CAAC;AAAA,IAC/I;AAAA,EACF;AAEA,SAAe,gBAAQ,KAAoB;AAC7C;AAEO,IAAM,OAAO,CAAC,UAA+B;AAClD,SAAmB,yBAAa,YAAY,KAAK,CAAC;AACpD;AAEO,IAAM,SAAiB,4BAAyC,eAAO,GAAG,WAAW,EAAE,KAAK;AAAA,EACjG,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX,CAAC;AAEM,IAAM,iBAAiB,CAAC,OAAe,WAAgC;AAC5E,QAAM,SAAe,2BAAqB,OAAO,MAAM;AACvD,QAAM,aAAa,QAAQ;AAC3B,QAAM,cAAc,SAAS;AAC7B,SAAO,GAAG,UAAU,IAAI,WAAW;AACrC;AAEO,IAAM,eAAe,CAAC,gBAAqC;AAChE,QAAM,CAAC,OAAO,MAAM,IAAI,YAAY,MAAM,GAAG,EAAE,IAAI,MAAM;AACzD,SAAO,QAAS;AAClB;AAEO,IAAM,kBAAkB,CAAC,OAAe,gBAAqC;AAClF,QAAM,QAAQ,aAAa,WAAW;AACtC,SAAO,QAAQ;AACjB;AAEO,IAAM,iBAAiB,CAAC,QAAgB,gBAAqC;AAClF,QAAM,QAAQ,aAAa,WAAW;AACtC,SAAO,SAAS;AAClB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"assertion.d.ts","sourceRoot":"","sources":["../src/assertion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAA;AAGjD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,SAAS,CAAC,MAAM,CAA+C,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAItI;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,SAAS,CAAC,MAAM,CAAkD,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAEvI;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,EACR,OAAO,GAAE,SAAS,CAAC,MAAM,CAAsD,GAC9E,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAEjC"}
1
+ {"version":3,"file":"assertion.d.ts","sourceRoot":"","sources":["../src/assertion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAA;AAGjD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,SAAS,CAAC,MAAM,CAA+C,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAItI;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,SAAS,CAAC,MAAM,CAAkD,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAEvI;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,EACR,OAAO,GAAE,SAAS,CAAC,MAAM,CAAsD,GAC9E,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAEjC"}
package/dist/assertion.js CHANGED
@@ -1,16 +1,16 @@
1
1
  // src/assertion.ts
2
- import { evaluate } from "@bessemer/cornerstone/lazy";
3
- import { isNil, isPresent } from "@bessemer/cornerstone/object";
2
+ import * as Lazy from "@bessemer/cornerstone/lazy";
3
+ import * as Objects from "@bessemer/cornerstone/object";
4
4
  function assert(value, message = () => "Assertions.assert failed validation") {
5
5
  if (!value) {
6
- throw new Error(evaluate(message));
6
+ throw new Error(Lazy.evaluate(message));
7
7
  }
8
8
  }
9
9
  function assertNil(value, message = () => "Assertions.assertNil failed validation") {
10
- return assert(isNil(value), message);
10
+ return assert(Objects.isNil(value), message);
11
11
  }
12
12
  function assertPresent(value, message = () => "Assertions.assertPresent failed validation") {
13
- return assert(isPresent(value), message);
13
+ return assert(Objects.isPresent(value), message);
14
14
  }
15
15
  export {
16
16
  assert,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/assertion.ts"],"sourcesContent":["import { evaluate, LazyValue } from '@bessemer/cornerstone/lazy'\nimport { Nil } from '@bessemer/cornerstone/types'\nimport { isNil, isPresent } from '@bessemer/cornerstone/object'\n\nexport function assert(value: boolean, message: LazyValue<string> = () => 'Assertions.assert failed validation'): asserts value is true {\n if (!value) {\n throw new Error(evaluate(message))\n }\n}\n\nexport function assertNil(value: any, message: LazyValue<string> = () => 'Assertions.assertNil failed validation'): asserts value is Nil {\n return assert(isNil(value), message)\n}\n\nexport function assertPresent<T>(\n value: T,\n message: LazyValue<string> = () => 'Assertions.assertPresent failed validation'\n): asserts value is NonNullable<T> {\n return assert(isPresent(value), message)\n}\n"],"mappings":";AAAA,SAAS,gBAA2B;AAEpC,SAAS,OAAO,iBAAiB;AAE1B,SAAS,OAAO,OAAgB,UAA6B,MAAM,uCAA8D;AACtI,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,SAAS,OAAO,CAAC;AAAA,EACnC;AACF;AAEO,SAAS,UAAU,OAAY,UAA6B,MAAM,0CAAgE;AACvI,SAAO,OAAO,MAAM,KAAK,GAAG,OAAO;AACrC;AAEO,SAAS,cACd,OACA,UAA6B,MAAM,8CACF;AACjC,SAAO,OAAO,UAAU,KAAK,GAAG,OAAO;AACzC;","names":[]}
1
+ {"version":3,"sources":["../src/assertion.ts"],"sourcesContent":["import * as Lazy from '@bessemer/cornerstone/lazy'\nimport { LazyValue } from '@bessemer/cornerstone/lazy'\nimport { Nil } from '@bessemer/cornerstone/types'\nimport * as Objects from '@bessemer/cornerstone/object'\n\nexport function assert(value: boolean, message: LazyValue<string> = () => 'Assertions.assert failed validation'): asserts value is true {\n if (!value) {\n throw new Error(Lazy.evaluate(message))\n }\n}\n\nexport function assertNil(value: any, message: LazyValue<string> = () => 'Assertions.assertNil failed validation'): asserts value is Nil {\n return assert(Objects.isNil(value), message)\n}\n\nexport function assertPresent<T>(\n value: T,\n message: LazyValue<string> = () => 'Assertions.assertPresent failed validation'\n): asserts value is NonNullable<T> {\n return assert(Objects.isPresent(value), message)\n}\n"],"mappings":";AAAA,YAAY,UAAU;AAGtB,YAAY,aAAa;AAElB,SAAS,OAAO,OAAgB,UAA6B,MAAM,uCAA8D;AACtI,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAW,cAAS,OAAO,CAAC;AAAA,EACxC;AACF;AAEO,SAAS,UAAU,OAAY,UAA6B,MAAM,0CAAgE;AACvI,SAAO,OAAe,cAAM,KAAK,GAAG,OAAO;AAC7C;AAEO,SAAS,cACd,OACA,UAA6B,MAAM,8CACF;AACjC,SAAO,OAAe,kBAAU,KAAK,GAAG,OAAO;AACjD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  // src/async-value.ts
2
2
  import Zod from "zod";
3
- import { isNil } from "@bessemer/cornerstone/object";
3
+ import * as Objects from "@bessemer/cornerstone/object";
4
4
  import * as Assertions from "@bessemer/cornerstone/assertion";
5
5
  var schema = (_) => {
6
6
  return Zod.object({
@@ -53,7 +53,7 @@ var handle = (value, handlers) => {
53
53
  if (value.isError) {
54
54
  return handlers.error(value.data);
55
55
  }
56
- if (isNil(value.data)) {
56
+ if (Objects.isNil(value.data)) {
57
57
  return handlers.absent();
58
58
  }
59
59
  return handlers.success(value.data);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/async-value.ts"],"sourcesContent":["import Zod, { ZodType } from 'zod'\nimport { isNil } from '@bessemer/cornerstone/object'\nimport * as Assertions from '@bessemer/cornerstone/assertion'\n\nexport type PendingValue = {\n isSuccess: false\n isError: false\n isLoading: false\n isFetching: boolean\n data: undefined\n}\n\nexport type LoadingValue = {\n isSuccess: false\n isError: false\n isLoading: true\n isFetching: boolean\n data: undefined\n}\n\nexport type ErrorValue = {\n isSuccess: false\n isError: true\n isLoading: false\n isFetching: boolean\n data: unknown\n}\n\nexport type FetchingValueSuccess<T> = {\n isSuccess: true\n isError: false\n isLoading: false\n isFetching: true\n data: T\n}\n\nexport type FetchingValueError = {\n isSuccess: false\n isError: true\n isLoading: false\n isFetching: true\n data: unknown\n}\n\nexport type SettledValue<T> = {\n isSuccess: true\n isError: false\n isLoading: false\n isFetching: false\n data: T\n}\n\nexport type AsyncValue<T> = PendingValue | LoadingValue | ErrorValue | FetchingValueSuccess<T> | FetchingValueError | SettledValue<T>\n\nexport const schema = <T extends ZodType>(_: T): ZodType<AsyncValue<Zod.infer<T>>> => {\n return Zod.object({\n isSuccess: Zod.boolean(),\n isError: Zod.boolean(),\n isLoading: Zod.boolean(),\n isFetching: Zod.boolean(),\n data: Zod.unknown(),\n }) as any\n}\n\nexport const pending = (): PendingValue => ({ isSuccess: false, isError: false, isLoading: false, isFetching: false, data: undefined })\n\nexport const isPending = (value: AsyncValue<unknown>): value is PendingValue => {\n return !value.isLoading && !value.isSuccess && !value.isError && !value.isFetching\n}\n\nexport function assertPending<T>(value: AsyncValue<T>): asserts value is PendingValue {\n Assertions.assert(isPending(value))\n}\n\nexport const settled = <T>(data: T): SettledValue<T> => ({ isSuccess: true, isError: false, isLoading: false, isFetching: false, data })\n\nexport const isSettled = <T>(value: AsyncValue<T>): value is SettledValue<T> => {\n return value.isSuccess && !value.isError && !value.isLoading && !value.isFetching\n}\n\nexport function assertSettled<T>(value: AsyncValue<T>): asserts value is SettledValue<T> {\n Assertions.assert(isSettled(value))\n}\n\nexport const loading = (): LoadingValue => ({ isSuccess: false, isError: false, isLoading: true, isFetching: true, data: undefined })\n\nexport const isLoading = <T>(value: AsyncValue<T>): value is LoadingValue => {\n return value.isLoading\n}\n\nexport function assertLoading<T>(value: AsyncValue<T>): asserts value is LoadingValue {\n Assertions.assert(isLoading(value))\n}\n\nexport const error = (error: unknown): ErrorValue => ({ isSuccess: false, isError: true, isLoading: false, isFetching: false, data: error })\n\nexport const isError = <T>(value: AsyncValue<T>): value is ErrorValue => {\n return value.isError\n}\n\nexport function assertError<T>(value: AsyncValue<T>): asserts value is ErrorValue {\n Assertions.assert(isError(value))\n}\n\nexport const fetching = <T>(data: T): FetchingValueSuccess<T> => ({\n isSuccess: true,\n isError: false,\n isLoading: false,\n isFetching: true,\n data,\n})\n\nexport const handle = <T, N>(\n value: AsyncValue<T | null>,\n handlers: { loading: () => N; error: (error: unknown) => N; absent: () => N; success: (data: T) => N }\n): N => {\n if (value.isLoading || (value.isError && value.isFetching)) {\n return handlers.loading()\n }\n if (value.isError) {\n return handlers.error(value.data)\n }\n if (isNil(value.data)) {\n return handlers.absent()\n }\n\n return handlers.success(value.data)\n}\n\nexport const map = <T, N>(value: AsyncValue<T>, mapper: (value: T) => N): AsyncValue<N> => {\n if (!value.isSuccess) {\n return value\n }\n\n return { ...value, data: mapper(value.data) }\n}\n"],"mappings":";AAAA,OAAO,SAAsB;AAC7B,SAAS,aAAa;AACtB,YAAY,gBAAgB;AAoDrB,IAAM,SAAS,CAAoB,MAA4C;AACpF,SAAO,IAAI,OAAO;AAAA,IAChB,WAAW,IAAI,QAAQ;AAAA,IACvB,SAAS,IAAI,QAAQ;AAAA,IACrB,WAAW,IAAI,QAAQ;AAAA,IACvB,YAAY,IAAI,QAAQ;AAAA,IACxB,MAAM,IAAI,QAAQ;AAAA,EACpB,CAAC;AACH;AAEO,IAAM,UAAU,OAAqB,EAAE,WAAW,OAAO,SAAS,OAAO,WAAW,OAAO,YAAY,OAAO,MAAM,OAAU;AAE9H,IAAM,YAAY,CAAC,UAAsD;AAC9E,SAAO,CAAC,MAAM,aAAa,CAAC,MAAM,aAAa,CAAC,MAAM,WAAW,CAAC,MAAM;AAC1E;AAEO,SAAS,cAAiB,OAAqD;AACpF,EAAW,kBAAO,UAAU,KAAK,CAAC;AACpC;AAEO,IAAM,UAAU,CAAI,UAA8B,EAAE,WAAW,MAAM,SAAS,OAAO,WAAW,OAAO,YAAY,OAAO,KAAK;AAE/H,IAAM,YAAY,CAAI,UAAmD;AAC9E,SAAO,MAAM,aAAa,CAAC,MAAM,WAAW,CAAC,MAAM,aAAa,CAAC,MAAM;AACzE;AAEO,SAAS,cAAiB,OAAwD;AACvF,EAAW,kBAAO,UAAU,KAAK,CAAC;AACpC;AAEO,IAAM,UAAU,OAAqB,EAAE,WAAW,OAAO,SAAS,OAAO,WAAW,MAAM,YAAY,MAAM,MAAM,OAAU;AAE5H,IAAM,YAAY,CAAI,UAAgD;AAC3E,SAAO,MAAM;AACf;AAEO,SAAS,cAAiB,OAAqD;AACpF,EAAW,kBAAO,UAAU,KAAK,CAAC;AACpC;AAEO,IAAM,QAAQ,CAACA,YAAgC,EAAE,WAAW,OAAO,SAAS,MAAM,WAAW,OAAO,YAAY,OAAO,MAAMA,OAAM;AAEnI,IAAM,UAAU,CAAI,UAA8C;AACvE,SAAO,MAAM;AACf;AAEO,SAAS,YAAe,OAAmD;AAChF,EAAW,kBAAO,QAAQ,KAAK,CAAC;AAClC;AAEO,IAAM,WAAW,CAAI,UAAsC;AAAA,EAChE,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ;AACF;AAEO,IAAM,SAAS,CACpB,OACA,aACM;AACN,MAAI,MAAM,aAAc,MAAM,WAAW,MAAM,YAAa;AAC1D,WAAO,SAAS,QAAQ;AAAA,EAC1B;AACA,MAAI,MAAM,SAAS;AACjB,WAAO,SAAS,MAAM,MAAM,IAAI;AAAA,EAClC;AACA,MAAI,MAAM,MAAM,IAAI,GAAG;AACrB,WAAO,SAAS,OAAO;AAAA,EACzB;AAEA,SAAO,SAAS,QAAQ,MAAM,IAAI;AACpC;AAEO,IAAM,MAAM,CAAO,OAAsB,WAA2C;AACzF,MAAI,CAAC,MAAM,WAAW;AACpB,WAAO;AAAA,EACT;AAEA,SAAO,EAAE,GAAG,OAAO,MAAM,OAAO,MAAM,IAAI,EAAE;AAC9C;","names":["error"]}
1
+ {"version":3,"sources":["../src/async-value.ts"],"sourcesContent":["import Zod, { ZodType } from 'zod'\nimport * as Objects from '@bessemer/cornerstone/object'\nimport * as Assertions from '@bessemer/cornerstone/assertion'\n\nexport type PendingValue = {\n isSuccess: false\n isError: false\n isLoading: false\n isFetching: boolean\n data: undefined\n}\n\nexport type LoadingValue = {\n isSuccess: false\n isError: false\n isLoading: true\n isFetching: boolean\n data: undefined\n}\n\nexport type ErrorValue = {\n isSuccess: false\n isError: true\n isLoading: false\n isFetching: boolean\n data: unknown\n}\n\nexport type FetchingValueSuccess<T> = {\n isSuccess: true\n isError: false\n isLoading: false\n isFetching: true\n data: T\n}\n\nexport type FetchingValueError = {\n isSuccess: false\n isError: true\n isLoading: false\n isFetching: true\n data: unknown\n}\n\nexport type SettledValue<T> = {\n isSuccess: true\n isError: false\n isLoading: false\n isFetching: false\n data: T\n}\n\nexport type AsyncValue<T> = PendingValue | LoadingValue | ErrorValue | FetchingValueSuccess<T> | FetchingValueError | SettledValue<T>\n\nexport const schema = <T extends ZodType>(_: T): ZodType<AsyncValue<Zod.infer<T>>> => {\n return Zod.object({\n isSuccess: Zod.boolean(),\n isError: Zod.boolean(),\n isLoading: Zod.boolean(),\n isFetching: Zod.boolean(),\n data: Zod.unknown(),\n }) as any\n}\n\nexport const pending = (): PendingValue => ({ isSuccess: false, isError: false, isLoading: false, isFetching: false, data: undefined })\n\nexport const isPending = (value: AsyncValue<unknown>): value is PendingValue => {\n return !value.isLoading && !value.isSuccess && !value.isError && !value.isFetching\n}\n\nexport function assertPending<T>(value: AsyncValue<T>): asserts value is PendingValue {\n Assertions.assert(isPending(value))\n}\n\nexport const settled = <T>(data: T): SettledValue<T> => ({ isSuccess: true, isError: false, isLoading: false, isFetching: false, data })\n\nexport const isSettled = <T>(value: AsyncValue<T>): value is SettledValue<T> => {\n return value.isSuccess && !value.isError && !value.isLoading && !value.isFetching\n}\n\nexport function assertSettled<T>(value: AsyncValue<T>): asserts value is SettledValue<T> {\n Assertions.assert(isSettled(value))\n}\n\nexport const loading = (): LoadingValue => ({ isSuccess: false, isError: false, isLoading: true, isFetching: true, data: undefined })\n\nexport const isLoading = <T>(value: AsyncValue<T>): value is LoadingValue => {\n return value.isLoading\n}\n\nexport function assertLoading<T>(value: AsyncValue<T>): asserts value is LoadingValue {\n Assertions.assert(isLoading(value))\n}\n\nexport const error = (error: unknown): ErrorValue => ({ isSuccess: false, isError: true, isLoading: false, isFetching: false, data: error })\n\nexport const isError = <T>(value: AsyncValue<T>): value is ErrorValue => {\n return value.isError\n}\n\nexport function assertError<T>(value: AsyncValue<T>): asserts value is ErrorValue {\n Assertions.assert(isError(value))\n}\n\nexport const fetching = <T>(data: T): FetchingValueSuccess<T> => ({\n isSuccess: true,\n isError: false,\n isLoading: false,\n isFetching: true,\n data,\n})\n\nexport const handle = <T, N>(\n value: AsyncValue<T | null>,\n handlers: { loading: () => N; error: (error: unknown) => N; absent: () => N; success: (data: T) => N }\n): N => {\n if (value.isLoading || (value.isError && value.isFetching)) {\n return handlers.loading()\n }\n if (value.isError) {\n return handlers.error(value.data)\n }\n if (Objects.isNil(value.data)) {\n return handlers.absent()\n }\n\n return handlers.success(value.data)\n}\n\nexport const map = <T, N>(value: AsyncValue<T>, mapper: (value: T) => N): AsyncValue<N> => {\n if (!value.isSuccess) {\n return value\n }\n\n return { ...value, data: mapper(value.data) }\n}\n"],"mappings":";AAAA,OAAO,SAAsB;AAC7B,YAAY,aAAa;AACzB,YAAY,gBAAgB;AAoDrB,IAAM,SAAS,CAAoB,MAA4C;AACpF,SAAO,IAAI,OAAO;AAAA,IAChB,WAAW,IAAI,QAAQ;AAAA,IACvB,SAAS,IAAI,QAAQ;AAAA,IACrB,WAAW,IAAI,QAAQ;AAAA,IACvB,YAAY,IAAI,QAAQ;AAAA,IACxB,MAAM,IAAI,QAAQ;AAAA,EACpB,CAAC;AACH;AAEO,IAAM,UAAU,OAAqB,EAAE,WAAW,OAAO,SAAS,OAAO,WAAW,OAAO,YAAY,OAAO,MAAM,OAAU;AAE9H,IAAM,YAAY,CAAC,UAAsD;AAC9E,SAAO,CAAC,MAAM,aAAa,CAAC,MAAM,aAAa,CAAC,MAAM,WAAW,CAAC,MAAM;AAC1E;AAEO,SAAS,cAAiB,OAAqD;AACpF,EAAW,kBAAO,UAAU,KAAK,CAAC;AACpC;AAEO,IAAM,UAAU,CAAI,UAA8B,EAAE,WAAW,MAAM,SAAS,OAAO,WAAW,OAAO,YAAY,OAAO,KAAK;AAE/H,IAAM,YAAY,CAAI,UAAmD;AAC9E,SAAO,MAAM,aAAa,CAAC,MAAM,WAAW,CAAC,MAAM,aAAa,CAAC,MAAM;AACzE;AAEO,SAAS,cAAiB,OAAwD;AACvF,EAAW,kBAAO,UAAU,KAAK,CAAC;AACpC;AAEO,IAAM,UAAU,OAAqB,EAAE,WAAW,OAAO,SAAS,OAAO,WAAW,MAAM,YAAY,MAAM,MAAM,OAAU;AAE5H,IAAM,YAAY,CAAI,UAAgD;AAC3E,SAAO,MAAM;AACf;AAEO,SAAS,cAAiB,OAAqD;AACpF,EAAW,kBAAO,UAAU,KAAK,CAAC;AACpC;AAEO,IAAM,QAAQ,CAACA,YAAgC,EAAE,WAAW,OAAO,SAAS,MAAM,WAAW,OAAO,YAAY,OAAO,MAAMA,OAAM;AAEnI,IAAM,UAAU,CAAI,UAA8C;AACvE,SAAO,MAAM;AACf;AAEO,SAAS,YAAe,OAAmD;AAChF,EAAW,kBAAO,QAAQ,KAAK,CAAC;AAClC;AAEO,IAAM,WAAW,CAAI,UAAsC;AAAA,EAChE,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ;AACF;AAEO,IAAM,SAAS,CACpB,OACA,aACM;AACN,MAAI,MAAM,aAAc,MAAM,WAAW,MAAM,YAAa;AAC1D,WAAO,SAAS,QAAQ;AAAA,EAC1B;AACA,MAAI,MAAM,SAAS;AACjB,WAAO,SAAS,MAAM,MAAM,IAAI;AAAA,EAClC;AACA,MAAY,cAAM,MAAM,IAAI,GAAG;AAC7B,WAAO,SAAS,OAAO;AAAA,EACzB;AAEA,SAAO,SAAS,QAAQ,MAAM,IAAI;AACpC;AAEO,IAAM,MAAM,CAAO,OAAsB,WAA2C;AACzF,MAAI,CAAC,MAAM,WAAW;AACpB,WAAO;AAAA,EACT;AAEA,SAAO,EAAE,GAAG,OAAO,MAAM,OAAO,MAAM,IAAI,EAAE;AAC9C;","names":["error"]}
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,yCAAyC,CAAA;AAGlF,eAAO,MAAM,OAAO,+CAAe,CAAA;AAEnC,eAAO,MAAM,KAAK,GAAI,UAAU,QAAQ,KAAG,OAAO,CAAC,IAAI,CAItD,CAAA"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AAGlE,eAAO,MAAM,OAAO,+CAAe,CAAA;AAEnC,eAAO,MAAM,KAAK,GAAI,UAAU,QAAQ,KAAG,OAAO,CAAC,IAAI,CAItD,CAAA"}
package/dist/async.js CHANGED
@@ -1,10 +1,10 @@
1
1
  // src/async.ts
2
- import { toMilliseconds } from "@bessemer/cornerstone/temporal/duration";
2
+ import * as Durations from "@bessemer/cornerstone/temporal/duration";
3
3
  import { executeAsync } from "@bessemer/cornerstone/internal";
4
4
  var execute = executeAsync;
5
5
  var sleep = (duration) => {
6
6
  return new Promise((resolve) => {
7
- setTimeout(resolve, toMilliseconds(duration));
7
+ setTimeout(resolve, Durations.toMilliseconds(duration));
8
8
  });
9
9
  };
10
10
  export {
package/dist/async.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/async.ts"],"sourcesContent":["import { Duration, toMilliseconds } from '@bessemer/cornerstone/temporal/duration'\nimport { executeAsync } from '@bessemer/cornerstone/internal'\n\nexport const execute = executeAsync\n\nexport const sleep = (duration: Duration): Promise<void> => {\n return new Promise((resolve) => {\n setTimeout(resolve, toMilliseconds(duration))\n })\n}\n"],"mappings":";AAAA,SAAmB,sBAAsB;AACzC,SAAS,oBAAoB;AAEtB,IAAM,UAAU;AAEhB,IAAM,QAAQ,CAAC,aAAsC;AAC1D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,SAAS,eAAe,QAAQ,CAAC;AAAA,EAC9C,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../src/async.ts"],"sourcesContent":["import * as Durations from '@bessemer/cornerstone/temporal/duration'\nimport { Duration } from '@bessemer/cornerstone/temporal/duration'\nimport { executeAsync } from '@bessemer/cornerstone/internal'\n\nexport const execute = executeAsync\n\nexport const sleep = (duration: Duration): Promise<void> => {\n return new Promise((resolve) => {\n setTimeout(resolve, Durations.toMilliseconds(duration))\n })\n}\n"],"mappings":";AAAA,YAAY,eAAe;AAE3B,SAAS,oBAAoB;AAEtB,IAAM,UAAU;AAEhB,IAAM,QAAQ,CAAC,aAAsC;AAC1D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,SAAmB,yBAAe,QAAQ,CAAC;AAAA,EACxD,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAC9I,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAY,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAIlC,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAEvE,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,EAAE,QAAQ,CAAA;IACpB,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAE9C,yBAAiB,UAAU,CAAC;IAOnB,MAAM,eAAe,GAAI,UAAU,YAAY,KAAG,UAUxD,CAAA;CACF;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;CAC1B,CAAA;AAED,yBAAiB,WAAW,CAAC;IACpB,MAAM,EAAE,GAAI,OAAO,SAAS,CAAC,WAAW,CAAC;;KAE/C,CAAA;IAEM,MAAM,SAAS,GAAI,WAAW,iBAAiB,EAAE,QAAQ,WAAW,KAAG,WAE7E,CAAA;CACF;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AACvD,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,SAAS,CAAgB,CAAA;AAE/D,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAA;IAEf,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAEjE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1I,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtE,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7C;AAED,8BAAsB,kBAAkB,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IAExB,UAAU,GAAU,KAAK,WAAW,EAAE,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC,CAMzE;IAED,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzI,UAAU,GAAU,KAAK,WAAW,EAAE,OAAO,CAAC,GAAG,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;IAED,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,EAAE,iBAAiB,CAAA;IAEvB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7C;AAED,8BAAsB,qBAAqB,CAAC,CAAC,CAAE,SAAQ,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAC3H,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IAEhC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAA;IAEf,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IAE7C,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAEtH,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAA;IAEtD,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAA;IAE3D,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IAChG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;CACrC;AAED,8BAAsB,0BAA0B,CAAC,CAAC,CAAE,SAAQ,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,YAAW,kBAAkB,CAAC,CAAC,CAAC;IACpI,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IAEhC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAEvC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,CAAA;IACR,aAAa,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAA;CACtC,CAAA;AAED,yBAAiB,UAAU,CAAC;IACnB,MAAM,QAAQ,GAAI,CAAC,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,KAAG,OAMlD,CAAA;IAEM,MAAM,MAAM,GAAI,CAAC,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,KAAG,OAU5D,CAAA;IAEM,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,KAAG,OAAyB,CAAA;IAEhF,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,KAAG,OAMjD,CAAA;IAEM,MAAM,EAAE,GAAI,CAAC,EAAE,OAAO,CAAC,kBAQ7B,CAAA;IAGM,MAAM,UAAU,GAAI,CAAC,EAAE,eAAe,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,UAAU,KAAG,UAAU,CAAC,CAAC,CAwB3F,CAAA;CACF;AAED,MAAM,MAAM,yBAAyB,GAAG,yBAAyB,GAAG;IAClE,KAAK,EAAE,yBAAyB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,eAAe,CAAA;IAEzB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;AACvE,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG;IACtD,IAAI,EAAE,iBAAiB,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG;IAC3D,KAAK,EAAE,yBAAyB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,WAAW,SAAS,0BAA0B,IAAI;IAClF,IAAI,EAAE,iBAAiB,CAAA;IACvB,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;CAC5E,CAAA"}
package/dist/cache.js CHANGED
@@ -1,21 +1,20 @@
1
1
  // src/cache.ts
2
2
  import { AbstractLocalKeyValueStore, AbstractRemoteKeyValueStore } from "@bessemer/cornerstone/store";
3
- import { OneDay, OneHour } from "@bessemer/cornerstone/temporal/duration";
3
+ import * as Durations from "@bessemer/cornerstone/temporal/duration";
4
4
  import Zod from "zod";
5
- import { deepMerge, isNil } from "@bessemer/cornerstone/object";
6
- import { toArray } from "@bessemer/cornerstone/array";
5
+ import * as Objects from "@bessemer/cornerstone/object";
7
6
  import { Arrays, Entries, ResourceKeys } from "@bessemer/cornerstone";
8
7
  import * as Instants from "@bessemer/cornerstone/temporal/instant";
9
8
  var CacheProps;
10
9
  ((CacheProps2) => {
11
10
  const DefaultCacheProps = {
12
11
  maxSize: 5e4,
13
- timeToLive: OneDay,
14
- timeToStale: OneHour
12
+ timeToLive: Durations.OneDay,
13
+ timeToStale: Durations.OneHour
15
14
  };
16
15
  CacheProps2.buildCacheProps = (options) => {
17
16
  options = options ?? {};
18
- const props = deepMerge(DefaultCacheProps, options);
17
+ const props = Objects.deepMerge(DefaultCacheProps, options);
19
18
  if (props.maxSize === null && props.timeToLive === null) {
20
19
  throw new Error("Invalid cache configuration, both maxSize and timeToLive are null");
21
20
  }
@@ -25,7 +24,7 @@ var CacheProps;
25
24
  var CacheSector;
26
25
  ((CacheSector2) => {
27
26
  CacheSector2.of = (globs) => {
28
- return { globs: toArray(globs) };
27
+ return { globs: Arrays.toArray(globs) };
29
28
  };
30
29
  CacheSector2.namespace = (namespace2, sector) => {
31
30
  return { globs: ResourceKeys.namespaceKeys(sector.globs, namespace2).map((it) => it) };
@@ -59,17 +58,17 @@ var CacheEntry;
59
58
  return true;
60
59
  };
61
60
  CacheEntry2.isDead = (entry) => {
62
- if (isNil(entry)) {
61
+ if (Objects.isNil(entry)) {
63
62
  return true;
64
63
  }
65
- if (isNil(entry.liveTimestamp)) {
64
+ if (Objects.isNil(entry.liveTimestamp)) {
66
65
  return false;
67
66
  }
68
67
  return Instants.isBefore(entry.liveTimestamp, Instants.now());
69
68
  };
70
69
  CacheEntry2.isAlive = (entry) => !(0, CacheEntry2.isDead)(entry);
71
70
  CacheEntry2.isStale = (entry) => {
72
- if (isNil(entry.staleTimestamp)) {
71
+ if (Objects.isNil(entry.staleTimestamp)) {
73
72
  return false;
74
73
  }
75
74
  return Instants.isBefore(entry.staleTimestamp, Instants.now());
@@ -84,14 +83,14 @@ var CacheEntry;
84
83
  };
85
84
  CacheEntry2.applyProps = (originalEntry, props) => {
86
85
  let liveTimestamp = originalEntry.liveTimestamp;
87
- if (!isNil(props.timeToLive)) {
86
+ if (!Objects.isNil(props.timeToLive)) {
88
87
  const limit = Instants.add(Instants.now(), props.timeToLive);
89
88
  if (Instants.isBefore(limit, liveTimestamp ?? limit)) {
90
89
  liveTimestamp = Instants.toLiteral(limit);
91
90
  }
92
91
  }
93
92
  let staleTimestamp = originalEntry.staleTimestamp;
94
- if (!isNil(props.timeToStale)) {
93
+ if (!Objects.isNil(props.timeToStale)) {
95
94
  const limit = Instants.add(Instants.now(), props.timeToStale);
96
95
  if (Instants.isBefore(limit, staleTimestamp ?? limit)) {
97
96
  staleTimestamp = Instants.toLiteral(limit);