@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,17 +1,20 @@
1
1
  import { Temporal } from '@js-temporal/polyfill';
2
+ import * as ResourceKeys from '@bessemer/cornerstone/resource-key';
2
3
  import { NominalType } from '@bessemer/cornerstone/types';
3
4
  import { Comparator } from '@bessemer/cornerstone/comparator';
4
- import { Result } from '@bessemer/cornerstone/result';
5
- import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
5
+ import * as Equalitors from '@bessemer/cornerstone/equalitor';
6
+ import * as Results from '@bessemer/cornerstone/result';
7
+ import * as ErrorEvents from '@bessemer/cornerstone/error/error-event';
6
8
  import Zod from 'zod';
7
- import { Duration, DurationLike } from '@bessemer/cornerstone/temporal/duration';
8
- import { InstantLike } from '@bessemer/cornerstone/temporal/instant';
9
+ import * as Clocks from '@bessemer/cornerstone/temporal/clock';
10
+ import * as Durations from '@bessemer/cornerstone/temporal/duration';
11
+ import * as Instants from '@bessemer/cornerstone/temporal/instant';
9
12
  import { TimeZoneId } from '@bessemer/cornerstone/temporal/time-zone-id';
10
13
  import { TimeUnit } from '@bessemer/cornerstone/temporal/chrono';
11
14
  import { PlainTimeBuilder, TimeFormatOptions } from '@bessemer/cornerstone/temporal/plain-time';
12
15
  import { DateFormatOptions, PlainDateBuilder } from '@bessemer/cornerstone/temporal/plain-date';
13
16
  export type ZonedDateTime = Temporal.ZonedDateTime;
14
- export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"zoned-date-time">;
17
+ export declare const Namespace: ResourceKeys.ResourceNamespace<"zoned-date-time">;
15
18
  export type ZonedDateTimeLiteral = NominalType<string, typeof Namespace>;
16
19
  export type ZonedDateTimeBuilder = PlainDateBuilder & PlainTimeBuilder & {
17
20
  timeZone: TimeZoneId;
@@ -22,9 +25,9 @@ export declare function from(value: ZonedDateTimeLike | string | null): ZonedDat
22
25
  export declare function from(value: ZonedDateTimeLike | string | undefined): ZonedDateTime | undefined;
23
26
  export declare function from(value: ZonedDateTimeLike | string | null | undefined): ZonedDateTime | null | undefined;
24
27
  export declare const CompareBy: Comparator<ZonedDateTime>;
25
- export declare const EqualBy: import("@bessemer/cornerstone/equalitor").Equalitor<Temporal.ZonedDateTime>;
26
- export declare const parseString: (value: string) => Result<ZonedDateTime, ErrorEvent>;
27
- export declare const fromInstant: (instant: InstantLike, zone: TimeZoneId) => ZonedDateTime;
28
+ export declare const EqualBy: Equalitors.Equalitor<Temporal.ZonedDateTime>;
29
+ export declare const parseString: (value: string) => Results.Result<ZonedDateTime, ErrorEvents.ErrorEvent>;
30
+ export declare const fromInstant: (instant: Instants.InstantLike, zone: TimeZoneId) => ZonedDateTime;
28
31
  export declare function toLiteral(likeValue: ZonedDateTimeLike): ZonedDateTimeLiteral;
29
32
  export declare function toLiteral(likeValue: ZonedDateTimeLike | null): ZonedDateTimeLiteral | null;
30
33
  export declare function toLiteral(likeValue: ZonedDateTimeLike | undefined): ZonedDateTimeLiteral | undefined;
@@ -34,13 +37,13 @@ export declare const SchemaInstance: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform
34
37
  export declare const isPlainDateTime: (value: unknown) => value is ZonedDateTime;
35
38
  export declare const now: (zone: TimeZoneId, clock?: {
36
39
  readonly zone: TimeZoneId;
37
- instant(): import("@bessemer/cornerstone/temporal/instant").Instant;
38
- withZone(zone: TimeZoneId): import("@bessemer/cornerstone/temporal/clock").Clock;
40
+ instant(): Instants.Instant;
41
+ withZone(zone: TimeZoneId): Clocks.Clock;
39
42
  }) => ZonedDateTime;
40
43
  export declare const merge: (element: ZonedDateTimeLike, builder: Partial<ZonedDateTimeBuilder>) => ZonedDateTime;
41
- export declare const add: (element: ZonedDateTimeLike, duration: DurationLike) => ZonedDateTime;
42
- export declare const subtract: (element: ZonedDateTimeLike, duration: DurationLike) => ZonedDateTime;
43
- export declare const until: (element: ZonedDateTimeLike, other: ZonedDateTimeLike) => Duration;
44
+ export declare const add: (element: ZonedDateTimeLike, duration: Durations.DurationLike) => ZonedDateTime;
45
+ export declare const subtract: (element: ZonedDateTimeLike, duration: Durations.DurationLike) => ZonedDateTime;
46
+ export declare const until: (element: ZonedDateTimeLike, other: ZonedDateTimeLike) => Durations.Duration;
44
47
  export declare const round: (element: ZonedDateTimeLike, unit: TimeUnit) => ZonedDateTime;
45
48
  export declare function isEqual(element: ZonedDateTimeLike, other: ZonedDateTimeLike): boolean;
46
49
  export declare function isEqual(element: ZonedDateTimeLike | null, other: ZonedDateTimeLike | null): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"zoned-date-time.d.ts","sourceRoot":"","sources":["../../src/temporal/zoned-date-time.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zoned-date-time.d.ts","sourceRoot":"","sources":["../../src/temporal/zoned-date-time.ts"],"names":[],"mappings":"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"}
@@ -1,87 +1,86 @@
1
1
  // src/temporal/zoned-date-time.ts
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
- import { createNamespace } from "@bessemer/cornerstone/resource-key";
4
- import { fromComparator } from "@bessemer/cornerstone/equalitor";
3
+ import * as ResourceKeys from "@bessemer/cornerstone/resource-key";
4
+ import * as Equalitors from "@bessemer/cornerstone/equalitor";
5
5
  import * as Results from "@bessemer/cornerstone/result";
6
- import { failure, success } from "@bessemer/cornerstone/result";
7
- import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
8
- import { isError } from "@bessemer/cornerstone/error/error";
9
- import { structuredTransform } from "@bessemer/cornerstone/zod-util";
6
+ import * as ErrorEvents from "@bessemer/cornerstone/error/error-event";
7
+ import * as Errors from "@bessemer/cornerstone/error/error";
8
+ import * as ZodUtil from "@bessemer/cornerstone/zod-util";
10
9
  import Zod from "zod";
11
- import { Default as DefaultClock } from "@bessemer/cornerstone/temporal/clock";
12
- import { from as _fromDuration } from "@bessemer/cornerstone/temporal/duration";
13
- import { from as _fromInstant } from "@bessemer/cornerstone/temporal/instant";
14
- import { isString } from "@bessemer/cornerstone/string";
15
- import { isNil } from "@bessemer/cornerstone/object";
16
- var Namespace = createNamespace("zoned-date-time");
17
- function from(value) {
18
- if (isNil(value)) {
10
+ import * as Clocks from "@bessemer/cornerstone/temporal/clock";
11
+ import * as Durations from "@bessemer/cornerstone/temporal/duration";
12
+ import * as Instants from "@bessemer/cornerstone/temporal/instant";
13
+ import * as Strings from "@bessemer/cornerstone/string";
14
+ import * as Objects from "@bessemer/cornerstone/object";
15
+ var Namespace = ResourceKeys.createNamespace("zoned-date-time");
16
+ function from3(value) {
17
+ if (Objects.isNil(value)) {
19
18
  return value;
20
19
  }
21
20
  if (value instanceof Temporal.ZonedDateTime) {
22
21
  return value;
23
22
  }
24
- if (isString(value)) {
25
- return unpackResult(parseString(value));
23
+ if (Strings.isString(value)) {
24
+ return ErrorEvents.unpackResult(parseString(value));
26
25
  }
27
26
  return Temporal.ZonedDateTime.from(value);
28
27
  }
29
28
  var CompareBy = (first, second) => Temporal.PlainDateTime.compare(first, second);
30
- var EqualBy = fromComparator(CompareBy);
29
+ var EqualBy = Equalitors.fromComparator(CompareBy);
31
30
  var parseString = (value) => {
32
31
  try {
33
- return success(Temporal.ZonedDateTime.from(value));
32
+ return Results.success(Temporal.ZonedDateTime.from(value));
34
33
  } catch (e) {
35
- if (!isError(e)) {
34
+ if (!Errors.isError(e)) {
36
35
  throw e;
37
36
  }
38
- return failure(invalidValue(value, { namespace: Namespace, message: e.message }));
37
+ return Results.failure(ErrorEvents.invalidValue(value, { namespace: Namespace, message: e.message }));
39
38
  }
40
39
  };
41
40
  var fromInstant = (instant, zone) => {
42
- return _fromInstant(instant).toZonedDateTimeISO(zone);
41
+ return Instants.from(instant).toZonedDateTimeISO(zone);
43
42
  };
44
43
  function toLiteral(likeValue) {
45
- if (isNil(likeValue)) {
44
+ if (Objects.isNil(likeValue)) {
46
45
  return likeValue;
47
46
  }
48
- const value = from(likeValue);
47
+ const value = from3(likeValue);
49
48
  return value.toString();
50
49
  }
51
- var SchemaLiteral = structuredTransform(Zod.string(), (it) => Results.map(parseString(it), (it2) => toLiteral(it2)));
52
- var SchemaInstance = structuredTransform(Zod.string(), parseString);
50
+ var SchemaLiteral = ZodUtil.structuredTransform(Zod.string(), (it) => Results.map(parseString(it), (it2) => toLiteral(it2)));
51
+ var SchemaInstance = ZodUtil.structuredTransform(Zod.string(), parseString);
53
52
  var isPlainDateTime = (value) => {
54
53
  return value instanceof Temporal.PlainDateTime;
55
54
  };
56
- var now = (zone, clock = DefaultClock) => {
55
+ var now = (zone, clock = Clocks.Default) => {
57
56
  return fromInstant(clock.instant(), zone);
58
57
  };
59
58
  var merge = (element, builder) => {
60
- return from(element).with(builder);
59
+ return from3(element).with(builder);
61
60
  };
62
61
  var add = (element, duration) => {
63
- return from(element).add(_fromDuration(duration));
62
+ return from3(element).add(Durations.from(duration));
64
63
  };
65
64
  var subtract = (element, duration) => {
66
- return from(element).subtract(_fromDuration(duration));
65
+ return from3(element).subtract(Durations.from(duration));
67
66
  };
68
67
  var until = (element, other) => {
69
- return from(element).until(from(other));
68
+ return from3(element).until(from3(other));
70
69
  };
71
70
  var round = (element, unit) => {
72
- return from(element).round({ smallestUnit: unit });
71
+ return from3(element).round({ smallestUnit: unit });
73
72
  };
74
73
  function isEqual(element, other) {
75
- if (isNil(element) || isNil(other)) {
74
+ if (Objects.isNil(element) || Objects.isNil(other)) {
76
75
  return element === other;
77
76
  }
78
- return EqualBy(from(element), from(other));
77
+ return EqualBy(from3(element), from3(other));
79
78
  }
80
79
  var isBefore = (element, other) => {
81
- return CompareBy(from(element), from(other)) < 0;
80
+ return CompareBy(from3(element), from3(other)) < 0;
82
81
  };
83
82
  var isAfter = (element, other) => {
84
- return CompareBy(from(element), from(other)) > 0;
83
+ return CompareBy(from3(element), from3(other)) > 0;
85
84
  };
86
85
  export {
87
86
  CompareBy,
@@ -90,7 +89,7 @@ export {
90
89
  SchemaInstance,
91
90
  SchemaLiteral,
92
91
  add,
93
- from,
92
+ from3 as from,
94
93
  fromInstant,
95
94
  isAfter,
96
95
  isBefore,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/temporal/zoned-date-time.ts"],"sourcesContent":["import { Temporal } from '@js-temporal/polyfill'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport { Comparator } from '@bessemer/cornerstone/comparator'\nimport { fromComparator } from '@bessemer/cornerstone/equalitor'\nimport * as Results from '@bessemer/cornerstone/result'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { isError } from '@bessemer/cornerstone/error/error'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\nimport Zod from 'zod'\nimport { Default as DefaultClock } from '@bessemer/cornerstone/temporal/clock'\nimport { Duration, DurationLike, from as _fromDuration } from '@bessemer/cornerstone/temporal/duration'\nimport { from as _fromInstant, InstantLike } from '@bessemer/cornerstone/temporal/instant'\nimport { TimeZoneId } from '@bessemer/cornerstone/temporal/time-zone-id'\nimport { TimeUnit } from '@bessemer/cornerstone/temporal/chrono'\nimport { isString } from '@bessemer/cornerstone/string'\nimport { isNil } from '@bessemer/cornerstone/object'\nimport { PlainTimeBuilder, TimeFormatOptions } from '@bessemer/cornerstone/temporal/plain-time'\nimport { DateFormatOptions, PlainDateBuilder } from '@bessemer/cornerstone/temporal/plain-date'\n\nexport type ZonedDateTime = Temporal.ZonedDateTime\nexport const Namespace = createNamespace('zoned-date-time')\nexport type ZonedDateTimeLiteral = NominalType<string, typeof Namespace>\nexport type ZonedDateTimeBuilder = PlainDateBuilder &\n PlainTimeBuilder & {\n timeZone: TimeZoneId\n }\n\nexport type ZonedDateTimeLike = ZonedDateTime | ZonedDateTimeLiteral | ZonedDateTimeBuilder\n\nexport function from(value: ZonedDateTimeLike | string): ZonedDateTime\nexport function from(value: ZonedDateTimeLike | string | null): ZonedDateTime | null\nexport function from(value: ZonedDateTimeLike | string | undefined): ZonedDateTime | undefined\nexport function from(value: ZonedDateTimeLike | string | null | undefined): ZonedDateTime | null | undefined\nexport function from(value: ZonedDateTimeLike | string | null | undefined): ZonedDateTime | null | undefined {\n if (isNil(value)) {\n return value\n }\n\n if (value instanceof Temporal.ZonedDateTime) {\n return value\n }\n\n if (isString(value)) {\n return unpackResult(parseString(value))\n }\n\n return Temporal.ZonedDateTime.from(value)\n}\n\nexport const CompareBy: Comparator<ZonedDateTime> = (first: ZonedDateTime, second: ZonedDateTime): number =>\n Temporal.PlainDateTime.compare(first, second)\nexport const EqualBy = fromComparator(CompareBy)\n\nexport const parseString = (value: string): Result<ZonedDateTime, ErrorEvent> => {\n try {\n return success(Temporal.ZonedDateTime.from(value))\n } catch (e) {\n if (!isError(e)) {\n throw e\n }\n\n return failure(invalidValue(value, { namespace: Namespace, message: e.message }))\n }\n}\n\nexport const fromInstant = (instant: InstantLike, zone: TimeZoneId): ZonedDateTime => {\n return _fromInstant(instant).toZonedDateTimeISO(zone)\n}\n\nexport function toLiteral(likeValue: ZonedDateTimeLike): ZonedDateTimeLiteral\nexport function toLiteral(likeValue: ZonedDateTimeLike | null): ZonedDateTimeLiteral | null\nexport function toLiteral(likeValue: ZonedDateTimeLike | undefined): ZonedDateTimeLiteral | undefined\nexport function toLiteral(likeValue: ZonedDateTimeLike | null | undefined): ZonedDateTimeLiteral | null | undefined\nexport function toLiteral(likeValue: ZonedDateTimeLike | null | undefined): ZonedDateTimeLiteral | null | undefined {\n if (isNil(likeValue)) {\n return likeValue\n }\n\n const value = from(likeValue)\n return value.toString() as ZonedDateTimeLiteral\n}\n\nexport const SchemaLiteral = structuredTransform(Zod.string(), (it: string) => Results.map(parseString(it), (it) => toLiteral(it)))\nexport const SchemaInstance = structuredTransform(Zod.string(), parseString)\n\nexport const isPlainDateTime = (value: unknown): value is ZonedDateTime => {\n return value instanceof Temporal.PlainDateTime\n}\n\nexport const now = (zone: TimeZoneId, clock = DefaultClock): ZonedDateTime => {\n return fromInstant(clock.instant(), zone)\n}\n\nexport const merge = (element: ZonedDateTimeLike, builder: Partial<ZonedDateTimeBuilder>): ZonedDateTime => {\n return from(element).with(builder)\n}\n\nexport const add = (element: ZonedDateTimeLike, duration: DurationLike): ZonedDateTime => {\n return from(element).add(_fromDuration(duration))\n}\n\nexport const subtract = (element: ZonedDateTimeLike, duration: DurationLike): ZonedDateTime => {\n return from(element).subtract(_fromDuration(duration))\n}\n\nexport const until = (element: ZonedDateTimeLike, other: ZonedDateTimeLike): Duration => {\n return from(element).until(from(other))\n}\n\nexport const round = (element: ZonedDateTimeLike, unit: TimeUnit): ZonedDateTime => {\n return from(element).round({ smallestUnit: unit })\n}\n\nexport function isEqual(element: ZonedDateTimeLike, other: ZonedDateTimeLike): boolean\nexport function isEqual(element: ZonedDateTimeLike | null, other: ZonedDateTimeLike | null): boolean\nexport function isEqual(element: ZonedDateTimeLike | undefined, other: ZonedDateTimeLike | undefined): boolean\nexport function isEqual(element: ZonedDateTimeLike | null | undefined, other: ZonedDateTimeLike | null | undefined): boolean {\n if (isNil(element) || isNil(other)) {\n return element === other\n }\n\n return EqualBy(from(element), from(other))\n}\n\nexport const isBefore = (element: ZonedDateTimeLike, other: ZonedDateTimeLike): boolean => {\n return CompareBy(from(element), from(other)) < 0\n}\n\nexport const isAfter = (element: ZonedDateTimeLike, other: ZonedDateTimeLike): boolean => {\n return CompareBy(from(element), from(other)) > 0\n}\n\nexport type DateTimeFormatOptions = DateFormatOptions & TimeFormatOptions\n\n// JOHN need to consider what to do about time zone offset vs. time zone id discrepancy\n// export const format = (element: ZonedDateTimeLike, locale: Locale, options: DateTimeFormatOptions): string => {\n// const zonedDateTime = from(element)\n//\n// // Convert PlainDateTime to Date\n// const date = new Date(\n// zonedDateTime.year,\n// zonedDateTime.month - 1, // Date months are 0-based\n// zonedDateTime.day,\n// zonedDateTime.hour,\n// zonedDateTime.minute,\n// zonedDateTime.second,\n// zonedDateTime.millisecond\n// )\n//\n// const formatter = new Intl.DateTimeFormat(locale, { ...options, timeZone: zonedDateTime.timeZoneId })\n// return formatter.format(date)\n// }\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAGhC,SAAS,sBAAsB;AAC/B,YAAY,aAAa;AACzB,SAAS,SAAiB,eAAe;AACzC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,eAAe;AACxB,SAAS,2BAA2B;AACpC,OAAO,SAAS;AAChB,SAAS,WAAW,oBAAoB;AACxC,SAAiC,QAAQ,qBAAqB;AAC9D,SAAS,QAAQ,oBAAiC;AAGlD,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAKf,IAAM,YAAY,gBAAgB,iBAAiB;AAanD,SAAS,KAAK,OAAwF;AAC3G,MAAI,MAAM,KAAK,GAAG;AAChB,WAAO;AAAA,EACT;AAEA,MAAI,iBAAiB,SAAS,eAAe;AAC3C,WAAO;AAAA,EACT;AAEA,MAAI,SAAS,KAAK,GAAG;AACnB,WAAO,aAAa,YAAY,KAAK,CAAC;AAAA,EACxC;AAEA,SAAO,SAAS,cAAc,KAAK,KAAK;AAC1C;AAEO,IAAM,YAAuC,CAAC,OAAsB,WACzE,SAAS,cAAc,QAAQ,OAAO,MAAM;AACvC,IAAM,UAAU,eAAe,SAAS;AAExC,IAAM,cAAc,CAAC,UAAqD;AAC/E,MAAI;AACF,WAAO,QAAQ,SAAS,cAAc,KAAK,KAAK,CAAC;AAAA,EACnD,SAAS,GAAG;AACV,QAAI,CAAC,QAAQ,CAAC,GAAG;AACf,YAAM;AAAA,IACR;AAEA,WAAO,QAAQ,aAAa,OAAO,EAAE,WAAW,WAAW,SAAS,EAAE,QAAQ,CAAC,CAAC;AAAA,EAClF;AACF;AAEO,IAAM,cAAc,CAAC,SAAsB,SAAoC;AACpF,SAAO,aAAa,OAAO,EAAE,mBAAmB,IAAI;AACtD;AAMO,SAAS,UAAU,WAA0F;AAClH,MAAI,MAAM,SAAS,GAAG;AACpB,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,KAAK,SAAS;AAC5B,SAAO,MAAM,SAAS;AACxB;AAEO,IAAM,gBAAgB,oBAAoB,IAAI,OAAO,GAAG,CAAC,OAAuB,YAAI,YAAY,EAAE,GAAG,CAACA,QAAO,UAAUA,GAAE,CAAC,CAAC;AAC3H,IAAM,iBAAiB,oBAAoB,IAAI,OAAO,GAAG,WAAW;AAEpE,IAAM,kBAAkB,CAAC,UAA2C;AACzE,SAAO,iBAAiB,SAAS;AACnC;AAEO,IAAM,MAAM,CAAC,MAAkB,QAAQ,iBAAgC;AAC5E,SAAO,YAAY,MAAM,QAAQ,GAAG,IAAI;AAC1C;AAEO,IAAM,QAAQ,CAAC,SAA4B,YAA0D;AAC1G,SAAO,KAAK,OAAO,EAAE,KAAK,OAAO;AACnC;AAEO,IAAM,MAAM,CAAC,SAA4B,aAA0C;AACxF,SAAO,KAAK,OAAO,EAAE,IAAI,cAAc,QAAQ,CAAC;AAClD;AAEO,IAAM,WAAW,CAAC,SAA4B,aAA0C;AAC7F,SAAO,KAAK,OAAO,EAAE,SAAS,cAAc,QAAQ,CAAC;AACvD;AAEO,IAAM,QAAQ,CAAC,SAA4B,UAAuC;AACvF,SAAO,KAAK,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;AACxC;AAEO,IAAM,QAAQ,CAAC,SAA4B,SAAkC;AAClF,SAAO,KAAK,OAAO,EAAE,MAAM,EAAE,cAAc,KAAK,CAAC;AACnD;AAKO,SAAS,QAAQ,SAA+C,OAAsD;AAC3H,MAAI,MAAM,OAAO,KAAK,MAAM,KAAK,GAAG;AAClC,WAAO,YAAY;AAAA,EACrB;AAEA,SAAO,QAAQ,KAAK,OAAO,GAAG,KAAK,KAAK,CAAC;AAC3C;AAEO,IAAM,WAAW,CAAC,SAA4B,UAAsC;AACzF,SAAO,UAAU,KAAK,OAAO,GAAG,KAAK,KAAK,CAAC,IAAI;AACjD;AAEO,IAAM,UAAU,CAAC,SAA4B,UAAsC;AACxF,SAAO,UAAU,KAAK,OAAO,GAAG,KAAK,KAAK,CAAC,IAAI;AACjD;","names":["it"]}
1
+ {"version":3,"sources":["../../src/temporal/zoned-date-time.ts"],"sourcesContent":["import { Temporal } from '@js-temporal/polyfill'\nimport * as ResourceKeys from '@bessemer/cornerstone/resource-key'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport { Comparator } from '@bessemer/cornerstone/comparator'\nimport * as Equalitors from '@bessemer/cornerstone/equalitor'\nimport * as Results from '@bessemer/cornerstone/result'\nimport * as ErrorEvents from '@bessemer/cornerstone/error/error-event'\nimport * as Errors from '@bessemer/cornerstone/error/error'\nimport * as ZodUtil from '@bessemer/cornerstone/zod-util'\nimport Zod from 'zod'\nimport * as Clocks from '@bessemer/cornerstone/temporal/clock'\nimport * as Durations from '@bessemer/cornerstone/temporal/duration'\nimport * as Instants from '@bessemer/cornerstone/temporal/instant'\nimport { TimeZoneId } from '@bessemer/cornerstone/temporal/time-zone-id'\nimport { TimeUnit } from '@bessemer/cornerstone/temporal/chrono'\nimport * as Strings from '@bessemer/cornerstone/string'\nimport * as Objects from '@bessemer/cornerstone/object'\nimport { PlainTimeBuilder, TimeFormatOptions } from '@bessemer/cornerstone/temporal/plain-time'\nimport { DateFormatOptions, PlainDateBuilder } from '@bessemer/cornerstone/temporal/plain-date'\n\nexport type ZonedDateTime = Temporal.ZonedDateTime\nexport const Namespace = ResourceKeys.createNamespace('zoned-date-time')\nexport type ZonedDateTimeLiteral = NominalType<string, typeof Namespace>\nexport type ZonedDateTimeBuilder = PlainDateBuilder &\n PlainTimeBuilder & {\n timeZone: TimeZoneId\n }\n\nexport type ZonedDateTimeLike = ZonedDateTime | ZonedDateTimeLiteral | ZonedDateTimeBuilder\n\nexport function from(value: ZonedDateTimeLike | string): ZonedDateTime\nexport function from(value: ZonedDateTimeLike | string | null): ZonedDateTime | null\nexport function from(value: ZonedDateTimeLike | string | undefined): ZonedDateTime | undefined\nexport function from(value: ZonedDateTimeLike | string | null | undefined): ZonedDateTime | null | undefined\nexport function from(value: ZonedDateTimeLike | string | null | undefined): ZonedDateTime | null | undefined {\n if (Objects.isNil(value)) {\n return value\n }\n\n if (value instanceof Temporal.ZonedDateTime) {\n return value\n }\n\n if (Strings.isString(value)) {\n return ErrorEvents.unpackResult(parseString(value))\n }\n\n return Temporal.ZonedDateTime.from(value)\n}\n\nexport const CompareBy: Comparator<ZonedDateTime> = (first: ZonedDateTime, second: ZonedDateTime): number =>\n Temporal.PlainDateTime.compare(first, second)\nexport const EqualBy = Equalitors.fromComparator(CompareBy)\n\nexport const parseString = (value: string): Results.Result<ZonedDateTime, ErrorEvents.ErrorEvent> => {\n try {\n return Results.success(Temporal.ZonedDateTime.from(value))\n } catch (e) {\n if (!Errors.isError(e)) {\n throw e\n }\n\n return Results.failure(ErrorEvents.invalidValue(value, { namespace: Namespace, message: e.message }))\n }\n}\n\nexport const fromInstant = (instant: Instants.InstantLike, zone: TimeZoneId): ZonedDateTime => {\n return Instants.from(instant).toZonedDateTimeISO(zone)\n}\n\nexport function toLiteral(likeValue: ZonedDateTimeLike): ZonedDateTimeLiteral\nexport function toLiteral(likeValue: ZonedDateTimeLike | null): ZonedDateTimeLiteral | null\nexport function toLiteral(likeValue: ZonedDateTimeLike | undefined): ZonedDateTimeLiteral | undefined\nexport function toLiteral(likeValue: ZonedDateTimeLike | null | undefined): ZonedDateTimeLiteral | null | undefined\nexport function toLiteral(likeValue: ZonedDateTimeLike | null | undefined): ZonedDateTimeLiteral | null | undefined {\n if (Objects.isNil(likeValue)) {\n return likeValue\n }\n\n const value = from(likeValue)\n return value.toString() as ZonedDateTimeLiteral\n}\n\nexport const SchemaLiteral = ZodUtil.structuredTransform(Zod.string(), (it: string) => Results.map(parseString(it), (it) => toLiteral(it)))\nexport const SchemaInstance = ZodUtil.structuredTransform(Zod.string(), parseString)\n\nexport const isPlainDateTime = (value: unknown): value is ZonedDateTime => {\n return value instanceof Temporal.PlainDateTime\n}\n\nexport const now = (zone: TimeZoneId, clock = Clocks.Default): ZonedDateTime => {\n return fromInstant(clock.instant(), zone)\n}\n\nexport const merge = (element: ZonedDateTimeLike, builder: Partial<ZonedDateTimeBuilder>): ZonedDateTime => {\n return from(element).with(builder)\n}\n\nexport const add = (element: ZonedDateTimeLike, duration: Durations.DurationLike): ZonedDateTime => {\n return from(element).add(Durations.from(duration))\n}\n\nexport const subtract = (element: ZonedDateTimeLike, duration: Durations.DurationLike): ZonedDateTime => {\n return from(element).subtract(Durations.from(duration))\n}\n\nexport const until = (element: ZonedDateTimeLike, other: ZonedDateTimeLike): Durations.Duration => {\n return from(element).until(from(other))\n}\n\nexport const round = (element: ZonedDateTimeLike, unit: TimeUnit): ZonedDateTime => {\n return from(element).round({ smallestUnit: unit })\n}\n\nexport function isEqual(element: ZonedDateTimeLike, other: ZonedDateTimeLike): boolean\nexport function isEqual(element: ZonedDateTimeLike | null, other: ZonedDateTimeLike | null): boolean\nexport function isEqual(element: ZonedDateTimeLike | undefined, other: ZonedDateTimeLike | undefined): boolean\nexport function isEqual(element: ZonedDateTimeLike | null | undefined, other: ZonedDateTimeLike | null | undefined): boolean {\n if (Objects.isNil(element) || Objects.isNil(other)) {\n return element === other\n }\n\n return EqualBy(from(element), from(other))\n}\n\nexport const isBefore = (element: ZonedDateTimeLike, other: ZonedDateTimeLike): boolean => {\n return CompareBy(from(element), from(other)) < 0\n}\n\nexport const isAfter = (element: ZonedDateTimeLike, other: ZonedDateTimeLike): boolean => {\n return CompareBy(from(element), from(other)) > 0\n}\n\nexport type DateTimeFormatOptions = DateFormatOptions & TimeFormatOptions\n\n// JOHN need to consider what to do about time zone offset vs. time zone id discrepancy\n// export const format = (element: ZonedDateTimeLike, locale: Locale, options: DateTimeFormatOptions): string => {\n// const zonedDateTime = from(element)\n//\n// // Convert PlainDateTime to Date\n// const date = new Date(\n// zonedDateTime.year,\n// zonedDateTime.month - 1, // Date months are 0-based\n// zonedDateTime.day,\n// zonedDateTime.hour,\n// zonedDateTime.minute,\n// zonedDateTime.second,\n// zonedDateTime.millisecond\n// )\n//\n// const formatter = new Intl.DateTimeFormat(locale, { ...options, timeZone: zonedDateTime.timeZoneId })\n// return formatter.format(date)\n// }\n"],"mappings":"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","names":["from","it"]}
@@ -1,11 +1,11 @@
1
1
  import { NominalType } from '@bessemer/cornerstone/types';
2
- import Zod from 'zod';
3
2
  import { Result } from '@bessemer/cornerstone/result';
3
+ import * as ResourceKeys from '@bessemer/cornerstone/resource-key';
4
4
  import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
5
- export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"ulid">;
5
+ export declare const Namespace: ResourceKeys.ResourceNamespace<"ulid">;
6
6
  export type Ulid = NominalType<string, typeof Namespace>;
7
7
  export declare const parse: (value: string) => Result<Ulid, ErrorEvent>;
8
8
  export declare const from: (value: string) => Ulid;
9
- export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<Ulid, string>>;
9
+ export declare const Schema: import("zod").ZodPipe<import("zod").ZodType<Ulid, Ulid, import("zod/v4/core").$ZodTypeInternals<Ulid, Ulid>>, import("zod").ZodTransform<Ulid, Ulid>>;
10
10
  export declare const generate: () => Ulid;
11
11
  //# sourceMappingURL=ulid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ulid.d.ts","sourceRoot":"","sources":["../../src/uuid/ulid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAGhG,eAAO,MAAM,SAAS,wEAA0B,CAAA;AAChD,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAExD,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,IAAI,EAAE,UAAU,CAM5D,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,IAEpC,CAAA;AAED,eAAO,MAAM,MAAM,4DAIjB,CAAA;AAEF,eAAO,MAAM,QAAQ,QAAO,IAE3B,CAAA"}
1
+ {"version":3,"file":"ulid.d.ts","sourceRoot":"","sources":["../../src/uuid/ulid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAA;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AAGpE,eAAO,MAAM,SAAS,wCAAuC,CAAA;AAC7D,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAExD,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,IAAI,EAAE,UAAU,CAM5D,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,IAEpC,CAAA;AAED,eAAO,MAAM,MAAM,uJAIjB,CAAA;AAEF,eAAO,MAAM,QAAQ,QAAO,IAE3B,CAAA"}
package/dist/uuid/ulid.js CHANGED
@@ -1,21 +1,20 @@
1
1
  // src/uuid/ulid.ts
2
2
  import { ulid } from "ulid";
3
- import Zod from "zod";
4
- import { failure, success } from "@bessemer/cornerstone/result";
5
- import { createNamespace } from "@bessemer/cornerstone/resource-key";
6
- import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
7
- import { structuredTransform } from "@bessemer/cornerstone/zod-util";
8
- var Namespace = createNamespace("ulid");
3
+ import * as Results from "@bessemer/cornerstone/result";
4
+ import * as ResourceKeys from "@bessemer/cornerstone/resource-key";
5
+ import * as ErrorEvents from "@bessemer/cornerstone/error/error-event";
6
+ import * as ZodUtil from "@bessemer/cornerstone/zod-util";
7
+ var Namespace = ResourceKeys.createNamespace("ulid");
9
8
  var parse = (value) => {
10
9
  if (!/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/.test(value)) {
11
- return failure(invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid Ulid format: [${value}]` }));
10
+ return Results.failure(ErrorEvents.invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid Ulid format: [${value}]` }));
12
11
  }
13
- return success(value.toUpperCase());
12
+ return Results.success(value.toUpperCase());
14
13
  };
15
14
  var from = (value) => {
16
- return unpackResult(parse(value));
15
+ return ErrorEvents.unpackResult(parse(value));
17
16
  };
18
- var Schema = structuredTransform(Zod.string(), parse).meta({
17
+ var Schema = ZodUtil.structuredTransform(ZodUtil.string(), parse).meta({
19
18
  type: "string",
20
19
  format: Namespace,
21
20
  pattern: "^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/uuid/ulid.ts"],"sourcesContent":["import { ulid } from 'ulid'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = createNamespace('ulid')\nexport type Ulid = NominalType<string, typeof Namespace>\n\nexport const parse = (value: string): Result<Ulid, ErrorEvent> => {\n if (!/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/.test(value)) {\n return failure(invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid Ulid format: [${value}]` }))\n }\n\n return success(value.toUpperCase() as Ulid)\n}\n\nexport const from = (value: string): Ulid => {\n return unpackResult(parse(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parse).meta({\n type: 'string',\n format: Namespace,\n pattern: '^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$',\n})\n\nexport const generate = (): Ulid => {\n return ulid() as Ulid\n}\n"],"mappings":";AAAA,SAAS,YAAY;AAErB,OAAO,SAAS;AAChB,SAAS,SAAiB,eAAe;AACzC,SAAS,uBAAuB;AAChC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,2BAA2B;AAE7B,IAAM,YAAY,gBAAgB,MAAM;AAGxC,IAAM,QAAQ,CAAC,UAA4C;AAChE,MAAI,CAAC,wCAAwC,KAAK,KAAK,GAAG;AACxD,WAAO,QAAQ,aAAa,OAAO,EAAE,WAAW,WAAW,SAAS,IAAI,SAAS,4BAA4B,KAAK,IAAI,CAAC,CAAC;AAAA,EAC1H;AAEA,SAAO,QAAQ,MAAM,YAAY,CAAS;AAC5C;AAEO,IAAM,OAAO,CAAC,UAAwB;AAC3C,SAAO,aAAa,MAAM,KAAK,CAAC;AAClC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,KAAK,EAAE,KAAK;AAAA,EAClE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX,CAAC;AAEM,IAAM,WAAW,MAAY;AAClC,SAAO,KAAK;AACd;","names":[]}
1
+ {"version":3,"sources":["../../src/uuid/ulid.ts"],"sourcesContent":["import { ulid } from 'ulid'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport * as Results from '@bessemer/cornerstone/result'\nimport { Result } from '@bessemer/cornerstone/result'\nimport * as ResourceKeys from '@bessemer/cornerstone/resource-key'\nimport * as ErrorEvents from '@bessemer/cornerstone/error/error-event'\nimport { ErrorEvent } from '@bessemer/cornerstone/error/error-event'\nimport * as ZodUtil from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = ResourceKeys.createNamespace('ulid')\nexport type Ulid = NominalType<string, typeof Namespace>\n\nexport const parse = (value: string): Result<Ulid, ErrorEvent> => {\n if (!/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/.test(value)) {\n return Results.failure(ErrorEvents.invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid Ulid format: [${value}]` }))\n }\n\n return Results.success(value.toUpperCase() as Ulid)\n}\n\nexport const from = (value: string): Ulid => {\n return ErrorEvents.unpackResult(parse(value))\n}\n\nexport const Schema = ZodUtil.structuredTransform<Ulid>(ZodUtil.string(), parse).meta({\n type: 'string',\n format: Namespace,\n pattern: '^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$',\n})\n\nexport const generate = (): Ulid => {\n return ulid() as Ulid\n}\n"],"mappings":";AAAA,SAAS,YAAY;AAErB,YAAY,aAAa;AAEzB,YAAY,kBAAkB;AAC9B,YAAY,iBAAiB;AAE7B,YAAY,aAAa;AAElB,IAAM,YAAyB,6BAAgB,MAAM;AAGrD,IAAM,QAAQ,CAAC,UAA4C;AAChE,MAAI,CAAC,wCAAwC,KAAK,KAAK,GAAG;AACxD,WAAe,gBAAoB,yBAAa,OAAO,EAAE,WAAW,WAAW,SAAS,IAAI,SAAS,4BAA4B,KAAK,IAAI,CAAC,CAAC;AAAA,EAC9I;AAEA,SAAe,gBAAQ,MAAM,YAAY,CAAS;AACpD;AAEO,IAAM,OAAO,CAAC,UAAwB;AAC3C,SAAmB,yBAAa,MAAM,KAAK,CAAC;AAC9C;AAEO,IAAM,SAAiB,4BAAkC,eAAO,GAAG,KAAK,EAAE,KAAK;AAAA,EACpF,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX,CAAC;AAEM,IAAM,WAAW,MAAY;AAClC,SAAO,KAAK;AACd;","names":[]}
@@ -1,11 +1,11 @@
1
1
  import { NominalType } from '@bessemer/cornerstone/types';
2
- import Zod from 'zod';
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<"uuid-v4">;
4
+ import * as ResourceKeys from '@bessemer/cornerstone/resource-key';
5
+ export declare const Namespace: ResourceKeys.ResourceNamespace<"uuid-v4">;
6
6
  export type UuidV4 = NominalType<string, typeof Namespace>;
7
7
  export declare const parse: (value: string) => Result<UuidV4, ErrorEvent>;
8
8
  export declare const from: (value: string) => UuidV4;
9
- export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<UuidV4, string>>;
9
+ export declare const Schema: import("zod").ZodPipe<import("zod").ZodType<UuidV4, UuidV4, import("zod/v4/core").$ZodTypeInternals<UuidV4, UuidV4>>, import("zod").ZodTransform<UuidV4, UuidV4>>;
10
10
  export declare const generate: () => UuidV4;
11
11
  //# sourceMappingURL=uuid-v4.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid-v4.d.ts","sourceRoot":"","sources":["../../src/uuid/uuid-v4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,GAAG,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAIhG,eAAO,MAAM,SAAS,2EAA6B,CAAA;AACnD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAE1D,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAM9D,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,MAEpC,CAAA;AAED,eAAO,MAAM,MAAM,8DAIjB,CAAA;AAEF,eAAO,MAAM,QAAQ,QAAO,MAM3B,CAAA"}
1
+ {"version":3,"file":"uuid-v4.d.ts","sourceRoot":"","sources":["../../src/uuid/uuid-v4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAIzD,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,2CAA0C,CAAA;AAChE,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAE1D,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAM9D,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,MAEpC,CAAA;AAED,eAAO,MAAM,MAAM,mKAIjB,CAAA;AAEF,eAAO,MAAM,QAAQ,QAAO,MAM3B,CAAA"}
@@ -1,28 +1,27 @@
1
1
  // src/uuid/uuid-v4.ts
2
- import Zod from "zod";
3
- import { isNil } from "@bessemer/cornerstone/object";
4
- import { padStart } from "@bessemer/cornerstone/string";
5
- import { failure, success } from "@bessemer/cornerstone/result";
6
- import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
7
- import { createNamespace } from "@bessemer/cornerstone/resource-key";
8
- import { structuredTransform } from "@bessemer/cornerstone/zod-util";
9
- var Namespace = createNamespace("uuid-v4");
2
+ import * as Objects from "@bessemer/cornerstone/object";
3
+ import * as Strings from "@bessemer/cornerstone/string";
4
+ import * as Results from "@bessemer/cornerstone/result";
5
+ import * as ErrorEvents from "@bessemer/cornerstone/error/error-event";
6
+ import * as ResourceKeys from "@bessemer/cornerstone/resource-key";
7
+ import * as ZodUtil from "@bessemer/cornerstone/zod-util";
8
+ var Namespace = ResourceKeys.createNamespace("uuid-v4");
10
9
  var parse = (value) => {
11
10
  if (!/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(value)) {
12
- return failure(invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid UuidV4 format: [${value}]` }));
11
+ return Results.failure(ErrorEvents.invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid UuidV4 format: [${value}]` }));
13
12
  }
14
- return success(value.toLowerCase());
13
+ return Results.success(value.toLowerCase());
15
14
  };
16
15
  var from = (value) => {
17
- return unpackResult(parse(value));
16
+ return ErrorEvents.unpackResult(parse(value));
18
17
  };
19
- var Schema = structuredTransform(Zod.string(), parse).meta({
18
+ var Schema = ZodUtil.structuredTransform(ZodUtil.string(), parse).meta({
20
19
  type: "string",
21
20
  format: "uuid",
22
21
  pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
23
22
  });
24
23
  var generate = () => {
25
- if (isNil(crypto.randomUUID)) {
24
+ if (Objects.isNil(crypto.randomUUID)) {
26
25
  return `${randomHex(8)}-${randomHex(4)}-${randomHex(4)}-${randomHex(4)}-${randomHex(12)}`;
27
26
  } else {
28
27
  return crypto.randomUUID();
@@ -30,7 +29,7 @@ var generate = () => {
30
29
  };
31
30
  var randomHex = (characters) => {
32
31
  const randomNum = Math.floor(Math.random() * (16 ** characters - 1));
33
- return padStart(randomNum.toString(16), characters, "0");
32
+ return Strings.padStart(randomNum.toString(16), characters, "0");
34
33
  };
35
34
  export {
36
35
  Namespace,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/uuid/uuid-v4.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport { isNil } from '@bessemer/cornerstone/object'\nimport { padStart } from '@bessemer/cornerstone/string'\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('uuid-v4')\nexport type UuidV4 = NominalType<string, typeof Namespace>\n\nexport const parse = (value: string): Result<UuidV4, ErrorEvent> => {\n if (!/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(value)) {\n return failure(invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid UuidV4 format: [${value}]` }))\n }\n\n return success(value.toLowerCase() as UuidV4)\n}\n\nexport const from = (value: string): UuidV4 => {\n return unpackResult(parse(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parse).meta({\n type: 'string',\n format: 'uuid',\n pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$',\n})\n\nexport const generate = (): UuidV4 => {\n if (isNil(crypto.randomUUID)) {\n return `${randomHex(8)}-${randomHex(4)}-${randomHex(4)}-${randomHex(4)}-${randomHex(12)}` as UuidV4\n } else {\n return crypto.randomUUID() as UuidV4\n }\n}\n\nconst randomHex = (characters: number) => {\n // Generates a random number between 0x0..0 and 0xF..F for the target number of characters\n const randomNum = Math.floor(Math.random() * (16 ** characters - 1))\n return padStart(randomNum.toString(16), characters, '0')\n}\n"],"mappings":";AACA,OAAO,SAAS;AAChB,SAAS,aAAa;AACtB,SAAS,gBAAgB;AACzB,SAAS,SAAiB,eAAe;AACzC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,uBAAuB;AAChC,SAAS,2BAA2B;AAE7B,IAAM,YAAY,gBAAgB,SAAS;AAG3C,IAAM,QAAQ,CAAC,UAA8C;AAClE,MAAI,CAAC,6FAA6F,KAAK,KAAK,GAAG;AAC7G,WAAO,QAAQ,aAAa,OAAO,EAAE,WAAW,WAAW,SAAS,IAAI,SAAS,8BAA8B,KAAK,IAAI,CAAC,CAAC;AAAA,EAC5H;AAEA,SAAO,QAAQ,MAAM,YAAY,CAAW;AAC9C;AAEO,IAAM,OAAO,CAAC,UAA0B;AAC7C,SAAO,aAAa,MAAM,KAAK,CAAC;AAClC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,KAAK,EAAE,KAAK;AAAA,EAClE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX,CAAC;AAEM,IAAM,WAAW,MAAc;AACpC,MAAI,MAAM,OAAO,UAAU,GAAG;AAC5B,WAAO,GAAG,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;AAAA,EACzF,OAAO;AACL,WAAO,OAAO,WAAW;AAAA,EAC3B;AACF;AAEA,IAAM,YAAY,CAAC,eAAuB;AAExC,QAAM,YAAY,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,aAAa,EAAE;AACnE,SAAO,SAAS,UAAU,SAAS,EAAE,GAAG,YAAY,GAAG;AACzD;","names":[]}
1
+ {"version":3,"sources":["../../src/uuid/uuid-v4.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport * as Objects from '@bessemer/cornerstone/object'\nimport * as Strings from '@bessemer/cornerstone/string'\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('uuid-v4')\nexport type UuidV4 = NominalType<string, typeof Namespace>\n\nexport const parse = (value: string): Result<UuidV4, ErrorEvent> => {\n if (!/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(value)) {\n return Results.failure(ErrorEvents.invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid UuidV4 format: [${value}]` }))\n }\n\n return Results.success(value.toLowerCase() as UuidV4)\n}\n\nexport const from = (value: string): UuidV4 => {\n return ErrorEvents.unpackResult(parse(value))\n}\n\nexport const Schema = ZodUtil.structuredTransform<UuidV4>(ZodUtil.string(), parse).meta({\n type: 'string',\n format: 'uuid',\n pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$',\n})\n\nexport const generate = (): UuidV4 => {\n if (Objects.isNil(crypto.randomUUID)) {\n return `${randomHex(8)}-${randomHex(4)}-${randomHex(4)}-${randomHex(4)}-${randomHex(12)}` as UuidV4\n } else {\n return crypto.randomUUID() as UuidV4\n }\n}\n\nconst randomHex = (characters: number) => {\n // Generates a random number between 0x0..0 and 0xF..F for the target number of characters\n const randomNum = Math.floor(Math.random() * (16 ** characters - 1))\n return Strings.padStart(randomNum.toString(16), characters, '0')\n}\n"],"mappings":";AACA,YAAY,aAAa;AACzB,YAAY,aAAa;AACzB,YAAY,aAAa;AAEzB,YAAY,iBAAiB;AAE7B,YAAY,kBAAkB;AAC9B,YAAY,aAAa;AAElB,IAAM,YAAyB,6BAAgB,SAAS;AAGxD,IAAM,QAAQ,CAAC,UAA8C;AAClE,MAAI,CAAC,6FAA6F,KAAK,KAAK,GAAG;AAC7G,WAAe,gBAAoB,yBAAa,OAAO,EAAE,WAAW,WAAW,SAAS,IAAI,SAAS,8BAA8B,KAAK,IAAI,CAAC,CAAC;AAAA,EAChJ;AAEA,SAAe,gBAAQ,MAAM,YAAY,CAAW;AACtD;AAEO,IAAM,OAAO,CAAC,UAA0B;AAC7C,SAAmB,yBAAa,MAAM,KAAK,CAAC;AAC9C;AAEO,IAAM,SAAiB,4BAAoC,eAAO,GAAG,KAAK,EAAE,KAAK;AAAA,EACtF,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX,CAAC;AAEM,IAAM,WAAW,MAAc;AACpC,MAAY,cAAM,OAAO,UAAU,GAAG;AACpC,WAAO,GAAG,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;AAAA,EACzF,OAAO;AACL,WAAO,OAAO,WAAW;AAAA,EAC3B;AACF;AAEA,IAAM,YAAY,CAAC,eAAuB;AAExC,QAAM,YAAY,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,aAAa,EAAE;AACnE,SAAe,iBAAS,UAAU,SAAS,EAAE,GAAG,YAAY,GAAG;AACjE;","names":[]}
@@ -1,5 +1,4 @@
1
1
  import { NominalType } from '@bessemer/cornerstone/types';
2
- import Zod from 'zod';
3
2
  import { Result } from '@bessemer/cornerstone/result';
4
3
  import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
5
4
  import * as ResourceKeys from '@bessemer/cornerstone/resource-key';
@@ -9,7 +8,7 @@ export declare const Namespace: ResourceKeys.ResourceNamespace<"uuid-v7">;
9
8
  export type UuidV7 = NominalType<string, typeof Namespace>;
10
9
  export declare const parse: (value: string) => Result<UuidV7, ErrorEvent>;
11
10
  export declare const from: (value: string) => UuidV7;
12
- export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<UuidV7, string>>;
11
+ export declare const Schema: import("zod").ZodPipe<import("zod").ZodType<UuidV7, UuidV7, import("zod/v4/core").$ZodTypeInternals<UuidV7, UuidV7>>, import("zod").ZodTransform<UuidV7, UuidV7>>;
13
12
  export declare const generate: (clock?: {
14
13
  readonly zone: import("../temporal/time-zone-id").TimeZoneId;
15
14
  instant(): Instants.Instant;
@@ -1 +1 @@
1
- {"version":3,"file":"uuid-v7.d.ts","sourceRoot":"","sources":["../../src/uuid/uuid-v7.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACpE,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAA;AAElE,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAA;AAC9D,OAAO,KAAK,QAAQ,MAAM,wCAAwC,CAAA;AAGlE,eAAO,MAAM,SAAS,2CAA0C,CAAA;AAChE,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAE1D,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAM9D,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,MAEpC,CAAA;AAED,eAAO,MAAM,MAAM,8DAIjB,CAAA;AAEF,eAAO,MAAM,QAAQ,GAAI;;;;CAAsB,KAAG,MAyBjD,CAAA"}
1
+ {"version":3,"file":"uuid-v7.d.ts","sourceRoot":"","sources":["../../src/uuid/uuid-v7.ts"],"names":[],"mappings":"AAAA,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;AAElE,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAA;AAC9D,OAAO,KAAK,QAAQ,MAAM,wCAAwC,CAAA;AAGlE,eAAO,MAAM,SAAS,2CAA0C,CAAA;AAChE,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAE1D,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAM9D,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,MAEpC,CAAA;AAED,eAAO,MAAM,MAAM,mKAIjB,CAAA;AAEF,eAAO,MAAM,QAAQ,GAAI;;;;CAAsB,KAAG,MAyBjD,CAAA"}
@@ -1,5 +1,4 @@
1
1
  // src/uuid/uuid-v7.ts
2
- import Zod from "zod";
3
2
  import * as Results from "@bessemer/cornerstone/result";
4
3
  import * as ErrorEvents from "@bessemer/cornerstone/error/error-event";
5
4
  import * as ResourceKeys from "@bessemer/cornerstone/resource-key";
@@ -17,7 +16,7 @@ var parse = (value) => {
17
16
  var from = (value) => {
18
17
  return ErrorEvents.unpackResult(parse(value));
19
18
  };
20
- var Schema = ZodUtil.structuredTransform(Zod.string(), parse).meta({
19
+ var Schema = ZodUtil.structuredTransform(ZodUtil.string(), parse).meta({
21
20
  type: "string",
22
21
  format: "uuid",
23
22
  pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/uuid/uuid-v7.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\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'\nimport * as Clocks from '@bessemer/cornerstone/temporal/clock'\nimport * as Instants from '@bessemer/cornerstone/temporal/instant'\nimport * as Strings from '@bessemer/cornerstone/string'\n\nexport const Namespace = ResourceKeys.createNamespace('uuid-v7')\nexport type UuidV7 = NominalType<string, typeof Namespace>\n\nexport const parse = (value: string): Result<UuidV7, ErrorEvent> => {\n if (!/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(value)) {\n return Results.failure(ErrorEvents.invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid UuidV7 format: [${value}]` }))\n }\n\n return Results.success(value.toLowerCase() as UuidV7)\n}\n\nexport const from = (value: string): UuidV7 => {\n return ErrorEvents.unpackResult(parse(value))\n}\n\nexport const Schema = ZodUtil.structuredTransform(Zod.string(), parse).meta({\n type: 'string',\n format: 'uuid',\n pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$',\n})\n\nexport const generate = (clock = Clocks.Default): UuidV7 => {\n const timestamp = Instants.now(clock).epochMilliseconds\n\n // Convert timestamp to 48-bit (12 hex characters)\n const timestampHex = Strings.padStart(timestamp.toString(16), 12, '0')\n\n // Generate 12 bits of random data for sub-millisecond precision\n const randomA = Math.floor(Math.random() * 0x1000) // 12 bits\n\n // Set version (7) in the most significant 4 bits\n const versionAndRandom = 0x7000 | randomA\n const versionAndRandomHex = Strings.padStart(versionAndRandom.toString(16), 4, '0')\n\n // Generate 14 bits of random data for clock sequence\n const clockSeq = Math.floor(Math.random() * 0x4000) // 14 bits\n\n // Set variant bits (10xx) in the most significant 2 bits\n const variantAndClockSeq = 0x8000 | clockSeq\n const variantAndClockSeqHex = Strings.padStart(variantAndClockSeq.toString(16), 4, '0')\n\n // Generate 48 bits (12 hex characters) of random data for node\n const nodeHex = randomHex(12)\n\n // Format as UUID: xxxxxxxx-xxxx-7xxx-xxxx-xxxxxxxxxxxx\n return `${timestampHex.slice(0, 8)}-${timestampHex.slice(8, 12)}-${versionAndRandomHex}-${variantAndClockSeqHex}-${nodeHex}` as UuidV7\n}\n\nconst randomHex = (characters: number) => {\n // Generates a random number between 0x0..0 and 0xF..F for the target number of characters\n const randomNum = Math.floor(Math.random() * (16 ** characters - 1))\n return Strings.padStart(randomNum.toString(16), characters, '0')\n}\n"],"mappings":";AACA,OAAO,SAAS;AAChB,YAAY,aAAa;AAEzB,YAAY,iBAAiB;AAE7B,YAAY,kBAAkB;AAC9B,YAAY,aAAa;AACzB,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,YAAY,aAAa;AAElB,IAAM,YAAyB,6BAAgB,SAAS;AAGxD,IAAM,QAAQ,CAAC,UAA8C;AAClE,MAAI,CAAC,yFAAyF,KAAK,KAAK,GAAG;AACzG,WAAe,gBAAoB,yBAAa,OAAO,EAAE,WAAW,WAAW,SAAS,IAAI,SAAS,8BAA8B,KAAK,IAAI,CAAC,CAAC;AAAA,EAChJ;AAEA,SAAe,gBAAQ,MAAM,YAAY,CAAW;AACtD;AAEO,IAAM,OAAO,CAAC,UAA0B;AAC7C,SAAmB,yBAAa,MAAM,KAAK,CAAC;AAC9C;AAEO,IAAM,SAAiB,4BAAoB,IAAI,OAAO,GAAG,KAAK,EAAE,KAAK;AAAA,EAC1E,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX,CAAC;AAEM,IAAM,WAAW,CAAC,QAAe,mBAAoB;AAC1D,QAAM,YAAqB,aAAI,KAAK,EAAE;AAGtC,QAAM,eAAuB,iBAAS,UAAU,SAAS,EAAE,GAAG,IAAI,GAAG;AAGrE,QAAM,UAAU,KAAK,MAAM,KAAK,OAAO,IAAI,IAAM;AAGjD,QAAM,mBAAmB,QAAS;AAClC,QAAM,sBAA8B,iBAAS,iBAAiB,SAAS,EAAE,GAAG,GAAG,GAAG;AAGlF,QAAM,WAAW,KAAK,MAAM,KAAK,OAAO,IAAI,KAAM;AAGlD,QAAM,qBAAqB,QAAS;AACpC,QAAM,wBAAgC,iBAAS,mBAAmB,SAAS,EAAE,GAAG,GAAG,GAAG;AAGtF,QAAM,UAAU,UAAU,EAAE;AAG5B,SAAO,GAAG,aAAa,MAAM,GAAG,CAAC,CAAC,IAAI,aAAa,MAAM,GAAG,EAAE,CAAC,IAAI,mBAAmB,IAAI,qBAAqB,IAAI,OAAO;AAC5H;AAEA,IAAM,YAAY,CAAC,eAAuB;AAExC,QAAM,YAAY,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,aAAa,EAAE;AACnE,SAAe,iBAAS,UAAU,SAAS,EAAE,GAAG,YAAY,GAAG;AACjE;","names":[]}
1
+ {"version":3,"sources":["../../src/uuid/uuid-v7.ts"],"sourcesContent":["import { 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'\nimport * as Clocks from '@bessemer/cornerstone/temporal/clock'\nimport * as Instants from '@bessemer/cornerstone/temporal/instant'\nimport * as Strings from '@bessemer/cornerstone/string'\n\nexport const Namespace = ResourceKeys.createNamespace('uuid-v7')\nexport type UuidV7 = NominalType<string, typeof Namespace>\n\nexport const parse = (value: string): Result<UuidV7, ErrorEvent> => {\n if (!/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(value)) {\n return Results.failure(ErrorEvents.invalidValue(value, { namespace: Namespace, message: `[${Namespace}]: Invalid UuidV7 format: [${value}]` }))\n }\n\n return Results.success(value.toLowerCase() as UuidV7)\n}\n\nexport const from = (value: string): UuidV7 => {\n return ErrorEvents.unpackResult(parse(value))\n}\n\nexport const Schema = ZodUtil.structuredTransform<UuidV7>(ZodUtil.string(), parse).meta({\n type: 'string',\n format: 'uuid',\n pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$',\n})\n\nexport const generate = (clock = Clocks.Default): UuidV7 => {\n const timestamp = Instants.now(clock).epochMilliseconds\n\n // Convert timestamp to 48-bit (12 hex characters)\n const timestampHex = Strings.padStart(timestamp.toString(16), 12, '0')\n\n // Generate 12 bits of random data for sub-millisecond precision\n const randomA = Math.floor(Math.random() * 0x1000) // 12 bits\n\n // Set version (7) in the most significant 4 bits\n const versionAndRandom = 0x7000 | randomA\n const versionAndRandomHex = Strings.padStart(versionAndRandom.toString(16), 4, '0')\n\n // Generate 14 bits of random data for clock sequence\n const clockSeq = Math.floor(Math.random() * 0x4000) // 14 bits\n\n // Set variant bits (10xx) in the most significant 2 bits\n const variantAndClockSeq = 0x8000 | clockSeq\n const variantAndClockSeqHex = Strings.padStart(variantAndClockSeq.toString(16), 4, '0')\n\n // Generate 48 bits (12 hex characters) of random data for node\n const nodeHex = randomHex(12)\n\n // Format as UUID: xxxxxxxx-xxxx-7xxx-xxxx-xxxxxxxxxxxx\n return `${timestampHex.slice(0, 8)}-${timestampHex.slice(8, 12)}-${versionAndRandomHex}-${variantAndClockSeqHex}-${nodeHex}` as UuidV7\n}\n\nconst randomHex = (characters: number) => {\n // Generates a random number between 0x0..0 and 0xF..F for the target number of characters\n const randomNum = Math.floor(Math.random() * (16 ** characters - 1))\n return Strings.padStart(randomNum.toString(16), characters, '0')\n}\n"],"mappings":";AACA,YAAY,aAAa;AAEzB,YAAY,iBAAiB;AAE7B,YAAY,kBAAkB;AAC9B,YAAY,aAAa;AACzB,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,YAAY,aAAa;AAElB,IAAM,YAAyB,6BAAgB,SAAS;AAGxD,IAAM,QAAQ,CAAC,UAA8C;AAClE,MAAI,CAAC,yFAAyF,KAAK,KAAK,GAAG;AACzG,WAAe,gBAAoB,yBAAa,OAAO,EAAE,WAAW,WAAW,SAAS,IAAI,SAAS,8BAA8B,KAAK,IAAI,CAAC,CAAC;AAAA,EAChJ;AAEA,SAAe,gBAAQ,MAAM,YAAY,CAAW;AACtD;AAEO,IAAM,OAAO,CAAC,UAA0B;AAC7C,SAAmB,yBAAa,MAAM,KAAK,CAAC;AAC9C;AAEO,IAAM,SAAiB,4BAAoC,eAAO,GAAG,KAAK,EAAE,KAAK;AAAA,EACtF,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX,CAAC;AAEM,IAAM,WAAW,CAAC,QAAe,mBAAoB;AAC1D,QAAM,YAAqB,aAAI,KAAK,EAAE;AAGtC,QAAM,eAAuB,iBAAS,UAAU,SAAS,EAAE,GAAG,IAAI,GAAG;AAGrE,QAAM,UAAU,KAAK,MAAM,KAAK,OAAO,IAAI,IAAM;AAGjD,QAAM,mBAAmB,QAAS;AAClC,QAAM,sBAA8B,iBAAS,iBAAiB,SAAS,EAAE,GAAG,GAAG,GAAG;AAGlF,QAAM,WAAW,KAAK,MAAM,KAAK,OAAO,IAAI,KAAM;AAGlD,QAAM,qBAAqB,QAAS;AACpC,QAAM,wBAAgC,iBAAS,mBAAmB,SAAS,EAAE,GAAG,GAAG,GAAG;AAGtF,QAAM,UAAU,UAAU,EAAE;AAG5B,SAAO,GAAG,aAAa,MAAM,GAAG,CAAC,CAAC,IAAI,aAAa,MAAM,GAAG,EAAE,CAAC,IAAI,mBAAmB,IAAI,qBAAqB,IAAI,OAAO;AAC5H;AAEA,IAAM,YAAY,CAAC,eAAuB;AAExC,QAAM,YAAY,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,aAAa,EAAE;AACnE,SAAe,iBAAS,UAAU,SAAS,EAAE,GAAG,YAAY,GAAG;AACjE;","names":[]}
@@ -1,26 +1,7 @@
1
- /**
2
- * This module provides an implementation of the `Order` type class which is used to define a total ordering on some type `A`.
3
- * An order is defined by a relation `<=`, which obeys the following laws:
4
- *
5
- * - either `x <= y` or `y <= x` (totality)
6
- * - if `x <= y` and `y <= x`, then `x == y` (antisymmetry)
7
- * - if `x <= y` and `y <= z`, then `x <= z` (transitivity)
8
- *
9
- * The truth table for compare is defined as follows:
10
- *
11
- * | `x <= y` | `x >= y` | Ordering | |
12
- * | -------- | -------- | -------- | --------------------- |
13
- * | `true` | `true` | `0` | corresponds to x == y |
14
- * | `true` | `false` | `< 0` | corresponds to x < y |
15
- * | `false` | `true` | `> 0` | corresponds to x > y |
16
- *
17
- * @since 2.0.0
18
- */
19
1
  import Zod, { ZodError, ZodType } from 'zod';
20
2
  import { ResourceKey } from '@bessemer/cornerstone/resource-key';
21
3
  import { AsyncResult, Result } from '@bessemer/cornerstone/result';
22
4
  import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
23
- import { $RefinementCtx } from 'zod/v4/core';
24
5
  export declare const defaults: <T extends ZodType>(data: Zod.input<T>, schema: T) => Zod.output<T>;
25
6
  export declare const defaultsAsync: <T extends ZodType>(data: Zod.input<T>, schema: T) => Promise<Zod.output<T>>;
26
7
  export declare const parse: <T extends ZodType>(type: T, data: unknown) => Result<Zod.infer<T>, ZodError<Zod.infer<T>>>;
@@ -30,9 +11,11 @@ export declare const parseJsonAsync: <T extends ZodType>(type: T, data: string)
30
11
  export declare const parseJsonOrThrow: <T extends ZodType>(type: T, data: string) => Zod.infer<T>;
31
12
  export declare const arrayable: <T>(type: ZodType<T>) => Zod.ZodUnion<readonly [Zod.ZodType<T, unknown, Zod.core.$ZodTypeInternals<T, unknown>>, Zod.ZodArray<Zod.ZodType<T, unknown, Zod.core.$ZodTypeInternals<T, unknown>>>]>;
32
13
  export declare const key: () => ZodType<ResourceKey>;
14
+ export declare const any: <InputType>() => ZodType<InputType, InputType>;
15
+ export declare const string: <InputType extends string>() => ZodType<InputType, InputType>;
33
16
  export type StructuredTransformer<InputType, OutputType> = (value: InputType) => Result<OutputType, ErrorEvent>;
34
- export declare const structuredTransform: <InputType, OutputType, SchemaType extends ZodType<InputType, InputType> = ZodType<InputType, InputType>>(schema: SchemaType, transformer: StructuredTransformer<InputType, OutputType>) => Zod.ZodPipe<SchemaType, Zod.ZodTransform<Awaited<OutputType>, Zod.core.output<SchemaType>>>;
35
- export declare const refineResult: <InputType, OutputType>(transformer: StructuredTransformer<InputType, OutputType>) => ((value: InputType, context: $RefinementCtx<InputType>) => void);
17
+ export declare const structuredTransform: <InputType, OutputType = InputType, SchemaType extends ZodType<InputType, InputType> = ZodType<InputType, InputType>>(schema: SchemaType, transformer: StructuredTransformer<InputType, OutputType>) => Zod.ZodPipe<SchemaType, Zod.ZodTransform<Awaited<OutputType>, Zod.core.output<SchemaType>>>;
18
+ export declare const structuredRefine: <InputType, SchemaType extends ZodType<InputType, InputType> = ZodType<InputType, InputType>>(schema: SchemaType, transformer: StructuredTransformer<InputType, any>) => SchemaType;
36
19
  export declare const unwrap: (schema: ZodType) => ZodType;
37
20
  export declare enum ZodTypeKind {
38
21
  String = "string",
@@ -1 +1 @@
1
- {"version":3,"file":"zod-util.d.ts","sourceRoot":"","sources":["../src/zod-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-util.d.ts","sourceRoot":"","sources":["../src/zod-util.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAGhE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AAIpE,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAEvF,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,CAAC,SAAS,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAE3G,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,OAAO,KAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAO5G,CAAA;AAED,eAAO,MAAM,UAAU,GAAU,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,OAAO,KAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAO5H,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,MAAM,KAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAO7H,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,MAAM,KAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAO7I,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,MAAM,KAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAItF,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,4KAE5C,CAAA;AAED,eAAO,MAAM,GAAG,QAAO,OAAO,CAAC,WAAW,CAEzC,CAAA;AAED,eAAO,MAAM,GAAG,GAAI,SAAS,OAAK,OAAO,CAAC,SAAS,EAAE,SAAS,CAE7D,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,SAAS,SAAS,MAAM,OAAK,OAAO,CAAC,SAAS,EAAE,SAAS,CAE/E,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,SAAS,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AAE/G,eAAO,MAAM,mBAAmB,GAC9B,SAAS,EACT,UAAU,GAAG,SAAS,EACtB,UAAU,SAAS,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAEhF,QAAQ,UAAU,EAClB,aAAa,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,gGAM1D,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,EAAE,UAAU,SAAS,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1H,QAAQ,UAAU,EAClB,aAAa,qBAAqB,CAAC,SAAS,EAAE,GAAG,CAAC,eAGnD,CAAA;AAwBD,eAAO,MAAM,MAAM,GAAI,QAAQ,OAAO,KAAG,OAWxC,CAAA;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,YAAY,iBAAiB;IAC7B,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,eAAe,qBAAqB;IACpC,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,MAAM,GAAI,QAAQ,OAAO,EAAE,MAAM,WAAW,KAAG,OAE3D,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,OAAO,KAAG,OAE5C,CAAA"}