@bessemer/cornerstone 0.5.114 → 0.5.116

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
package/dist/zod-util.js CHANGED
@@ -1,15 +1,15 @@
1
1
  // src/zod-util.ts
2
2
  import Zod from "zod";
3
- import { parse as jsonParse } from "@bessemer/cornerstone/json";
3
+ import * as Json from "@bessemer/cornerstone/json";
4
4
  import * as Results from "@bessemer/cornerstone/result";
5
- import { unpackResult } from "@bessemer/cornerstone/error/error-event";
5
+ import * as ErrorEvents from "@bessemer/cornerstone/error/error-event";
6
6
  var defaults = (data, schema) => {
7
7
  return schema.parse(data);
8
8
  };
9
9
  var defaultsAsync = async (data, schema) => {
10
10
  return schema.parseAsync(data);
11
11
  };
12
- var parse = (type, data) => {
12
+ var parse2 = (type, data) => {
13
13
  const result = type.safeParse(data);
14
14
  if (result.success) {
15
15
  return Results.success(result.data);
@@ -26,14 +26,14 @@ var parseAsync = async (type, data) => {
26
26
  }
27
27
  };
28
28
  var parseJson = (type, data) => {
29
- const result = jsonParse(data);
29
+ const result = Json.parse(data);
30
30
  if (Results.isFailure(result)) {
31
31
  return result;
32
32
  }
33
- return parse(type, result);
33
+ return parse2(type, result);
34
34
  };
35
35
  var parseJsonAsync = async (type, data) => {
36
- const result = jsonParse(data);
36
+ const result = Json.parse(data);
37
37
  if (Results.isFailure(result)) {
38
38
  return result;
39
39
  }
@@ -50,13 +50,21 @@ var arrayable = (type) => {
50
50
  var key = () => {
51
51
  return Zod.string();
52
52
  };
53
+ var any = () => {
54
+ return Zod.any();
55
+ };
56
+ var string = () => {
57
+ return Zod.string();
58
+ };
53
59
  var structuredTransform = (schema, transformer) => {
54
- const refinedResultTransformer = refineResult(transformer);
55
- return schema.superRefine(refinedResultTransformer).transform((it) => {
60
+ return structuredRefine(schema, transformer).transform((it) => {
56
61
  const result = transformer(it);
57
- return unpackResult(result);
62
+ return ErrorEvents.unpackResult(result);
58
63
  });
59
64
  };
65
+ var structuredRefine = (schema, transformer) => {
66
+ return schema.superRefine(refineResult(transformer));
67
+ };
60
68
  var refineResult = (transformer) => {
61
69
  return (value, context) => {
62
70
  const result = transformer(value);
@@ -135,18 +143,20 @@ var isRequired = (schema) => {
135
143
  };
136
144
  export {
137
145
  ZodTypeKind,
146
+ any,
138
147
  arrayable,
139
148
  defaults,
140
149
  defaultsAsync,
141
150
  isRequired,
142
151
  isType,
143
152
  key,
144
- parse,
153
+ parse2 as parse,
145
154
  parseAsync,
146
155
  parseJson,
147
156
  parseJsonAsync,
148
157
  parseJsonOrThrow,
149
- refineResult,
158
+ string,
159
+ structuredRefine,
150
160
  structuredTransform,
151
161
  unwrap
152
162
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/zod-util.ts"],"sourcesContent":["/**\n * This module provides an implementation of the `Order` type class which is used to define a total ordering on some type `A`.\n * An order is defined by a relation `<=`, which obeys the following laws:\n *\n * - either `x <= y` or `y <= x` (totality)\n * - if `x <= y` and `y <= x`, then `x == y` (antisymmetry)\n * - if `x <= y` and `y <= z`, then `x <= z` (transitivity)\n *\n * The truth table for compare is defined as follows:\n *\n * | `x <= y` | `x >= y` | Ordering | |\n * | -------- | -------- | -------- | --------------------- |\n * | `true` | `true` | `0` | corresponds to x == y |\n * | `true` | `false` | `< 0` | corresponds to x < y |\n * | `false` | `true` | `> 0` | corresponds to x > y |\n *\n * @since 2.0.0\n */\nimport Zod, { ZodError, ZodType } from 'zod'\nimport { ResourceKey } from '@bessemer/cornerstone/resource-key'\nimport { parse as jsonParse } from '@bessemer/cornerstone/json'\nimport * as Results from '@bessemer/cornerstone/result'\nimport { AsyncResult, Result } from '@bessemer/cornerstone/result'\nimport { ErrorEvent, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { $RefinementCtx } from 'zod/v4/core'\n\nexport const defaults = <T extends ZodType>(data: Zod.input<T>, schema: T): Zod.output<T> => {\n return schema.parse(data)\n}\n\nexport const defaultsAsync = async <T extends ZodType>(data: Zod.input<T>, schema: T): Promise<Zod.output<T>> => {\n return schema.parseAsync(data)\n}\n\nexport const parse = <T extends ZodType>(type: T, data: unknown): Result<Zod.infer<T>, ZodError<Zod.infer<T>>> => {\n const result = type.safeParse(data)\n if (result.success) {\n return Results.success(result.data)\n } else {\n return Results.failure(result.error)\n }\n}\n\nexport const parseAsync = async <T extends ZodType>(type: T, data: unknown): AsyncResult<Zod.infer<T>, ZodError<Zod.infer<T>>> => {\n const result = await type.safeParseAsync(data)\n if (result.success) {\n return Results.success(result.data)\n } else {\n return Results.failure(result.error)\n }\n}\n\nexport const parseJson = <T extends ZodType>(type: T, data: string): Result<Zod.infer<T>, SyntaxError | ZodError<Zod.infer<T>>> => {\n const result = jsonParse(data)\n if (Results.isFailure(result)) {\n return result\n }\n\n return parse(type, result)\n}\n\nexport const parseJsonAsync = async <T extends ZodType>(type: T, data: string): AsyncResult<Zod.infer<T>, SyntaxError | ZodError<Zod.infer<T>>> => {\n const result = jsonParse(data)\n if (Results.isFailure(result)) {\n return result\n }\n\n return parseAsync(type, result)\n}\n\nexport const parseJsonOrThrow = <T extends ZodType>(type: T, data: string): Zod.infer<T> => {\n const result = parseJson(type, data)\n Results.assertSuccess(result)\n return result\n}\n\nexport const arrayable = <T>(type: ZodType<T>) => {\n return Zod.union([type, Zod.array(type)])\n}\n\nexport const key = (): ZodType<ResourceKey> => {\n return Zod.string()\n}\n\nexport type StructuredTransformer<InputType, OutputType> = (value: InputType) => Result<OutputType, ErrorEvent>\n\nexport const structuredTransform = <InputType, OutputType, SchemaType extends ZodType<InputType, InputType> = ZodType<InputType, InputType>>(\n schema: SchemaType,\n transformer: StructuredTransformer<InputType, OutputType>\n) => {\n const refinedResultTransformer = refineResult(transformer)\n\n return schema.superRefine(refinedResultTransformer).transform((it) => {\n const result = transformer(it)\n return unpackResult(result)\n })\n}\n\nexport const refineResult = <InputType, OutputType>(\n transformer: StructuredTransformer<InputType, OutputType>\n): ((value: InputType, context: $RefinementCtx<InputType>) => void) => {\n return (value, context) => {\n const result = transformer(value)\n\n if (Results.isFailure(result)) {\n const error = result.value\n\n error.causes.forEach((cause) => {\n context.addIssue({\n code: 'custom',\n message: cause.message,\n input: value,\n context: error.context,\n cause,\n })\n })\n }\n }\n}\n\nexport const unwrap = (schema: ZodType): ZodType => {\n const def = schema._zod.def\n\n if ('inner' in def && def.inner) {\n return unwrap(def.inner as ZodType)\n }\n if (def.type === 'pipe' && 'in' in def) {\n return unwrap((def as any).in as ZodType)\n }\n\n return schema\n}\n\nexport enum ZodTypeKind {\n String = 'string',\n Number = 'number',\n Int = 'int',\n Boolean = 'boolean',\n Bigint = 'bigint',\n Symbol = 'symbol',\n Null = 'null',\n Undefined = 'undefined',\n Void = 'void',\n Never = 'never',\n Any = 'any',\n Unknown = 'unknown',\n Date = 'date',\n Object = 'object',\n Record = 'record',\n File = 'file',\n Array = 'array',\n Tuple = 'tuple',\n Union = 'union',\n Intersection = 'intersection',\n Map = 'map',\n Set = 'set',\n Enum = 'enum',\n Literal = 'literal',\n Nullable = 'nullable',\n Optional = 'optional',\n Nonoptional = 'nonoptional',\n Success = 'success',\n Transform = 'transform',\n Default = 'default',\n Prefault = 'prefault',\n Catch = 'catch',\n Nan = 'nan',\n Pipe = 'pipe',\n Readonly = 'readonly',\n TemplateLiteral = 'template_literal',\n Promise = 'promise',\n Lazy = 'lazy',\n Function = 'function',\n Custom = 'custom',\n}\n\nexport const isType = (schema: ZodType, type: ZodTypeKind): boolean => {\n return unwrap(schema).type === type\n}\n\nexport const isRequired = (schema: ZodType): boolean => {\n return !schema.safeParse(undefined).success\n}\n"],"mappings":"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","names":["ZodTypeKind"]}
1
+ {"version":3,"sources":["../src/zod-util.ts"],"sourcesContent":["import Zod, { ZodError, ZodType } from 'zod'\nimport { ResourceKey } from '@bessemer/cornerstone/resource-key'\nimport * as Json from '@bessemer/cornerstone/json'\nimport * as Results from '@bessemer/cornerstone/result'\nimport { AsyncResult, Result } from '@bessemer/cornerstone/result'\nimport { ErrorEvent } from '@bessemer/cornerstone/error/error-event'\nimport * as ErrorEvents from '@bessemer/cornerstone/error/error-event'\nimport { $RefinementCtx } from 'zod/v4/core'\n\nexport const defaults = <T extends ZodType>(data: Zod.input<T>, schema: T): Zod.output<T> => {\n return schema.parse(data)\n}\n\nexport const defaultsAsync = async <T extends ZodType>(data: Zod.input<T>, schema: T): Promise<Zod.output<T>> => {\n return schema.parseAsync(data)\n}\n\nexport const parse = <T extends ZodType>(type: T, data: unknown): Result<Zod.infer<T>, ZodError<Zod.infer<T>>> => {\n const result = type.safeParse(data)\n if (result.success) {\n return Results.success(result.data)\n } else {\n return Results.failure(result.error)\n }\n}\n\nexport const parseAsync = async <T extends ZodType>(type: T, data: unknown): AsyncResult<Zod.infer<T>, ZodError<Zod.infer<T>>> => {\n const result = await type.safeParseAsync(data)\n if (result.success) {\n return Results.success(result.data)\n } else {\n return Results.failure(result.error)\n }\n}\n\nexport const parseJson = <T extends ZodType>(type: T, data: string): Result<Zod.infer<T>, SyntaxError | ZodError<Zod.infer<T>>> => {\n const result = Json.parse(data)\n if (Results.isFailure(result)) {\n return result\n }\n\n return parse(type, result)\n}\n\nexport const parseJsonAsync = async <T extends ZodType>(type: T, data: string): AsyncResult<Zod.infer<T>, SyntaxError | ZodError<Zod.infer<T>>> => {\n const result = Json.parse(data)\n if (Results.isFailure(result)) {\n return result\n }\n\n return parseAsync(type, result)\n}\n\nexport const parseJsonOrThrow = <T extends ZodType>(type: T, data: string): Zod.infer<T> => {\n const result = parseJson(type, data)\n Results.assertSuccess(result)\n return result\n}\n\nexport const arrayable = <T>(type: ZodType<T>) => {\n return Zod.union([type, Zod.array(type)])\n}\n\nexport const key = (): ZodType<ResourceKey> => {\n return Zod.string()\n}\n\nexport const any = <InputType>(): ZodType<InputType, InputType> => {\n return Zod.any() as any as ZodType<InputType, InputType>\n}\n\nexport const string = <InputType extends string>(): ZodType<InputType, InputType> => {\n return Zod.string() as any as ZodType<InputType, InputType>\n}\n\nexport type StructuredTransformer<InputType, OutputType> = (value: InputType) => Result<OutputType, ErrorEvent>\n\nexport const structuredTransform = <\n InputType,\n OutputType = InputType,\n SchemaType extends ZodType<InputType, InputType> = ZodType<InputType, InputType>\n>(\n schema: SchemaType,\n transformer: StructuredTransformer<InputType, OutputType>\n) => {\n return structuredRefine(schema, transformer).transform((it) => {\n const result = transformer(it)\n return ErrorEvents.unpackResult(result)\n })\n}\n\nexport const structuredRefine = <InputType, SchemaType extends ZodType<InputType, InputType> = ZodType<InputType, InputType>>(\n schema: SchemaType,\n transformer: StructuredTransformer<InputType, any>\n) => {\n return schema.superRefine(refineResult(transformer))\n}\n\nconst refineResult = <InputType, OutputType>(\n transformer: StructuredTransformer<InputType, OutputType>\n): ((value: InputType, context: $RefinementCtx<InputType>) => void) => {\n return (value, context) => {\n const result = transformer(value)\n\n if (Results.isFailure(result)) {\n const error = result.value\n\n error.causes.forEach((cause) => {\n context.addIssue({\n code: 'custom',\n message: cause.message,\n input: value,\n context: error.context,\n cause,\n })\n })\n }\n }\n}\n\nexport const unwrap = (schema: ZodType): ZodType => {\n const def = schema._zod.def\n\n if ('inner' in def && def.inner) {\n return unwrap(def.inner as ZodType)\n }\n if (def.type === 'pipe' && 'in' in def) {\n return unwrap((def as any).in as ZodType)\n }\n\n return schema\n}\n\nexport enum ZodTypeKind {\n String = 'string',\n Number = 'number',\n Int = 'int',\n Boolean = 'boolean',\n Bigint = 'bigint',\n Symbol = 'symbol',\n Null = 'null',\n Undefined = 'undefined',\n Void = 'void',\n Never = 'never',\n Any = 'any',\n Unknown = 'unknown',\n Date = 'date',\n Object = 'object',\n Record = 'record',\n File = 'file',\n Array = 'array',\n Tuple = 'tuple',\n Union = 'union',\n Intersection = 'intersection',\n Map = 'map',\n Set = 'set',\n Enum = 'enum',\n Literal = 'literal',\n Nullable = 'nullable',\n Optional = 'optional',\n Nonoptional = 'nonoptional',\n Success = 'success',\n Transform = 'transform',\n Default = 'default',\n Prefault = 'prefault',\n Catch = 'catch',\n Nan = 'nan',\n Pipe = 'pipe',\n Readonly = 'readonly',\n TemplateLiteral = 'template_literal',\n Promise = 'promise',\n Lazy = 'lazy',\n Function = 'function',\n Custom = 'custom',\n}\n\nexport const isType = (schema: ZodType, type: ZodTypeKind): boolean => {\n return unwrap(schema).type === type\n}\n\nexport const isRequired = (schema: ZodType): boolean => {\n return !schema.safeParse(undefined).success\n}\n"],"mappings":";AAAA,OAAO,SAAgC;AAEvC,YAAY,UAAU;AACtB,YAAY,aAAa;AAGzB,YAAY,iBAAiB;AAGtB,IAAM,WAAW,CAAoB,MAAoB,WAA6B;AAC3F,SAAO,OAAO,MAAM,IAAI;AAC1B;AAEO,IAAM,gBAAgB,OAA0B,MAAoB,WAAsC;AAC/G,SAAO,OAAO,WAAW,IAAI;AAC/B;AAEO,IAAMA,SAAQ,CAAoB,MAAS,SAAgE;AAChH,QAAM,SAAS,KAAK,UAAU,IAAI;AAClC,MAAI,OAAO,SAAS;AAClB,WAAe,gBAAQ,OAAO,IAAI;AAAA,EACpC,OAAO;AACL,WAAe,gBAAQ,OAAO,KAAK;AAAA,EACrC;AACF;AAEO,IAAM,aAAa,OAA0B,MAAS,SAAqE;AAChI,QAAM,SAAS,MAAM,KAAK,eAAe,IAAI;AAC7C,MAAI,OAAO,SAAS;AAClB,WAAe,gBAAQ,OAAO,IAAI;AAAA,EACpC,OAAO;AACL,WAAe,gBAAQ,OAAO,KAAK;AAAA,EACrC;AACF;AAEO,IAAM,YAAY,CAAoB,MAAS,SAA6E;AACjI,QAAM,SAAc,WAAM,IAAI;AAC9B,MAAY,kBAAU,MAAM,GAAG;AAC7B,WAAO;AAAA,EACT;AAEA,SAAOA,OAAM,MAAM,MAAM;AAC3B;AAEO,IAAM,iBAAiB,OAA0B,MAAS,SAAkF;AACjJ,QAAM,SAAc,WAAM,IAAI;AAC9B,MAAY,kBAAU,MAAM,GAAG;AAC7B,WAAO;AAAA,EACT;AAEA,SAAO,WAAW,MAAM,MAAM;AAChC;AAEO,IAAM,mBAAmB,CAAoB,MAAS,SAA+B;AAC1F,QAAM,SAAS,UAAU,MAAM,IAAI;AACnC,EAAQ,sBAAc,MAAM;AAC5B,SAAO;AACT;AAEO,IAAM,YAAY,CAAI,SAAqB;AAChD,SAAO,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,CAAC;AAC1C;AAEO,IAAM,MAAM,MAA4B;AAC7C,SAAO,IAAI,OAAO;AACpB;AAEO,IAAM,MAAM,MAAgD;AACjE,SAAO,IAAI,IAAI;AACjB;AAEO,IAAM,SAAS,MAA+D;AACnF,SAAO,IAAI,OAAO;AACpB;AAIO,IAAM,sBAAsB,CAKjC,QACA,gBACG;AACH,SAAO,iBAAiB,QAAQ,WAAW,EAAE,UAAU,CAAC,OAAO;AAC7D,UAAM,SAAS,YAAY,EAAE;AAC7B,WAAmB,yBAAa,MAAM;AAAA,EACxC,CAAC;AACH;AAEO,IAAM,mBAAmB,CAC9B,QACA,gBACG;AACH,SAAO,OAAO,YAAY,aAAa,WAAW,CAAC;AACrD;AAEA,IAAM,eAAe,CACnB,gBACqE;AACrE,SAAO,CAAC,OAAO,YAAY;AACzB,UAAM,SAAS,YAAY,KAAK;AAEhC,QAAY,kBAAU,MAAM,GAAG;AAC7B,YAAM,QAAQ,OAAO;AAErB,YAAM,OAAO,QAAQ,CAAC,UAAU;AAC9B,gBAAQ,SAAS;AAAA,UACf,MAAM;AAAA,UACN,SAAS,MAAM;AAAA,UACf,OAAO;AAAA,UACP,SAAS,MAAM;AAAA,UACf;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,IAAM,SAAS,CAAC,WAA6B;AAClD,QAAM,MAAM,OAAO,KAAK;AAExB,MAAI,WAAW,OAAO,IAAI,OAAO;AAC/B,WAAO,OAAO,IAAI,KAAgB;AAAA,EACpC;AACA,MAAI,IAAI,SAAS,UAAU,QAAQ,KAAK;AACtC,WAAO,OAAQ,IAAY,EAAa;AAAA,EAC1C;AAEA,SAAO;AACT;AAEO,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,qBAAkB;AAClB,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,YAAS;AAxCC,SAAAA;AAAA,GAAA;AA2CL,IAAM,SAAS,CAAC,QAAiB,SAA+B;AACrE,SAAO,OAAO,MAAM,EAAE,SAAS;AACjC;AAEO,IAAM,aAAa,CAAC,WAA6B;AACtD,SAAO,CAAC,OAAO,UAAU,MAAS,EAAE;AACtC;","names":["parse","ZodTypeKind"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bessemer/cornerstone",
3
3
  "type": "module",
4
- "version": "0.5.114",
4
+ "version": "0.5.116",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "sideEffects": false,
@@ -31,7 +31,7 @@
31
31
  "pino": "9.6.0",
32
32
  "type-fest": "4.32.0",
33
33
  "ulid": "2.3.0",
34
- "zod": "4.1.12"
34
+ "zod": "4.4.3"
35
35
  },
36
36
  "devDependencies": {
37
37
  "expect-type": "1.2.2",