@duplojs/lang 0.0.1-beta.6 → 0.0.1-beta.8

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 (61) hide show
  1. package/dist/chrono/createDate.cjs +8 -8
  2. package/dist/chrono/createDate.d.ts +3 -3
  3. package/dist/chrono/createDate.mjs +8 -8
  4. package/dist/chrono/createTime.cjs +24 -13
  5. package/dist/chrono/createTime.mjs +24 -13
  6. package/dist/chrono/theDate.cjs +15 -16
  7. package/dist/chrono/theDate.d.ts +15 -15
  8. package/dist/chrono/theDate.mjs +15 -16
  9. package/dist/chrono/theTime.cjs +0 -1
  10. package/dist/chrono/theTime.mjs +0 -1
  11. package/dist/chrono/types/spoolingTime.d.ts +2 -1
  12. package/dist/common/constraint/cast/string.d.ts +4 -0
  13. package/dist/common/constraint/infer/string.d.ts +1 -0
  14. package/dist/common/isType.d.ts +3 -2
  15. package/dist/common/types/json.d.ts +1 -1
  16. package/dist/dataStructure/common/{codec.cjs → codec/base.cjs} +5 -5
  17. package/dist/dataStructure/common/{codec.d.ts → codec/base.d.ts} +6 -6
  18. package/dist/dataStructure/common/{codec.mjs → codec/base.mjs} +5 -5
  19. package/dist/dataStructure/common/codec/defaults/index.d.ts +2 -0
  20. package/dist/dataStructure/common/codec/defaults/json.cjs +26 -0
  21. package/dist/dataStructure/common/codec/defaults/json.d.ts +6 -0
  22. package/dist/dataStructure/common/codec/defaults/json.mjs +26 -0
  23. package/dist/dataStructure/common/codec/defaults/string.cjs +44 -0
  24. package/dist/dataStructure/common/codec/defaults/string.d.ts +11 -0
  25. package/dist/dataStructure/common/codec/defaults/string.mjs +44 -0
  26. package/dist/dataStructure/common/codec/index.d.ts +2 -0
  27. package/dist/dataStructure/constraint/base.cjs +18 -2
  28. package/dist/dataStructure/constraint/base.d.ts +5 -0
  29. package/dist/dataStructure/constraint/base.mjs +18 -3
  30. package/dist/dataStructure/constraint/defaults/index.d.ts +1 -0
  31. package/dist/dataStructure/constraint/defaults/numberInString.cjs +13 -0
  32. package/dist/dataStructure/constraint/defaults/numberInString.d.ts +10 -0
  33. package/dist/dataStructure/constraint/defaults/numberInString.mjs +12 -0
  34. package/dist/dataStructure/constraint/types/constraints.d.ts +1 -0
  35. package/dist/dataStructure/helpers/index.d.ts +1 -0
  36. package/dist/dataStructure/helpers/numberInString.cjs +7 -0
  37. package/dist/dataStructure/helpers/numberInString.d.ts +2 -0
  38. package/dist/dataStructure/helpers/numberInString.mjs +7 -0
  39. package/dist/dataStructure/index.cjs +65 -49
  40. package/dist/dataStructure/index.mjs +23 -13
  41. package/dist/modeling/entity/base.d.ts +2 -2
  42. package/dist/modeling/taggedObject/base.cjs +64 -1
  43. package/dist/modeling/taggedObject/base.d.ts +19 -1
  44. package/dist/modeling/taggedObject/base.mjs +64 -1
  45. package/dist/number/types/isGreater.d.ts +5 -5
  46. package/dist/path/getParentFolderPath.cjs +6 -2
  47. package/dist/path/getParentFolderPath.d.ts +1 -1
  48. package/dist/path/getParentFolderPath.mjs +6 -2
  49. package/dist/string/constraints/index.d.ts +2 -1
  50. package/dist/string/constraints/number.d.ts +4 -0
  51. package/dist/string/index.cjs +3 -0
  52. package/dist/string/index.d.ts +1 -0
  53. package/dist/string/index.mjs +3 -1
  54. package/dist/string/isNumber.cjs +7 -0
  55. package/dist/string/isNumber.d.ts +5 -0
  56. package/dist/string/isNumber.mjs +7 -0
  57. package/dist/string/to.d.ts +9 -2
  58. package/dist/string/types/index.d.ts +4 -5
  59. package/dist/string/types/numberInString.d.ts +1 -0
  60. package/package.json +1 -1
  61. package/dist/string/types/number.d.ts +0 -1
@@ -1,10 +1,22 @@
1
1
  const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
2
  const require_kind = require("./kind.cjs");
3
3
  const require_resultSymbol = require("./common/resultSymbol.cjs");
4
- const require_codec = require("./common/codec.cjs");
4
+ const require_base = require("./common/codec/base.cjs");
5
+ const require_base$1 = require("./fundamentalType/base.cjs");
6
+ const require_bigint = require("./fundamentalType/defaults/bigint.cjs");
7
+ const require_boolean = require("./fundamentalType/defaults/boolean.cjs");
8
+ const require_date = require("./fundamentalType/defaults/date.cjs");
9
+ const require_null = require("./fundamentalType/defaults/null.cjs");
10
+ const require_number = require("./fundamentalType/defaults/number.cjs");
11
+ const require_string = require("./fundamentalType/defaults/string.cjs");
12
+ const require_time = require("./fundamentalType/defaults/time.cjs");
13
+ const require_undefined = require("./fundamentalType/defaults/undefined.cjs");
14
+ const require_identifier = require("./fundamentalType/identifier.cjs");
15
+ const require_json = require("./common/codec/defaults/json.cjs");
16
+ const require_string$1 = require("./common/codec/defaults/string.cjs");
5
17
  const require_error = require("./common/error.cjs");
6
18
  const require_errorInterpreter = require("./common/errorInterpreter.cjs");
7
- const require_base = require("./constraint/base.cjs");
19
+ const require_base$2 = require("./constraint/base.cjs");
8
20
  const require_absolutePath = require("./constraint/defaults/absolutePath.cjs");
9
21
  const require_allowedCharacters = require("./constraint/defaults/allowedCharacters.cjs");
10
22
  const require_arrayLengthEqual = require("./constraint/defaults/arrayLengthEqual.cjs");
@@ -25,6 +37,7 @@ const require_multipleOf = require("./constraint/defaults/multipleOf.cjs");
25
37
  const require_negative = require("./constraint/defaults/negative.cjs");
26
38
  const require_notEmpty = require("./constraint/defaults/notEmpty.cjs");
27
39
  const require_notZero = require("./constraint/defaults/notZero.cjs");
40
+ const require_numberInString = require("./constraint/defaults/numberInString.cjs");
28
41
  const require_odd = require("./constraint/defaults/odd.cjs");
29
42
  const require_path = require("./constraint/defaults/path.cjs");
30
43
  const require_positive = require("./constraint/defaults/positive.cjs");
@@ -38,20 +51,10 @@ const require_trimmed = require("./constraint/defaults/trimmed.cjs");
38
51
  const require_url = require("./constraint/defaults/url.cjs");
39
52
  const require_uuid = require("./constraint/defaults/uuid.cjs");
40
53
  const require_regex = require("./constraint/defaults/regex.cjs");
41
- const require_identifier = require("./constraint/identifier.cjs");
42
- const require_base$1 = require("./fundamentalType/base.cjs");
43
- const require_bigint = require("./fundamentalType/defaults/bigint.cjs");
44
- const require_boolean = require("./fundamentalType/defaults/boolean.cjs");
45
- const require_date = require("./fundamentalType/defaults/date.cjs");
46
- const require_null = require("./fundamentalType/defaults/null.cjs");
47
- const require_number = require("./fundamentalType/defaults/number.cjs");
48
- const require_string = require("./fundamentalType/defaults/string.cjs");
49
- const require_time = require("./fundamentalType/defaults/time.cjs");
50
- const require_undefined = require("./fundamentalType/defaults/undefined.cjs");
51
- const require_identifier$1 = require("./fundamentalType/identifier.cjs");
54
+ const require_identifier$1 = require("./constraint/identifier.cjs");
52
55
  const require_absolutePath$1 = require("./helpers/absolutePath.cjs");
53
56
  const require_allowedCharacters$1 = require("./helpers/allowedCharacters.cjs");
54
- const require_base$2 = require("./structure/base.cjs");
57
+ const require_base$3 = require("./structure/base.cjs");
55
58
  const require_array = require("./structure/defaults/array.cjs");
56
59
  const require_identifier$2 = require("./structure/identifier.cjs");
57
60
  const require_lazy = require("./structure/defaults/lazy.cjs");
@@ -59,7 +62,7 @@ const require_nonEncodableString = require("./structure/defaults/nonEncodableStr
59
62
  const require_object = require("./structure/defaults/object.cjs");
60
63
  const require_union = require("./structure/defaults/union.cjs");
61
64
  const require_type = require("./structure/defaults/type.cjs");
62
- const require_base$3 = require("./type/base.cjs");
65
+ const require_base$4 = require("./type/base.cjs");
63
66
  const require_bigint$1 = require("./type/defaults/bigint.cjs");
64
67
  const require_bigintLiteral = require("./type/defaults/bigintLiteral.cjs");
65
68
  const require_boolean$1 = require("./type/defaults/boolean.cjs");
@@ -68,7 +71,7 @@ const require_date$1 = require("./type/defaults/date.cjs");
68
71
  const require_null$1 = require("./type/defaults/null.cjs");
69
72
  const require_number$1 = require("./type/defaults/number.cjs");
70
73
  const require_numberLiteral = require("./type/defaults/numberLiteral.cjs");
71
- const require_string$1 = require("./type/defaults/string.cjs");
74
+ const require_string$2 = require("./type/defaults/string.cjs");
72
75
  const require_stringLiteral = require("./type/defaults/stringLiteral.cjs");
73
76
  const require_time$1 = require("./type/defaults/time.cjs");
74
77
  const require_undefined$1 = require("./type/defaults/undefined.cjs");
@@ -105,6 +108,7 @@ const require_notZero$1 = require("./helpers/notZero.cjs");
105
108
  const require_null$2 = require("./helpers/null.cjs");
106
109
  const require_nullable = require("./helpers/nullable.cjs");
107
110
  const require_number$2 = require("./helpers/number.cjs");
111
+ const require_numberInString$1 = require("./helpers/numberInString.cjs");
108
112
  const require_object$1 = require("./helpers/object.cjs");
109
113
  const require_odd$1 = require("./helpers/odd.cjs");
110
114
  const require_undefined$2 = require("./helpers/undefined.cjs");
@@ -117,7 +121,7 @@ const require_refine$1 = require("./helpers/refine.cjs");
117
121
  const require_required = require("./helpers/required.cjs");
118
122
  const require_safe$1 = require("./helpers/safe.cjs");
119
123
  const require_segmentPath$1 = require("./helpers/segmentPath.cjs");
120
- const require_string$2 = require("./helpers/string.cjs");
124
+ const require_string$3 = require("./helpers/string.cjs");
121
125
  const require_strictNegative$1 = require("./helpers/strictNegative.cjs");
122
126
  const require_strictPositive$1 = require("./helpers/strictPositive.cjs");
123
127
  const require_stringLengthEqual$1 = require("./helpers/stringLengthEqual.cjs");
@@ -138,6 +142,7 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
138
142
  BigintType: () => require_bigint$1.BigintType,
139
143
  BooleanLiteralType: () => require_booleanLiteral.BooleanLiteralType,
140
144
  BooleanType: () => require_boolean$1.BooleanType,
145
+ ConstraintBase: () => require_base$2.ConstraintBase,
141
146
  DateType: () => require_date$1.DateType,
142
147
  EmailConstraint: () => require_email.EmailConstraint,
143
148
  ErrorSymbol: () => require_resultSymbol.ErrorSymbol,
@@ -158,6 +163,7 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
158
163
  NotEmptyConstraint: () => require_notEmpty.NotEmptyConstraint,
159
164
  NotZeroConstraint: () => require_notZero.NotZeroConstraint,
160
165
  NullType: () => require_null$1.NullType,
166
+ NumberInStringConstraint: () => require_numberInString.NumberInStringConstraint,
161
167
  NumberLiteralType: () => require_numberLiteral.NumberLiteralType,
162
168
  NumberType: () => require_number$1.NumberType,
163
169
  ObjectStructure: () => require_object.ObjectStructure,
@@ -173,8 +179,8 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
173
179
  StrictPositiveConstraint: () => require_strictPositive.StrictPositiveConstraint,
174
180
  StringLengthEqualConstraint: () => require_stringLengthEqual.StringLengthEqualConstraint,
175
181
  StringLiteralType: () => require_stringLiteral.StringLiteralType,
176
- StringType: () => require_string$1.StringType,
177
- StructureClass: () => require_base$2.StructureClass,
182
+ StringType: () => require_string$2.StringType,
183
+ StructureClass: () => require_base$3.StructureClass,
178
184
  SuccessSymbol: () => require_resultSymbol.SuccessSymbol,
179
185
  TheBigint: () => require_bigint.TheBigint,
180
186
  TheBoolean: () => require_boolean.TheBoolean,
@@ -211,20 +217,22 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
211
217
  booleanFundamentalTypeKind: () => require_boolean.booleanFundamentalTypeKind,
212
218
  booleanLiteralTypeKind: () => require_booleanLiteral.booleanLiteralTypeKind,
213
219
  booleanTypeKind: () => require_boolean$1.booleanTypeKind,
214
- codecKind: () => require_codec.codecKind,
215
- codecsKind: () => require_codec.codecsKind,
216
- constraintIdentifier: () => require_identifier.constraintIdentifier,
217
- constraintKind: () => require_base.constraintKind,
218
- createCodec: () => require_codec.createCodec,
219
- createCodecs: () => require_codec.createCodecs,
220
- createConstraint: () => require_base.createConstraint,
220
+ codecKind: () => require_base.codecKind,
221
+ codecsJson: () => require_json.codecsJson,
222
+ codecsKind: () => require_base.codecsKind,
223
+ codecsString: () => require_string$1.codecsString,
224
+ constraintIdentifier: () => require_identifier$1.constraintIdentifier,
225
+ constraintKind: () => require_base$2.constraintKind,
226
+ createCodec: () => require_base.createCodec,
227
+ createCodecs: () => require_base.createCodecs,
228
+ createConstraint: () => require_base$2.createConstraint,
221
229
  createErrorHandler: () => require_error.createErrorHandler,
222
230
  createErrorInterpreter: () => require_errorInterpreter.createErrorInterpreter,
223
231
  createFundamentalType: () => require_base$1.createFundamentalType,
224
232
  createGetErrorHandler: () => require_error.createGetErrorHandler,
225
233
  createKind: () => require_kind.createKind,
226
- createStructure: () => require_base$2.createStructure,
227
- createType: () => require_base$3.createType,
234
+ createStructure: () => require_base$3.createStructure,
235
+ createType: () => require_base$4.createType,
228
236
  date: () => require_date$2.date,
229
237
  dateFundamentalTypeKind: () => require_date.dateFundamentalTypeKind,
230
238
  dateTypeKind: () => require_date$1.dateTypeKind,
@@ -235,7 +243,7 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
235
243
  even: () => require_even$1.even,
236
244
  evenConstraintKind: () => require_even.evenConstraintKind,
237
245
  extend: () => require_extend.extend,
238
- fundamentalTypeIdentifier: () => require_identifier$1.fundamentalTypeIdentifier,
246
+ fundamentalTypeIdentifier: () => require_identifier.fundamentalTypeIdentifier,
239
247
  fundamentalTypeKind: () => require_base$1.fundamentalTypeKind,
240
248
  greaterThan: () => require_greaterThan$1.greaterThan,
241
249
  greaterThanConstraintKind: () => require_greaterThan.greaterThanConstraintKind,
@@ -276,6 +284,8 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
276
284
  nullable: () => require_nullable.nullable,
277
285
  number: () => require_number$2.number,
278
286
  numberFundamentalTypeKind: () => require_number.numberFundamentalTypeKind,
287
+ numberInString: () => require_numberInString$1.numberInString,
288
+ numberInStringConstraintKind: () => require_numberInString.numberInStringConstraintKind,
279
289
  numberLiteralTypeKind: () => require_numberLiteral.numberLiteralTypeKind,
280
290
  numberTypeKind: () => require_number$1.numberTypeKind,
281
291
  object: () => require_object$1.object,
@@ -303,21 +313,21 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
303
313
  strictNegativeConstraintKind: () => require_strictNegative.strictNegativeConstraintKind,
304
314
  strictPositive: () => require_strictPositive$1.strictPositive,
305
315
  strictPositiveConstraintKind: () => require_strictPositive.strictPositiveConstraintKind,
306
- string: () => require_string$2.string,
316
+ string: () => require_string$3.string,
307
317
  stringFundamentalTypeKind: () => require_string.stringFundamentalTypeKind,
308
318
  stringLengthEqual: () => require_stringLengthEqual$1.stringLengthEqual,
309
319
  stringLengthEqualConstraintKind: () => require_stringLengthEqual.stringLengthEqualConstraintKind,
310
320
  stringLiteralTypeKind: () => require_stringLiteral.stringLiteralTypeKind,
311
- stringTypeKind: () => require_string$1.stringTypeKind,
321
+ stringTypeKind: () => require_string$2.stringTypeKind,
312
322
  structureIdentifier: () => require_identifier$2.structureIdentifier,
313
- structureKind: () => require_base$2.structureKind,
323
+ structureKind: () => require_base$3.structureKind,
314
324
  time: () => require_time$2.time,
315
325
  timeFundamentalTypeKind: () => require_time.timeFundamentalTypeKind,
316
326
  timeTypeKind: () => require_time$1.timeTypeKind,
317
327
  trimmed: () => require_trimmed$1.trimmed,
318
328
  trimmedConstraintKind: () => require_trimmed.trimmedConstraintKind,
319
329
  typeIdentifier: () => require_identifier$3.typeIdentifier,
320
- typeKind: () => require_base$3.typeKind,
330
+ typeKind: () => require_base$4.typeKind,
321
331
  typeStructureKind: () => require_type.typeStructureKind,
322
332
  undefined: () => require_undefined$2.undefined,
323
333
  undefinedFundamentalTypeKind: () => require_undefined.undefinedFundamentalTypeKind,
@@ -340,6 +350,7 @@ exports.BigintLiteralType = require_bigintLiteral.BigintLiteralType;
340
350
  exports.BigintType = require_bigint$1.BigintType;
341
351
  exports.BooleanLiteralType = require_booleanLiteral.BooleanLiteralType;
342
352
  exports.BooleanType = require_boolean$1.BooleanType;
353
+ exports.ConstraintBase = require_base$2.ConstraintBase;
343
354
  exports.DateType = require_date$1.DateType;
344
355
  exports.EmailConstraint = require_email.EmailConstraint;
345
356
  exports.ErrorSymbol = require_resultSymbol.ErrorSymbol;
@@ -360,6 +371,7 @@ exports.NonEncodableStringStructure = require_nonEncodableString.NonEncodableStr
360
371
  exports.NotEmptyConstraint = require_notEmpty.NotEmptyConstraint;
361
372
  exports.NotZeroConstraint = require_notZero.NotZeroConstraint;
362
373
  exports.NullType = require_null$1.NullType;
374
+ exports.NumberInStringConstraint = require_numberInString.NumberInStringConstraint;
363
375
  exports.NumberLiteralType = require_numberLiteral.NumberLiteralType;
364
376
  exports.NumberType = require_number$1.NumberType;
365
377
  exports.ObjectStructure = require_object.ObjectStructure;
@@ -375,8 +387,8 @@ exports.StrictNegativeConstraint = require_strictNegative.StrictNegativeConstrai
375
387
  exports.StrictPositiveConstraint = require_strictPositive.StrictPositiveConstraint;
376
388
  exports.StringLengthEqualConstraint = require_stringLengthEqual.StringLengthEqualConstraint;
377
389
  exports.StringLiteralType = require_stringLiteral.StringLiteralType;
378
- exports.StringType = require_string$1.StringType;
379
- exports.StructureClass = require_base$2.StructureClass;
390
+ exports.StringType = require_string$2.StringType;
391
+ exports.StructureClass = require_base$3.StructureClass;
380
392
  exports.SuccessSymbol = require_resultSymbol.SuccessSymbol;
381
393
  exports.TheBigint = require_bigint.TheBigint;
382
394
  exports.TheBoolean = require_boolean.TheBoolean;
@@ -413,20 +425,22 @@ exports.boolean = require_boolean$2.boolean;
413
425
  exports.booleanFundamentalTypeKind = require_boolean.booleanFundamentalTypeKind;
414
426
  exports.booleanLiteralTypeKind = require_booleanLiteral.booleanLiteralTypeKind;
415
427
  exports.booleanTypeKind = require_boolean$1.booleanTypeKind;
416
- exports.codecKind = require_codec.codecKind;
417
- exports.codecsKind = require_codec.codecsKind;
418
- exports.constraintIdentifier = require_identifier.constraintIdentifier;
419
- exports.constraintKind = require_base.constraintKind;
420
- exports.createCodec = require_codec.createCodec;
421
- exports.createCodecs = require_codec.createCodecs;
422
- exports.createConstraint = require_base.createConstraint;
428
+ exports.codecKind = require_base.codecKind;
429
+ exports.codecsJson = require_json.codecsJson;
430
+ exports.codecsKind = require_base.codecsKind;
431
+ exports.codecsString = require_string$1.codecsString;
432
+ exports.constraintIdentifier = require_identifier$1.constraintIdentifier;
433
+ exports.constraintKind = require_base$2.constraintKind;
434
+ exports.createCodec = require_base.createCodec;
435
+ exports.createCodecs = require_base.createCodecs;
436
+ exports.createConstraint = require_base$2.createConstraint;
423
437
  exports.createErrorHandler = require_error.createErrorHandler;
424
438
  exports.createErrorInterpreter = require_errorInterpreter.createErrorInterpreter;
425
439
  exports.createFundamentalType = require_base$1.createFundamentalType;
426
440
  exports.createGetErrorHandler = require_error.createGetErrorHandler;
427
441
  exports.createKind = require_kind.createKind;
428
- exports.createStructure = require_base$2.createStructure;
429
- exports.createType = require_base$3.createType;
442
+ exports.createStructure = require_base$3.createStructure;
443
+ exports.createType = require_base$4.createType;
430
444
  Object.defineProperty(exports, "dataStructure_exports", {
431
445
  enumerable: true,
432
446
  get: function() {
@@ -443,7 +457,7 @@ exports.encodeIssueKind = require_error.encodeIssueKind;
443
457
  exports.even = require_even$1.even;
444
458
  exports.evenConstraintKind = require_even.evenConstraintKind;
445
459
  exports.extend = require_extend.extend;
446
- exports.fundamentalTypeIdentifier = require_identifier$1.fundamentalTypeIdentifier;
460
+ exports.fundamentalTypeIdentifier = require_identifier.fundamentalTypeIdentifier;
447
461
  exports.fundamentalTypeKind = require_base$1.fundamentalTypeKind;
448
462
  exports.greaterThan = require_greaterThan$1.greaterThan;
449
463
  exports.greaterThanConstraintKind = require_greaterThan.greaterThanConstraintKind;
@@ -484,6 +498,8 @@ exports.nullTypeKind = require_null$1.nullTypeKind;
484
498
  exports.nullable = require_nullable.nullable;
485
499
  exports.number = require_number$2.number;
486
500
  exports.numberFundamentalTypeKind = require_number.numberFundamentalTypeKind;
501
+ exports.numberInString = require_numberInString$1.numberInString;
502
+ exports.numberInStringConstraintKind = require_numberInString.numberInStringConstraintKind;
487
503
  exports.numberLiteralTypeKind = require_numberLiteral.numberLiteralTypeKind;
488
504
  exports.numberTypeKind = require_number$1.numberTypeKind;
489
505
  exports.object = require_object$1.object;
@@ -511,21 +527,21 @@ exports.strictNegative = require_strictNegative$1.strictNegative;
511
527
  exports.strictNegativeConstraintKind = require_strictNegative.strictNegativeConstraintKind;
512
528
  exports.strictPositive = require_strictPositive$1.strictPositive;
513
529
  exports.strictPositiveConstraintKind = require_strictPositive.strictPositiveConstraintKind;
514
- exports.string = require_string$2.string;
530
+ exports.string = require_string$3.string;
515
531
  exports.stringFundamentalTypeKind = require_string.stringFundamentalTypeKind;
516
532
  exports.stringLengthEqual = require_stringLengthEqual$1.stringLengthEqual;
517
533
  exports.stringLengthEqualConstraintKind = require_stringLengthEqual.stringLengthEqualConstraintKind;
518
534
  exports.stringLiteralTypeKind = require_stringLiteral.stringLiteralTypeKind;
519
- exports.stringTypeKind = require_string$1.stringTypeKind;
535
+ exports.stringTypeKind = require_string$2.stringTypeKind;
520
536
  exports.structureIdentifier = require_identifier$2.structureIdentifier;
521
- exports.structureKind = require_base$2.structureKind;
537
+ exports.structureKind = require_base$3.structureKind;
522
538
  exports.time = require_time$2.time;
523
539
  exports.timeFundamentalTypeKind = require_time.timeFundamentalTypeKind;
524
540
  exports.timeTypeKind = require_time$1.timeTypeKind;
525
541
  exports.trimmed = require_trimmed$1.trimmed;
526
542
  exports.trimmedConstraintKind = require_trimmed.trimmedConstraintKind;
527
543
  exports.typeIdentifier = require_identifier$3.typeIdentifier;
528
- exports.typeKind = require_base$3.typeKind;
544
+ exports.typeKind = require_base$4.typeKind;
529
545
  exports.typeStructureKind = require_type.typeStructureKind;
530
546
  exports.undefined = require_undefined$2.undefined;
531
547
  exports.undefinedFundamentalTypeKind = require_undefined.undefinedFundamentalTypeKind;
@@ -1,10 +1,22 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
2
2
  import { createKind } from "./kind.mjs";
3
3
  import { ErrorSymbol, SuccessSymbol } from "./common/resultSymbol.mjs";
4
- import { codecKind, codecsKind, createCodec, createCodecs } from "./common/codec.mjs";
4
+ import { codecKind, codecsKind, createCodec, createCodecs } from "./common/codec/base.mjs";
5
+ import { createFundamentalType, fundamentalTypeKind } from "./fundamentalType/base.mjs";
6
+ import { TheBigint, bigintFundamentalTypeKind } from "./fundamentalType/defaults/bigint.mjs";
7
+ import { TheBoolean, booleanFundamentalTypeKind } from "./fundamentalType/defaults/boolean.mjs";
8
+ import { TheDate, dateFundamentalTypeKind } from "./fundamentalType/defaults/date.mjs";
9
+ import { TheNull, nullFundamentalTypeKind } from "./fundamentalType/defaults/null.mjs";
10
+ import { TheNumber, numberFundamentalTypeKind } from "./fundamentalType/defaults/number.mjs";
11
+ import { TheString, stringFundamentalTypeKind } from "./fundamentalType/defaults/string.mjs";
12
+ import { TheTime, timeFundamentalTypeKind } from "./fundamentalType/defaults/time.mjs";
13
+ import { TheUndefined, undefinedFundamentalTypeKind } from "./fundamentalType/defaults/undefined.mjs";
14
+ import { fundamentalTypeIdentifier } from "./fundamentalType/identifier.mjs";
15
+ import { codecsJson } from "./common/codec/defaults/json.mjs";
16
+ import { codecsString } from "./common/codec/defaults/string.mjs";
5
17
  import { createErrorHandler, createGetErrorHandler, decodeIssueKind, encodeIssueKind, issueKind } from "./common/error.mjs";
6
18
  import { createErrorInterpreter } from "./common/errorInterpreter.mjs";
7
- import { constraintKind, createConstraint } from "./constraint/base.mjs";
19
+ import { ConstraintBase, constraintKind, createConstraint } from "./constraint/base.mjs";
8
20
  import { AbsolutePathConstraint, absolutePathConstraintKind } from "./constraint/defaults/absolutePath.mjs";
9
21
  import { AllowedCharactersConstraint, allowedCharactersConstraintKind } from "./constraint/defaults/allowedCharacters.mjs";
10
22
  import { ArrayLengthEqualConstraint, arrayLengthEqualConstraintKind } from "./constraint/defaults/arrayLengthEqual.mjs";
@@ -25,6 +37,7 @@ import { MultipleOfConstraint, multipleOfConstraintKind } from "./constraint/def
25
37
  import { NegativeConstraint, negativeConstraintKind } from "./constraint/defaults/negative.mjs";
26
38
  import { NotEmptyConstraint, notEmptyConstraintKind } from "./constraint/defaults/notEmpty.mjs";
27
39
  import { NotZeroConstraint, notZeroConstraintKind } from "./constraint/defaults/notZero.mjs";
40
+ import { NumberInStringConstraint, numberInStringConstraintKind } from "./constraint/defaults/numberInString.mjs";
28
41
  import { OddConstraint, oddConstraintKind } from "./constraint/defaults/odd.mjs";
29
42
  import { PathConstraint, pathConstraintKind } from "./constraint/defaults/path.mjs";
30
43
  import { PositiveConstraint, positiveConstraintKind } from "./constraint/defaults/positive.mjs";
@@ -39,16 +52,6 @@ import { UrlConstraint, urlConstraintKind } from "./constraint/defaults/url.mjs"
39
52
  import { UuidConstraint, uuidConstraintKind } from "./constraint/defaults/uuid.mjs";
40
53
  import { RegexConstraint, regexConstraintKind } from "./constraint/defaults/regex.mjs";
41
54
  import { constraintIdentifier } from "./constraint/identifier.mjs";
42
- import { createFundamentalType, fundamentalTypeKind } from "./fundamentalType/base.mjs";
43
- import { TheBigint, bigintFundamentalTypeKind } from "./fundamentalType/defaults/bigint.mjs";
44
- import { TheBoolean, booleanFundamentalTypeKind } from "./fundamentalType/defaults/boolean.mjs";
45
- import { TheDate, dateFundamentalTypeKind } from "./fundamentalType/defaults/date.mjs";
46
- import { TheNull, nullFundamentalTypeKind } from "./fundamentalType/defaults/null.mjs";
47
- import { TheNumber, numberFundamentalTypeKind } from "./fundamentalType/defaults/number.mjs";
48
- import { TheString, stringFundamentalTypeKind } from "./fundamentalType/defaults/string.mjs";
49
- import { TheTime, timeFundamentalTypeKind } from "./fundamentalType/defaults/time.mjs";
50
- import { TheUndefined, undefinedFundamentalTypeKind } from "./fundamentalType/defaults/undefined.mjs";
51
- import { fundamentalTypeIdentifier } from "./fundamentalType/identifier.mjs";
52
55
  import { absolutePath } from "./helpers/absolutePath.mjs";
53
56
  import { allowedCharacters } from "./helpers/allowedCharacters.mjs";
54
57
  import { StructureClass, createStructure, structureKind } from "./structure/base.mjs";
@@ -105,6 +108,7 @@ import { notZero } from "./helpers/notZero.mjs";
105
108
  import { null as nullHelper } from "./helpers/null.mjs";
106
109
  import { nullable } from "./helpers/nullable.mjs";
107
110
  import { number } from "./helpers/number.mjs";
111
+ import { numberInString } from "./helpers/numberInString.mjs";
108
112
  import { object } from "./helpers/object.mjs";
109
113
  import { odd } from "./helpers/odd.mjs";
110
114
  import { undefined as undefinedHelper } from "./helpers/undefined.mjs";
@@ -138,6 +142,7 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
138
142
  BigintType: () => BigintType,
139
143
  BooleanLiteralType: () => BooleanLiteralType,
140
144
  BooleanType: () => BooleanType,
145
+ ConstraintBase: () => ConstraintBase,
141
146
  DateType: () => DateType,
142
147
  EmailConstraint: () => EmailConstraint,
143
148
  ErrorSymbol: () => ErrorSymbol,
@@ -158,6 +163,7 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
158
163
  NotEmptyConstraint: () => NotEmptyConstraint,
159
164
  NotZeroConstraint: () => NotZeroConstraint,
160
165
  NullType: () => NullType,
166
+ NumberInStringConstraint: () => NumberInStringConstraint,
161
167
  NumberLiteralType: () => NumberLiteralType,
162
168
  NumberType: () => NumberType,
163
169
  ObjectStructure: () => ObjectStructure,
@@ -212,7 +218,9 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
212
218
  booleanLiteralTypeKind: () => booleanLiteralTypeKind,
213
219
  booleanTypeKind: () => booleanTypeKind,
214
220
  codecKind: () => codecKind,
221
+ codecsJson: () => codecsJson,
215
222
  codecsKind: () => codecsKind,
223
+ codecsString: () => codecsString,
216
224
  constraintIdentifier: () => constraintIdentifier,
217
225
  constraintKind: () => constraintKind,
218
226
  createCodec: () => createCodec,
@@ -276,6 +284,8 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
276
284
  nullable: () => nullable,
277
285
  number: () => number,
278
286
  numberFundamentalTypeKind: () => numberFundamentalTypeKind,
287
+ numberInString: () => numberInString,
288
+ numberInStringConstraintKind: () => numberInStringConstraintKind,
279
289
  numberLiteralTypeKind: () => numberLiteralTypeKind,
280
290
  numberTypeKind: () => numberTypeKind,
281
291
  object: () => object,
@@ -330,4 +340,4 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
330
340
  uuidConstraintKind: () => uuidConstraintKind
331
341
  });
332
342
  //#endregion
333
- export { AbsolutePathConstraint, AllowedCharactersConstraint, ArrayLengthEqualConstraint, ArrayStructure, BetweenThanConstraint, BetweenThanOrEqualConstraint, BigintLiteralType, BigintType, BooleanLiteralType, BooleanType, DateType, EmailConstraint, ErrorSymbol, EvenConstraint, GreaterThanConstraint, GreaterThanOrEqualConstraint, IntegerConstraint, LazyStructure, LessThanConstraint, LessThanOrEqualConstraint, MaxCharactersConstraint, MaxElementsConstraint, MinCharactersConstraint, MinElementsConstraint, MultipleOfConstraint, NegativeConstraint, NonEncodableStringStructure, NotEmptyConstraint, NotZeroConstraint, NullType, NumberLiteralType, NumberType, ObjectStructure, OddConstraint, PathConstraint, PositiveConstraint, RecordStructure, RefineConstraint, RegexConstraint, SafeConstraint, SegmentPathConstraint, StrictNegativeConstraint, StrictPositiveConstraint, StringLengthEqualConstraint, StringLiteralType, StringType, StructureClass, SuccessSymbol, TheBigint, TheBoolean, TheDate, TheNull, TheNumber, TheString, TheTime, TheUndefined, TimeType, TrimmedConstraint, TypeStructure, UndefinedType, UnionStructure, UrlConstraint, UuidConstraint, absolutePath, absolutePathConstraintKind, allowedCharacters, allowedCharactersConstraintKind, array, arrayLengthEqual, arrayLengthEqualConstraintKind, arrayStructureKind, betweenThan, betweenThanConstraintKind, betweenThanOrEqual, betweenThanOrEqualConstraintKind, bigint, bigintFundamentalTypeKind, bigintLiteralTypeKind, bigintTypeKind, boolean, booleanFundamentalTypeKind, booleanLiteralTypeKind, booleanTypeKind, codecKind, codecsKind, constraintIdentifier, constraintKind, createCodec, createCodecs, createConstraint, createErrorHandler, createErrorInterpreter, createFundamentalType, createGetErrorHandler, createKind, createStructure, createType, dataStructure_exports, date, dateFundamentalTypeKind, dateTypeKind, decodeIssueKind, email, emailConstraintKind, encodeIssueKind, even, evenConstraintKind, extend, fundamentalTypeIdentifier, fundamentalTypeKind, greaterThan, greaterThanConstraintKind, greaterThanOrEqual, greaterThanOrEqualConstraintKind, integer, integerConstraintKind, isNullStructure, isUndefinedStructure, issueKind, lazy, lazyStructureKind, lessThan, lessThanConstraintKind, lessThanOrEqual, lessThanOrEqualConstraintKind, literal, maxCharacters, maxCharactersConstraintKind, maxElements, maxElementsConstraintKind, minCharacters, minCharactersConstraintKind, minElements, minElementsConstraintKind, multipleOf, multipleOfConstraintKind, negative, negativeConstraintKind, nonEncodableStringStructureKind, notEmpty, notEmptyConstraintKind, notZero, notZeroConstraintKind, nullHelper as null, nullFundamentalTypeKind, nullTypeKind, nullable, number, numberFundamentalTypeKind, numberLiteralTypeKind, numberTypeKind, object, objectStructureKind, odd, oddConstraintKind, optional, partial, path, pathConstraintKind, positive, positiveConstraintKind, record, recordStructureKind, refine, refineConstraintKind, regex, regexConstraintKind, required, safe, safeConstraintKind, segmentPath, segmentPathConstraintKind, strictNegative, strictNegativeConstraintKind, strictPositive, strictPositiveConstraintKind, string, stringFundamentalTypeKind, stringLengthEqual, stringLengthEqualConstraintKind, stringLiteralTypeKind, stringTypeKind, structureIdentifier, structureKind, time, timeFundamentalTypeKind, timeTypeKind, trimmed, trimmedConstraintKind, typeIdentifier, typeKind, typeStructureKind, undefinedHelper as undefined, undefinedFundamentalTypeKind, undefinedTypeKind, union, unionStructureKind, url, urlConstraintKind, uuid, uuidConstraintKind };
343
+ export { AbsolutePathConstraint, AllowedCharactersConstraint, ArrayLengthEqualConstraint, ArrayStructure, BetweenThanConstraint, BetweenThanOrEqualConstraint, BigintLiteralType, BigintType, BooleanLiteralType, BooleanType, ConstraintBase, DateType, EmailConstraint, ErrorSymbol, EvenConstraint, GreaterThanConstraint, GreaterThanOrEqualConstraint, IntegerConstraint, LazyStructure, LessThanConstraint, LessThanOrEqualConstraint, MaxCharactersConstraint, MaxElementsConstraint, MinCharactersConstraint, MinElementsConstraint, MultipleOfConstraint, NegativeConstraint, NonEncodableStringStructure, NotEmptyConstraint, NotZeroConstraint, NullType, NumberInStringConstraint, NumberLiteralType, NumberType, ObjectStructure, OddConstraint, PathConstraint, PositiveConstraint, RecordStructure, RefineConstraint, RegexConstraint, SafeConstraint, SegmentPathConstraint, StrictNegativeConstraint, StrictPositiveConstraint, StringLengthEqualConstraint, StringLiteralType, StringType, StructureClass, SuccessSymbol, TheBigint, TheBoolean, TheDate, TheNull, TheNumber, TheString, TheTime, TheUndefined, TimeType, TrimmedConstraint, TypeStructure, UndefinedType, UnionStructure, UrlConstraint, UuidConstraint, absolutePath, absolutePathConstraintKind, allowedCharacters, allowedCharactersConstraintKind, array, arrayLengthEqual, arrayLengthEqualConstraintKind, arrayStructureKind, betweenThan, betweenThanConstraintKind, betweenThanOrEqual, betweenThanOrEqualConstraintKind, bigint, bigintFundamentalTypeKind, bigintLiteralTypeKind, bigintTypeKind, boolean, booleanFundamentalTypeKind, booleanLiteralTypeKind, booleanTypeKind, codecKind, codecsJson, codecsKind, codecsString, constraintIdentifier, constraintKind, createCodec, createCodecs, createConstraint, createErrorHandler, createErrorInterpreter, createFundamentalType, createGetErrorHandler, createKind, createStructure, createType, dataStructure_exports, date, dateFundamentalTypeKind, dateTypeKind, decodeIssueKind, email, emailConstraintKind, encodeIssueKind, even, evenConstraintKind, extend, fundamentalTypeIdentifier, fundamentalTypeKind, greaterThan, greaterThanConstraintKind, greaterThanOrEqual, greaterThanOrEqualConstraintKind, integer, integerConstraintKind, isNullStructure, isUndefinedStructure, issueKind, lazy, lazyStructureKind, lessThan, lessThanConstraintKind, lessThanOrEqual, lessThanOrEqualConstraintKind, literal, maxCharacters, maxCharactersConstraintKind, maxElements, maxElementsConstraintKind, minCharacters, minCharactersConstraintKind, minElements, minElementsConstraintKind, multipleOf, multipleOfConstraintKind, negative, negativeConstraintKind, nonEncodableStringStructureKind, notEmpty, notEmptyConstraintKind, notZero, notZeroConstraintKind, nullHelper as null, nullFundamentalTypeKind, nullTypeKind, nullable, number, numberFundamentalTypeKind, numberInString, numberInStringConstraintKind, numberLiteralTypeKind, numberTypeKind, object, objectStructureKind, odd, oddConstraintKind, optional, partial, path, pathConstraintKind, positive, positiveConstraintKind, record, recordStructureKind, refine, refineConstraintKind, regex, regexConstraintKind, required, safe, safeConstraintKind, segmentPath, segmentPathConstraintKind, strictNegative, strictNegativeConstraintKind, strictPositive, strictPositiveConstraintKind, string, stringFundamentalTypeKind, stringLengthEqual, stringLengthEqualConstraintKind, stringLiteralTypeKind, stringTypeKind, structureIdentifier, structureKind, time, timeFundamentalTypeKind, timeTypeKind, trimmed, trimmedConstraintKind, typeIdentifier, typeKind, typeStructureKind, undefinedHelper as undefined, undefinedFundamentalTypeKind, undefinedTypeKind, union, unionStructureKind, url, urlConstraintKind, uuid, uuidConstraintKind };
@@ -24,14 +24,14 @@ export declare const entityStructureKind: DKind.Handler<DKind.Definition<"@Duplo
24
24
  export interface EntityStructureDefinition extends DDataStructure.StructureDefinition<readonly []> {
25
25
  readonly inner: DCommon.Memoized<DDataStructure.ObjectStructure>;
26
26
  }
27
- export type EntityMap<GenericValue extends unknown, GenericRawValue = DCommon.RemoveConstraint<GenericValue>> = GenericRawValue extends NewType ? NewTypeMap<GenericRawValue> : GenericRawValue extends Entity ? GenericRawValue : GenericRawValue extends object ? DCommon.Or<[
27
+ export type EntityMap<GenericValue extends unknown, GenericRawValue = DCommon.RemoveConstraint<GenericValue>> = GenericRawValue extends NewType ? NewTypeMap<GenericRawValue> : GenericRawValue extends object ? DCommon.Or<[
28
28
  DCommon.IsExtends<GenericRawValue, readonly any[]>,
29
29
  DCommon.And<[
30
30
  DCommon.IsExtends<keyof GenericRawValue, string>,
31
31
  DCommon.Not<DCommon.IsExtends<DCommon.AnyFunction, GenericRawValue[keyof GenericRawValue]>>
32
32
  ]>
33
33
  ]> extends true ? {
34
- [Prop in keyof GenericRawValue]: NewTypeMap<GenericRawValue[Prop]>;
34
+ [Prop in keyof GenericRawValue]: EntityMap<GenericRawValue[Prop]>;
35
35
  } : GenericRawValue : GenericRawValue;
36
36
  export interface EntityStructure<GenericName extends string = string, GenericProperties extends Record<string, unknown> = Record<string, unknown>> extends DCommon.Forward<DDataStructure.Structure<Entity<GenericName> & GenericProperties, EntityStructureDefinition> & DKind.Kind<typeof entityStructureKind>> {
37
37
  readonly name: GenericName;
@@ -1,3 +1,9 @@
1
+ const require_isSimple = require("../../object/isSimple.cjs");
2
+ const require_create = require("../../either/left/create.cjs");
3
+ const require_create$1 = require("../../either/right/create.cjs");
4
+ const require_justExec = require("../../common/justExec.cjs");
5
+ const require_resultSymbol = require("../../dataStructure/common/resultSymbol.cjs");
6
+ const require_error = require("../../dataStructure/common/error.cjs");
1
7
  const require_base = require("../../dataStructure/structure/base.cjs");
2
8
  const require_nonEncodableString = require("../../dataStructure/structure/defaults/nonEncodableString.cjs");
3
9
  const require_object = require("../../dataStructure/structure/defaults/object.cjs");
@@ -16,7 +22,64 @@ const TaggedObjectStructure = require_base.createStructure(taggedObjectStructure
16
22
  executeEncode: (self, codecContext, data, errorHandler) => self.definition.inner.executeEncode(codecContext, data, errorHandler),
17
23
  executeDecode: (self, codecContext, data, errorHandler) => self.definition.inner.executeDecode(codecContext, data, errorHandler),
18
24
  isAsynchronous: (self) => self.definition.inner.isAsynchronous()
19
- }, { name }));
25
+ }, {
26
+ name,
27
+ new: (self, properties) => ({
28
+ ...properties,
29
+ [objectTagKind.runTimeKey]: name
30
+ }),
31
+ decodeMap: (self, ...args) => {
32
+ if (args.length === 1) {
33
+ const [codecs] = args;
34
+ return (value) => self.decodeMap(codecs, value);
35
+ }
36
+ const errorHandler = require_error.createGetErrorHandler();
37
+ const [codecs, data] = args;
38
+ const result = self.executeDecode(codecs.context.value, require_isSimple.isSimple(data) ? {
39
+ ...data,
40
+ [objectTagKind.runTimeKey]: name
41
+ } : data, errorHandler);
42
+ if (result instanceof Promise) return require_create.left("async-error", void 0);
43
+ if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
44
+ return require_create$1.right("map-success", result);
45
+ },
46
+ map: (self, data) => {
47
+ const errorHandler = require_error.createGetErrorHandler();
48
+ const formattedData = require_isSimple.isSimple(data) ? {
49
+ ...data,
50
+ [objectTagKind.runTimeKey]: name
51
+ } : data;
52
+ const result = self.executeCheck(formattedData, errorHandler);
53
+ if (result instanceof Promise) return require_create.left("async-error", void 0);
54
+ if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
55
+ return require_create$1.right("map-success", formattedData);
56
+ },
57
+ asyncDecodeMap: (self, ...args) => {
58
+ if (args.length === 1) {
59
+ const [codecs] = args;
60
+ return (value) => self.asyncDecodeMap(codecs, value);
61
+ }
62
+ return require_justExec.justExec(async () => {
63
+ const errorHandler = require_error.createGetErrorHandler();
64
+ const [codecs, data] = args;
65
+ const result = await self.executeDecode(codecs.context.value, require_isSimple.isSimple(data) ? {
66
+ ...data,
67
+ [objectTagKind.runTimeKey]: name
68
+ } : data, errorHandler);
69
+ if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
70
+ return require_create$1.right("map-success", result);
71
+ });
72
+ },
73
+ asyncMap: (self, data) => require_justExec.justExec(async () => {
74
+ const errorHandler = require_error.createGetErrorHandler();
75
+ const formattedData = require_isSimple.isSimple(data) ? {
76
+ ...data,
77
+ [objectTagKind.runTimeKey]: name
78
+ } : data;
79
+ if (await self.executeCheck(formattedData, errorHandler) === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
80
+ return require_create$1.right("map-success", formattedData);
81
+ })
82
+ }));
20
83
  //#endregion
21
84
  exports.TaggedObjectStructure = TaggedObjectStructure;
22
85
  exports.objectTagKind = objectTagKind;
@@ -1,5 +1,7 @@
1
+ import { NewType, NewTypeMap } from '../newType';
1
2
  import type * as DKind from '../../kind';
2
- import type * as DCommon from '../../common';
3
+ import * as DCommon from '../../common';
4
+ import * as DEither from '../../either';
3
5
  import * as DDataStructure from '../../dataStructure';
4
6
  declare module '../../dataStructure' {
5
7
  interface StructuresStore {
@@ -25,7 +27,23 @@ export declare const taggedObjectStructureKind: DKind.Handler<DKind.Definition<"
25
27
  export interface TaggedObjectStructureDefinition extends DDataStructure.StructureDefinition<readonly []> {
26
28
  readonly inner: DDataStructure.ObjectStructure;
27
29
  }
30
+ export type TaggedObjectMap<GenericValue extends unknown, GenericRawValue = DCommon.RemoveConstraint<GenericValue>> = GenericRawValue extends NewType ? NewTypeMap<GenericRawValue> : GenericRawValue extends object ? DCommon.Or<[
31
+ DCommon.IsExtends<GenericRawValue, readonly any[]>,
32
+ DCommon.And<[
33
+ DCommon.IsExtends<keyof GenericRawValue, string>,
34
+ DCommon.Not<DCommon.IsExtends<DCommon.AnyFunction, GenericRawValue[keyof GenericRawValue]>>
35
+ ]>
36
+ ]> extends true ? {
37
+ [Prop in keyof GenericRawValue]: TaggedObjectMap<GenericRawValue[Prop]>;
38
+ } : GenericRawValue : GenericRawValue;
28
39
  export interface TaggedObjectStructure<GenericTaggedObject extends ObjectTag = ObjectTag> extends DCommon.Forward<DDataStructure.Structure<GenericTaggedObject, TaggedObjectStructureDefinition> & DKind.Kind<typeof taggedObjectStructureKind>> {
29
40
  readonly name: GetTagValue<GenericTaggedObject>;
41
+ "new"(properties: DCommon.SimplifyTopLevel<DKind.Remove<GenericTaggedObject>>): GenericTaggedObject;
42
+ decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>) => (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
43
+ decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
44
+ map(data: TaggedObjectMap<DKind.Remove<DDataStructure.StructureValue<this>>>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
45
+ asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>) => Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
46
+ asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
47
+ asyncMap(data: TaggedObjectMap<DKind.Remove<DDataStructure.StructureValue<this>>>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
30
48
  }
31
49
  export declare const TaggedObjectStructure: <GenericTaggedObject extends ObjectTag, GenericName extends string = never, GenericShape extends DDataStructure.ShapeObjectStructure = never>(name: GetTagValue<GenericTaggedObject> | GenericName, shape: ShapeTaggedObjectStructure<GenericTaggedObject> | GenericShape) => TaggedObjectStructure<ObjectTag extends GenericTaggedObject ? (ObjectTag<GenericName> & DDataStructure.ShapeObjectStructureValue<GenericShape>) : GenericTaggedObject>;
@@ -1,3 +1,9 @@
1
+ import { isSimple } from "../../object/isSimple.mjs";
2
+ import { left } from "../../either/left/create.mjs";
3
+ import { right } from "../../either/right/create.mjs";
4
+ import { justExec } from "../../common/justExec.mjs";
5
+ import { ErrorSymbol } from "../../dataStructure/common/resultSymbol.mjs";
6
+ import { createGetErrorHandler } from "../../dataStructure/common/error.mjs";
1
7
  import { createStructure } from "../../dataStructure/structure/base.mjs";
2
8
  import { NonEncodableStringStructure } from "../../dataStructure/structure/defaults/nonEncodableString.mjs";
3
9
  import { ObjectStructure } from "../../dataStructure/structure/defaults/object.mjs";
@@ -16,6 +22,63 @@ const TaggedObjectStructure = createStructure(taggedObjectStructureKind, ({ init
16
22
  executeEncode: (self, codecContext, data, errorHandler) => self.definition.inner.executeEncode(codecContext, data, errorHandler),
17
23
  executeDecode: (self, codecContext, data, errorHandler) => self.definition.inner.executeDecode(codecContext, data, errorHandler),
18
24
  isAsynchronous: (self) => self.definition.inner.isAsynchronous()
19
- }, { name }));
25
+ }, {
26
+ name,
27
+ new: (self, properties) => ({
28
+ ...properties,
29
+ [objectTagKind.runTimeKey]: name
30
+ }),
31
+ decodeMap: (self, ...args) => {
32
+ if (args.length === 1) {
33
+ const [codecs] = args;
34
+ return (value) => self.decodeMap(codecs, value);
35
+ }
36
+ const errorHandler = createGetErrorHandler();
37
+ const [codecs, data] = args;
38
+ const result = self.executeDecode(codecs.context.value, isSimple(data) ? {
39
+ ...data,
40
+ [objectTagKind.runTimeKey]: name
41
+ } : data, errorHandler);
42
+ if (result instanceof Promise) return left("async-error", void 0);
43
+ if (result === ErrorSymbol) return left("map-error", errorHandler().createError());
44
+ return right("map-success", result);
45
+ },
46
+ map: (self, data) => {
47
+ const errorHandler = createGetErrorHandler();
48
+ const formattedData = isSimple(data) ? {
49
+ ...data,
50
+ [objectTagKind.runTimeKey]: name
51
+ } : data;
52
+ const result = self.executeCheck(formattedData, errorHandler);
53
+ if (result instanceof Promise) return left("async-error", void 0);
54
+ if (result === ErrorSymbol) return left("map-error", errorHandler().createError());
55
+ return right("map-success", formattedData);
56
+ },
57
+ asyncDecodeMap: (self, ...args) => {
58
+ if (args.length === 1) {
59
+ const [codecs] = args;
60
+ return (value) => self.asyncDecodeMap(codecs, value);
61
+ }
62
+ return justExec(async () => {
63
+ const errorHandler = createGetErrorHandler();
64
+ const [codecs, data] = args;
65
+ const result = await self.executeDecode(codecs.context.value, isSimple(data) ? {
66
+ ...data,
67
+ [objectTagKind.runTimeKey]: name
68
+ } : data, errorHandler);
69
+ if (result === ErrorSymbol) return left("map-error", errorHandler().createError());
70
+ return right("map-success", result);
71
+ });
72
+ },
73
+ asyncMap: (self, data) => justExec(async () => {
74
+ const errorHandler = createGetErrorHandler();
75
+ const formattedData = isSimple(data) ? {
76
+ ...data,
77
+ [objectTagKind.runTimeKey]: name
78
+ } : data;
79
+ if (await self.executeCheck(formattedData, errorHandler) === ErrorSymbol) return left("map-error", errorHandler().createError());
80
+ return right("map-success", formattedData);
81
+ })
82
+ }));
20
83
  //#endregion
21
84
  export { TaggedObjectStructure, objectTagKind, taggedObjectStructureKind };