@resultsafe/core-fp-result 0.1.6 → 0.1.8

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 (425) hide show
  1. package/README.md +83 -54
  2. package/README.ru.md +111 -87
  3. package/{dist/cjs → cjs}/constructors/Err.js.map +1 -1
  4. package/{dist/cjs → cjs}/constructors/Ok.js.map +1 -1
  5. package/{dist/cjs → cjs}/guards/isErr.js.map +1 -1
  6. package/cjs/guards/isErrAnd.js.map +1 -0
  7. package/{dist/cjs → cjs}/guards/isOk.js.map +1 -1
  8. package/cjs/guards/isOkAnd.js.map +1 -0
  9. package/cjs/methods/andThen.js.map +1 -0
  10. package/cjs/methods/err.js.map +1 -0
  11. package/cjs/methods/expect.js.map +1 -0
  12. package/cjs/methods/expectErr.js.map +1 -0
  13. package/{dist/cjs → cjs}/methods/flatten.js.map +1 -1
  14. package/cjs/methods/inspect.js.map +1 -0
  15. package/cjs/methods/inspectErr.js.map +1 -0
  16. package/cjs/methods/map.js.map +1 -0
  17. package/cjs/methods/mapErr.js.map +1 -0
  18. package/{dist/cjs → cjs}/methods/match.js.map +1 -1
  19. package/cjs/methods/ok.js.map +1 -0
  20. package/cjs/methods/orElse.js.map +1 -0
  21. package/{dist/cjs → cjs}/methods/tap.js.map +1 -1
  22. package/cjs/methods/tapErr.js.map +1 -0
  23. package/cjs/methods/transpose.js.map +1 -0
  24. package/cjs/methods/unwrap.js.map +1 -0
  25. package/cjs/methods/unwrapErr.js.map +1 -0
  26. package/cjs/methods/unwrapOr.js.map +1 -0
  27. package/{dist/cjs → cjs}/methods/unwrapOrElse.js.map +1 -1
  28. package/cjs/refiners/refineAsyncResult.js.map +1 -0
  29. package/cjs/refiners/refineAsyncResultU.js.map +1 -0
  30. package/cjs/refiners/refineResult.js.map +1 -0
  31. package/cjs/refiners/refineResultU.js.map +1 -0
  32. package/cjs/refiners/refineVariantMap.js.map +1 -0
  33. package/cjs/refiners/utils/getPayloadKeys.js.map +1 -0
  34. package/docs/_category_.json +3 -3
  35. package/docs/assets/logo.svg +0 -0
  36. package/docs/examples/_category_.json +1 -1
  37. package/docs/examples/auth/_category_.json +1 -1
  38. package/docs/examples/auth/index.md +1 -1
  39. package/docs/examples/connection/_category_.json +1 -1
  40. package/docs/examples/connection/connect.md +1 -1
  41. package/docs/examples/connection/index.md +1 -1
  42. package/docs/examples/connection/reconnect.md +1 -1
  43. package/docs/examples/errors/_category_.json +1 -1
  44. package/docs/examples/errors/index.md +1 -1
  45. package/docs/examples/errors/retry.md +1 -1
  46. package/docs/examples/index.md +1 -1
  47. package/docs/examples/streaming/_category_.json +1 -1
  48. package/docs/examples/streaming/index.md +1 -1
  49. package/docs/examples/streaming/text.md +1 -1
  50. package/docs/meta/AI-AGENT-RULES.md +265 -0
  51. package/docs/meta/CONTEXT.md +70 -0
  52. package/docs/meta/MANIFEST.md +58 -0
  53. package/docs/meta/registry/COUNTERS.md +29 -0
  54. package/docs/meta/registry/ENTITIES.md +30 -0
  55. package/{dist/esm → esm}/constructors/Err.js.map +1 -1
  56. package/{dist/esm → esm}/constructors/Ok.js.map +1 -1
  57. package/{dist/esm → esm}/guards/isErr.js.map +1 -1
  58. package/esm/guards/isErrAnd.js.map +1 -0
  59. package/{dist/esm → esm}/guards/isOk.js.map +1 -1
  60. package/esm/guards/isOkAnd.js.map +1 -0
  61. package/esm/methods/andThen.js.map +1 -0
  62. package/esm/methods/err.js.map +1 -0
  63. package/esm/methods/expect.js.map +1 -0
  64. package/esm/methods/expectErr.js.map +1 -0
  65. package/{dist/esm → esm}/methods/flatten.js.map +1 -1
  66. package/esm/methods/inspect.js.map +1 -0
  67. package/esm/methods/inspectErr.js.map +1 -0
  68. package/esm/methods/map.js.map +1 -0
  69. package/esm/methods/mapErr.js.map +1 -0
  70. package/{dist/esm → esm}/methods/match.js.map +1 -1
  71. package/esm/methods/ok.js.map +1 -0
  72. package/esm/methods/orElse.js.map +1 -0
  73. package/{dist/esm → esm}/methods/tap.js.map +1 -1
  74. package/esm/methods/tapErr.js.map +1 -0
  75. package/esm/methods/transpose.js.map +1 -0
  76. package/esm/methods/unwrap.js.map +1 -0
  77. package/esm/methods/unwrapErr.js.map +1 -0
  78. package/esm/methods/unwrapOr.js.map +1 -0
  79. package/{dist/esm → esm}/methods/unwrapOrElse.js.map +1 -1
  80. package/esm/refiners/refineAsyncResult.js.map +1 -0
  81. package/esm/refiners/refineAsyncResultU.js.map +1 -0
  82. package/esm/refiners/refineResult.js.map +1 -0
  83. package/esm/refiners/refineResultU.js.map +1 -0
  84. package/esm/refiners/refineVariantMap.js.map +1 -0
  85. package/esm/refiners/utils/getPayloadKeys.js.map +1 -0
  86. package/package.json +18 -52
  87. package/{dist/types → types}/guards/isErrAnd.d.ts.map +1 -1
  88. package/{dist/types → types}/guards/isOkAnd.d.ts.map +1 -1
  89. package/{dist/types → types}/methods/andThen.d.ts.map +1 -1
  90. package/{dist/types → types}/methods/err.d.ts.map +1 -1
  91. package/types/methods/expect.d.ts.map +1 -0
  92. package/types/methods/expectErr.d.ts.map +1 -0
  93. package/{dist/types → types}/methods/inspect.d.ts.map +1 -1
  94. package/{dist/types → types}/methods/inspectErr.d.ts.map +1 -1
  95. package/{dist/types → types}/methods/map.d.ts.map +1 -1
  96. package/{dist/types → types}/methods/mapErr.d.ts.map +1 -1
  97. package/{dist/types → types}/methods/ok.d.ts.map +1 -1
  98. package/{dist/types → types}/methods/orElse.d.ts.map +1 -1
  99. package/{dist/types → types}/methods/tapErr.d.ts.map +1 -1
  100. package/{dist/types → types}/methods/transpose.d.ts.map +1 -1
  101. package/types/methods/unwrap.d.ts.map +1 -0
  102. package/types/methods/unwrapErr.d.ts.map +1 -0
  103. package/types/methods/unwrapOr.d.ts.map +1 -0
  104. package/{dist/types → types}/refiners/refineAsyncResult.d.ts.map +1 -1
  105. package/{dist/types → types}/refiners/refineAsyncResultU.d.ts.map +1 -1
  106. package/{dist/types → types}/refiners/refineResult.d.ts.map +1 -1
  107. package/{dist/types → types}/refiners/refineResultU.d.ts.map +1 -1
  108. package/{dist/types → types}/refiners/refineVariantMap.d.ts.map +1 -1
  109. package/{dist/types → types}/refiners/types/SyncRefinedResultUnion.d.ts.map +1 -1
  110. package/{dist/types → types}/refiners/utils/getPayloadKeys.d.ts.map +1 -1
  111. package/types/types/core/Option.d.ts +43 -0
  112. package/types/types/core/Option.d.ts.map +1 -0
  113. package/types/types/core/Result.d.ts +58 -0
  114. package/types/types/core/Result.d.ts.map +1 -0
  115. package/types/types/index.d.ts +7 -0
  116. package/types/types/index.d.ts.map +1 -0
  117. package/types/types/refiners/AsyncValidatorFn.d.ts +21 -0
  118. package/types/types/refiners/AsyncValidatorFn.d.ts.map +1 -0
  119. package/types/types/refiners/PayloadKeys.d.ts +20 -0
  120. package/types/types/refiners/PayloadKeys.d.ts.map +1 -0
  121. package/types/types/refiners/ValidatorFn.d.ts +23 -0
  122. package/types/types/refiners/ValidatorFn.d.ts.map +1 -0
  123. package/types/types/refiners/VariantConfig.d.ts +27 -0
  124. package/types/types/refiners/VariantConfig.d.ts.map +1 -0
  125. package/umd/resultsafe-monorepo-core-fp-result.umd.js.map +1 -0
  126. package/dist/LICENSE +0 -21
  127. package/dist/README.md +0 -273
  128. package/dist/README.ru.md +0 -278
  129. package/dist/cjs/guards/isErrAnd.js.map +0 -1
  130. package/dist/cjs/guards/isOkAnd.js.map +0 -1
  131. package/dist/cjs/methods/andThen.js.map +0 -1
  132. package/dist/cjs/methods/err.js.map +0 -1
  133. package/dist/cjs/methods/expect.js.map +0 -1
  134. package/dist/cjs/methods/expectErr.js.map +0 -1
  135. package/dist/cjs/methods/inspect.js.map +0 -1
  136. package/dist/cjs/methods/inspectErr.js.map +0 -1
  137. package/dist/cjs/methods/map.js.map +0 -1
  138. package/dist/cjs/methods/mapErr.js.map +0 -1
  139. package/dist/cjs/methods/ok.js.map +0 -1
  140. package/dist/cjs/methods/orElse.js.map +0 -1
  141. package/dist/cjs/methods/tapErr.js.map +0 -1
  142. package/dist/cjs/methods/transpose.js.map +0 -1
  143. package/dist/cjs/methods/unwrap.js.map +0 -1
  144. package/dist/cjs/methods/unwrapErr.js.map +0 -1
  145. package/dist/cjs/methods/unwrapOr.js.map +0 -1
  146. package/dist/cjs/refiners/refineAsyncResult.js.map +0 -1
  147. package/dist/cjs/refiners/refineAsyncResultU.js.map +0 -1
  148. package/dist/cjs/refiners/refineResult.js.map +0 -1
  149. package/dist/cjs/refiners/refineResultU.js.map +0 -1
  150. package/dist/cjs/refiners/refineVariantMap.js.map +0 -1
  151. package/dist/cjs/refiners/utils/getPayloadKeys.js.map +0 -1
  152. package/dist/docs/_category_.json +0 -6
  153. package/dist/docs/api/README.md +0 -9
  154. package/dist/docs/api/constructors/Err.md +0 -58
  155. package/dist/docs/api/constructors/Ok.md +0 -58
  156. package/dist/docs/api/constructors/index.md +0 -7
  157. package/dist/docs/api/guards/index.md +0 -9
  158. package/dist/docs/api/guards/isErr.md +0 -58
  159. package/dist/docs/api/guards/isErrAnd.md +0 -64
  160. package/dist/docs/api/guards/isOk.md +0 -58
  161. package/dist/docs/api/guards/isOkAnd.md +0 -64
  162. package/dist/docs/api/index.md +0 -9
  163. package/dist/docs/api/methods/andThen.md +0 -73
  164. package/dist/docs/api/methods/err.md +0 -58
  165. package/dist/docs/api/methods/expect.md +0 -68
  166. package/dist/docs/api/methods/expectErr.md +0 -68
  167. package/dist/docs/api/methods/flatten.md +0 -58
  168. package/dist/docs/api/methods/index.md +0 -24
  169. package/dist/docs/api/methods/inspect.md +0 -64
  170. package/dist/docs/api/methods/inspectErr.md +0 -64
  171. package/dist/docs/api/methods/map.md +0 -70
  172. package/dist/docs/api/methods/mapErr.md +0 -70
  173. package/dist/docs/api/methods/match.md +0 -76
  174. package/dist/docs/api/methods/ok.md +0 -58
  175. package/dist/docs/api/methods/orElse.md +0 -70
  176. package/dist/docs/api/methods/tap.md +0 -64
  177. package/dist/docs/api/methods/tapErr.md +0 -64
  178. package/dist/docs/api/methods/transpose.md +0 -58
  179. package/dist/docs/api/methods/unwrap.md +0 -62
  180. package/dist/docs/api/methods/unwrapErr.md +0 -62
  181. package/dist/docs/api/methods/unwrapOr.md +0 -64
  182. package/dist/docs/api/methods/unwrapOrElse.md +0 -64
  183. package/dist/docs/api/modules.md +0 -10
  184. package/dist/docs/api/refiners/index.md +0 -14
  185. package/dist/docs/api/refiners/isTypedVariant.md +0 -62
  186. package/dist/docs/api/refiners/isTypedVariantOf.md +0 -68
  187. package/dist/docs/api/refiners/matchVariant.md +0 -59
  188. package/dist/docs/api/refiners/matchVariantStrict.md +0 -63
  189. package/dist/docs/api/refiners/refineAsyncResult.md +0 -98
  190. package/dist/docs/api/refiners/refineAsyncResultU.md +0 -86
  191. package/dist/docs/api/refiners/refineResult.md +0 -98
  192. package/dist/docs/api/refiners/refineResultU.md +0 -86
  193. package/dist/docs/api/refiners/refineVariantMap.md +0 -79
  194. package/dist/docs/api/type-aliases/Handler.md +0 -49
  195. package/dist/docs/api/type-aliases/MatchBuilder.md +0 -57
  196. package/dist/docs/api/type-aliases/Matcher.md +0 -71
  197. package/dist/docs/api/type-aliases/SyncRefinedResult.md +0 -31
  198. package/dist/docs/api/type-aliases/SyncRefinedResultUnion.md +0 -21
  199. package/dist/docs/api/type-aliases/SyncValidatorMap.md +0 -17
  200. package/dist/docs/api/type-aliases/UniversalAsyncRefinedResult.md +0 -31
  201. package/dist/docs/api/type-aliases/UniversalRefinedResult.md +0 -31
  202. package/dist/docs/api/type-aliases/VariantOf.md +0 -23
  203. package/dist/docs/api/type-aliases/index.md +0 -14
  204. package/dist/docs/assets/logo.svg +0 -93
  205. package/dist/docs/examples/_category_.json +0 -4
  206. package/dist/docs/examples/auth/_category_.json +0 -4
  207. package/dist/docs/examples/auth/index.md +0 -3
  208. package/dist/docs/examples/auth/token.md +0 -5
  209. package/dist/docs/examples/connection/_category_.json +0 -4
  210. package/dist/docs/examples/connection/connect.md +0 -5
  211. package/dist/docs/examples/connection/index.md +0 -3
  212. package/dist/docs/examples/connection/reconnect.md +0 -5
  213. package/dist/docs/examples/errors/_category_.json +0 -4
  214. package/dist/docs/examples/errors/index.md +0 -3
  215. package/dist/docs/examples/errors/retry.md +0 -5
  216. package/dist/docs/examples/index.md +0 -9
  217. package/dist/docs/examples/streaming/_category_.json +0 -4
  218. package/dist/docs/examples/streaming/index.md +0 -3
  219. package/dist/docs/examples/streaming/text.md +0 -5
  220. package/dist/esm/guards/isErrAnd.js.map +0 -1
  221. package/dist/esm/guards/isOkAnd.js.map +0 -1
  222. package/dist/esm/methods/andThen.js.map +0 -1
  223. package/dist/esm/methods/err.js.map +0 -1
  224. package/dist/esm/methods/expect.js.map +0 -1
  225. package/dist/esm/methods/expectErr.js.map +0 -1
  226. package/dist/esm/methods/inspect.js.map +0 -1
  227. package/dist/esm/methods/inspectErr.js.map +0 -1
  228. package/dist/esm/methods/map.js.map +0 -1
  229. package/dist/esm/methods/mapErr.js.map +0 -1
  230. package/dist/esm/methods/ok.js.map +0 -1
  231. package/dist/esm/methods/orElse.js.map +0 -1
  232. package/dist/esm/methods/tapErr.js.map +0 -1
  233. package/dist/esm/methods/transpose.js.map +0 -1
  234. package/dist/esm/methods/unwrap.js.map +0 -1
  235. package/dist/esm/methods/unwrapErr.js.map +0 -1
  236. package/dist/esm/methods/unwrapOr.js.map +0 -1
  237. package/dist/esm/refiners/refineAsyncResult.js.map +0 -1
  238. package/dist/esm/refiners/refineAsyncResultU.js.map +0 -1
  239. package/dist/esm/refiners/refineResult.js.map +0 -1
  240. package/dist/esm/refiners/refineResultU.js.map +0 -1
  241. package/dist/esm/refiners/refineVariantMap.js.map +0 -1
  242. package/dist/esm/refiners/utils/getPayloadKeys.js.map +0 -1
  243. package/dist/package.json +0 -37
  244. package/dist/types/methods/expect.d.ts.map +0 -1
  245. package/dist/types/methods/expectErr.d.ts.map +0 -1
  246. package/dist/types/methods/unwrap.d.ts.map +0 -1
  247. package/dist/types/methods/unwrapErr.d.ts.map +0 -1
  248. package/dist/types/methods/unwrapOr.d.ts.map +0 -1
  249. package/dist/umd/resultsafe-monorepo-core-fp-result.umd.js.map +0 -1
  250. /package/{dist/cjs → cjs}/constructors/Err.js +0 -0
  251. /package/{dist/cjs → cjs}/constructors/Ok.js +0 -0
  252. /package/{dist/cjs → cjs}/guards/isErr.js +0 -0
  253. /package/{dist/cjs → cjs}/guards/isErrAnd.js +0 -0
  254. /package/{dist/cjs → cjs}/guards/isOk.js +0 -0
  255. /package/{dist/cjs → cjs}/guards/isOkAnd.js +0 -0
  256. /package/{dist/cjs → cjs}/index.js +0 -0
  257. /package/{dist/cjs → cjs}/index.js.map +0 -0
  258. /package/{dist/cjs → cjs}/internal/object.js +0 -0
  259. /package/{dist/cjs → cjs}/internal/object.js.map +0 -0
  260. /package/{dist/cjs → cjs}/internal/option.js +0 -0
  261. /package/{dist/cjs → cjs}/internal/option.js.map +0 -0
  262. /package/{dist/cjs → cjs}/methods/andThen.js +0 -0
  263. /package/{dist/cjs → cjs}/methods/err.js +0 -0
  264. /package/{dist/cjs → cjs}/methods/expect.js +0 -0
  265. /package/{dist/cjs → cjs}/methods/expectErr.js +0 -0
  266. /package/{dist/cjs → cjs}/methods/flatten.js +0 -0
  267. /package/{dist/cjs → cjs}/methods/inspect.js +0 -0
  268. /package/{dist/cjs → cjs}/methods/inspectErr.js +0 -0
  269. /package/{dist/cjs → cjs}/methods/map.js +0 -0
  270. /package/{dist/cjs → cjs}/methods/mapErr.js +0 -0
  271. /package/{dist/cjs → cjs}/methods/match.js +0 -0
  272. /package/{dist/cjs → cjs}/methods/ok.js +0 -0
  273. /package/{dist/cjs → cjs}/methods/orElse.js +0 -0
  274. /package/{dist/cjs → cjs}/methods/tap.js +0 -0
  275. /package/{dist/cjs → cjs}/methods/tapErr.js +0 -0
  276. /package/{dist/cjs → cjs}/methods/transpose.js +0 -0
  277. /package/{dist/cjs → cjs}/methods/unwrap.js +0 -0
  278. /package/{dist/cjs → cjs}/methods/unwrapErr.js +0 -0
  279. /package/{dist/cjs → cjs}/methods/unwrapOr.js +0 -0
  280. /package/{dist/cjs → cjs}/methods/unwrapOrElse.js +0 -0
  281. /package/{dist/cjs → cjs}/package.json +0 -0
  282. /package/{dist/cjs → cjs}/refiners/isTypedVariant.js +0 -0
  283. /package/{dist/cjs → cjs}/refiners/isTypedVariant.js.map +0 -0
  284. /package/{dist/cjs → cjs}/refiners/isTypedVariantOf.js +0 -0
  285. /package/{dist/cjs → cjs}/refiners/isTypedVariantOf.js.map +0 -0
  286. /package/{dist/cjs → cjs}/refiners/matchVariant.js +0 -0
  287. /package/{dist/cjs → cjs}/refiners/matchVariant.js.map +0 -0
  288. /package/{dist/cjs → cjs}/refiners/matchVariantStrict.js +0 -0
  289. /package/{dist/cjs → cjs}/refiners/matchVariantStrict.js.map +0 -0
  290. /package/{dist/cjs → cjs}/refiners/refineAsyncResult.js +0 -0
  291. /package/{dist/cjs → cjs}/refiners/refineAsyncResultU.js +0 -0
  292. /package/{dist/cjs → cjs}/refiners/refineResult.js +0 -0
  293. /package/{dist/cjs → cjs}/refiners/refineResultU.js +0 -0
  294. /package/{dist/cjs → cjs}/refiners/refineVariantMap.js +0 -0
  295. /package/{dist/cjs → cjs}/refiners/utils/getPayloadKeys.js +0 -0
  296. /package/{dist/esm → esm}/constructors/Err.js +0 -0
  297. /package/{dist/esm → esm}/constructors/Ok.js +0 -0
  298. /package/{dist/esm → esm}/guards/isErr.js +0 -0
  299. /package/{dist/esm → esm}/guards/isErrAnd.js +0 -0
  300. /package/{dist/esm → esm}/guards/isOk.js +0 -0
  301. /package/{dist/esm → esm}/guards/isOkAnd.js +0 -0
  302. /package/{dist/esm → esm}/index.js +0 -0
  303. /package/{dist/esm → esm}/index.js.map +0 -0
  304. /package/{dist/esm → esm}/internal/object.js +0 -0
  305. /package/{dist/esm → esm}/internal/object.js.map +0 -0
  306. /package/{dist/esm → esm}/internal/option.js +0 -0
  307. /package/{dist/esm → esm}/internal/option.js.map +0 -0
  308. /package/{dist/esm → esm}/methods/andThen.js +0 -0
  309. /package/{dist/esm → esm}/methods/err.js +0 -0
  310. /package/{dist/esm → esm}/methods/expect.js +0 -0
  311. /package/{dist/esm → esm}/methods/expectErr.js +0 -0
  312. /package/{dist/esm → esm}/methods/flatten.js +0 -0
  313. /package/{dist/esm → esm}/methods/inspect.js +0 -0
  314. /package/{dist/esm → esm}/methods/inspectErr.js +0 -0
  315. /package/{dist/esm → esm}/methods/map.js +0 -0
  316. /package/{dist/esm → esm}/methods/mapErr.js +0 -0
  317. /package/{dist/esm → esm}/methods/match.js +0 -0
  318. /package/{dist/esm → esm}/methods/ok.js +0 -0
  319. /package/{dist/esm → esm}/methods/orElse.js +0 -0
  320. /package/{dist/esm → esm}/methods/tap.js +0 -0
  321. /package/{dist/esm → esm}/methods/tapErr.js +0 -0
  322. /package/{dist/esm → esm}/methods/transpose.js +0 -0
  323. /package/{dist/esm → esm}/methods/unwrap.js +0 -0
  324. /package/{dist/esm → esm}/methods/unwrapErr.js +0 -0
  325. /package/{dist/esm → esm}/methods/unwrapOr.js +0 -0
  326. /package/{dist/esm → esm}/methods/unwrapOrElse.js +0 -0
  327. /package/{dist/esm → esm}/refiners/isTypedVariant.js +0 -0
  328. /package/{dist/esm → esm}/refiners/isTypedVariant.js.map +0 -0
  329. /package/{dist/esm → esm}/refiners/isTypedVariantOf.js +0 -0
  330. /package/{dist/esm → esm}/refiners/isTypedVariantOf.js.map +0 -0
  331. /package/{dist/esm → esm}/refiners/matchVariant.js +0 -0
  332. /package/{dist/esm → esm}/refiners/matchVariant.js.map +0 -0
  333. /package/{dist/esm → esm}/refiners/matchVariantStrict.js +0 -0
  334. /package/{dist/esm → esm}/refiners/matchVariantStrict.js.map +0 -0
  335. /package/{dist/esm → esm}/refiners/refineAsyncResult.js +0 -0
  336. /package/{dist/esm → esm}/refiners/refineAsyncResultU.js +0 -0
  337. /package/{dist/esm → esm}/refiners/refineResult.js +0 -0
  338. /package/{dist/esm → esm}/refiners/refineResultU.js +0 -0
  339. /package/{dist/esm → esm}/refiners/refineVariantMap.js +0 -0
  340. /package/{dist/esm → esm}/refiners/utils/getPayloadKeys.js +0 -0
  341. /package/{dist/types → types}/constructors/Err.d.ts +0 -0
  342. /package/{dist/types → types}/constructors/Err.d.ts.map +0 -0
  343. /package/{dist/types → types}/constructors/Ok.d.ts +0 -0
  344. /package/{dist/types → types}/constructors/Ok.d.ts.map +0 -0
  345. /package/{dist/types → types}/constructors/index.d.ts +0 -0
  346. /package/{dist/types → types}/constructors/index.d.ts.map +0 -0
  347. /package/{dist/types → types}/guards/index.d.ts +0 -0
  348. /package/{dist/types → types}/guards/index.d.ts.map +0 -0
  349. /package/{dist/types → types}/guards/isErr.d.ts +0 -0
  350. /package/{dist/types → types}/guards/isErr.d.ts.map +0 -0
  351. /package/{dist/types → types}/guards/isErrAnd.d.ts +0 -0
  352. /package/{dist/types → types}/guards/isOk.d.ts +0 -0
  353. /package/{dist/types → types}/guards/isOk.d.ts.map +0 -0
  354. /package/{dist/types → types}/guards/isOkAnd.d.ts +0 -0
  355. /package/{dist/types → types}/index.d.ts +0 -0
  356. /package/{dist/types → types}/index.d.ts.map +0 -0
  357. /package/{dist/types → types}/internal/object.d.ts +0 -0
  358. /package/{dist/types → types}/internal/object.d.ts.map +0 -0
  359. /package/{dist/types → types}/internal/option.d.ts +0 -0
  360. /package/{dist/types → types}/internal/option.d.ts.map +0 -0
  361. /package/{dist/types → types}/methods/andThen.d.ts +0 -0
  362. /package/{dist/types → types}/methods/err.d.ts +0 -0
  363. /package/{dist/types → types}/methods/expect.d.ts +0 -0
  364. /package/{dist/types → types}/methods/expectErr.d.ts +0 -0
  365. /package/{dist/types → types}/methods/flatten.d.ts +0 -0
  366. /package/{dist/types → types}/methods/flatten.d.ts.map +0 -0
  367. /package/{dist/types → types}/methods/index.d.ts +0 -0
  368. /package/{dist/types → types}/methods/index.d.ts.map +0 -0
  369. /package/{dist/types → types}/methods/inspect.d.ts +0 -0
  370. /package/{dist/types → types}/methods/inspectErr.d.ts +0 -0
  371. /package/{dist/types → types}/methods/map.d.ts +0 -0
  372. /package/{dist/types → types}/methods/mapErr.d.ts +0 -0
  373. /package/{dist/types → types}/methods/match.d.ts +0 -0
  374. /package/{dist/types → types}/methods/match.d.ts.map +0 -0
  375. /package/{dist/types → types}/methods/ok.d.ts +0 -0
  376. /package/{dist/types → types}/methods/orElse.d.ts +0 -0
  377. /package/{dist/types → types}/methods/tap.d.ts +0 -0
  378. /package/{dist/types → types}/methods/tap.d.ts.map +0 -0
  379. /package/{dist/types → types}/methods/tapErr.d.ts +0 -0
  380. /package/{dist/types → types}/methods/transpose.d.ts +0 -0
  381. /package/{dist/types → types}/methods/unwrap.d.ts +0 -0
  382. /package/{dist/types → types}/methods/unwrapErr.d.ts +0 -0
  383. /package/{dist/types → types}/methods/unwrapOr.d.ts +0 -0
  384. /package/{dist/types → types}/methods/unwrapOrElse.d.ts +0 -0
  385. /package/{dist/types → types}/methods/unwrapOrElse.d.ts.map +0 -0
  386. /package/{dist/types → types}/refiners/index.d.ts +0 -0
  387. /package/{dist/types → types}/refiners/index.d.ts.map +0 -0
  388. /package/{dist/types → types}/refiners/isTypedVariant.d.ts +0 -0
  389. /package/{dist/types → types}/refiners/isTypedVariant.d.ts.map +0 -0
  390. /package/{dist/types → types}/refiners/isTypedVariantOf.d.ts +0 -0
  391. /package/{dist/types → types}/refiners/isTypedVariantOf.d.ts.map +0 -0
  392. /package/{dist/types → types}/refiners/matchVariant.d.ts +0 -0
  393. /package/{dist/types → types}/refiners/matchVariant.d.ts.map +0 -0
  394. /package/{dist/types → types}/refiners/matchVariantStrict.d.ts +0 -0
  395. /package/{dist/types → types}/refiners/matchVariantStrict.d.ts.map +0 -0
  396. /package/{dist/types → types}/refiners/refineAsyncResult.d.ts +0 -0
  397. /package/{dist/types → types}/refiners/refineAsyncResultU.d.ts +0 -0
  398. /package/{dist/types → types}/refiners/refineResult.d.ts +0 -0
  399. /package/{dist/types → types}/refiners/refineResultU.d.ts +0 -0
  400. /package/{dist/types → types}/refiners/refineVariantMap.d.ts +0 -0
  401. /package/{dist/types → types}/refiners/types/Handler.d.ts +0 -0
  402. /package/{dist/types → types}/refiners/types/Handler.d.ts.map +0 -0
  403. /package/{dist/types → types}/refiners/types/MatchBuilder.d.ts +0 -0
  404. /package/{dist/types → types}/refiners/types/MatchBuilder.d.ts.map +0 -0
  405. /package/{dist/types → types}/refiners/types/Matcher.d.ts +0 -0
  406. /package/{dist/types → types}/refiners/types/Matcher.d.ts.map +0 -0
  407. /package/{dist/types → types}/refiners/types/SyncRefinedResult.d.ts +0 -0
  408. /package/{dist/types → types}/refiners/types/SyncRefinedResult.d.ts.map +0 -0
  409. /package/{dist/types → types}/refiners/types/SyncRefinedResultUnion.d.ts +0 -0
  410. /package/{dist/types → types}/refiners/types/SyncValidatorMap.d.ts +0 -0
  411. /package/{dist/types → types}/refiners/types/SyncValidatorMap.d.ts.map +0 -0
  412. /package/{dist/types → types}/refiners/types/UniversalAsyncRefinedResult.d.ts +0 -0
  413. /package/{dist/types → types}/refiners/types/UniversalAsyncRefinedResult.d.ts.map +0 -0
  414. /package/{dist/types → types}/refiners/types/UniversalRefinedResult.d.ts +0 -0
  415. /package/{dist/types → types}/refiners/types/UniversalRefinedResult.d.ts.map +0 -0
  416. /package/{dist/types → types}/refiners/types/VariantOf.d.ts +0 -0
  417. /package/{dist/types → types}/refiners/types/VariantOf.d.ts.map +0 -0
  418. /package/{dist/types → types}/refiners/types/index.d.ts +0 -0
  419. /package/{dist/types → types}/refiners/types/index.d.ts.map +0 -0
  420. /package/{dist/types → types}/refiners/utils/getPayloadKeys.d.ts +0 -0
  421. /package/{dist/types → types}/refiners/utils/index.d.ts +0 -0
  422. /package/{dist/types → types}/refiners/utils/index.d.ts.map +0 -0
  423. /package/{dist/types → types}/shared-types.d.ts +0 -0
  424. /package/{dist/types → types}/shared-types.d.ts.map +0 -0
  425. /package/{dist/umd → umd}/resultsafe-monorepo-core-fp-result.umd.js +0 -0
@@ -1,31 +0,0 @@
1
- [**@resultsafe/core-fp-result v0.1.0**](../README.md)
2
-
3
- ***
4
-
5
- [@resultsafe/core-fp-result](../README.md) / UniversalAsyncRefinedResult
6
-
7
- # Type Alias: UniversalAsyncRefinedResult\<K, TMap, _TValidators\>
8
-
9
- > **UniversalAsyncRefinedResult**\<`K`, `TMap`, `_TValidators`\> = `object` & `Record`\<`string`, `unknown`\>
10
-
11
- Описывает обобщенное асинхронно уточненное значение варианта.
12
-
13
- ## Type Declaration
14
-
15
- ### type
16
-
17
- > **type**: `K`
18
-
19
- ## Type Parameters
20
-
21
- ### K
22
-
23
- `K` *extends* keyof `TMap` & `string`
24
-
25
- ### TMap
26
-
27
- `TMap` *extends* `Record`\<`string`, `VariantConfig`\>
28
-
29
- ### _TValidators
30
-
31
- `_TValidators` *extends* `Record`\<`string`, `unknown`\>
@@ -1,31 +0,0 @@
1
- [**@resultsafe/core-fp-result v0.1.0**](../README.md)
2
-
3
- ***
4
-
5
- [@resultsafe/core-fp-result](../README.md) / UniversalRefinedResult
6
-
7
- # Type Alias: UniversalRefinedResult\<K, TMap, _TValidators\>
8
-
9
- > **UniversalRefinedResult**\<`K`, `TMap`, `_TValidators`\> = `object` & `Record`\<`string`, `unknown`\>
10
-
11
- Описывает обобщенное синхронно уточненное значение варианта.
12
-
13
- ## Type Declaration
14
-
15
- ### type
16
-
17
- > **type**: `K`
18
-
19
- ## Type Parameters
20
-
21
- ### K
22
-
23
- `K` *extends* keyof `TMap` & `string`
24
-
25
- ### TMap
26
-
27
- `TMap` *extends* `Record`\<`string`, `VariantConfig`\>
28
-
29
- ### _TValidators
30
-
31
- `_TValidators` *extends* `Record`\<`string`, `unknown`\>
@@ -1,23 +0,0 @@
1
- [**@resultsafe/core-fp-result v0.1.0**](../README.md)
2
-
3
- ***
4
-
5
- [@resultsafe/core-fp-result](../README.md) / VariantOf
6
-
7
- # Type Alias: VariantOf\<K\>
8
-
9
- > **VariantOf**\<`K`\> = `object`
10
-
11
- Описывает минимальный контракт дискриминированного объединения.
12
-
13
- ## Type Parameters
14
-
15
- ### K
16
-
17
- `K` *extends* `string` = `string`
18
-
19
- ## Properties
20
-
21
- ### type
22
-
23
- > **type**: `K`
@@ -1,14 +0,0 @@
1
- # Type Aliases
2
-
3
- > [Back to package README](../../../README.md) | [Back to API index](../index.md)
4
-
5
- Published helper type aliases:
6
- - [Handler](./Handler.md)
7
- - [MatchBuilder](./MatchBuilder.md)
8
- - [Matcher](./Matcher.md)
9
- - [SyncRefinedResult](./SyncRefinedResult.md)
10
- - [SyncRefinedResultUnion](./SyncRefinedResultUnion.md)
11
- - [SyncValidatorMap](./SyncValidatorMap.md)
12
- - [UniversalAsyncRefinedResult](./UniversalAsyncRefinedResult.md)
13
- - [UniversalRefinedResult](./UniversalRefinedResult.md)
14
- - [VariantOf](./VariantOf.md)
@@ -1,93 +0,0 @@
1
- <svg width="100%" viewBox="0 0 680 390" xmlns="http://www.w3.org/2000/svg" style="background:#ffffff;border-radius:12px">
2
- <defs>
3
- <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker>
4
- <clipPath id="shield"><path d="M340 14 L600 44 L600 190 Q600 296 340 356 Q80 296 80 190 L80 44 Z"/></clipPath>
5
- <mask id="imagine-text-gaps-0cldyt" maskUnits="userSpaceOnUse"><rect x="0" y="0" width="680" height="390" fill="white"/><rect x="270.4906921386719" y="42.63523483276367" width="139.01861572265625" height="13.00137996673584" fill="black" rx="2"/><rect x="233.4303436279297" y="61.221954345703125" width="213.1393280029297" height="73.55609130859375" fill="black" rx="2"/><rect x="269.5253601074219" y="112.63249206542969" width="140.94931030273438" height="54.73503112792969" fill="black" rx="2"/><rect x="218" y="175.2718505859375" width="29.384986877441406" height="15.456297874450684" fill="black" rx="2"/><rect x="302" y="175.2718505859375" width="60.698638916015625" height="15.456297874450684" fill="black" rx="2"/><rect x="376.2344970703125" y="173.63523864746094" width="15.530981540679932" height="18.729525566101074" fill="black" rx="2"/><rect x="406" y="175.2718505859375" width="60.69861602783203" height="15.456297874450684" fill="black" rx="2"/><rect x="293.1283874511719" y="213.22607421875" width="93.95484924316406" height="19.547832489013672" fill="black" rx="2"/><rect x="192.6876983642578" y="269.04437255859375" width="41.80630874633789" height="17.911218643188477" fill="black" rx="2"/><rect x="442.20721435546875" y="269.04437255859375" width="47.585601806640625" height="17.911218643188477" fill="black" rx="2"/><rect x="194.43930053710938" y="299.8169250488281" width="291.1214294433594" height="14.637990951538086" fill="black" rx="2"/><rect x="245.2032012939453" y="328.49932861328125" width="26.096651077270508" height="13.00137710571289" fill="black" rx="2"/><rect x="298.8111877441406" y="328.49932861328125" width="34.377614974975586" height="13.00137710571289" fill="black" rx="2"/><rect x="359.5841064453125" y="328.49932861328125" width="22.519354820251465" height="13.00137710571289" fill="black" rx="2"/><rect x="415.40240478515625" y="328.49932861328125" width="21.701047897338867" height="13.00137710571289" fill="black" rx="2"/><rect x="180.66871643066406" y="357.36199951171875" width="318.6625671386719" height="17.09291172027588" fill="black" rx="2"/></mask></defs>
6
-
7
- <!-- Shield background -->
8
- <path d="M340 14 L600 44 L600 190 Q600 296 340 356 Q80 296 80 190 L80 44 Z" fill="#faf9f5" stroke="#d3d1c7" stroke-width="0.8" style="fill:rgb(250, 249, 245);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
9
-
10
- <!-- Inner accent shield -->
11
- <path d="M340 28 L582 54 L582 186 Q582 286 340 342 Q98 286 98 186 L98 54 Z" fill="none" stroke="#7F77DD" stroke-width="0.4" opacity="0.3" mask="url(#imagine-text-gaps-0cldyt)" style="fill:none;stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
12
-
13
- <!-- Subtle diagonal texture -->
14
- <g clip-path="url(#shield)" opacity="0.02" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.02;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
15
- <line x1="-20" y1="0" x2="280" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
16
- <line x1="80" y1="0" x2="380" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
17
- <line x1="180" y1="0" x2="480" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
18
- <line x1="280" y1="0" x2="580" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
19
- <line x1="380" y1="0" x2="680" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
20
- <line x1="480" y1="0" x2="780" y2="380" stroke="#2C2C2A" stroke-width="34" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
21
- </g>
22
-
23
- <!-- Decorative grid dots -->
24
- <g opacity="0.06" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.06;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
25
- <circle cx="150" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="168" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="186" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
26
- <circle cx="494" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="512" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="530" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
27
- <circle cx="150" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="168" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
28
- <circle cx="512" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="530" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
29
- </g>
30
-
31
- <!-- FROM RUST tagline -->
32
- <text x="340" y="52" text-anchor="middle" style="font-family:ui-monospace,monospace;font-size:8px;letter-spacing:2.5px;opacity:0.4;fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#D85A30">FROM RUST WITH LOVE</text>
33
-
34
- <!-- RESULT -->
35
- <text x="340" y="98" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,-apple-system,sans-serif;font-size:52px;font-weight:600;letter-spacing:5px;fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:system-ui, -apple-system, sans-serif;font-size:52px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#7F77DD">RESULT</text>
36
-
37
- <!-- SAFE -->
38
- <text x="340" y="140" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,-apple-system,sans-serif;font-size:38px;font-weight:600;letter-spacing:12px;fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:system-ui, -apple-system, sans-serif;font-size:38px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#1D9E75">SAFE</text>
39
-
40
- <!-- Divider -->
41
- <line x1="200" y1="162" x2="480" y2="162" stroke="#d3d1c7" stroke-width="0.5" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
42
-
43
- <!-- Language bridge -->
44
- <rect x="196" y="172" width="62" height="22" rx="11" fill="#D85A30" opacity="0.1" stroke="#D85A30" stroke-width="0.4" style="fill:rgb(216, 90, 48);stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
45
- <circle cx="210" cy="183" r="4" fill="none" stroke="#D85A30" stroke-width="0.8" style="fill:none;stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
46
- <circle cx="210" cy="183" r="1.8" fill="#D85A30" opacity="0.3" style="fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
47
- <text x="222" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(153, 60, 29);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#993C1D">Rust</text>
48
-
49
- <line x1="264" y1="183" x2="282" y2="183" stroke="#7F77DD" stroke-width="0.8" marker-end="url(#arrow)" opacity="0.45" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.45;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
50
-
51
- <rect x="290" y="172" width="86" height="22" rx="11" fill="#378ADD" opacity="0.1" stroke="#378ADD" stroke-width="0.4" style="fill:rgb(55, 138, 221);stroke:rgb(55, 138, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
52
- <text x="306" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(24, 95, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#185FA5">TypeScript</text>
53
-
54
- <text x="384" y="183" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,sans-serif;font-size:11px;opacity:0.2;fill:rgb(95, 94, 90);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.2;font-family:system-ui, sans-serif;font-size:11px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#5F5E5A">+</text>
55
-
56
- <rect x="394" y="172" width="84" height="22" rx="11" fill="#EF9F27" opacity="0.1" stroke="#EF9F27" stroke-width="0.4" style="fill:rgb(239, 159, 39);stroke:rgb(239, 159, 39);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
57
- <text x="410" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(133, 79, 11);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#854F0B">JavaScript</text>
58
-
59
- <!-- Result node -->
60
- <rect x="278" y="206" width="124" height="34" rx="8" fill="#EEEDFE" stroke="#AFA9EC" stroke-width="0.5" style="fill:rgb(238, 237, 254);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
61
- <text x="340" y="223" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:13px;font-weight:600;fill:rgb(60, 52, 137);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:13px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#3C3489">Result&lt;T, E&gt;</text>
62
-
63
- <!-- Branch arrows -->
64
- <line x1="308" y1="240" x2="240" y2="262" stroke="#1D9E75" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
65
- <line x1="372" y1="240" x2="440" y2="262" stroke="#E24B4A" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
66
-
67
- <!-- Ok pill -->
68
- <rect x="172" y="264" width="84" height="28" rx="14" fill="#1D9E75" opacity="0.12" stroke="#1D9E75" stroke-width="0.5" style="fill:rgb(29, 158, 117);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.12;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
69
- <text x="214" y="278" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:12px;font-weight:600;fill:rgb(15, 110, 86);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:12px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#0F6E56">Ok&lt;T&gt;</text>
70
-
71
- <!-- Err pill -->
72
- <rect x="424" y="264" width="84" height="28" rx="14" fill="#E24B4A" opacity="0.12" stroke="#E24B4A" stroke-width="0.5" style="fill:rgb(226, 75, 74);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.12;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
73
- <text x="466" y="278" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:12px;font-weight:600;fill:rgb(163, 45, 45);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:12px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#A32D2D">Err&lt;E&gt;</text>
74
-
75
- <!-- Methods -->
76
- <text x="340" y="310" text-anchor="middle" style="font-family:ui-monospace,monospace;font-size:9px;opacity:0.3;letter-spacing:0.5px;fill:rgb(95, 94, 90);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#5F5E5A">.map · .flatMap · .match · .unwrap · .tap · .recover</text>
77
-
78
- <!-- Badges -->
79
- <rect x="234" y="326" width="48" height="18" rx="9" fill="#7F77DD" opacity="0.1" stroke="#7F77DD" stroke-width="0.3" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
80
- <text x="258" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">v1.0</text>
81
-
82
- <rect x="290" y="326" width="52" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
83
- <text x="316" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">0 deps</text>
84
-
85
- <rect x="350" y="326" width="42" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
86
- <text x="371" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">MIT</text>
87
-
88
- <rect x="400" y="326" width="52" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
89
- <text x="426" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">ESM</text>
90
-
91
- <!-- Bottom tagline -->
92
- <text x="340" y="370" text-anchor="middle" style="font-family:system-ui,-apple-system,sans-serif;font-size:10px;letter-spacing:2px;opacity:0.2;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.2;font-family:system-ui, -apple-system, sans-serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#888780">@resultsafe · type-safe functional error handling</text>
93
- </svg>
@@ -1,4 +0,0 @@
1
- {
2
- "label": "Examples",
3
- "position": 1
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "label": "Auth",
3
- "position": 2
4
- }
@@ -1,3 +0,0 @@
1
- # Примеры auth
2
-
3
- Используйте Result для получения валидированных auth-значений.
@@ -1,5 +0,0 @@
1
- # token
2
-
3
- Скрипт: `__examples__/auth/token.js`
4
-
5
- Демонстрирует `map` для преобразования значений токена.
@@ -1,4 +0,0 @@
1
- {
2
- "label": "Connection",
3
- "position": 1
4
- }
@@ -1,5 +0,0 @@
1
- # connect
2
-
3
- Скрипт: `__examples__/connection/connect.js`
4
-
5
- Демонстрирует `Ok` + `andThen` для перехода состояния соединения.
@@ -1,3 +0,0 @@
1
- # Примеры connection
2
-
3
- Используйте утилиты Result для моделирования потоков connect/reconnect.
@@ -1,5 +0,0 @@
1
- # reconnect
2
-
3
- Скрипт: `__examples__/connection/reconnect.js`
4
-
5
- Демонстрирует fallback-сценарий с `Err` + `orElse`.
@@ -1,4 +0,0 @@
1
- {
2
- "label": "Errors",
3
- "position": 4
4
- }
@@ -1,3 +0,0 @@
1
- # Примеры errors
2
-
3
- Используйте fallback-утилиты Result для устойчивой стратегии повторов.
@@ -1,5 +0,0 @@
1
- # retry
2
-
3
- Скрипт: `__examples__/errors/retry.js`
4
-
5
- Демонстрирует генерацию fallback-сообщения через `unwrapOrElse`.
@@ -1,9 +0,0 @@
1
- # Карта примеров
2
-
3
- Пакет предоставляет каноничную реализацию `Result<T, E>` и набор утилит.
4
-
5
- Карта доменов:
6
- - connection: установка соединения и восстановление состояния транспорта
7
- - auth: преобразование Result-значений в заголовки/токены авторизации
8
- - streaming: обработка успешных чанков и отказов
9
- - errors: предсказуемые стратегии повторов и fallback-веток
@@ -1,4 +0,0 @@
1
- {
2
- "label": "Streaming",
3
- "position": 3
4
- }
@@ -1,3 +0,0 @@
1
- # Примеры streaming
2
-
3
- Используйте сопоставление Result для безопасной обработки чанков потока.
@@ -1,5 +0,0 @@
1
- # text
2
-
3
- Скрипт: `__examples__/streaming/text.js`
4
-
5
- Демонстрирует безопасное ветвление форматирования через `match`.
@@ -1 +0,0 @@
1
- {"version":3,"file":"isErrAnd.js","sources":["../../../src/guards/isErrAnd.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from './isErr.js';\n\n/**\n * Проверяет, что `Result` завершился ошибкой и удовлетворяет предикату.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - `Result` для проверки.\n * @param predicate - Предикат, применяемый к значению ошибки.\n * @returns `true` when the value is `Err` and the predicate returns `true`.\n * @since 0.1.0\n * @see {@link isErr} - Performs the base error check.\n * @example\n * ```ts\n * import { Err, isErrAnd } from '@resultsafe/core-fp-result';\n *\n * const result = Err({ code: 503 });\n * console.log(isErrAnd(result, (error) => error.code >= 500)); // true\n * ```\n * @public\n */\nexport const isErrAnd = <T, E>(\n result: Result<T, E>,\n predicate: (error: E) => boolean,\n): boolean => isErr(result) && predicate(result.error);\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,WAAW,wBACtB,QACA,cACY,MAAM,MAAM,KAAK,UAAU,OAAO,KAAK,GAH7B;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"isOkAnd.js","sources":["../../../src/guards/isOkAnd.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from './isOk.js';\n\n/**\n * Проверяет, что `Result` успешен и удовлетворяет предикату.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - `Result` для проверки.\n * @param predicate - Предикат, применяемый к успешному значению.\n * @returns `true` when the value is `Ok` and the predicate returns `true`.\n * @since 0.1.0\n * @see {@link isOk} - Performs the base success check.\n * @example\n * ```ts\n * import { Ok, isOkAnd } from '@resultsafe/core-fp-result';\n *\n * const result = Ok(8);\n * console.log(isOkAnd(result, (value) => value % 2 === 0)); // true\n * ```\n * @public\n */\nexport const isOkAnd = <T, E>(\n result: Result<T, E>,\n predicate: (value: T) => boolean,\n): boolean => isOk(result) && predicate(result.value);\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,UAAU,wBACrB,QACA,cACY,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK,GAH7B;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"andThen.js","sources":["../../../src/methods/andThen.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Цепляет вычисление, которое возвращает другой `Result`.\n *\n * @typeParam T - The input success type.\n * @typeParam U - The output success type.\n * @typeParam E - Общий тип ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция, применяемая, когда `result` имеет `Ok`.\n * @returns Преобразованный `Result` или исходный `Err`.\n * @since 0.1.0\n * @see {@link map} - Преобразует только успешное значение.\n * @example\n * ```ts\n * import { Ok, Err, andThen } from '@resultsafe/core-fp-result';\n *\n * const parsed = andThen(Ok('12'), (value) => {\n * const n = Number(value);\n * return Number.isNaN(n) ? Err('invalid') : Ok(n);\n * });\n * console.log(parsed.ok); // true\n * ```\n * @public\n */\nexport const andThen = <T, U, E>(\n result: Result<T, E>,\n fn: (value: T) => Result<U, E>,\n): Result<U, E> => (isOk(result) ? fn(result.value) : (result as Result<U, E>));\n\r\n\r\n"],"names":[],"mappings":";;;AA2BO,MAAM,UAAU,wBACrB,QACA,OACkB,KAAK,MAAM,IAAI,GAAG,OAAO,KAAK,IAAK,QAHhC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"err.js","sources":["../../../src/methods/err.ts"],"sourcesContent":["import { type Option } from '../shared-types.js';\nimport { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\nimport { None, Some } from '../internal/option.js';\n\n/**\n * Извлекает ветку ошибки в виде `Option`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @returns `Some(error)` для `Err`, иначе `None`.\n * @since 0.1.0\n * @see {@link ok} - Извлекает ветку успеха.\n * @example\n * ```ts\n * import { Err, err } from '@resultsafe/core-fp-result';\n *\n * const value = err(Err('boom'));\n * console.log(value.some); // true\n * ```\n * @public\n */\nexport const err = <T, E>(result: Result<T, E>): Option<E> =>\n isErr(result) ? Some(result.error) : None;\n\r\n\r\n"],"names":[],"mappings":";;;;AAwBO,MAAM,MAAM,wBAAO,WACxB,MAAM,MAAM,IAAI,KAAK,OAAO,KAAK,IAAI,MADpB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"expect.js","sources":["../../../src/methods/expect.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Возвращает успешное значение или выбрасывает исключение с пользовательским сообщением.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param msg - Сообщение об ошибке, используемое когда `result` имеет `Err`.\n * @returns Распакованное успешное значение.\n * @throws Error - Выбрасывает исключение, когда `result` имеет `Err`.\n * @since 0.1.0\n * @see {@link expectErr} - Симметричный helper для ветки ошибки.\n * @example\n * ```ts\n * import { Ok, expect } from '@resultsafe/core-fp-result';\n *\n * const value = expect(Ok(5), 'must be ok');\n * console.log(value); // 5\n * ```\n * @public\n */\nexport const expect = <T, E>(result: Result<T, E>, msg: string): T => {\n if (isOk(result)) {\n return result.value;\n }\n throw new Error(msg);\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAwBO,MAAM,SAAS,wBAAO,QAAsB,QAAmB;AACpE,MAAI,KAAK,MAAM,GAAG;AAChB,WAAO,OAAO;AAAA,EAChB;AACA,QAAM,IAAI,MAAM,GAAG;AACrB,GALsB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"expectErr.js","sources":["../../../src/methods/expectErr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Возвращает значение ошибки или выбрасывает исключение с пользовательским сообщением.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param msg - Сообщение об ошибке, используемое когда `result` имеет `Ok`.\n * @returns Распакованное значение ошибки.\n * @throws Error - Выбрасывает исключение, когда `result` имеет `Ok`.\n * @since 0.1.0\n * @see {@link expect} - Симметричный helper для ветки успеха.\n * @example\n * ```ts\n * import { Err, expectErr } from '@resultsafe/core-fp-result';\n *\n * const error = expectErr(Err('boom'), 'must be err');\n * console.log(error); // boom\n * ```\n * @public\n */\nexport const expectErr = <T, E>(result: Result<T, E>, msg: string): E => {\n if (isErr(result)) {\n return result.error;\n }\n throw new Error(msg);\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAwBO,MAAM,YAAY,wBAAO,QAAsB,QAAmB;AACvE,MAAI,MAAM,MAAM,GAAG;AACjB,WAAO,OAAO;AAAA,EAChB;AACA,QAAM,IAAI,MAAM,GAAG;AACrB,GALyB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspect.js","sources":["../../../src/methods/inspect.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Выполняет побочный эффект для успешного значения и возвращает исходный `Result`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция побочного эффекта для ветки успеха.\n * @returns Тот же экземпляр `Result`.\n * @since 0.1.0\n * @see {@link tap} - Эквивалентный helper для ветки успеха.\n * @example\n * ```ts\n * import { Ok, inspect } from '@resultsafe/core-fp-result';\n *\n * const result = inspect(Ok(1), (value) => console.log(value)); // 1\n * console.log(result.ok); // true\n * ```\n * @public\n */\nexport const inspect = <T, E>(\n result: Result<T, E>,\n fn: (value: T) => void,\n): Result<T, E> => {\n if (isOk(result)) {\n fn(result.value);\n }\n return result;\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,UAAU,wBACrB,QACA,OACiB;AACjB,MAAI,KAAK,MAAM,GAAG;AAChB,OAAG,OAAO,KAAK;AAAA,EACjB;AACA,SAAO;AACT,GARuB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspectErr.js","sources":["../../../src/methods/inspectErr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Выполняет побочный эффект для значения ошибки и возвращает исходный `Result`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция побочного эффекта для ветки ошибки.\n * @returns Тот же экземпляр `Result`.\n * @since 0.1.0\n * @see {@link tapErr} - Эквивалентный helper для ветки ошибки.\n * @example\n * ```ts\n * import { Err, inspectErr } from '@resultsafe/core-fp-result';\n *\n * const result = inspectErr(Err('boom'), (error) => console.log(error)); // boom\n * console.log(result.ok); // false\n * ```\n * @public\n */\nexport const inspectErr = <T, E>(\n result: Result<T, E>,\n fn: (error: E) => void,\n): Result<T, E> => {\n if (isErr(result)) {\n fn(result.error);\n }\n return result;\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,aAAa,wBACxB,QACA,OACiB;AACjB,MAAI,MAAM,MAAM,GAAG;AACjB,OAAG,OAAO,KAAK;AAAA,EACjB;AACA,SAAO;AACT,GAR0B;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"map.js","sources":["../../../src/methods/map.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Преобразует успешное значение, сохраняя ветку ошибки.\n *\n * @typeParam T - Тип входного успешного значения.\n * @typeParam U - Тип выходного успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция преобразования успешного значения.\n * @returns Преобразованный `Ok` или исходный `Err`.\n * @since 0.1.0\n * @see {@link mapErr} - Преобразует ветку ошибки.\n * @example\n * ```ts\n * import { Ok, map } from '@resultsafe/core-fp-result';\n *\n * const result = map(Ok(2), (value) => value * 10);\n * console.log(result.ok); // true\n * ```\n * @public\n */\nexport const map = <T, U, E>(\n result: Result<T, E>,\n fn: (value: T) => U,\n): Result<U, E> =>\n isOk(result)\n ? { ok: true, value: fn(result.value) }\n : (result as Result<U, E>);\n\r\n\r\n"],"names":[],"mappings":";;;AAwBO,MAAM,MAAM,wBACjB,QACA,OAEA,KAAK,MAAM,IACP,EAAE,IAAI,MAAM,OAAO,GAAG,OAAO,KAAK,MACjC,QANY;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapErr.js","sources":["../../../src/methods/mapErr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Преобразует значение ошибки, сохраняя ветку успеха.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип входного значения ошибки.\n * @typeParam F - Тип выходного значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция преобразования значения ошибки.\n * @returns Преобразованный `Err` или исходный `Ok`.\n * @since 0.1.0\n * @see {@link map} - Transforms the success branch.\n * @example\n * ```ts\n * import { Err, mapErr } from '@resultsafe/core-fp-result';\n *\n * const result = mapErr(Err('e1'), (error) => `mapped:${error}`);\n * console.log(result.ok); // false\n * ```\n * @public\n */\nexport const mapErr = <T, E, F>(\n result: Result<T, E>,\n fn: (error: E) => F,\n): Result<T, F> =>\n isErr(result)\n ? { ok: false, error: fn(result.error) }\n : (result as Result<T, F>);\n\r\n\r\n"],"names":[],"mappings":";;;AAwBO,MAAM,SAAS,wBACpB,QACA,OAEA,MAAM,MAAM,IACR,EAAE,IAAI,OAAO,OAAO,GAAG,OAAO,KAAK,MAClC,QANe;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ok.js","sources":["../../../src/methods/ok.ts"],"sourcesContent":["import { type Option } from '../shared-types.js';\nimport { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\nimport { None, Some } from '../internal/option.js';\n\n/**\n * Извлекает успешную ветку в виде `Option`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @returns `Some(value)` для `Ok`, иначе `None`.\n * @since 0.1.0\n * @see {@link err} - Извлекает ветку ошибки.\n * @example\n * ```ts\n * import { Ok, ok } from '@resultsafe/core-fp-result';\n *\n * const value = ok(Ok(10));\n * console.log(value.some); // true\n * ```\n * @public\n */\nexport const ok = <T, E>(result: Result<T, E>): Option<T> =>\n isOk(result) ? Some(result.value) : None;\n\r\n\r\n"],"names":[],"mappings":";;;;AAwBO,MAAM,KAAK,wBAAO,WACvB,KAAK,MAAM,IAAI,KAAK,OAAO,KAAK,IAAI,MADpB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"orElse.js","sources":["../../../src/methods/orElse.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Восстанавливается из ошибки, преобразуя `Err` в другой `Result`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип входного значения ошибки.\n * @typeParam F - Тип выходного значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Функция восстановления, применяемая для `Err`.\n * @returns Восстановленный `Result` или исходный `Ok`.\n * @since 0.1.0\n * @see {@link andThen} - Цепляет ветку успеха.\n * @example\n * ```ts\n * import { Err, Ok, orElse } from '@resultsafe/core-fp-result';\n *\n * const result = orElse(Err('network'), () => Ok('cached'));\n * console.log(result.ok); // true\n * ```\n * @public\n */\nexport const orElse = <T, E, F>(\n result: Result<T, E>,\n fn: (error: E) => Result<T, F>,\n): Result<T, F> =>\n isErr(result) ? fn(result.error) : (result as Result<T, F>);\n\r\n\r\n"],"names":[],"mappings":";;;AAwBO,MAAM,SAAS,wBACpB,QACA,OAEA,MAAM,MAAM,IAAI,GAAG,OAAO,KAAK,IAAK,QAJhB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tapErr.js","sources":["../../../src/methods/tapErr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Выполняет побочный эффект для значения `Err` и возвращает входной `Result`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param fn - Колбэк побочного эффекта для ветки ошибки.\n * @returns Неизмененный `Result`.\n * @since 0.1.0\n * @see {@link tap} - Executes a side effect for the success branch.\n * @example\n * ```ts\n * import { Err, tapErr } from '@resultsafe/core-fp-result';\n *\n * const result = tapErr(Err('boom'), (error) => console.log(error)); // boom\n * console.log(result.ok); // false\n * ```\n * @public\n */\nexport const tapErr = <T, E>(\n result: Result<T, E>,\n fn: (error: E) => void,\n): Result<T, E> => {\n if (isErr(result)) {\n fn(result.error);\n }\n return result;\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,SAAS,wBACpB,QACA,OACiB;AACjB,MAAI,MAAM,MAAM,GAAG;AACjB,OAAG,OAAO,KAAK;AAAA,EACjB;AACA,SAAO;AACT,GARsB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transpose.js","sources":["../../../src/methods/transpose.ts"],"sourcesContent":["import { type Option } from '../shared-types.js';\nimport { type Result } from '../shared-types.js';\n\nimport { None, Some } from '../internal/option.js';\n\n/**\n * Преобразует `Result<Option<T>, E>` в `Option<Result<T, E>>`.\n *\n * @typeParam T - The success value type inside `Option`.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`, содержащий `Option`.\n * @returns Транспонированный `Option<Result<T, E>>`.\n * @since 0.1.0\n * @see {@link flatten} - Collapses nested `Result` values.\n * @example\n * ```ts\n * import { Ok, transpose } from '@resultsafe/core-fp-result';\n *\n * const value = transpose(Ok({ some: true, value: 2 }));\n * console.log(value.some); // true\n * ```\n * @public\n */\nexport const transpose = <T, E>(\n result: Result<Option<T>, E>,\n): Option<Result<T, E>> => {\n if (result.ok) {\n return result.value.some === true\n ? Some({ ok: true, value: result.value.value })\n : None;\n }\n return Some({ ok: false, error: result.error });\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,YAAY,wBACvB,WACyB;AACzB,MAAI,OAAO,IAAI;AACb,WAAO,OAAO,MAAM,SAAS,OACzB,KAAK,EAAE,IAAI,MAAM,OAAO,OAAO,MAAM,MAAA,CAAO,IAC5C;AAAA,EACN;AACA,SAAO,KAAK,EAAE,IAAI,OAAO,OAAO,OAAO,OAAO;AAChD,GATyB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unwrap.js","sources":["../../../src/methods/unwrap.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Возвращает успешное значение или выбрасывает исключение, если результат `Err`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @returns Payload успеха.\n * @throws Error - Выбрасывает исключение при вызове на `Err`.\n * @since 0.1.0\n * @see {@link unwrapOr} - Возвращает fallback вместо выброса исключения.\n * @example\n * ```ts\n * import { Ok, unwrap } from '@resultsafe/core-fp-result';\n *\n * const value = unwrap(Ok(9));\n * console.log(value); // 9\n * ```\n * @public\n */\nexport const unwrap = <T, E>(result: Result<T, E>): T => {\n if (isOk(result)) {\n return result.value;\n }\n throw new Error('Called unwrap on an Err value');\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,SAAS,wBAAO,WAA4B;AACvD,MAAI,KAAK,MAAM,GAAG;AAChB,WAAO,OAAO;AAAA,EAChB;AACA,QAAM,IAAI,MAAM,+BAA+B;AACjD,GALsB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unwrapErr.js","sources":["../../../src/methods/unwrapErr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isErr } from '../guards/isErr.js';\n\n/**\n * Возвращает значение ошибки или выбрасывает исключение, если результат `Ok`.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @returns Payload ошибки.\n * @throws Error - Выбрасывает исключение при вызове на `Ok`.\n * @since 0.1.0\n * @see {@link unwrapOrElse} - Возвращает fallback успеха без выброса исключения.\n * @example\n * ```ts\n * import { Err, unwrapErr } from '@resultsafe/core-fp-result';\n *\n * const error = unwrapErr(Err('boom'));\n * console.log(error); // boom\n * ```\n * @public\n */\nexport const unwrapErr = <T, E>(result: Result<T, E>): E => {\n if (isErr(result)) {\n return result.error;\n }\n throw new Error('Called unwrapErr on an Ok value');\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,YAAY,wBAAO,WAA4B;AAC1D,MAAI,MAAM,MAAM,GAAG;AACjB,WAAO,OAAO;AAAA,EAChB;AACA,QAAM,IAAI,MAAM,iCAAiC;AACnD,GALyB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unwrapOr.js","sources":["../../../src/methods/unwrapOr.ts"],"sourcesContent":["import { type Result } from '../shared-types.js';\n\nimport { isOk } from '../guards/isOk.js';\n\n/**\n * Возвращает успешное значение или переданный fallback по умолчанию.\n *\n * @typeParam T - Тип успешного значения.\n * @typeParam E - Тип значения ошибки.\n * @param result - Исходный `Result`.\n * @param defaultValue - Fallback-значение для `Err`.\n * @returns Payload успеха или `defaultValue`.\n * @since 0.1.0\n * @see {@link unwrapOrElse} - Вычисляет fallback лениво.\n * @example\n * ```ts\n * import { Err, unwrapOr } from '@resultsafe/core-fp-result';\n *\n * const value = unwrapOr(Err('boom'), 0);\n * console.log(value); // 0\n * ```\n * @public\n */\nexport const unwrapOr = <T, E>(result: Result<T, E>, defaultValue: T): T =>\n isOk(result) ? result.value : defaultValue;\n\r\n\r\n"],"names":[],"mappings":";;;AAuBO,MAAM,WAAW,wBAAO,QAAsB,iBACnD,KAAK,MAAM,IAAI,OAAO,QAAQ,cADR;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"refineAsyncResult.js","sources":["../../../src/refiners/refineAsyncResult.ts"],"sourcesContent":["import type {\n AsyncValidatorFn,\n PayloadKeys,\n VariantConfig,\n} from '../shared-types.js';\n\nimport { hasOwn, isObject } from '../internal/object.js';\nimport type { UniversalAsyncRefinedResult } from './types/index.js';\n\n/** Resolves payload keys from variant configuration. @internal */\nconst getPayloadKeys = <C extends VariantConfig>(\n config: C,\n): readonly PayloadKeys<C>[] => {\n const p = config.payload;\n if (p === 'never') return [];\n return (Array.isArray(p) ? p : [p]) as readonly PayloadKeys<C>[];\n};\n\n/**\n * Создает асинхронный refiner варианта с асинхронными валидаторами payload.\n *\n * @typeParam TMap - Тип карты конфигурации вариантов.\n * @param variantMap - Карта, описывающая допустимые варианты и поля payload.\n * @returns A curried async refiner factory bound to `variantMap`.\n * @since 0.1.0\n * @see {@link refineAsyncResultU} - Непосредственный (не-curry) вариант helper.\n * @example\n * ```ts\n * import { refineAsyncResult } from '@resultsafe/core-fp-result';\n *\n * const map = { ok: { payload: 'value' } } as const;\n * const refineOk = refineAsyncResult(map)('ok')({\n * value: async (x: unknown) => typeof x === 'number',\n * });\n *\n * console.log(await refineOk({ type: 'ok', value: 1 })); // { type: 'ok', value: 1 }\n * ```\n * @public\n */\nexport const refineAsyncResult =\n <TMap extends Record<string, VariantConfig>>(variantMap: TMap) =>\n <K extends keyof TMap & string>(variant: K) =>\n <TValidators extends Partial<Record<PayloadKeys<TMap[K]>, AsyncValidatorFn>>>(\n validators: TValidators,\n ) =>\n async (\n value: unknown,\n ): Promise<UniversalAsyncRefinedResult<K, TMap, TValidators> | null> => {\n if (!isObject(value)) return null;\n if (!hasOwn(value, 'type')) return null;\n\n const t = value['type'];\n if (t !== variant) return null;\n\n const config = variantMap[variant];\n if (!config) return null;\n\n const keys = getPayloadKeys(config);\n for (const key of keys) {\n const check = validators?.[key];\n if (!check) continue;\n\n const field = value[key as keyof typeof value];\n const isValid = await check(field); // ✅ Асинхронная валидация\n if (!isValid) return null;\n }\n\n return value as UniversalAsyncRefinedResult<K, TMap, TValidators>;\n };\n\n/**\n * Уточняет значение асинхронно в не-curry стиле вызова.\n *\n * @typeParam TMap - Тип карты конфигурации вариантов.\n * @typeParam K - Ключ целевого варианта.\n * @typeParam TValidators - Карта асинхронных валидаторов для полей payload.\n * @param value - Значение для валидации и уточнения.\n * @param variant - Ключ целевого варианта.\n * @param variantMap - Карта конфигурации вариантов.\n * @param validators - Асинхронные валидаторы payload.\n * @returns Промис с уточненным значением или `null`.\n * @remarks\n * This export is kept for compatibility. Prefer {@link refineAsyncResultU}\n * from `refineAsyncResultU.ts` как каноническую точку входа без curry.\n * @since 0.1.0\n * @example\n * ```ts\n * import { refineAsyncResultU } from '@resultsafe/core-fp-result/src/refiners/refineAsyncResult.js';\n *\n * const map = { ok: { payload: 'value' } } as const;\n * const out = await refineAsyncResultU({ type: 'ok', value: 1 }, 'ok', map, {\n * value: async (x: unknown) => typeof x === 'number',\n * });\n *\n * console.log(out?.type); // ok\n * ```\n * @internal\n */\nexport const refineAsyncResultU = <\n TMap extends Record<string, VariantConfig>,\n K extends keyof TMap & string,\n TValidators extends Partial<Record<PayloadKeys<TMap[K]>, AsyncValidatorFn>>,\n>(\n value: unknown,\n variant: K,\n variantMap: TMap,\n validators: TValidators,\n): Promise<UniversalAsyncRefinedResult<K, TMap, TValidators> | null> =>\n refineAsyncResult(variantMap)(variant)(validators)(value);\n\r\n\r\n"],"names":[],"mappings":";;;AAUA,MAAM,iBAAiB,wBACrB,WAC8B;AAC9B,QAAM,IAAI,OAAO;AACjB,MAAI,MAAM,QAAS,QAAO,CAAA;AAC1B,SAAQ,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;AACnC,GANuB;AA6BhB,MAAM,oBACX,wBAA6C,eAC7C,CAAgC,YAChC,CACE,eAEF,OACE,UACsE;AACtE,MAAI,CAAC,SAAS,KAAK,EAAG,QAAO;AAC7B,MAAI,CAAC,OAAO,OAAO,MAAM,EAAG,QAAO;AAEnC,QAAM,IAAI,MAAM,MAAM;AACtB,MAAI,MAAM,QAAS,QAAO;AAE1B,QAAM,SAAS,WAAW,OAAO;AACjC,MAAI,CAAC,OAAQ,QAAO;AAEpB,QAAM,OAAO,eAAe,MAAM;AAClC,aAAW,OAAO,MAAM;AACtB,UAAM,QAAQ,aAAa,GAAG;AAC9B,QAAI,CAAC,MAAO;AAEZ,UAAM,QAAQ,MAAM,GAAyB;AAC7C,UAAM,UAAU,MAAM,MAAM,KAAK;AACjC,QAAI,CAAC,QAAS,QAAO;AAAA,EACvB;AAEA,SAAO;AACT,GA5BA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"refineAsyncResultU.js","sources":["../../../src/refiners/refineAsyncResultU.ts"],"sourcesContent":["import type {\n AsyncValidatorFn,\n PayloadKeys,\n VariantConfig,\n} from '../shared-types.js';\n\nimport { hasOwn, isObject } from '../internal/object.js';\nimport type { UniversalAsyncRefinedResult } from './types/index.js';\n\n/** Resolves payload keys from variant configuration. @internal */\nconst getPayloadKeys = <C extends VariantConfig>(\n config: C,\n): readonly PayloadKeys<C>[] => {\n const p = config.payload;\n if (p === 'never') return [];\n return (Array.isArray(p) ? p : [p]) as readonly PayloadKeys<C>[];\n};\n\n/**\n * Уточняет значение асинхронно в не-curry стиле вызова.\n *\n * @typeParam TMap - Тип карты конфигурации вариантов.\n * @typeParam K - Ключ целевого варианта.\n * @typeParam TValidators - Карта асинхронных валидаторов для полей payload.\n * @param value - Значение для валидации и уточнения.\n * @param variant - Ключ целевого варианта.\n * @param variantMap - Карта конфигурации вариантов.\n * @param validators - Асинхронные валидаторы payload.\n * @returns Промис с уточненным значением или `null`.\n * @since 0.1.0\n * @see {@link refineAsyncResult} - Curry-конструктор асинхронного refiner.\n * @example\n * ```ts\n * import { refineAsyncResultU } from '@resultsafe/core-fp-result';\n *\n * const map = { ok: { payload: 'value' } } as const;\n * const out = await refineAsyncResultU({ type: 'ok', value: 1 }, 'ok', map, {\n * value: async (x: unknown) => typeof x === 'number',\n * });\n *\n * console.log(out?.type); // ok\n * ```\n * @public\n */\nexport const refineAsyncResultU = <\n TMap extends Record<string, VariantConfig>,\n K extends keyof TMap & string,\n TValidators extends Partial<Record<PayloadKeys<TMap[K]>, AsyncValidatorFn>>,\n>(\n value: unknown,\n variant: K,\n variantMap: TMap,\n validators: TValidators,\n): Promise<UniversalAsyncRefinedResult<K, TMap, TValidators> | null> => {\n // Императивный стиль с early returns (как в Rust)\n return (async () => {\n // Rust-style early returns с Option-like поведением\n if (!isObject(value)) return null;\n if (!hasOwn(value, 'type')) return null;\n\n const t = value['type'];\n if (t !== variant) return null;\n\n const config = variantMap[variant];\n if (!config) return null;\n\n // Payload validation с асинхронными валидаторами\n const keys = getPayloadKeys(config);\n for (const key of keys) {\n const check = validators[key as keyof TValidators];\n if (!check) continue;\n\n const field = value[key as string];\n // Type-safe async validation\n const isValid = await (check as AsyncValidatorFn)(field);\n if (!isValid) return null;\n }\n\n // Safe cast после всех проверок\n return value as UniversalAsyncRefinedResult<K, TMap, TValidators>;\n })();\n};\n\r\n\r\n"],"names":[],"mappings":";;;AAUA,MAAM,iBAAiB,wBACrB,WAC8B;AAC9B,QAAM,IAAI,OAAO;AACjB,MAAI,MAAM,QAAS,QAAO,CAAA;AAC1B,SAAQ,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;AACnC,GANuB;AAkChB,MAAM,qBAAqB,wBAKhC,OACA,SACA,YACA,eACsE;AAEtE,UAAQ,YAAY;AAElB,QAAI,CAAC,SAAS,KAAK,EAAG,QAAO;AAC7B,QAAI,CAAC,OAAO,OAAO,MAAM,EAAG,QAAO;AAEnC,UAAM,IAAI,MAAM,MAAM;AACtB,QAAI,MAAM,QAAS,QAAO;AAE1B,UAAM,SAAS,WAAW,OAAO;AACjC,QAAI,CAAC,OAAQ,QAAO;AAGpB,UAAM,OAAO,eAAe,MAAM;AAClC,eAAW,OAAO,MAAM;AACtB,YAAM,QAAQ,WAAW,GAAwB;AACjD,UAAI,CAAC,MAAO;AAEZ,YAAM,QAAQ,MAAM,GAAa;AAEjC,YAAM,UAAU,MAAO,MAA2B,KAAK;AACvD,UAAI,CAAC,QAAS,QAAO;AAAA,IACvB;AAGA,WAAO;AAAA,EACT,GAAA;AACF,GArCkC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"refineResult.js","sources":["../../../src/refiners/refineResult.ts"],"sourcesContent":["import type {\n PayloadKeys,\n ValidatorFn,\n VariantConfig,\n} from '../shared-types.js';\n\nimport { hasOwn, isObject } from '../internal/object.js';\nimport type { UniversalRefinedResult } from './types/index.js';\nimport { getPayloadKeys } from './utils/index.js';\n\n/**\n * Создает синхронный refiner варианта с валидаторами payload.\n *\n * @typeParam TMap - Тип карты конфигурации вариантов.\n * @param variantMap - Карта, описывающая допустимые варианты и поля payload.\n * @returns A curried refiner factory bound to `variantMap`.\n * @since 0.1.0\n * @see {@link refineResultU} - Непосредственный (не-curry) вариант helper.\n * @example\n * ```ts\n * import { refineResult } from '@resultsafe/core-fp-result';\n *\n * const map = { ok: { payload: 'value' } } as const;\n * const refineOk = refineResult(map)('ok')({\n * value: (x: unknown): x is number => typeof x === 'number',\n * });\n *\n * console.log(refineOk({ type: 'ok', value: 1 })); // { type: 'ok', value: 1 }\n * ```\n * @public\n */\nexport const refineResult =\n <TMap extends Record<string, VariantConfig>>(variantMap: TMap) =>\n <K extends keyof TMap & string>(variant: K) =>\n <TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>>(\n validators: TValidators,\n ) =>\n (value: unknown): UniversalRefinedResult<K, TMap, TValidators> | null => {\n if (!isObject(value)) return null;\n if (!hasOwn(value, 'type')) return null;\n\n const t = value['type'];\n if (t !== variant) return null;\n\n const config = variantMap[variant];\n if (!config) return null;\n\n const keys = getPayloadKeys(config);\n for (const key of keys) {\n const check = validators?.[key];\n if (!check) continue;\n\n const field = value[key as keyof typeof value];\n if (!check(field)) return null;\n }\n\n return value as UniversalRefinedResult<K, TMap, TValidators>;\n };\n\n/**\n * Уточняет значение по карте вариантов в не-curry стиле вызова.\n *\n * @typeParam TMap - Тип карты конфигурации вариантов.\n * @typeParam K - Ключ целевого варианта.\n * @typeParam TValidators - Карта валидаторов для полей payload.\n * @param value - Значение для валидации и уточнения.\n * @param variant - Ключ целевого варианта.\n * @param variantMap - Карта конфигурации вариантов.\n * @param validators - Валидаторы payload для целевого варианта.\n * @returns Уточненное значение или `null`.\n * @remarks\n * Этот экспорт сохранен для совместимости. Предпочитайте {@link refineResultU} из\n * `refineResultU.ts` как каноническую точку входа без curry.\n * @since 0.1.0\n * @example\n * ```ts\n * import { refineResultU } from '@resultsafe/core-fp-result/src/refiners/refineResult.js';\n *\n * const map = { ok: { payload: 'value' } } as const;\n * const out = refineResultU({ type: 'ok', value: 1 }, 'ok', map, {\n * value: (x: unknown): x is number => typeof x === 'number',\n * });\n *\n * console.log(out?.type); // ok\n * ```\n * @internal\n */\nexport const refineResultU = <\n TMap extends Record<string, VariantConfig>,\n K extends keyof TMap & string,\n TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>,\n>(\n value: unknown,\n variant: K,\n variantMap: TMap,\n validators: TValidators,\n): UniversalRefinedResult<K, TMap, TValidators> | null =>\n refineResult(variantMap)(variant)(validators)(value);\n\r\n\r\n"],"names":[],"mappings":";;;;AA+BO,MAAM,eACX,wBAA6C,eAC7C,CAAgC,YAChC,CACE,eAEF,CAAC,UAAwE;AACvE,MAAI,CAAC,SAAS,KAAK,EAAG,QAAO;AAC7B,MAAI,CAAC,OAAO,OAAO,MAAM,EAAG,QAAO;AAEnC,QAAM,IAAI,MAAM,MAAM;AACtB,MAAI,MAAM,QAAS,QAAO;AAE1B,QAAM,SAAS,WAAW,OAAO;AACjC,MAAI,CAAC,OAAQ,QAAO;AAEpB,QAAM,OAAO,eAAe,MAAM;AAClC,aAAW,OAAO,MAAM;AACtB,UAAM,QAAQ,aAAa,GAAG;AAC9B,QAAI,CAAC,MAAO;AAEZ,UAAM,QAAQ,MAAM,GAAyB;AAC7C,QAAI,CAAC,MAAM,KAAK,EAAG,QAAO;AAAA,EAC5B;AAEA,SAAO;AACT,GAzBA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"refineResultU.js","sources":["../../../src/refiners/refineResultU.ts"],"sourcesContent":["import type {\n PayloadKeys,\n ValidatorFn,\n VariantConfig,\n} from '../shared-types.js';\n\nimport { refineResult } from './refineResult.js';\nimport type { SyncRefinedResult } from './types/index.js';\n\n/**\n * Уточняет значение по карте вариантов в не-curry стиле вызова.\n *\n * @typeParam TMap - Тип карты конфигурации вариантов.\n * @typeParam K - Ключ целевого варианта.\n * @typeParam TValidators - Карта валидаторов для полей payload.\n * @param value - Значение для валидации и уточнения.\n * @param variant - Ключ целевого варианта.\n * @param variantMap - Карта конфигурации вариантов.\n * @param validators - Валидаторы payload для целевого варианта.\n * @returns Уточненное значение или `null`.\n * @since 0.1.0\n * @see {@link refineResult} - Curry-конструктор refiner.\n * @example\n * ```ts\n * import { refineResultU } from '@resultsafe/core-fp-result';\n *\n * const map = { ok: { payload: 'value' } } as const;\n * const out = refineResultU({ type: 'ok', value: 1 }, 'ok', map, {\n * value: (x: unknown): x is number => typeof x === 'number',\n * });\n *\n * console.log(out?.type); // ok\n * ```\n * @public\n */\nexport const refineResultU = <\n TMap extends Record<string, VariantConfig>,\n K extends keyof TMap & string,\n TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>,\n>(\n value: unknown,\n variant: K,\n variantMap: TMap,\n validators: TValidators,\n): SyncRefinedResult<K, TMap, TValidators> | null =>\n refineResult(variantMap)(variant)(validators)(value);\n\r\n\r\n"],"names":[],"mappings":";;;AAmCO,MAAM,gBAAgB,wBAK3B,OACA,SACA,YACA,eAEA,aAAa,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,GAVxB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"refineVariantMap.js","sources":["../../../src/refiners/refineVariantMap.ts"],"sourcesContent":["import type {\n PayloadKeys,\n ValidatorFn,\n VariantConfig,\n} from '../shared-types.js';\n\nimport type { SyncRefinedResultUnion } from './types/SyncRefinedResultUnion.js';\nimport type { SyncValidatorMap } from './types/SyncValidatorMap.js';\n\n/**\n * Уточняет значение дискриминированного объединения по полной карте вариантов.\n *\n * @typeParam TMap - Тип карты конфигурации вариантов.\n * @typeParam TValidators - Тип карты валидаторов по вариантам.\n * @param value - Значение для валидации и уточнения.\n * @param variantMap - Полная карта конфигурации вариантов.\n * @param validators - Валидаторы, сгруппированные по ключу варианта.\n * @returns Уточненный элемент объединения или `null`.\n * @since 0.1.0\n * @see {@link refineResult} - Refines one concrete variant key.\n * @example\n * ```ts\n * import { refineVariantMap } from '@resultsafe/core-fp-result';\n *\n * const map = {\n * created: { payload: 'id' },\n * failed: { payload: 'reason' },\n * } as const;\n *\n * const out = refineVariantMap({ type: 'created', id: '1' }, map, {\n * created: { id: (x: unknown): x is string => typeof x === 'string' },\n * failed: { reason: (x: unknown): x is string => typeof x === 'string' },\n * });\n *\n * console.log(out?.type); // created\n * ```\n * @public\n */\nexport function refineVariantMap<\n TMap extends Record<string, VariantConfig>,\n TValidators extends SyncValidatorMap<TMap>,\n>(\n value: unknown,\n variantMap: TMap,\n validators: TValidators,\n): SyncRefinedResultUnion<TMap, TValidators> | null {\n if (typeof value !== 'object' || value === null || !('type' in value)) {\n return null;\n }\n\n const rawType = (value as { type?: unknown }).type;\n if (typeof rawType !== 'string' || !(rawType in variantMap)) return null;\n\n // фиксируем конкретный ключ варианта\n type K = Extract<keyof TMap, string>;\n const k = rawType as K;\n\n const config = variantMap[k];\n if (!config) return null;\n\n // ключи payload для конкретного K\n const payload = config.payload;\n const keys = (\n payload === 'never' ? [] : Array.isArray(payload) ? payload : [payload]\n ) as readonly PayloadKeys<TMap[typeof k]>[];\n\n // валидаторы, согласованные с конкретным K\n const vvs = validators[k] as\n | Partial<Record<PayloadKeys<TMap[typeof k]>, ValidatorFn>>\n | undefined;\n\n if (vvs) {\n const obj = value as Record<string, unknown>;\n for (const key of keys) {\n const check = vvs[key];\n if (!check) continue;\n if (!check(obj[key as string])) return null;\n }\n }\n\n return value as SyncRefinedResultUnion<TMap, TValidators>;\n}\n\r\n\r\n"],"names":[],"mappings":";;AAsCO,SAAS,iBAId,OACA,YACA,YACkD;AAClD,MAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,EAAE,UAAU,QAAQ;AACrE,WAAO;AAAA,EACT;AAEA,QAAM,UAAW,MAA6B;AAC9C,MAAI,OAAO,YAAY,YAAY,EAAE,WAAW,YAAa,QAAO;AAIpE,QAAM,IAAI;AAEV,QAAM,SAAS,WAAW,CAAC;AAC3B,MAAI,CAAC,OAAQ,QAAO;AAGpB,QAAM,UAAU,OAAO;AACvB,QAAM,OACJ,YAAY,UAAU,KAAK,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAIxE,QAAM,MAAM,WAAW,CAAC;AAIxB,MAAI,KAAK;AACP,UAAM,MAAM;AACZ,eAAW,OAAO,MAAM;AACtB,YAAM,QAAQ,IAAI,GAAG;AACrB,UAAI,CAAC,MAAO;AACZ,UAAI,CAAC,MAAM,IAAI,GAAa,CAAC,EAAG,QAAO;AAAA,IACzC;AAAA,EACF;AAEA,SAAO;AACT;AA3CgB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getPayloadKeys.js","sources":["../../../../src/refiners/utils/getPayloadKeys.ts"],"sourcesContent":["import type {\n PayloadKeys,\n VariantConfig,\n} from '../../shared-types.js';\n\n/**\n * Нормализует конфигурацию payload варианта в список ключей.\n *\n * @typeParam C - Тип конфигурации варианта.\n * @param config - Конфигурация варианта с определением payload.\n * @returns Ключи payload как readonly-массив.\n * @since 0.1.0\n * @example\n * ```ts\n * import { getPayloadKeys } from '@resultsafe/core-fp-result/src/refiners/utils/getPayloadKeys.js';\n *\n * const keys = getPayloadKeys({ payload: ['id', 'meta'] } as const);\n * console.log(keys.length); // 2\n * ```\n * @internal\n */\nexport const getPayloadKeys = <C extends VariantConfig>(\n config: C,\n): readonly PayloadKeys<C>[] => {\n const p = config.payload;\n if (p === 'never') return [];\n return (Array.isArray(p) ? p : [p]) as readonly PayloadKeys<C>[];\n};\n\r\n\r\n"],"names":[],"mappings":";;AAqBO,MAAM,iBAAiB,wBAC5B,WAC8B;AAC9B,QAAM,IAAI,OAAO;AACjB,MAAI,MAAM,QAAS,QAAO,CAAA;AAC1B,SAAQ,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;AACnC,GAN8B;"}
package/dist/package.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "name": "@resultsafe/core-fp-result",
3
- "version": "0.1.6",
4
- "type": "module",
5
- "sideEffects": false,
6
- "main": "./cjs/index.js",
7
- "module": "./esm/index.js",
8
- "browser": "./umd/resultsafe-monorepo-core-fp-result.umd.js",
9
- "types": "./types/index.d.ts",
10
- "exports": {
11
- ".": {
12
- "types": "./types/index.d.ts",
13
- "import": "./esm/index.js",
14
- "require": "./cjs/index.js"
15
- },
16
- "./Ok": {
17
- "types": "./types/constructors/Ok.d.ts",
18
- "import": "./esm/constructors/Ok.js",
19
- "require": "./cjs/constructors/Ok.js"
20
- },
21
- "./Err": {
22
- "types": "./types/constructors/Err.d.ts",
23
- "import": "./esm/constructors/Err.js",
24
- "require": "./cjs/constructors/Err.js"
25
- }
26
- },
27
- "files": [
28
- "cjs",
29
- "esm",
30
- "types",
31
- "umd",
32
- "docs",
33
- "README.md",
34
- "README.ru.md",
35
- "LICENSE"
36
- ]
37
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../../src/methods/expect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM,KAAG,CAKhE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"expectErr.d.ts","sourceRoot":"","sources":["../../../src/methods/expectErr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM,KAAG,CAKnE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unwrap.d.ts","sourceRoot":"","sources":["../../../src/methods/unwrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAKnD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unwrapErr.d.ts","sourceRoot":"","sources":["../../../src/methods/unwrapErr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAKtD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unwrapOr.d.ts","sourceRoot":"","sources":["../../../src/methods/unwrapOr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,KAAG,CAC3B,CAAC"}