@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,59 @@
1
+ > [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
2
+
3
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
4
+
5
+ ***
6
+
7
+ [@resultsafe/core-fp-result](../README.md) / matchVariant
8
+
9
+ # Функция: matchVariant()
10
+
11
+ > **matchVariant**\<`T`\>(`value`): [`Matcher`](../type-aliases/Matcher.md)\<`T`, `unknown`\>
12
+
13
+ Создает цепочный matcher для значения дискриминированного объединения.
14
+
15
+ ## Параметры типа
16
+
17
+ ### T
18
+
19
+ `T` *extends* [`VariantOf`](../type-aliases/VariantOf.md)
20
+
21
+ Тип дискриминированного объединения.
22
+
23
+ ## Параметры
24
+
25
+ ### value
26
+
27
+ `T`
28
+
29
+ Значение объединения для сопоставления.
30
+
31
+ ## Возвращает
32
+
33
+ [`Matcher`](../type-aliases/Matcher.md)\<`T`, `unknown`\>
34
+
35
+ Fluent matcher с ветками `with` и `otherwise`.
36
+
37
+ ## Начиная с версии
38
+
39
+ 0.1.0
40
+
41
+ ## См. также
42
+
43
+ [matchVariantStrict](./matchVariantStrict.md) - Требует исчерпывающего сопоставления во время выполнения.
44
+
45
+ ## Пример
46
+
47
+ ```ts
48
+ import { matchVariant } from '@resultsafe/core-fp-result';
49
+
50
+ const out = matchVariant<{ type: 'ok'; value: number } | { type: 'err'; error: string }>({
51
+ type: 'ok',
52
+ value: 1,
53
+ })
54
+ .with('ok', (v) => `ok:${v.value}`)
55
+ .otherwise(() => 'fallback')
56
+ .run();
57
+
58
+ console.log(out); // ok:1
59
+ ```
@@ -0,0 +1,63 @@
1
+ > [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
2
+
3
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
4
+
5
+ ***
6
+
7
+ [@resultsafe/core-fp-result](../README.md) / matchVariantStrict
8
+
9
+ # Функция: matchVariantStrict()
10
+
11
+ > **matchVariantStrict**\<`T`\>(`value`): [`MatchBuilder`](../type-aliases/MatchBuilder.md)\<`T`, `unknown`\>
12
+
13
+ Создает строгий matcher, выбрасывающий исключение для необработанных вариантов.
14
+
15
+ ## Параметры типа
16
+
17
+ ### T
18
+
19
+ `T` *extends* [`VariantOf`](../type-aliases/VariantOf.md)
20
+
21
+ Тип дискриминированного объединения.
22
+
23
+ ## Параметры
24
+
25
+ ### value
26
+
27
+ `T`
28
+
29
+ Значение объединения для сопоставления.
30
+
31
+ ## Возвращает
32
+
33
+ [`MatchBuilder`](../type-aliases/MatchBuilder.md)\<`T`, `unknown`\>
34
+
35
+ Строгий builder сопоставления, требующий явных обработчиков.
36
+
37
+ ## Исключения
38
+
39
+ Error - Выбрасывает исключение, если ни один зарегистрированный обработчик не соответствует `value.type`.
40
+
41
+ ## Начиная с версии
42
+
43
+ 0.1.0
44
+
45
+ ## См. также
46
+
47
+ [matchVariant](./matchVariant.md) - Использует fallback-ветку вместо выброса исключения.
48
+
49
+ ## Пример
50
+
51
+ ```ts
52
+ import { matchVariantStrict } from '@resultsafe/core-fp-result';
53
+
54
+ const out = matchVariantStrict<{ type: 'ok'; value: number } | { type: 'err'; error: string }>({
55
+ type: 'err',
56
+ error: 'boom',
57
+ })
58
+ .with('ok', (v) => `ok:${v.value}`)
59
+ .with('err', (v) => `err:${v.error}`)
60
+ .run();
61
+
62
+ console.log(out); // err:boom
63
+ ```
@@ -0,0 +1,98 @@
1
+ > [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
2
+
3
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
4
+
5
+ ***
6
+
7
+ [@resultsafe/core-fp-result](../README.md) / refineAsyncResult
8
+
9
+ # Функция: refineAsyncResult()
10
+
11
+ > **refineAsyncResult**\<`TMap`\>(`variantMap`): \<`K`\>(`variant`) => \<`TValidators`\>(`validators`) => (`value`) => `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
12
+
13
+ Создает асинхронный refiner варианта с асинхронными валидаторами payload.
14
+
15
+ ## Параметры типа
16
+
17
+ ### TMap
18
+
19
+ `TMap` *extends* `Record`\<`string`, `VariantConfig`\>
20
+
21
+ Тип карты конфигурации вариантов.
22
+
23
+ ## Параметры
24
+
25
+ ### variantMap
26
+
27
+ `TMap`
28
+
29
+ Карта, описывающая допустимые варианты и поля payload.
30
+
31
+ ## Возвращает
32
+
33
+ A curried async refiner factory bound to `variantMap`.
34
+
35
+ > \<`K`\>(`variant`): \<`TValidators`\>(`validators`) => (`value`) => `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
36
+
37
+ ### Параметры типа
38
+
39
+ #### K
40
+
41
+ `K` *extends* `string`
42
+
43
+ ### Параметры
44
+
45
+ #### variant
46
+
47
+ `K`
48
+
49
+ ### Возвращает
50
+
51
+ > \<`TValidators`\>(`validators`): (`value`) => `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
52
+
53
+ #### Параметры типа
54
+
55
+ ##### TValidators
56
+
57
+ `TValidators` *extends* `Partial`\<`Record`\<`PayloadKeys`\<`TMap`\[`K`\]\>, `AsyncValidatorFn`\>\>
58
+
59
+ #### Параметры
60
+
61
+ ##### validators
62
+
63
+ `TValidators`
64
+
65
+ #### Возвращает
66
+
67
+ > (`value`): `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
68
+
69
+ ##### Параметры
70
+
71
+ ###### value
72
+
73
+ `unknown`
74
+
75
+ ##### Возвращает
76
+
77
+ `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
78
+
79
+ ## Начиная с версии
80
+
81
+ 0.1.0
82
+
83
+ ## См. также
84
+
85
+ [refineAsyncResultU](./refineAsyncResultU.md) - Непосредственный (не-curry) вариант helper.
86
+
87
+ ## Пример
88
+
89
+ ```ts
90
+ import { refineAsyncResult } from '@resultsafe/core-fp-result';
91
+
92
+ const map = { ok: { payload: 'value' } } as const;
93
+ const refineOk = refineAsyncResult(map)('ok')({
94
+ value: async (x: unknown) => typeof x === 'number',
95
+ });
96
+
97
+ console.log(await refineOk({ type: 'ok', value: 1 })); // { type: 'ok', value: 1 }
98
+ ```
@@ -0,0 +1,86 @@
1
+ > [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
2
+
3
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
4
+
5
+ ***
6
+
7
+ [@resultsafe/core-fp-result](../README.md) / refineAsyncResultU
8
+
9
+ # Функция: refineAsyncResultU()
10
+
11
+ > **refineAsyncResultU**\<`TMap`, `K`, `TValidators`\>(`value`, `variant`, `variantMap`, `validators`): `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
12
+
13
+ Уточняет значение асинхронно в не-curry стиле вызова.
14
+
15
+ ## Параметры типа
16
+
17
+ ### TMap
18
+
19
+ `TMap` *extends* `Record`\<`string`, `VariantConfig`\>
20
+
21
+ Тип карты конфигурации вариантов.
22
+
23
+ ### K
24
+
25
+ `K` *extends* `string`
26
+
27
+ Ключ целевого варианта.
28
+
29
+ ### TValidators
30
+
31
+ `TValidators` *extends* `Partial`\<`Record`\<`PayloadKeys`\<`TMap`\[`K`\]\>, `AsyncValidatorFn`\>\>
32
+
33
+ Карта асинхронных валидаторов для полей payload.
34
+
35
+ ## Параметры
36
+
37
+ ### value
38
+
39
+ `unknown`
40
+
41
+ Значение для валидации и уточнения.
42
+
43
+ ### variant
44
+
45
+ `K`
46
+
47
+ Ключ целевого варианта.
48
+
49
+ ### variantMap
50
+
51
+ `TMap`
52
+
53
+ Карта конфигурации вариантов.
54
+
55
+ ### validators
56
+
57
+ `TValidators`
58
+
59
+ Асинхронные валидаторы payload.
60
+
61
+ ## Возвращает
62
+
63
+ `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
64
+
65
+ Промис с уточненным значением или `null`.
66
+
67
+ ## Начиная с версии
68
+
69
+ 0.1.0
70
+
71
+ ## См. также
72
+
73
+ [refineAsyncResult](./refineAsyncResult.md) - Curry-конструктор асинхронного refiner.
74
+
75
+ ## Пример
76
+
77
+ ```ts
78
+ import { refineAsyncResultU } from '@resultsafe/core-fp-result';
79
+
80
+ const map = { ok: { payload: 'value' } } as const;
81
+ const out = await refineAsyncResultU({ type: 'ok', value: 1 }, 'ok', map, {
82
+ value: async (x: unknown) => typeof x === 'number',
83
+ });
84
+
85
+ console.log(out?.type); // ok
86
+ ```
@@ -0,0 +1,98 @@
1
+ > [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
2
+
3
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
4
+
5
+ ***
6
+
7
+ [@resultsafe/core-fp-result](../README.md) / refineResult
8
+
9
+ # Функция: refineResult()
10
+
11
+ > **refineResult**\<`TMap`\>(`variantMap`): \<`K`\>(`variant`) => \<`TValidators`\>(`validators`) => (`value`) => `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
12
+
13
+ Создает синхронный refiner варианта с валидаторами payload.
14
+
15
+ ## Параметры типа
16
+
17
+ ### TMap
18
+
19
+ `TMap` *extends* `Record`\<`string`, `VariantConfig`\>
20
+
21
+ Тип карты конфигурации вариантов.
22
+
23
+ ## Параметры
24
+
25
+ ### variantMap
26
+
27
+ `TMap`
28
+
29
+ Карта, описывающая допустимые варианты и поля payload.
30
+
31
+ ## Возвращает
32
+
33
+ A curried refiner factory bound to `variantMap`.
34
+
35
+ > \<`K`\>(`variant`): \<`TValidators`\>(`validators`) => (`value`) => `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
36
+
37
+ ### Параметры типа
38
+
39
+ #### K
40
+
41
+ `K` *extends* `string`
42
+
43
+ ### Параметры
44
+
45
+ #### variant
46
+
47
+ `K`
48
+
49
+ ### Возвращает
50
+
51
+ > \<`TValidators`\>(`validators`): (`value`) => `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
52
+
53
+ #### Параметры типа
54
+
55
+ ##### TValidators
56
+
57
+ `TValidators` *extends* `Partial`\<`Record`\<`PayloadKeys`\<`TMap`\[`K`\]\>, `ValidatorFn`\>\>
58
+
59
+ #### Параметры
60
+
61
+ ##### validators
62
+
63
+ `TValidators`
64
+
65
+ #### Возвращает
66
+
67
+ > (`value`): `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
68
+
69
+ ##### Параметры
70
+
71
+ ###### value
72
+
73
+ `unknown`
74
+
75
+ ##### Возвращает
76
+
77
+ `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
78
+
79
+ ## Начиная с версии
80
+
81
+ 0.1.0
82
+
83
+ ## См. также
84
+
85
+ [refineResultU](./refineResultU.md) - Непосредственный (не-curry) вариант helper.
86
+
87
+ ## Пример
88
+
89
+ ```ts
90
+ import { refineResult } from '@resultsafe/core-fp-result';
91
+
92
+ const map = { ok: { payload: 'value' } } as const;
93
+ const refineOk = refineResult(map)('ok')({
94
+ value: (x: unknown): x is number => typeof x === 'number',
95
+ });
96
+
97
+ console.log(refineOk({ type: 'ok', value: 1 })); // { type: 'ok', value: 1 }
98
+ ```
@@ -0,0 +1,86 @@
1
+ > [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
2
+
3
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
4
+
5
+ ***
6
+
7
+ [@resultsafe/core-fp-result](../README.md) / refineResultU
8
+
9
+ # Функция: refineResultU()
10
+
11
+ > **refineResultU**\<`TMap`, `K`, `TValidators`\>(`value`, `variant`, `variantMap`, `validators`): `null` \| [`SyncRefinedResult`](../type-aliases/SyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
12
+
13
+ Уточняет значение по карте вариантов в не-curry стиле вызова.
14
+
15
+ ## Параметры типа
16
+
17
+ ### TMap
18
+
19
+ `TMap` *extends* `Record`\<`string`, `VariantConfig`\>
20
+
21
+ Тип карты конфигурации вариантов.
22
+
23
+ ### K
24
+
25
+ `K` *extends* `string`
26
+
27
+ Ключ целевого варианта.
28
+
29
+ ### TValidators
30
+
31
+ `TValidators` *extends* `Partial`\<`Record`\<`PayloadKeys`\<`TMap`\[`K`\]\>, `ValidatorFn`\>\>
32
+
33
+ Карта валидаторов для полей payload.
34
+
35
+ ## Параметры
36
+
37
+ ### value
38
+
39
+ `unknown`
40
+
41
+ Значение для валидации и уточнения.
42
+
43
+ ### variant
44
+
45
+ `K`
46
+
47
+ Ключ целевого варианта.
48
+
49
+ ### variantMap
50
+
51
+ `TMap`
52
+
53
+ Карта конфигурации вариантов.
54
+
55
+ ### validators
56
+
57
+ `TValidators`
58
+
59
+ Валидаторы payload для целевого варианта.
60
+
61
+ ## Возвращает
62
+
63
+ `null` \| [`SyncRefinedResult`](../type-aliases/SyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
64
+
65
+ Уточненное значение или `null`.
66
+
67
+ ## Начиная с версии
68
+
69
+ 0.1.0
70
+
71
+ ## См. также
72
+
73
+ [refineResult](./refineResult.md) - Curry-конструктор refiner.
74
+
75
+ ## Пример
76
+
77
+ ```ts
78
+ import { refineResultU } from '@resultsafe/core-fp-result';
79
+
80
+ const map = { ok: { payload: 'value' } } as const;
81
+ const out = refineResultU({ type: 'ok', value: 1 }, 'ok', map, {
82
+ value: (x: unknown): x is number => typeof x === 'number',
83
+ });
84
+
85
+ console.log(out?.type); // ok
86
+ ```
@@ -0,0 +1,79 @@
1
+ > [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
2
+
3
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
4
+
5
+ ***
6
+
7
+ [@resultsafe/core-fp-result](../README.md) / refineVariantMap
8
+
9
+ # Функция: refineVariantMap()
10
+
11
+ > **refineVariantMap**\<`TMap`, `TValidators`\>(`value`, `variantMap`, `validators`): `null` \| [`SyncRefinedResultUnion`](../type-aliases/SyncRefinedResultUnion.md)\<`TMap`, `TValidators`\>
12
+
13
+ Уточняет значение дискриминированного объединения по полной карте вариантов.
14
+
15
+ ## Параметры типа
16
+
17
+ ### TMap
18
+
19
+ `TMap` *extends* `Record`\<`string`, `VariantConfig`\>
20
+
21
+ Тип карты конфигурации вариантов.
22
+
23
+ ### TValidators
24
+
25
+ `TValidators` *extends* [`SyncValidatorMap`](../type-aliases/SyncValidatorMap.md)\<`TMap`\>
26
+
27
+ Тип карты валидаторов по вариантам.
28
+
29
+ ## Параметры
30
+
31
+ ### value
32
+
33
+ `unknown`
34
+
35
+ Значение для валидации и уточнения.
36
+
37
+ ### variantMap
38
+
39
+ `TMap`
40
+
41
+ Полная карта конфигурации вариантов.
42
+
43
+ ### validators
44
+
45
+ `TValidators`
46
+
47
+ Валидаторы, сгруппированные по ключу варианта.
48
+
49
+ ## Возвращает
50
+
51
+ `null` \| [`SyncRefinedResultUnion`](../type-aliases/SyncRefinedResultUnion.md)\<`TMap`, `TValidators`\>
52
+
53
+ Уточненный элемент объединения или `null`.
54
+
55
+ ## Начиная с версии
56
+
57
+ 0.1.0
58
+
59
+ ## См. также
60
+
61
+ [refineResult](./refineResult.md) - Refines one concrete variant key.
62
+
63
+ ## Пример
64
+
65
+ ```ts
66
+ import { refineVariantMap } from '@resultsafe/core-fp-result';
67
+
68
+ const map = {
69
+ created: { payload: 'id' },
70
+ failed: { payload: 'reason' },
71
+ } as const;
72
+
73
+ const out = refineVariantMap({ type: 'created', id: '1' }, map, {
74
+ created: { id: (x: unknown): x is string => typeof x === 'string' },
75
+ failed: { reason: (x: unknown): x is string => typeof x === 'string' },
76
+ });
77
+
78
+ console.log(out?.type); // created
79
+ ```
@@ -0,0 +1,49 @@
1
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
2
+
3
+ ***
4
+
5
+ [@resultsafe/core-fp-result](../README.md) / Handler
6
+
7
+ # Type Alias: Handler\<K, T, R\>
8
+
9
+ > **Handler**\<`K`, `T`, `R`\> = `object`
10
+
11
+ **`Internal`**
12
+
13
+ Описывает запись обработчика варианта во внутренних механизмах matcher.
14
+
15
+ ## Type Parameters
16
+
17
+ ### K
18
+
19
+ `K` *extends* `string`
20
+
21
+ ### T
22
+
23
+ `T` *extends* [`VariantOf`](VariantOf.md)\<`K`\>
24
+
25
+ ### R
26
+
27
+ `R`
28
+
29
+ ## Properties
30
+
31
+ ### variant
32
+
33
+ > `readonly` **variant**: `K`
34
+
35
+ ***
36
+
37
+ ### fn()
38
+
39
+ > `readonly` **fn**: (`value`) => `R`
40
+
41
+ #### Parameters
42
+
43
+ ##### value
44
+
45
+ `Extract`\<`T`, \{ `type`: `K`; \}\>
46
+
47
+ #### Returns
48
+
49
+ `R`
@@ -0,0 +1,57 @@
1
+ [**@resultsafe/core-fp-result v0.1.0**](../README.md)
2
+
3
+ ***
4
+
5
+ [@resultsafe/core-fp-result](../README.md) / MatchBuilder
6
+
7
+ # Type Alias: MatchBuilder\<T, R, Handled\>
8
+
9
+ > **MatchBuilder**\<`T`, `R`, `Handled`\> = `object`
10
+
11
+ Описывает форму строгого builder для matcher.
12
+
13
+ ## Type Parameters
14
+
15
+ ### T
16
+
17
+ `T` *extends* [`VariantOf`](VariantOf.md)
18
+
19
+ ### R
20
+
21
+ `R`
22
+
23
+ ### Handled
24
+
25
+ `Handled` *extends* `T`\[`"type"`\] = `never`
26
+
27
+ ## Properties
28
+
29
+ ### with()
30
+
31
+ > `readonly` **with**: \<`K`\>(`variant`, `fn`) => `MatchBuilder`\<`T`, `R`, `Handled` \| `K`\>
32
+
33
+ #### Type Parameters
34
+
35
+ ##### K
36
+
37
+ `K` *extends* `Exclude`\<`T`\[`"type"`\], `Handled`\>
38
+
39
+ #### Parameters
40
+
41
+ ##### variant
42
+
43
+ `K`
44
+
45
+ ##### fn
46
+
47
+ (`value`) => `R`
48
+
49
+ #### Returns
50
+
51
+ `MatchBuilder`\<`T`, `R`, `Handled` \| `K`\>
52
+
53
+ ***
54
+
55
+ ### run
56
+
57
+ > `readonly` **run**: `Handled` *extends* `T`\[`"type"`\] ? () => `R` : `never`