@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
@@ -0,0 +1,54 @@
1
+ import type { AsyncValidatorFn, PayloadKeys, VariantConfig } from '../shared-types.js';
2
+ import type { UniversalAsyncRefinedResult } from './types/index.js';
3
+ /**
4
+ * Создает асинхронный refiner варианта с асинхронными валидаторами payload.
5
+ *
6
+ * @typeParam TMap - Тип карты конфигурации вариантов.
7
+ * @param variantMap - Карта, описывающая допустимые варианты и поля payload.
8
+ * @returns A curried async refiner factory bound to `variantMap`.
9
+ * @since 0.1.0
10
+ * @see {@link refineAsyncResultU} - Непосредственный (не-curry) вариант helper.
11
+ * @example
12
+ * ```ts
13
+ * import { refineAsyncResult } from '@resultsafe/core-fp-result';
14
+ *
15
+ * const map = { ok: { payload: 'value' } } as const;
16
+ * const refineOk = refineAsyncResult(map)('ok')({
17
+ * value: async (x: unknown) => typeof x === 'number',
18
+ * });
19
+ *
20
+ * console.log(await refineOk({ type: 'ok', value: 1 })); // { type: 'ok', value: 1 }
21
+ * ```
22
+ * @public
23
+ */
24
+ export declare const refineAsyncResult: <TMap extends Record<string, VariantConfig>>(variantMap: TMap) => <K extends keyof TMap & string>(variant: K) => <TValidators extends Partial<Record<PayloadKeys<TMap[K]>, AsyncValidatorFn>>>(validators: TValidators) => (value: unknown) => Promise<UniversalAsyncRefinedResult<K, TMap, TValidators> | null>;
25
+ /**
26
+ * Уточняет значение асинхронно в не-curry стиле вызова.
27
+ *
28
+ * @typeParam TMap - Тип карты конфигурации вариантов.
29
+ * @typeParam K - Ключ целевого варианта.
30
+ * @typeParam TValidators - Карта асинхронных валидаторов для полей payload.
31
+ * @param value - Значение для валидации и уточнения.
32
+ * @param variant - Ключ целевого варианта.
33
+ * @param variantMap - Карта конфигурации вариантов.
34
+ * @param validators - Асинхронные валидаторы payload.
35
+ * @returns Промис с уточненным значением или `null`.
36
+ * @remarks
37
+ * This export is kept for compatibility. Prefer {@link refineAsyncResultU}
38
+ * from `refineAsyncResultU.ts` как каноническую точку входа без curry.
39
+ * @since 0.1.0
40
+ * @example
41
+ * ```ts
42
+ * import { refineAsyncResultU } from '@resultsafe/core-fp-result/src/refiners/refineAsyncResult.js';
43
+ *
44
+ * const map = { ok: { payload: 'value' } } as const;
45
+ * const out = await refineAsyncResultU({ type: 'ok', value: 1 }, 'ok', map, {
46
+ * value: async (x: unknown) => typeof x === 'number',
47
+ * });
48
+ *
49
+ * console.log(out?.type); // ok
50
+ * ```
51
+ * @internal
52
+ */
53
+ export declare const refineAsyncResultU: <TMap extends Record<string, VariantConfig>, K extends keyof TMap & string, TValidators extends Partial<Record<PayloadKeys<TMap[K]>, AsyncValidatorFn>>>(value: unknown, variant: K, variantMap: TMap, validators: TValidators) => Promise<UniversalAsyncRefinedResult<K, TMap, TValidators> | null>;
54
+ //# sourceMappingURL=refineAsyncResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refineAsyncResult.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineAsyncResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAWpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,GAC3B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,IAAI,MAC5D,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC,MACzC,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAC1E,YAAY,WAAW,MAGvB,OAAO,OAAO,KACb,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CAqBlE,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAE3E,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CACR,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { AsyncValidatorFn, PayloadKeys, VariantConfig } from '../shared-types.js';
2
+ import type { UniversalAsyncRefinedResult } from './types/index.js';
3
+ /**
4
+ * Уточняет значение асинхронно в не-curry стиле вызова.
5
+ *
6
+ * @typeParam TMap - Тип карты конфигурации вариантов.
7
+ * @typeParam K - Ключ целевого варианта.
8
+ * @typeParam TValidators - Карта асинхронных валидаторов для полей payload.
9
+ * @param value - Значение для валидации и уточнения.
10
+ * @param variant - Ключ целевого варианта.
11
+ * @param variantMap - Карта конфигурации вариантов.
12
+ * @param validators - Асинхронные валидаторы payload.
13
+ * @returns Промис с уточненным значением или `null`.
14
+ * @since 0.1.0
15
+ * @see {@link refineAsyncResult} - Curry-конструктор асинхронного refiner.
16
+ * @example
17
+ * ```ts
18
+ * import { refineAsyncResultU } from '@resultsafe/core-fp-result';
19
+ *
20
+ * const map = { ok: { payload: 'value' } } as const;
21
+ * const out = await refineAsyncResultU({ type: 'ok', value: 1 }, 'ok', map, {
22
+ * value: async (x: unknown) => typeof x === 'number',
23
+ * });
24
+ *
25
+ * console.log(out?.type); // ok
26
+ * ```
27
+ * @public
28
+ */
29
+ export declare const refineAsyncResultU: <TMap extends Record<string, VariantConfig>, K extends keyof TMap & string, TValidators extends Partial<Record<PayloadKeys<TMap[K]>, AsyncValidatorFn>>>(value: unknown, variant: K, variantMap: TMap, validators: TValidators) => Promise<UniversalAsyncRefinedResult<K, TMap, TValidators> | null>;
30
+ //# sourceMappingURL=refineAsyncResultU.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refineAsyncResultU.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineAsyncResultU.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAWpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAE3E,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CA4BlE,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type { PayloadKeys, ValidatorFn, VariantConfig } from '../shared-types.js';
2
+ import type { UniversalRefinedResult } from './types/index.js';
3
+ /**
4
+ * Создает синхронный refiner варианта с валидаторами payload.
5
+ *
6
+ * @typeParam TMap - Тип карты конфигурации вариантов.
7
+ * @param variantMap - Карта, описывающая допустимые варианты и поля payload.
8
+ * @returns A curried refiner factory bound to `variantMap`.
9
+ * @since 0.1.0
10
+ * @see {@link refineResultU} - Непосредственный (не-curry) вариант helper.
11
+ * @example
12
+ * ```ts
13
+ * import { refineResult } from '@resultsafe/core-fp-result';
14
+ *
15
+ * const map = { ok: { payload: 'value' } } as const;
16
+ * const refineOk = refineResult(map)('ok')({
17
+ * value: (x: unknown): x is number => typeof x === 'number',
18
+ * });
19
+ *
20
+ * console.log(refineOk({ type: 'ok', value: 1 })); // { type: 'ok', value: 1 }
21
+ * ```
22
+ * @public
23
+ */
24
+ export declare const refineResult: <TMap extends Record<string, VariantConfig>>(variantMap: TMap) => <K extends keyof TMap & string>(variant: K) => <TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>>(validators: TValidators) => (value: unknown) => UniversalRefinedResult<K, TMap, TValidators> | null;
25
+ /**
26
+ * Уточняет значение по карте вариантов в не-curry стиле вызова.
27
+ *
28
+ * @typeParam TMap - Тип карты конфигурации вариантов.
29
+ * @typeParam K - Ключ целевого варианта.
30
+ * @typeParam TValidators - Карта валидаторов для полей payload.
31
+ * @param value - Значение для валидации и уточнения.
32
+ * @param variant - Ключ целевого варианта.
33
+ * @param variantMap - Карта конфигурации вариантов.
34
+ * @param validators - Валидаторы payload для целевого варианта.
35
+ * @returns Уточненное значение или `null`.
36
+ * @remarks
37
+ * Этот экспорт сохранен для совместимости. Предпочитайте {@link refineResultU} из
38
+ * `refineResultU.ts` как каноническую точку входа без curry.
39
+ * @since 0.1.0
40
+ * @example
41
+ * ```ts
42
+ * import { refineResultU } from '@resultsafe/core-fp-result/src/refiners/refineResult.js';
43
+ *
44
+ * const map = { ok: { payload: 'value' } } as const;
45
+ * const out = refineResultU({ type: 'ok', value: 1 }, 'ok', map, {
46
+ * value: (x: unknown): x is number => typeof x === 'number',
47
+ * });
48
+ *
49
+ * console.log(out?.type); // ok
50
+ * ```
51
+ * @internal
52
+ */
53
+ export declare const refineResultU: <TMap extends Record<string, VariantConfig>, K extends keyof TMap & string, TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>>(value: unknown, variant: K, variantMap: TMap, validators: TValidators) => UniversalRefinedResult<K, TMap, TValidators> | null;
54
+ //# sourceMappingURL=refineResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refineResult.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,YAAY,GACtB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,IAAI,MAC5D,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC,MACzC,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EACrE,YAAY,WAAW,MAExB,OAAO,OAAO,KAAG,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAoBhE,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAEtE,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IACI,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { PayloadKeys, ValidatorFn, VariantConfig } from '../shared-types.js';
2
+ import type { SyncRefinedResult } from './types/index.js';
3
+ /**
4
+ * Уточняет значение по карте вариантов в не-curry стиле вызова.
5
+ *
6
+ * @typeParam TMap - Тип карты конфигурации вариантов.
7
+ * @typeParam K - Ключ целевого варианта.
8
+ * @typeParam TValidators - Карта валидаторов для полей payload.
9
+ * @param value - Значение для валидации и уточнения.
10
+ * @param variant - Ключ целевого варианта.
11
+ * @param variantMap - Карта конфигурации вариантов.
12
+ * @param validators - Валидаторы payload для целевого варианта.
13
+ * @returns Уточненное значение или `null`.
14
+ * @since 0.1.0
15
+ * @see {@link refineResult} - Curry-конструктор refiner.
16
+ * @example
17
+ * ```ts
18
+ * import { refineResultU } from '@resultsafe/core-fp-result';
19
+ *
20
+ * const map = { ok: { payload: 'value' } } as const;
21
+ * const out = refineResultU({ type: 'ok', value: 1 }, 'ok', map, {
22
+ * value: (x: unknown): x is number => typeof x === 'number',
23
+ * });
24
+ *
25
+ * console.log(out?.type); // ok
26
+ * ```
27
+ * @public
28
+ */
29
+ export declare const refineResultU: <TMap extends Record<string, VariantConfig>, K extends keyof TMap & string, TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>>(value: unknown, variant: K, variantMap: TMap, validators: TValidators) => SyncRefinedResult<K, TMap, TValidators> | null;
30
+ //# sourceMappingURL=refineResultU.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refineResultU.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineResultU.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAEtE,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IACS,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { VariantConfig } from '../shared-types.js';
2
+ import type { SyncRefinedResultUnion } from './types/SyncRefinedResultUnion.js';
3
+ import type { SyncValidatorMap } from './types/SyncValidatorMap.js';
4
+ /**
5
+ * Уточняет значение дискриминированного объединения по полной карте вариантов.
6
+ *
7
+ * @typeParam TMap - Тип карты конфигурации вариантов.
8
+ * @typeParam TValidators - Тип карты валидаторов по вариантам.
9
+ * @param value - Значение для валидации и уточнения.
10
+ * @param variantMap - Полная карта конфигурации вариантов.
11
+ * @param validators - Валидаторы, сгруппированные по ключу варианта.
12
+ * @returns Уточненный элемент объединения или `null`.
13
+ * @since 0.1.0
14
+ * @see {@link refineResult} - Refines one concrete variant key.
15
+ * @example
16
+ * ```ts
17
+ * import { refineVariantMap } from '@resultsafe/core-fp-result';
18
+ *
19
+ * const map = {
20
+ * created: { payload: 'id' },
21
+ * failed: { payload: 'reason' },
22
+ * } as const;
23
+ *
24
+ * const out = refineVariantMap({ type: 'created', id: '1' }, map, {
25
+ * created: { id: (x: unknown): x is string => typeof x === 'string' },
26
+ * failed: { reason: (x: unknown): x is string => typeof x === 'string' },
27
+ * });
28
+ *
29
+ * console.log(out?.type); // created
30
+ * ```
31
+ * @public
32
+ */
33
+ export declare function refineVariantMap<TMap extends Record<string, VariantConfig>, TValidators extends SyncValidatorMap<TMap>>(value: unknown, variantMap: TMap, validators: TValidators): SyncRefinedResultUnion<TMap, TValidators> | null;
34
+ //# sourceMappingURL=refineVariantMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refineVariantMap.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineVariantMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,WAAW,SAAS,gBAAgB,CAAC,IAAI,CAAC,EAE1C,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,WAAW,GACtB,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CAoClD"}
@@ -0,0 +1,9 @@
1
+ import type { VariantOf } from './VariantOf.js';
2
+ /** Описывает запись обработчика варианта во внутренних механизмах matcher. @internal */
3
+ export type Handler<K extends string, T extends VariantOf<K>, R> = {
4
+ readonly variant: K;
5
+ readonly fn: (value: Extract<T, {
6
+ type: K;
7
+ }>) => R;
8
+ };
9
+ //# sourceMappingURL=Handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wFAAwF;AACxF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,CAAC;CACpD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { VariantOf } from './VariantOf.js';
2
+ /** Описывает форму строгого builder для matcher. */
3
+ export type MatchBuilder<T extends VariantOf, R, Handled extends T['type'] = never> = {
4
+ readonly with: <K extends Exclude<T['type'], Handled>>(variant: K, fn: (value: Extract<T, {
5
+ type: K;
6
+ }>) => R) => MatchBuilder<T, R, Handled | K>;
7
+ readonly run: Handled extends T['type'] ? () => R : never;
8
+ };
9
+ //# sourceMappingURL=MatchBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatchBuilder.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/MatchBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,oDAAoD;AACpD,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,SAAS,EACnB,CAAC,EACD,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,IAC/B;IACF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,CAAC,EACV,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,KACtC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;CAC3D,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { VariantOf } from './VariantOf.js';
2
+ /** Описывает форму нестрогого builder для matcher. */
3
+ export type Matcher<T extends VariantOf, R> = {
4
+ readonly with: <K extends T['type']>(variant: K, fn: (value: Extract<T, {
5
+ type: K;
6
+ }>) => R) => Matcher<T, R>;
7
+ readonly otherwise: (fn: (value: T) => R) => {
8
+ readonly run: () => R;
9
+ };
10
+ };
11
+ //# sourceMappingURL=Matcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/Matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,sDAAsD;AACtD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,IAAI;IAC5C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,OAAO,EAAE,CAAC,EACV,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,KACtC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACxE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { PayloadKeys, ValidatorFn, VariantConfig } from '../../shared-types.js';
2
+ /** Описывает синхронно уточненное конкретное значение варианта. */
3
+ export type SyncRefinedResult<K extends keyof TMap & string, TMap extends Record<string, VariantConfig>, _TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>> = {
4
+ type: K;
5
+ } & Record<PayloadKeys<TMap[K]>, unknown>;
6
+ //# sourceMappingURL=SyncRefinedResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IACrE;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { VariantConfig } from '../../shared-types.js';
2
+ import type { SyncRefinedResult } from './SyncRefinedResult.js';
3
+ import type { SyncValidatorMap } from './SyncValidatorMap.js';
4
+ /** Описывает объединение синхронно уточненных вариантов. */
5
+ export type SyncRefinedResultUnion<TMap extends Record<string, VariantConfig>, TValidators extends SyncValidatorMap<TMap>> = {
6
+ [K in keyof TMap & string]: SyncRefinedResult<K, TMap, NonNullable<TValidators[K]>>;
7
+ }[keyof TMap & string];
8
+ //# sourceMappingURL=SyncRefinedResultUnion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncRefinedResultUnion.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncRefinedResultUnion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,4DAA4D;AAC5D,MAAM,MAAM,sBAAsB,CAChC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,WAAW,SAAS,gBAAgB,CAAC,IAAI,CAAC,IACxC;KACD,CAAC,IAAI,MAAM,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAC3C,CAAC,EACD,IAAI,EACJ,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAC5B;CACF,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { PayloadKeys, ValidatorFn, VariantConfig } from '../../shared-types.js';
2
+ /** Описывает наборы валидаторов, сгруппированные по ключу варианта. */
3
+ export type SyncValidatorMap<TMap extends Record<string, VariantConfig>> = {
4
+ [K in keyof TMap]?: Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>;
5
+ };
6
+ //# sourceMappingURL=SyncValidatorMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncValidatorMap.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncValidatorMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI;KACxE,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;CACvE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { VariantConfig } from '../../shared-types.js';
2
+ /** Описывает обобщенное асинхронно уточненное значение варианта. */
3
+ export type UniversalAsyncRefinedResult<K extends keyof TMap & string, TMap extends Record<string, VariantConfig>, _TValidators extends Record<string, unknown>> = {
4
+ type: K;
5
+ } & Record<string, unknown>;
6
+ //# sourceMappingURL=UniversalAsyncRefinedResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniversalAsyncRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/UniversalAsyncRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,oEAAoE;AACpE,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1C;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { VariantConfig } from '../../shared-types.js';
2
+ /** Описывает обобщенное синхронно уточненное значение варианта. */
3
+ export type UniversalRefinedResult<K extends keyof TMap & string, TMap extends Record<string, VariantConfig>, _TValidators extends Record<string, unknown>> = {
4
+ type: K;
5
+ } & Record<string, unknown>;
6
+ //# sourceMappingURL=UniversalRefinedResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniversalRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/UniversalRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,mEAAmE;AACnE,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1C;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** Описывает минимальный контракт дискриминированного объединения. */
2
+ export type VariantOf<K extends string = string> = {
3
+ type: K;
4
+ };
5
+ //# sourceMappingURL=VariantOf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantOf.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/VariantOf.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type { Handler } from './Handler.js';
2
+ export type { MatchBuilder } from './MatchBuilder.js';
3
+ export type { Matcher } from './Matcher.js';
4
+ export type { SyncRefinedResult } from './SyncRefinedResult.js';
5
+ export type { SyncRefinedResultUnion } from './SyncRefinedResultUnion.js';
6
+ export type { SyncValidatorMap } from './SyncValidatorMap.js';
7
+ export type { UniversalAsyncRefinedResult } from './UniversalAsyncRefinedResult.js';
8
+ export type { UniversalRefinedResult } from './UniversalRefinedResult.js';
9
+ export type { VariantOf } from './VariantOf.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { PayloadKeys, VariantConfig } from '../../shared-types.js';
2
+ /**
3
+ * Нормализует конфигурацию payload варианта в список ключей.
4
+ *
5
+ * @typeParam C - Тип конфигурации варианта.
6
+ * @param config - Конфигурация варианта с определением payload.
7
+ * @returns Ключи payload как readonly-массив.
8
+ * @since 0.1.0
9
+ * @example
10
+ * ```ts
11
+ * import { getPayloadKeys } from '@resultsafe/core-fp-result/src/refiners/utils/getPayloadKeys.js';
12
+ *
13
+ * const keys = getPayloadKeys({ payload: ['id', 'meta'] } as const);
14
+ * console.log(keys.length); // 2
15
+ * ```
16
+ * @internal
17
+ */
18
+ export declare const getPayloadKeys: <C extends VariantConfig>(config: C) => readonly PayloadKeys<C>[];
19
+ //# sourceMappingURL=getPayloadKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPayloadKeys.d.ts","sourceRoot":"","sources":["../../../../src/refiners/utils/getPayloadKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,aAAa,EACpD,QAAQ,CAAC,KACR,SAAS,WAAW,CAAC,CAAC,CAAC,EAIzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { getPayloadKeys } from './getPayloadKeys.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/refiners/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type Result<T, E> = {
2
+ readonly ok: true;
3
+ readonly value: T;
4
+ } | {
5
+ readonly ok: false;
6
+ readonly error: E;
7
+ };
8
+ export type Option<T> = {
9
+ readonly some: true;
10
+ readonly value: T;
11
+ } | {
12
+ readonly some: false;
13
+ };
14
+ export interface VariantConfig {
15
+ readonly payload: 'never' | string | readonly string[];
16
+ readonly forbidden?: string | undefined;
17
+ readonly strictFields?: boolean | undefined;
18
+ }
19
+ export type PayloadKeys<T extends VariantConfig> = T['payload'] extends 'never' ? never : T['payload'] extends string ? T['payload'] : T['payload'] extends readonly string[] ? T['payload'][number] : never;
20
+ export type ValidatorFn<T = unknown> = (x: unknown) => x is T;
21
+ export type AsyncValidatorFn = (value: unknown) => Promise<boolean>;
22
+ //# sourceMappingURL=shared-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-types.d.ts","sourceRoot":"","sources":["../../src/shared-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE9C,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC1C;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAC3E,KAAK,GACL,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,GACzB,CAAC,CAAC,SAAS,CAAC,GACZ,CAAC,CAAC,SAAS,CAAC,SAAS,SAAS,MAAM,EAAE,GACpC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GACpB,KAAK,CAAC;AAEd,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports):typeof define=="function"&&define.amd?define(["exports"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.ResultsafeFpResult={}))})(this,(function(exports2){"use strict";var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});const Err=__name(error=>({ok:!1,error}),"Err"),Ok=__name(value=>({ok:!0,value}),"Ok"),isErr=__name(result=>result.ok===!1,"isErr"),isErrAnd=__name((result,predicate)=>isErr(result)&&predicate(result.error),"isErrAnd"),isOk=__name(result=>result.ok===!0,"isOk"),isOkAnd=__name((result,predicate)=>isOk(result)&&predicate(result.value),"isOkAnd"),andThen=__name((result,fn)=>isOk(result)?fn(result.value):result,"andThen"),None={some:!1},Some=__name(value=>({some:!0,value}),"Some"),err=__name(result=>isErr(result)?Some(result.error):None,"err"),expect=__name((result,msg)=>{if(isOk(result))return result.value;throw new Error(msg)},"expect"),expectErr=__name((result,msg)=>{if(isErr(result))return result.error;throw new Error(msg)},"expectErr"),flatten=__name(result=>result.ok?result.value:{ok:!1,error:result.error},"flatten"),inspect=__name((result,fn)=>(isOk(result)&&fn(result.value),result),"inspect"),inspectErr=__name((result,fn)=>(isErr(result)&&fn(result.error),result),"inspectErr"),map=__name((result,fn)=>isOk(result)?{ok:!0,value:fn(result.value)}:result,"map"),mapErr=__name((result,fn)=>isErr(result)?{ok:!1,error:fn(result.error)}:result,"mapErr"),match=__name((result,okFn,errFn)=>{if(result.ok)return okFn(result.value);{const{error}=result;return errFn(error)}},"match"),ok=__name(result=>isOk(result)?Some(result.value):None,"ok"),orElse=__name((result,fn)=>isErr(result)?fn(result.error):result,"orElse"),tap=__name((result,fn)=>(result.ok&&fn(result.value),result),"tap"),tapErr=__name((result,fn)=>(isErr(result)&&fn(result.error),result),"tapErr"),transpose=__name(result=>result.ok?result.value.some===!0?Some({ok:!0,value:result.value.value}):None:Some({ok:!1,error:result.error}),"transpose"),unwrap=__name(result=>{if(isOk(result))return result.value;throw new Error("Called unwrap on an Err value")},"unwrap"),unwrapErr=__name(result=>{if(isErr(result))return result.error;throw new Error("Called unwrapErr on an Ok value")},"unwrapErr"),unwrapOr=__name((result,defaultValue)=>isOk(result)?result.value:defaultValue,"unwrapOr"),unwrapOrElse=__name((result,fn)=>result.ok?result.value:fn(result.error),"unwrapOrElse"),isTypedVariant=__name(variant=>value=>typeof value!="object"||value===null||!("type"in value)?!1:value.type===variant,"isTypedVariant"),isTypedVariantOf=__name(variant=>value=>{if(typeof value!="object"||value===null||!("type"in value))return!1;const obj=value;if(obj.type!==variant)return!1;const requiredKeys=Object.keys({});for(const key of requiredKeys)if(!(key in obj))return!1;return!0},"isTypedVariantOf"),matchVariant=__name(value=>{const handlers=[],withHandler=__name((variant,fn)=>{const newHandlers=[...handlers,{variant,fn}];return{with:__name((variant2,fn2)=>{const newerHandlers=[...newHandlers,{variant:variant2,fn:fn2}];return{with:withHandler,otherwise:__name(fallback=>({run:__name(()=>{for(const h of newerHandlers)if(value.type===h.variant){const fn3=h.fn;return fn3(value)}return fallback(value)},"run")}),"otherwise")}},"with"),otherwise:__name(fallback=>({run:__name(()=>{for(const h of newHandlers)if(value.type===h.variant){const fn2=h.fn;return fn2(value)}return fallback(value)},"run")}),"otherwise")}},"withHandler");return{with:withHandler,otherwise:__name(fallback=>({run:__name(()=>{for(const h of handlers)if(value.type===h.variant){const fn=h.fn;return fn(value)}return fallback(value)},"run")}),"otherwise")}},"matchVariant"),matchVariantStrict=__name(value=>{const handlers=[],builder=__name(()=>({with:__name((variant,fn)=>{const newHandlers=[...handlers,{variant,fn}];return{with:builder().with,run:__name((()=>{for(const h of newHandlers)if(value.type===h.variant){const fn2=h.fn;return fn2(value)}throw new Error(`Unmatched variant: ${String(value.type)}`)}),"run")}},"with"),run:__name((()=>{for(const h of handlers)if(value.type===h.variant){const fn=h.fn;return fn(value)}throw new Error(`Unmatched variant: ${String(value.type)}`)}),"run")}),"builder");return builder()},"matchVariantStrict"),hasOwn=__name((obj,key)=>Object.prototype.hasOwnProperty.call(obj,key),"hasOwn"),isObject=__name(value=>typeof value=="object"&&value!==null,"isObject"),getPayloadKeys$2=__name(config=>{const p=config.payload;return p==="never"?[]:Array.isArray(p)?p:[p]},"getPayloadKeys$2"),refineAsyncResult=__name(variantMap=>variant=>validators=>async value=>{if(!isObject(value)||!hasOwn(value,"type")||value.type!==variant)return null;const config=variantMap[variant];if(!config)return null;const keys=getPayloadKeys$2(config);for(const key of keys){const check=validators?.[key];if(!check)continue;const field=value[key];if(!await check(field))return null}return value},"refineAsyncResult"),getPayloadKeys$1=__name(config=>{const p=config.payload;return p==="never"?[]:Array.isArray(p)?p:[p]},"getPayloadKeys$1"),refineAsyncResultU=__name((value,variant,variantMap,validators)=>(async()=>{if(!isObject(value)||!hasOwn(value,"type")||value.type!==variant)return null;const config=variantMap[variant];if(!config)return null;const keys=getPayloadKeys$1(config);for(const key of keys){const check=validators[key];if(!check)continue;const field=value[key];if(!await check(field))return null}return value})(),"refineAsyncResultU"),getPayloadKeys=__name(config=>{const p=config.payload;return p==="never"?[]:Array.isArray(p)?p:[p]},"getPayloadKeys"),refineResult=__name(variantMap=>variant=>validators=>value=>{if(!isObject(value)||!hasOwn(value,"type")||value.type!==variant)return null;const config=variantMap[variant];if(!config)return null;const keys=getPayloadKeys(config);for(const key of keys){const check=validators?.[key];if(!check)continue;const field=value[key];if(!check(field))return null}return value},"refineResult"),refineResultU=__name((value,variant,variantMap,validators)=>refineResult(variantMap)(variant)(validators)(value),"refineResultU");function refineVariantMap(value,variantMap,validators){if(typeof value!="object"||value===null||!("type"in value))return null;const rawType=value.type;if(typeof rawType!="string"||!(rawType in variantMap))return null;const k=rawType,config=variantMap[k];if(!config)return null;const payload=config.payload,keys=payload==="never"?[]:Array.isArray(payload)?payload:[payload],vvs=validators[k];if(vvs){const obj=value;for(const key of keys){const check=vvs[key];if(check&&!check(obj[key]))return null}}return value}__name(refineVariantMap,"refineVariantMap"),exports2.Err=Err,exports2.Ok=Ok,exports2.andThen=andThen,exports2.err=err,exports2.expect=expect,exports2.expectErr=expectErr,exports2.flatten=flatten,exports2.inspect=inspect,exports2.inspectErr=inspectErr,exports2.isErr=isErr,exports2.isErrAnd=isErrAnd,exports2.isOk=isOk,exports2.isOkAnd=isOkAnd,exports2.isTypedVariant=isTypedVariant,exports2.isTypedVariantOf=isTypedVariantOf,exports2.map=map,exports2.mapErr=mapErr,exports2.match=match,exports2.matchVariant=matchVariant,exports2.matchVariantStrict=matchVariantStrict,exports2.ok=ok,exports2.orElse=orElse,exports2.refineAsyncResult=refineAsyncResult,exports2.refineAsyncResultU=refineAsyncResultU,exports2.refineResult=refineResult,exports2.refineResultU=refineResultU,exports2.refineVariantMap=refineVariantMap,exports2.tap=tap,exports2.tapErr=tapErr,exports2.transpose=transpose,exports2.unwrap=unwrap,exports2.unwrapErr=unwrapErr,exports2.unwrapOr=unwrapOr,exports2.unwrapOrElse=unwrapOrElse}));
2
+ //# sourceMappingURL=resultsafe-monorepo-core-fp-result.umd.js.map