@fgv/ts-utils 5.1.0-4 → 5.1.0-40

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 (303) hide show
  1. package/README.md +21 -0
  2. package/dist/index.js +2 -2
  3. package/dist/index.js.map +1 -0
  4. package/dist/packlets/base/brand.js.map +1 -0
  5. package/dist/packlets/base/index.js +2 -0
  6. package/dist/packlets/base/index.js.map +1 -0
  7. package/dist/packlets/base/mapResults.js.map +1 -0
  8. package/dist/packlets/base/messageAggregator.js.map +1 -0
  9. package/dist/packlets/base/normalize.js +54 -1
  10. package/dist/packlets/base/normalize.js.map +1 -0
  11. package/dist/packlets/base/result.js +326 -2
  12. package/dist/packlets/base/result.js.map +1 -0
  13. package/dist/packlets/base/shouldNotFail.js +123 -0
  14. package/dist/packlets/base/shouldNotFail.js.map +1 -0
  15. package/dist/packlets/base/utils.js.map +1 -0
  16. package/dist/packlets/base/uuid.js +55 -0
  17. package/dist/packlets/base/uuid.js.map +1 -0
  18. package/dist/packlets/collections/aggregatedResultMap.js.map +1 -0
  19. package/dist/packlets/collections/collectible.js.map +1 -0
  20. package/dist/packlets/collections/collector.js +23 -9
  21. package/dist/packlets/collections/collector.js.map +1 -0
  22. package/dist/packlets/collections/collectorValidator.js +6 -1
  23. package/dist/packlets/collections/collectorValidator.js.map +1 -0
  24. package/dist/packlets/collections/common.js.map +1 -0
  25. package/dist/packlets/collections/converters.js.map +1 -0
  26. package/dist/packlets/collections/convertingCollector.js.map +1 -0
  27. package/dist/packlets/collections/convertingCollectorValidator.js.map +1 -0
  28. package/dist/packlets/collections/convertingResultMap.js.map +1 -0
  29. package/dist/packlets/collections/index.js +1 -0
  30. package/dist/packlets/collections/index.js.map +1 -0
  31. package/dist/packlets/collections/keyValueConverters.js.map +1 -0
  32. package/dist/packlets/collections/readOnlyConvertingResultMap.js +18 -0
  33. package/dist/packlets/collections/readOnlyConvertingResultMap.js.map +1 -0
  34. package/dist/packlets/collections/readonlyResultMap.js.map +1 -0
  35. package/dist/packlets/collections/resultMap.js.map +1 -0
  36. package/dist/packlets/collections/resultMapValidator.js.map +1 -0
  37. package/dist/packlets/collections/retainingRingBuffer.js +159 -0
  38. package/dist/packlets/collections/retainingRingBuffer.js.map +1 -0
  39. package/dist/packlets/collections/utils.js.map +1 -0
  40. package/dist/packlets/collections/validatingCollector.js.map +1 -0
  41. package/dist/packlets/collections/validatingConvertingCollector.js.map +1 -0
  42. package/dist/packlets/collections/validatingConvertingResultMap.js.map +1 -0
  43. package/dist/packlets/collections/validatingResultMap.js.map +1 -0
  44. package/dist/packlets/conversion/advancedConverters.js.map +1 -0
  45. package/dist/packlets/conversion/baseConverter.js +107 -18
  46. package/dist/packlets/conversion/baseConverter.js.map +1 -0
  47. package/dist/packlets/conversion/basicConverters.js +24 -5
  48. package/dist/packlets/conversion/basicConverters.js.map +1 -0
  49. package/dist/packlets/conversion/converter.js +11 -1
  50. package/dist/packlets/conversion/converter.js.map +1 -0
  51. package/dist/packlets/conversion/converters.js.map +1 -0
  52. package/dist/packlets/conversion/defaultingConverter.js.map +1 -0
  53. package/dist/packlets/conversion/index.js.map +1 -0
  54. package/dist/packlets/conversion/objectConverter.js.map +1 -0
  55. package/dist/packlets/conversion/stringConverter.js.map +1 -0
  56. package/dist/packlets/hash/crcNormalizer.js.map +1 -0
  57. package/dist/packlets/hash/hashingNormalizer.js.map +1 -0
  58. package/dist/packlets/hash/index.js.map +1 -0
  59. package/dist/packlets/logging/bootLogger.js.map +1 -0
  60. package/dist/packlets/logging/index.js +2 -0
  61. package/dist/packlets/logging/index.js.map +1 -0
  62. package/dist/packlets/logging/logReporter.js.map +1 -0
  63. package/dist/packlets/logging/logger.js +51 -18
  64. package/dist/packlets/logging/logger.js.map +1 -0
  65. package/dist/packlets/logging/multiLogger.js +104 -0
  66. package/dist/packlets/logging/multiLogger.js.map +1 -0
  67. package/dist/packlets/logging/retainingLogger.js +114 -0
  68. package/dist/packlets/logging/retainingLogger.js.map +1 -0
  69. package/dist/packlets/logging-interface/index.js +28 -0
  70. package/dist/packlets/logging-interface/index.js.map +1 -0
  71. package/dist/packlets/validation/array.js.map +1 -0
  72. package/dist/packlets/validation/boolean.js.map +1 -0
  73. package/dist/packlets/validation/classes.js.map +1 -0
  74. package/dist/packlets/validation/common.js.map +1 -0
  75. package/dist/packlets/validation/compositeId.js.map +1 -0
  76. package/dist/packlets/validation/field.js.map +1 -0
  77. package/dist/packlets/validation/genericValidator.js.map +1 -0
  78. package/dist/packlets/validation/index.js.map +1 -0
  79. package/dist/packlets/validation/number.js.map +1 -0
  80. package/dist/packlets/validation/object.js.map +1 -0
  81. package/dist/packlets/validation/oneOf.js.map +1 -0
  82. package/dist/packlets/validation/string.js.map +1 -0
  83. package/dist/packlets/validation/traits.js.map +1 -0
  84. package/dist/packlets/validation/typeGuard.js.map +1 -0
  85. package/dist/packlets/validation/validator.js.map +1 -0
  86. package/dist/packlets/validation/validatorBase.js.map +1 -0
  87. package/dist/packlets/validation/validators.js.map +1 -0
  88. package/dist/ts-utils.d.ts +1089 -59
  89. package/dist/tsdoc-metadata.json +1 -1
  90. package/lib/index.d.ts +2 -2
  91. package/lib/index.d.ts.map +1 -0
  92. package/lib/index.js +2 -1
  93. package/lib/index.js.map +1 -0
  94. package/lib/packlets/base/brand.d.ts.map +1 -0
  95. package/lib/packlets/base/brand.js.map +1 -0
  96. package/lib/packlets/base/index.d.ts +2 -0
  97. package/lib/packlets/base/index.d.ts.map +1 -0
  98. package/lib/packlets/base/index.js +2 -0
  99. package/lib/packlets/base/index.js.map +1 -0
  100. package/lib/packlets/base/mapResults.d.ts.map +1 -0
  101. package/lib/packlets/base/mapResults.js.map +1 -0
  102. package/lib/packlets/base/messageAggregator.d.ts.map +1 -0
  103. package/lib/packlets/base/messageAggregator.js.map +1 -0
  104. package/lib/packlets/base/normalize.d.ts +24 -0
  105. package/lib/packlets/base/normalize.d.ts.map +1 -0
  106. package/lib/packlets/base/normalize.js +53 -0
  107. package/lib/packlets/base/normalize.js.map +1 -0
  108. package/lib/packlets/base/result.d.ts +295 -1
  109. package/lib/packlets/base/result.d.ts.map +1 -0
  110. package/lib/packlets/base/result.js +330 -3
  111. package/lib/packlets/base/result.js.map +1 -0
  112. package/lib/packlets/base/shouldNotFail.d.ts +53 -0
  113. package/lib/packlets/base/shouldNotFail.d.ts.map +1 -0
  114. package/lib/packlets/base/shouldNotFail.js +129 -0
  115. package/lib/packlets/base/shouldNotFail.js.map +1 -0
  116. package/lib/packlets/base/utils.d.ts +12 -0
  117. package/lib/packlets/base/utils.d.ts.map +1 -0
  118. package/lib/packlets/base/utils.js.map +1 -0
  119. package/lib/packlets/base/uuid.d.ts +27 -0
  120. package/lib/packlets/base/uuid.d.ts.map +1 -0
  121. package/lib/packlets/base/uuid.js +59 -0
  122. package/lib/packlets/base/uuid.js.map +1 -0
  123. package/lib/packlets/collections/aggregatedResultMap.d.ts.map +1 -0
  124. package/lib/packlets/collections/aggregatedResultMap.js.map +1 -0
  125. package/lib/packlets/collections/collectible.d.ts.map +1 -0
  126. package/lib/packlets/collections/collectible.js.map +1 -0
  127. package/lib/packlets/collections/collector.d.ts +23 -9
  128. package/lib/packlets/collections/collector.d.ts.map +1 -0
  129. package/lib/packlets/collections/collector.js +23 -9
  130. package/lib/packlets/collections/collector.js.map +1 -0
  131. package/lib/packlets/collections/collectorValidator.d.ts +29 -5
  132. package/lib/packlets/collections/collectorValidator.d.ts.map +1 -0
  133. package/lib/packlets/collections/collectorValidator.js +6 -1
  134. package/lib/packlets/collections/collectorValidator.js.map +1 -0
  135. package/lib/packlets/collections/common.d.ts.map +1 -0
  136. package/lib/packlets/collections/common.js.map +1 -0
  137. package/lib/packlets/collections/converters.d.ts.map +1 -0
  138. package/lib/packlets/collections/converters.js.map +1 -0
  139. package/lib/packlets/collections/convertingCollector.d.ts +21 -3
  140. package/lib/packlets/collections/convertingCollector.d.ts.map +1 -0
  141. package/lib/packlets/collections/convertingCollector.js.map +1 -0
  142. package/lib/packlets/collections/convertingCollectorValidator.d.ts +22 -3
  143. package/lib/packlets/collections/convertingCollectorValidator.d.ts.map +1 -0
  144. package/lib/packlets/collections/convertingCollectorValidator.js.map +1 -0
  145. package/lib/packlets/collections/convertingResultMap.d.ts.map +1 -0
  146. package/lib/packlets/collections/convertingResultMap.js.map +1 -0
  147. package/lib/packlets/collections/index.d.ts +1 -0
  148. package/lib/packlets/collections/index.d.ts.map +1 -0
  149. package/lib/packlets/collections/index.js +1 -0
  150. package/lib/packlets/collections/index.js.map +1 -0
  151. package/lib/packlets/collections/keyValueConverters.d.ts.map +1 -0
  152. package/lib/packlets/collections/keyValueConverters.js.map +1 -0
  153. package/lib/packlets/collections/readOnlyConvertingResultMap.d.ts +13 -1
  154. package/lib/packlets/collections/readOnlyConvertingResultMap.d.ts.map +1 -0
  155. package/lib/packlets/collections/readOnlyConvertingResultMap.js +19 -1
  156. package/lib/packlets/collections/readOnlyConvertingResultMap.js.map +1 -0
  157. package/lib/packlets/collections/readonlyResultMap.d.ts +18 -7
  158. package/lib/packlets/collections/readonlyResultMap.d.ts.map +1 -0
  159. package/lib/packlets/collections/readonlyResultMap.js.map +1 -0
  160. package/lib/packlets/collections/resultMap.d.ts.map +1 -0
  161. package/lib/packlets/collections/resultMap.js.map +1 -0
  162. package/lib/packlets/collections/resultMapValidator.d.ts.map +1 -0
  163. package/lib/packlets/collections/resultMapValidator.js.map +1 -0
  164. package/lib/packlets/collections/retainingRingBuffer.d.ts +147 -0
  165. package/lib/packlets/collections/retainingRingBuffer.d.ts.map +1 -0
  166. package/lib/packlets/collections/retainingRingBuffer.js +163 -0
  167. package/lib/packlets/collections/retainingRingBuffer.js.map +1 -0
  168. package/lib/packlets/collections/utils.d.ts.map +1 -0
  169. package/lib/packlets/collections/utils.js.map +1 -0
  170. package/lib/packlets/collections/validatingCollector.d.ts +7 -3
  171. package/lib/packlets/collections/validatingCollector.d.ts.map +1 -0
  172. package/lib/packlets/collections/validatingCollector.js.map +1 -0
  173. package/lib/packlets/collections/validatingConvertingCollector.d.ts.map +1 -0
  174. package/lib/packlets/collections/validatingConvertingCollector.js.map +1 -0
  175. package/lib/packlets/collections/validatingConvertingResultMap.d.ts.map +1 -0
  176. package/lib/packlets/collections/validatingConvertingResultMap.js.map +1 -0
  177. package/lib/packlets/collections/validatingResultMap.d.ts +2 -1
  178. package/lib/packlets/collections/validatingResultMap.d.ts.map +1 -0
  179. package/lib/packlets/collections/validatingResultMap.js.map +1 -0
  180. package/lib/packlets/conversion/advancedConverters.d.ts.map +1 -0
  181. package/lib/packlets/conversion/advancedConverters.js.map +1 -0
  182. package/lib/packlets/conversion/baseConverter.d.ts +108 -19
  183. package/lib/packlets/conversion/baseConverter.d.ts.map +1 -0
  184. package/lib/packlets/conversion/baseConverter.js +107 -18
  185. package/lib/packlets/conversion/baseConverter.js.map +1 -0
  186. package/lib/packlets/conversion/basicConverters.d.ts +14 -0
  187. package/lib/packlets/conversion/basicConverters.d.ts.map +1 -0
  188. package/lib/packlets/conversion/basicConverters.js +24 -5
  189. package/lib/packlets/conversion/basicConverters.js.map +1 -0
  190. package/lib/packlets/conversion/converter.d.ts +9 -1
  191. package/lib/packlets/conversion/converter.d.ts.map +1 -0
  192. package/lib/packlets/conversion/converter.js +12 -0
  193. package/lib/packlets/conversion/converter.js.map +1 -0
  194. package/lib/packlets/conversion/converters.d.ts.map +1 -0
  195. package/lib/packlets/conversion/converters.js.map +1 -0
  196. package/lib/packlets/conversion/defaultingConverter.d.ts.map +1 -0
  197. package/lib/packlets/conversion/defaultingConverter.js.map +1 -0
  198. package/lib/packlets/conversion/index.d.ts.map +1 -0
  199. package/lib/packlets/conversion/index.js.map +1 -0
  200. package/lib/packlets/conversion/objectConverter.d.ts.map +1 -0
  201. package/lib/packlets/conversion/objectConverter.js.map +1 -0
  202. package/lib/packlets/conversion/stringConverter.d.ts.map +1 -0
  203. package/lib/packlets/conversion/stringConverter.js.map +1 -0
  204. package/lib/packlets/hash/crcNormalizer.d.ts.map +1 -0
  205. package/lib/packlets/hash/crcNormalizer.js.map +1 -0
  206. package/lib/packlets/hash/hashingNormalizer.d.ts.map +1 -0
  207. package/lib/packlets/hash/hashingNormalizer.js.map +1 -0
  208. package/lib/packlets/hash/index.d.ts.map +1 -0
  209. package/lib/packlets/hash/index.js.map +1 -0
  210. package/lib/packlets/logging/bootLogger.d.ts.map +1 -0
  211. package/lib/packlets/logging/bootLogger.js.map +1 -0
  212. package/lib/packlets/logging/index.d.ts +2 -0
  213. package/lib/packlets/logging/index.d.ts.map +1 -0
  214. package/lib/packlets/logging/index.js +2 -0
  215. package/lib/packlets/logging/index.js.map +1 -0
  216. package/lib/packlets/logging/logReporter.d.ts.map +1 -0
  217. package/lib/packlets/logging/logReporter.js.map +1 -0
  218. package/lib/packlets/logging/logger.d.ts +25 -70
  219. package/lib/packlets/logging/logger.d.ts.map +1 -0
  220. package/lib/packlets/logging/logger.js +54 -20
  221. package/lib/packlets/logging/logger.js.map +1 -0
  222. package/lib/packlets/logging/multiLogger.d.ts +54 -0
  223. package/lib/packlets/logging/multiLogger.d.ts.map +1 -0
  224. package/lib/packlets/logging/multiLogger.js +108 -0
  225. package/lib/packlets/logging/multiLogger.js.map +1 -0
  226. package/lib/packlets/logging/retainingLogger.d.ts +123 -0
  227. package/lib/packlets/logging/retainingLogger.d.ts.map +1 -0
  228. package/lib/packlets/logging/retainingLogger.js +118 -0
  229. package/lib/packlets/logging/retainingLogger.js.map +1 -0
  230. package/lib/packlets/logging-interface/index.d.ts +98 -0
  231. package/lib/packlets/logging-interface/index.d.ts.map +1 -0
  232. package/lib/packlets/logging-interface/index.js +32 -0
  233. package/lib/packlets/logging-interface/index.js.map +1 -0
  234. package/lib/packlets/validation/array.d.ts.map +1 -0
  235. package/lib/packlets/validation/array.js.map +1 -0
  236. package/lib/packlets/validation/boolean.d.ts.map +1 -0
  237. package/lib/packlets/validation/boolean.js.map +1 -0
  238. package/lib/packlets/validation/classes.d.ts.map +1 -0
  239. package/lib/packlets/validation/classes.js.map +1 -0
  240. package/lib/packlets/validation/common.d.ts.map +1 -0
  241. package/lib/packlets/validation/common.js.map +1 -0
  242. package/lib/packlets/validation/compositeId.d.ts.map +1 -0
  243. package/lib/packlets/validation/compositeId.js.map +1 -0
  244. package/lib/packlets/validation/field.d.ts.map +1 -0
  245. package/lib/packlets/validation/field.js.map +1 -0
  246. package/lib/packlets/validation/genericValidator.d.ts.map +1 -0
  247. package/lib/packlets/validation/genericValidator.js.map +1 -0
  248. package/lib/packlets/validation/index.d.ts.map +1 -0
  249. package/lib/packlets/validation/index.js.map +1 -0
  250. package/lib/packlets/validation/number.d.ts.map +1 -0
  251. package/lib/packlets/validation/number.js.map +1 -0
  252. package/lib/packlets/validation/object.d.ts.map +1 -0
  253. package/lib/packlets/validation/object.js.map +1 -0
  254. package/lib/packlets/validation/oneOf.d.ts.map +1 -0
  255. package/lib/packlets/validation/oneOf.js.map +1 -0
  256. package/lib/packlets/validation/string.d.ts.map +1 -0
  257. package/lib/packlets/validation/string.js.map +1 -0
  258. package/lib/packlets/validation/traits.d.ts.map +1 -0
  259. package/lib/packlets/validation/traits.js.map +1 -0
  260. package/lib/packlets/validation/typeGuard.d.ts.map +1 -0
  261. package/lib/packlets/validation/typeGuard.js.map +1 -0
  262. package/lib/packlets/validation/validator.d.ts.map +1 -0
  263. package/lib/packlets/validation/validator.js.map +1 -0
  264. package/lib/packlets/validation/validatorBase.d.ts +2 -1
  265. package/lib/packlets/validation/validatorBase.d.ts.map +1 -0
  266. package/lib/packlets/validation/validatorBase.js.map +1 -0
  267. package/lib/packlets/validation/validators.d.ts.map +1 -0
  268. package/lib/packlets/validation/validators.js.map +1 -0
  269. package/package.json +3 -3
  270. package/dist/test/helpers/jest/helpers/fsHelpers.js +0 -139
  271. package/dist/test/helpers/jest/helpers/index.js +0 -2
  272. package/dist/test/helpers/jest/index.js +0 -17
  273. package/dist/test/helpers/jest/matchers/index.js +0 -14
  274. package/dist/test/helpers/jest/matchers/toFail/index.js +0 -23
  275. package/dist/test/helpers/jest/matchers/toFail/predicate.js +0 -5
  276. package/dist/test/helpers/jest/matchers/toFailTest/index.js +0 -28
  277. package/dist/test/helpers/jest/matchers/toFailTest/predicate.js +0 -8
  278. package/dist/test/helpers/jest/matchers/toFailTestAndMatchSnapshot/index.js +0 -24
  279. package/dist/test/helpers/jest/matchers/toFailTestAndMatchSnapshot/predicate.js +0 -11
  280. package/dist/test/helpers/jest/matchers/toFailTestWith/index.js +0 -29
  281. package/dist/test/helpers/jest/matchers/toFailTestWith/predicate.js +0 -26
  282. package/dist/test/helpers/jest/matchers/toFailWith/index.js +0 -27
  283. package/dist/test/helpers/jest/matchers/toFailWith/predicate.js +0 -16
  284. package/dist/test/helpers/jest/matchers/toFailWithDetail/index.js +0 -27
  285. package/dist/test/helpers/jest/matchers/toFailWithDetail/predicate.js +0 -22
  286. package/dist/test/helpers/jest/matchers/toSucceed/index.js +0 -23
  287. package/dist/test/helpers/jest/matchers/toSucceed/predicate.js +0 -5
  288. package/dist/test/helpers/jest/matchers/toSucceedAndMatchInlineSnapshot/index.js +0 -24
  289. package/dist/test/helpers/jest/matchers/toSucceedAndMatchSnapshot/index.js +0 -24
  290. package/dist/test/helpers/jest/matchers/toSucceedAndSatisfy/index.js +0 -53
  291. package/dist/test/helpers/jest/matchers/toSucceedAndSatisfy/predicate.js +0 -17
  292. package/dist/test/helpers/jest/matchers/toSucceedWith/index.js +0 -27
  293. package/dist/test/helpers/jest/matchers/toSucceedWith/predicate.js +0 -12
  294. package/dist/test/helpers/jest/matchers/toSucceedWithDetail/index.js +0 -27
  295. package/dist/test/helpers/jest/matchers/toSucceedWithDetail/predicate.js +0 -17
  296. package/dist/test/helpers/jest/resolvers/cli.js +0 -10
  297. package/dist/test/helpers/jest/resolvers/ide.js +0 -10
  298. package/dist/test/helpers/jest/ts-utils.js +0 -2
  299. package/dist/test/helpers/jest/types/index.js +0 -3
  300. package/dist/test/helpers/jest/utils/matcherHelpers.js +0 -47
  301. package/dist/test/helpers/jest/utils/snapshotResolver.js +0 -11
  302. package/dist/test/unit/collections/helpers.js +0 -106
  303. package/dist/test/unit/hashTextEncodeCompat.js +0 -23
@@ -74,6 +74,11 @@ export interface IResultLogger<TD = unknown> {
74
74
  * @public
75
75
  */
76
76
  export type MessageLogLevel = 'quiet' | 'detail' | 'info' | 'warning' | 'error';
77
+ /**
78
+ * Exhaustive list of all {@link MessageLogLevel} values.
79
+ * @public
80
+ */
81
+ export declare const allMessageLogLevels: readonly MessageLogLevel[];
77
82
  /**
78
83
  * Details for reporting a message.
79
84
  * @public
@@ -224,6 +229,47 @@ export interface IResult<T> {
224
229
  * {@label formatter}
225
230
  */
226
231
  orThrow(cb: ErrorFormatter): T;
232
+ /**
233
+ * Asserts at the call site that this {@link IResult | result} MUST be a success.
234
+ * Returns the value on success; on failure, throws an `Error` whose message
235
+ * is composed from the original failure message and the captured call-site
236
+ * location (file, line, and where useful function name).
237
+ *
238
+ * @remarks
239
+ * Use for declaration-time / setup-time invariants — module-level `const`
240
+ * initializers, static class properties, static initialization blocks, and
241
+ * test fixtures — where a failure indicates a coding bug that should
242
+ * surface at the call site rather than propagate as a `Result`. For chains
243
+ * where the throw is intentional control flow, prefer `orThrow`.
244
+ *
245
+ * On V8 (Node + Chromium) `Error.captureStackTrace` is used to elide
246
+ * `shouldNotFail` itself from the captured stack so the parsed frame is
247
+ * the user's call site directly. On WebKit (where `captureStackTrace` is
248
+ * unavailable) the stack is parsed manually and frames whose **parsed
249
+ * function name** contains `shouldNotFail` are filtered out — the raw
250
+ * stack-line text (including the file path) is deliberately NOT inspected,
251
+ * so consumer files named after `shouldNotFail` are not collateral damage.
252
+ * Function names and exact line numbers depend on source-map availability
253
+ * in the runtime. When no caller frame is recoverable (e.g. `frameDepth`
254
+ * out of range, or `frameDepth: 0`) the message falls back to the
255
+ * label-only form (or the bare original message when no label is given).
256
+ *
257
+ * Error message format (depending on whether a label and a usable function
258
+ * name are available):
259
+ * - both: `<label> (at <fn> in <file>:<line>): <original>`
260
+ * - label only: `<label> (at <file>:<line>): <original>`
261
+ * - fn only: `<fn> at <file>:<line>: <original>`
262
+ * - neither: `<file>:<line>: <original>`
263
+ *
264
+ * @param label - Optional human-meaningful identifier (e.g. the constant
265
+ * name) prefixed to the error message.
266
+ * @param frameDepth - Optional 1-indexed depth into the caller stack.
267
+ * Default `1` (immediate caller). Library authors wrapping `shouldNotFail`
268
+ * inside their own helper pass `2` to attribute to their caller.
269
+ * @returns The result value, if the operation was successful.
270
+ * @throws `Error` if the result was a failure.
271
+ */
272
+ shouldNotFail(label?: string, frameDepth?: number): T;
227
273
  /**
228
274
  * Gets the value associated with a successful {@link IResult | result},
229
275
  * or a default value if the corresponding operation failed.
@@ -266,6 +312,30 @@ export interface IResult<T> {
266
312
  * was successful, propagates the result value from the successful event.
267
313
  */
268
314
  onFailure(cb: FailureContinuation<T>): Result<T>;
315
+ /**
316
+ * Calls a supplied {@link AsyncSuccessContinuation | async success continuation} if
317
+ * the operation was a success, bridging into an {@link AsyncResult} chain.
318
+ * @remarks
319
+ * If the async callback rejects, the rejection is caught and converted
320
+ * to a {@link Failure}.
321
+ * @param cb - The {@link AsyncSuccessContinuation | async success continuation} to
322
+ * be called in the event of success.
323
+ * @returns An {@link AsyncResult} wrapping the async continuation result, or
324
+ * propagating the error message from this failure.
325
+ */
326
+ thenOnSuccess<TN>(cb: AsyncSuccessContinuation<T, TN>): AsyncResult<TN>;
327
+ /**
328
+ * Calls a supplied {@link AsyncFailureContinuation | async failure continuation} if
329
+ * the operation failed, bridging into an {@link AsyncResult} chain.
330
+ * @remarks
331
+ * If the async callback rejects, the rejection is caught and converted
332
+ * to a {@link Failure}.
333
+ * @param cb - The {@link AsyncFailureContinuation | async failure continuation} to
334
+ * be called in the event of failure.
335
+ * @returns An {@link AsyncResult} wrapping the async continuation result, or
336
+ * propagating the success value from this result.
337
+ */
338
+ thenOnFailure(cb: AsyncFailureContinuation<T>): AsyncResult<T>;
269
339
  /**
270
340
  * Calls a supplied {@link ErrorFormatter | error formatter} if
271
341
  * the operation failed.
@@ -354,6 +424,10 @@ export declare class Success<out T> implements IResult<T> {
354
424
  * {@inheritDoc IResult.orThrow}
355
425
  */
356
426
  orThrow(cb: ErrorFormatter): T;
427
+ /**
428
+ * {@inheritDoc IResult.shouldNotFail}
429
+ */
430
+ shouldNotFail(__label?: string, __frameDepth?: number): T;
357
431
  /**
358
432
  * {@inheritDoc IResult.orDefault}
359
433
  */
@@ -380,6 +454,14 @@ export declare class Success<out T> implements IResult<T> {
380
454
  * {@inheritDoc IResult.onFailure}
381
455
  */
382
456
  onFailure(__: FailureContinuation<T>): Result<T>;
457
+ /**
458
+ * {@inheritDoc IResult.thenOnSuccess}
459
+ */
460
+ thenOnSuccess<TN>(cb: AsyncSuccessContinuation<T, TN>): AsyncResult<TN>;
461
+ /**
462
+ * {@inheritDoc IResult.thenOnFailure}
463
+ */
464
+ thenOnFailure(__: AsyncFailureContinuation<T>): AsyncResult<T>;
383
465
  /**
384
466
  * {@inheritDoc IResult.withErrorFormat}
385
467
  */
@@ -450,6 +532,10 @@ export declare class Failure<out T> implements IResult<T> {
450
532
  * {@inheritDoc IResult.orThrow}
451
533
  */
452
534
  orThrow(cb: ErrorFormatter): never;
535
+ /**
536
+ * {@inheritDoc IResult.shouldNotFail}
537
+ */
538
+ shouldNotFail(label?: string, frameDepth?: number): never;
453
539
  /**
454
540
  * {@inheritDoc IResult.orDefault}
455
541
  */
@@ -476,6 +562,14 @@ export declare class Failure<out T> implements IResult<T> {
476
562
  * {@inheritDoc IResult.onFailure}
477
563
  */
478
564
  onFailure(cb: FailureContinuation<T>): Result<T>;
565
+ /**
566
+ * {@inheritDoc IResult.thenOnSuccess}
567
+ */
568
+ thenOnSuccess<TN>(__: AsyncSuccessContinuation<T, TN>): AsyncResult<TN>;
569
+ /**
570
+ * {@inheritDoc IResult.thenOnFailure}
571
+ */
572
+ thenOnFailure(cb: AsyncFailureContinuation<T>): AsyncResult<T>;
479
573
  /**
480
574
  * {@inheritDoc IResult.withErrorFormat}
481
575
  */
@@ -496,6 +590,41 @@ export declare class Failure<out T> implements IResult<T> {
496
590
  * {@inheritDoc IResult.report}
497
591
  */
498
592
  report(reporter?: IResultReporter<T>, options?: IResultReportOptions<unknown>): Failure<T>;
593
+ /**
594
+ * Re-types this {@link Failure | Failure<T>} as {@link Failure | Failure<U>} for
595
+ * propagation under a different success type.
596
+ * @remarks
597
+ * Supports the canonical Result early-return-after-`isFailure()` pattern when the
598
+ * outer function's success type differs from the inner Result's success type:
599
+ *
600
+ * ```ts
601
+ * const storeResult = await PromptStoreFixture.build(seed);
602
+ * if (storeResult.isFailure()) {
603
+ * return storeResult.withType<PromptLibrary>();
604
+ * }
605
+ * return PromptLibrary.create({ store: storeResult.value, ... });
606
+ * ```
607
+ *
608
+ * Without this helper, TypeScript rejects `return storeResult` because
609
+ * `Failure<IPromptStore>` is invariant in `T` and not assignable to
610
+ * `Result<PromptLibrary>`. The workaround `return fail<U>(r.message)` is
611
+ * semantically equivalent but allocates a new {@link Failure} instance;
612
+ * `withType` returns `this` and only retypes statically.
613
+ *
614
+ * This method is sound because a {@link Failure} variant carries no `T`-shaped
615
+ * data — only an error message — so re-typing it as `Failure<U>` cannot
616
+ * misrepresent any value. The same operation is NOT exposed on {@link Success}
617
+ * because `Success<T>` carries `T`-shaped data and re-typing would be a lie.
618
+ *
619
+ * For `DetailedResult` propagation that preserves a typed `detail`, consider
620
+ * propagating the {@link DetailedFailure} directly through `onSuccess` (which
621
+ * already re-types the success arm) rather than reaching for `withType`.
622
+ *
623
+ * @returns This same {@link Failure} instance, statically retyped as
624
+ * {@link Failure | Failure<U>}.
625
+ * @public
626
+ */
627
+ withType<U>(): Failure<U>;
499
628
  /**
500
629
  * Get a 'friendly' string representation of this object.
501
630
  * @remarks
@@ -772,14 +901,179 @@ export declare function failsWithDetail<T, TD>(message: string, detail?: TD): De
772
901
  * @public
773
902
  */
774
903
  export declare function propagateWithDetail<T, TD>(result: Result<T>, detail: TD, successDetail?: TD): DetailedResult<T, TD>;
904
+ /**
905
+ * Extracts a message string from an unknown thrown/rejected value.
906
+ * @param err - The caught error value.
907
+ * @returns The error message string.
908
+ * @internal
909
+ */
910
+ export declare function _errorMessage(err: unknown): string;
775
911
  /**
776
912
  * Wraps a function which might throw to convert exception results
777
913
  * to {@link Failure}.
778
914
  * @param func - The function to be captured.
779
915
  * @returns Returns {@link Success} with a value of type `<T>` on
780
916
  * success , or {@link Failure} with the thrown error message if
781
- * `func` throws an `Error`.
917
+ * `func` throws an `Error` or string.
782
918
  * @public
783
919
  */
784
920
  export declare function captureResult<T>(func: () => T): Result<T>;
921
+ /**
922
+ * Async continuation callback to be called in the event that a
923
+ * {@link Result} is successful, returning a `PromiseLike` of a new
924
+ * {@link Result}.
925
+ * @remarks
926
+ * Typed as `PromiseLike<Result<TN>>` rather than `Promise<Result<TN>>` so
927
+ * callers can return the result of {@link captureAsyncResult} (which is an
928
+ * {@link AsyncResult}, itself a `PromiseLike<Result<TN>>`) directly from a
929
+ * `thenOnSuccess` callback without an `async` wrapper to coerce the
930
+ * contextual return type back through `Awaited<>`. The continuation result
931
+ * is always wrapped into an {@link AsyncResult}, so chaining is unaffected.
932
+ * @public
933
+ */
934
+ export type AsyncSuccessContinuation<T, TN> = (value: T) => PromiseLike<Result<TN>>;
935
+ /**
936
+ * Async continuation callback to be called in the event that a
937
+ * {@link Result} fails, returning a `PromiseLike` of a new {@link Result}.
938
+ * @remarks
939
+ * See {@link AsyncSuccessContinuation} for the rationale behind accepting
940
+ * any `PromiseLike<Result<T>>` rather than only a `Promise<Result<T>>`.
941
+ * @public
942
+ */
943
+ export type AsyncFailureContinuation<T> = (message: string) => PromiseLike<Result<T>>;
944
+ /**
945
+ * Wraps a `Promise` of a {@link Result} to enable fluent chaining of both
946
+ * synchronous and asynchronous operations.
947
+ *
948
+ * @remarks
949
+ * `AsyncResult<T>` implements `PromiseLike` so it can be directly `await`ed.
950
+ * Use the `thenOnSuccess` and `thenOnFailure` methods on {@link Result} to bridge
951
+ * from synchronous to asynchronous result chains.
952
+ *
953
+ * @example
954
+ * ```typescript
955
+ * const result: Result<Final> = await parseInput(input)
956
+ * .thenOnSuccess(async (parsed) => fetchData(parsed))
957
+ * .onSuccess((data) => transform(data))
958
+ * .thenOnSuccess(async (transformed) => saveData(transformed))
959
+ * .withErrorFormat((msg) => `pipeline failed: ${msg}`);
960
+ * ```
961
+ *
962
+ * @public
963
+ */
964
+ export declare class AsyncResult<T> implements PromiseLike<Result<T>> {
965
+ private readonly _promise;
966
+ /**
967
+ * Constructs an {@link AsyncResult} wrapping the supplied promise (or any
968
+ * `PromiseLike` that resolves to a {@link Result}, such as another
969
+ * {@link AsyncResult}).
970
+ * @remarks
971
+ * If the supplied promise rejects, the rejection is caught and converted
972
+ * to a {@link Failure}, ensuring that awaiting an {@link AsyncResult} always
973
+ * yields a {@link Result}.
974
+ * @param promise - A `Promise` (or `PromiseLike`) that resolves to a
975
+ * {@link Result}.
976
+ */
977
+ constructor(promise: PromiseLike<Result<T>>);
978
+ /**
979
+ * Calls a supplied {@link SuccessContinuation | success continuation} if
980
+ * the wrapped result is successful.
981
+ * @param cb - The synchronous {@link SuccessContinuation | success continuation}
982
+ * to be called in the event of success.
983
+ * @returns A new {@link AsyncResult} wrapping the continuation result.
984
+ */
985
+ onSuccess<TN>(cb: SuccessContinuation<T, TN>): AsyncResult<TN>;
986
+ /**
987
+ * Calls a supplied {@link AsyncSuccessContinuation | async success continuation} if
988
+ * the wrapped result is successful.
989
+ * @remarks
990
+ * Both synchronous throws and async rejections from the callback are caught
991
+ * and converted to a {@link Failure}.
992
+ * @param cb - The {@link AsyncSuccessContinuation | async success continuation}
993
+ * to be called in the event of success.
994
+ * @returns A new {@link AsyncResult} wrapping the async continuation result.
995
+ */
996
+ thenOnSuccess<TN>(cb: AsyncSuccessContinuation<T, TN>): AsyncResult<TN>;
997
+ /**
998
+ * Calls a supplied {@link FailureContinuation | failure continuation} if
999
+ * the wrapped result is a failure.
1000
+ * @param cb - The synchronous {@link FailureContinuation | failure continuation}
1001
+ * to be called in the event of failure.
1002
+ * @returns A new {@link AsyncResult} wrapping the continuation result.
1003
+ */
1004
+ onFailure(cb: FailureContinuation<T>): AsyncResult<T>;
1005
+ /**
1006
+ * Calls a supplied {@link AsyncFailureContinuation | async failure continuation} if
1007
+ * the wrapped result is a failure.
1008
+ * @remarks
1009
+ * Both synchronous throws and async rejections from the callback are caught
1010
+ * and converted to a {@link Failure}.
1011
+ * @param cb - The {@link AsyncFailureContinuation | async failure continuation}
1012
+ * to be called in the event of failure.
1013
+ * @returns A new {@link AsyncResult} wrapping the async continuation result.
1014
+ */
1015
+ thenOnFailure(cb: AsyncFailureContinuation<T>): AsyncResult<T>;
1016
+ /**
1017
+ * Calls a supplied {@link ErrorFormatter | error formatter} if
1018
+ * the wrapped result is a failure.
1019
+ * @param cb - The {@link ErrorFormatter | error formatter} to
1020
+ * be called in the event of failure.
1021
+ * @returns A new {@link AsyncResult} with the formatted error message,
1022
+ * or the original success result.
1023
+ */
1024
+ withErrorFormat(cb: ErrorFormatter): AsyncResult<T>;
1025
+ /**
1026
+ * Propagates the wrapped result, appending any error message to the
1027
+ * supplied errors aggregator.
1028
+ * @param errors - {@link IMessageAggregator | Error aggregator} in which
1029
+ * errors will be aggregated.
1030
+ * @param formatter - An optional {@link ErrorFormatter | error formatter}
1031
+ * to be used to format the error message.
1032
+ * @returns A new {@link AsyncResult} wrapping the result after aggregation.
1033
+ */
1034
+ aggregateError(errors: IMessageAggregator, formatter?: ErrorFormatter): AsyncResult<T>;
1035
+ /**
1036
+ * Reports the wrapped result to the supplied reporter.
1037
+ * @param reporter - The {@link IResultReporter | reporter} to which the result
1038
+ * will be reported.
1039
+ * @param options - The {@link IResultReportOptions | options} for reporting the result.
1040
+ * @returns A new {@link AsyncResult} wrapping the result after reporting.
1041
+ */
1042
+ report(reporter?: IResultReporter<T>, options?: IResultReportOptions<unknown>): AsyncResult<T>;
1043
+ /**
1044
+ * Implementation of `PromiseLike.then` enabling `await` on {@link AsyncResult}.
1045
+ * @param onfulfilled - Callback invoked when the promise resolves.
1046
+ * @param onrejected - Callback invoked when the promise rejects.
1047
+ * @returns A `Promise` resolving to the callback result.
1048
+ */
1049
+ then<TResult1 = Result<T>, TResult2 = never>(onfulfilled?: ((value: Result<T>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
1050
+ /**
1051
+ * Creates an {@link AsyncResult} from a {@link Result}.
1052
+ * @param result - The {@link Result} to wrap.
1053
+ * @returns A new {@link AsyncResult} wrapping the supplied result.
1054
+ */
1055
+ static from<T>(result: Result<T>): AsyncResult<T>;
1056
+ }
1057
+ /**
1058
+ * Wraps an async function which might throw to convert exception results
1059
+ * to {@link Failure}.
1060
+ * @remarks
1061
+ * Returns an {@link AsyncResult} so callers can fluently chain
1062
+ * (`.onSuccess` / `.thenOnSuccess` / `.withErrorFormat`) directly off the
1063
+ * captured result. Because {@link AsyncResult} implements
1064
+ * `PromiseLike<Result<T>>`, existing `await captureAsyncResult(...)` call
1065
+ * sites continue to work unchanged and yield the same {@link Result}.
1066
+ *
1067
+ * Synchronous throws from `func` (before it returns its `Promise`), promise
1068
+ * rejections, and successful resolutions are all funneled through the
1069
+ * returned {@link AsyncResult}, which resolves to a {@link Failure} for the
1070
+ * throw/reject cases and a {@link Success} wrapping the resolved value
1071
+ * otherwise.
1072
+ * @param func - The async function to be captured.
1073
+ * @returns An {@link AsyncResult} resolving to {@link Success} with a value
1074
+ * of type `<T>` on success, or {@link Failure} with the thrown error message
1075
+ * if `func` throws or rejects.
1076
+ * @public
1077
+ */
1078
+ export declare function captureAsyncResult<T>(func: () => Promise<T>): AsyncResult<T>;
785
1079
  //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/packlets/base/result.ts"],"names":[],"mappings":"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"}