@duplojs/lang 0.0.1-beta.2 → 0.0.1-beta.4

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 (123) hide show
  1. package/dist/common/constraint/index.d.ts +1 -0
  2. package/dist/common/constraint/remove.cjs +6 -0
  3. package/dist/common/constraint/remove.d.ts +2 -0
  4. package/dist/common/constraint/remove.mjs +6 -0
  5. package/dist/common/index.cjs +3 -0
  6. package/dist/common/index.mjs +3 -1
  7. package/dist/common/types/forward.d.ts +1 -0
  8. package/dist/common/types/index.d.ts +1 -0
  9. package/dist/dataStructure/common/codec.d.ts +1 -1
  10. package/dist/dataStructure/constraint/defaults/allowedCharacters.d.ts +1 -1
  11. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.d.ts +1 -1
  12. package/dist/dataStructure/constraint/defaults/betweenThan.d.ts +1 -1
  13. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.d.ts +1 -1
  14. package/dist/dataStructure/constraint/defaults/email.d.ts +1 -1
  15. package/dist/dataStructure/constraint/defaults/even.d.ts +1 -1
  16. package/dist/dataStructure/constraint/defaults/greaterThan.d.ts +1 -1
  17. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.d.ts +1 -1
  18. package/dist/dataStructure/constraint/defaults/index.d.ts +1 -0
  19. package/dist/dataStructure/constraint/defaults/integer.d.ts +1 -1
  20. package/dist/dataStructure/constraint/defaults/lessThan.d.ts +1 -1
  21. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.d.ts +1 -1
  22. package/dist/dataStructure/constraint/defaults/maxCharacters.d.ts +1 -1
  23. package/dist/dataStructure/constraint/defaults/maxElements.d.ts +1 -1
  24. package/dist/dataStructure/constraint/defaults/minCharacters.cjs +3 -3
  25. package/dist/dataStructure/constraint/defaults/minCharacters.d.ts +2 -2
  26. package/dist/dataStructure/constraint/defaults/minCharacters.mjs +3 -3
  27. package/dist/dataStructure/constraint/defaults/minElements.d.ts +1 -1
  28. package/dist/dataStructure/constraint/defaults/multipleOf.d.ts +1 -1
  29. package/dist/dataStructure/constraint/defaults/negative.d.ts +1 -1
  30. package/dist/dataStructure/constraint/defaults/notEmpty.d.ts +1 -1
  31. package/dist/dataStructure/constraint/defaults/notZero.d.ts +1 -1
  32. package/dist/dataStructure/constraint/defaults/odd.d.ts +1 -1
  33. package/dist/dataStructure/constraint/defaults/positive.d.ts +1 -1
  34. package/dist/dataStructure/constraint/defaults/refine.d.ts +1 -1
  35. package/dist/dataStructure/constraint/defaults/regex.cjs +13 -0
  36. package/dist/dataStructure/constraint/defaults/regex.d.ts +10 -0
  37. package/dist/dataStructure/constraint/defaults/regex.mjs +12 -0
  38. package/dist/dataStructure/constraint/defaults/safe.d.ts +1 -1
  39. package/dist/dataStructure/constraint/defaults/strictNegative.d.ts +1 -1
  40. package/dist/dataStructure/constraint/defaults/strictPositive.d.ts +1 -1
  41. package/dist/dataStructure/constraint/defaults/stringLengthEqual.d.ts +1 -1
  42. package/dist/dataStructure/constraint/defaults/trimmed.d.ts +1 -1
  43. package/dist/dataStructure/constraint/defaults/url.cjs +2 -2
  44. package/dist/dataStructure/constraint/defaults/url.d.ts +2 -3
  45. package/dist/dataStructure/constraint/defaults/url.mjs +2 -2
  46. package/dist/dataStructure/constraint/defaults/uuid.cjs +1 -3
  47. package/dist/dataStructure/constraint/defaults/uuid.d.ts +1 -3
  48. package/dist/dataStructure/constraint/defaults/uuid.mjs +3 -4
  49. package/dist/dataStructure/constraint/identifier.d.ts +3 -4
  50. package/dist/dataStructure/constraint/types/constraints.d.ts +18 -15
  51. package/dist/dataStructure/fundamentalType/defaults/bigint.d.ts +1 -1
  52. package/dist/dataStructure/fundamentalType/defaults/boolean.d.ts +1 -1
  53. package/dist/dataStructure/fundamentalType/defaults/date.d.ts +1 -1
  54. package/dist/dataStructure/fundamentalType/defaults/null.d.ts +1 -1
  55. package/dist/dataStructure/fundamentalType/defaults/number.d.ts +1 -1
  56. package/dist/dataStructure/fundamentalType/defaults/string.d.ts +1 -1
  57. package/dist/dataStructure/fundamentalType/defaults/time.d.ts +1 -1
  58. package/dist/dataStructure/fundamentalType/defaults/undefined.d.ts +1 -1
  59. package/dist/dataStructure/fundamentalType/identifier.d.ts +3 -4
  60. package/dist/dataStructure/helpers/index.d.ts +1 -0
  61. package/dist/dataStructure/helpers/nullable.cjs +5 -2
  62. package/dist/dataStructure/helpers/nullable.mjs +5 -2
  63. package/dist/dataStructure/helpers/optional.cjs +5 -2
  64. package/dist/dataStructure/helpers/optional.mjs +5 -2
  65. package/dist/dataStructure/helpers/partial.cjs +5 -2
  66. package/dist/dataStructure/helpers/partial.mjs +5 -2
  67. package/dist/dataStructure/helpers/regex.cjs +7 -0
  68. package/dist/dataStructure/helpers/regex.d.ts +2 -0
  69. package/dist/dataStructure/helpers/regex.mjs +7 -0
  70. package/dist/dataStructure/helpers/required.cjs +6 -3
  71. package/dist/dataStructure/helpers/required.d.ts +2 -1
  72. package/dist/dataStructure/helpers/required.mjs +6 -3
  73. package/dist/dataStructure/helpers/url.cjs +2 -2
  74. package/dist/dataStructure/helpers/url.d.ts +1 -2
  75. package/dist/dataStructure/helpers/url.mjs +2 -2
  76. package/dist/dataStructure/index.cjs +12 -6
  77. package/dist/dataStructure/index.mjs +11 -7
  78. package/dist/dataStructure/structure/defaults/array.d.ts +1 -1
  79. package/dist/dataStructure/structure/defaults/lazy.cjs +6 -1
  80. package/dist/dataStructure/structure/defaults/lazy.d.ts +1 -1
  81. package/dist/dataStructure/structure/defaults/lazy.mjs +6 -1
  82. package/dist/dataStructure/structure/defaults/nonEncodableString.d.ts +1 -1
  83. package/dist/dataStructure/structure/defaults/object.d.ts +1 -1
  84. package/dist/dataStructure/structure/defaults/record.cjs +7 -7
  85. package/dist/dataStructure/structure/defaults/record.d.ts +2 -2
  86. package/dist/dataStructure/structure/defaults/record.mjs +7 -7
  87. package/dist/dataStructure/structure/defaults/type.d.ts +1 -1
  88. package/dist/dataStructure/structure/defaults/union.cjs +11 -5
  89. package/dist/dataStructure/structure/defaults/union.d.ts +2 -2
  90. package/dist/dataStructure/structure/defaults/union.mjs +11 -5
  91. package/dist/dataStructure/structure/identifier.d.ts +3 -4
  92. package/dist/dataStructure/type/defaults/bigint.d.ts +1 -1
  93. package/dist/dataStructure/type/defaults/bigintLiteral.d.ts +1 -1
  94. package/dist/dataStructure/type/defaults/boolean.d.ts +1 -1
  95. package/dist/dataStructure/type/defaults/booleanLiteral.d.ts +1 -1
  96. package/dist/dataStructure/type/defaults/date.d.ts +1 -1
  97. package/dist/dataStructure/type/defaults/null.d.ts +1 -1
  98. package/dist/dataStructure/type/defaults/number.d.ts +1 -1
  99. package/dist/dataStructure/type/defaults/numberLiteral.d.ts +1 -1
  100. package/dist/dataStructure/type/defaults/string.d.ts +1 -1
  101. package/dist/dataStructure/type/defaults/stringLiteral.d.ts +1 -1
  102. package/dist/dataStructure/type/defaults/time.d.ts +1 -1
  103. package/dist/dataStructure/type/defaults/undefined.d.ts +1 -1
  104. package/dist/dataStructure/type/identifier.d.ts +3 -4
  105. package/dist/index.cjs +2 -0
  106. package/dist/index.mjs +2 -1
  107. package/dist/invocation/flow/base.d.ts +1 -1
  108. package/dist/invocation/flow/controller/defaults/aborter.cjs +4 -1
  109. package/dist/invocation/flow/controller/defaults/aborter.d.ts +6 -3
  110. package/dist/invocation/flow/controller/defaults/aborter.mjs +4 -1
  111. package/dist/invocation/flow/controller/defaults/debounce.d.ts +1 -1
  112. package/dist/invocation/flow/controller/defaults/filter.d.ts +1 -1
  113. package/dist/invocation/flow/controller/defaults/retry.d.ts +1 -1
  114. package/dist/invocation/flow/controller/defaults/throttling.d.ts +1 -1
  115. package/dist/invocation/flow/controller/defaults/timeout.d.ts +1 -1
  116. package/dist/kind/createIdentifier.d.ts +8 -4
  117. package/dist/modeling/entity/base.d.ts +3 -4
  118. package/dist/modeling/newType/base.d.ts +1 -1
  119. package/dist/modeling/taggedObject/base.d.ts +3 -4
  120. package/dist/string/isUrl.cjs +2 -11
  121. package/dist/string/isUrl.d.ts +1 -5
  122. package/dist/string/isUrl.mjs +2 -11
  123. package/package.json +1 -1
@@ -2,31 +2,34 @@ import { Constraint } from '../base';
2
2
  import type * as DDefaults from "../defaults";
3
3
  export interface ConstraintsStore {
4
4
  allowedCharacters: DDefaults.AllowedCharactersConstraint;
5
- arrayLengthEqual: DDefaults.ArrayLengthEqualConstraint;
6
- betweenThan: DDefaults.BetweenThanConstraint;
7
- betweenThanOrEqual: DDefaults.BetweenThanOrEqualConstraint;
8
5
  email: DDefaults.EmailConstraint;
9
- even: DDefaults.EvenConstraint;
10
- greaterThan: DDefaults.GreaterThanConstraint;
11
- greaterThanOrEqual: DDefaults.GreaterThanOrEqualConstraint;
12
- integer: DDefaults.IntegerConstraint;
13
- lessThan: DDefaults.LessThanConstraint;
14
- lessThanOrEqual: DDefaults.LessThanOrEqualConstraint;
6
+ url: DDefaults.UrlConstraint;
7
+ uuid: DDefaults.UuidConstraint;
8
+ trimmed: DDefaults.TrimmedConstraint;
9
+ notEmpty: DDefaults.NotEmptyConstraint;
10
+ regex: DDefaults.RegexConstraint;
11
+ minCharacters: DDefaults.MinCharactersConstraint;
15
12
  maxCharacters: DDefaults.MaxCharactersConstraint;
16
- maxElements: DDefaults.MaxElementsConstraint;
13
+ stringLengthEqual: DDefaults.StringLengthEqualConstraint;
17
14
  minElements: DDefaults.MinElementsConstraint;
15
+ maxElements: DDefaults.MaxElementsConstraint;
16
+ arrayLengthEqual: DDefaults.ArrayLengthEqualConstraint;
17
+ integer: DDefaults.IntegerConstraint;
18
+ even: DDefaults.EvenConstraint;
18
19
  multipleOf: DDefaults.MultipleOfConstraint;
19
20
  negative: DDefaults.NegativeConstraint;
20
- notEmpty: DDefaults.NotEmptyConstraint;
21
21
  notZero: DDefaults.NotZeroConstraint;
22
22
  odd: DDefaults.OddConstraint;
23
23
  positive: DDefaults.PositiveConstraint;
24
24
  safe: DDefaults.SafeConstraint;
25
25
  strictNegative: DDefaults.StrictNegativeConstraint;
26
26
  strictPositive: DDefaults.StrictPositiveConstraint;
27
- stringLengthEqual: DDefaults.StringLengthEqualConstraint;
28
- stringMin: DDefaults.MinCharactersConstraint;
29
- url: DDefaults.UrlConstraint;
30
- uuid: DDefaults.UuidConstraint;
27
+ betweenThan: DDefaults.BetweenThanConstraint;
28
+ betweenThanOrEqual: DDefaults.BetweenThanOrEqualConstraint;
29
+ greaterThan: DDefaults.GreaterThanConstraint;
30
+ greaterThanOrEqual: DDefaults.GreaterThanOrEqualConstraint;
31
+ lessThan: DDefaults.LessThanConstraint;
32
+ lessThanOrEqual: DDefaults.LessThanOrEqualConstraint;
33
+ refine: DDefaults.RefineConstraint;
31
34
  }
32
35
  export type Constraints = Extract<ConstraintsStore[keyof ConstraintsStore], Constraint>;
@@ -2,6 +2,6 @@ import { FundamentalType } from '../base';
2
2
  import type * as DCommon from '../../../common';
3
3
  import type * as DKind from '../../../kind';
4
4
  export declare const bigintFundamentalTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/bigint-fundamental-type", unknown>>;
5
- export interface TheBigint extends DCommon.UnionToIntersection<FundamentalType<bigint> & DKind.Kind<typeof bigintFundamentalTypeKind>> {
5
+ export interface TheBigint extends DCommon.Forward<FundamentalType<bigint> & DKind.Kind<typeof bigintFundamentalTypeKind>> {
6
6
  }
7
7
  export declare const TheBigint: TheBigint;
@@ -2,6 +2,6 @@ import { FundamentalType } from '../base';
2
2
  import type * as DCommon from '../../../common';
3
3
  import type * as DKind from '../../../kind';
4
4
  export declare const booleanFundamentalTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/boolean-fundamental-type", unknown>>;
5
- export interface TheBoolean extends DCommon.UnionToIntersection<FundamentalType<boolean> & DKind.Kind<typeof booleanFundamentalTypeKind>> {
5
+ export interface TheBoolean extends DCommon.Forward<FundamentalType<boolean> & DKind.Kind<typeof booleanFundamentalTypeKind>> {
6
6
  }
7
7
  export declare const TheBoolean: TheBoolean;
@@ -3,6 +3,6 @@ import * as DChrono from '../../../chrono';
3
3
  import type * as DCommon from '../../../common';
4
4
  import type * as DKind from '../../../kind';
5
5
  export declare const dateFundamentalTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/date-fundamental-type", unknown>>;
6
- export interface TheDate extends DCommon.UnionToIntersection<FundamentalType<DChrono.TheDate> & DKind.Kind<typeof dateFundamentalTypeKind>> {
6
+ export interface TheDate extends DCommon.Forward<FundamentalType<DChrono.TheDate> & DKind.Kind<typeof dateFundamentalTypeKind>> {
7
7
  }
8
8
  export declare const TheDate: TheDate;
@@ -2,6 +2,6 @@ import { FundamentalType } from '../base';
2
2
  import type * as DCommon from '../../../common';
3
3
  import type * as DKind from '../../../kind';
4
4
  export declare const nullFundamentalTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/null-fundamental-type", unknown>>;
5
- export interface TheNull extends DCommon.UnionToIntersection<FundamentalType<null> & DKind.Kind<typeof nullFundamentalTypeKind>> {
5
+ export interface TheNull extends DCommon.Forward<FundamentalType<null> & DKind.Kind<typeof nullFundamentalTypeKind>> {
6
6
  }
7
7
  export declare const TheNull: TheNull;
@@ -2,6 +2,6 @@ import { FundamentalType } from '../base';
2
2
  import type * as DCommon from '../../../common';
3
3
  import type * as DKind from '../../../kind';
4
4
  export declare const numberFundamentalTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/number-fundamental-type", unknown>>;
5
- export interface TheNumber extends DCommon.UnionToIntersection<FundamentalType<number> & DKind.Kind<typeof numberFundamentalTypeKind>> {
5
+ export interface TheNumber extends DCommon.Forward<FundamentalType<number> & DKind.Kind<typeof numberFundamentalTypeKind>> {
6
6
  }
7
7
  export declare const TheNumber: TheNumber;
@@ -2,6 +2,6 @@ import { FundamentalType } from '../base';
2
2
  import type * as DCommon from '../../../common';
3
3
  import type * as DKind from '../../../kind';
4
4
  export declare const stringFundamentalTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/string-fundamental-type", unknown>>;
5
- export interface TheString extends DCommon.UnionToIntersection<FundamentalType<string> & DKind.Kind<typeof stringFundamentalTypeKind>> {
5
+ export interface TheString extends DCommon.Forward<FundamentalType<string> & DKind.Kind<typeof stringFundamentalTypeKind>> {
6
6
  }
7
7
  export declare const TheString: TheString;
@@ -3,6 +3,6 @@ import * as DChrono from '../../../chrono';
3
3
  import type * as DCommon from '../../../common';
4
4
  import type * as DKind from '../../../kind';
5
5
  export declare const timeFundamentalTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/time-fundamental-type", unknown>>;
6
- export interface TheTime extends DCommon.UnionToIntersection<FundamentalType<DChrono.TheTime> & DKind.Kind<typeof timeFundamentalTypeKind>> {
6
+ export interface TheTime extends DCommon.Forward<FundamentalType<DChrono.TheTime> & DKind.Kind<typeof timeFundamentalTypeKind>> {
7
7
  }
8
8
  export declare const TheTime: TheTime;
@@ -2,6 +2,6 @@ import { FundamentalType } from '../base';
2
2
  import type * as DCommon from '../../../common';
3
3
  import type * as DKind from '../../../kind';
4
4
  export declare const undefinedFundamentalTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/undefined-fundamental-type", unknown>>;
5
- export interface TheUndefined extends DCommon.UnionToIntersection<FundamentalType<undefined> & DKind.Kind<typeof undefinedFundamentalTypeKind>> {
5
+ export interface TheUndefined extends DCommon.Forward<FundamentalType<undefined> & DKind.Kind<typeof undefinedFundamentalTypeKind>> {
6
6
  }
7
7
  export declare const TheUndefined: TheUndefined;
@@ -1,5 +1,4 @@
1
1
  import { FundamentalType } from './base';
2
- export declare const fundamentalTypeIdentifier: {
3
- <GenericKindHandler extends import('../../kind').GetHandler<import('..').TheBigint> | import('../../kind').GetHandler<import('..').TheBoolean> | import('../../kind').GetHandler<import('..').TheDate> | import('../../kind').GetHandler<import('..').TheNull> | import('../../kind').GetHandler<import('..').TheNumber> | import('../../kind').GetHandler<import('..').TheString> | import('../../kind').GetHandler<import('..').TheTime> | import('../../kind').GetHandler<import('..').TheUndefined>, GenericInput extends unknown, GenericGroupedKind extends import('../..').UnionToIntersection<GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<string, unknown>> ? import('../../kind').Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import('../..').UnionContain<GenericInput, FundamentalType<unknown>> extends true ? Extract<import('..').TheBigint, GenericGroupedKind> | Extract<import('..').TheBoolean, GenericGroupedKind> | Extract<import('..').TheDate, GenericGroupedKind> | Extract<import('..').TheNull, GenericGroupedKind> | Extract<import('..').TheNumber, GenericGroupedKind> | Extract<import('..').TheString, GenericGroupedKind> | Extract<import('..').TheTime, GenericGroupedKind> | Extract<import('..').TheUndefined, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
4
- <GenericKindHandler extends import('../../kind').GetHandler<import('..').TheBigint> | import('../../kind').GetHandler<import('..').TheBoolean> | import('../../kind').GetHandler<import('..').TheDate> | import('../../kind').GetHandler<import('..').TheNull> | import('../../kind').GetHandler<import('..').TheNumber> | import('../../kind').GetHandler<import('..').TheString> | import('../../kind').GetHandler<import('..').TheTime> | import('../../kind').GetHandler<import('..').TheUndefined>, GenericInput extends unknown, GenericGroupedKind extends import('../..').UnionToIntersection<GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<string, unknown>> ? import('../../kind').Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (import('../..').UnionContain<GenericInput, FundamentalType<unknown>> extends true ? Extract<import('..').TheBigint, GenericGroupedKind> | Extract<import('..').TheBoolean, GenericGroupedKind> | Extract<import('..').TheDate, GenericGroupedKind> | Extract<import('..').TheNull, GenericGroupedKind> | Extract<import('..').TheNumber, GenericGroupedKind> | Extract<import('..').TheString, GenericGroupedKind> | Extract<import('..').TheTime, GenericGroupedKind> | Extract<import('..').TheUndefined, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
5
- };
2
+ import { FundamentalTypes } from './types';
3
+ import * as DKind from '../../kind';
4
+ export declare const fundamentalTypeIdentifier: DKind.KindIdentifier<FundamentalType<unknown>, FundamentalTypes>;
@@ -48,3 +48,4 @@ export * from './undefined';
48
48
  export * from './union';
49
49
  export * from './url';
50
50
  export * from './uuid';
51
+ export * from './regex';
@@ -1,12 +1,15 @@
1
1
  const require_identifier = require("../structure/identifier.cjs");
2
2
  const require_union = require("../structure/defaults/union.cjs");
3
3
  const require_isNullStructure = require("./isNullStructure.cjs");
4
+ const require_lazy = require("./lazy.cjs");
4
5
  const require_union$1 = require("./union.cjs");
5
6
  const require_null = require("./null.cjs");
6
7
  //#region scripts/dataStructure/helpers/nullable.ts
7
8
  function nullable(structure) {
8
- if (require_identifier.structureIdentifier(structure, require_union.unionStructureKind)) return structure.definition.values.some(require_isNullStructure.isNullStructure) ? require_union$1.union(structure.definition.values) : require_union$1.union([require_null.null(), ...structure.definition.values]);
9
- return require_union$1.union([require_null.null(), structure]);
9
+ return require_union$1.union([require_lazy.lazy(() => {
10
+ if (require_identifier.structureIdentifier(structure, require_union.unionStructureKind)) return structure.definition.values.value.some(require_isNullStructure.isNullStructure) ? structure : require_union$1.union([require_null.null(), require_union$1.union(structure.definition.values.value)]);
11
+ return require_union$1.union([require_null.null(), structure]);
12
+ })]);
10
13
  }
11
14
  //#endregion
12
15
  exports.nullable = nullable;
@@ -1,12 +1,15 @@
1
1
  import { structureIdentifier } from "../structure/identifier.mjs";
2
2
  import { unionStructureKind } from "../structure/defaults/union.mjs";
3
3
  import { isNullStructure } from "./isNullStructure.mjs";
4
+ import { lazy } from "./lazy.mjs";
4
5
  import { union } from "./union.mjs";
5
6
  import { null as nullHelper } from "./null.mjs";
6
7
  //#region scripts/dataStructure/helpers/nullable.ts
7
8
  function nullable(structure) {
8
- if (structureIdentifier(structure, unionStructureKind)) return structure.definition.values.some(isNullStructure) ? union(structure.definition.values) : union([nullHelper(), ...structure.definition.values]);
9
- return union([nullHelper(), structure]);
9
+ return union([lazy(() => {
10
+ if (structureIdentifier(structure, unionStructureKind)) return structure.definition.values.value.some(isNullStructure) ? structure : union([nullHelper(), union(structure.definition.values.value)]);
11
+ return union([nullHelper(), structure]);
12
+ })]);
10
13
  }
11
14
  //#endregion
12
15
  export { nullable };
@@ -1,12 +1,15 @@
1
1
  const require_identifier = require("../structure/identifier.cjs");
2
2
  const require_union = require("../structure/defaults/union.cjs");
3
3
  const require_isUndefinedStructure = require("./isUndefinedStructure.cjs");
4
+ const require_lazy = require("./lazy.cjs");
4
5
  const require_union$1 = require("./union.cjs");
5
6
  const require_undefined = require("./undefined.cjs");
6
7
  //#region scripts/dataStructure/helpers/optional.ts
7
8
  function optional(structure) {
8
- if (require_identifier.structureIdentifier(structure, require_union.unionStructureKind)) return structure.definition.values.some(require_isUndefinedStructure.isUndefinedStructure) ? require_union$1.union(structure.definition.values) : require_union$1.union([require_undefined.undefined(), ...structure.definition.values]);
9
- return require_union$1.union([require_undefined.undefined(), structure]);
9
+ return require_union$1.union([require_lazy.lazy(() => {
10
+ if (require_identifier.structureIdentifier(structure, require_union.unionStructureKind)) return structure.definition.values.value.some(require_isUndefinedStructure.isUndefinedStructure) ? structure : require_union$1.union([require_undefined.undefined(), require_union$1.union(structure.definition.values.value)]);
11
+ return require_union$1.union([require_undefined.undefined(), structure]);
12
+ })]);
10
13
  }
11
14
  //#endregion
12
15
  exports.optional = optional;
@@ -1,12 +1,15 @@
1
1
  import { structureIdentifier } from "../structure/identifier.mjs";
2
2
  import { unionStructureKind } from "../structure/defaults/union.mjs";
3
3
  import { isUndefinedStructure } from "./isUndefinedStructure.mjs";
4
+ import { lazy } from "./lazy.mjs";
4
5
  import { union } from "./union.mjs";
5
6
  import { undefined as undefinedHelper } from "./undefined.mjs";
6
7
  //#region scripts/dataStructure/helpers/optional.ts
7
8
  function optional(structure) {
8
- if (structureIdentifier(structure, unionStructureKind)) return structure.definition.values.some(isUndefinedStructure) ? union(structure.definition.values) : union([undefinedHelper(), ...structure.definition.values]);
9
- return union([undefinedHelper(), structure]);
9
+ return union([lazy(() => {
10
+ if (structureIdentifier(structure, unionStructureKind)) return structure.definition.values.value.some(isUndefinedStructure) ? structure : union([undefinedHelper(), union(structure.definition.values.value)]);
11
+ return union([undefinedHelper(), structure]);
12
+ })]);
10
13
  }
11
14
  //#endregion
12
15
  export { optional };
@@ -1,17 +1,20 @@
1
1
  const require_identifier = require("../structure/identifier.cjs");
2
+ const require_lazy = require("../structure/defaults/lazy.cjs");
2
3
  const require_union = require("../structure/defaults/union.cjs");
3
4
  const require_isUndefinedStructure = require("./isUndefinedStructure.cjs");
5
+ const require_lazy$1 = require("./lazy.cjs");
4
6
  const require_union$1 = require("./union.cjs");
5
7
  const require_object = require("./object.cjs");
6
8
  const require_undefined = require("./undefined.cjs");
7
9
  //#region scripts/dataStructure/helpers/partial.ts
8
10
  function partialStructure(structure) {
11
+ if (require_identifier.structureIdentifier(structure, require_lazy.lazyStructureKind)) return partialStructure(structure.definition.getter.value);
9
12
  if (require_isUndefinedStructure.isUndefinedStructure(structure)) return structure;
10
- if (require_identifier.structureIdentifier(structure, require_union.unionStructureKind)) return structure.definition.values.some(require_isUndefinedStructure.isUndefinedStructure) ? structure : require_union$1.union([require_undefined.undefined(), ...structure.definition.values]);
13
+ if (require_identifier.structureIdentifier(structure, require_union.unionStructureKind)) return structure.definition.values.value.some(require_isUndefinedStructure.isUndefinedStructure) ? structure : require_union$1.union([require_undefined.undefined(), ...structure.definition.values.value]);
11
14
  return require_union$1.union([require_undefined.undefined(), structure]);
12
15
  }
13
16
  function partial(structure) {
14
- return require_object.object(Object.fromEntries(structure.definition.shape.value.map((entry) => [entry.key, partialStructure(entry.value)])));
17
+ return require_object.object(Object.fromEntries(structure.definition.shape.value.map((entry) => [entry.key, require_lazy$1.lazy(() => partialStructure(entry.value))])));
15
18
  }
16
19
  //#endregion
17
20
  exports.partial = partial;
@@ -1,17 +1,20 @@
1
1
  import { structureIdentifier } from "../structure/identifier.mjs";
2
+ import { lazyStructureKind } from "../structure/defaults/lazy.mjs";
2
3
  import { unionStructureKind } from "../structure/defaults/union.mjs";
3
4
  import { isUndefinedStructure } from "./isUndefinedStructure.mjs";
5
+ import { lazy } from "./lazy.mjs";
4
6
  import { union } from "./union.mjs";
5
7
  import { object } from "./object.mjs";
6
8
  import { undefined as undefinedHelper } from "./undefined.mjs";
7
9
  //#region scripts/dataStructure/helpers/partial.ts
8
10
  function partialStructure(structure) {
11
+ if (structureIdentifier(structure, lazyStructureKind)) return partialStructure(structure.definition.getter.value);
9
12
  if (isUndefinedStructure(structure)) return structure;
10
- if (structureIdentifier(structure, unionStructureKind)) return structure.definition.values.some(isUndefinedStructure) ? structure : union([undefinedHelper(), ...structure.definition.values]);
13
+ if (structureIdentifier(structure, unionStructureKind)) return structure.definition.values.value.some(isUndefinedStructure) ? structure : union([undefinedHelper(), ...structure.definition.values.value]);
11
14
  return union([undefinedHelper(), structure]);
12
15
  }
13
16
  function partial(structure) {
14
- return object(Object.fromEntries(structure.definition.shape.value.map((entry) => [entry.key, partialStructure(entry.value)])));
17
+ return object(Object.fromEntries(structure.definition.shape.value.map((entry) => [entry.key, lazy(() => partialStructure(entry.value))])));
15
18
  }
16
19
  //#endregion
17
20
  export { partial };
@@ -0,0 +1,7 @@
1
+ const require_regex = require("../constraint/defaults/regex.cjs");
2
+ //#region scripts/dataStructure/helpers/regex.ts
3
+ function regex(regex) {
4
+ return require_regex.RegexConstraint(regex);
5
+ }
6
+ //#endregion
7
+ exports.regex = regex;
@@ -0,0 +1,2 @@
1
+ import { RegexConstraint } from '../constraint';
2
+ export declare function regex(regex: RegExp): RegexConstraint;
@@ -0,0 +1,7 @@
1
+ import { RegexConstraint } from "../constraint/defaults/regex.mjs";
2
+ //#region scripts/dataStructure/helpers/regex.ts
3
+ function regex(regex) {
4
+ return RegexConstraint(regex);
5
+ }
6
+ //#endregion
7
+ export { regex };
@@ -1,18 +1,21 @@
1
1
  const require_identifier = require("../structure/identifier.cjs");
2
+ const require_lazy = require("../structure/defaults/lazy.cjs");
2
3
  const require_union = require("../structure/defaults/union.cjs");
3
4
  const require_isUndefinedStructure = require("./isUndefinedStructure.cjs");
5
+ const require_lazy$1 = require("./lazy.cjs");
4
6
  const require_union$1 = require("./union.cjs");
5
7
  const require_object = require("./object.cjs");
6
8
  //#region scripts/dataStructure/helpers/required.ts
7
9
  function requiredStructure(structure) {
10
+ if (require_identifier.structureIdentifier(structure, require_lazy.lazyStructureKind)) return requiredStructure(structure.definition.getter.value);
8
11
  if (!require_identifier.structureIdentifier(structure, require_union.unionStructureKind)) return structure;
9
- const values = structure.definition.values.filter((value) => !require_isUndefinedStructure.isUndefinedStructure(value));
12
+ const values = structure.definition.values.value.filter((value) => !require_isUndefinedStructure.isUndefinedStructure(value));
10
13
  if (values.length === 1) return values[0];
11
- if (values.length === structure.definition.values.length) return structure;
14
+ if (values.length === structure.definition.values.value.length) return structure;
12
15
  return require_union$1.union(values);
13
16
  }
14
17
  function required(structure) {
15
- return require_object.object(Object.fromEntries(structure.definition.shape.value.map((entry) => [entry.key, requiredStructure(entry.value)])));
18
+ return require_object.object(Object.fromEntries(structure.definition.shape.value.map((entry) => [entry.key, require_lazy$1.lazy(() => requiredStructure(entry.value))])));
16
19
  }
17
20
  //#endregion
18
21
  exports.required = required;
@@ -1,4 +1,5 @@
1
1
  import { ObjectStructure, StructureInitialValue } from '../structure';
2
+ import type * as DCommon from '../../common';
2
3
  export declare function required<GenericObjectStructure extends ObjectStructure, GenericObjectStructureValue extends StructureInitialValue<GenericObjectStructure>>(structure: GenericObjectStructure): ObjectStructure<{
3
- readonly [Prop in keyof GenericObjectStructureValue]-?: Exclude<GenericObjectStructureValue[Prop], undefined>;
4
+ readonly [Prop in keyof GenericObjectStructureValue]-?: DCommon.IsEqual<GenericObjectStructureValue[Prop], undefined> extends true ? undefined : Exclude<GenericObjectStructureValue[Prop], undefined>;
4
5
  }, readonly []>;
@@ -1,18 +1,21 @@
1
1
  import { structureIdentifier } from "../structure/identifier.mjs";
2
+ import { lazyStructureKind } from "../structure/defaults/lazy.mjs";
2
3
  import { unionStructureKind } from "../structure/defaults/union.mjs";
3
4
  import { isUndefinedStructure } from "./isUndefinedStructure.mjs";
5
+ import { lazy } from "./lazy.mjs";
4
6
  import { union } from "./union.mjs";
5
7
  import { object } from "./object.mjs";
6
8
  //#region scripts/dataStructure/helpers/required.ts
7
9
  function requiredStructure(structure) {
10
+ if (structureIdentifier(structure, lazyStructureKind)) return requiredStructure(structure.definition.getter.value);
8
11
  if (!structureIdentifier(structure, unionStructureKind)) return structure;
9
- const values = structure.definition.values.filter((value) => !isUndefinedStructure(value));
12
+ const values = structure.definition.values.value.filter((value) => !isUndefinedStructure(value));
10
13
  if (values.length === 1) return values[0];
11
- if (values.length === structure.definition.values.length) return structure;
14
+ if (values.length === structure.definition.values.value.length) return structure;
12
15
  return union(values);
13
16
  }
14
17
  function required(structure) {
15
- return object(Object.fromEntries(structure.definition.shape.value.map((entry) => [entry.key, requiredStructure(entry.value)])));
18
+ return object(Object.fromEntries(structure.definition.shape.value.map((entry) => [entry.key, lazy(() => requiredStructure(entry.value))])));
16
19
  }
17
20
  //#endregion
18
21
  export { required };
@@ -1,7 +1,7 @@
1
1
  const require_url = require("../constraint/defaults/url.cjs");
2
2
  //#region scripts/dataStructure/helpers/url.ts
3
- function url(params) {
4
- return require_url.UrlConstraint(params);
3
+ function url() {
4
+ return require_url.UrlConstraint();
5
5
  }
6
6
  //#endregion
7
7
  exports.url = url;
@@ -1,3 +1,2 @@
1
1
  import { UrlConstraint } from '../constraint';
2
- import type * as DString from '../../string';
3
- export declare function url(params?: DString.IsUrlParams): UrlConstraint;
2
+ export declare function url(): UrlConstraint;
@@ -1,7 +1,7 @@
1
1
  import { UrlConstraint } from "../constraint/defaults/url.mjs";
2
2
  //#region scripts/dataStructure/helpers/url.ts
3
- function url(params) {
4
- return UrlConstraint(params);
3
+ function url() {
4
+ return UrlConstraint();
5
5
  }
6
6
  //#endregion
7
7
  export { url };
@@ -34,6 +34,7 @@ const require_stringLengthEqual = require("./constraint/defaults/stringLengthEqu
34
34
  const require_trimmed = require("./constraint/defaults/trimmed.cjs");
35
35
  const require_url = require("./constraint/defaults/url.cjs");
36
36
  const require_uuid = require("./constraint/defaults/uuid.cjs");
37
+ const require_regex = require("./constraint/defaults/regex.cjs");
37
38
  const require_identifier = require("./constraint/identifier.cjs");
38
39
  const require_base$1 = require("./fundamentalType/base.cjs");
39
40
  const require_bigint = require("./fundamentalType/defaults/bigint.cjs");
@@ -48,10 +49,10 @@ const require_identifier$1 = require("./fundamentalType/identifier.cjs");
48
49
  const require_allowedCharacters$1 = require("./helpers/allowedCharacters.cjs");
49
50
  const require_base$2 = require("./structure/base.cjs");
50
51
  const require_array = require("./structure/defaults/array.cjs");
52
+ const require_identifier$2 = require("./structure/identifier.cjs");
51
53
  const require_lazy = require("./structure/defaults/lazy.cjs");
52
54
  const require_nonEncodableString = require("./structure/defaults/nonEncodableString.cjs");
53
55
  const require_object = require("./structure/defaults/object.cjs");
54
- const require_identifier$2 = require("./structure/identifier.cjs");
55
56
  const require_union = require("./structure/defaults/union.cjs");
56
57
  const require_type = require("./structure/defaults/type.cjs");
57
58
  const require_base$3 = require("./type/base.cjs");
@@ -118,6 +119,7 @@ const require_time$2 = require("./helpers/time.cjs");
118
119
  const require_trimmed$1 = require("./helpers/trimmed.cjs");
119
120
  const require_url$1 = require("./helpers/url.cjs");
120
121
  const require_uuid$1 = require("./helpers/uuid.cjs");
122
+ const require_regex$1 = require("./helpers/regex.cjs");
121
123
  //#region scripts/dataStructure/index.ts
122
124
  var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
123
125
  AllowedCharactersConstraint: () => require_allowedCharacters.AllowedCharactersConstraint,
@@ -156,6 +158,7 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
156
158
  PositiveConstraint: () => require_positive.PositiveConstraint,
157
159
  RecordStructure: () => require_record.RecordStructure,
158
160
  RefineConstraint: () => require_refine.RefineConstraint,
161
+ RegexConstraint: () => require_regex.RegexConstraint,
159
162
  SafeConstraint: () => require_safe.SafeConstraint,
160
163
  StrictNegativeConstraint: () => require_strictNegative.StrictNegativeConstraint,
161
164
  StrictPositiveConstraint: () => require_strictPositive.StrictPositiveConstraint,
@@ -244,6 +247,7 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
244
247
  maxElements: () => require_maxElements$1.maxElements,
245
248
  maxElementsConstraintKind: () => require_maxElements.maxElementsConstraintKind,
246
249
  minCharacters: () => require_minCharacters$1.minCharacters,
250
+ minCharactersConstraintKind: () => require_minCharacters.minCharactersConstraintKind,
247
251
  minElements: () => require_minElements$1.minElements,
248
252
  minElementsConstraintKind: () => require_minElements.minElementsConstraintKind,
249
253
  multipleOf: () => require_multipleOf$1.multipleOf,
@@ -275,6 +279,8 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
275
279
  recordStructureKind: () => require_record.recordStructureKind,
276
280
  refine: () => require_refine$1.refine,
277
281
  refineConstraintKind: () => require_refine.refineConstraintKind,
282
+ regex: () => require_regex$1.regex,
283
+ regexConstraintKind: () => require_regex.regexConstraintKind,
278
284
  required: () => require_required.required,
279
285
  safe: () => require_safe$1.safe,
280
286
  safeConstraintKind: () => require_safe.safeConstraintKind,
@@ -287,7 +293,6 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
287
293
  stringLengthEqual: () => require_stringLengthEqual$1.stringLengthEqual,
288
294
  stringLengthEqualConstraintKind: () => require_stringLengthEqual.stringLengthEqualConstraintKind,
289
295
  stringLiteralTypeKind: () => require_stringLiteral.stringLiteralTypeKind,
290
- stringMinConstraintKind: () => require_minCharacters.stringMinConstraintKind,
291
296
  stringTypeKind: () => require_string$1.stringTypeKind,
292
297
  structureIdentifier: () => require_identifier$2.structureIdentifier,
293
298
  structureKind: () => require_base$2.structureKind,
@@ -307,8 +312,7 @@ var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
307
312
  url: () => require_url$1.url,
308
313
  urlConstraintKind: () => require_url.urlConstraintKind,
309
314
  uuid: () => require_uuid$1.uuid,
310
- uuidConstraintKind: () => require_uuid.uuidConstraintKind,
311
- uuidRegex: () => require_uuid.uuidRegex
315
+ uuidConstraintKind: () => require_uuid.uuidConstraintKind
312
316
  });
313
317
  //#endregion
314
318
  exports.AllowedCharactersConstraint = require_allowedCharacters.AllowedCharactersConstraint;
@@ -347,6 +351,7 @@ exports.OddConstraint = require_odd.OddConstraint;
347
351
  exports.PositiveConstraint = require_positive.PositiveConstraint;
348
352
  exports.RecordStructure = require_record.RecordStructure;
349
353
  exports.RefineConstraint = require_refine.RefineConstraint;
354
+ exports.RegexConstraint = require_regex.RegexConstraint;
350
355
  exports.SafeConstraint = require_safe.SafeConstraint;
351
356
  exports.StrictNegativeConstraint = require_strictNegative.StrictNegativeConstraint;
352
357
  exports.StrictPositiveConstraint = require_strictPositive.StrictPositiveConstraint;
@@ -441,6 +446,7 @@ exports.maxCharactersConstraintKind = require_maxCharacters.maxCharactersConstra
441
446
  exports.maxElements = require_maxElements$1.maxElements;
442
447
  exports.maxElementsConstraintKind = require_maxElements.maxElementsConstraintKind;
443
448
  exports.minCharacters = require_minCharacters$1.minCharacters;
449
+ exports.minCharactersConstraintKind = require_minCharacters.minCharactersConstraintKind;
444
450
  exports.minElements = require_minElements$1.minElements;
445
451
  exports.minElementsConstraintKind = require_minElements.minElementsConstraintKind;
446
452
  exports.multipleOf = require_multipleOf$1.multipleOf;
@@ -472,6 +478,8 @@ exports.record = require_record$1.record;
472
478
  exports.recordStructureKind = require_record.recordStructureKind;
473
479
  exports.refine = require_refine$1.refine;
474
480
  exports.refineConstraintKind = require_refine.refineConstraintKind;
481
+ exports.regex = require_regex$1.regex;
482
+ exports.regexConstraintKind = require_regex.regexConstraintKind;
475
483
  exports.required = require_required.required;
476
484
  exports.safe = require_safe$1.safe;
477
485
  exports.safeConstraintKind = require_safe.safeConstraintKind;
@@ -484,7 +492,6 @@ exports.stringFundamentalTypeKind = require_string.stringFundamentalTypeKind;
484
492
  exports.stringLengthEqual = require_stringLengthEqual$1.stringLengthEqual;
485
493
  exports.stringLengthEqualConstraintKind = require_stringLengthEqual.stringLengthEqualConstraintKind;
486
494
  exports.stringLiteralTypeKind = require_stringLiteral.stringLiteralTypeKind;
487
- exports.stringMinConstraintKind = require_minCharacters.stringMinConstraintKind;
488
495
  exports.stringTypeKind = require_string$1.stringTypeKind;
489
496
  exports.structureIdentifier = require_identifier$2.structureIdentifier;
490
497
  exports.structureKind = require_base$2.structureKind;
@@ -505,4 +512,3 @@ exports.url = require_url$1.url;
505
512
  exports.urlConstraintKind = require_url.urlConstraintKind;
506
513
  exports.uuid = require_uuid$1.uuid;
507
514
  exports.uuidConstraintKind = require_uuid.uuidConstraintKind;
508
- exports.uuidRegex = require_uuid.uuidRegex;
@@ -18,7 +18,7 @@ import { LessThanConstraint, lessThanConstraintKind } from "./constraint/default
18
18
  import { LessThanOrEqualConstraint, lessThanOrEqualConstraintKind } from "./constraint/defaults/lessThanOrEqual.mjs";
19
19
  import { MaxCharactersConstraint, maxCharactersConstraintKind } from "./constraint/defaults/maxCharacters.mjs";
20
20
  import { MaxElementsConstraint, maxElementsConstraintKind } from "./constraint/defaults/maxElements.mjs";
21
- import { MinCharactersConstraint, stringMinConstraintKind } from "./constraint/defaults/minCharacters.mjs";
21
+ import { MinCharactersConstraint, minCharactersConstraintKind } from "./constraint/defaults/minCharacters.mjs";
22
22
  import { MinElementsConstraint, minElementsConstraintKind } from "./constraint/defaults/minElements.mjs";
23
23
  import { MultipleOfConstraint, multipleOfConstraintKind } from "./constraint/defaults/multipleOf.mjs";
24
24
  import { NegativeConstraint, negativeConstraintKind } from "./constraint/defaults/negative.mjs";
@@ -33,7 +33,8 @@ import { StrictPositiveConstraint, strictPositiveConstraintKind } from "./constr
33
33
  import { StringLengthEqualConstraint, stringLengthEqualConstraintKind } from "./constraint/defaults/stringLengthEqual.mjs";
34
34
  import { TrimmedConstraint, trimmedConstraintKind } from "./constraint/defaults/trimmed.mjs";
35
35
  import { UrlConstraint, urlConstraintKind } from "./constraint/defaults/url.mjs";
36
- import { UuidConstraint, uuidConstraintKind, uuidRegex } from "./constraint/defaults/uuid.mjs";
36
+ import { UuidConstraint, uuidConstraintKind } from "./constraint/defaults/uuid.mjs";
37
+ import { RegexConstraint, regexConstraintKind } from "./constraint/defaults/regex.mjs";
37
38
  import { constraintIdentifier } from "./constraint/identifier.mjs";
38
39
  import { createFundamentalType, fundamentalTypeKind } from "./fundamentalType/base.mjs";
39
40
  import { TheBigint, bigintFundamentalTypeKind } from "./fundamentalType/defaults/bigint.mjs";
@@ -48,10 +49,10 @@ import { fundamentalTypeIdentifier } from "./fundamentalType/identifier.mjs";
48
49
  import { allowedCharacters } from "./helpers/allowedCharacters.mjs";
49
50
  import { StructureClass, createStructure, structureKind } from "./structure/base.mjs";
50
51
  import { ArrayStructure, arrayStructureKind } from "./structure/defaults/array.mjs";
52
+ import { structureIdentifier } from "./structure/identifier.mjs";
51
53
  import { LazyStructure, lazyStructureKind } from "./structure/defaults/lazy.mjs";
52
54
  import { NonEncodableStringStructure, nonEncodableStringStructureKind } from "./structure/defaults/nonEncodableString.mjs";
53
55
  import { ObjectStructure, objectStructureKind } from "./structure/defaults/object.mjs";
54
- import { structureIdentifier } from "./structure/identifier.mjs";
55
56
  import { UnionStructure, unionStructureKind } from "./structure/defaults/union.mjs";
56
57
  import { TypeStructure, typeStructureKind } from "./structure/defaults/type.mjs";
57
58
  import { createType, typeKind } from "./type/base.mjs";
@@ -118,6 +119,7 @@ import { time } from "./helpers/time.mjs";
118
119
  import { trimmed } from "./helpers/trimmed.mjs";
119
120
  import { url } from "./helpers/url.mjs";
120
121
  import { uuid } from "./helpers/uuid.mjs";
122
+ import { regex } from "./helpers/regex.mjs";
121
123
  //#region scripts/dataStructure/index.ts
122
124
  var dataStructure_exports = /* @__PURE__ */ __exportAll({
123
125
  AllowedCharactersConstraint: () => AllowedCharactersConstraint,
@@ -156,6 +158,7 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
156
158
  PositiveConstraint: () => PositiveConstraint,
157
159
  RecordStructure: () => RecordStructure,
158
160
  RefineConstraint: () => RefineConstraint,
161
+ RegexConstraint: () => RegexConstraint,
159
162
  SafeConstraint: () => SafeConstraint,
160
163
  StrictNegativeConstraint: () => StrictNegativeConstraint,
161
164
  StrictPositiveConstraint: () => StrictPositiveConstraint,
@@ -244,6 +247,7 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
244
247
  maxElements: () => maxElements,
245
248
  maxElementsConstraintKind: () => maxElementsConstraintKind,
246
249
  minCharacters: () => minCharacters,
250
+ minCharactersConstraintKind: () => minCharactersConstraintKind,
247
251
  minElements: () => minElements,
248
252
  minElementsConstraintKind: () => minElementsConstraintKind,
249
253
  multipleOf: () => multipleOf,
@@ -275,6 +279,8 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
275
279
  recordStructureKind: () => recordStructureKind,
276
280
  refine: () => refine,
277
281
  refineConstraintKind: () => refineConstraintKind,
282
+ regex: () => regex,
283
+ regexConstraintKind: () => regexConstraintKind,
278
284
  required: () => required,
279
285
  safe: () => safe,
280
286
  safeConstraintKind: () => safeConstraintKind,
@@ -287,7 +293,6 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
287
293
  stringLengthEqual: () => stringLengthEqual,
288
294
  stringLengthEqualConstraintKind: () => stringLengthEqualConstraintKind,
289
295
  stringLiteralTypeKind: () => stringLiteralTypeKind,
290
- stringMinConstraintKind: () => stringMinConstraintKind,
291
296
  stringTypeKind: () => stringTypeKind,
292
297
  structureIdentifier: () => structureIdentifier,
293
298
  structureKind: () => structureKind,
@@ -307,8 +312,7 @@ var dataStructure_exports = /* @__PURE__ */ __exportAll({
307
312
  url: () => url,
308
313
  urlConstraintKind: () => urlConstraintKind,
309
314
  uuid: () => uuid,
310
- uuidConstraintKind: () => uuidConstraintKind,
311
- uuidRegex: () => uuidRegex
315
+ uuidConstraintKind: () => uuidConstraintKind
312
316
  });
313
317
  //#endregion
314
- export { 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, PositiveConstraint, RecordStructure, RefineConstraint, SafeConstraint, StrictNegativeConstraint, StrictPositiveConstraint, StringLengthEqualConstraint, StringLiteralType, StringType, StructureClass, SuccessSymbol, TheBigint, TheBoolean, TheDate, TheNull, TheNumber, TheString, TheTime, TheUndefined, TimeType, TrimmedConstraint, TypeStructure, UndefinedType, UnionStructure, UrlConstraint, UuidConstraint, 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, 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, positive, positiveConstraintKind, record, recordStructureKind, refine, refineConstraintKind, required, safe, safeConstraintKind, strictNegative, strictNegativeConstraintKind, strictPositive, strictPositiveConstraintKind, string, stringFundamentalTypeKind, stringLengthEqual, stringLengthEqualConstraintKind, stringLiteralTypeKind, stringMinConstraintKind, stringTypeKind, structureIdentifier, structureKind, time, timeFundamentalTypeKind, timeTypeKind, trimmed, trimmedConstraintKind, typeIdentifier, typeKind, typeStructureKind, undefinedHelper as undefined, undefinedFundamentalTypeKind, undefinedTypeKind, union, unionStructureKind, url, urlConstraintKind, uuid, uuidConstraintKind, uuidRegex };
318
+ export { 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, PositiveConstraint, RecordStructure, RefineConstraint, RegexConstraint, SafeConstraint, StrictNegativeConstraint, StrictPositiveConstraint, StringLengthEqualConstraint, StringLiteralType, StringType, StructureClass, SuccessSymbol, TheBigint, TheBoolean, TheDate, TheNull, TheNumber, TheString, TheTime, TheUndefined, TimeType, TrimmedConstraint, TypeStructure, UndefinedType, UnionStructure, UrlConstraint, UuidConstraint, 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, positive, positiveConstraintKind, record, recordStructureKind, refine, refineConstraintKind, regex, regexConstraintKind, required, safe, safeConstraintKind, 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 };
@@ -13,6 +13,6 @@ export declare const arrayStructureKind: DKind.Handler<DKind.Definition<"@Duploj
13
13
  export interface ArrayStructureDefinition<GenericConstraints extends readonly Constraint[] = readonly Constraint[]> extends StructureDefinition<GenericConstraints> {
14
14
  readonly element: Structure;
15
15
  }
16
- export interface ArrayStructure<GenericValue extends readonly unknown[] = readonly unknown[], GenericConstraints extends readonly Constraint<GenericValue>[] = readonly Constraint<GenericValue>[]> extends DCommon.UnionToIntersection<Structure<GenericValue, ArrayStructureDefinition<GenericConstraints>> & DKind.Kind<typeof arrayStructureKind>> {
16
+ export interface ArrayStructure<GenericValue extends readonly unknown[] = readonly unknown[], GenericConstraints extends readonly Constraint<GenericValue>[] = readonly Constraint<GenericValue>[]> extends DCommon.Forward<Structure<GenericValue, ArrayStructureDefinition<GenericConstraints>> & DKind.Kind<typeof arrayStructureKind>> {
17
17
  }
18
18
  export declare const ArrayStructure: <GenericElement extends Structure, const GenericConstraints extends readonly Constraint<readonly StructureValue<GenericElement>[]>[]>(element: GenericElement, constraints: GenericConstraints) => NoInfer<ArrayStructure<readonly StructureValue<GenericElement>[], readonly [...GenericConstraints]>>;