@duplojs/utils 1.1.13 → 1.1.15

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 (242) 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/isType.cjs +12 -1
  17. package/dist/common/isType.d.ts +4 -2
  18. package/dist/common/isType.mjs +12 -1
  19. package/dist/common/justReturn.d.ts +2 -2
  20. package/dist/common/kind.d.ts +2 -2
  21. package/dist/common/or.d.ts +9 -9
  22. package/dist/common/types/index.d.ts +1 -0
  23. package/dist/common/types/onlyLiteral.d.ts +18 -0
  24. package/dist/dataParser/base.cjs +55 -29
  25. package/dist/dataParser/base.d.ts +1 -1
  26. package/dist/dataParser/base.mjs +55 -29
  27. package/dist/dataParser/baseExtended.cjs +15 -2
  28. package/dist/dataParser/baseExtended.d.ts +8 -3
  29. package/dist/dataParser/baseExtended.mjs +15 -2
  30. package/dist/dataParser/extended/array.cjs +1 -0
  31. package/dist/dataParser/extended/array.d.ts +11 -5
  32. package/dist/dataParser/extended/array.mjs +1 -0
  33. package/dist/dataParser/extended/bigint.cjs +1 -0
  34. package/dist/dataParser/extended/bigint.d.ts +9 -2
  35. package/dist/dataParser/extended/bigint.mjs +1 -0
  36. package/dist/dataParser/extended/boolean.cjs +1 -0
  37. package/dist/dataParser/extended/boolean.d.ts +13 -2
  38. package/dist/dataParser/extended/boolean.mjs +1 -0
  39. package/dist/dataParser/extended/coerce/bigint.cjs +1 -0
  40. package/dist/dataParser/extended/coerce/bigint.mjs +1 -0
  41. package/dist/dataParser/extended/coerce/boolean.cjs +1 -0
  42. package/dist/dataParser/extended/coerce/boolean.mjs +1 -0
  43. package/dist/dataParser/extended/coerce/empty.cjs +1 -0
  44. package/dist/dataParser/extended/coerce/empty.mjs +1 -0
  45. package/dist/dataParser/extended/coerce/nil.cjs +1 -0
  46. package/dist/dataParser/extended/coerce/nil.mjs +1 -0
  47. package/dist/dataParser/extended/coerce/number.cjs +1 -0
  48. package/dist/dataParser/extended/coerce/number.mjs +1 -0
  49. package/dist/dataParser/extended/coerce/string.cjs +1 -0
  50. package/dist/dataParser/extended/coerce/string.mjs +1 -0
  51. package/dist/dataParser/extended/empty.cjs +1 -0
  52. package/dist/dataParser/extended/empty.d.ts +13 -2
  53. package/dist/dataParser/extended/empty.mjs +1 -0
  54. package/dist/dataParser/extended/index.cjs +2 -0
  55. package/dist/dataParser/extended/index.d.ts +1 -0
  56. package/dist/dataParser/extended/index.mjs +1 -0
  57. package/dist/dataParser/extended/lazy.cjs +1 -0
  58. package/dist/dataParser/extended/lazy.d.ts +13 -3
  59. package/dist/dataParser/extended/lazy.mjs +1 -0
  60. package/dist/dataParser/extended/literal.cjs +1 -0
  61. package/dist/dataParser/extended/literal.d.ts +13 -2
  62. package/dist/dataParser/extended/literal.mjs +1 -0
  63. package/dist/dataParser/extended/nil.cjs +1 -0
  64. package/dist/dataParser/extended/nil.d.ts +13 -2
  65. package/dist/dataParser/extended/nil.mjs +1 -0
  66. package/dist/dataParser/extended/nullable.cjs +1 -0
  67. package/dist/dataParser/extended/nullable.d.ts +14 -4
  68. package/dist/dataParser/extended/nullable.mjs +1 -0
  69. package/dist/dataParser/extended/number.cjs +1 -0
  70. package/dist/dataParser/extended/number.d.ts +9 -2
  71. package/dist/dataParser/extended/number.mjs +1 -0
  72. package/dist/dataParser/extended/object.cjs +1 -0
  73. package/dist/dataParser/extended/object.d.ts +13 -2
  74. package/dist/dataParser/extended/object.mjs +1 -0
  75. package/dist/dataParser/extended/optional.cjs +1 -0
  76. package/dist/dataParser/extended/optional.d.ts +14 -4
  77. package/dist/dataParser/extended/optional.mjs +1 -0
  78. package/dist/dataParser/extended/pipe.cjs +1 -0
  79. package/dist/dataParser/extended/pipe.d.ts +13 -3
  80. package/dist/dataParser/extended/pipe.mjs +1 -0
  81. package/dist/dataParser/extended/record.cjs +3 -2
  82. package/dist/dataParser/extended/record.d.ts +13 -3
  83. package/dist/dataParser/extended/record.mjs +2 -1
  84. package/dist/dataParser/extended/recover.cjs +14 -0
  85. package/dist/dataParser/extended/recover.d.ts +23 -0
  86. package/dist/dataParser/extended/recover.mjs +12 -0
  87. package/dist/dataParser/extended/string.cjs +1 -0
  88. package/dist/dataParser/extended/string.d.ts +9 -2
  89. package/dist/dataParser/extended/string.mjs +1 -0
  90. package/dist/dataParser/extended/templateLiteral.cjs +4 -2
  91. package/dist/dataParser/extended/templateLiteral.d.ts +13 -2
  92. package/dist/dataParser/extended/templateLiteral.mjs +3 -1
  93. package/dist/dataParser/extended/transform.cjs +1 -0
  94. package/dist/dataParser/extended/transform.d.ts +12 -2
  95. package/dist/dataParser/extended/transform.mjs +1 -0
  96. package/dist/dataParser/extended/tuple.cjs +11 -1
  97. package/dist/dataParser/extended/tuple.d.ts +19 -2
  98. package/dist/dataParser/extended/tuple.mjs +11 -1
  99. package/dist/dataParser/extended/union.cjs +1 -0
  100. package/dist/dataParser/extended/union.d.ts +13 -2
  101. package/dist/dataParser/extended/union.mjs +1 -0
  102. package/dist/dataParser/extended/unknown.cjs +1 -0
  103. package/dist/dataParser/extended/unknown.d.ts +13 -2
  104. package/dist/dataParser/extended/unknown.mjs +1 -0
  105. package/dist/dataParser/identifier.cjs +2 -17
  106. package/dist/dataParser/identifier.d.ts +216 -8
  107. package/dist/dataParser/identifier.mjs +2 -17
  108. package/dist/dataParser/index.cjs +29 -18
  109. package/dist/dataParser/index.mjs +18 -14
  110. package/dist/dataParser/parsers/array/checkers/max.cjs +3 -3
  111. package/dist/dataParser/parsers/array/checkers/max.d.ts +2 -2
  112. package/dist/dataParser/parsers/array/checkers/max.mjs +3 -3
  113. package/dist/dataParser/parsers/array/checkers/min.cjs +3 -3
  114. package/dist/dataParser/parsers/array/checkers/min.d.ts +2 -2
  115. package/dist/dataParser/parsers/array/checkers/min.mjs +3 -3
  116. package/dist/dataParser/parsers/array/index.d.ts +14 -7
  117. package/dist/dataParser/parsers/bigint/checkers/max.cjs +3 -3
  118. package/dist/dataParser/parsers/bigint/checkers/max.d.ts +2 -2
  119. package/dist/dataParser/parsers/bigint/checkers/max.mjs +3 -3
  120. package/dist/dataParser/parsers/bigint/checkers/min.cjs +3 -3
  121. package/dist/dataParser/parsers/bigint/checkers/min.d.ts +2 -2
  122. package/dist/dataParser/parsers/bigint/checkers/min.mjs +3 -3
  123. package/dist/dataParser/parsers/bigint/index.d.ts +11 -4
  124. package/dist/dataParser/parsers/boolean.d.ts +16 -4
  125. package/dist/dataParser/parsers/coerce/bigint.cjs +1 -0
  126. package/dist/dataParser/parsers/coerce/bigint.mjs +1 -0
  127. package/dist/dataParser/parsers/coerce/boolean.cjs +1 -0
  128. package/dist/dataParser/parsers/coerce/boolean.mjs +1 -0
  129. package/dist/dataParser/parsers/coerce/empty.cjs +1 -0
  130. package/dist/dataParser/parsers/coerce/empty.mjs +1 -0
  131. package/dist/dataParser/parsers/coerce/nil.cjs +1 -0
  132. package/dist/dataParser/parsers/coerce/nil.mjs +1 -0
  133. package/dist/dataParser/parsers/coerce/number.cjs +1 -0
  134. package/dist/dataParser/parsers/coerce/number.mjs +1 -0
  135. package/dist/dataParser/parsers/coerce/string.cjs +1 -0
  136. package/dist/dataParser/parsers/coerce/string.mjs +1 -0
  137. package/dist/dataParser/parsers/empty.d.ts +16 -4
  138. package/dist/dataParser/parsers/index.d.ts +2 -0
  139. package/dist/dataParser/parsers/lazy.d.ts +16 -4
  140. package/dist/dataParser/parsers/literal.d.ts +16 -4
  141. package/dist/dataParser/parsers/nil.d.ts +16 -4
  142. package/dist/dataParser/parsers/nullable.cjs +3 -2
  143. package/dist/dataParser/parsers/nullable.d.ts +19 -6
  144. package/dist/dataParser/parsers/nullable.mjs +3 -2
  145. package/dist/dataParser/parsers/number/checkers/int.cjs +3 -3
  146. package/dist/dataParser/parsers/number/checkers/int.d.ts +2 -2
  147. package/dist/dataParser/parsers/number/checkers/int.mjs +3 -3
  148. package/dist/dataParser/parsers/number/checkers/max.cjs +3 -3
  149. package/dist/dataParser/parsers/number/checkers/max.d.ts +2 -2
  150. package/dist/dataParser/parsers/number/checkers/max.mjs +3 -3
  151. package/dist/dataParser/parsers/number/checkers/min.cjs +3 -3
  152. package/dist/dataParser/parsers/number/checkers/min.d.ts +2 -2
  153. package/dist/dataParser/parsers/number/checkers/min.mjs +3 -3
  154. package/dist/dataParser/parsers/number/index.d.ts +11 -4
  155. package/dist/dataParser/parsers/object.d.ts +16 -4
  156. package/dist/dataParser/parsers/optional.cjs +3 -2
  157. package/dist/dataParser/parsers/optional.d.ts +19 -6
  158. package/dist/dataParser/parsers/optional.mjs +3 -2
  159. package/dist/dataParser/parsers/pipe.d.ts +16 -4
  160. package/dist/dataParser/parsers/record/findRecordRequiredKey.cjs +50 -0
  161. package/dist/dataParser/parsers/record/findRecordRequiredKey.d.ts +4 -0
  162. package/dist/dataParser/parsers/record/findRecordRequiredKey.mjs +47 -0
  163. package/dist/dataParser/parsers/{record.cjs → record/index.cjs} +21 -3
  164. package/dist/dataParser/parsers/record/index.d.ts +42 -0
  165. package/dist/dataParser/parsers/{record.mjs → record/index.mjs} +21 -4
  166. package/dist/dataParser/parsers/recover.cjs +32 -0
  167. package/dist/dataParser/parsers/recover.d.ts +28 -0
  168. package/dist/dataParser/parsers/recover.mjs +29 -0
  169. package/dist/dataParser/parsers/refine.cjs +18 -0
  170. package/dist/dataParser/parsers/refine.d.ts +17 -0
  171. package/dist/dataParser/parsers/refine.mjs +15 -0
  172. package/dist/dataParser/parsers/string/checkers/email.cjs +3 -3
  173. package/dist/dataParser/parsers/string/checkers/email.d.ts +2 -2
  174. package/dist/dataParser/parsers/string/checkers/email.mjs +3 -3
  175. package/dist/dataParser/parsers/string/checkers/max.cjs +3 -3
  176. package/dist/dataParser/parsers/string/checkers/max.d.ts +2 -2
  177. package/dist/dataParser/parsers/string/checkers/max.mjs +3 -3
  178. package/dist/dataParser/parsers/string/checkers/min.cjs +3 -3
  179. package/dist/dataParser/parsers/string/checkers/min.d.ts +2 -2
  180. package/dist/dataParser/parsers/string/checkers/min.mjs +3 -3
  181. package/dist/dataParser/parsers/string/checkers/regex.cjs +3 -3
  182. package/dist/dataParser/parsers/string/checkers/regex.d.ts +2 -2
  183. package/dist/dataParser/parsers/string/checkers/regex.mjs +3 -3
  184. package/dist/dataParser/parsers/string/checkers/url.cjs +3 -3
  185. package/dist/dataParser/parsers/string/checkers/url.d.ts +2 -2
  186. package/dist/dataParser/parsers/string/checkers/url.mjs +3 -3
  187. package/dist/dataParser/parsers/string/index.d.ts +11 -4
  188. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.cjs +75 -0
  189. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.d.ts +2 -0
  190. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.mjs +73 -0
  191. package/dist/dataParser/parsers/templateLiteral/index.cjs +31 -0
  192. package/dist/dataParser/parsers/templateLiteral/index.d.ts +66 -0
  193. package/dist/dataParser/parsers/templateLiteral/index.mjs +27 -0
  194. package/dist/dataParser/parsers/transform.d.ts +16 -4
  195. package/dist/dataParser/parsers/tuple.d.ts +14 -4
  196. package/dist/dataParser/parsers/union.d.ts +16 -4
  197. package/dist/dataParser/parsers/unknown.d.ts +16 -4
  198. package/dist/dataParser/types/checkers.d.ts +1 -1
  199. package/dist/dataParser/types/dataParsers.d.ts +2 -2
  200. package/dist/either/bool/falsy.cjs +1 -1
  201. package/dist/either/bool/falsy.d.ts +2 -2
  202. package/dist/either/bool/falsy.mjs +1 -1
  203. package/dist/either/bool/truthy.cjs +2 -2
  204. package/dist/either/bool/truthy.d.ts +2 -2
  205. package/dist/either/bool/truthy.mjs +2 -2
  206. package/dist/either/future/create.cjs +1 -1
  207. package/dist/either/future/create.mjs +1 -1
  208. package/dist/either/left/when.d.ts +2 -2
  209. package/dist/either/nullable/empty.cjs +1 -1
  210. package/dist/either/nullable/empty.d.ts +2 -2
  211. package/dist/either/nullable/empty.mjs +1 -1
  212. package/dist/either/nullable/filled.d.ts +2 -2
  213. package/dist/either/nullish/empty.d.ts +2 -2
  214. package/dist/either/nullish/filled.cjs +2 -2
  215. package/dist/either/nullish/filled.d.ts +2 -2
  216. package/dist/either/nullish/filled.mjs +2 -2
  217. package/dist/either/optional/empty.d.ts +2 -2
  218. package/dist/either/optional/filled.cjs +2 -2
  219. package/dist/either/optional/filled.d.ts +2 -2
  220. package/dist/either/optional/filled.mjs +2 -2
  221. package/dist/either/right/asyncPipe.cjs +1 -1
  222. package/dist/either/right/asyncPipe.mjs +1 -1
  223. package/dist/either/right/pipe.cjs +1 -1
  224. package/dist/either/right/pipe.mjs +1 -1
  225. package/dist/either/right/when.d.ts +2 -2
  226. package/dist/generator/asyncReduce.cjs +1 -1
  227. package/dist/generator/asyncReduce.d.ts +4 -3
  228. package/dist/generator/asyncReduce.mjs +1 -1
  229. package/dist/generator/reduce.d.ts +6 -7
  230. package/dist/index.cjs +2 -0
  231. package/dist/index.mjs +1 -0
  232. package/dist/object/entries.d.ts +2 -1
  233. package/dist/object/values.cjs +8 -1
  234. package/dist/object/values.d.ts +1 -3
  235. package/dist/object/values.mjs +8 -1
  236. package/dist/string/types/index.d.ts +1 -0
  237. package/dist/string/types/templateLiteralContainLargeType.d.ts +5 -0
  238. package/package.json +3 -3
  239. package/dist/dataParser/parsers/record.d.ts +0 -30
  240. package/dist/dataParser/parsers/templateLiteral.cjs +0 -47
  241. package/dist/dataParser/parsers/templateLiteral.d.ts +0 -49
  242. package/dist/dataParser/parsers/templateLiteral.mjs +0 -44
@@ -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 _DataParserLiteralExtended<GenericDefinition extends dataParsers.DataParserDefinitionLiteral> = (dataParsers.DataParserLiteral<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserLiteralExtended<GenericDefinition extends dataParsers.DataParserDefinitionLiteral = dataParsers.DataParserDefinitionLiteral> extends _DataParserLiteralExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserLiteralCheckers<Output<this>>,
10
+ ...dataParsers.DataParserLiteralCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserLiteralCheckers<Output<this>>,
13
+ ...dataParsers.DataParserLiteralCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserLiteralExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserLiteralExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function literal<const GenericValue extends dataParsers.LiteralValue, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionLiteral, "value">> = never>(value: GenericValue | GenericValue[], definition?: GenericDefinition): DataParserLiteralExtended<MergeDefinition<dataParsers.DataParserDefinitionLiteral, NeverCoalescing<GenericDefinition, {}> & {
9
20
  value: GenericValue[];
@@ -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 { literal as literal$1 } from '../parsers/literal.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 nil$1 = require('../parsers/nil.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 _DataParserNilExtended<GenericDefinition extends dataParsers.DataParserDefinitionNil> = (dataParsers.DataParserNil<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserNilExtended<GenericDefinition extends dataParsers.DataParserDefinitionNil = dataParsers.DataParserDefinitionNil> extends _DataParserNilExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserNilCheckers,
10
+ ...dataParsers.DataParserNilCheckers[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserNilCheckers,
13
+ ...dataParsers.DataParserNilCheckers[]
14
+ ], GenericChecker>): DataParserNilExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNilExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function nil<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionNil> = never>(definition?: GenericDefinition): DataParserNilExtended<MergeDefinition<dataParsers.DataParserDefinitionNil, 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 { nil as nil$1 } from '../parsers/nil.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 _DataParserNullableExtended<GenericDefinition extends dataParsers.DataParserDefinitionNullable> = (dataParsers.DataParserNullable<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserNullableExtended<GenericDefinition extends dataParsers.DataParserDefinitionNullable = dataParsers.DataParserDefinitionNullable> extends _DataParserNullableExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserNullableCheckers<Output<this>>,
10
+ ...dataParsers.DataParserNullableCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserNullableCheckers<Output<this>>,
13
+ ...dataParsers.DataParserNullableCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserNullableExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNullableExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
8
18
  }
9
- export declare function nullable<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
19
+ export declare function nullable<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable<Output<GenericDataParser> | null>, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, 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
  var index = require('../parsers/number/index.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 _DataParserNumberExtended<GenericDefinition extends dataParsers.DataParserDefinitionNumber> = (dataParsers.DataParserNumber<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserNumberExtended<GenericDefinition extends dataParsers.DataParserDefinitionNumber = dataParsers.DataParserDefinitionNumber> extends _DataParserNumberExtended<GenericDefinition> {
7
8
  addChecker<GenericChecker extends readonly [
8
9
  dataParsers.DataParserNumberCheckers,
9
10
  ...dataParsers.DataParserNumberCheckers[]
10
- ]>(...args: GenericChecker): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserNumberCheckers,
13
+ ...dataParsers.DataParserNumberCheckers[]
14
+ ], GenericChecker>): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
11
18
  min(min: number, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionNumberMin, "min">>): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, [
12
19
  dataParsers.DataParserCheckerNumberMin
13
20
  ]>>;
@@ -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;