@duplojs/utils 1.1.13 → 1.1.14

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 (224) hide show
  1. package/dist/array/flat.cjs +1 -13
  2. package/dist/array/flat.d.ts +1 -4
  3. package/dist/array/flat.mjs +1 -13
  4. package/dist/array/index.cjs +2 -0
  5. package/dist/array/index.d.ts +1 -0
  6. package/dist/array/index.mjs +1 -0
  7. package/dist/array/notIncludes.cjs +12 -0
  8. package/dist/array/notIncludes.d.ts +4 -0
  9. package/dist/array/notIncludes.mjs +10 -0
  10. package/dist/array/reduce.d.ts +6 -7
  11. package/dist/array/reduceRight.d.ts +4 -3
  12. package/dist/common/createKindIdentifier.cjs +27 -0
  13. package/dist/common/createKindIdentifier.d.ts +7 -0
  14. package/dist/common/createKindIdentifier.mjs +25 -0
  15. package/dist/common/index.d.ts +1 -0
  16. package/dist/common/kind.d.ts +2 -2
  17. package/dist/common/or.d.ts +9 -9
  18. package/dist/common/types/index.d.ts +1 -0
  19. package/dist/common/types/onlyLiteral.d.ts +18 -0
  20. package/dist/dataParser/base.cjs +55 -29
  21. package/dist/dataParser/base.d.ts +1 -1
  22. package/dist/dataParser/base.mjs +55 -29
  23. package/dist/dataParser/baseExtended.cjs +15 -2
  24. package/dist/dataParser/baseExtended.d.ts +8 -3
  25. package/dist/dataParser/baseExtended.mjs +15 -2
  26. package/dist/dataParser/extended/array.cjs +1 -0
  27. package/dist/dataParser/extended/array.d.ts +11 -5
  28. package/dist/dataParser/extended/array.mjs +1 -0
  29. package/dist/dataParser/extended/bigint.cjs +1 -0
  30. package/dist/dataParser/extended/bigint.d.ts +9 -2
  31. package/dist/dataParser/extended/bigint.mjs +1 -0
  32. package/dist/dataParser/extended/boolean.cjs +1 -0
  33. package/dist/dataParser/extended/boolean.d.ts +13 -2
  34. package/dist/dataParser/extended/boolean.mjs +1 -0
  35. package/dist/dataParser/extended/coerce/bigint.cjs +1 -0
  36. package/dist/dataParser/extended/coerce/bigint.mjs +1 -0
  37. package/dist/dataParser/extended/coerce/boolean.cjs +1 -0
  38. package/dist/dataParser/extended/coerce/boolean.mjs +1 -0
  39. package/dist/dataParser/extended/coerce/empty.cjs +1 -0
  40. package/dist/dataParser/extended/coerce/empty.mjs +1 -0
  41. package/dist/dataParser/extended/coerce/nil.cjs +1 -0
  42. package/dist/dataParser/extended/coerce/nil.mjs +1 -0
  43. package/dist/dataParser/extended/coerce/number.cjs +1 -0
  44. package/dist/dataParser/extended/coerce/number.mjs +1 -0
  45. package/dist/dataParser/extended/coerce/string.cjs +1 -0
  46. package/dist/dataParser/extended/coerce/string.mjs +1 -0
  47. package/dist/dataParser/extended/empty.cjs +1 -0
  48. package/dist/dataParser/extended/empty.d.ts +13 -2
  49. package/dist/dataParser/extended/empty.mjs +1 -0
  50. package/dist/dataParser/extended/index.cjs +2 -0
  51. package/dist/dataParser/extended/index.d.ts +1 -0
  52. package/dist/dataParser/extended/index.mjs +1 -0
  53. package/dist/dataParser/extended/lazy.cjs +1 -0
  54. package/dist/dataParser/extended/lazy.d.ts +13 -3
  55. package/dist/dataParser/extended/lazy.mjs +1 -0
  56. package/dist/dataParser/extended/literal.cjs +1 -0
  57. package/dist/dataParser/extended/literal.d.ts +13 -2
  58. package/dist/dataParser/extended/literal.mjs +1 -0
  59. package/dist/dataParser/extended/nil.cjs +1 -0
  60. package/dist/dataParser/extended/nil.d.ts +13 -2
  61. package/dist/dataParser/extended/nil.mjs +1 -0
  62. package/dist/dataParser/extended/nullable.cjs +1 -0
  63. package/dist/dataParser/extended/nullable.d.ts +14 -4
  64. package/dist/dataParser/extended/nullable.mjs +1 -0
  65. package/dist/dataParser/extended/number.cjs +1 -0
  66. package/dist/dataParser/extended/number.d.ts +9 -2
  67. package/dist/dataParser/extended/number.mjs +1 -0
  68. package/dist/dataParser/extended/object.cjs +1 -0
  69. package/dist/dataParser/extended/object.d.ts +13 -2
  70. package/dist/dataParser/extended/object.mjs +1 -0
  71. package/dist/dataParser/extended/optional.cjs +1 -0
  72. package/dist/dataParser/extended/optional.d.ts +14 -4
  73. package/dist/dataParser/extended/optional.mjs +1 -0
  74. package/dist/dataParser/extended/pipe.cjs +1 -0
  75. package/dist/dataParser/extended/pipe.d.ts +13 -3
  76. package/dist/dataParser/extended/pipe.mjs +1 -0
  77. package/dist/dataParser/extended/record.cjs +3 -2
  78. package/dist/dataParser/extended/record.d.ts +13 -3
  79. package/dist/dataParser/extended/record.mjs +2 -1
  80. package/dist/dataParser/extended/recover.cjs +14 -0
  81. package/dist/dataParser/extended/recover.d.ts +23 -0
  82. package/dist/dataParser/extended/recover.mjs +12 -0
  83. package/dist/dataParser/extended/string.cjs +1 -0
  84. package/dist/dataParser/extended/string.d.ts +9 -2
  85. package/dist/dataParser/extended/string.mjs +1 -0
  86. package/dist/dataParser/extended/templateLiteral.cjs +4 -2
  87. package/dist/dataParser/extended/templateLiteral.d.ts +13 -2
  88. package/dist/dataParser/extended/templateLiteral.mjs +3 -1
  89. package/dist/dataParser/extended/transform.cjs +1 -0
  90. package/dist/dataParser/extended/transform.d.ts +12 -2
  91. package/dist/dataParser/extended/transform.mjs +1 -0
  92. package/dist/dataParser/extended/tuple.cjs +11 -1
  93. package/dist/dataParser/extended/tuple.d.ts +19 -2
  94. package/dist/dataParser/extended/tuple.mjs +11 -1
  95. package/dist/dataParser/extended/union.cjs +1 -0
  96. package/dist/dataParser/extended/union.d.ts +13 -2
  97. package/dist/dataParser/extended/union.mjs +1 -0
  98. package/dist/dataParser/extended/unknown.cjs +1 -0
  99. package/dist/dataParser/extended/unknown.d.ts +13 -2
  100. package/dist/dataParser/extended/unknown.mjs +1 -0
  101. package/dist/dataParser/identifier.cjs +2 -17
  102. package/dist/dataParser/identifier.d.ts +216 -8
  103. package/dist/dataParser/identifier.mjs +2 -17
  104. package/dist/dataParser/index.cjs +29 -18
  105. package/dist/dataParser/index.mjs +18 -14
  106. package/dist/dataParser/parsers/array/checkers/max.cjs +3 -3
  107. package/dist/dataParser/parsers/array/checkers/max.d.ts +2 -2
  108. package/dist/dataParser/parsers/array/checkers/max.mjs +3 -3
  109. package/dist/dataParser/parsers/array/checkers/min.cjs +3 -3
  110. package/dist/dataParser/parsers/array/checkers/min.d.ts +2 -2
  111. package/dist/dataParser/parsers/array/checkers/min.mjs +3 -3
  112. package/dist/dataParser/parsers/array/index.d.ts +14 -7
  113. package/dist/dataParser/parsers/bigint/checkers/max.cjs +3 -3
  114. package/dist/dataParser/parsers/bigint/checkers/max.d.ts +2 -2
  115. package/dist/dataParser/parsers/bigint/checkers/max.mjs +3 -3
  116. package/dist/dataParser/parsers/bigint/checkers/min.cjs +3 -3
  117. package/dist/dataParser/parsers/bigint/checkers/min.d.ts +2 -2
  118. package/dist/dataParser/parsers/bigint/checkers/min.mjs +3 -3
  119. package/dist/dataParser/parsers/bigint/index.d.ts +11 -4
  120. package/dist/dataParser/parsers/boolean.d.ts +16 -4
  121. package/dist/dataParser/parsers/coerce/bigint.cjs +1 -0
  122. package/dist/dataParser/parsers/coerce/bigint.mjs +1 -0
  123. package/dist/dataParser/parsers/coerce/boolean.cjs +1 -0
  124. package/dist/dataParser/parsers/coerce/boolean.mjs +1 -0
  125. package/dist/dataParser/parsers/coerce/empty.cjs +1 -0
  126. package/dist/dataParser/parsers/coerce/empty.mjs +1 -0
  127. package/dist/dataParser/parsers/coerce/nil.cjs +1 -0
  128. package/dist/dataParser/parsers/coerce/nil.mjs +1 -0
  129. package/dist/dataParser/parsers/coerce/number.cjs +1 -0
  130. package/dist/dataParser/parsers/coerce/number.mjs +1 -0
  131. package/dist/dataParser/parsers/coerce/string.cjs +1 -0
  132. package/dist/dataParser/parsers/coerce/string.mjs +1 -0
  133. package/dist/dataParser/parsers/empty.d.ts +16 -4
  134. package/dist/dataParser/parsers/index.d.ts +2 -0
  135. package/dist/dataParser/parsers/lazy.d.ts +16 -4
  136. package/dist/dataParser/parsers/literal.d.ts +16 -4
  137. package/dist/dataParser/parsers/nil.d.ts +16 -4
  138. package/dist/dataParser/parsers/nullable.cjs +3 -2
  139. package/dist/dataParser/parsers/nullable.d.ts +19 -6
  140. package/dist/dataParser/parsers/nullable.mjs +3 -2
  141. package/dist/dataParser/parsers/number/checkers/int.cjs +3 -3
  142. package/dist/dataParser/parsers/number/checkers/int.d.ts +2 -2
  143. package/dist/dataParser/parsers/number/checkers/int.mjs +3 -3
  144. package/dist/dataParser/parsers/number/checkers/max.cjs +3 -3
  145. package/dist/dataParser/parsers/number/checkers/max.d.ts +2 -2
  146. package/dist/dataParser/parsers/number/checkers/max.mjs +3 -3
  147. package/dist/dataParser/parsers/number/checkers/min.cjs +3 -3
  148. package/dist/dataParser/parsers/number/checkers/min.d.ts +2 -2
  149. package/dist/dataParser/parsers/number/checkers/min.mjs +3 -3
  150. package/dist/dataParser/parsers/number/index.d.ts +11 -4
  151. package/dist/dataParser/parsers/object.d.ts +16 -4
  152. package/dist/dataParser/parsers/optional.cjs +3 -2
  153. package/dist/dataParser/parsers/optional.d.ts +19 -6
  154. package/dist/dataParser/parsers/optional.mjs +3 -2
  155. package/dist/dataParser/parsers/pipe.d.ts +16 -4
  156. package/dist/dataParser/parsers/record/findRecordRequiredKey.cjs +50 -0
  157. package/dist/dataParser/parsers/record/findRecordRequiredKey.d.ts +4 -0
  158. package/dist/dataParser/parsers/record/findRecordRequiredKey.mjs +47 -0
  159. package/dist/dataParser/parsers/{record.cjs → record/index.cjs} +21 -3
  160. package/dist/dataParser/parsers/record/index.d.ts +42 -0
  161. package/dist/dataParser/parsers/{record.mjs → record/index.mjs} +21 -4
  162. package/dist/dataParser/parsers/recover.cjs +32 -0
  163. package/dist/dataParser/parsers/recover.d.ts +28 -0
  164. package/dist/dataParser/parsers/recover.mjs +29 -0
  165. package/dist/dataParser/parsers/refine.cjs +18 -0
  166. package/dist/dataParser/parsers/refine.d.ts +17 -0
  167. package/dist/dataParser/parsers/refine.mjs +15 -0
  168. package/dist/dataParser/parsers/string/checkers/email.cjs +3 -3
  169. package/dist/dataParser/parsers/string/checkers/email.d.ts +2 -2
  170. package/dist/dataParser/parsers/string/checkers/email.mjs +3 -3
  171. package/dist/dataParser/parsers/string/checkers/max.cjs +3 -3
  172. package/dist/dataParser/parsers/string/checkers/max.d.ts +2 -2
  173. package/dist/dataParser/parsers/string/checkers/max.mjs +3 -3
  174. package/dist/dataParser/parsers/string/checkers/min.cjs +3 -3
  175. package/dist/dataParser/parsers/string/checkers/min.d.ts +2 -2
  176. package/dist/dataParser/parsers/string/checkers/min.mjs +3 -3
  177. package/dist/dataParser/parsers/string/checkers/regex.cjs +3 -3
  178. package/dist/dataParser/parsers/string/checkers/regex.d.ts +2 -2
  179. package/dist/dataParser/parsers/string/checkers/regex.mjs +3 -3
  180. package/dist/dataParser/parsers/string/checkers/url.cjs +3 -3
  181. package/dist/dataParser/parsers/string/checkers/url.d.ts +2 -2
  182. package/dist/dataParser/parsers/string/checkers/url.mjs +3 -3
  183. package/dist/dataParser/parsers/string/index.d.ts +11 -4
  184. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.cjs +75 -0
  185. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.d.ts +2 -0
  186. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.mjs +73 -0
  187. package/dist/dataParser/parsers/templateLiteral/index.cjs +31 -0
  188. package/dist/dataParser/parsers/templateLiteral/index.d.ts +66 -0
  189. package/dist/dataParser/parsers/templateLiteral/index.mjs +27 -0
  190. package/dist/dataParser/parsers/transform.d.ts +16 -4
  191. package/dist/dataParser/parsers/tuple.d.ts +14 -4
  192. package/dist/dataParser/parsers/union.d.ts +16 -4
  193. package/dist/dataParser/parsers/unknown.d.ts +16 -4
  194. package/dist/dataParser/types/checkers.d.ts +1 -1
  195. package/dist/dataParser/types/dataParsers.d.ts +2 -2
  196. package/dist/either/bool/falsy.cjs +1 -1
  197. package/dist/either/bool/falsy.mjs +1 -1
  198. package/dist/either/bool/truthy.cjs +2 -2
  199. package/dist/either/bool/truthy.mjs +2 -2
  200. package/dist/either/future/create.cjs +1 -1
  201. package/dist/either/future/create.mjs +1 -1
  202. package/dist/either/nullable/empty.cjs +1 -1
  203. package/dist/either/nullable/empty.mjs +1 -1
  204. package/dist/either/nullish/filled.cjs +2 -2
  205. package/dist/either/nullish/filled.mjs +2 -2
  206. package/dist/either/optional/filled.cjs +2 -2
  207. package/dist/either/optional/filled.mjs +2 -2
  208. package/dist/either/right/asyncPipe.cjs +1 -1
  209. package/dist/either/right/asyncPipe.mjs +1 -1
  210. package/dist/either/right/pipe.cjs +1 -1
  211. package/dist/either/right/pipe.mjs +1 -1
  212. package/dist/generator/asyncReduce.cjs +1 -1
  213. package/dist/generator/asyncReduce.d.ts +4 -3
  214. package/dist/generator/asyncReduce.mjs +1 -1
  215. package/dist/generator/reduce.d.ts +6 -7
  216. package/dist/index.cjs +2 -0
  217. package/dist/index.mjs +1 -0
  218. package/dist/string/types/index.d.ts +1 -0
  219. package/dist/string/types/templateLiteralContainLargeType.d.ts +5 -0
  220. package/package.json +3 -3
  221. package/dist/dataParser/parsers/record.d.ts +0 -30
  222. package/dist/dataParser/parsers/templateLiteral.cjs +0 -47
  223. package/dist/dataParser/parsers/templateLiteral.d.ts +0 -49
  224. package/dist/dataParser/parsers/templateLiteral.mjs +0 -44
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { number as number$1 } from '../parsers/number/index.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var object$1 = require('../parsers/object.cjs');
@@ -1,9 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserObjectExtended<GenericDefinition extends dataParsers.DataParserDefinitionObject> = (dataParsers.DataParserObject<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserObjectExtended<GenericDefinition extends dataParsers.DataParserDefinitionObject = dataParsers.DataParserDefinitionObject> extends _DataParserObjectExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserObjectCheckers<Output<this>>,
10
+ ...dataParsers.DataParserObjectCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserObjectCheckers<Output<this>>,
13
+ ...dataParsers.DataParserObjectCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserObjectExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserObjectExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function object<const GenericShape extends dataParsers.DataParserObjectShape, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape">> = never>(shape: GenericShape, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericDefinition, {}> & {
9
20
  shape: GenericShape;
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { object as object$1 } from '../parsers/object.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  require('../../pattern/result.cjs');
@@ -1,12 +1,22 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
- import { type DataParser } from "../base";
5
+ import { type Output, type DataParser } from "../base";
6
6
  type _DataParserOptionalExtended<GenericDefinition extends dataParsers.DataParserDefinitionOptional> = (dataParsers.DataParserOptional<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserOptionalExtended<GenericDefinition extends dataParsers.DataParserDefinitionOptional = dataParsers.DataParserDefinitionOptional> extends _DataParserOptionalExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserOptionalCheckers<Output<this>>,
10
+ ...dataParsers.DataParserOptionalCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserOptionalCheckers<Output<this>>,
13
+ ...dataParsers.DataParserOptionalCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserOptionalExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserOptionalExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
8
18
  }
9
- export declare function optional<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserOptionalExtended<MergeDefinition<dataParsers.DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
19
+ export declare function optional<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional<Output<GenericDataParser> | undefined>, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserOptionalExtended<MergeDefinition<dataParsers.DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
10
20
  inner: GenericDataParser;
11
21
  }>>;
12
22
  export {};
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import '../../pattern/result.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  require('../../pattern/result.cjs');
@@ -1,10 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
- import { type DataParser } from "../base";
5
+ import { type Output, type DataParser } from "../base";
6
6
  type _DataParserPipeExtended<GenericDefinition extends dataParsers.DataParserDefinitionPipe> = (dataParsers.DataParserPipe<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserPipeExtended<GenericDefinition extends dataParsers.DataParserDefinitionPipe = dataParsers.DataParserDefinitionPipe> extends _DataParserPipeExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserPipeCheckers<Output<this>>,
10
+ ...dataParsers.DataParserPipeCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserPipeCheckers<Output<this>>,
13
+ ...dataParsers.DataParserPipeCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserPipeExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserPipeExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
8
18
  }
9
19
  export declare function pipe<GenericInput extends DataParser, GenericOutput extends DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionPipe, "input" | "output">> = never>(input: GenericInput, output: GenericOutput, definition?: GenericDefinition): DataParserPipeExtended<MergeDefinition<dataParsers.DataParserDefinitionPipe, NeverCoalescing<GenericDefinition, {}> & {
10
20
  input: GenericInput;
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import '../../pattern/result.mjs';
@@ -1,13 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  require('../../pattern/result.cjs');
7
- var record$1 = require('../parsers/record.cjs');
8
+ var index = require('../parsers/record/index.cjs');
8
9
 
9
10
  function record(key, value, definition) {
10
- return baseExtended.dataParserExtendedInit(record$1.record(key, value, definition), {});
11
+ return baseExtended.dataParserExtendedInit(index.record(key, value, definition), {});
11
12
  }
12
13
 
13
14
  exports.record = record;
@@ -1,10 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
- import { type DataParser } from "../base";
5
+ import { type Output, type DataParser } from "../base";
6
6
  type _DataParserRecordExtended<GenericDefinition extends dataParsers.DataParserDefinitionRecord> = (dataParsers.DataParserRecord<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserRecordExtended<GenericDefinition extends dataParsers.DataParserDefinitionRecord = dataParsers.DataParserDefinitionRecord> extends _DataParserRecordExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserRecordCheckers<Output<this>>,
10
+ ...dataParsers.DataParserRecordCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserRecordCheckers<Output<this>>,
13
+ ...dataParsers.DataParserRecordCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserRecordExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserRecordExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
8
18
  }
9
19
  export declare function record<GenericDataParserKey extends dataParsers.DataParserRecordKey, GenericDataParserValue extends DataParser, const GenericDefinition extends Partial<dataParsers.DataParserDefinitionRecord> = never>(key: GenericDataParserKey, value: GenericDataParserValue, definition?: GenericDefinition): DataParserRecordExtended<MergeDefinition<dataParsers.DataParserDefinitionRecord, NeverCoalescing<GenericDefinition, {}> & {
10
20
  key: GenericDataParserKey;
@@ -1,8 +1,9 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import '../../pattern/result.mjs';
5
- import { record as record$1 } from '../parsers/record.mjs';
6
+ import { record as record$1 } from '../parsers/record/index.mjs';
6
7
 
7
8
  function record(key, value, definition) {
8
9
  return dataParserExtendedInit(record$1(key, value, definition), {});
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
5
+ require('../../common/globalStore.cjs');
6
+ require('../../common/builder.cjs');
7
+ require('../../pattern/result.cjs');
8
+ var recover$1 = require('../parsers/recover.cjs');
9
+
10
+ function recover(inner, recoveredValue, definition) {
11
+ return baseExtended.dataParserExtendedInit(recover$1.recover(inner, recoveredValue, definition), {});
12
+ }
13
+
14
+ exports.recover = recover;
@@ -0,0 +1,23 @@
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
+ import { type DataParserExtended } from "../baseExtended";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
+ import * as dataParsers from "../parsers";
5
+ import { type Output, type DataParser } from "../base";
6
+ type _DataParserRecoverExtended<GenericDefinition extends dataParsers.DataParserDefinitionRecover> = (dataParsers.DataParserRecover<GenericDefinition> & DataParserExtended);
7
+ export interface DataParserRecoverExtended<GenericDefinition extends dataParsers.DataParserDefinitionRecover = dataParsers.DataParserDefinitionRecover> extends _DataParserRecoverExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserRecoverCheckers<Output<this>>,
10
+ ...dataParsers.DataParserRecoverCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserRecoverCheckers<Output<this>>,
13
+ ...dataParsers.DataParserRecoverCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserRecoverExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserRecoverExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
18
+ }
19
+ export declare function recover<GenericDataParser extends DataParser, GenericRecoveredValue extends unknown, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionRecover, "inner" | "recoveredValue">> = never>(inner: GenericDataParser, recoveredValue: GenericRecoveredValue, definition?: GenericDefinition): DataParserRecoverExtended<MergeDefinition<dataParsers.DataParserDefinitionRecover, NeverCoalescing<GenericDefinition, {}> & {
20
+ inner: GenericDataParser;
21
+ recoveredValue: GenericRecoveredValue;
22
+ }>>;
23
+ export {};
@@ -0,0 +1,12 @@
1
+ import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
3
+ import '../../common/globalStore.mjs';
4
+ import '../../common/builder.mjs';
5
+ import '../../pattern/result.mjs';
6
+ import { recover as recover$1 } from '../parsers/recover.mjs';
7
+
8
+ function recover(inner, recoveredValue, definition) {
9
+ return dataParserExtendedInit(recover$1(inner, recoveredValue, definition), {});
10
+ }
11
+
12
+ export { recover };
@@ -4,6 +4,7 @@ var baseExtended = require('../baseExtended.cjs');
4
4
  var index = require('../parsers/string/index.cjs');
5
5
  require('../../common/globalStore.cjs');
6
6
  require('../../common/builder.cjs');
7
+ require('../base.cjs');
7
8
  require('../../pattern/result.cjs');
8
9
  var email$1 = require('../parsers/string/checkers/email.cjs');
9
10
  var url$1 = require('../parsers/string/checkers/url.cjs');
@@ -1,13 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserStringExtended<GenericDefinition extends dataParsers.DataParserDefinitionString> = (dataParsers.DataParserString<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserStringExtended<GenericDefinition extends dataParsers.DataParserDefinitionString = dataParsers.DataParserDefinitionString> extends _DataParserStringExtended<GenericDefinition> {
7
8
  addChecker<GenericChecker extends readonly [
8
9
  dataParsers.DataParserStringCheckers,
9
10
  ...dataParsers.DataParserStringCheckers[]
10
- ]>(...args: GenericChecker): DataParserStringExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserStringCheckers,
13
+ ...dataParsers.DataParserStringCheckers[]
14
+ ], GenericChecker>): DataParserStringExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserStringExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
11
18
  min(min: number, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionStringMin, "min">>): DataParserStringExtended<AddCheckersToDefinition<GenericDefinition, [
12
19
  dataParsers.DataParserCheckerStringMin
13
20
  ]>>;
@@ -2,6 +2,7 @@ import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import { string as string$1 } from '../parsers/string/index.mjs';
3
3
  import '../../common/globalStore.mjs';
4
4
  import '../../common/builder.mjs';
5
+ import '../base.mjs';
5
6
  import '../../pattern/result.mjs';
6
7
  import { checkerEmail } from '../parsers/string/checkers/email.mjs';
7
8
  import { checkerUrl } from '../parsers/string/checkers/url.mjs';
@@ -1,12 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
- var templateLiteral$1 = require('../parsers/templateLiteral.cjs');
7
+ var index = require('../parsers/templateLiteral/index.cjs');
8
+ require('../../pattern/result.cjs');
7
9
 
8
10
  function templateLiteral(template, definition) {
9
- return baseExtended.dataParserExtendedInit(templateLiteral$1.templateLiteral(template, definition), {});
11
+ return baseExtended.dataParserExtendedInit(index.templateLiteral(template, definition), {});
10
12
  }
11
13
 
12
14
  exports.templateLiteral = templateLiteral;
@@ -1,9 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserTemplateLiteralExtended<GenericDefinition extends dataParsers.DataParserDefinitionTemplateLiteral> = (dataParsers.DataParserTemplateLiteral<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserTemplateLiteralExtended<GenericDefinition extends dataParsers.DataParserDefinitionTemplateLiteral = dataParsers.DataParserDefinitionTemplateLiteral> extends _DataParserTemplateLiteralExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserTemplateLiteralCheckers<Output<this>>,
10
+ ...dataParsers.DataParserTemplateLiteralCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserTemplateLiteralCheckers<Output<this>>,
13
+ ...dataParsers.DataParserTemplateLiteralCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserTemplateLiteralExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserTemplateLiteralExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function templateLiteral<const GenericTemplate extends dataParsers.TemplateLiteralShape, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionTemplateLiteral, "template" | "pattern">> = never>(template: GenericTemplate, definition?: GenericDefinition): DataParserTemplateLiteralExtended<MergeDefinition<dataParsers.DataParserDefinitionTemplateLiteral, NeverCoalescing<GenericDefinition, {}> & {
9
20
  template: GenericTemplate;
@@ -1,7 +1,9 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
- import { templateLiteral as templateLiteral$1 } from '../parsers/templateLiteral.mjs';
5
+ import { templateLiteral as templateLiteral$1 } from '../parsers/templateLiteral/index.mjs';
6
+ import '../../pattern/result.mjs';
5
7
 
6
8
  function templateLiteral(template, definition) {
7
9
  return dataParserExtendedInit(templateLiteral$1(template, definition), {});
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var transform$1 = require('../parsers/transform.cjs');
@@ -1,11 +1,21 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
5
  import { type DataParser, type Output } from "../base";
6
6
  import { type DataParserError } from "../error";
7
7
  type _DataParserTransformExtended<GenericDefinition extends dataParsers.DataParserDefinitionTransform> = (dataParsers.DataParserTransform<GenericDefinition> & DataParserExtended);
8
8
  export interface DataParserTransformExtended<GenericDefinition extends dataParsers.DataParserDefinitionTransform = dataParsers.DataParserDefinitionTransform> extends _DataParserTransformExtended<GenericDefinition> {
9
+ addChecker<GenericChecker extends readonly [
10
+ dataParsers.DataParserTransformCheckers<Output<this>>,
11
+ ...dataParsers.DataParserTransformCheckers<Output<this>>[]
12
+ ]>(...args: FixDeepFunctionInfer<readonly [
13
+ dataParsers.DataParserTransformCheckers<Output<this>>,
14
+ ...dataParsers.DataParserTransformCheckers<Output<this>>[]
15
+ ], GenericChecker>): DataParserTransformExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
16
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserTransformExtended<AddCheckersToDefinition<GenericDefinition, [
17
+ dataParsers.CheckerRefineImplementation<Output<this>>
18
+ ]>>;
9
19
  }
10
20
  export declare function transform<GenericDataParser extends DataParser, GenericOutput extends unknown, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionTransform, "inner" | "theFunction">> = never>(inner: GenericDataParser, theFunction: (input: Output<GenericDataParser>, error: DataParserError) => GenericOutput, definition?: GenericDefinition): DataParserTransformExtended<MergeDefinition<dataParsers.DataParserDefinitionTransform, NeverCoalescing<GenericDefinition, {}> & {
11
21
  inner: GenericDataParser;
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { transform as transform$1 } from '../parsers/transform.mjs';
@@ -1,13 +1,23 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
7
+ var min = require('../parsers/array/checkers/min.cjs');
8
+ var max = require('../parsers/array/checkers/max.cjs');
6
9
  var tuple$1 = require('../parsers/tuple.cjs');
7
10
  require('../../pattern/result.cjs');
8
11
 
9
12
  function tuple(shape, definition) {
10
- return baseExtended.dataParserExtendedInit(tuple$1.tuple(shape, definition), {});
13
+ return baseExtended.dataParserExtendedInit(tuple$1.tuple(shape, definition), {
14
+ min(self, min$1, definition) {
15
+ return self.addChecker(min.checkerArrayMin(min$1, definition));
16
+ },
17
+ max(self, max$1, definition) {
18
+ return self.addChecker(max.checkerArrayMax(max$1, definition));
19
+ },
20
+ });
11
21
  }
12
22
 
13
23
  exports.tuple = tuple;
@@ -1,9 +1,26 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserTupleExtended<GenericDefinition extends dataParsers.DataParserDefinitionTuple> = (dataParsers.DataParserTuple<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserTupleExtended<GenericDefinition extends dataParsers.DataParserDefinitionTuple = dataParsers.DataParserDefinitionTuple> extends _DataParserTupleExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserTupleCheckers<Output<this>>,
10
+ ...dataParsers.DataParserTupleCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserTupleCheckers<Output<this>>,
13
+ ...dataParsers.DataParserTupleCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserTupleExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserTupleExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
18
+ min(min: number, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionArrayMin, "min">>): DataParserTupleExtended<AddCheckersToDefinition<GenericDefinition, [
19
+ dataParsers.DataParserCheckerArrayMin
20
+ ]>>;
21
+ max(max: number, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionArrayMax, "max">>): DataParserTupleExtended<AddCheckersToDefinition<GenericDefinition, [
22
+ dataParsers.DataParserCheckerArrayMax
23
+ ]>>;
7
24
  }
8
25
  export declare function tuple<GenericShape extends dataParsers.TupleShape, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionTuple, "shape">> = never>(shape: GenericShape, definition?: GenericDefinition): DataParserTupleExtended<MergeDefinition<dataParsers.DataParserDefinitionTuple, NeverCoalescing<GenericDefinition, {}> & {
9
26
  shape: GenericShape;
@@ -1,11 +1,21 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
5
+ import { checkerArrayMin } from '../parsers/array/checkers/min.mjs';
6
+ import { checkerArrayMax } from '../parsers/array/checkers/max.mjs';
4
7
  import { tuple as tuple$1 } from '../parsers/tuple.mjs';
5
8
  import '../../pattern/result.mjs';
6
9
 
7
10
  function tuple(shape, definition) {
8
- return dataParserExtendedInit(tuple$1(shape, definition), {});
11
+ return dataParserExtendedInit(tuple$1(shape, definition), {
12
+ min(self, min, definition) {
13
+ return self.addChecker(checkerArrayMin(min, definition));
14
+ },
15
+ max(self, max, definition) {
16
+ return self.addChecker(checkerArrayMax(max, definition));
17
+ },
18
+ });
9
19
  }
10
20
 
11
21
  export { tuple };
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var union$1 = require('../parsers/union.cjs');
@@ -1,9 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserUnionExtended<GenericDefinition extends dataParsers.DataParserDefinitionUnion> = (dataParsers.DataParserUnion<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserUnionExtended<GenericDefinition extends dataParsers.DataParserDefinitionUnion = dataParsers.DataParserDefinitionUnion> extends _DataParserUnionExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserUnionCheckers<Output<this>>,
10
+ ...dataParsers.DataParserUnionCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserUnionCheckers<Output<this>>,
13
+ ...dataParsers.DataParserUnionCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserUnionExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserUnionExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function union<GenericOptions extends dataParsers.UnionOptions, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionUnion, "options">> = never>(options: GenericOptions, definition?: GenericDefinition): DataParserUnionExtended<MergeDefinition<dataParsers.DataParserDefinitionUnion, NeverCoalescing<GenericDefinition, {}> & {
9
20
  options: GenericOptions;
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { union as union$1 } from '../parsers/union.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  require('../../pattern/result.cjs');
@@ -1,9 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserUnknownExtended<GenericDefinition extends dataParsers.DataParserDefinitionUnknown> = (dataParsers.DataParserUnknown<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserUnknownExtended<GenericDefinition extends dataParsers.DataParserDefinitionUnknown = dataParsers.DataParserDefinitionUnknown> extends _DataParserUnknownExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserUnknownCheckers,
10
+ ...dataParsers.DataParserUnknownCheckers[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserUnknownCheckers,
13
+ ...dataParsers.DataParserUnknownCheckers[]
14
+ ], GenericChecker>): DataParserUnknownExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserUnknownExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function unknown<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionUnknown> = never>(definition?: GenericDefinition): DataParserUnknownExtended<MergeDefinition<dataParsers.DataParserDefinitionUnknown, NeverCoalescing<GenericDefinition, {}>>>;
9
20
  export {};
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import '../../pattern/result.mjs';
@@ -1,10 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var coalescing = require('../array/coalescing.cjs');
4
3
  require('../common/globalStore.cjs');
5
4
  require('../common/builder.cjs');
6
- var error = require('../either/left/error.cjs');
7
- var success = require('../either/right/success.cjs');
5
+ var createKindIdentifier = require('../common/createKindIdentifier.cjs');
8
6
 
9
7
  /**
10
8
  * Due to the recursive typing of `DataParsers`, it can’t be used without
@@ -14,19 +12,6 @@ var success = require('../either/right/success.cjs');
14
12
  * starting from the parent type and the kinds associated with the data
15
13
  * parsers, the correct type can be retrieved.
16
14
  */
17
- function identifier(...args) {
18
- if (args.length === 1) {
19
- const [kind] = args;
20
- return (input) => identifier(input, kind);
21
- }
22
- const [input, kind] = args;
23
- const formattedKind = coalescing.coalescing(kind);
24
- for (const kind of formattedKind) {
25
- if (!kind.has(input)) {
26
- return error.error(input);
27
- }
28
- }
29
- return success.success(input);
30
- }
15
+ const identifier = createKindIdentifier.createKindIdentifier();
31
16
 
32
17
  exports.identifier = identifier;