@resultsafe/core-fp-result 0.1.10 → 0.2.1

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 (166) hide show
  1. package/README.md +355 -305
  2. package/cjs/constructors/Err.js.map +1 -1
  3. package/cjs/constructors/Ok.js.map +1 -1
  4. package/cjs/guards/isErr.js.map +1 -1
  5. package/cjs/guards/isErrAnd.js.map +1 -1
  6. package/cjs/guards/isOk.js.map +1 -1
  7. package/cjs/guards/isOkAnd.js.map +1 -1
  8. package/cjs/methods/andThen.js.map +1 -1
  9. package/cjs/methods/err.js.map +1 -1
  10. package/cjs/methods/expect.js.map +1 -1
  11. package/cjs/methods/expectErr.js.map +1 -1
  12. package/cjs/methods/flatten.js.map +1 -1
  13. package/cjs/methods/inspect.js.map +1 -1
  14. package/cjs/methods/inspectErr.js.map +1 -1
  15. package/cjs/methods/map.js.map +1 -1
  16. package/cjs/methods/mapErr.js.map +1 -1
  17. package/cjs/methods/match.js.map +1 -1
  18. package/cjs/methods/ok.js.map +1 -1
  19. package/cjs/methods/orElse.js.map +1 -1
  20. package/cjs/methods/tap.js.map +1 -1
  21. package/cjs/methods/tapErr.js.map +1 -1
  22. package/cjs/methods/transpose.js.map +1 -1
  23. package/cjs/methods/unwrap.js.map +1 -1
  24. package/cjs/methods/unwrapErr.js.map +1 -1
  25. package/cjs/methods/unwrapOr.js.map +1 -1
  26. package/cjs/methods/unwrapOrElse.js.map +1 -1
  27. package/cjs/refiners/isTypedVariant.js.map +1 -1
  28. package/cjs/refiners/isTypedVariantOf.js.map +1 -1
  29. package/cjs/refiners/matchVariant.js.map +1 -1
  30. package/cjs/refiners/matchVariantStrict.js.map +1 -1
  31. package/cjs/refiners/refineAsyncResult.js.map +1 -1
  32. package/cjs/refiners/refineAsyncResultU.js.map +1 -1
  33. package/cjs/refiners/refineResult.js.map +1 -1
  34. package/cjs/refiners/refineResultU.js.map +1 -1
  35. package/cjs/refiners/refineVariantMap.js.map +1 -1
  36. package/cjs/refiners/utils/getPayloadKeys.js.map +1 -1
  37. package/docs/assets/logo.svg +0 -0
  38. package/esm/constructors/Err.js.map +1 -1
  39. package/esm/constructors/Ok.js.map +1 -1
  40. package/esm/guards/isErr.js.map +1 -1
  41. package/esm/guards/isErrAnd.js.map +1 -1
  42. package/esm/guards/isOk.js.map +1 -1
  43. package/esm/guards/isOkAnd.js.map +1 -1
  44. package/esm/methods/andThen.js.map +1 -1
  45. package/esm/methods/err.js.map +1 -1
  46. package/esm/methods/expect.js.map +1 -1
  47. package/esm/methods/expectErr.js.map +1 -1
  48. package/esm/methods/flatten.js.map +1 -1
  49. package/esm/methods/inspect.js.map +1 -1
  50. package/esm/methods/inspectErr.js.map +1 -1
  51. package/esm/methods/map.js.map +1 -1
  52. package/esm/methods/mapErr.js.map +1 -1
  53. package/esm/methods/match.js.map +1 -1
  54. package/esm/methods/ok.js.map +1 -1
  55. package/esm/methods/orElse.js.map +1 -1
  56. package/esm/methods/tap.js.map +1 -1
  57. package/esm/methods/tapErr.js.map +1 -1
  58. package/esm/methods/transpose.js.map +1 -1
  59. package/esm/methods/unwrap.js.map +1 -1
  60. package/esm/methods/unwrapErr.js.map +1 -1
  61. package/esm/methods/unwrapOr.js.map +1 -1
  62. package/esm/methods/unwrapOrElse.js.map +1 -1
  63. package/esm/refiners/isTypedVariant.js.map +1 -1
  64. package/esm/refiners/isTypedVariantOf.js.map +1 -1
  65. package/esm/refiners/matchVariant.js.map +1 -1
  66. package/esm/refiners/matchVariantStrict.js.map +1 -1
  67. package/esm/refiners/refineAsyncResult.js.map +1 -1
  68. package/esm/refiners/refineAsyncResultU.js.map +1 -1
  69. package/esm/refiners/refineResult.js.map +1 -1
  70. package/esm/refiners/refineResultU.js.map +1 -1
  71. package/esm/refiners/refineVariantMap.js.map +1 -1
  72. package/esm/refiners/utils/getPayloadKeys.js.map +1 -1
  73. package/package.json +1 -1
  74. package/types/constructors/Err.d.ts +4 -4
  75. package/types/constructors/Err.d.ts.map +1 -1
  76. package/types/constructors/Ok.d.ts +4 -4
  77. package/types/constructors/Ok.d.ts.map +1 -1
  78. package/types/guards/isErr.d.ts +5 -5
  79. package/types/guards/isErr.d.ts.map +1 -1
  80. package/types/guards/isErrAnd.d.ts +6 -6
  81. package/types/guards/isErrAnd.d.ts.map +1 -1
  82. package/types/guards/isOk.d.ts +5 -5
  83. package/types/guards/isOk.d.ts.map +1 -1
  84. package/types/guards/isOkAnd.d.ts +6 -6
  85. package/types/guards/isOkAnd.d.ts.map +1 -1
  86. package/types/index.d.ts +1 -0
  87. package/types/index.d.ts.map +1 -1
  88. package/types/methods/andThen.d.ts +7 -7
  89. package/types/methods/andThen.d.ts.map +1 -1
  90. package/types/methods/err.d.ts +7 -8
  91. package/types/methods/err.d.ts.map +1 -1
  92. package/types/methods/expect.d.ts +9 -9
  93. package/types/methods/expect.d.ts.map +1 -1
  94. package/types/methods/expectErr.d.ts +9 -9
  95. package/types/methods/expectErr.d.ts.map +1 -1
  96. package/types/methods/flatten.d.ts +3 -3
  97. package/types/methods/flatten.d.ts.map +1 -1
  98. package/types/methods/inspect.d.ts +8 -8
  99. package/types/methods/inspect.d.ts.map +1 -1
  100. package/types/methods/inspectErr.d.ts +8 -8
  101. package/types/methods/inspectErr.d.ts.map +1 -1
  102. package/types/methods/map.d.ts +9 -9
  103. package/types/methods/map.d.ts.map +1 -1
  104. package/types/methods/mapErr.d.ts +8 -8
  105. package/types/methods/mapErr.d.ts.map +1 -1
  106. package/types/methods/match.d.ts +8 -8
  107. package/types/methods/match.d.ts.map +1 -1
  108. package/types/methods/ok.d.ts +7 -8
  109. package/types/methods/ok.d.ts.map +1 -1
  110. package/types/methods/orElse.d.ts +9 -9
  111. package/types/methods/orElse.d.ts.map +1 -1
  112. package/types/methods/tap.d.ts +7 -7
  113. package/types/methods/tap.d.ts.map +1 -1
  114. package/types/methods/tapErr.d.ts +7 -7
  115. package/types/methods/tapErr.d.ts.map +1 -1
  116. package/types/methods/transpose.d.ts +5 -6
  117. package/types/methods/transpose.d.ts.map +1 -1
  118. package/types/methods/unwrap.d.ts +8 -8
  119. package/types/methods/unwrap.d.ts.map +1 -1
  120. package/types/methods/unwrapErr.d.ts +8 -8
  121. package/types/methods/unwrapErr.d.ts.map +1 -1
  122. package/types/methods/unwrapOr.d.ts +8 -8
  123. package/types/methods/unwrapOr.d.ts.map +1 -1
  124. package/types/methods/unwrapOrElse.d.ts +8 -8
  125. package/types/methods/unwrapOrElse.d.ts.map +1 -1
  126. package/types/refiners/isTypedVariant.d.ts +3 -3
  127. package/types/refiners/isTypedVariantOf.d.ts +3 -3
  128. package/types/refiners/matchVariant.d.ts +5 -5
  129. package/types/refiners/matchVariantStrict.d.ts +6 -6
  130. package/types/refiners/refineAsyncResult.d.ts +17 -15
  131. package/types/refiners/refineAsyncResult.d.ts.map +1 -1
  132. package/types/refiners/refineAsyncResultU.d.ts +13 -11
  133. package/types/refiners/refineAsyncResultU.d.ts.map +1 -1
  134. package/types/refiners/refineResult.d.ts +18 -16
  135. package/types/refiners/refineResult.d.ts.map +1 -1
  136. package/types/refiners/refineResultU.d.ts +13 -11
  137. package/types/refiners/refineResultU.d.ts.map +1 -1
  138. package/types/refiners/refineVariantMap.d.ts +8 -8
  139. package/types/refiners/refineVariantMap.d.ts.map +1 -1
  140. package/types/refiners/types/Handler.d.ts +9 -1
  141. package/types/refiners/types/Handler.d.ts.map +1 -1
  142. package/types/refiners/types/MatchBuilder.d.ts +20 -1
  143. package/types/refiners/types/MatchBuilder.d.ts.map +1 -1
  144. package/types/refiners/types/Matcher.d.ts +23 -1
  145. package/types/refiners/types/Matcher.d.ts.map +1 -1
  146. package/types/refiners/types/SyncRefinedResult.d.ts +26 -2
  147. package/types/refiners/types/SyncRefinedResult.d.ts.map +1 -1
  148. package/types/refiners/types/SyncRefinedResultUnion.d.ts +25 -2
  149. package/types/refiners/types/SyncRefinedResultUnion.d.ts.map +1 -1
  150. package/types/refiners/types/SyncValidatorMap.d.ts +26 -2
  151. package/types/refiners/types/SyncValidatorMap.d.ts.map +1 -1
  152. package/types/refiners/types/UniversalAsyncRefinedResult.d.ts +28 -2
  153. package/types/refiners/types/UniversalAsyncRefinedResult.d.ts.map +1 -1
  154. package/types/refiners/types/UniversalRefinedResult.d.ts +28 -2
  155. package/types/refiners/types/UniversalRefinedResult.d.ts.map +1 -1
  156. package/types/refiners/types/VariantOf.d.ts +20 -1
  157. package/types/refiners/types/VariantOf.d.ts.map +1 -1
  158. package/types/refiners/utils/getPayloadKeys.d.ts +6 -5
  159. package/types/refiners/utils/getPayloadKeys.d.ts.map +1 -1
  160. package/types/types/core/index.d.ts +3 -0
  161. package/types/types/core/index.d.ts.map +1 -0
  162. package/types/types/index.d.ts +1 -2
  163. package/types/types/index.d.ts.map +1 -1
  164. package/umd/resultsafe-monorepo-core-fp-result.umd.js.map +1 -1
  165. package/types/shared-types.d.ts +0 -22
  166. package/types/shared-types.d.ts.map +0 -1
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Создает runtime type guard для варианта с дополнительными ключами payload.
2
+ * Creates a runtime type guard for a variant with additional payload keys.
3
3
  *
4
4
  * @typeParam K - The discriminant literal type.
5
5
  * @typeParam T - The required payload record shape.
6
- * @param variant - Значение дискриминанта для сопоставления.
6
+ * @param variant - The discriminant value to match.
7
7
  * @returns A predicate that checks variant and payload key presence.
8
8
  * @since 0.1.0
9
- * @see {@link isTypedVariant} - Проверяет только дискриминант.
9
+ * @see {@link isTypedVariant} - Checks only the discriminant.
10
10
  * @example
11
11
  * ```ts
12
12
  * import { isTypedVariantOf } from '@resultsafe/core-fp-result';
@@ -1,12 +1,12 @@
1
1
  import type { Matcher, VariantOf } from './types/index.js';
2
2
  /**
3
- * Создает цепочный matcher для значения дискриминированного объединения.
3
+ * Creates a chained matcher for a discriminated union value.
4
4
  *
5
- * @typeParam T - Тип дискриминированного объединения.
6
- * @param value - Значение объединения для сопоставления.
7
- * @returns Fluent matcher с ветками `with` и `otherwise`.
5
+ * @typeParam T - The discriminated union type.
6
+ * @param value - The union value to match.
7
+ * @returns A fluent matcher with `with` and `otherwise` branches.
8
8
  * @since 0.1.0
9
- * @see {@link matchVariantStrict} - Требует исчерпывающего сопоставления во время выполнения.
9
+ * @see {@link matchVariantStrict} - Requires exhaustive matching at runtime.
10
10
  * @example
11
11
  * ```ts
12
12
  * import { matchVariant } from '@resultsafe/core-fp-result';
@@ -1,13 +1,13 @@
1
1
  import type { MatchBuilder, VariantOf } from './types/index.js';
2
2
  /**
3
- * Создает строгий matcher, выбрасывающий исключение для необработанных вариантов.
3
+ * Creates a strict matcher that throws an exception for unhandled variants.
4
4
  *
5
- * @typeParam T - Тип дискриминированного объединения.
6
- * @param value - Значение объединения для сопоставления.
7
- * @returns Строгий builder сопоставления, требующий явных обработчиков.
8
- * @throws Error - Выбрасывает исключение, если ни один зарегистрированный обработчик не соответствует `value.type`.
5
+ * @typeParam T - The discriminated union type.
6
+ * @param value - The union value to match.
7
+ * @returns A strict match builder requiring explicit handlers.
8
+ * @throws Error - Throws an exception if no registered handler matches `value.type`.
9
9
  * @since 0.1.0
10
- * @see {@link matchVariant} - Использует fallback-ветку вместо выброса исключения.
10
+ * @see {@link matchVariant} - Uses a fallback branch instead of throwing.
11
11
  * @example
12
12
  * ```ts
13
13
  * import { matchVariantStrict } from '@resultsafe/core-fp-result';
@@ -1,13 +1,15 @@
1
- import type { AsyncValidatorFn, PayloadKeys, VariantConfig } from '../shared-types.js';
1
+ import type { AsyncValidatorFn } from '../types/refiners/AsyncValidatorFn.js';
2
+ import type { PayloadKeys } from '../types/refiners/PayloadKeys.js';
3
+ import type { VariantConfig } from '../types/refiners/VariantConfig.js';
2
4
  import type { UniversalAsyncRefinedResult } from './types/index.js';
3
5
  /**
4
- * Создает асинхронный refiner варианта с асинхронными валидаторами payload.
6
+ * Creates an async variant refiner with async payload validators.
5
7
  *
6
- * @typeParam TMap - Тип карты конфигурации вариантов.
7
- * @param variantMap - Карта, описывающая допустимые варианты и поля payload.
8
+ * @typeParam TMap - The variant configuration map type.
9
+ * @param variantMap - The map describing valid variants and payload fields.
8
10
  * @returns A curried async refiner factory bound to `variantMap`.
9
11
  * @since 0.1.0
10
- * @see {@link refineAsyncResultU} - Непосредственный (не-curry) вариант helper.
12
+ * @see {@link refineAsyncResultU} - Direct (non-curried) helper variant.
11
13
  * @example
12
14
  * ```ts
13
15
  * import { refineAsyncResult } from '@resultsafe/core-fp-result';
@@ -23,19 +25,19 @@ import type { UniversalAsyncRefinedResult } from './types/index.js';
23
25
  */
24
26
  export declare const refineAsyncResult: <TMap extends Record<string, VariantConfig>>(variantMap: TMap) => <K extends keyof TMap & string>(variant: K) => <TValidators extends Partial<Record<PayloadKeys<TMap[K]>, AsyncValidatorFn>>>(validators: TValidators) => (value: unknown) => Promise<UniversalAsyncRefinedResult<K, TMap, TValidators> | null>;
25
27
  /**
26
- * Уточняет значение асинхронно в не-curry стиле вызова.
28
+ * Refines a value asynchronously in non-curried call style.
27
29
  *
28
- * @typeParam TMap - Тип карты конфигурации вариантов.
29
- * @typeParam K - Ключ целевого варианта.
30
- * @typeParam TValidators - Карта асинхронных валидаторов для полей payload.
31
- * @param value - Значение для валидации и уточнения.
32
- * @param variant - Ключ целевого варианта.
33
- * @param variantMap - Карта конфигурации вариантов.
34
- * @param validators - Асинхронные валидаторы payload.
35
- * @returns Промис с уточненным значением или `null`.
30
+ * @typeParam TMap - The variant configuration map type.
31
+ * @typeParam K - The target variant key.
32
+ * @typeParam TValidators - The async validator map for payload fields.
33
+ * @param value - The value to validate and refine.
34
+ * @param variant - The target variant key.
35
+ * @param variantMap - The variant configuration map.
36
+ * @param validators - The async payload validators.
37
+ * @returns A promise resolving to the refined value or `null`.
36
38
  * @remarks
37
39
  * This export is kept for compatibility. Prefer {@link refineAsyncResultU}
38
- * from `refineAsyncResultU.ts` как каноническую точку входа без curry.
40
+ * from `refineAsyncResultU.ts` as the canonical non-curried entry point.
39
41
  * @since 0.1.0
40
42
  * @example
41
43
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"refineAsyncResult.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineAsyncResult.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAWpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,GAC3B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,IAAI,MAC5D,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC,MACzC,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAC1E,YAAY,WAAW,MAGvB,OAAO,OAAO,KACb,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CAqBlE,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAE3E,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CACR,CAAC"}
1
+ {"version":3,"file":"refineAsyncResult.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineAsyncResult.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAWpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,GAC3B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,IAAI,MAC5D,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC,MACzC,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAC1E,YAAY,WAAW,MAGvB,OAAO,OAAO,KACb,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CAqBlE,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAE3E,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CACR,CAAC"}
@@ -1,18 +1,20 @@
1
- import type { AsyncValidatorFn, PayloadKeys, VariantConfig } from '../shared-types.js';
1
+ import type { AsyncValidatorFn } from '../types/refiners/AsyncValidatorFn.js';
2
+ import type { PayloadKeys } from '../types/refiners/PayloadKeys.js';
3
+ import type { VariantConfig } from '../types/refiners/VariantConfig.js';
2
4
  import type { UniversalAsyncRefinedResult } from './types/index.js';
3
5
  /**
4
- * Уточняет значение асинхронно в не-curry стиле вызова.
6
+ * Refines a value asynchronously in non-curried call style.
5
7
  *
6
- * @typeParam TMap - Тип карты конфигурации вариантов.
7
- * @typeParam K - Ключ целевого варианта.
8
- * @typeParam TValidators - Карта асинхронных валидаторов для полей payload.
9
- * @param value - Значение для валидации и уточнения.
10
- * @param variant - Ключ целевого варианта.
11
- * @param variantMap - Карта конфигурации вариантов.
12
- * @param validators - Асинхронные валидаторы payload.
13
- * @returns Промис с уточненным значением или `null`.
8
+ * @typeParam TMap - The variant configuration map type.
9
+ * @typeParam K - The target variant key.
10
+ * @typeParam TValidators - The async validator map for payload fields.
11
+ * @param value - The value to validate and refine.
12
+ * @param variant - The target variant key.
13
+ * @param variantMap - The variant configuration map.
14
+ * @param validators - The async payload validators.
15
+ * @returns A promise resolving to the refined value or `null`.
14
16
  * @since 0.1.0
15
- * @see {@link refineAsyncResult} - Curry-конструктор асинхронного refiner.
17
+ * @see {@link refineAsyncResult} - Curry-style async refiner constructor.
16
18
  * @example
17
19
  * ```ts
18
20
  * import { refineAsyncResultU } from '@resultsafe/core-fp-result';
@@ -1 +1 @@
1
- {"version":3,"file":"refineAsyncResultU.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineAsyncResultU.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAWpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAE3E,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CA4BlE,CAAC"}
1
+ {"version":3,"file":"refineAsyncResultU.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineAsyncResultU.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAWpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAE3E,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CA4BlE,CAAC"}
@@ -1,13 +1,15 @@
1
- import type { PayloadKeys, ValidatorFn, VariantConfig } from '../shared-types.js';
1
+ import type { PayloadKeys } from '../types/refiners/PayloadKeys.js';
2
+ import type { ValidatorFn } from '../types/refiners/ValidatorFn.js';
3
+ import type { VariantConfig } from '../types/refiners/VariantConfig.js';
2
4
  import type { UniversalRefinedResult } from './types/index.js';
3
5
  /**
4
- * Создает синхронный refiner варианта с валидаторами payload.
6
+ * Creates a sync variant refiner with payload validators.
5
7
  *
6
- * @typeParam TMap - Тип карты конфигурации вариантов.
7
- * @param variantMap - Карта, описывающая допустимые варианты и поля payload.
8
+ * @typeParam TMap - The variant configuration map type.
9
+ * @param variantMap - The map describing valid variants and payload fields.
8
10
  * @returns A curried refiner factory bound to `variantMap`.
9
11
  * @since 0.1.0
10
- * @see {@link refineResultU} - Непосредственный (не-curry) вариант helper.
12
+ * @see {@link refineResultU} - Direct (non-curried) helper variant.
11
13
  * @example
12
14
  * ```ts
13
15
  * import { refineResult } from '@resultsafe/core-fp-result';
@@ -23,19 +25,19 @@ import type { UniversalRefinedResult } from './types/index.js';
23
25
  */
24
26
  export declare const refineResult: <TMap extends Record<string, VariantConfig>>(variantMap: TMap) => <K extends keyof TMap & string>(variant: K) => <TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>>(validators: TValidators) => (value: unknown) => UniversalRefinedResult<K, TMap, TValidators> | null;
25
27
  /**
26
- * Уточняет значение по карте вариантов в не-curry стиле вызова.
28
+ * Refines a value by variant map in non-curried call style.
27
29
  *
28
- * @typeParam TMap - Тип карты конфигурации вариантов.
29
- * @typeParam K - Ключ целевого варианта.
30
- * @typeParam TValidators - Карта валидаторов для полей payload.
31
- * @param value - Значение для валидации и уточнения.
32
- * @param variant - Ключ целевого варианта.
33
- * @param variantMap - Карта конфигурации вариантов.
34
- * @param validators - Валидаторы payload для целевого варианта.
35
- * @returns Уточненное значение или `null`.
30
+ * @typeParam TMap - The variant configuration map type.
31
+ * @typeParam K - The target variant key.
32
+ * @typeParam TValidators - The validator map for payload fields.
33
+ * @param value - The value to validate and refine.
34
+ * @param variant - The target variant key.
35
+ * @param variantMap - The variant configuration map.
36
+ * @param validators - The payload validators for the target variant.
37
+ * @returns The refined value or `null`.
36
38
  * @remarks
37
- * Этот экспорт сохранен для совместимости. Предпочитайте {@link refineResultU} из
38
- * `refineResultU.ts` как каноническую точку входа без curry.
39
+ * This export is kept for compatibility. Prefer {@link refineResultU} from
40
+ * `refineResultU.ts` as the canonical non-curried entry point.
39
41
  * @since 0.1.0
40
42
  * @example
41
43
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"refineResult.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineResult.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,YAAY,GACtB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,IAAI,MAC5D,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC,MACzC,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EACrE,YAAY,WAAW,MAExB,OAAO,OAAO,KAAG,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAoBhE,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAEtE,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IACI,CAAC"}
1
+ {"version":3,"file":"refineResult.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineResult.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,YAAY,GACtB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,IAAI,MAC5D,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC,MACzC,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EACrE,YAAY,WAAW,MAExB,OAAO,OAAO,KAAG,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAoBhE,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAEtE,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IACI,CAAC"}
@@ -1,18 +1,20 @@
1
- import type { PayloadKeys, ValidatorFn, VariantConfig } from '../shared-types.js';
1
+ import type { PayloadKeys } from '../types/refiners/PayloadKeys.js';
2
+ import type { ValidatorFn } from '../types/refiners/ValidatorFn.js';
3
+ import type { VariantConfig } from '../types/refiners/VariantConfig.js';
2
4
  import type { SyncRefinedResult } from './types/index.js';
3
5
  /**
4
- * Уточняет значение по карте вариантов в не-curry стиле вызова.
6
+ * Refines a value by variant map in non-curried call style.
5
7
  *
6
- * @typeParam TMap - Тип карты конфигурации вариантов.
7
- * @typeParam K - Ключ целевого варианта.
8
- * @typeParam TValidators - Карта валидаторов для полей payload.
9
- * @param value - Значение для валидации и уточнения.
10
- * @param variant - Ключ целевого варианта.
11
- * @param variantMap - Карта конфигурации вариантов.
12
- * @param validators - Валидаторы payload для целевого варианта.
13
- * @returns Уточненное значение или `null`.
8
+ * @typeParam TMap - The variant configuration map type.
9
+ * @typeParam K - The target variant key.
10
+ * @typeParam TValidators - The validator map for payload fields.
11
+ * @param value - The value to validate and refine.
12
+ * @param variant - The target variant key.
13
+ * @param variantMap - The variant configuration map.
14
+ * @param validators - The payload validators for the target variant.
15
+ * @returns The refined value or `null`.
14
16
  * @since 0.1.0
15
- * @see {@link refineResult} - Curry-конструктор refiner.
17
+ * @see {@link refineResult} - Curry-style refiner constructor.
16
18
  * @example
17
19
  * ```ts
18
20
  * import { refineResultU } from '@resultsafe/core-fp-result';
@@ -1 +1 @@
1
- {"version":3,"file":"refineResultU.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineResultU.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAEtE,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IACS,CAAC"}
1
+ {"version":3,"file":"refineResultU.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineResultU.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAEtE,OAAO,OAAO,EACd,SAAS,CAAC,EACV,YAAY,IAAI,EAChB,YAAY,WAAW,KACtB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IACS,CAAC"}
@@ -1,15 +1,15 @@
1
- import type { VariantConfig } from '../shared-types.js';
1
+ import type { VariantConfig } from '../types/refiners/VariantConfig.js';
2
2
  import type { SyncRefinedResultUnion } from './types/SyncRefinedResultUnion.js';
3
3
  import type { SyncValidatorMap } from './types/SyncValidatorMap.js';
4
4
  /**
5
- * Уточняет значение дискриминированного объединения по полной карте вариантов.
5
+ * Refines a discriminated union value by a full variant map.
6
6
  *
7
- * @typeParam TMap - Тип карты конфигурации вариантов.
8
- * @typeParam TValidators - Тип карты валидаторов по вариантам.
9
- * @param value - Значение для валидации и уточнения.
10
- * @param variantMap - Полная карта конфигурации вариантов.
11
- * @param validators - Валидаторы, сгруппированные по ключу варианта.
12
- * @returns Уточненный элемент объединения или `null`.
7
+ * @typeParam TMap - The variant configuration map type.
8
+ * @typeParam TValidators - The validator map type by variant.
9
+ * @param value - The value to validate and refine.
10
+ * @param variantMap - The full variant configuration map.
11
+ * @param validators - The validators grouped by variant key.
12
+ * @returns The refined union member or `null`.
13
13
  * @since 0.1.0
14
14
  * @see {@link refineResult} - Refines one concrete variant key.
15
15
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"refineVariantMap.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineVariantMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,WAAW,SAAS,gBAAgB,CAAC,IAAI,CAAC,EAE1C,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,WAAW,GACtB,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CAoClD"}
1
+ {"version":3,"file":"refineVariantMap.d.ts","sourceRoot":"","sources":["../../../src/refiners/refineVariantMap.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,WAAW,SAAS,gBAAgB,CAAC,IAAI,CAAC,EAE1C,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,WAAW,GACtB,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CAoClD"}
@@ -1,5 +1,13 @@
1
1
  import type { VariantOf } from './VariantOf.js';
2
- /** Описывает запись обработчика варианта во внутренних механизмах matcher. @internal */
2
+ /**
3
+ * Describes a handler entry for variant matching in internal matcher mechanisms.
4
+ *
5
+ * @typeParam K - The variant key type.
6
+ * @typeParam T - The variant union type.
7
+ * @typeParam R - The return type of the handler function.
8
+ *
9
+ * @internal
10
+ */
3
11
  export type Handler<K extends string, T extends VariantOf<K>, R> = {
4
12
  readonly variant: K;
5
13
  readonly fn: (value: Extract<T, {
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wFAAwF;AACxF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,CAAC;CACpD,CAAC"}
1
+ {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,CAAC;CACpD,CAAC"}
@@ -1,5 +1,24 @@
1
1
  import type { VariantOf } from './VariantOf.js';
2
- /** Описывает форму строгого builder для matcher. */
2
+ /**
3
+ * Describes the shape of a strict builder for variant matching.
4
+ *
5
+ * @typeParam T - The variant union type.
6
+ * @typeParam R - The return type of the match operation.
7
+ * @typeParam Handled - The union of already handled variant types.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { MatchBuilder } from '@resultsafe/core-fp-result';
12
+ *
13
+ * const builder: MatchBuilder<MyVariant, string> = {
14
+ * with: (variant, fn) => builder,
15
+ * run: () => 'result'
16
+ * };
17
+ * ```
18
+ *
19
+ * @since 0.1.8
20
+ * @public
21
+ */
3
22
  export type MatchBuilder<T extends VariantOf, R, Handled extends T['type'] = never> = {
4
23
  readonly with: <K extends Exclude<T['type'], Handled>>(variant: K, fn: (value: Extract<T, {
5
24
  type: K;
@@ -1 +1 @@
1
- {"version":3,"file":"MatchBuilder.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/MatchBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,oDAAoD;AACpD,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,SAAS,EACnB,CAAC,EACD,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,IAC/B;IACF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,CAAC,EACV,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,KACtC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;CAC3D,CAAC"}
1
+ {"version":3,"file":"MatchBuilder.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/MatchBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,SAAS,EACnB,CAAC,EACD,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,IAC/B;IACF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,CAAC,EACV,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,KACtC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;CAC3D,CAAC"}
@@ -1,5 +1,27 @@
1
1
  import type { VariantOf } from './VariantOf.js';
2
- /** Описывает форму нестрогого builder для matcher. */
2
+ /**
3
+ * Describes the shape of a non-strict builder for variant matching.
4
+ *
5
+ * @typeParam T - The variant union type.
6
+ * @typeParam R - The return type of the match operation.
7
+ *
8
+ * @remarks
9
+ * Unlike {@link MatchBuilder}, this builder allows matching any variant
10
+ * and provides an `otherwise` fallback handler for unmatched cases.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { Matcher } from '@resultsafe/core-fp-result';
15
+ *
16
+ * const matcher: Matcher<MyVariant, string> = {
17
+ * with: (variant, fn) => matcher,
18
+ * otherwise: (fn) => ({ run: () => 'default' })
19
+ * };
20
+ * ```
21
+ *
22
+ * @since 0.1.8
23
+ * @public
24
+ */
3
25
  export type Matcher<T extends VariantOf, R> = {
4
26
  readonly with: <K extends T['type']>(variant: K, fn: (value: Extract<T, {
5
27
  type: K;
@@ -1 +1 @@
1
- {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/Matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,sDAAsD;AACtD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,IAAI;IAC5C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,OAAO,EAAE,CAAC,EACV,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,KACtC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACxE,CAAC"}
1
+ {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/Matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,IAAI;IAC5C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,OAAO,EAAE,CAAC,EACV,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,CAAC,KACtC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACxE,CAAC"}
@@ -1,5 +1,29 @@
1
- import type { PayloadKeys, ValidatorFn, VariantConfig } from '../../shared-types.js';
2
- /** Описывает синхронно уточненное конкретное значение варианта. */
1
+ import type { PayloadKeys } from '../../types/refiners/PayloadKeys.js';
2
+ import type { ValidatorFn } from '../../types/refiners/ValidatorFn.js';
3
+ import type { VariantConfig } from '../../types/refiners/VariantConfig.js';
4
+ /**
5
+ * Describes a synchronously refined specific variant value.
6
+ *
7
+ * @typeParam K - The variant key type.
8
+ * @typeParam TMap - The variant configuration map.
9
+ * @typeParam _TValidators - The validator map for the variant.
10
+ *
11
+ * @remarks
12
+ * This type represents a refined variant with its payload fields
13
+ * validated synchronously. The `type` field discriminates the variant,
14
+ * and the remaining fields are the validated payload.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { SyncRefinedResult, VariantConfig } from '@resultsafe/core-fp-result';
19
+ *
20
+ * type MyVariant = SyncRefinedResult<'user', { user: { payload: 'name' } }, {}>;
21
+ * // { type: 'user'; name: unknown }
22
+ * ```
23
+ *
24
+ * @since 0.1.8
25
+ * @public
26
+ */
3
27
  export type SyncRefinedResult<K extends keyof TMap & string, TMap extends Record<string, VariantConfig>, _TValidators extends Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>> = {
4
28
  type: K;
5
29
  } & Record<PayloadKeys<TMap[K]>, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"SyncRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IACrE;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"SyncRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IACrE;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC"}
@@ -1,7 +1,30 @@
1
- import type { VariantConfig } from '../../shared-types.js';
1
+ import type { VariantConfig } from '../../types/refiners/VariantConfig.js';
2
2
  import type { SyncRefinedResult } from './SyncRefinedResult.js';
3
3
  import type { SyncValidatorMap } from './SyncValidatorMap.js';
4
- /** Описывает объединение синхронно уточненных вариантов. */
4
+ /**
5
+ * Describes a union of synchronously refined variants.
6
+ *
7
+ * @typeParam TMap - The variant configuration map.
8
+ * @typeParam TValidators - The validator map for all variants.
9
+ *
10
+ * @remarks
11
+ * This type represents the union of all refined variants in the map.
12
+ * Each variant is refined using {@link SyncRefinedResult}.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { SyncRefinedResultUnion, VariantConfig } from '@resultsafe/core-fp-result';
17
+ *
18
+ * type Variants = SyncRefinedResultUnion<
19
+ * { user: { payload: 'name' }; error: { payload: 'code' } },
20
+ * {}
21
+ * >;
22
+ * // { type: 'user'; name: unknown } | { type: 'error'; code: unknown }
23
+ * ```
24
+ *
25
+ * @since 0.1.8
26
+ * @public
27
+ */
5
28
  export type SyncRefinedResultUnion<TMap extends Record<string, VariantConfig>, TValidators extends SyncValidatorMap<TMap>> = {
6
29
  [K in keyof TMap & string]: SyncRefinedResult<K, TMap, NonNullable<TValidators[K]>>;
7
30
  }[keyof TMap & string];
@@ -1 +1 @@
1
- {"version":3,"file":"SyncRefinedResultUnion.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncRefinedResultUnion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,4DAA4D;AAC5D,MAAM,MAAM,sBAAsB,CAChC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,WAAW,SAAS,gBAAgB,CAAC,IAAI,CAAC,IACxC;KACD,CAAC,IAAI,MAAM,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAC3C,CAAC,EACD,IAAI,EACJ,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAC5B;CACF,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"SyncRefinedResultUnion.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncRefinedResultUnion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,sBAAsB,CAChC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,WAAW,SAAS,gBAAgB,CAAC,IAAI,CAAC,IACxC;KACD,CAAC,IAAI,MAAM,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAC3C,CAAC,EACD,IAAI,EACJ,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAC5B;CACF,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC"}
@@ -1,5 +1,29 @@
1
- import type { PayloadKeys, ValidatorFn, VariantConfig } from '../../shared-types.js';
2
- /** Описывает наборы валидаторов, сгруппированные по ключу варианта. */
1
+ import type { PayloadKeys } from '../../types/refiners/PayloadKeys.js';
2
+ import type { ValidatorFn } from '../../types/refiners/ValidatorFn.js';
3
+ import type { VariantConfig } from '../../types/refiners/VariantConfig.js';
4
+ /**
5
+ * Describes validator sets grouped by variant key.
6
+ *
7
+ * @typeParam TMap - The variant configuration map.
8
+ *
9
+ * @remarks
10
+ * This type maps each variant to its optional validators for payload fields.
11
+ * Validators are used to refine and check variant data at runtime.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { SyncValidatorMap, VariantConfig } from '@resultsafe/core-fp-result';
16
+ *
17
+ * type Validators = SyncValidatorMap<{
18
+ * user: { payload: 'name' | 'age' };
19
+ * error: { payload: 'code' };
20
+ * }>;
21
+ * // { user?: { name?: ValidatorFn; age?: ValidatorFn }; error?: { code?: ValidatorFn } }
22
+ * ```
23
+ *
24
+ * @since 0.1.8
25
+ * @public
26
+ */
3
27
  export type SyncValidatorMap<TMap extends Record<string, VariantConfig>> = {
4
28
  [K in keyof TMap]?: Partial<Record<PayloadKeys<TMap[K]>, ValidatorFn>>;
5
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SyncValidatorMap.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncValidatorMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI;KACxE,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;CACvE,CAAC"}
1
+ {"version":3,"file":"SyncValidatorMap.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/SyncValidatorMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI;KACxE,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;CACvE,CAAC"}
@@ -1,5 +1,31 @@
1
- import type { VariantConfig } from '../../shared-types.js';
2
- /** Описывает обобщенное асинхронно уточненное значение варианта. */
1
+ import type { VariantConfig } from '../../types/refiners/VariantConfig.js';
2
+ /**
3
+ * Describes a generalized asynchronously refined variant value.
4
+ *
5
+ * @typeParam K - The variant key type.
6
+ * @typeParam TMap - The variant configuration map.
7
+ * @typeParam _TValidators - The validator map for the variant.
8
+ *
9
+ * @remarks
10
+ * This type represents a variant refined through async validation.
11
+ * The `type` field discriminates the variant, and additional fields
12
+ * are validated asynchronously.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { UniversalAsyncRefinedResult, VariantConfig } from '@resultsafe/core-fp-result';
17
+ *
18
+ * type AsyncVariant = UniversalAsyncRefinedResult<
19
+ * 'user',
20
+ * { user: { payload: 'name' } },
21
+ * {}
22
+ * >;
23
+ * // { type: 'user'; [key: string]: unknown }
24
+ * ```
25
+ *
26
+ * @since 0.1.8
27
+ * @public
28
+ */
3
29
  export type UniversalAsyncRefinedResult<K extends keyof TMap & string, TMap extends Record<string, VariantConfig>, _TValidators extends Record<string, unknown>> = {
4
30
  type: K;
5
31
  } & Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalAsyncRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/UniversalAsyncRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,oEAAoE;AACpE,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1C;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"UniversalAsyncRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/UniversalAsyncRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1C;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -1,5 +1,31 @@
1
- import type { VariantConfig } from '../../shared-types.js';
2
- /** Описывает обобщенное синхронно уточненное значение варианта. */
1
+ import type { VariantConfig } from '../../types/refiners/VariantConfig.js';
2
+ /**
3
+ * Describes a generalized synchronously refined variant value.
4
+ *
5
+ * @typeParam K - The variant key type.
6
+ * @typeParam TMap - The variant configuration map.
7
+ * @typeParam _TValidators - The validator map for the variant.
8
+ *
9
+ * @remarks
10
+ * This type represents a variant refined through sync validation.
11
+ * The `type` field discriminates the variant, and additional fields
12
+ * are validated synchronously.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { UniversalRefinedResult, VariantConfig } from '@resultsafe/core-fp-result';
17
+ *
18
+ * type SyncVariant = UniversalRefinedResult<
19
+ * 'user',
20
+ * { user: { payload: 'name' } },
21
+ * {}
22
+ * >;
23
+ * // { type: 'user'; [key: string]: unknown }
24
+ * ```
25
+ *
26
+ * @since 0.1.8
27
+ * @public
28
+ */
3
29
  export type UniversalRefinedResult<K extends keyof TMap & string, TMap extends Record<string, VariantConfig>, _TValidators extends Record<string, unknown>> = {
4
30
  type: K;
5
31
  } & Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/UniversalRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,mEAAmE;AACnE,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1C;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"UniversalRefinedResult.d.ts","sourceRoot":"","sources":["../../../../src/refiners/types/UniversalRefinedResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,EAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1C;IACF,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}