@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,10 @@
1
1
  import { simpleClone } from '../common/simpleClone.mjs';
2
+ import { keyWrappedValue } from '../common/wrapValue.mjs';
2
3
  import '../common/globalStore.mjs';
3
4
  import '../common/builder.mjs';
4
- import { createError, SymbolDataParserErrorIssue, addIssue, SymbolDataParserErrorPromiseIssue, addPromiseIssue } from './error.mjs';
5
5
  import { error } from '../either/left/error.mjs';
6
6
  import { success } from '../either/right/success.mjs';
7
+ import { createError, addIssue, addPromiseIssue, SymbolDataParserErrorIssue, SymbolDataParserErrorPromiseIssue } from './error.mjs';
7
8
  import { createDataParserKind } from './kind.mjs';
8
9
 
9
10
  const SymbolDataParserErrorLabel = "SymbolDataParserError";
@@ -16,6 +17,14 @@ function dataParserCheckerInit(kind, params, exec) {
16
17
  }));
17
18
  }
18
19
  const dataParserKind = createDataParserKind("base");
20
+ // This allows for better performance WTF ???
21
+ const SDPEI = SymbolDataParserErrorIssue;
22
+ const SDPEPI = SymbolDataParserErrorPromiseIssue;
23
+ const SDPE = SymbolDataParserError;
24
+ const DPE = createError();
25
+ const EE = error(null);
26
+ const ES = success(null);
27
+ const KWV = keyWrappedValue;
19
28
  function dataParserInit(kind, params, exec) {
20
29
  const formattedExec = typeof exec === "object"
21
30
  ? exec
@@ -25,21 +34,21 @@ function dataParserInit(kind, params, exec) {
25
34
  };
26
35
  function middleExec(data, error) {
27
36
  let result = formattedExec.sync(data, error, dataParser);
28
- if (result === SymbolDataParserErrorIssue) {
37
+ if (result === SDPEI) {
29
38
  addIssue(error, dataParser, data);
30
- return SymbolDataParserError;
39
+ return SDPE;
31
40
  }
32
- else if (result === SymbolDataParserErrorPromiseIssue) {
41
+ else if (result === SDPEPI) {
33
42
  addPromiseIssue(error, dataParser, data);
34
- return SymbolDataParserError;
43
+ return SDPE;
35
44
  }
36
- else if (result !== SymbolDataParserError
45
+ else if (result !== SDPE
37
46
  && dataParser.definition.checkers.length) {
38
47
  for (const checker of dataParser.definition.checkers) {
39
48
  const checkerResult = checker.exec(result, checker);
40
- if (checkerResult === SymbolDataParserErrorIssue) {
49
+ if (checkerResult === SDPEI) {
41
50
  addIssue(error, checker, result);
42
- return SymbolDataParserError;
51
+ return SDPE;
43
52
  }
44
53
  else {
45
54
  result = checkerResult;
@@ -50,21 +59,21 @@ function dataParserInit(kind, params, exec) {
50
59
  }
51
60
  async function middleAsyncExec(data, error) {
52
61
  let result = await formattedExec.async(data, error, dataParser);
53
- if (result === SymbolDataParserErrorIssue) {
62
+ if (result === SDPEI) {
54
63
  addIssue(error, dataParser, data);
55
- return SymbolDataParserError;
64
+ return SDPE;
56
65
  }
57
- else if (result === SymbolDataParserErrorPromiseIssue) {
66
+ else if (result === SDPEPI) {
58
67
  addPromiseIssue(error, dataParser, data);
59
- return SymbolDataParserError;
68
+ return SDPE;
60
69
  }
61
- else if (result !== SymbolDataParserError
70
+ else if (result !== SDPE
62
71
  && dataParser.definition.checkers.length) {
63
72
  for (const checker of dataParser.definition.checkers) {
64
73
  const checkerResult = checker.exec(result, checker);
65
- if (checkerResult === SymbolDataParserErrorIssue) {
74
+ if (checkerResult === SDPEI) {
66
75
  addIssue(error, checker, result);
67
- return SymbolDataParserError;
76
+ return SDPE;
68
77
  }
69
78
  else {
70
79
  result = checkerResult;
@@ -78,20 +87,40 @@ function dataParserInit(kind, params, exec) {
78
87
  exec: middleExec,
79
88
  asyncExec: middleAsyncExec,
80
89
  parse(data) {
81
- const error$1 = createError();
82
- const result = middleExec(data, error$1);
83
- if (result === SymbolDataParserError) {
84
- return error(error$1);
90
+ const error = {
91
+ ...DPE,
92
+ issues: [],
93
+ currentPath: [],
94
+ };
95
+ const result = middleExec(data, error);
96
+ if (result === SDPE) {
97
+ return {
98
+ ...EE,
99
+ [KWV]: error,
100
+ };
85
101
  }
86
- return success(result);
102
+ return {
103
+ ...ES,
104
+ [KWV]: result,
105
+ };
87
106
  },
88
107
  async asyncParse(data) {
89
- const error$1 = createError();
90
- const result = await middleAsyncExec(data, error$1);
91
- if (result === SymbolDataParserError) {
92
- return error(error$1);
108
+ const error = {
109
+ ...DPE,
110
+ issues: [],
111
+ currentPath: [],
112
+ };
113
+ const result = await middleAsyncExec(data, error);
114
+ if (result === SDPE) {
115
+ return {
116
+ ...EE,
117
+ [KWV]: error,
118
+ };
93
119
  }
94
- return success(result);
120
+ return {
121
+ ...ES,
122
+ [KWV]: result,
123
+ };
95
124
  },
96
125
  addChecker: (...checkers) => dataParserInit(kind, simpleClone({
97
126
  ...params,
@@ -101,10 +130,7 @@ function dataParserInit(kind, params, exec) {
101
130
  },
102
131
  }), exec),
103
132
  clone: () => dataParserInit(kind, simpleClone(params), exec),
104
- }, {
105
- output: undefined,
106
- input: undefined,
107
- }));
133
+ }, null));
108
134
  return dataParser;
109
135
  }
110
136
 
@@ -7,14 +7,17 @@ var entry = require('../object/entry.cjs');
7
7
  var map = require('../array/map.cjs');
8
8
  require('../common/globalStore.cjs');
9
9
  require('../common/builder.cjs');
10
+ require('./base.cjs');
10
11
  var kind = require('./kind.cjs');
11
12
  require('../pattern/result.cjs');
13
+ var refine = require('./parsers/refine.cjs');
12
14
  var array = require('./extended/array.cjs');
13
15
  var transform = require('./extended/transform.cjs');
14
16
  var union = require('./extended/union.cjs');
15
17
  var nullable = require('./extended/nullable.cjs');
16
18
  var optional = require('./extended/optional.cjs');
17
19
  var pipe$1 = require('./extended/pipe.cjs');
20
+ var recover = require('./extended/recover.cjs');
18
21
 
19
22
  const extendedKind = kind.createDataParserKind("extended");
20
23
  function dataParserExtendedInit(dataParser, rest) {
@@ -47,8 +50,18 @@ function dataParserExtendedInit(dataParser, rest) {
47
50
  or(option, definition) {
48
51
  return union.union([self, option], definition);
49
52
  },
50
- addChecker: (...checkers) => dataParserExtendedInit(dataParser.addChecker(...checkers), rest),
51
- clone: () => dataParserExtendedInit(dataParser.clone(), rest),
53
+ addChecker(...checkers) {
54
+ return dataParserExtendedInit(dataParser.addChecker(...checkers), rest);
55
+ },
56
+ clone() {
57
+ return dataParserExtendedInit(dataParser.clone(), rest);
58
+ },
59
+ refine(theFunction) {
60
+ return dataParserExtendedInit(dataParser.addChecker(refine.checkerRefine(theFunction)), rest);
61
+ },
62
+ recover(recoveredValue, definition) {
63
+ return recover.recover(self, recoveredValue, definition);
64
+ },
52
65
  });
53
66
  return self;
54
67
  }
@@ -1,7 +1,7 @@
1
1
  import { type Kind, type NeverCoalescing, type AnyFunction, type SimplifyTopLevel, type AnyValue } from "../common";
2
2
  import { type MergeDefinition } from "./types";
3
3
  import { type Output, type DataParser } from "./base";
4
- import type * as dataParsers from "./parsers";
4
+ import * as dataParsers from "./parsers";
5
5
  import * as dataParsersExtended from "./extended";
6
6
  import { type DataParserError } from "./error";
7
7
  export declare const extendedKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>>;
@@ -29,15 +29,20 @@ export interface DataParserExtended extends _DataParserExtended {
29
29
  input: GenericThis;
30
30
  output: GenericOutput;
31
31
  }>>;
32
- nullable<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
32
+ nullable<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable<Output<GenericThis> | null>, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
33
33
  inner: GenericThis;
34
34
  }>>;
35
- optional<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserOptionalExtended<MergeDefinition<dataParsers.DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
35
+ optional<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional<Output<GenericThis> | undefined>, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserOptionalExtended<MergeDefinition<dataParsers.DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
36
36
  inner: GenericThis;
37
37
  }>>;
38
38
  or<GenericThis extends this = this, GenericDataParser extends DataParser = DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionUnion, "options">> = never>(option: GenericDataParser, definition?: GenericDefinition): dataParsersExtended.DataParserUnionExtended<MergeDefinition<dataParsers.DataParserDefinitionUnion, NeverCoalescing<GenericDefinition, {}> & {
39
39
  options: [GenericThis, GenericDataParser];
40
40
  }>>;
41
+ refine(...args: never): DataParserExtended;
42
+ recover<GenericThis extends this = this, GenericRecoveredValue extends unknown = unknown, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionRecover, "inner" | "recoveredValue">> = never>(recoveredValue: GenericRecoveredValue, definition?: GenericDefinition): dataParsersExtended.DataParserRecoverExtended<MergeDefinition<dataParsers.DataParserDefinitionRecover, NeverCoalescing<GenericDefinition, {}> & {
43
+ inner: GenericThis;
44
+ recoveredValue: GenericRecoveredValue;
45
+ }>>;
41
46
  }
42
47
  export declare function dataParserExtendedInit<GenericDataParser extends DataParser, GenericDataParserExtended extends GenericDataParser & DataParserExtended>(dataParser: NoInfer<GenericDataParser>, rest: NoInfer<{
43
48
  [Prop in Exclude<keyof GenericDataParserExtended, keyof (GenericDataParser & DataParserExtended)>]: GenericDataParserExtended[Prop] extends AnyFunction ? (self: GenericDataParserExtended, ...args: Parameters<GenericDataParserExtended[Prop]>) => ReturnType<GenericDataParserExtended[Prop]> : GenericDataParserExtended[Prop];
@@ -5,14 +5,17 @@ import { entry } from '../object/entry.mjs';
5
5
  import { map } from '../array/map.mjs';
6
6
  import '../common/globalStore.mjs';
7
7
  import '../common/builder.mjs';
8
+ import './base.mjs';
8
9
  import { createDataParserKind } from './kind.mjs';
9
10
  import '../pattern/result.mjs';
11
+ import { checkerRefine } from './parsers/refine.mjs';
10
12
  import { array } from './extended/array.mjs';
11
13
  import { transform } from './extended/transform.mjs';
12
14
  import { union } from './extended/union.mjs';
13
15
  import { nullable } from './extended/nullable.mjs';
14
16
  import { optional } from './extended/optional.mjs';
15
17
  import { pipe as pipe$1 } from './extended/pipe.mjs';
18
+ import { recover } from './extended/recover.mjs';
16
19
 
17
20
  const extendedKind = createDataParserKind("extended");
18
21
  function dataParserExtendedInit(dataParser, rest) {
@@ -45,8 +48,18 @@ function dataParserExtendedInit(dataParser, rest) {
45
48
  or(option, definition) {
46
49
  return union([self, option], definition);
47
50
  },
48
- addChecker: (...checkers) => dataParserExtendedInit(dataParser.addChecker(...checkers), rest),
49
- clone: () => dataParserExtendedInit(dataParser.clone(), rest),
51
+ addChecker(...checkers) {
52
+ return dataParserExtendedInit(dataParser.addChecker(...checkers), rest);
53
+ },
54
+ clone() {
55
+ return dataParserExtendedInit(dataParser.clone(), rest);
56
+ },
57
+ refine(theFunction) {
58
+ return dataParserExtendedInit(dataParser.addChecker(checkerRefine(theFunction)), rest);
59
+ },
60
+ recover(recoveredValue, definition) {
61
+ return recover(self, recoveredValue, definition);
62
+ },
50
63
  });
51
64
  return self;
52
65
  }
@@ -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/array/index.cjs');
@@ -1,14 +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 DataParser } from "../base";
5
+ import { type Output, type DataParser } from "../base";
6
6
  type _DataParserArrayExtended<GenericDefinition extends dataParsers.DataParserDefinitionArray> = (dataParsers.DataParserArray<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserArrayExtended<GenericDefinition extends dataParsers.DataParserDefinitionArray = dataParsers.DataParserDefinitionArray> extends _DataParserArrayExtended<GenericDefinition> {
8
8
  addChecker<GenericChecker extends readonly [
9
- dataParsers.DataParserArrayCheckers,
10
- ...dataParsers.DataParserArrayCheckers[]
11
- ]>(...args: GenericChecker): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
9
+ dataParsers.DataParserArrayCheckers<Output<this>>,
10
+ ...dataParsers.DataParserArrayCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserArrayCheckers<Output<this>>,
13
+ ...dataParsers.DataParserArrayCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
12
18
  min(min: number, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionArrayMin, "min">>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, [
13
19
  dataParsers.DataParserCheckerArrayMin
14
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 { array as array$1 } from '../parsers/array/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 index = require('../parsers/bigint/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 _DataParserBigIntExtended<GenericDefinition extends dataParsers.DataParserDefinitionBigInt> = (dataParsers.DataParserBigInt<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserBigIntExtended<GenericDefinition extends dataParsers.DataParserDefinitionBigInt = dataParsers.DataParserDefinitionBigInt> extends _DataParserBigIntExtended<GenericDefinition> {
7
8
  addChecker<GenericChecker extends readonly [
8
9
  dataParsers.DataParserBigIntCheckers,
9
10
  ...dataParsers.DataParserBigIntCheckers[]
10
- ]>(...args: GenericChecker): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserBigIntCheckers,
13
+ ...dataParsers.DataParserBigIntCheckers[]
14
+ ], GenericChecker>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
11
18
  min(min: bigint, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionBigIntMin, "min">>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, [
12
19
  dataParsers.DataParserCheckerBigIntMin
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 { bigint as bigint$1 } from '../parsers/bigint/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 boolean$1 = require('../parsers/boolean.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 _DataParserBooleanExtended<GenericDefinition extends dataParsers.DataParserDefinitionBoolean> = (dataParsers.DataParserBoolean<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserBooleanExtended<GenericDefinition extends dataParsers.DataParserDefinitionBoolean = dataParsers.DataParserDefinitionBoolean> extends _DataParserBooleanExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserBooleanCheckers,
10
+ ...dataParsers.DataParserBooleanCheckers[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserBooleanCheckers,
13
+ ...dataParsers.DataParserBooleanCheckers[]
14
+ ], GenericChecker>): DataParserBooleanExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserBooleanExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function boolean<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionBoolean> = never>(definition?: GenericDefinition): DataParserBooleanExtended<MergeDefinition<dataParsers.DataParserDefinitionBoolean, 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 { boolean as boolean$1 } from '../parsers/boolean.mjs';
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var bigint$1 = require('../bigint.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { bigint as bigint$1 } from '../bigint.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var boolean$1 = require('../boolean.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { boolean as boolean$1 } from '../boolean.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var empty$1 = require('../empty.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { empty as empty$1 } from '../empty.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var nil$1 = require('../nil.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { nil as nil$1 } from '../nil.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var number$1 = require('../number.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { number as number$1 } from '../number.mjs';
5
6
 
@@ -3,6 +3,7 @@
3
3
  var string$1 = require('../string.cjs');
4
4
  require('../../../common/globalStore.cjs');
5
5
  require('../../../common/builder.cjs');
6
+ require('../../base.cjs');
6
7
  require('../../../pattern/result.cjs');
7
8
 
8
9
  function string(definition) {
@@ -1,6 +1,7 @@
1
1
  import { string as string$1 } from '../string.mjs';
2
2
  import '../../../common/globalStore.mjs';
3
3
  import '../../../common/builder.mjs';
4
+ import '../../base.mjs';
4
5
  import '../../../pattern/result.mjs';
5
6
 
6
7
  function string(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 empty$1 = require('../parsers/empty.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 _DataParserEmptyExtended<GenericDefinition extends dataParsers.DataParserDefinitionEmpty> = (dataParsers.DataParserEmpty<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserEmptyExtended<GenericDefinition extends dataParsers.DataParserDefinitionEmpty = dataParsers.DataParserDefinitionEmpty> extends _DataParserEmptyExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserEmptyCheckers,
10
+ ...dataParsers.DataParserEmptyCheckers[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserEmptyCheckers,
13
+ ...dataParsers.DataParserEmptyCheckers[]
14
+ ], GenericChecker>): DataParserEmptyExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserEmptyExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function empty<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionEmpty> = never>(definition?: GenericDefinition): DataParserEmptyExtended<MergeDefinition<dataParsers.DataParserDefinitionEmpty, 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 { empty as empty$1 } from '../parsers/empty.mjs';
@@ -20,6 +20,7 @@ var record = require('./record.cjs');
20
20
  var templateLiteral = require('./templateLiteral.cjs');
21
21
  var tuple = require('./tuple.cjs');
22
22
  var unknown = require('./unknown.cjs');
23
+ var recover = require('./recover.cjs');
23
24
 
24
25
 
25
26
 
@@ -46,3 +47,4 @@ exports.record = record.record;
46
47
  exports.templateLiteral = templateLiteral.templateLiteral;
47
48
  exports.tuple = tuple.tuple;
48
49
  exports.unknown = unknown.unknown;
50
+ exports.recover = recover.recover;
@@ -20,3 +20,4 @@ export * from "./transform";
20
20
  export * from "./tuple";
21
21
  export * from "./union";
22
22
  export * from "./unknown";
23
+ export * from "./recover";
@@ -19,3 +19,4 @@ export { record } from './record.mjs';
19
19
  export { templateLiteral } from './templateLiteral.mjs';
20
20
  export { tuple } from './tuple.mjs';
21
21
  export { unknown } from './unknown.mjs';
22
+ export { recover } from './recover.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 _DataParserLazyExtended<GenericDefinition extends dataParsers.DataParserDefinitionLazy> = (dataParsers.DataParserLazy<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserLazyExtended<GenericDefinition extends dataParsers.DataParserDefinitionLazy = dataParsers.DataParserDefinitionLazy> extends _DataParserLazyExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserLazyCheckers<Output<this>>,
10
+ ...dataParsers.DataParserLazyCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserLazyCheckers<Output<this>>,
13
+ ...dataParsers.DataParserLazyCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserLazyExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserLazyExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
8
18
  }
9
19
  export declare function lazy<GenericDataParser extends DataParser, const GenericDefinition extends Partial<dataParsers.DataParserDefinitionLazy> = never>(getter: () => GenericDataParser, definition?: GenericDefinition): DataParserLazyExtended<MergeDefinition<dataParsers.DataParserDefinitionLazy, NeverCoalescing<GenericDefinition, {}> & {
10
20
  getter(): 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 '../../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 literal$1 = require('../parsers/literal.cjs');