@duplojs/utils 1.1.9 → 1.1.11

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 (259) hide show
  1. package/dist/array/reduce.cjs +1 -0
  2. package/dist/array/reduce.mjs +1 -0
  3. package/dist/array/reduceRight.cjs +1 -0
  4. package/dist/array/reduceRight.mjs +1 -0
  5. package/dist/common/builder.cjs +70 -0
  6. package/dist/common/builder.d.ts +34 -0
  7. package/dist/common/builder.mjs +66 -0
  8. package/dist/common/index.d.ts +1 -0
  9. package/dist/common/instanceOf.cjs +1 -0
  10. package/dist/common/instanceOf.mjs +1 -0
  11. package/dist/common/kind.d.ts +3 -2
  12. package/dist/common/types/index.d.ts +1 -0
  13. package/dist/common/types/removeFromUnion.d.ts +2 -0
  14. package/dist/common/types/unionContain.d.ts +1 -1
  15. package/dist/dataParser/base.cjs +4 -3
  16. package/dist/dataParser/base.d.ts +4 -4
  17. package/dist/dataParser/base.mjs +4 -3
  18. package/dist/dataParser/baseExtended.cjs +4 -3
  19. package/dist/dataParser/baseExtended.d.ts +5 -5
  20. package/dist/dataParser/baseExtended.mjs +4 -3
  21. package/dist/dataParser/error.cjs +9 -9
  22. package/dist/dataParser/error.d.ts +10 -9
  23. package/dist/dataParser/error.mjs +7 -7
  24. package/dist/dataParser/extended/array.cjs +1 -0
  25. package/dist/dataParser/extended/array.d.ts +3 -2
  26. package/dist/dataParser/extended/array.mjs +1 -0
  27. package/dist/dataParser/extended/bigint.cjs +1 -0
  28. package/dist/dataParser/extended/bigint.mjs +1 -0
  29. package/dist/dataParser/extended/boolean.cjs +1 -0
  30. package/dist/dataParser/extended/boolean.mjs +1 -0
  31. package/dist/dataParser/extended/coerce/bigint.cjs +1 -0
  32. package/dist/dataParser/extended/coerce/bigint.mjs +1 -0
  33. package/dist/dataParser/extended/coerce/boolean.cjs +1 -0
  34. package/dist/dataParser/extended/coerce/boolean.mjs +1 -0
  35. package/dist/dataParser/extended/coerce/empty.cjs +1 -0
  36. package/dist/dataParser/extended/coerce/empty.mjs +1 -0
  37. package/dist/dataParser/extended/coerce/nil.cjs +1 -0
  38. package/dist/dataParser/extended/coerce/nil.mjs +1 -0
  39. package/dist/dataParser/extended/coerce/number.cjs +1 -0
  40. package/dist/dataParser/extended/coerce/number.mjs +1 -0
  41. package/dist/dataParser/extended/coerce/string.cjs +1 -0
  42. package/dist/dataParser/extended/coerce/string.mjs +1 -0
  43. package/dist/dataParser/extended/empty.cjs +1 -0
  44. package/dist/dataParser/extended/empty.mjs +1 -0
  45. package/dist/dataParser/extended/lazy.cjs +1 -0
  46. package/dist/dataParser/extended/lazy.d.ts +3 -2
  47. package/dist/dataParser/extended/lazy.mjs +1 -0
  48. package/dist/dataParser/extended/literal.cjs +1 -0
  49. package/dist/dataParser/extended/literal.mjs +1 -0
  50. package/dist/dataParser/extended/nil.cjs +1 -0
  51. package/dist/dataParser/extended/nil.mjs +1 -0
  52. package/dist/dataParser/extended/nullable.cjs +1 -0
  53. package/dist/dataParser/extended/nullable.d.ts +3 -2
  54. package/dist/dataParser/extended/nullable.mjs +1 -0
  55. package/dist/dataParser/extended/number.cjs +1 -0
  56. package/dist/dataParser/extended/number.mjs +1 -0
  57. package/dist/dataParser/extended/object.cjs +1 -0
  58. package/dist/dataParser/extended/object.mjs +1 -0
  59. package/dist/dataParser/extended/optional.cjs +1 -0
  60. package/dist/dataParser/extended/optional.d.ts +3 -2
  61. package/dist/dataParser/extended/optional.mjs +1 -0
  62. package/dist/dataParser/extended/pipe.cjs +1 -0
  63. package/dist/dataParser/extended/pipe.d.ts +3 -2
  64. package/dist/dataParser/extended/pipe.mjs +1 -0
  65. package/dist/dataParser/extended/record.cjs +1 -0
  66. package/dist/dataParser/extended/record.d.ts +3 -2
  67. package/dist/dataParser/extended/record.mjs +1 -0
  68. package/dist/dataParser/extended/string.cjs +1 -0
  69. package/dist/dataParser/extended/string.mjs +1 -0
  70. package/dist/dataParser/extended/templateLiteral.cjs +1 -0
  71. package/dist/dataParser/extended/templateLiteral.mjs +1 -0
  72. package/dist/dataParser/extended/transform.cjs +1 -0
  73. package/dist/dataParser/extended/transform.d.ts +3 -3
  74. package/dist/dataParser/extended/transform.mjs +1 -0
  75. package/dist/dataParser/extended/tuple.cjs +1 -0
  76. package/dist/dataParser/extended/tuple.mjs +1 -0
  77. package/dist/dataParser/extended/union.cjs +1 -0
  78. package/dist/dataParser/extended/union.mjs +1 -0
  79. package/dist/dataParser/extended/unknown.cjs +1 -0
  80. package/dist/dataParser/extended/unknown.mjs +1 -0
  81. package/dist/dataParser/identifier.cjs +32 -0
  82. package/dist/dataParser/identifier.d.ts +9 -0
  83. package/dist/dataParser/identifier.mjs +30 -0
  84. package/dist/dataParser/index.cjs +26 -24
  85. package/dist/dataParser/index.d.ts +1 -0
  86. package/dist/dataParser/index.mjs +23 -22
  87. package/dist/dataParser/kind.cjs +2 -1
  88. package/dist/dataParser/kind.d.ts +1 -1
  89. package/dist/dataParser/kind.mjs +2 -1
  90. package/dist/dataParser/parsers/array/checkers/max.d.ts +1 -1
  91. package/dist/dataParser/parsers/array/checkers/min.d.ts +1 -1
  92. package/dist/dataParser/parsers/array/index.cjs +3 -3
  93. package/dist/dataParser/parsers/array/index.d.ts +5 -5
  94. package/dist/dataParser/parsers/array/index.mjs +3 -3
  95. package/dist/dataParser/parsers/bigint/checkers/max.d.ts +1 -1
  96. package/dist/dataParser/parsers/bigint/checkers/min.d.ts +1 -1
  97. package/dist/dataParser/parsers/bigint/index.cjs +3 -3
  98. package/dist/dataParser/parsers/bigint/index.d.ts +2 -2
  99. package/dist/dataParser/parsers/bigint/index.mjs +3 -3
  100. package/dist/dataParser/parsers/boolean.cjs +3 -3
  101. package/dist/dataParser/parsers/boolean.d.ts +2 -2
  102. package/dist/dataParser/parsers/boolean.mjs +3 -3
  103. package/dist/dataParser/parsers/coerce/bigint.cjs +1 -0
  104. package/dist/dataParser/parsers/coerce/bigint.mjs +1 -0
  105. package/dist/dataParser/parsers/coerce/boolean.cjs +1 -0
  106. package/dist/dataParser/parsers/coerce/boolean.mjs +1 -0
  107. package/dist/dataParser/parsers/coerce/empty.cjs +1 -0
  108. package/dist/dataParser/parsers/coerce/empty.mjs +1 -0
  109. package/dist/dataParser/parsers/coerce/nil.cjs +1 -0
  110. package/dist/dataParser/parsers/coerce/nil.mjs +1 -0
  111. package/dist/dataParser/parsers/coerce/number.cjs +1 -0
  112. package/dist/dataParser/parsers/coerce/number.mjs +1 -0
  113. package/dist/dataParser/parsers/coerce/string.cjs +1 -0
  114. package/dist/dataParser/parsers/coerce/string.mjs +1 -0
  115. package/dist/dataParser/parsers/empty.cjs +3 -3
  116. package/dist/dataParser/parsers/empty.d.ts +2 -2
  117. package/dist/dataParser/parsers/empty.mjs +3 -3
  118. package/dist/dataParser/parsers/lazy.cjs +3 -3
  119. package/dist/dataParser/parsers/lazy.d.ts +5 -5
  120. package/dist/dataParser/parsers/lazy.mjs +3 -3
  121. package/dist/dataParser/parsers/literal.cjs +4 -3
  122. package/dist/dataParser/parsers/literal.d.ts +2 -2
  123. package/dist/dataParser/parsers/literal.mjs +4 -3
  124. package/dist/dataParser/parsers/nil.cjs +3 -3
  125. package/dist/dataParser/parsers/nil.d.ts +2 -2
  126. package/dist/dataParser/parsers/nil.mjs +3 -3
  127. package/dist/dataParser/parsers/nullable.cjs +3 -3
  128. package/dist/dataParser/parsers/nullable.d.ts +5 -5
  129. package/dist/dataParser/parsers/nullable.mjs +3 -3
  130. package/dist/dataParser/parsers/number/checkers/int.d.ts +1 -1
  131. package/dist/dataParser/parsers/number/checkers/max.d.ts +1 -1
  132. package/dist/dataParser/parsers/number/checkers/min.d.ts +1 -1
  133. package/dist/dataParser/parsers/number/index.cjs +3 -3
  134. package/dist/dataParser/parsers/number/index.d.ts +2 -2
  135. package/dist/dataParser/parsers/number/index.mjs +3 -3
  136. package/dist/dataParser/parsers/object.cjs +4 -3
  137. package/dist/dataParser/parsers/object.d.ts +5 -5
  138. package/dist/dataParser/parsers/object.mjs +4 -3
  139. package/dist/dataParser/parsers/optional.cjs +3 -3
  140. package/dist/dataParser/parsers/optional.d.ts +5 -5
  141. package/dist/dataParser/parsers/optional.mjs +3 -3
  142. package/dist/dataParser/parsers/pipe.cjs +3 -3
  143. package/dist/dataParser/parsers/pipe.d.ts +6 -6
  144. package/dist/dataParser/parsers/pipe.mjs +3 -3
  145. package/dist/dataParser/parsers/record.cjs +3 -3
  146. package/dist/dataParser/parsers/record.d.ts +7 -7
  147. package/dist/dataParser/parsers/record.mjs +3 -3
  148. package/dist/dataParser/parsers/string/checkers/email.d.ts +1 -1
  149. package/dist/dataParser/parsers/string/checkers/max.d.ts +1 -1
  150. package/dist/dataParser/parsers/string/checkers/min.d.ts +1 -1
  151. package/dist/dataParser/parsers/string/checkers/regex.d.ts +1 -1
  152. package/dist/dataParser/parsers/string/checkers/url.d.ts +1 -1
  153. package/dist/dataParser/parsers/string/index.cjs +3 -3
  154. package/dist/dataParser/parsers/string/index.d.ts +2 -2
  155. package/dist/dataParser/parsers/string/index.mjs +3 -3
  156. package/dist/dataParser/parsers/templateLiteral.cjs +5 -4
  157. package/dist/dataParser/parsers/templateLiteral.d.ts +2 -2
  158. package/dist/dataParser/parsers/templateLiteral.mjs +12 -11
  159. package/dist/dataParser/parsers/transform.cjs +3 -3
  160. package/dist/dataParser/parsers/transform.d.ts +5 -5
  161. package/dist/dataParser/parsers/transform.mjs +3 -3
  162. package/dist/dataParser/parsers/tuple.cjs +3 -3
  163. package/dist/dataParser/parsers/tuple.d.ts +11 -11
  164. package/dist/dataParser/parsers/tuple.mjs +3 -3
  165. package/dist/dataParser/parsers/union.cjs +3 -3
  166. package/dist/dataParser/parsers/union.d.ts +4 -4
  167. package/dist/dataParser/parsers/union.mjs +3 -3
  168. package/dist/dataParser/parsers/unknown.cjs +3 -3
  169. package/dist/dataParser/parsers/unknown.d.ts +2 -2
  170. package/dist/dataParser/parsers/unknown.mjs +3 -3
  171. package/dist/dataParser/types/checkers.d.ts +5 -1
  172. package/dist/dataParser/types/dataParsers.d.ts +9 -1
  173. package/dist/either/bool/base.d.ts +1 -1
  174. package/dist/either/bool/falsy.cjs +1 -0
  175. package/dist/either/bool/falsy.d.ts +1 -1
  176. package/dist/either/bool/falsy.mjs +1 -0
  177. package/dist/either/bool/truthy.cjs +1 -0
  178. package/dist/either/bool/truthy.d.ts +1 -1
  179. package/dist/either/bool/truthy.mjs +1 -0
  180. package/dist/either/future/base.d.ts +1 -1
  181. package/dist/either/future/create.cjs +1 -0
  182. package/dist/either/future/create.mjs +1 -0
  183. package/dist/either/future/error.cjs +1 -0
  184. package/dist/either/future/error.d.ts +1 -1
  185. package/dist/either/future/error.mjs +1 -0
  186. package/dist/either/future/success.cjs +1 -0
  187. package/dist/either/future/success.d.ts +1 -1
  188. package/dist/either/future/success.mjs +1 -0
  189. package/dist/either/kind.cjs +2 -1
  190. package/dist/either/kind.d.ts +2 -2
  191. package/dist/either/kind.mjs +2 -1
  192. package/dist/either/left/create.d.ts +1 -1
  193. package/dist/either/left/error.d.ts +1 -1
  194. package/dist/either/left/fail.d.ts +1 -1
  195. package/dist/either/left/when.cjs +1 -0
  196. package/dist/either/left/when.mjs +1 -0
  197. package/dist/either/nullable/base.d.ts +1 -1
  198. package/dist/either/nullable/empty.cjs +1 -0
  199. package/dist/either/nullable/empty.d.ts +1 -1
  200. package/dist/either/nullable/empty.mjs +1 -0
  201. package/dist/either/nullable/filled.cjs +1 -0
  202. package/dist/either/nullable/filled.d.ts +1 -1
  203. package/dist/either/nullable/filled.mjs +1 -0
  204. package/dist/either/nullish/base.d.ts +1 -1
  205. package/dist/either/nullish/empty.cjs +1 -0
  206. package/dist/either/nullish/empty.d.ts +1 -1
  207. package/dist/either/nullish/empty.mjs +1 -0
  208. package/dist/either/nullish/filled.cjs +1 -0
  209. package/dist/either/nullish/filled.d.ts +1 -1
  210. package/dist/either/nullish/filled.mjs +1 -0
  211. package/dist/either/optional/base.d.ts +1 -1
  212. package/dist/either/optional/empty.cjs +1 -0
  213. package/dist/either/optional/empty.d.ts +1 -1
  214. package/dist/either/optional/empty.mjs +1 -0
  215. package/dist/either/optional/filled.cjs +1 -0
  216. package/dist/either/optional/filled.d.ts +1 -1
  217. package/dist/either/optional/filled.mjs +1 -0
  218. package/dist/either/right/asyncPipe.cjs +1 -0
  219. package/dist/either/right/asyncPipe.mjs +1 -0
  220. package/dist/either/right/create.d.ts +1 -1
  221. package/dist/either/right/ok.d.ts +1 -1
  222. package/dist/either/right/pipe.cjs +1 -0
  223. package/dist/either/right/pipe.mjs +1 -0
  224. package/dist/either/right/success.d.ts +1 -1
  225. package/dist/either/right/when.cjs +1 -0
  226. package/dist/either/right/when.mjs +1 -0
  227. package/dist/either/whenHasInformation.cjs +1 -0
  228. package/dist/either/whenHasInformation.mjs +1 -0
  229. package/dist/generator/asyncReduce.cjs +1 -0
  230. package/dist/generator/asyncReduce.mjs +1 -0
  231. package/dist/generator/reduce.cjs +1 -0
  232. package/dist/generator/reduce.mjs +1 -0
  233. package/dist/index.cjs +4 -0
  234. package/dist/index.mjs +1 -0
  235. package/dist/number/index.cjs +4 -0
  236. package/dist/number/index.d.ts +2 -0
  237. package/dist/number/index.mjs +2 -0
  238. package/dist/number/sqrt.cjs +7 -0
  239. package/dist/number/sqrt.d.ts +1 -0
  240. package/dist/number/sqrt.mjs +5 -0
  241. package/dist/number/toFixed.cjs +12 -0
  242. package/dist/number/toFixed.d.ts +2 -0
  243. package/dist/number/toFixed.mjs +10 -0
  244. package/dist/object/deepDiscriminate.cjs +1 -0
  245. package/dist/object/deepDiscriminate.mjs +1 -0
  246. package/dist/object/discriminate.cjs +1 -0
  247. package/dist/object/discriminate.mjs +1 -0
  248. package/dist/object/entries.cjs +1 -0
  249. package/dist/object/entries.mjs +1 -0
  250. package/dist/object/keys.cjs +1 -0
  251. package/dist/object/keys.mjs +1 -0
  252. package/dist/pattern/exhaustive.cjs +1 -0
  253. package/dist/pattern/exhaustive.mjs +1 -0
  254. package/dist/pattern/otherwise.cjs +1 -0
  255. package/dist/pattern/otherwise.mjs +1 -0
  256. package/dist/pattern/result.cjs +1 -0
  257. package/dist/pattern/result.mjs +1 -0
  258. package/dist/string/types/forbiddenString.d.ts +0 -1
  259. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
+ require('../../../common/builder.cjs');
4
5
  require('../../../pattern/result.cjs');
5
6
  var bigint$1 = require('../bigint.cjs');
6
7
 
@@ -1,4 +1,5 @@
1
1
  import '../../../common/globalStore.mjs';
2
+ import '../../../common/builder.mjs';
2
3
  import '../../../pattern/result.mjs';
3
4
  import { bigint as bigint$1 } from '../bigint.mjs';
4
5
 
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
+ require('../../../common/builder.cjs');
4
5
  require('../../../pattern/result.cjs');
5
6
  var boolean$1 = require('../boolean.cjs');
6
7
 
@@ -1,4 +1,5 @@
1
1
  import '../../../common/globalStore.mjs';
2
+ import '../../../common/builder.mjs';
2
3
  import '../../../pattern/result.mjs';
3
4
  import { boolean as boolean$1 } from '../boolean.mjs';
4
5
 
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
+ require('../../../common/builder.cjs');
4
5
  require('../../../pattern/result.cjs');
5
6
  var empty$1 = require('../empty.cjs');
6
7
 
@@ -1,4 +1,5 @@
1
1
  import '../../../common/globalStore.mjs';
2
+ import '../../../common/builder.mjs';
2
3
  import '../../../pattern/result.mjs';
3
4
  import { empty as empty$1 } from '../empty.mjs';
4
5
 
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
+ require('../../../common/builder.cjs');
4
5
  require('../../../pattern/result.cjs');
5
6
  var nil$1 = require('../nil.cjs');
6
7
 
@@ -1,4 +1,5 @@
1
1
  import '../../../common/globalStore.mjs';
2
+ import '../../../common/builder.mjs';
2
3
  import '../../../pattern/result.mjs';
3
4
  import { nil as nil$1 } from '../nil.mjs';
4
5
 
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
+ require('../../../common/builder.cjs');
4
5
  require('../../../pattern/result.cjs');
5
6
  var number$1 = require('../number.cjs');
6
7
 
@@ -1,4 +1,5 @@
1
1
  import '../../../common/globalStore.mjs';
2
+ import '../../../common/builder.mjs';
2
3
  import '../../../pattern/result.mjs';
3
4
  import { number as number$1 } from '../number.mjs';
4
5
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var string$1 = require('../string.cjs');
4
4
  require('../../../common/globalStore.cjs');
5
+ require('../../../common/builder.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
 
7
8
  function string(definition) {
@@ -1,5 +1,6 @@
1
1
  import { string as string$1 } from '../string.mjs';
2
2
  import '../../../common/globalStore.mjs';
3
+ import '../../../common/builder.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
 
5
6
  function string(definition) {
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var empty$1 = require('../parsers/empty.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { empty as empty$1 } from '../parsers/empty.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  require('../../pattern/result.cjs');
6
7
  var lazy$1 = require('../parsers/lazy.cjs');
7
8
 
@@ -1,11 +1,12 @@
1
1
  import { type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type DataParsers, type MergeDefinition } from "../types";
3
+ import { type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type DataParser } from "../base";
5
6
  type _DataParserLazyExtended<GenericDefinition extends dataParsers.DataParserDefinitionLazy> = (dataParsers.DataParserLazy<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserLazyExtended<GenericDefinition extends dataParsers.DataParserDefinitionLazy = dataParsers.DataParserDefinitionLazy> extends _DataParserLazyExtended<GenericDefinition> {
7
8
  }
8
- export declare function lazy<GenericDataParser extends DataParsers, const GenericDefinition extends Partial<dataParsers.DataParserDefinitionLazy> = never>(getter: () => GenericDataParser, definition?: GenericDefinition): DataParserLazyExtended<MergeDefinition<dataParsers.DataParserDefinitionLazy, NeverCoalescing<GenericDefinition, {}> & {
9
+ export declare function lazy<GenericDataParser extends DataParser, const GenericDefinition extends Partial<dataParsers.DataParserDefinitionLazy> = never>(getter: () => GenericDataParser, definition?: GenericDefinition): DataParserLazyExtended<MergeDefinition<dataParsers.DataParserDefinitionLazy, NeverCoalescing<GenericDefinition, {}> & {
9
10
  getter(): GenericDataParser;
10
11
  }>>;
11
12
  export {};
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import '../../pattern/result.mjs';
4
5
  import { lazy as lazy$1 } from '../parsers/lazy.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var literal$1 = require('../parsers/literal.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { literal as literal$1 } from '../parsers/literal.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var nil$1 = require('../parsers/nil.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { nil as nil$1 } from '../parsers/nil.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  require('../../pattern/result.cjs');
6
7
  var nullable$1 = require('../parsers/nullable.cjs');
7
8
 
@@ -1,11 +1,12 @@
1
1
  import { type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type DataParsers, type MergeDefinition } from "../types";
3
+ import { type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type DataParser } from "../base";
5
6
  type _DataParserNullableExtended<GenericDefinition extends dataParsers.DataParserDefinitionNullable> = (dataParsers.DataParserNullable<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserNullableExtended<GenericDefinition extends dataParsers.DataParserDefinitionNullable = dataParsers.DataParserDefinitionNullable> extends _DataParserNullableExtended<GenericDefinition> {
7
8
  }
8
- export declare function nullable<GenericDataParser extends DataParsers, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
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, {}> & {
9
10
  inner: GenericDataParser;
10
11
  }>>;
11
12
  export {};
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import '../../pattern/result.mjs';
4
5
  import { nullable as nullable$1 } from '../parsers/nullable.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var index = require('../parsers/number/index.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
  var int$1 = require('../parsers/number/checkers/int.cjs');
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { number as number$1 } from '../parsers/number/index.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
  import { checkerInt } from '../parsers/number/checkers/int.mjs';
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var object$1 = require('../parsers/object.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { object as object$1 } from '../parsers/object.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  require('../../pattern/result.cjs');
6
7
  var optional$1 = require('../parsers/optional.cjs');
7
8
 
@@ -1,11 +1,12 @@
1
1
  import { type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type DataParsers, type MergeDefinition } from "../types";
3
+ import { type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type DataParser } from "../base";
5
6
  type _DataParserOptionalExtended<GenericDefinition extends dataParsers.DataParserDefinitionOptional> = (dataParsers.DataParserOptional<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserOptionalExtended<GenericDefinition extends dataParsers.DataParserDefinitionOptional = dataParsers.DataParserDefinitionOptional> extends _DataParserOptionalExtended<GenericDefinition> {
7
8
  }
8
- export declare function optional<GenericDataParser extends DataParsers, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserOptionalExtended<MergeDefinition<dataParsers.DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
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, {}> & {
9
10
  inner: GenericDataParser;
10
11
  }>>;
11
12
  export {};
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import '../../pattern/result.mjs';
4
5
  import { optional as optional$1 } from '../parsers/optional.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  require('../../pattern/result.cjs');
6
7
  var pipe$1 = require('../parsers/pipe.cjs');
7
8
 
@@ -1,11 +1,12 @@
1
1
  import { type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type DataParsers, type MergeDefinition } from "../types";
3
+ import { type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type DataParser } from "../base";
5
6
  type _DataParserPipeExtended<GenericDefinition extends dataParsers.DataParserDefinitionPipe> = (dataParsers.DataParserPipe<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserPipeExtended<GenericDefinition extends dataParsers.DataParserDefinitionPipe = dataParsers.DataParserDefinitionPipe> extends _DataParserPipeExtended<GenericDefinition> {
7
8
  }
8
- export declare function pipe<GenericInput extends DataParsers, GenericOutput extends DataParsers, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionPipe, "input" | "output">> = never>(input: GenericInput, output: GenericOutput, definition?: GenericDefinition): DataParserPipeExtended<MergeDefinition<dataParsers.DataParserDefinitionPipe, NeverCoalescing<GenericDefinition, {}> & {
9
+ 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, {}> & {
9
10
  input: GenericInput;
10
11
  output: GenericOutput;
11
12
  }>>;
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import '../../pattern/result.mjs';
4
5
  import { pipe as pipe$1 } from '../parsers/pipe.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  require('../../pattern/result.cjs');
6
7
  var record$1 = require('../parsers/record.cjs');
7
8
 
@@ -1,11 +1,12 @@
1
1
  import { type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type DataParsers, type MergeDefinition } from "../types";
3
+ import { type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type DataParser } from "../base";
5
6
  type _DataParserRecordExtended<GenericDefinition extends dataParsers.DataParserDefinitionRecord> = (dataParsers.DataParserRecord<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserRecordExtended<GenericDefinition extends dataParsers.DataParserDefinitionRecord = dataParsers.DataParserDefinitionRecord> extends _DataParserRecordExtended<GenericDefinition> {
7
8
  }
8
- export declare function record<GenericDataParserKey extends dataParsers.DataParserRecordKey, GenericDataParserValue extends DataParsers, const GenericDefinition extends Partial<dataParsers.DataParserDefinitionRecord> = never>(key: GenericDataParserKey, value: GenericDataParserValue, definition?: GenericDefinition): DataParserRecordExtended<MergeDefinition<dataParsers.DataParserDefinitionRecord, NeverCoalescing<GenericDefinition, {}> & {
9
+ 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, {}> & {
9
10
  key: GenericDataParserKey;
10
11
  value: GenericDataParserValue;
11
12
  }>>;
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import '../../pattern/result.mjs';
4
5
  import { record as record$1 } from '../parsers/record.mjs';
5
6
 
@@ -3,6 +3,7 @@
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  var index = require('../parsers/string/index.cjs');
5
5
  require('../../common/globalStore.cjs');
6
+ require('../../common/builder.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
  var email$1 = require('../parsers/string/checkers/email.cjs');
8
9
  var url$1 = require('../parsers/string/checkers/url.cjs');
@@ -1,6 +1,7 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import { string as string$1 } from '../parsers/string/index.mjs';
3
3
  import '../../common/globalStore.mjs';
4
+ import '../../common/builder.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
  import { checkerEmail } from '../parsers/string/checkers/email.mjs';
6
7
  import { checkerUrl } from '../parsers/string/checkers/url.mjs';
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var templateLiteral$1 = require('../parsers/templateLiteral.cjs');
6
7
 
7
8
  function templateLiteral(template, definition) {
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { templateLiteral as templateLiteral$1 } from '../parsers/templateLiteral.mjs';
4
5
 
5
6
  function templateLiteral(template, definition) {
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var transform$1 = require('../parsers/transform.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
 
@@ -1,13 +1,13 @@
1
1
  import { type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type DataParsers, type MergeDefinition } from "../types";
3
+ import { type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
- import { type Output } from "../base";
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
9
  }
10
- export declare function transform<GenericDataParser extends DataParsers, 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, {}> & {
10
+ 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
11
  inner: GenericDataParser;
12
12
  theFunction(input: Output<GenericDataParser>): GenericOutput;
13
13
  }>>;
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { transform as transform$1 } from '../parsers/transform.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var tuple$1 = require('../parsers/tuple.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { tuple as tuple$1 } from '../parsers/tuple.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  var union$1 = require('../parsers/union.cjs');
6
7
  require('../../pattern/result.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import { union as union$1 } from '../parsers/union.mjs';
4
5
  import '../../pattern/result.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
4
  require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
5
6
  require('../../pattern/result.cjs');
6
7
  var unknown$1 = require('../parsers/unknown.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
3
4
  import '../../pattern/result.mjs';
4
5
  import { unknown as unknown$1 } from '../parsers/unknown.mjs';
5
6
 
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var coalescing = require('../array/coalescing.cjs');
4
+ require('../common/globalStore.cjs');
5
+ require('../common/builder.cjs');
6
+ var error = require('../either/left/error.cjs');
7
+ var success = require('../either/right/success.cjs');
8
+
9
+ /**
10
+ * Due to the recursive typing of `DataParsers`, it can’t be used without
11
+ * causing an infinity error. You therefore have to go through the parent
12
+ * type `DataParser`, which makes type discrimination impossible. That’s
13
+ * why the `identifier` function was created. The function ensures that,
14
+ * starting from the parent type and the kinds associated with the data
15
+ * parsers, the correct type can be retrieved.
16
+ */
17
+ function identifier(...args) {
18
+ if (args.length === 1) {
19
+ const [kind] = args;
20
+ return (input) => identifier(input, kind);
21
+ }
22
+ const [input, kind] = args;
23
+ const formattedKind = coalescing.coalescing(kind);
24
+ for (const kind of formattedKind) {
25
+ if (!kind.has(input)) {
26
+ return error.error(input);
27
+ }
28
+ }
29
+ return success.success(input);
30
+ }
31
+
32
+ exports.identifier = identifier;
@@ -0,0 +1,9 @@
1
+ import { type KindHandler, type UnionToIntersection, type GetKindHandler, type Kind, type UnionContain } from "../common";
2
+ import { type DataParser } from "./base";
3
+ import { type DataParsers, type DataParsersExtended } from "./types";
4
+ import * as DEither from "../either";
5
+ type AllDataParsers = (DataParsers | DataParsersExtended);
6
+ type KindHandlers = AllDataParsers extends infer InferredDataParser ? InferredDataParser extends DataParser ? GetKindHandler<InferredDataParser> : never : never;
7
+ export declare function identifier<GenericKindHandler extends KindHandlers, GenericInput extends DataParser, GenericDataParserResult extends Extract<AllDataParsers, UnionToIntersection<GenericKindHandler extends KindHandler ? Kind<GenericKindHandler["definition"]> : never>>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => ((GenericInput extends any ? UnionContain<GetKindHandler<GenericInput>, GenericKindHandler> extends true ? DEither.EitherSuccess<GenericInput> : DEither.EitherError<GenericInput> : never) | DEither.EitherSuccess<GenericDataParserResult>);
8
+ export declare function identifier<GenericKindHandler extends KindHandlers, GenericInput extends DataParser, GenericDataParserResult extends Extract<AllDataParsers, UnionToIntersection<GenericKindHandler extends KindHandler ? Kind<GenericKindHandler["definition"]> : never>>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): ((GenericInput extends any ? UnionContain<GetKindHandler<GenericInput>, GenericKindHandler> extends true ? DEither.EitherSuccess<GenericInput> : DEither.EitherError<GenericInput> : never) | DEither.EitherSuccess<GenericDataParserResult>);
9
+ export {};
@@ -0,0 +1,30 @@
1
+ import { coalescing } from '../array/coalescing.mjs';
2
+ import '../common/globalStore.mjs';
3
+ import '../common/builder.mjs';
4
+ import { error } from '../either/left/error.mjs';
5
+ import { success } from '../either/right/success.mjs';
6
+
7
+ /**
8
+ * Due to the recursive typing of `DataParsers`, it can’t be used without
9
+ * causing an infinity error. You therefore have to go through the parent
10
+ * type `DataParser`, which makes type discrimination impossible. That’s
11
+ * why the `identifier` function was created. The function ensures that,
12
+ * starting from the parent type and the kinds associated with the data
13
+ * parsers, the correct type can be retrieved.
14
+ */
15
+ function identifier(...args) {
16
+ if (args.length === 1) {
17
+ const [kind] = args;
18
+ return (input) => identifier(input, kind);
19
+ }
20
+ const [input, kind] = args;
21
+ const formattedKind = coalescing(kind);
22
+ for (const kind of formattedKind) {
23
+ if (!kind.has(input)) {
24
+ return error(input);
25
+ }
26
+ }
27
+ return success(input);
28
+ }
29
+
30
+ export { identifier };