@resultsafe/core-fp-result 0.1.0

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 (389) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +273 -0
  3. package/README.ru.md +266 -0
  4. package/dist/LICENSE +21 -0
  5. package/dist/README.md +273 -0
  6. package/dist/cjs/constructors/Err.js +4 -0
  7. package/dist/cjs/constructors/Err.js.map +1 -0
  8. package/dist/cjs/constructors/Ok.js +4 -0
  9. package/dist/cjs/constructors/Ok.js.map +1 -0
  10. package/dist/cjs/guards/isErr.js +4 -0
  11. package/dist/cjs/guards/isErr.js.map +1 -0
  12. package/dist/cjs/guards/isErrAnd.js +5 -0
  13. package/dist/cjs/guards/isErrAnd.js.map +1 -0
  14. package/dist/cjs/guards/isOk.js +4 -0
  15. package/dist/cjs/guards/isOk.js.map +1 -0
  16. package/dist/cjs/guards/isOkAnd.js +5 -0
  17. package/dist/cjs/guards/isOkAnd.js.map +1 -0
  18. package/dist/cjs/index.js +70 -0
  19. package/dist/cjs/index.js.map +1 -0
  20. package/dist/cjs/internal/object.js +6 -0
  21. package/dist/cjs/internal/object.js.map +1 -0
  22. package/dist/cjs/internal/option.js +6 -0
  23. package/dist/cjs/internal/option.js.map +1 -0
  24. package/dist/cjs/methods/andThen.js +5 -0
  25. package/dist/cjs/methods/andThen.js.map +1 -0
  26. package/dist/cjs/methods/err.js +6 -0
  27. package/dist/cjs/methods/err.js.map +1 -0
  28. package/dist/cjs/methods/expect.js +10 -0
  29. package/dist/cjs/methods/expect.js.map +1 -0
  30. package/dist/cjs/methods/expectErr.js +10 -0
  31. package/dist/cjs/methods/expectErr.js.map +1 -0
  32. package/dist/cjs/methods/flatten.js +4 -0
  33. package/dist/cjs/methods/flatten.js.map +1 -0
  34. package/dist/cjs/methods/inspect.js +10 -0
  35. package/dist/cjs/methods/inspect.js.map +1 -0
  36. package/dist/cjs/methods/inspectErr.js +10 -0
  37. package/dist/cjs/methods/inspectErr.js.map +1 -0
  38. package/dist/cjs/methods/map.js +5 -0
  39. package/dist/cjs/methods/map.js.map +1 -0
  40. package/dist/cjs/methods/mapErr.js +5 -0
  41. package/dist/cjs/methods/mapErr.js.map +1 -0
  42. package/dist/cjs/methods/match.js +11 -0
  43. package/dist/cjs/methods/match.js.map +1 -0
  44. package/dist/cjs/methods/ok.js +6 -0
  45. package/dist/cjs/methods/ok.js.map +1 -0
  46. package/dist/cjs/methods/orElse.js +5 -0
  47. package/dist/cjs/methods/orElse.js.map +1 -0
  48. package/dist/cjs/methods/tap.js +9 -0
  49. package/dist/cjs/methods/tap.js.map +1 -0
  50. package/dist/cjs/methods/tapErr.js +10 -0
  51. package/dist/cjs/methods/tapErr.js.map +1 -0
  52. package/dist/cjs/methods/transpose.js +10 -0
  53. package/dist/cjs/methods/transpose.js.map +1 -0
  54. package/dist/cjs/methods/unwrap.js +10 -0
  55. package/dist/cjs/methods/unwrap.js.map +1 -0
  56. package/dist/cjs/methods/unwrapErr.js +10 -0
  57. package/dist/cjs/methods/unwrapErr.js.map +1 -0
  58. package/dist/cjs/methods/unwrapOr.js +5 -0
  59. package/dist/cjs/methods/unwrapOr.js.map +1 -0
  60. package/dist/cjs/methods/unwrapOrElse.js +10 -0
  61. package/dist/cjs/methods/unwrapOrElse.js.map +1 -0
  62. package/dist/cjs/package.json +3 -0
  63. package/dist/cjs/refiners/isTypedVariant.js +9 -0
  64. package/dist/cjs/refiners/isTypedVariant.js.map +1 -0
  65. package/dist/cjs/refiners/isTypedVariantOf.js +14 -0
  66. package/dist/cjs/refiners/isTypedVariantOf.js.map +1 -0
  67. package/dist/cjs/refiners/matchVariant.js +57 -0
  68. package/dist/cjs/refiners/matchVariant.js.map +1 -0
  69. package/dist/cjs/refiners/matchVariantStrict.js +37 -0
  70. package/dist/cjs/refiners/matchVariantStrict.js.map +1 -0
  71. package/dist/cjs/refiners/refineAsyncResult.js +26 -0
  72. package/dist/cjs/refiners/refineAsyncResult.js.map +1 -0
  73. package/dist/cjs/refiners/refineAsyncResultU.js +28 -0
  74. package/dist/cjs/refiners/refineAsyncResultU.js.map +1 -0
  75. package/dist/cjs/refiners/refineResult.js +21 -0
  76. package/dist/cjs/refiners/refineResult.js.map +1 -0
  77. package/dist/cjs/refiners/refineResultU.js +5 -0
  78. package/dist/cjs/refiners/refineResultU.js.map +1 -0
  79. package/dist/cjs/refiners/refineVariantMap.js +25 -0
  80. package/dist/cjs/refiners/refineVariantMap.js.map +1 -0
  81. package/dist/cjs/refiners/utils/getPayloadKeys.js +8 -0
  82. package/dist/cjs/refiners/utils/getPayloadKeys.js.map +1 -0
  83. package/dist/docs/api/README.md +9 -0
  84. package/dist/docs/api/constructors/Err.md +58 -0
  85. package/dist/docs/api/constructors/Ok.md +58 -0
  86. package/dist/docs/api/constructors/index.md +7 -0
  87. package/dist/docs/api/guards/index.md +9 -0
  88. package/dist/docs/api/guards/isErr.md +58 -0
  89. package/dist/docs/api/guards/isErrAnd.md +64 -0
  90. package/dist/docs/api/guards/isOk.md +58 -0
  91. package/dist/docs/api/guards/isOkAnd.md +64 -0
  92. package/dist/docs/api/index.md +9 -0
  93. package/dist/docs/api/methods/andThen.md +73 -0
  94. package/dist/docs/api/methods/err.md +58 -0
  95. package/dist/docs/api/methods/expect.md +68 -0
  96. package/dist/docs/api/methods/expectErr.md +68 -0
  97. package/dist/docs/api/methods/flatten.md +58 -0
  98. package/dist/docs/api/methods/index.md +24 -0
  99. package/dist/docs/api/methods/inspect.md +64 -0
  100. package/dist/docs/api/methods/inspectErr.md +64 -0
  101. package/dist/docs/api/methods/map.md +70 -0
  102. package/dist/docs/api/methods/mapErr.md +70 -0
  103. package/dist/docs/api/methods/match.md +76 -0
  104. package/dist/docs/api/methods/ok.md +58 -0
  105. package/dist/docs/api/methods/orElse.md +70 -0
  106. package/dist/docs/api/methods/tap.md +64 -0
  107. package/dist/docs/api/methods/tapErr.md +64 -0
  108. package/dist/docs/api/methods/transpose.md +58 -0
  109. package/dist/docs/api/methods/unwrap.md +62 -0
  110. package/dist/docs/api/methods/unwrapErr.md +62 -0
  111. package/dist/docs/api/methods/unwrapOr.md +64 -0
  112. package/dist/docs/api/methods/unwrapOrElse.md +64 -0
  113. package/dist/docs/api/modules.md +10 -0
  114. package/dist/docs/api/refiners/index.md +14 -0
  115. package/dist/docs/api/refiners/isTypedVariant.md +62 -0
  116. package/dist/docs/api/refiners/isTypedVariantOf.md +68 -0
  117. package/dist/docs/api/refiners/matchVariant.md +59 -0
  118. package/dist/docs/api/refiners/matchVariantStrict.md +63 -0
  119. package/dist/docs/api/refiners/refineAsyncResult.md +98 -0
  120. package/dist/docs/api/refiners/refineAsyncResultU.md +86 -0
  121. package/dist/docs/api/refiners/refineResult.md +98 -0
  122. package/dist/docs/api/refiners/refineResultU.md +86 -0
  123. package/dist/docs/api/refiners/refineVariantMap.md +79 -0
  124. package/dist/docs/api/type-aliases/Handler.md +49 -0
  125. package/dist/docs/api/type-aliases/MatchBuilder.md +57 -0
  126. package/dist/docs/api/type-aliases/Matcher.md +71 -0
  127. package/dist/docs/api/type-aliases/SyncRefinedResult.md +31 -0
  128. package/dist/docs/api/type-aliases/SyncRefinedResultUnion.md +21 -0
  129. package/dist/docs/api/type-aliases/SyncValidatorMap.md +17 -0
  130. package/dist/docs/api/type-aliases/UniversalAsyncRefinedResult.md +31 -0
  131. package/dist/docs/api/type-aliases/UniversalRefinedResult.md +31 -0
  132. package/dist/docs/api/type-aliases/VariantOf.md +23 -0
  133. package/dist/docs/api/type-aliases/index.md +14 -0
  134. package/dist/esm/constructors/Err.js +7 -0
  135. package/dist/esm/constructors/Err.js.map +1 -0
  136. package/dist/esm/constructors/Ok.js +7 -0
  137. package/dist/esm/constructors/Ok.js.map +1 -0
  138. package/dist/esm/guards/isErr.js +7 -0
  139. package/dist/esm/guards/isErr.js.map +1 -0
  140. package/dist/esm/guards/isErrAnd.js +8 -0
  141. package/dist/esm/guards/isErrAnd.js.map +1 -0
  142. package/dist/esm/guards/isOk.js +7 -0
  143. package/dist/esm/guards/isOk.js.map +1 -0
  144. package/dist/esm/guards/isOkAnd.js +8 -0
  145. package/dist/esm/guards/isOkAnd.js.map +1 -0
  146. package/dist/esm/index.js +71 -0
  147. package/dist/esm/index.js.map +1 -0
  148. package/dist/esm/internal/object.js +9 -0
  149. package/dist/esm/internal/object.js.map +1 -0
  150. package/dist/esm/internal/option.js +9 -0
  151. package/dist/esm/internal/option.js.map +1 -0
  152. package/dist/esm/methods/andThen.js +8 -0
  153. package/dist/esm/methods/andThen.js.map +1 -0
  154. package/dist/esm/methods/err.js +9 -0
  155. package/dist/esm/methods/err.js.map +1 -0
  156. package/dist/esm/methods/expect.js +13 -0
  157. package/dist/esm/methods/expect.js.map +1 -0
  158. package/dist/esm/methods/expectErr.js +13 -0
  159. package/dist/esm/methods/expectErr.js.map +1 -0
  160. package/dist/esm/methods/flatten.js +7 -0
  161. package/dist/esm/methods/flatten.js.map +1 -0
  162. package/dist/esm/methods/inspect.js +13 -0
  163. package/dist/esm/methods/inspect.js.map +1 -0
  164. package/dist/esm/methods/inspectErr.js +13 -0
  165. package/dist/esm/methods/inspectErr.js.map +1 -0
  166. package/dist/esm/methods/map.js +8 -0
  167. package/dist/esm/methods/map.js.map +1 -0
  168. package/dist/esm/methods/mapErr.js +8 -0
  169. package/dist/esm/methods/mapErr.js.map +1 -0
  170. package/dist/esm/methods/match.js +14 -0
  171. package/dist/esm/methods/match.js.map +1 -0
  172. package/dist/esm/methods/ok.js +9 -0
  173. package/dist/esm/methods/ok.js.map +1 -0
  174. package/dist/esm/methods/orElse.js +8 -0
  175. package/dist/esm/methods/orElse.js.map +1 -0
  176. package/dist/esm/methods/tap.js +12 -0
  177. package/dist/esm/methods/tap.js.map +1 -0
  178. package/dist/esm/methods/tapErr.js +13 -0
  179. package/dist/esm/methods/tapErr.js.map +1 -0
  180. package/dist/esm/methods/transpose.js +13 -0
  181. package/dist/esm/methods/transpose.js.map +1 -0
  182. package/dist/esm/methods/unwrap.js +13 -0
  183. package/dist/esm/methods/unwrap.js.map +1 -0
  184. package/dist/esm/methods/unwrapErr.js +13 -0
  185. package/dist/esm/methods/unwrapErr.js.map +1 -0
  186. package/dist/esm/methods/unwrapOr.js +8 -0
  187. package/dist/esm/methods/unwrapOr.js.map +1 -0
  188. package/dist/esm/methods/unwrapOrElse.js +13 -0
  189. package/dist/esm/methods/unwrapOrElse.js.map +1 -0
  190. package/dist/esm/refiners/isTypedVariant.js +12 -0
  191. package/dist/esm/refiners/isTypedVariant.js.map +1 -0
  192. package/dist/esm/refiners/isTypedVariantOf.js +17 -0
  193. package/dist/esm/refiners/isTypedVariantOf.js.map +1 -0
  194. package/dist/esm/refiners/matchVariant.js +60 -0
  195. package/dist/esm/refiners/matchVariant.js.map +1 -0
  196. package/dist/esm/refiners/matchVariantStrict.js +40 -0
  197. package/dist/esm/refiners/matchVariantStrict.js.map +1 -0
  198. package/dist/esm/refiners/refineAsyncResult.js +29 -0
  199. package/dist/esm/refiners/refineAsyncResult.js.map +1 -0
  200. package/dist/esm/refiners/refineAsyncResultU.js +31 -0
  201. package/dist/esm/refiners/refineAsyncResultU.js.map +1 -0
  202. package/dist/esm/refiners/refineResult.js +24 -0
  203. package/dist/esm/refiners/refineResult.js.map +1 -0
  204. package/dist/esm/refiners/refineResultU.js +8 -0
  205. package/dist/esm/refiners/refineResultU.js.map +1 -0
  206. package/dist/esm/refiners/refineVariantMap.js +29 -0
  207. package/dist/esm/refiners/refineVariantMap.js.map +1 -0
  208. package/dist/esm/refiners/utils/getPayloadKeys.js +11 -0
  209. package/dist/esm/refiners/utils/getPayloadKeys.js.map +1 -0
  210. package/dist/package.json +36 -0
  211. package/dist/types/constructors/Err.d.ts +21 -0
  212. package/dist/types/constructors/Err.d.ts.map +1 -0
  213. package/dist/types/constructors/Ok.d.ts +21 -0
  214. package/dist/types/constructors/Ok.d.ts.map +1 -0
  215. package/dist/types/constructors/index.d.ts +3 -0
  216. package/dist/types/constructors/index.d.ts.map +1 -0
  217. package/dist/types/guards/index.d.ts +5 -0
  218. package/dist/types/guards/index.d.ts.map +1 -0
  219. package/dist/types/guards/isErr.d.ts +24 -0
  220. package/dist/types/guards/isErr.d.ts.map +1 -0
  221. package/dist/types/guards/isErrAnd.d.ts +22 -0
  222. package/dist/types/guards/isErrAnd.d.ts.map +1 -0
  223. package/dist/types/guards/isOk.d.ts +24 -0
  224. package/dist/types/guards/isOk.d.ts.map +1 -0
  225. package/dist/types/guards/isOkAnd.d.ts +22 -0
  226. package/dist/types/guards/isOkAnd.d.ts.map +1 -0
  227. package/dist/types/index.d.ts +5 -0
  228. package/dist/types/index.d.ts.map +1 -0
  229. package/dist/types/internal/object.d.ts +5 -0
  230. package/dist/types/internal/object.d.ts.map +1 -0
  231. package/dist/types/internal/option.d.ts +10 -0
  232. package/dist/types/internal/option.d.ts.map +1 -0
  233. package/dist/types/methods/andThen.d.ts +26 -0
  234. package/dist/types/methods/andThen.d.ts.map +1 -0
  235. package/dist/types/methods/err.d.ts +22 -0
  236. package/dist/types/methods/err.d.ts.map +1 -0
  237. package/dist/types/methods/expect.d.ts +23 -0
  238. package/dist/types/methods/expect.d.ts.map +1 -0
  239. package/dist/types/methods/expectErr.d.ts +23 -0
  240. package/dist/types/methods/expectErr.d.ts.map +1 -0
  241. package/dist/types/methods/flatten.d.ts +21 -0
  242. package/dist/types/methods/flatten.d.ts.map +1 -0
  243. package/dist/types/methods/index.d.ts +20 -0
  244. package/dist/types/methods/index.d.ts.map +1 -0
  245. package/dist/types/methods/inspect.d.ts +22 -0
  246. package/dist/types/methods/inspect.d.ts.map +1 -0
  247. package/dist/types/methods/inspectErr.d.ts +22 -0
  248. package/dist/types/methods/inspectErr.d.ts.map +1 -0
  249. package/dist/types/methods/map.d.ts +23 -0
  250. package/dist/types/methods/map.d.ts.map +1 -0
  251. package/dist/types/methods/mapErr.d.ts +23 -0
  252. package/dist/types/methods/mapErr.d.ts.map +1 -0
  253. package/dist/types/methods/match.d.ts +24 -0
  254. package/dist/types/methods/match.d.ts.map +1 -0
  255. package/dist/types/methods/ok.d.ts +22 -0
  256. package/dist/types/methods/ok.d.ts.map +1 -0
  257. package/dist/types/methods/orElse.d.ts +23 -0
  258. package/dist/types/methods/orElse.d.ts.map +1 -0
  259. package/dist/types/methods/tap.d.ts +22 -0
  260. package/dist/types/methods/tap.d.ts.map +1 -0
  261. package/dist/types/methods/tapErr.d.ts +22 -0
  262. package/dist/types/methods/tapErr.d.ts.map +1 -0
  263. package/dist/types/methods/transpose.d.ts +22 -0
  264. package/dist/types/methods/transpose.d.ts.map +1 -0
  265. package/dist/types/methods/unwrap.d.ts +22 -0
  266. package/dist/types/methods/unwrap.d.ts.map +1 -0
  267. package/dist/types/methods/unwrapErr.d.ts +22 -0
  268. package/dist/types/methods/unwrapErr.d.ts.map +1 -0
  269. package/dist/types/methods/unwrapOr.d.ts +22 -0
  270. package/dist/types/methods/unwrapOr.d.ts.map +1 -0
  271. package/dist/types/methods/unwrapOrElse.d.ts +22 -0
  272. package/dist/types/methods/unwrapOrElse.d.ts.map +1 -0
  273. package/dist/types/refiners/index.d.ts +11 -0
  274. package/dist/types/refiners/index.d.ts.map +1 -0
  275. package/dist/types/refiners/isTypedVariant.d.ts +21 -0
  276. package/dist/types/refiners/isTypedVariant.d.ts.map +1 -0
  277. package/dist/types/refiners/isTypedVariantOf.d.ts +22 -0
  278. package/dist/types/refiners/isTypedVariantOf.d.ts.map +1 -0
  279. package/dist/types/refiners/matchVariant.d.ts +27 -0
  280. package/dist/types/refiners/matchVariant.d.ts.map +1 -0
  281. package/dist/types/refiners/matchVariantStrict.d.ts +28 -0
  282. package/dist/types/refiners/matchVariantStrict.d.ts.map +1 -0
  283. package/dist/types/refiners/refineAsyncResult.d.ts +54 -0
  284. package/dist/types/refiners/refineAsyncResult.d.ts.map +1 -0
  285. package/dist/types/refiners/refineAsyncResultU.d.ts +30 -0
  286. package/dist/types/refiners/refineAsyncResultU.d.ts.map +1 -0
  287. package/dist/types/refiners/refineResult.d.ts +54 -0
  288. package/dist/types/refiners/refineResult.d.ts.map +1 -0
  289. package/dist/types/refiners/refineResultU.d.ts +30 -0
  290. package/dist/types/refiners/refineResultU.d.ts.map +1 -0
  291. package/dist/types/refiners/refineVariantMap.d.ts +34 -0
  292. package/dist/types/refiners/refineVariantMap.d.ts.map +1 -0
  293. package/dist/types/refiners/types/Handler.d.ts +9 -0
  294. package/dist/types/refiners/types/Handler.d.ts.map +1 -0
  295. package/dist/types/refiners/types/MatchBuilder.d.ts +9 -0
  296. package/dist/types/refiners/types/MatchBuilder.d.ts.map +1 -0
  297. package/dist/types/refiners/types/Matcher.d.ts +11 -0
  298. package/dist/types/refiners/types/Matcher.d.ts.map +1 -0
  299. package/dist/types/refiners/types/SyncRefinedResult.d.ts +6 -0
  300. package/dist/types/refiners/types/SyncRefinedResult.d.ts.map +1 -0
  301. package/dist/types/refiners/types/SyncRefinedResultUnion.d.ts +8 -0
  302. package/dist/types/refiners/types/SyncRefinedResultUnion.d.ts.map +1 -0
  303. package/dist/types/refiners/types/SyncValidatorMap.d.ts +6 -0
  304. package/dist/types/refiners/types/SyncValidatorMap.d.ts.map +1 -0
  305. package/dist/types/refiners/types/UniversalAsyncRefinedResult.d.ts +6 -0
  306. package/dist/types/refiners/types/UniversalAsyncRefinedResult.d.ts.map +1 -0
  307. package/dist/types/refiners/types/UniversalRefinedResult.d.ts +6 -0
  308. package/dist/types/refiners/types/UniversalRefinedResult.d.ts.map +1 -0
  309. package/dist/types/refiners/types/VariantOf.d.ts +5 -0
  310. package/dist/types/refiners/types/VariantOf.d.ts.map +1 -0
  311. package/dist/types/refiners/types/index.d.ts +10 -0
  312. package/dist/types/refiners/types/index.d.ts.map +1 -0
  313. package/dist/types/refiners/utils/getPayloadKeys.d.ts +19 -0
  314. package/dist/types/refiners/utils/getPayloadKeys.d.ts.map +1 -0
  315. package/dist/types/refiners/utils/index.d.ts +2 -0
  316. package/dist/types/refiners/utils/index.d.ts.map +1 -0
  317. package/dist/types/shared-types.d.ts +22 -0
  318. package/dist/types/shared-types.d.ts.map +1 -0
  319. package/dist/umd/resultsafe-monorepo-core-fp-result.umd.js +2 -0
  320. package/dist/umd/resultsafe-monorepo-core-fp-result.umd.js.map +1 -0
  321. package/docs/_category_.json +6 -0
  322. package/docs/api/README.md +9 -0
  323. package/docs/api/constructors/Err.md +58 -0
  324. package/docs/api/constructors/Ok.md +58 -0
  325. package/docs/api/constructors/index.md +7 -0
  326. package/docs/api/guards/index.md +9 -0
  327. package/docs/api/guards/isErr.md +58 -0
  328. package/docs/api/guards/isErrAnd.md +64 -0
  329. package/docs/api/guards/isOk.md +58 -0
  330. package/docs/api/guards/isOkAnd.md +64 -0
  331. package/docs/api/index.md +9 -0
  332. package/docs/api/methods/andThen.md +73 -0
  333. package/docs/api/methods/err.md +58 -0
  334. package/docs/api/methods/expect.md +68 -0
  335. package/docs/api/methods/expectErr.md +68 -0
  336. package/docs/api/methods/flatten.md +58 -0
  337. package/docs/api/methods/index.md +24 -0
  338. package/docs/api/methods/inspect.md +64 -0
  339. package/docs/api/methods/inspectErr.md +64 -0
  340. package/docs/api/methods/map.md +70 -0
  341. package/docs/api/methods/mapErr.md +70 -0
  342. package/docs/api/methods/match.md +76 -0
  343. package/docs/api/methods/ok.md +58 -0
  344. package/docs/api/methods/orElse.md +70 -0
  345. package/docs/api/methods/tap.md +64 -0
  346. package/docs/api/methods/tapErr.md +64 -0
  347. package/docs/api/methods/transpose.md +58 -0
  348. package/docs/api/methods/unwrap.md +62 -0
  349. package/docs/api/methods/unwrapErr.md +62 -0
  350. package/docs/api/methods/unwrapOr.md +64 -0
  351. package/docs/api/methods/unwrapOrElse.md +64 -0
  352. package/docs/api/modules.md +10 -0
  353. package/docs/api/refiners/index.md +14 -0
  354. package/docs/api/refiners/isTypedVariant.md +62 -0
  355. package/docs/api/refiners/isTypedVariantOf.md +68 -0
  356. package/docs/api/refiners/matchVariant.md +59 -0
  357. package/docs/api/refiners/matchVariantStrict.md +63 -0
  358. package/docs/api/refiners/refineAsyncResult.md +98 -0
  359. package/docs/api/refiners/refineAsyncResultU.md +86 -0
  360. package/docs/api/refiners/refineResult.md +98 -0
  361. package/docs/api/refiners/refineResultU.md +86 -0
  362. package/docs/api/refiners/refineVariantMap.md +79 -0
  363. package/docs/api/type-aliases/Handler.md +49 -0
  364. package/docs/api/type-aliases/MatchBuilder.md +57 -0
  365. package/docs/api/type-aliases/Matcher.md +71 -0
  366. package/docs/api/type-aliases/SyncRefinedResult.md +31 -0
  367. package/docs/api/type-aliases/SyncRefinedResultUnion.md +21 -0
  368. package/docs/api/type-aliases/SyncValidatorMap.md +17 -0
  369. package/docs/api/type-aliases/UniversalAsyncRefinedResult.md +31 -0
  370. package/docs/api/type-aliases/UniversalRefinedResult.md +31 -0
  371. package/docs/api/type-aliases/VariantOf.md +23 -0
  372. package/docs/api/type-aliases/index.md +14 -0
  373. package/docs/assets/logo.svg +153 -0
  374. package/docs/examples/_category_.json +4 -0
  375. package/docs/examples/auth/_category_.json +4 -0
  376. package/docs/examples/auth/index.md +3 -0
  377. package/docs/examples/auth/token.md +5 -0
  378. package/docs/examples/connection/_category_.json +4 -0
  379. package/docs/examples/connection/connect.md +5 -0
  380. package/docs/examples/connection/index.md +3 -0
  381. package/docs/examples/connection/reconnect.md +5 -0
  382. package/docs/examples/errors/_category_.json +4 -0
  383. package/docs/examples/errors/index.md +3 -0
  384. package/docs/examples/errors/retry.md +5 -0
  385. package/docs/examples/index.md +9 -0
  386. package/docs/examples/streaming/_category_.json +4 -0
  387. package/docs/examples/streaming/index.md +3 -0
  388. package/docs/examples/streaming/text.md +5 -0
  389. package/package.json +70 -0
package/dist/README.md ADDED
@@ -0,0 +1,273 @@
1
+ # @resultsafe/core-fp-result
2
+ <a id="top"></a>
3
+
4
+ ![ResultSafe Logo](https://raw.githubusercontent.com/resultsafe/monorepo/main/packages/core/fp/result/docs/assets/logo.svg)
5
+
6
+ [![npm version](https://img.shields.io/npm/v/@resultsafe/core-fp-result.svg)](https://www.npmjs.com/package/@resultsafe/core-fp-result)
7
+ [![npm downloads](https://img.shields.io/npm/dm/@resultsafe/core-fp-result.svg)](https://www.npmjs.com/package/@resultsafe/core-fp-result)
8
+ [![license](https://img.shields.io/npm/l/@resultsafe/core-fp-result.svg)](./LICENSE)
9
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6.svg)](https://www.typescriptlang.org/)
10
+ [![docs](https://img.shields.io/badge/docs-api-informational.svg)](./docs/api/README.md)
11
+ [![build status](https://img.shields.io/badge/build-local%20verified-success.svg)](./package.json)
12
+ [![monorepo](https://img.shields.io/badge/monorepo-resultsafe%2Fmonorepo-0A0A0A.svg)](https://github.com/resultsafe/monorepo)
13
+
14
+ A Rust-inspired Result package for explicit, composable, and type-friendly APIs in TypeScript and JavaScript.
15
+
16
+ **Language:** English | [Русский](./README.ru.md)
17
+
18
+ **Documentation:** [API index](./docs/api/README.md) · [Modules](./docs/api/modules.md)
19
+
20
+ ---
21
+ ## Contents
22
+
23
+ - [Why this package](#why-this-package)
24
+ - [Monorepo context](#monorepo-context)
25
+ - [Key features](#key-features)
26
+ - [Package](#package)
27
+ - [Installation](#installation)
28
+ - [Quick start](#quick-start)
29
+ - [Core API overview](#core-api-overview)
30
+ - [Build and distribution formats](#build-and-distribution-formats)
31
+ - [Monorepo and package structure](#monorepo-and-package-structure)
32
+ - [When to use this project](#when-to-use-this-project)
33
+ - [Documentation links](#documentation-links)
34
+ - [License](#license)
35
+
36
+ ---
37
+
38
+ ## Why this package
39
+
40
+ `@resultsafe/core-fp-result` provides explicit success/error flows instead of hidden control paths and exception-first branching.
41
+
42
+ Its core package, [`@resultsafe/core-fp-result`](https://www.npmjs.com/package/@resultsafe/core-fp-result), provides a Rust-inspired `Result` API for TypeScript and JavaScript with:
43
+
44
+ - explicit `Ok` / `Err`
45
+ - predictable functional composition
46
+ - safe branching through guards and matching
47
+ - disciplined extraction APIs
48
+ - advanced refinement utilities for typed variants and strict matching
49
+
50
+ The goal is not to imitate Rust mechanically, but to bring the same clarity of intent to Node.js libraries: explicit values, predictable branching, and APIs organized for long-term maintenance.
51
+
52
+ ---
53
+
54
+ ## Monorepo context
55
+
56
+ `@resultsafe/core-fp-result` is the TypeScript/JavaScript package inside the multilingual `resultsafe/monorepo`.
57
+
58
+ The monorepo applies shared Rust-inspired design concepts across language-specific packages. TypeScript/JavaScript is the current production package track, while Python is planned as a separate package track with the same conceptual model.
59
+
60
+ ---
61
+
62
+ ## Key features
63
+
64
+ - Rust-inspired `Result` model for TypeScript and JavaScript.
65
+ - Explicit constructors via `Ok` and `Err`.
66
+ - Composable transformations with APIs such as `map`, `mapErr`, `andThen`, and `orElse`.
67
+ - Safe branching through guards like `isOk`, `isErr`, `isOkAnd`, `isErrAnd`, and matching helpers.
68
+ - Controlled extraction with `unwrap`, `unwrapOr`, `unwrapErr`, `expect`, and `expectErr`.
69
+ - Advanced refinement layer for typed variants, strict matching, and result narrowing.
70
+ - Coherent module structure instead of a flat utility dump.
71
+ - Type output for TypeScript users for better DX and safer integrations.
72
+ - Flexible distribution formats with Types, ESM, CJS, and UMD builds.
73
+
74
+ ---
75
+
76
+ ## Package
77
+
78
+ ### `@resultsafe/core-fp-result`
79
+
80
+ A focused Result library for explicit error handling and FP-style composition.
81
+
82
+ It is designed for developers who want:
83
+
84
+ - clear success/error modeling
85
+ - predictable transformations
86
+ - explicit branching and extraction
87
+ - better readability in error-heavy flows
88
+ - a structured Rust-inspired API surface in TypeScript/JavaScript
89
+
90
+ ---
91
+
92
+ ## Installation
93
+
94
+ ### Package
95
+
96
+ ```bash
97
+ pnpm add @resultsafe/core-fp-result
98
+
99
+ # Alternative
100
+ npm install @resultsafe/core-fp-result
101
+ ```
102
+
103
+ ### Monorepo
104
+
105
+ ```bash
106
+ pnpm install
107
+ ```
108
+
109
+ ---
110
+
111
+ ## Quick start
112
+
113
+ A typical Result flow starts with explicit constructors and then composes through functions rather than implicit exception paths.
114
+
115
+ ```ts
116
+ import {
117
+ Ok,
118
+ map,
119
+ unwrapOr,
120
+ } from "@resultsafe/core-fp-result";
121
+
122
+ const initial = Ok(21);
123
+ const doubled = map(initial, (value) => value * 2);
124
+ const finalValue = unwrapOr(doubled, 0);
125
+
126
+ console.log(finalValue); // 42
127
+ ```
128
+
129
+ ### Basic `Ok` / `Err` example
130
+
131
+ ```ts
132
+ import { Ok, Err, match } from "@resultsafe/core-fp-result";
133
+
134
+ const parsePort = (input: string) => {
135
+ const port = Number(input);
136
+ return Number.isInteger(port) && port > 0
137
+ ? Ok(port)
138
+ : Err("Invalid port");
139
+ };
140
+
141
+ const result = parsePort("3000");
142
+ const message = match(result, (value) => `Port: ${value}`, (error) => `Error: ${error}`);
143
+
144
+ console.log(message);
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Core API overview
150
+
151
+ ### Constructors
152
+
153
+ - `Ok`
154
+ - `Err`
155
+
156
+ ### Guards
157
+
158
+ - `isOk`
159
+ - `isOkAnd`
160
+ - `isErr`
161
+ - `isErrAnd`
162
+
163
+ ### Methods
164
+
165
+ - `andThen`
166
+ - `err`
167
+ - `expect`
168
+ - `expectErr`
169
+ - `flatten`
170
+ - `inspect`
171
+ - `inspectErr`
172
+ - `map`
173
+ - `mapErr`
174
+ - `match`
175
+ - `ok`
176
+ - `orElse`
177
+ - `tap`
178
+ - `tapErr`
179
+ - `transpose`
180
+ - `unwrap`
181
+ - `unwrapErr`
182
+ - `unwrapOr`
183
+ - `unwrapOrElse`
184
+
185
+ ### Refiners
186
+
187
+ - `isTypedVariant`
188
+ - `isTypedVariantOf`
189
+ - `matchVariant`
190
+ - `matchVariantStrict`
191
+ - `refineAsyncResult`
192
+ - `refineAsyncResultU`
193
+ - `refineResult`
194
+ - `refineResultU`
195
+ - `refineVariantMap`
196
+
197
+ ### Type aliases
198
+
199
+ - `Handler`
200
+ - `MatchBuilder`
201
+ - `Matcher`
202
+ - `SyncRefinedResult`
203
+ - `SyncRefinedResultUnion`
204
+ - `SyncValidatorMap`
205
+ - `UniversalAsyncRefinedResult`
206
+ - `UniversalRefinedResult`
207
+ - `VariantOf`
208
+
209
+ ---
210
+
211
+ ## Build and distribution formats
212
+
213
+ - Types: `build:types`
214
+ - ESM: `build:esm`
215
+ - CJS: `build:cjs`
216
+ - UMD: `build:umd`
217
+
218
+ This package ships typed declarations and multiple runtime module formats for broad compatibility.
219
+
220
+ ---
221
+
222
+ ## Monorepo and package structure
223
+
224
+ ```txt
225
+ src/
226
+ constructors/
227
+ guards/
228
+ methods/
229
+ refiners/
230
+ types/
231
+ utils/
232
+ internal/
233
+ index.ts
234
+ ```
235
+
236
+ ---
237
+
238
+ ## When to use this project
239
+
240
+ Use this project when you want:
241
+
242
+ - explicit success/error modeling
243
+ - predictable FP-style composition
244
+ - visible control flow
245
+ - stronger type-guided result handling in TypeScript
246
+ - advanced refinement tools for typed variants and strict result matching
247
+
248
+ ---
249
+
250
+ ## Documentation links
251
+
252
+ - [API entry (README)](./docs/api/README.md)
253
+ - [API entry (index)](./docs/api/index.md)
254
+ - [Modules](./docs/api/modules.md)
255
+ - [Constructors module](./docs/api/constructors/index.md)
256
+ - [Guards module](./docs/api/guards/index.md)
257
+ - [Methods module](./docs/api/methods/index.md)
258
+ - [Refiners module](./docs/api/refiners/index.md)
259
+ - [Type aliases module](./docs/api/type-aliases/index.md)
260
+
261
+ ---
262
+ Back to top: [@resultsafe/core-fp-result](#top)
263
+
264
+ ---
265
+ ## Author
266
+
267
+ Denis Savasteev
268
+
269
+ ---
270
+
271
+ ## License
272
+
273
+ [MIT](./LICENSE)
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const Err = (error) => ({ ok: false, error });
3
+ exports.Err = Err;
4
+ //# sourceMappingURL=Err.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Err.js","sources":["../../../src/constructors/Err.ts"],"sourcesContent":["import type { Result } from '../shared-types.js';\n\n/**\n * Создает ошибочное значение `Result` из переданного payload ошибки.\n *\n * @typeParam E - Тип значения ошибки.\n * @typeParam T - The success type for the resulting `Result`.\n * @param error - Payload ошибки для обёртки.\n * @returns A `Result` with `ok: false` and the provided `error`.\n * @since 0.1.0\n * @see {@link Ok} - Creates a successful `Result`.\n * @example\n * ```ts\n * import { Err } from '@resultsafe/core-fp-result';\n *\n * const result = Err<string, number>('boom');\n * console.log(result.ok); // false\n * ```\n * @public\n */\nexport const Err = <E, T = never>(error: E): Result<T, E> =>\n ({ ok: false, error }) as const;\n\r\n\r\n"],"names":[],"mappings":";AAoBO,MAAM,MAAM,CAAe,WAC/B,EAAE,IAAI,OAAO,MAAA;;"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const Ok = (value) => ({ ok: true, value });
3
+ exports.Ok = Ok;
4
+ //# sourceMappingURL=Ok.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ok.js","sources":["../../../src/constructors/Ok.ts"],"sourcesContent":["import type { Result } from '../shared-types.js';\n\n/**\n * Создает успешное значение `Result` из переданного payload.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - The error type for the resulting `Result`.\n * @param value - Payload успеха для обёртки.\n * @returns A `Result` with `ok: true` and the provided `value`.\n * @since 0.1.0\n * @see {@link Err} - Creates an error `Result`.\n * @example\n * ```ts\n * import { Ok } from '@resultsafe/core-fp-result';\n *\n * const result = Ok<number, string>(42);\n * console.log(result.ok); // true\n * ```\n * @public\n */\nexport const Ok = <T, E = never>(value: T): Result<T, E> =>\n ({ ok: true, value }) as const;\n\r\n\r\n"],"names":[],"mappings":";AAoBO,MAAM,KAAK,CAAe,WAC9B,EAAE,IAAI,MAAM,MAAA;;"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const isErr = (result) => result.ok === false;
3
+ exports.isErr = isErr;
4
+ //# sourceMappingURL=isErr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isErr.js","sources":["../../../src/guards/isErr.ts"],"sourcesContent":["import type { Result } from '../shared-types.js';\n\n/**\n * Проверяет, находится ли `Result` в ветке ошибки.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - `Result` для проверки.\n * @returns `true` when `result.ok` equals `false`.\n * @since 0.1.0\n * @see {@link isOk} - Checks the success branch.\n * @example\n * ```ts\n * import { Err, isErr } from '@resultsafe/core-fp-result';\n *\n * const result = Err('boom');\n * console.log(isErr(result)); // true\n * ```\n * @public\n */\nexport const isErr = <T, E>(\n result: Result<T, E>,\n): result is { ok: false; error: E } => result.ok === false;\n\r\n\r\n"],"names":[],"mappings":";AAoBO,MAAM,QAAQ,CACnB,WACsC,OAAO,OAAO;;"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ const isErr = require("./isErr.js");
3
+ const isErrAnd = (result, predicate) => isErr.isErr(result) && predicate(result.error);
4
+ exports.isErrAnd = isErrAnd;
5
+ //# sourceMappingURL=isErrAnd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isErrAnd.js","sources":["../../../src/guards/isErrAnd.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from './isErr.js';\n\n/**\n * Проверяет, что `Result` завершился ошибкой и удовлетворяет предикату.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - `Result` для проверки.\n * @param predicate - Предикат, применяемый к значению ошибки.\n * @returns `true` when the value is `Err` and the predicate returns `true`.\n * @since 0.1.0\n * @see {@link isErr} - Performs the base error check.\n * @example\n * ```ts\n * import { Err, isErrAnd } from '@resultsafe/core-fp-result';\n *\n * const result = Err({ code: 503 });\n * console.log(isErrAnd(result, (error) => error.code >= 500)); // true\n * ```\n * @public\n */\nexport const isErrAnd = <T, E>(\n result: Result<T, E>,\n predicate: (error: E) => boolean,\n): boolean => isErr(result) && predicate(result.error);\n\r\n\r\n"],"names":["isErr"],"mappings":";;AAuBO,MAAM,WAAW,CACtB,QACA,cACYA,MAAAA,MAAM,MAAM,KAAK,UAAU,OAAO,KAAK;;"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const isOk = (result) => result.ok === true;
3
+ exports.isOk = isOk;
4
+ //# sourceMappingURL=isOk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isOk.js","sources":["../../../src/guards/isOk.ts"],"sourcesContent":["import type { Result } from '../shared-types.js';\n\n/**\n * Проверяет, находится ли `Result` в ветке успеха.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - `Result` для проверки.\n * @returns `true` when `result.ok` equals `true`.\n * @since 0.1.0\n * @see {@link isErr} - Checks the error branch.\n * @example\n * ```ts\n * import { Ok, isOk } from '@resultsafe/core-fp-result';\n *\n * const result = Ok(10);\n * console.log(isOk(result)); // true\n * ```\n * @public\n */\nexport const isOk = <T, E>(\n result: Result<T, E>,\n): result is { ok: true; value: T } => result.ok === true;\n\r\n\r\n"],"names":[],"mappings":";AAoBO,MAAM,OAAO,CAClB,WACqC,OAAO,OAAO;;"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ const isOk = require("./isOk.js");
3
+ const isOkAnd = (result, predicate) => isOk.isOk(result) && predicate(result.value);
4
+ exports.isOkAnd = isOkAnd;
5
+ //# sourceMappingURL=isOkAnd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isOkAnd.js","sources":["../../../src/guards/isOkAnd.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from './isOk.js';\n\n/**\n * Проверяет, что `Result` успешен и удовлетворяет предикату.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - `Result` для проверки.\n * @param predicate - Предикат, применяемый к успешному значению.\n * @returns `true` when the value is `Ok` and the predicate returns `true`.\n * @since 0.1.0\n * @see {@link isOk} - Performs the base success check.\n * @example\n * ```ts\n * import { Ok, isOkAnd } from '@resultsafe/core-fp-result';\n *\n * const result = Ok(8);\n * console.log(isOkAnd(result, (value) => value % 2 === 0)); // true\n * ```\n * @public\n */\nexport const isOkAnd = <T, E>(\n result: Result<T, E>,\n predicate: (value: T) => boolean,\n): boolean => isOk(result) && predicate(result.value);\n\r\n\r\n"],"names":["isOk"],"mappings":";;AAuBO,MAAM,UAAU,CACrB,QACA,cACYA,KAAAA,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK;;"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ const Err = require("./constructors/Err.js");
3
+ const Ok = require("./constructors/Ok.js");
4
+ const isErr = require("./guards/isErr.js");
5
+ const isErrAnd = require("./guards/isErrAnd.js");
6
+ const isOk = require("./guards/isOk.js");
7
+ const isOkAnd = require("./guards/isOkAnd.js");
8
+ const andThen = require("./methods/andThen.js");
9
+ const err = require("./methods/err.js");
10
+ const expect = require("./methods/expect.js");
11
+ const expectErr = require("./methods/expectErr.js");
12
+ const flatten = require("./methods/flatten.js");
13
+ const inspect = require("./methods/inspect.js");
14
+ const inspectErr = require("./methods/inspectErr.js");
15
+ const map = require("./methods/map.js");
16
+ const mapErr = require("./methods/mapErr.js");
17
+ const match = require("./methods/match.js");
18
+ const ok = require("./methods/ok.js");
19
+ const orElse = require("./methods/orElse.js");
20
+ const tap = require("./methods/tap.js");
21
+ const tapErr = require("./methods/tapErr.js");
22
+ const transpose = require("./methods/transpose.js");
23
+ const unwrap = require("./methods/unwrap.js");
24
+ const unwrapErr = require("./methods/unwrapErr.js");
25
+ const unwrapOr = require("./methods/unwrapOr.js");
26
+ const unwrapOrElse = require("./methods/unwrapOrElse.js");
27
+ const isTypedVariant = require("./refiners/isTypedVariant.js");
28
+ const isTypedVariantOf = require("./refiners/isTypedVariantOf.js");
29
+ const matchVariant = require("./refiners/matchVariant.js");
30
+ const matchVariantStrict = require("./refiners/matchVariantStrict.js");
31
+ const refineAsyncResult = require("./refiners/refineAsyncResult.js");
32
+ const refineAsyncResultU = require("./refiners/refineAsyncResultU.js");
33
+ const refineResult = require("./refiners/refineResult.js");
34
+ const refineResultU = require("./refiners/refineResultU.js");
35
+ const refineVariantMap = require("./refiners/refineVariantMap.js");
36
+ exports.Err = Err.Err;
37
+ exports.Ok = Ok.Ok;
38
+ exports.isErr = isErr.isErr;
39
+ exports.isErrAnd = isErrAnd.isErrAnd;
40
+ exports.isOk = isOk.isOk;
41
+ exports.isOkAnd = isOkAnd.isOkAnd;
42
+ exports.andThen = andThen.andThen;
43
+ exports.err = err.err;
44
+ exports.expect = expect.expect;
45
+ exports.expectErr = expectErr.expectErr;
46
+ exports.flatten = flatten.flatten;
47
+ exports.inspect = inspect.inspect;
48
+ exports.inspectErr = inspectErr.inspectErr;
49
+ exports.map = map.map;
50
+ exports.mapErr = mapErr.mapErr;
51
+ exports.match = match.match;
52
+ exports.ok = ok.ok;
53
+ exports.orElse = orElse.orElse;
54
+ exports.tap = tap.tap;
55
+ exports.tapErr = tapErr.tapErr;
56
+ exports.transpose = transpose.transpose;
57
+ exports.unwrap = unwrap.unwrap;
58
+ exports.unwrapErr = unwrapErr.unwrapErr;
59
+ exports.unwrapOr = unwrapOr.unwrapOr;
60
+ exports.unwrapOrElse = unwrapOrElse.unwrapOrElse;
61
+ exports.isTypedVariant = isTypedVariant.isTypedVariant;
62
+ exports.isTypedVariantOf = isTypedVariantOf.isTypedVariantOf;
63
+ exports.matchVariant = matchVariant.matchVariant;
64
+ exports.matchVariantStrict = matchVariantStrict.matchVariantStrict;
65
+ exports.refineAsyncResult = refineAsyncResult.refineAsyncResult;
66
+ exports.refineAsyncResultU = refineAsyncResultU.refineAsyncResultU;
67
+ exports.refineResult = refineResult.refineResult;
68
+ exports.refineResultU = refineResultU.refineResultU;
69
+ exports.refineVariantMap = refineVariantMap.refineVariantMap;
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ const hasOwn = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
3
+ const isObject = (value) => typeof value === "object" && value !== null;
4
+ exports.hasOwn = hasOwn;
5
+ exports.isObject = isObject;
6
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sources":["../../../src/internal/object.ts"],"sourcesContent":["/** Checks that an object owns a property key. @internal */\nexport const hasOwn = <K extends PropertyKey>(\n obj: Record<string, unknown>,\n key: K,\n): obj is Record<K, unknown> => Object.prototype.hasOwnProperty.call(obj, key);\n\n/** Checks that a value is a non-null object record. @internal */\nexport const isObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null;\n"],"names":[],"mappings":";AACO,MAAM,SAAS,CACpB,KACA,QAC8B,OAAO,UAAU,eAAe,KAAK,KAAK,GAAG;AAGtE,MAAM,WAAW,CAAC,UACvB,OAAO,UAAU,YAAY,UAAU;;;"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ const None = { some: false };
3
+ const Some = (value) => ({ some: true, value });
4
+ exports.None = None;
5
+ exports.Some = Some;
6
+ //# sourceMappingURL=option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.js","sources":["../../../src/internal/option.ts"],"sourcesContent":["/** Represents an empty internal option value. @internal */\nexport const None = { some: false } as const;\n\n/** Wraps an internal option value as present. @internal */\nexport const Some = <T>(value: T) => ({ some: true, value }) as const;\n"],"names":[],"mappings":";AACO,MAAM,OAAO,EAAE,MAAM,MAAA;AAGrB,MAAM,OAAO,CAAI,WAAc,EAAE,MAAM,MAAM,MAAA;;;"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ const isOk = require("../guards/isOk.js");
3
+ const andThen = (result, fn) => isOk.isOk(result) ? fn(result.value) : result;
4
+ exports.andThen = andThen;
5
+ //# sourceMappingURL=andThen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"andThen.js","sources":["../../../src/methods/andThen.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Цепляет вычисление, которое возвращает другой `Result`.\n *\n * @typeParam T - The input success type.\n * @typeParam U - The output success type.\n * @typeParam E - Общий тип ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция, применяемая, когда `result` имеет `Ok`.\n * @returns Преобразованный `Result` или исходный `Err`.\n * @since 0.1.0\n * @see {@link map} - Преобразует только успешное значение.\n * @example\n * ```ts\n * import { Ok, Err, andThen } from '@resultsafe/core-fp-result';\n *\n * const parsed = andThen(Ok('12'), (value) => {\n * const n = Number(value);\n * return Number.isNaN(n) ? Err('invalid') : Ok(n);\n * });\n * console.log(parsed.ok); // true\n * ```\n * @public\n */\nexport const andThen = <T, U, E>(\n result: Result<T, E>,\n fn: (value: T) => Result<U, E>,\n): Result<U, E> => (isOk(result) ? fn(result.value) : (result as Result<U, E>));\n\r\n\r\n"],"names":["isOk"],"mappings":";;AA2BO,MAAM,UAAU,CACrB,QACA,OACkBA,KAAAA,KAAK,MAAM,IAAI,GAAG,OAAO,KAAK,IAAK;;"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ const isErr = require("../guards/isErr.js");
3
+ const option = require("../internal/option.js");
4
+ const err = (result) => isErr.isErr(result) ? option.Some(result.error) : option.None;
5
+ exports.err = err;
6
+ //# sourceMappingURL=err.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"err.js","sources":["../../../src/methods/err.ts"],"sourcesContent":["import { type Option } from '../shared-types.js';\nimport { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\nimport { None, Some } from '../internal/option.js';\n\n/**\n * Извлекает ветку ошибки в виде `Option`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @returns `Some(error)` для `Err`, иначе `None`.\n * @since 0.1.0\n * @see {@link ok} - Извлекает ветку успеха.\n * @example\n * ```ts\n * import { Err, err } from '@resultsafe/core-fp-result';\n *\n * const value = err(Err('boom'));\n * console.log(value.some); // true\n * ```\n * @public\n */\nexport const err = <T, E>(result: Result<T, E>): Option<E> =>\n isErr(result) ? Some(result.error) : None;\n\r\n\r\n"],"names":["isErr","Some","None"],"mappings":";;;AAwBO,MAAM,MAAM,CAAO,WACxBA,YAAM,MAAM,IAAIC,YAAK,OAAO,KAAK,IAAIC,OAAAA;;"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ const isOk = require("../guards/isOk.js");
3
+ const expect = (result, msg) => {
4
+ if (isOk.isOk(result)) {
5
+ return result.value;
6
+ }
7
+ throw new Error(msg);
8
+ };
9
+ exports.expect = expect;
10
+ //# sourceMappingURL=expect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expect.js","sources":["../../../src/methods/expect.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Возвращает успешное значение или выбрасывает исключение с пользовательским сообщением.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param msg - Сообщение об ошибке, используемое когда `result` имеет `Err`.\n * @returns Распакованное успешное значение.\n * @throws Error - Выбрасывает исключение, когда `result` имеет `Err`.\n * @since 0.1.0\n * @see {@link expectErr} - Симметричный helper для ветки ошибки.\n * @example\n * ```ts\n * import { Ok, expect } from '@resultsafe/core-fp-result';\n *\n * const value = expect(Ok(5), 'must be ok');\n * console.log(value); // 5\n * ```\n * @public\n */\nexport const expect = <T, E>(result: Result<T, E>, msg: string): T => {\n if (isOk(result)) {\n return result.value;\n }\n throw new Error(msg);\n};\n\r\n\r\n"],"names":["isOk"],"mappings":";;AAwBO,MAAM,SAAS,CAAO,QAAsB,QAAmB;AACpE,MAAIA,KAAAA,KAAK,MAAM,GAAG;AAChB,WAAO,OAAO;AAAA,EAChB;AACA,QAAM,IAAI,MAAM,GAAG;AACrB;;"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ const isErr = require("../guards/isErr.js");
3
+ const expectErr = (result, msg) => {
4
+ if (isErr.isErr(result)) {
5
+ return result.error;
6
+ }
7
+ throw new Error(msg);
8
+ };
9
+ exports.expectErr = expectErr;
10
+ //# sourceMappingURL=expectErr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expectErr.js","sources":["../../../src/methods/expectErr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Возвращает значение ошибки или выбрасывает исключение с пользовательским сообщением.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param msg - Сообщение об ошибке, используемое когда `result` имеет `Ok`.\n * @returns Распакованное значение ошибки.\n * @throws Error - Выбрасывает исключение, когда `result` имеет `Ok`.\n * @since 0.1.0\n * @see {@link expect} - Симметричный helper для ветки успеха.\n * @example\n * ```ts\n * import { Err, expectErr } from '@resultsafe/core-fp-result';\n *\n * const error = expectErr(Err('boom'), 'must be err');\n * console.log(error); // boom\n * ```\n * @public\n */\nexport const expectErr = <T, E>(result: Result<T, E>, msg: string): E => {\n if (isErr(result)) {\n return result.error;\n }\n throw new Error(msg);\n};\n\r\n\r\n"],"names":["isErr"],"mappings":";;AAwBO,MAAM,YAAY,CAAO,QAAsB,QAAmB;AACvE,MAAIA,MAAAA,MAAM,MAAM,GAAG;AACjB,WAAO,OAAO;AAAA,EAChB;AACA,QAAM,IAAI,MAAM,GAAG;AACrB;;"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const flatten = (result) => result.ok ? result.value : { ok: false, error: result.error };
3
+ exports.flatten = flatten;
4
+ //# sourceMappingURL=flatten.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten.js","sources":["../../../src/methods/flatten.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\n/**\n * Схлопывает вложенный `Result<Result<T, E>, E>` на один уровень.\n *\n * @typeParam T - The inner success value type.\n * @typeParam E - The shared error value type.\n * @param result - Вложенный `Result` для схлопывания.\n * @returns A single-layer `Result<T, E>`.\n * @since 0.1.0\n * @see {@link andThen} - Chains computations that already return `Result`.\n * @example\n * ```ts\n * import { Ok, flatten } from '@resultsafe/core-fp-result';\n *\n * const value = flatten(Ok(Ok(3)));\n * console.log(value.ok); // true\n * ```\n * @public\n */\nexport const flatten = <T, E>(result: Result<Result<T, E>, E>): Result<T, E> =>\n result.ok ? result.value : { ok: false, error: result.error };\n\r\n\r\n"],"names":[],"mappings":";AAoBO,MAAM,UAAU,CAAO,WAC5B,OAAO,KAAK,OAAO,QAAQ,EAAE,IAAI,OAAO,OAAO,OAAO,MAAA;;"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ const isOk = require("../guards/isOk.js");
3
+ const inspect = (result, fn) => {
4
+ if (isOk.isOk(result)) {
5
+ fn(result.value);
6
+ }
7
+ return result;
8
+ };
9
+ exports.inspect = inspect;
10
+ //# sourceMappingURL=inspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.js","sources":["../../../src/methods/inspect.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Выполняет побочный эффект для успешного значения и возвращает исходный `Result`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция побочного эффекта для ветки успеха.\n * @returns Тот же экземпляр `Result`.\n * @since 0.1.0\n * @see {@link tap} - Эквивалентный helper для ветки успеха.\n * @example\n * ```ts\n * import { Ok, inspect } from '@resultsafe/core-fp-result';\n *\n * const result = inspect(Ok(1), (value) => console.log(value)); // 1\n * console.log(result.ok); // true\n * ```\n * @public\n */\nexport const inspect = <T, E>(\n result: Result<T, E>,\n fn: (value: T) => void,\n): Result<T, E> => {\n if (isOk(result)) {\n fn(result.value);\n }\n return result;\n};\n\r\n\r\n"],"names":["isOk"],"mappings":";;AAuBO,MAAM,UAAU,CACrB,QACA,OACiB;AACjB,MAAIA,KAAAA,KAAK,MAAM,GAAG;AAChB,OAAG,OAAO,KAAK;AAAA,EACjB;AACA,SAAO;AACT;;"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ const isErr = require("../guards/isErr.js");
3
+ const inspectErr = (result, fn) => {
4
+ if (isErr.isErr(result)) {
5
+ fn(result.error);
6
+ }
7
+ return result;
8
+ };
9
+ exports.inspectErr = inspectErr;
10
+ //# sourceMappingURL=inspectErr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspectErr.js","sources":["../../../src/methods/inspectErr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Выполняет побочный эффект для значения ошибки и возвращает исходный `Result`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция побочного эффекта для ветки ошибки.\n * @returns Тот же экземпляр `Result`.\n * @since 0.1.0\n * @see {@link tapErr} - Эквивалентный helper для ветки ошибки.\n * @example\n * ```ts\n * import { Err, inspectErr } from '@resultsafe/core-fp-result';\n *\n * const result = inspectErr(Err('boom'), (error) => console.log(error)); // boom\n * console.log(result.ok); // false\n * ```\n * @public\n */\nexport const inspectErr = <T, E>(\n result: Result<T, E>,\n fn: (error: E) => void,\n): Result<T, E> => {\n if (isErr(result)) {\n fn(result.error);\n }\n return result;\n};\n\r\n\r\n"],"names":["isErr"],"mappings":";;AAuBO,MAAM,aAAa,CACxB,QACA,OACiB;AACjB,MAAIA,MAAAA,MAAM,MAAM,GAAG;AACjB,OAAG,OAAO,KAAK;AAAA,EACjB;AACA,SAAO;AACT;;"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ const isOk = require("../guards/isOk.js");
3
+ const map = (result, fn) => isOk.isOk(result) ? { ok: true, value: fn(result.value) } : result;
4
+ exports.map = map;
5
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sources":["../../../src/methods/map.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Преобразует успешное значение, сохраняя ветку ошибки.\n *\n * @typeParam T - Тип входного успешного значения.\n * @typeParam U - Тип выходного успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция преобразования успешного значения.\n * @returns Преобразованный `Ok` или исходный `Err`.\n * @since 0.1.0\n * @see {@link mapErr} - Преобразует ветку ошибки.\n * @example\n * ```ts\n * import { Ok, map } from '@resultsafe/core-fp-result';\n *\n * const result = map(Ok(2), (value) => value * 10);\n * console.log(result.ok); // true\n * ```\n * @public\n */\nexport const map = <T, U, E>(\n result: Result<T, E>,\n fn: (value: T) => U,\n): Result<U, E> =>\n isOk(result)\n ? { ok: true, value: fn(result.value) }\n : (result as Result<U, E>);\n\r\n\r\n"],"names":["isOk"],"mappings":";;AAwBO,MAAM,MAAM,CACjB,QACA,OAEAA,KAAAA,KAAK,MAAM,IACP,EAAE,IAAI,MAAM,OAAO,GAAG,OAAO,KAAK,MACjC;;"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ const isErr = require("../guards/isErr.js");
3
+ const mapErr = (result, fn) => isErr.isErr(result) ? { ok: false, error: fn(result.error) } : result;
4
+ exports.mapErr = mapErr;
5
+ //# sourceMappingURL=mapErr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapErr.js","sources":["../../../src/methods/mapErr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Преобразует значение ошибки, сохраняя ветку успеха.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип входного значения ошибки.\n * @typeParam F - Тип выходного значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция преобразования значения ошибки.\n * @returns Преобразованный `Err` или исходный `Ok`.\n * @since 0.1.0\n * @see {@link map} - Transforms the success branch.\n * @example\n * ```ts\n * import { Err, mapErr } from '@resultsafe/core-fp-result';\n *\n * const result = mapErr(Err('e1'), (error) => `mapped:${error}`);\n * console.log(result.ok); // false\n * ```\n * @public\n */\nexport const mapErr = <T, E, F>(\n result: Result<T, E>,\n fn: (error: E) => F,\n): Result<T, F> =>\n isErr(result)\n ? { ok: false, error: fn(result.error) }\n : (result as Result<T, F>);\n\r\n\r\n"],"names":["isErr"],"mappings":";;AAwBO,MAAM,SAAS,CACpB,QACA,OAEAA,MAAAA,MAAM,MAAM,IACR,EAAE,IAAI,OAAO,OAAO,GAAG,OAAO,KAAK,MAClC;;"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ const match = (result, okFn, errFn) => {
3
+ if (result.ok) {
4
+ return okFn(result.value);
5
+ } else {
6
+ const { error } = result;
7
+ return errFn(error);
8
+ }
9
+ };
10
+ exports.match = match;
11
+ //# sourceMappingURL=match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.js","sources":["../../../src/methods/match.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\n/**\n * Выполняет сопоставление `Result` в единое выходное значение.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @typeParam U - The output type returned by both handlers.\n * @param result - Исходный `Result`.\n * @param okFn - Обработчик для ветки успеха.\n * @param errFn - Обработчик для ветки ошибки.\n * @returns Выходное значение, полученное от выбранного обработчика.\n * @since 0.1.0\n * @see {@link unwrapOrElse} - Similar shape with default fallback semantics.\n * @example\n * ```ts\n * import { Ok, match } from '@resultsafe/core-fp-result';\n *\n * const value = match(Ok(3), (x) => `ok:${x}`, (e) => `err:${e}`);\n * console.log(value); // ok:3\n * ```\n * @public\n */\nexport const match = <T, E, U>(\n result: Result<T, E>,\n okFn: (value: T) => U,\n errFn: (error: E) => U,\n): U => {\n if (result.ok) {\n return okFn(result.value);\n } else {\n const { error } = result;\n return errFn(error);\n }\n};\n\r\n\r\n"],"names":[],"mappings":";AAuBO,MAAM,QAAQ,CACnB,QACA,MACA,UACM;AACN,MAAI,OAAO,IAAI;AACb,WAAO,KAAK,OAAO,KAAK;AAAA,EAC1B,OAAO;AACL,UAAM,EAAE,UAAU;AAClB,WAAO,MAAM,KAAK;AAAA,EACpB;AACF;;"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ const isOk = require("../guards/isOk.js");
3
+ const option = require("../internal/option.js");
4
+ const ok = (result) => isOk.isOk(result) ? option.Some(result.value) : option.None;
5
+ exports.ok = ok;
6
+ //# sourceMappingURL=ok.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ok.js","sources":["../../../src/methods/ok.ts"],"sourcesContent":["import { type Option } from '../shared-types.js';\nimport { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\nimport { None, Some } from '../internal/option.js';\n\n/**\n * Извлекает успешную ветку в виде `Option`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @returns `Some(value)` для `Ok`, иначе `None`.\n * @since 0.1.0\n * @see {@link err} - Извлекает ветку ошибки.\n * @example\n * ```ts\n * import { Ok, ok } from '@resultsafe/core-fp-result';\n *\n * const value = ok(Ok(10));\n * console.log(value.some); // true\n * ```\n * @public\n */\nexport const ok = <T, E>(result: Result<T, E>): Option<T> =>\n isOk(result) ? Some(result.value) : None;\n\r\n\r\n"],"names":["isOk","Some","None"],"mappings":";;;AAwBO,MAAM,KAAK,CAAO,WACvBA,UAAK,MAAM,IAAIC,YAAK,OAAO,KAAK,IAAIC,OAAAA;;"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ const isErr = require("../guards/isErr.js");
3
+ const orElse = (result, fn) => isErr.isErr(result) ? fn(result.error) : result;
4
+ exports.orElse = orElse;
5
+ //# sourceMappingURL=orElse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orElse.js","sources":["../../../src/methods/orElse.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Восстанавливается из ошибки, преобразуя `Err` в другой `Result`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип входного значения ошибки.\n * @typeParam F - Тип выходного значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция восстановления, применяемая для `Err`.\n * @returns Восстановленный `Result` или исходный `Ok`.\n * @since 0.1.0\n * @see {@link andThen} - Цепляет ветку успеха.\n * @example\n * ```ts\n * import { Err, Ok, orElse } from '@resultsafe/core-fp-result';\n *\n * const result = orElse(Err('network'), () => Ok('cached'));\n * console.log(result.ok); // true\n * ```\n * @public\n */\nexport const orElse = <T, E, F>(\n result: Result<T, E>,\n fn: (error: E) => Result<T, F>,\n): Result<T, F> =>\n isErr(result) ? fn(result.error) : (result as Result<T, F>);\n\r\n\r\n"],"names":["isErr"],"mappings":";;AAwBO,MAAM,SAAS,CACpB,QACA,OAEAA,MAAAA,MAAM,MAAM,IAAI,GAAG,OAAO,KAAK,IAAK;;"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ const tap = (result, fn) => {
3
+ if (result.ok) {
4
+ fn(result.value);
5
+ }
6
+ return result;
7
+ };
8
+ exports.tap = tap;
9
+ //# sourceMappingURL=tap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tap.js","sources":["../../../src/methods/tap.ts"],"sourcesContent":["import type { Result } from '../shared-types.js';\n\n/**\n * Выполняет побочный эффект для значения `Ok` и возвращает входной `Result`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Колбэк побочного эффекта для ветки успеха.\n * @returns Неизмененный `Result`.\n * @since 0.1.0\n * @see {@link tapErr} - Executes a side effect for the error branch.\n * @example\n * ```ts\n * import { Ok, tap } from '@resultsafe/core-fp-result';\n *\n * const result = tap(Ok(1), (value) => console.log(value)); // 1\n * console.log(result.ok); // true\n * ```\n * @public\n */\nexport const tap = <T, E>(\n result: Result<T, E>,\n fn: (value: T) => void,\n): Result<T, E> => {\n if (result.ok) {\n fn(result.value);\n }\n return result;\n};\n\r\n\r\n"],"names":[],"mappings":";AAqBO,MAAM,MAAM,CACjB,QACA,OACiB;AACjB,MAAI,OAAO,IAAI;AACb,OAAG,OAAO,KAAK;AAAA,EACjB;AACA,SAAO;AACT;;"}