@warlock.js/seal 5.30.0 → 5.32.0
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.
- package/CHANGELOG.md +46 -7
- package/README.md +57 -9
- package/cjs/index.cjs +41 -29
- package/cjs/index.cjs.map +1 -1
- package/cjs/{object--LXRt5RF.cjs → object-BoVGJ68E.cjs} +43 -24
- package/cjs/object-BoVGJ68E.cjs.map +1 -0
- package/cjs/object.cjs +2 -2
- package/cjs/{required-methods-DYsRO9aZ.cjs → required-methods-BJlnLnwa.cjs} +343 -258
- package/cjs/required-methods-BJlnLnwa.cjs.map +1 -0
- package/cjs/{string-DsqnKoSB.cjs → string-CM8x0u2w.cjs} +46 -44
- package/cjs/string-CM8x0u2w.cjs.map +1 -0
- package/cjs/string.cjs +2 -2
- package/esm/config.d.mts +7 -8
- package/esm/config.d.mts.map +1 -1
- package/esm/config.mjs.map +1 -1
- package/esm/factory/index.d.mts +2 -1
- package/esm/factory/index.mjs +1 -1
- package/esm/factory/validate.d.mts +3 -6
- package/esm/factory/validate.d.mts.map +1 -1
- package/esm/factory/validators.d.mts +16 -13
- package/esm/factory/validators.d.mts.map +1 -1
- package/esm/factory/validators.mjs +7 -1
- package/esm/factory/validators.mjs.map +1 -1
- package/esm/helpers/date-helpers.d.mts +1 -2
- package/esm/helpers/date-helpers.d.mts.map +1 -1
- package/esm/helpers/file.utils.d.mts +2 -4
- package/esm/helpers/file.utils.d.mts.map +1 -1
- package/esm/helpers/get-field-value.d.mts +2 -3
- package/esm/helpers/get-field-value.d.mts.map +1 -1
- package/esm/helpers/get-field-value.mjs +2 -1
- package/esm/helpers/get-field-value.mjs.map +1 -1
- package/esm/helpers/index.d.mts +6 -0
- package/esm/helpers/index.mjs +1 -1
- package/esm/helpers/path-helpers.d.mts +1 -2
- package/esm/helpers/path-helpers.d.mts.map +1 -1
- package/esm/helpers/validation-helpers.d.mts +4 -10
- package/esm/helpers/validation-helpers.d.mts.map +1 -1
- package/esm/index.d.mts +7 -0
- package/esm/mutators/array-mutators.d.mts +6 -7
- package/esm/mutators/array-mutators.d.mts.map +1 -1
- package/esm/mutators/boolean-mutators.d.mts +3 -4
- package/esm/mutators/boolean-mutators.d.mts.map +1 -1
- package/esm/mutators/date-mutators.d.mts +18 -19
- package/esm/mutators/date-mutators.d.mts.map +1 -1
- package/esm/mutators/index.d.mts +8 -0
- package/esm/mutators/index.mjs +1 -1
- package/esm/mutators/number-mutators.d.mts +10 -11
- package/esm/mutators/number-mutators.d.mts.map +1 -1
- package/esm/mutators/object-mutators.d.mts +4 -5
- package/esm/mutators/object-mutators.d.mts.map +1 -1
- package/esm/mutators/object-mutators.mjs +5 -4
- package/esm/mutators/object-mutators.mjs.map +1 -1
- package/esm/mutators/scalar-mutators.d.mts +2 -3
- package/esm/mutators/scalar-mutators.d.mts.map +1 -1
- package/esm/mutators/string-mutators.d.mts +37 -38
- package/esm/mutators/string-mutators.d.mts.map +1 -1
- package/esm/mutators/string-mutators.mjs +5 -3
- package/esm/mutators/string-mutators.mjs.map +1 -1
- package/esm/object.d.mts +3 -5
- package/esm/object.d.mts.map +1 -1
- package/esm/object.mjs.map +1 -1
- package/esm/plugins/plugin-system.d.mts +11 -9
- package/esm/plugins/plugin-system.d.mts.map +1 -1
- package/esm/rules/array/array-rules.d.mts +3 -4
- package/esm/rules/array/array-rules.d.mts.map +1 -1
- package/esm/rules/array/index.d.mts +2 -0
- package/esm/rules/array/index.mjs +1 -1
- package/esm/rules/color/color-rules.d.mts +8 -9
- package/esm/rules/color/color-rules.d.mts.map +1 -1
- package/esm/rules/color/index.d.mts +2 -0
- package/esm/rules/color/index.mjs +1 -1
- package/esm/rules/common/enum.d.mts +5 -6
- package/esm/rules/common/enum.d.mts.map +1 -1
- package/esm/rules/common/equals-field-rules.d.mts +3 -4
- package/esm/rules/common/equals-field-rules.d.mts.map +1 -1
- package/esm/rules/common/index.d.mts +7 -0
- package/esm/rules/common/index.mjs +1 -1
- package/esm/rules/common/instanceof.d.mts +2 -3
- package/esm/rules/common/instanceof.d.mts.map +1 -1
- package/esm/rules/common/literal.d.mts +2 -3
- package/esm/rules/common/literal.d.mts.map +1 -1
- package/esm/rules/common/literal.mjs.map +1 -1
- package/esm/rules/common/type-rules.d.mts +10 -11
- package/esm/rules/common/type-rules.d.mts.map +1 -1
- package/esm/rules/common/unknown-key.d.mts +2 -3
- package/esm/rules/common/unknown-key.d.mts.map +1 -1
- package/esm/rules/conditional/forbidden-if-rules.d.mts +7 -8
- package/esm/rules/conditional/forbidden-if-rules.d.mts.map +1 -1
- package/esm/rules/conditional/index.d.mts +11 -0
- package/esm/rules/conditional/index.mjs +1 -1
- package/esm/rules/conditional/present-if-rules.d.mts +6 -7
- package/esm/rules/conditional/present-if-rules.d.mts.map +1 -1
- package/esm/rules/conditional/present-unless-rules.d.mts +2 -3
- package/esm/rules/conditional/present-unless-rules.d.mts.map +1 -1
- package/esm/rules/conditional/present-with-rules.d.mts +4 -5
- package/esm/rules/conditional/present-with-rules.d.mts.map +1 -1
- package/esm/rules/conditional/present-without-rules.d.mts +4 -5
- package/esm/rules/conditional/present-without-rules.d.mts.map +1 -1
- package/esm/rules/conditional/required-if-rules.d.mts +10 -11
- package/esm/rules/conditional/required-if-rules.d.mts.map +1 -1
- package/esm/rules/conditional/required-unless-rules.d.mts +2 -3
- package/esm/rules/conditional/required-unless-rules.d.mts.map +1 -1
- package/esm/rules/conditional/required-when-rule.d.mts +2 -3
- package/esm/rules/conditional/required-when-rule.d.mts.map +1 -1
- package/esm/rules/conditional/required-with-rules.d.mts +4 -5
- package/esm/rules/conditional/required-with-rules.d.mts.map +1 -1
- package/esm/rules/conditional/required-without-rules.d.mts +4 -5
- package/esm/rules/conditional/required-without-rules.d.mts.map +1 -1
- package/esm/rules/core/equal.d.mts +2 -3
- package/esm/rules/core/equal.d.mts.map +1 -1
- package/esm/rules/core/forbidden.d.mts +2 -3
- package/esm/rules/core/forbidden.d.mts.map +1 -1
- package/esm/rules/core/index.d.mts +6 -0
- package/esm/rules/core/index.mjs +1 -1
- package/esm/rules/core/required.d.mts +3 -4
- package/esm/rules/core/required.d.mts.map +1 -1
- package/esm/rules/core/union.d.mts +10 -4
- package/esm/rules/core/union.d.mts.map +1 -1
- package/esm/rules/core/union.mjs +56 -10
- package/esm/rules/core/union.mjs.map +1 -1
- package/esm/rules/core/when.d.mts +2 -3
- package/esm/rules/core/when.d.mts.map +1 -1
- package/esm/rules/core/when.mjs.map +1 -1
- package/esm/rules/date/date-comparison-rules.d.mts +6 -7
- package/esm/rules/date/date-comparison-rules.d.mts.map +1 -1
- package/esm/rules/date/date-day-rules.d.mts +5 -6
- package/esm/rules/date/date-day-rules.d.mts.map +1 -1
- package/esm/rules/date/date-field-comparison-rules.d.mts +4 -5
- package/esm/rules/date/date-field-comparison-rules.d.mts.map +1 -1
- package/esm/rules/date/date-field-comparison-rules.mjs +6 -3
- package/esm/rules/date/date-field-comparison-rules.mjs.map +1 -1
- package/esm/rules/date/date-period-rules.d.mts +16 -16
- package/esm/rules/date/date-period-rules.d.mts.map +1 -1
- package/esm/rules/date/date-period-rules.mjs +24 -12
- package/esm/rules/date/date-period-rules.mjs.map +1 -1
- package/esm/rules/date/date-relative-rules.d.mts +4 -5
- package/esm/rules/date/date-relative-rules.d.mts.map +1 -1
- package/esm/rules/date/date-relative-rules.mjs +3 -3
- package/esm/rules/date/date-relative-rules.mjs.map +1 -1
- package/esm/rules/date/date-special-rules.d.mts +4 -5
- package/esm/rules/date/date-special-rules.d.mts.map +1 -1
- package/esm/rules/date/date.d.mts +16 -17
- package/esm/rules/date/date.d.mts.map +1 -1
- package/esm/rules/date/date.mjs +4 -2
- package/esm/rules/date/date.mjs.map +1 -1
- package/esm/rules/date/index.d.mts +8 -0
- package/esm/rules/date/index.mjs +1 -1
- package/esm/rules/file/dimensions.d.mts +5 -6
- package/esm/rules/file/dimensions.d.mts.map +1 -1
- package/esm/rules/file/file-size.d.mts +3 -4
- package/esm/rules/file/file-size.d.mts.map +1 -1
- package/esm/rules/file/index.d.mts +3 -0
- package/esm/rules/file/index.mjs +1 -1
- package/esm/rules/index.d.mts +56 -0
- package/esm/rules/index.mjs +1 -1
- package/esm/rules/length/index.d.mts +2 -0
- package/esm/rules/length/index.mjs +1 -1
- package/esm/rules/length/length-rules.d.mts +8 -9
- package/esm/rules/length/length-rules.d.mts.map +1 -1
- package/esm/rules/number/index.d.mts +2 -0
- package/esm/rules/number/index.mjs +1 -1
- package/esm/rules/number/number-rules.d.mts +11 -12
- package/esm/rules/number/number-rules.d.mts.map +1 -1
- package/esm/rules/number/number-rules.mjs +12 -6
- package/esm/rules/number/number-rules.mjs.map +1 -1
- package/esm/rules/scalar/index.mjs +1 -1
- package/esm/rules/string/alpha.d.mts +4 -5
- package/esm/rules/string/alpha.d.mts.map +1 -1
- package/esm/rules/string/credit-card.d.mts +2 -3
- package/esm/rules/string/credit-card.d.mts.map +1 -1
- package/esm/rules/string/email.d.mts +2 -3
- package/esm/rules/string/email.d.mts.map +1 -1
- package/esm/rules/string/id-formats.d.mts +6 -7
- package/esm/rules/string/id-formats.d.mts.map +1 -1
- package/esm/rules/string/index.d.mts +12 -0
- package/esm/rules/string/index.mjs +1 -1
- package/esm/rules/string/ip.d.mts +7 -8
- package/esm/rules/string/ip.d.mts.map +1 -1
- package/esm/rules/string/matches.d.mts +2 -3
- package/esm/rules/string/matches.d.mts.map +1 -1
- package/esm/rules/string/pattern.d.mts +2 -3
- package/esm/rules/string/pattern.d.mts.map +1 -1
- package/esm/rules/string/string-comparison.d.mts +5 -6
- package/esm/rules/string/string-comparison.d.mts.map +1 -1
- package/esm/rules/string/strong-password-rule.d.mts +2 -3
- package/esm/rules/string/strong-password-rule.d.mts.map +1 -1
- package/esm/rules/string/url.d.mts +2 -3
- package/esm/rules/string/url.d.mts.map +1 -1
- package/esm/rules/string/without-whitespace.d.mts +2 -3
- package/esm/rules/string/without-whitespace.d.mts.map +1 -1
- package/esm/standard-schema/index.d.mts +4 -0
- package/esm/standard-schema/json-schema.d.mts +5 -7
- package/esm/standard-schema/json-schema.d.mts.map +1 -1
- package/esm/standard-schema/json-schema.mjs.map +1 -1
- package/esm/standard-schema/map-result.d.mts +2 -3
- package/esm/standard-schema/map-result.d.mts.map +1 -1
- package/esm/standard-schema/map-result.mjs.map +1 -1
- package/esm/standard-schema/types.d.mts +4 -5
- package/esm/standard-schema/types.d.mts.map +1 -1
- package/esm/string.d.mts +2 -3
- package/esm/string.d.mts.map +1 -1
- package/esm/types/conditional-types.d.mts +8 -6
- package/esm/types/conditional-types.d.mts.map +1 -1
- package/esm/types/context-types.d.mts +24 -15
- package/esm/types/context-types.d.mts.map +1 -1
- package/esm/types/data-transformer-types.d.mts +3 -5
- package/esm/types/data-transformer-types.d.mts.map +1 -1
- package/esm/types/date-types.d.mts +2 -3
- package/esm/types/date-types.d.mts.map +1 -1
- package/esm/types/file.types.d.mts +1 -2
- package/esm/types/file.types.d.mts.map +1 -1
- package/esm/types/index.d.mts +11 -0
- package/esm/types/inference-types.d.mts +15 -14
- package/esm/types/inference-types.d.mts.map +1 -1
- package/esm/types/mutator-types.d.mts +9 -7
- package/esm/types/mutator-types.d.mts.map +1 -1
- package/esm/types/result-types.d.mts +12 -7
- package/esm/types/result-types.d.mts.map +1 -1
- package/esm/types/rule-types.d.mts +33 -15
- package/esm/types/rule-types.d.mts.map +1 -1
- package/esm/types/schema-types.d.mts +1 -3
- package/esm/types/schema-types.d.mts.map +1 -1
- package/esm/validators/any-validator.d.mts +1 -3
- package/esm/validators/any-validator.d.mts.map +1 -1
- package/esm/validators/array-validator.d.mts +2 -3
- package/esm/validators/array-validator.d.mts.map +1 -1
- package/esm/validators/array-validator.mjs +3 -3
- package/esm/validators/array-validator.mjs.map +1 -1
- package/esm/validators/base-validator.d.mts +10 -11
- package/esm/validators/base-validator.d.mts.map +1 -1
- package/esm/validators/base-validator.mjs +52 -21
- package/esm/validators/base-validator.mjs.map +1 -1
- package/esm/validators/boolean-validator.d.mts +1 -3
- package/esm/validators/boolean-validator.d.mts.map +1 -1
- package/esm/validators/computed-validator.d.mts +3 -4
- package/esm/validators/computed-validator.d.mts.map +1 -1
- package/esm/validators/computed-validator.mjs +4 -4
- package/esm/validators/computed-validator.mjs.map +1 -1
- package/esm/validators/date-validator.d.mts +2 -3
- package/esm/validators/date-validator.d.mts.map +1 -1
- package/esm/validators/discriminated-union-validator.d.mts +3 -3
- package/esm/validators/discriminated-union-validator.d.mts.map +1 -1
- package/esm/validators/discriminated-union-validator.mjs +1 -1
- package/esm/validators/discriminated-union-validator.mjs.map +1 -1
- package/esm/validators/float-validator.d.mts +1 -3
- package/esm/validators/float-validator.d.mts.map +1 -1
- package/esm/validators/index.d.mts +2 -1
- package/esm/validators/index.mjs +1 -1
- package/esm/validators/instanceof-validator.d.mts +1 -3
- package/esm/validators/instanceof-validator.d.mts.map +1 -1
- package/esm/validators/int-validator.d.mts +1 -3
- package/esm/validators/int-validator.d.mts.map +1 -1
- package/esm/validators/lazy-validator.d.mts +2 -3
- package/esm/validators/lazy-validator.d.mts.map +1 -1
- package/esm/validators/lazy-validator.mjs +1 -1
- package/esm/validators/lazy-validator.mjs.map +1 -1
- package/esm/validators/literal-validator.d.mts +1 -3
- package/esm/validators/literal-validator.d.mts.map +1 -1
- package/esm/validators/managed-validator.d.mts +3 -4
- package/esm/validators/managed-validator.d.mts.map +1 -1
- package/esm/validators/methods/equality-conditional-methods.d.mts +3 -4
- package/esm/validators/methods/equality-conditional-methods.d.mts.map +1 -1
- package/esm/validators/methods/forbidden-methods.d.mts +2 -3
- package/esm/validators/methods/forbidden-methods.d.mts.map +1 -1
- package/esm/validators/methods/present-methods.d.mts +2 -3
- package/esm/validators/methods/present-methods.d.mts.map +1 -1
- package/esm/validators/methods/required-methods.d.mts +3 -4
- package/esm/validators/methods/required-methods.d.mts.map +1 -1
- package/esm/validators/number-validator.d.mts +1 -3
- package/esm/validators/number-validator.d.mts.map +1 -1
- package/esm/validators/number-validator.mjs +12 -8
- package/esm/validators/number-validator.mjs.map +1 -1
- package/esm/validators/numeric-validator.d.mts +1 -3
- package/esm/validators/numeric-validator.d.mts.map +1 -1
- package/esm/validators/object-validator.d.mts +2 -3
- package/esm/validators/object-validator.d.mts.map +1 -1
- package/esm/validators/object-validator.mjs +9 -7
- package/esm/validators/object-validator.mjs.map +1 -1
- package/esm/validators/primitive-validator.d.mts +1 -3
- package/esm/validators/primitive-validator.d.mts.map +1 -1
- package/esm/validators/record-validator.d.mts +2 -3
- package/esm/validators/record-validator.d.mts.map +1 -1
- package/esm/validators/record-validator.mjs +3 -3
- package/esm/validators/record-validator.mjs.map +1 -1
- package/esm/validators/scalar-validator.d.mts +1 -3
- package/esm/validators/scalar-validator.d.mts.map +1 -1
- package/esm/validators/scalar-validator.mjs.map +1 -1
- package/esm/validators/string-validator.d.mts +1 -3
- package/esm/validators/string-validator.d.mts.map +1 -1
- package/esm/validators/tuple-validator.d.mts +2 -3
- package/esm/validators/tuple-validator.d.mts.map +1 -1
- package/esm/validators/tuple-validator.mjs +3 -3
- package/esm/validators/tuple-validator.mjs.map +1 -1
- package/esm/validators/union-validator.d.mts +4 -4
- package/esm/validators/union-validator.d.mts.map +1 -1
- package/esm/validators/union-validator.mjs +3 -1
- package/esm/validators/union-validator.mjs.map +1 -1
- package/llms-full.txt +656 -527
- package/llms.txt +1 -1
- package/package.json +1 -1
- package/skills/bridge-standard-schema/SKILL.md +60 -36
- package/skills/compose-seal-modifiers/SKILL.md +89 -53
- package/skills/define-structural-shape/SKILL.md +41 -27
- package/skills/define-structural-shape/array-methods.md +27 -27
- package/skills/define-structural-shape/object-methods.md +38 -30
- package/skills/extend-seal-with-plugins/SKILL.md +39 -5
- package/skills/generate-json-schema/SKILL.md +13 -13
- package/skills/handle-seal-errors/SKILL.md +23 -23
- package/skills/index.md +4 -1
- package/skills/overview/SKILL.md +10 -2
- package/skills/pick-seal-primitive/SKILL.md +45 -45
- package/skills/pick-seal-primitive/date-methods.md +96 -96
- package/skills/pick-seal-primitive/number-methods.md +55 -55
- package/skills/pick-seal-primitive/string-methods.md +107 -102
- package/skills/seal-basics/SKILL.md +14 -14
- package/cjs/object--LXRt5RF.cjs.map +0 -1
- package/cjs/required-methods-DYsRO9aZ.cjs.map +0 -1
- package/cjs/string-DsqnKoSB.cjs.map +0 -1
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
import { SchemaRule } from "../../types/rule-types.mjs";
|
|
2
|
-
|
|
2
|
+
import "../../types/index.mjs";
|
|
3
3
|
//#region ../../packages/seal/src/rules/string/string-comparison.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Starts with rule
|
|
6
6
|
*/
|
|
7
|
-
declare const startsWithRule: SchemaRule<{
|
|
7
|
+
export declare const startsWithRule: SchemaRule<{
|
|
8
8
|
value: string;
|
|
9
9
|
}>;
|
|
10
10
|
/**
|
|
11
11
|
* Ends with rule
|
|
12
12
|
*/
|
|
13
|
-
declare const endsWithRule: SchemaRule<{
|
|
13
|
+
export declare const endsWithRule: SchemaRule<{
|
|
14
14
|
value: string;
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
17
17
|
* Contains rule
|
|
18
18
|
*/
|
|
19
|
-
declare const containsRule: SchemaRule<{
|
|
19
|
+
export declare const containsRule: SchemaRule<{
|
|
20
20
|
value: string;
|
|
21
21
|
}>;
|
|
22
22
|
/**
|
|
23
23
|
* Not contains rule
|
|
24
24
|
*/
|
|
25
|
-
declare const notContainsRule: SchemaRule<{
|
|
25
|
+
export declare const notContainsRule: SchemaRule<{
|
|
26
26
|
value: string;
|
|
27
27
|
}>;
|
|
28
28
|
//#endregion
|
|
29
|
-
export { containsRule, endsWithRule, notContainsRule, startsWithRule };
|
|
30
29
|
//# sourceMappingURL=string-comparison.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-comparison.d.mts","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/string-comparison.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"string-comparison.d.mts","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/string-comparison.ts"],"mappings":";;;;;;qBAMa,gBAAgB;EAAa;;;;;qBAiB7B,cAAc;EAAa;;;;;qBAiB3B,cAAc;EAAa;;;;;qBAiB3B,iBAAiB;EAAa"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SchemaRule } from "../../types/rule-types.mjs";
|
|
2
|
-
|
|
2
|
+
import "../../types/index.mjs";
|
|
3
3
|
//#region ../../packages/seal/src/rules/string/strong-password-rule.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Strong Password rule - validates password strength
|
|
@@ -10,9 +10,8 @@ import { SchemaRule } from "../../types/rule-types.mjs";
|
|
|
10
10
|
* - At least 1 number
|
|
11
11
|
* - At least 1 special character
|
|
12
12
|
*/
|
|
13
|
-
declare const strongPasswordRule: SchemaRule<{
|
|
13
|
+
export declare const strongPasswordRule: SchemaRule<{
|
|
14
14
|
minLength?: number;
|
|
15
15
|
}>;
|
|
16
16
|
//#endregion
|
|
17
|
-
export { strongPasswordRule };
|
|
18
17
|
//# sourceMappingURL=strong-password-rule.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strong-password-rule.d.mts","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/strong-password-rule.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"strong-password-rule.d.mts","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/strong-password-rule.ts"],"mappings":";;;;;;;;;;;;qBAYa,oBAAoB;EAAa"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { SchemaRule } from "../../types/rule-types.mjs";
|
|
2
|
-
|
|
2
|
+
import "../../types/index.mjs";
|
|
3
3
|
//#region ../../packages/seal/src/rules/string/url.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* URL rule - validates URL format
|
|
6
6
|
*/
|
|
7
|
-
declare const urlRule: SchemaRule;
|
|
7
|
+
export declare const urlRule: SchemaRule;
|
|
8
8
|
//#endregion
|
|
9
|
-
export { urlRule };
|
|
10
9
|
//# sourceMappingURL=url.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.mts","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/url.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"url.d.mts","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/url.ts"],"mappings":";;;;;;qBAMa,SAAS"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { SchemaRule } from "../../types/rule-types.mjs";
|
|
2
|
-
|
|
2
|
+
import "../../types/index.mjs";
|
|
3
3
|
//#region ../../packages/seal/src/rules/string/without-whitespace.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Without whitespace rule - value must not contain whitespace
|
|
6
6
|
*/
|
|
7
|
-
declare const withoutWhitespaceRule: SchemaRule;
|
|
7
|
+
export declare const withoutWhitespaceRule: SchemaRule;
|
|
8
8
|
//#endregion
|
|
9
|
-
export { withoutWhitespaceRule };
|
|
10
9
|
//# sourceMappingURL=without-whitespace.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"without-whitespace.d.mts","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/without-whitespace.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"without-whitespace.d.mts","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/without-whitespace.ts"],"mappings":";;;;;;qBAMa,uBAAuB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { StandardJSONSchemaV1, StandardSchemaV1 } from "./types.mjs";
|
|
2
|
+
import { JsonSchemaResult, JsonSchemaTarget, applyNullable, getRuleOptions, wrapNullableStrict } from "./json-schema.mjs";
|
|
3
|
+
import { mapToStandardResult } from "./map-result.mjs";
|
|
4
|
+
export { JsonSchemaResult, JsonSchemaTarget, StandardJSONSchemaV1, StandardSchemaV1, applyNullable, getRuleOptions, mapToStandardResult, wrapNullableStrict };
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { StandardJSONSchemaV1 } from "./types.mjs";
|
|
2
|
-
|
|
3
2
|
//#region ../../packages/seal/src/standard-schema/json-schema.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Supported JSON Schema generation targets.
|
|
6
5
|
*/
|
|
7
|
-
type JsonSchemaTarget = StandardJSONSchemaV1.Target;
|
|
6
|
+
export type JsonSchemaTarget = StandardJSONSchemaV1.Target;
|
|
8
7
|
/**
|
|
9
8
|
* The result shape for a generated JSON Schema.
|
|
10
9
|
*/
|
|
11
|
-
type JsonSchemaResult = Record<string, unknown>;
|
|
10
|
+
export type JsonSchemaResult = Record<string, unknown>;
|
|
12
11
|
/**
|
|
13
12
|
* Apply nullable to a JSON Schema object based on the target dialect.
|
|
14
13
|
*
|
|
@@ -26,7 +25,7 @@ type JsonSchemaResult = Record<string, unknown>;
|
|
|
26
25
|
* // → { type: ["string", "null"] }
|
|
27
26
|
* ```
|
|
28
27
|
*/
|
|
29
|
-
declare function applyNullable(schema: JsonSchemaResult, target: JsonSchemaTarget): void;
|
|
28
|
+
export declare function applyNullable(schema: JsonSchemaResult, target: JsonSchemaTarget): void;
|
|
30
29
|
/**
|
|
31
30
|
* Wrap a field schema as nullable for OpenAI strict mode.
|
|
32
31
|
*
|
|
@@ -49,17 +48,16 @@ declare function applyNullable(schema: JsonSchemaResult, target: JsonSchemaTarge
|
|
|
49
48
|
* // → { oneOf: [..., { type: "null" }] }
|
|
50
49
|
* ```
|
|
51
50
|
*/
|
|
52
|
-
declare function wrapNullableStrict(schema: JsonSchemaResult): JsonSchemaResult;
|
|
51
|
+
export declare function wrapNullableStrict(schema: JsonSchemaResult): JsonSchemaResult;
|
|
53
52
|
/**
|
|
54
53
|
* Find the first rule matching the given name in a rules array,
|
|
55
54
|
* and return its options bag.
|
|
56
55
|
*/
|
|
57
|
-
declare function getRuleOptions(rules: Array<{
|
|
56
|
+
export declare function getRuleOptions(rules: Array<{
|
|
58
57
|
name: string;
|
|
59
58
|
context: {
|
|
60
59
|
options: Record<string, unknown>;
|
|
61
60
|
};
|
|
62
61
|
}>, ruleName: string): Record<string, unknown> | undefined;
|
|
63
62
|
//#endregion
|
|
64
|
-
export { JsonSchemaResult, JsonSchemaTarget, applyNullable, getRuleOptions, wrapNullableStrict };
|
|
65
63
|
//# sourceMappingURL=json-schema.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/json-schema.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"json-schema.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/json-schema.ts"],"mappings":";;;;;YAKY,mBAAmB,qBAAqB;;;;YAKxC,mBAAmB;;;;;;;;;;;;;;;;;;wBAmBf,cAAc,QAAQ,kBAAkB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;wBA0ChD,mBAAmB,QAAQ,mBAAmB;;;;;wBA2B9C,eACd,OAAO;EAAQ;EAAc;IAAW,SAAS;;IACjD,mBACC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/json-schema.ts"],"sourcesContent":["import type { StandardJSONSchemaV1 } from \"./types\";\n\n/**\n * Supported JSON Schema generation targets.\n */\nexport type JsonSchemaTarget = StandardJSONSchemaV1.Target;\n\n/**\n * The result shape for a generated JSON Schema.\n */\nexport type JsonSchemaResult = Record<string, unknown>;\n\n/**\n * Apply nullable to a JSON Schema object based on the target dialect.\n *\n * - draft-2020-12 : `type` becomes an array: `[\"string\", \"null\"]`\n * - openai-strict : same as draft-2020-12 (type array form)\n * - draft-07 : wraps in `oneOf: [{ ...schema }, { type: \"null\" }]`\n * - openapi-3.0 : adds `nullable: true` alongside the existing type\n *\n * Mutates the schema in-place.\n *\n * @example\n * ```ts\n * const schema = { type: \"string\" };\n * applyNullable(schema, \"draft-2020-12\");\n * // → { type: [\"string\", \"null\"] }\n * ```\n */\nexport function applyNullable(schema: JsonSchemaResult, target: JsonSchemaTarget): void {\n if (target === \"openapi-3.0\") {\n schema.nullable = true;\n return;\n }\n\n if (target === \"draft-2020-12\" || target === \"openai-strict\") {\n const baseType = schema.type as string | string[] | undefined;\n schema.type = Array.isArray(baseType)
|
|
1
|
+
{"version":3,"file":"json-schema.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/json-schema.ts"],"sourcesContent":["import type { StandardJSONSchemaV1 } from \"./types\";\n\n/**\n * Supported JSON Schema generation targets.\n */\nexport type JsonSchemaTarget = StandardJSONSchemaV1.Target;\n\n/**\n * The result shape for a generated JSON Schema.\n */\nexport type JsonSchemaResult = Record<string, unknown>;\n\n/**\n * Apply nullable to a JSON Schema object based on the target dialect.\n *\n * - draft-2020-12 : `type` becomes an array: `[\"string\", \"null\"]`\n * - openai-strict : same as draft-2020-12 (type array form)\n * - draft-07 : wraps in `oneOf: [{ ...schema }, { type: \"null\" }]`\n * - openapi-3.0 : adds `nullable: true` alongside the existing type\n *\n * Mutates the schema in-place.\n *\n * @example\n * ```ts\n * const schema = { type: \"string\" };\n * applyNullable(schema, \"draft-2020-12\");\n * // → { type: [\"string\", \"null\"] }\n * ```\n */\nexport function applyNullable(schema: JsonSchemaResult, target: JsonSchemaTarget): void {\n if (target === \"openapi-3.0\") {\n schema.nullable = true;\n return;\n }\n\n if (target === \"draft-2020-12\" || target === \"openai-strict\") {\n const baseType = schema.type as string | string[] | undefined;\n schema.type = Array.isArray(baseType) ? [...baseType, \"null\"] : [baseType as string, \"null\"];\n return;\n }\n\n // draft-07: oneOf wrapping\n const copy = { ...schema };\n for (const key of Object.keys(schema)) {\n delete schema[key];\n }\n schema.oneOf = [copy, { type: \"null\" }];\n}\n\n/**\n * Wrap a field schema as nullable for OpenAI strict mode.\n *\n * OpenAI strict requires optional fields to be expressed as a nullable type\n * rather than being omitted from the `required` array. This helper wraps a\n * given schema into its nullable equivalent using the type-array form.\n *\n * Unlike `applyNullable()` (which mutates in-place), this returns a new\n * schema object to avoid side effects when wrapping child schemas.\n *\n * @example\n * ```ts\n * wrapNullableStrict({ type: \"string\", minLength: 3 })\n * // → { type: [\"string\", \"null\"], minLength: 3 }\n *\n * wrapNullableStrict({ type: \"object\", properties: {...} })\n * // → { type: [\"object\", \"null\"], properties: {...} }\n *\n * wrapNullableStrict({ oneOf: [...] })\n * // → { oneOf: [..., { type: \"null\" }] }\n * ```\n */\nexport function wrapNullableStrict(schema: JsonSchemaResult): JsonSchemaResult {\n // If the schema uses oneOf/anyOf (e.g. union), append null to the list\n if (schema.oneOf) {\n return { ...schema, oneOf: [...(schema.oneOf as unknown[]), { type: \"null\" }] };\n }\n\n if (schema.anyOf) {\n return { ...schema, anyOf: [...(schema.anyOf as unknown[]), { type: \"null\" }] };\n }\n\n // If there's no type at all (permissive `{}`), stay permissive\n if (schema.type === undefined) {\n return schema;\n }\n\n // Standard case: wrap type into array with null\n const baseType = schema.type as string | string[];\n return {\n ...schema,\n type: Array.isArray(baseType) ? [...baseType, \"null\"] : [baseType, \"null\"],\n };\n}\n\n/**\n * Find the first rule matching the given name in a rules array,\n * and return its options bag.\n */\nexport function getRuleOptions(\n rules: Array<{ name: string; context: { options: Record<string, unknown> } }>,\n ruleName: string,\n): Record<string, unknown> | undefined {\n const rule = rules.find((r) => r.name === ruleName);\n return rule?.context?.options as Record<string, unknown> | undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA,SAAgB,cAAc,QAA0B,QAAgC;CACtF,IAAI,WAAW,eAAe;EAC5B,OAAO,WAAW;EAClB;CACF;CAEA,IAAI,WAAW,mBAAmB,WAAW,iBAAiB;EAC5D,MAAM,WAAW,OAAO;EACxB,OAAO,OAAO,MAAM,QAAQ,QAAQ,IAAI,CAAC,GAAG,UAAU,MAAM,IAAI,CAAC,UAAoB,MAAM;EAC3F;CACF;CAGA,MAAM,OAAO,EAAE,GAAG,OAAO;CACzB,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAClC,OAAO,OAAO;CAEhB,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;AACxC;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAgB,mBAAmB,QAA4C;CAE7E,IAAI,OAAO,OACT,OAAO;EAAE,GAAG;EAAQ,OAAO,CAAC,GAAI,OAAO,OAAqB,EAAE,MAAM,OAAO,CAAC;CAAE;CAGhF,IAAI,OAAO,OACT,OAAO;EAAE,GAAG;EAAQ,OAAO,CAAC,GAAI,OAAO,OAAqB,EAAE,MAAM,OAAO,CAAC;CAAE;CAIhF,IAAI,OAAO,SAAS,QAClB,OAAO;CAIT,MAAM,WAAW,OAAO;CACxB,OAAO;EACL,GAAG;EACH,MAAM,MAAM,QAAQ,QAAQ,IAAI,CAAC,GAAG,UAAU,MAAM,IAAI,CAAC,UAAU,MAAM;CAC3E;AACF;;;;;AAMA,SAAgB,eACd,OACA,UACqC;CAErC,OADa,MAAM,MAAM,MAAM,EAAE,SAAS,QAChC,CAAC,EAAE,SAAS;AACxB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StandardSchemaV1 } from "./types.mjs";
|
|
2
2
|
import { ValidationResult } from "../types/result-types.mjs";
|
|
3
|
-
|
|
3
|
+
import "../types/index.mjs";
|
|
4
4
|
//#region ../../packages/seal/src/standard-schema/map-result.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Maps a Seal ValidationResult to a Standard Schema result shape.
|
|
@@ -16,7 +16,6 @@ import { ValidationResult } from "../types/result-types.mjs";
|
|
|
16
16
|
* // Failure → { issues: [{ message: "...", path: [{ key: "..." }] }] }
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
declare function mapToStandardResult(result: ValidationResult): StandardSchemaV1.Result<unknown>;
|
|
19
|
+
export declare function mapToStandardResult(result: ValidationResult): StandardSchemaV1.Result<unknown>;
|
|
20
20
|
//#endregion
|
|
21
|
-
export { mapToStandardResult };
|
|
22
21
|
//# sourceMappingURL=map-result.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-result.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/map-result.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"map-result.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/map-result.ts"],"mappings":";;;;;;;;;;;;;;;;;;wBAiBgB,oBAAoB,QAAQ,mBAAmB,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-result.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/map-result.ts"],"sourcesContent":["import type { ValidationResult } from \"../types\";\nimport type { StandardSchemaV1 } from \"./types\";\n\n/**\n * Maps a Seal ValidationResult to a Standard Schema result shape.\n *\n * Seal error paths are dot-notation strings (e.g. \"address.city\").\n * Standard Schema expects an array of path segments: [{ key: \"address\" }, { key: \"city\" }].\n *\n * @example\n * ```ts\n * const result = await validator.validate(value, context);\n * return mapToStandardResult(result);\n * // Success → { value: <data> }\n * // Failure → { issues: [{ message: \"...\", path: [{ key: \"...\" }] }] }\n * ```\n */\nexport function mapToStandardResult(
|
|
1
|
+
{"version":3,"file":"map-result.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/map-result.ts"],"sourcesContent":["import type { ValidationResult } from \"../types\";\nimport type { StandardSchemaV1 } from \"./types\";\n\n/**\n * Maps a Seal ValidationResult to a Standard Schema result shape.\n *\n * Seal error paths are dot-notation strings (e.g. \"address.city\").\n * Standard Schema expects an array of path segments: [{ key: \"address\" }, { key: \"city\" }].\n *\n * @example\n * ```ts\n * const result = await validator.validate(value, context);\n * return mapToStandardResult(result);\n * // Success → { value: <data> }\n * // Failure → { issues: [{ message: \"...\", path: [{ key: \"...\" }] }] }\n * ```\n */\nexport function mapToStandardResult(result: ValidationResult): StandardSchemaV1.Result<unknown> {\n if (result.isValid) {\n return { value: result.data };\n }\n\n return {\n issues: result.errors.map((e) => ({\n message: e.error,\n path: e.input ? e.input.split(\".\").map((key) => ({ key })) : undefined,\n })),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,SAAgB,oBAAoB,QAA4D;CAC9F,IAAI,OAAO,SACT,OAAO,EAAE,OAAO,OAAO,KAAK;CAG9B,OAAO,EACL,QAAQ,OAAO,OAAO,KAAK,OAAO;EAChC,SAAS,EAAE;EACX,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,IAAI,EAAE,IAAI;CAC/D,EAAE,EACJ;AACF"}
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
* - StandardJSONSchemaV1 — for JSON Schema generation (OpenAPI, draft-07, draft-2020-12)
|
|
11
11
|
*/
|
|
12
12
|
/** The Standard Schema interface. */
|
|
13
|
-
interface StandardSchemaV1<Input = unknown, Output = Input> {
|
|
13
|
+
export interface StandardSchemaV1<Input = unknown, Output = Input> {
|
|
14
14
|
readonly "~standard": StandardSchemaV1.Props<Input, Output>;
|
|
15
15
|
}
|
|
16
|
-
declare namespace StandardSchemaV1 {
|
|
16
|
+
export declare namespace StandardSchemaV1 {
|
|
17
17
|
/** The Standard Schema properties interface. */
|
|
18
18
|
interface Props<Input = unknown, Output = Input> {
|
|
19
19
|
/** The version number of the standard. */
|
|
@@ -59,10 +59,10 @@ declare namespace StandardSchemaV1 {
|
|
|
59
59
|
type InferOutput<S extends StandardSchemaV1> = NonNullable<S["~standard"]["types"]>["output"];
|
|
60
60
|
}
|
|
61
61
|
/** The Standard JSON Schema interface. */
|
|
62
|
-
interface StandardJSONSchemaV1<Input = unknown, Output = Input> {
|
|
62
|
+
export interface StandardJSONSchemaV1<Input = unknown, Output = Input> {
|
|
63
63
|
readonly "~standard": StandardJSONSchemaV1.Props<Input, Output>;
|
|
64
64
|
}
|
|
65
|
-
declare namespace StandardJSONSchemaV1 {
|
|
65
|
+
export declare namespace StandardJSONSchemaV1 {
|
|
66
66
|
interface Props<Input = unknown, Output = Input> extends Omit<StandardSchemaV1.Props<Input, Output>, never> {
|
|
67
67
|
readonly jsonSchema: Converter;
|
|
68
68
|
}
|
|
@@ -92,5 +92,4 @@ declare namespace StandardJSONSchemaV1 {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
//#endregion
|
|
95
|
-
export { StandardJSONSchemaV1, StandardSchemaV1 };
|
|
96
95
|
//# sourceMappingURL=types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/types.ts"],"mappings":";;;;;;;;;;;;iBAgBiB,iBAAiB,iBAAiB,SAAS;WACjD,aAAa,iBAAiB,MAAM,OAAO;;yBAG7B;;YAEN,MAAM,iBAAiB,SAAS;;aAEtC;;aAEA;;aAEA,QAAQ,MAAM,OAAO;;aAErB,WACP,gBACA,UAAU,wBACP,OAAO,UAAU,QAAQ,OAAO;;;YAItB,cAAc;aACpB,OAAO;aACP;;;YAIM;aACN,iBAAiB;;;YAIX;aACN,QAAQ,cAAc;;OAGrB,OAAO,UAAU,cAAc,UAAU;;YAGpC;aACN;aACA,OAAO,cAAc,cAAc;;;YAI7B;aACN,KAAK;;;YAIC,MAAM,iBAAiB,SAAS;aACtC,OAAO;aACP,QAAQ;;;OAIP,WAAW,UAAU,oBAAoB,YACnD;;OAIU,YAAY,UAAU,oBAAoB,YACpD;;;iBASa,qBAAqB,iBAAiB,SAAS;WACrD,aAAa,qBAAqB,MAAM,OAAO;;yBAGjC;YACN,MAAM,iBAAiB,SAAS,eAAe,KAC9D,iBAAiB,MAAM,OAAO;aAGrB,YAAY;;;YAIN;;aAEN,QAAQ,SAAS,YAAY;;aAE7B,SAAS,SAAS,YAAY;;;;;;;;;;;;;;OAe7B;YAOK;aACN,QAAQ;aACR,iBAAiB"}
|
package/esm/string.d.mts
CHANGED
|
@@ -4,10 +4,9 @@ import { forbiddenMethodsApplied } from "./validators/methods/forbidden-methods.
|
|
|
4
4
|
import { presentMethodsApplied } from "./validators/methods/present-methods.mjs";
|
|
5
5
|
import { requiredMethodsApplied } from "./validators/methods/required-methods.mjs";
|
|
6
6
|
import { StringValidator } from "./validators/string-validator.mjs";
|
|
7
|
-
|
|
8
7
|
//#region ../../packages/seal/src/string.d.ts
|
|
9
8
|
/** Create a string schema without importing the complete `v` factory. */
|
|
10
|
-
declare const string: (errorMessage?: string) => StringValidator & StandardSchemaV1<string>;
|
|
9
|
+
export declare const string: (errorMessage?: string) => StringValidator & StandardSchemaV1<string>;
|
|
11
10
|
//#endregion
|
|
12
|
-
export { StringValidator, equalityConditionalMethodsApplied, forbiddenMethodsApplied, presentMethodsApplied, requiredMethodsApplied
|
|
11
|
+
export { StringValidator, equalityConditionalMethodsApplied, forbiddenMethodsApplied, presentMethodsApplied, requiredMethodsApplied };
|
|
13
12
|
//# sourceMappingURL=string.d.mts.map
|
package/esm/string.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.mts","names":[],"sources":["../../../../../../../packages/seal/src/string.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"string.d.mts","names":[],"sources":["../../../../../../../packages/seal/src/string.ts"],"mappings":";;;;;;;;qBAUa,SAAM,0BACoB,kBAAkB"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { BaseValidator } from "../validators/base-validator.mjs";
|
|
2
|
-
|
|
3
2
|
//#region ../../packages/seal/src/types/conditional-types.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Options for conditional when rule
|
|
6
5
|
*/
|
|
7
|
-
type WhenRuleOptions = {
|
|
8
|
-
/** Field name to check */
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
export type WhenRuleOptions = {
|
|
7
|
+
/** Field name to check */
|
|
8
|
+
field: string;
|
|
9
|
+
/** Map of field values to validators */
|
|
10
|
+
is: Record<string, BaseValidator>;
|
|
11
|
+
/** Fallback validator if no condition matches */
|
|
12
|
+
otherwise?: BaseValidator;
|
|
13
|
+
/** Whether to check in global context or sibling context (default: "global") */
|
|
11
14
|
scope?: "global" | "sibling";
|
|
12
15
|
};
|
|
13
16
|
//#endregion
|
|
14
|
-
export { WhenRuleOptions };
|
|
15
17
|
//# sourceMappingURL=conditional-types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/conditional-types.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"conditional-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/conditional-types.ts"],"mappings":";;;;;YAKY;;EAEV;;EAEA,IAAI,eAAe;;EAEnB,YAAY;;EAEZ"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Schema } from "./schema-types.mjs";
|
|
2
2
|
import { SchemaRule } from "./rule-types.mjs";
|
|
3
|
-
|
|
4
3
|
//#region ../../packages/seal/src/types/context-types.d.ts
|
|
5
|
-
type RuleTranslation = {
|
|
4
|
+
export type RuleTranslation = {
|
|
6
5
|
rule: SchemaRule;
|
|
7
6
|
context: SchemaContext;
|
|
8
7
|
attributes: {
|
|
@@ -13,7 +12,7 @@ type RuleTranslation = {
|
|
|
13
12
|
[key: string]: any;
|
|
14
13
|
};
|
|
15
14
|
};
|
|
16
|
-
type AttributeTranslation = {
|
|
15
|
+
export type AttributeTranslation = {
|
|
17
16
|
attribute: string;
|
|
18
17
|
context: SchemaContext;
|
|
19
18
|
rule: SchemaRule;
|
|
@@ -21,15 +20,24 @@ type AttributeTranslation = {
|
|
|
21
20
|
/**
|
|
22
21
|
* Validation context passed to validators and rules
|
|
23
22
|
*/
|
|
24
|
-
type SchemaContext = {
|
|
25
|
-
/** All input values */
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
export type SchemaContext = {
|
|
24
|
+
/** All input values */
|
|
25
|
+
allValues: any;
|
|
26
|
+
/** Parent object if nested */
|
|
27
|
+
parent: any;
|
|
28
|
+
/** Current value being validated */
|
|
29
|
+
value: any;
|
|
30
|
+
/** Current key */
|
|
31
|
+
key: string;
|
|
32
|
+
/** Full path to the current value */
|
|
33
|
+
path: string;
|
|
34
|
+
/** Schema definition if object validator */
|
|
35
|
+
schema?: Schema;
|
|
36
|
+
/** Additional context */
|
|
37
|
+
context?: Record<string, any>;
|
|
38
|
+
/** Root context */
|
|
39
|
+
rootContext?: Record<string, any>;
|
|
40
|
+
/** Translation function for error messages */
|
|
33
41
|
translateRule: (ruleTranslation: RuleTranslation) => string;
|
|
34
42
|
translateAttribute: (attributeTranslation: AttributeTranslation) => string;
|
|
35
43
|
/**
|
|
@@ -37,12 +45,13 @@ type SchemaContext = {
|
|
|
37
45
|
* this field's own `.default()`. The receiving validator reads it once and
|
|
38
46
|
* clears it, so it never leaks into an array/tuple/record's item contexts.
|
|
39
47
|
*/
|
|
40
|
-
valueIsDefault?: boolean;
|
|
48
|
+
valueIsDefault?: boolean;
|
|
49
|
+
/** Validation configurations */
|
|
41
50
|
configurations?: {
|
|
42
|
-
firstErrorOnly?: boolean;
|
|
51
|
+
firstErrorOnly?: boolean;
|
|
52
|
+
/** Rendered as `:value` in error messages instead of the submitted input */
|
|
43
53
|
redactValue?: string;
|
|
44
54
|
};
|
|
45
55
|
};
|
|
46
56
|
//#endregion
|
|
47
|
-
export { AttributeTranslation, RuleTranslation, SchemaContext };
|
|
48
57
|
//# sourceMappingURL=context-types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/context-types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"context-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/context-types.ts"],"mappings":";;;YAGY;EACV,MAAM;EACN,SAAS;EACT;IACE;IACA;IACA;IACA;KACC;;;YAIO;EACV;EACA,SAAS;EACT,MAAM;;;;;YAMI;;EAEV;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,SAAS;;EAET,UAAU;;EAEV,cAAc;;EAEd,gBAAgB,iBAAiB;EACjC,qBAAqB,sBAAsB;;;;;;EAM3C;;EAEA;IACE;;IAEA"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { SchemaContext } from "./context-types.mjs";
|
|
2
|
-
|
|
3
2
|
//#region ../../packages/seal/src/types/data-transformer-types.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Transformer callback signature
|
|
6
5
|
* First param: the data to transform
|
|
7
6
|
* Second param: object with options and context
|
|
8
7
|
*/
|
|
9
|
-
type TransformerCallback = (data: any, params: {
|
|
8
|
+
export type TransformerCallback = (data: any, params: {
|
|
10
9
|
options: any;
|
|
11
10
|
context: SchemaContext;
|
|
12
11
|
}) => any | Promise<any>;
|
|
@@ -15,15 +14,14 @@ type TransformerCallback = (data: any, params: {
|
|
|
15
14
|
* First param: the data to transform
|
|
16
15
|
* Second param: validation context
|
|
17
16
|
*/
|
|
18
|
-
type SimpleTransformerCallback = (data: any, context: SchemaContext) => any | Promise<any>;
|
|
17
|
+
export type SimpleTransformerCallback = (data: any, context: SchemaContext) => any | Promise<any>;
|
|
19
18
|
/**
|
|
20
19
|
* Contextualized transformer - internal storage
|
|
21
20
|
* Context is NOT stored, it's passed at runtime during validation
|
|
22
21
|
*/
|
|
23
|
-
type ContextualizedTransformer = {
|
|
22
|
+
export type ContextualizedTransformer = {
|
|
24
23
|
transform: TransformerCallback;
|
|
25
24
|
options: any;
|
|
26
25
|
};
|
|
27
26
|
//#endregion
|
|
28
|
-
export { ContextualizedTransformer, SimpleTransformerCallback, TransformerCallback };
|
|
29
27
|
//# sourceMappingURL=data-transformer-types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-transformer-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/data-transformer-types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-transformer-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/data-transformer-types.ts"],"mappings":";;;;;;;YAOY,uBACV,WACA;EACE;EACA,SAAS;YAEF;;;;;;YAOC,6BAA6B,WAAW,SAAS,wBAAwB;;;;;YAMzE;EACV,WAAW;EACX"}
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Week day names for validation
|
|
4
4
|
*/
|
|
5
|
-
type WeekDay = "sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday";
|
|
5
|
+
export type WeekDay = "sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday";
|
|
6
6
|
/**
|
|
7
7
|
* Week day numbers mapping
|
|
8
8
|
*/
|
|
9
|
-
declare const WEEK_DAYS: Record<WeekDay, number>;
|
|
9
|
+
export declare const WEEK_DAYS: Record<WeekDay, number>;
|
|
10
10
|
//#endregion
|
|
11
|
-
export { WEEK_DAYS, WeekDay };
|
|
12
11
|
//# sourceMappingURL=date-types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/date-types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"date-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/date-types.ts"],"mappings":";;;;YAGY;;;;qBAYC,WAAW,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/file.types.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"file.types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/file.types.ts"],"mappings":";YAAY;EACV;EACA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Schema } from "./schema-types.mjs";
|
|
2
|
+
import { ContextualSchemaRule, RuleResult, SchemaRule, SchemaRuleOptions, ValidationAttributesList } from "./rule-types.mjs";
|
|
3
|
+
import { AttributeTranslation, RuleTranslation, SchemaContext } from "./context-types.mjs";
|
|
4
|
+
import { TypedValidationResult, ValidationResult } from "./result-types.mjs";
|
|
5
|
+
import { ContextualizedMutator, Mutator, MutatorContext } from "./mutator-types.mjs";
|
|
6
|
+
import { WhenRuleOptions } from "./conditional-types.mjs";
|
|
7
|
+
import { ContextualizedTransformer, SimpleTransformerCallback, TransformerCallback } from "./data-transformer-types.mjs";
|
|
8
|
+
import { Infer, InferInput, InferInputObjectShape, InferObjectShape, InferOutput, InferOutputObjectShape, IsInputOptionalKey, IsOptionalKey, IsOutputOptionalKey, ValidatedOutput } from "./inference-types.mjs";
|
|
9
|
+
import { WEEK_DAYS, WeekDay } from "./date-types.mjs";
|
|
10
|
+
import { FileSizeOption } from "./file.types.mjs";
|
|
11
|
+
export { AttributeTranslation, ContextualSchemaRule, ContextualizedMutator, ContextualizedTransformer, FileSizeOption, Infer, InferInput, InferInputObjectShape, InferObjectShape, InferOutput, InferOutputObjectShape, IsInputOptionalKey, IsOptionalKey, IsOutputOptionalKey, Mutator, MutatorContext, RuleResult, RuleTranslation, Schema, SchemaContext, SchemaRule, SchemaRuleOptions, SimpleTransformerCallback, TransformerCallback, TypedValidationResult, ValidatedOutput, ValidationAttributesList, ValidationResult, WEEK_DAYS, WeekDay, WhenRuleOptions };
|
|
@@ -16,6 +16,7 @@ import { LiteralValidator } from "../validators/literal-validator.mjs";
|
|
|
16
16
|
import { ManagedValidator } from "../validators/managed-validator.mjs";
|
|
17
17
|
import { ScalarValidator } from "../validators/scalar-validator.mjs";
|
|
18
18
|
import { StringValidator } from "../validators/string-validator.mjs";
|
|
19
|
+
import "../validators/index.mjs";
|
|
19
20
|
//#region ../../packages/seal/src/types/inference-types.d.ts
|
|
20
21
|
/**
|
|
21
22
|
* Two inference shapes describe the two halves of the validation pipeline:
|
|
@@ -91,7 +92,7 @@ type IsGuaranteed<V> = V extends {
|
|
|
91
92
|
* guaranteed by `.default()` or `.catch()` — runtime always has a value
|
|
92
93
|
* for guaranteed fields, so the output type marks them required.
|
|
93
94
|
*/
|
|
94
|
-
type IsOutputOptionalKey<V> = V extends {
|
|
95
|
+
export type IsOutputOptionalKey<V> = V extends {
|
|
95
96
|
isOptional: true;
|
|
96
97
|
} ? IsGuaranteed<V> extends true ? false : true : false;
|
|
97
98
|
/**
|
|
@@ -100,7 +101,7 @@ type IsOutputOptionalKey<V> = V extends {
|
|
|
100
101
|
* is present — any of those means the caller doesn't have to supply a value
|
|
101
102
|
* (it'll be filled, defaulted, or rescued).
|
|
102
103
|
*/
|
|
103
|
-
type IsInputOptionalKey<V> = V extends {
|
|
104
|
+
export type IsInputOptionalKey<V> = V extends {
|
|
104
105
|
isOptional: true;
|
|
105
106
|
} | {
|
|
106
107
|
hasDefault: true;
|
|
@@ -112,7 +113,7 @@ type IsInputOptionalKey<V> = V extends {
|
|
|
112
113
|
* object type, so `Infer<>` reads (and compares) as a single literal instead
|
|
113
114
|
* of an intersection of two mapped types.
|
|
114
115
|
*/
|
|
115
|
-
type Flatten<T> = { [K in keyof T]: T[K] } & {};
|
|
116
|
+
type Flatten<T> = { [K in keyof T]: T[K]; } & {};
|
|
116
117
|
/**
|
|
117
118
|
* Apply `| null` widening when the validator type carries `{ isNullable: true }`.
|
|
118
119
|
*
|
|
@@ -131,20 +132,20 @@ type WithNullable<V, T> = V extends {
|
|
|
131
132
|
* walker on the parent class's type parameter creates a recursive class-base
|
|
132
133
|
* reference when combined with brand-checks.
|
|
133
134
|
*/
|
|
134
|
-
type InferOutputObjectShape<S extends Schema> = Flatten<{ [K in keyof S as IsOutputOptionalKey<S[K]> extends true ? K : never]?: Infer.Output<S[K]
|
|
135
|
+
export type InferOutputObjectShape<S extends Schema> = Flatten<{ [K in keyof S as IsOutputOptionalKey<S[K]> extends true ? K : never]?: Infer.Output<S[K]>; } & { [K in keyof S as IsOutputOptionalKey<S[K]> extends true ? never : K]: Infer.Output<S[K]>; }>;
|
|
135
136
|
/**
|
|
136
137
|
* Compute the inferred *input* object shape for a Schema. Mirror of
|
|
137
138
|
* `InferOutputObjectShape` but uses `IsInputOptionalKey` — fields with
|
|
138
139
|
* `.default()` or `.catch()` (or `.optional()`) are all marked optional in
|
|
139
140
|
* the input shape.
|
|
140
141
|
*/
|
|
141
|
-
type InferInputObjectShape<S extends Schema> = Flatten<{ [K in keyof S as IsInputOptionalKey<S[K]> extends true ? K : never]?: Infer.Input<S[K]
|
|
142
|
+
export type InferInputObjectShape<S extends Schema> = Flatten<{ [K in keyof S as IsInputOptionalKey<S[K]> extends true ? K : never]?: Infer.Input<S[K]>; } & { [K in keyof S as IsInputOptionalKey<S[K]> extends true ? never : K]: Infer.Input<S[K]>; }>;
|
|
142
143
|
/**
|
|
143
144
|
* Bare `Infer<T>` defaults to `Infer.Input<T>`. Use `Infer.Output<T>` when
|
|
144
145
|
* typing validated data (Cascade `Model<>` params, validate() returns).
|
|
145
146
|
*/
|
|
146
|
-
type Infer<T> = Infer.Input<T>;
|
|
147
|
-
declare namespace Infer {
|
|
147
|
+
export type Infer<T> = Infer.Input<T>;
|
|
148
|
+
export declare namespace Infer {
|
|
148
149
|
/**
|
|
149
150
|
* Inferred *input* shape — what callers send before validation. Optional
|
|
150
151
|
* keys whenever `.optional()`, `.default()`, or `.catch()` is present.
|
|
@@ -159,26 +160,26 @@ declare namespace Infer {
|
|
|
159
160
|
*/
|
|
160
161
|
type Output<T> = T extends LazyValidator<infer L> ? Output<L> : T extends DiscriminatedUnionValidator<any, infer Branches> ? Branches extends ReadonlyArray<infer B> ? B extends BaseValidator ? WithNullable<T, Output<B>> : never : never : T extends ObjectValidator<infer S> ? WithNullable<T, InferOutputObjectShape<S>> : T extends ArrayValidator ? T extends {
|
|
161
162
|
validator: infer V extends BaseValidator;
|
|
162
|
-
} ? WithNullable<T, Array<Output<V>>> : never : T extends LiteralValidator<infer V> ? WithNullable<T, V[number]> : T extends InstanceOfValidator<infer R> ? WithNullable<T, R> : T extends ComputedValidator<infer R> ? R : T extends ManagedValidator<infer R> ? R : T extends StandardSchemaV1
|
|
163
|
+
} ? WithNullable<T, Array<Output<V>>> : never : T extends LiteralValidator<infer V> ? WithNullable<T, V[number]> : T extends InstanceOfValidator<infer R> ? WithNullable<T, R> : T extends ComputedValidator<infer R> ? R : T extends ManagedValidator<infer R> ? R : T extends StandardSchemaV1 ? WithNullable<T, StandardSchemaV1.InferOutput<T>> : T extends StringValidator ? WithNullable<T, string> : T extends IntValidator ? WithNullable<T, number> : T extends FloatValidator ? WithNullable<T, number> : T extends BooleanValidator ? WithNullable<T, boolean> : T extends DateValidator ? WithNullable<T, Date> : T extends ScalarValidator ? WithNullable<T, string | number | boolean> : T extends AnyValidator ? any : unknown;
|
|
163
164
|
}
|
|
164
165
|
/**
|
|
165
166
|
* @deprecated Use `Infer.Input<T>` instead. Kept as an alias for one or two
|
|
166
167
|
* minor versions to ease migration; removed thereafter.
|
|
167
168
|
*/
|
|
168
|
-
type InferInput<T> = Infer.Input<T>;
|
|
169
|
+
export type InferInput<T> = Infer.Input<T>;
|
|
169
170
|
/**
|
|
170
171
|
* @deprecated Use `Infer.Output<T>` instead. Kept as an alias for one or two
|
|
171
172
|
* minor versions to ease migration; removed thereafter.
|
|
172
173
|
*/
|
|
173
|
-
type InferOutput<T> = Infer.Output<T>;
|
|
174
|
+
export type InferOutput<T> = Infer.Output<T>;
|
|
174
175
|
/**
|
|
175
176
|
* @deprecated Use `InferOutputObjectShape<S>` instead. Kept for back-compat.
|
|
176
177
|
*/
|
|
177
|
-
type InferObjectShape<S extends Schema> = InferOutputObjectShape<S>;
|
|
178
|
+
export type InferObjectShape<S extends Schema> = InferOutputObjectShape<S>;
|
|
178
179
|
/**
|
|
179
180
|
* @deprecated Use `IsOutputOptionalKey<V>` instead. Kept for back-compat.
|
|
180
181
|
*/
|
|
181
|
-
type IsOptionalKey<V> = IsOutputOptionalKey<V>;
|
|
182
|
+
export type IsOptionalKey<V> = IsOutputOptionalKey<V>;
|
|
182
183
|
/**
|
|
183
184
|
* The `data` type `validate(schema, input)` returns on success.
|
|
184
185
|
*
|
|
@@ -189,7 +190,7 @@ type IsOptionalKey<V> = IsOutputOptionalKey<V>;
|
|
|
189
190
|
* `validate()` was typed, so untyped call sites keep compiling. A
|
|
190
191
|
* `v.record(...)` with a typed value keeps its `Record<string, …>` output.
|
|
191
192
|
*/
|
|
192
|
-
type ValidatedOutput<T> = [Infer.Output<T>] extends [infer O] ? unknown extends O ? any : O extends object ? string extends keyof O ? unknown extends O[keyof O] ? any : O : O : O : never;
|
|
193
|
+
export type ValidatedOutput<T> = [Infer.Output<T>] extends [infer O] ? unknown extends O ? any : O extends object ? string extends keyof O ? unknown extends O[keyof O] ? any : O : O : O : never;
|
|
193
194
|
//#endregion
|
|
194
|
-
export {
|
|
195
|
+
export {};
|
|
195
196
|
//# sourceMappingURL=inference-types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/inference-types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"inference-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/inference-types.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqFK,aAAa,KAAK;EAAY;WAE/B;EAAY;;;;;;;;YAUJ,oBAAoB,KAAK;EAAY;IAC7C,aAAa;;;;;;;YAWL,mBAAmB,KAAK;EAC9B;;EACA;;EACA;;;;;;;KASD,QAAQ,QAAQ,WAAW,IAAI,EAAE;;;;;;;;KASjC,aAAa,GAAG,KAAK;EAAY;IAAqB,WAAW;;;;;;;;;YAU1D,uBAAuB,UAAU,UAAU,WAElD,WAAW,KAAK,oBAAoB,EAAE,mBAAmB,aAAa,MAAM,OAAO,EAAE,YAErF,WAAW,KAAK,oBAAoB,EAAE,2BAA2B,IAAI,MAAM,OAAO,EAAE;;;;;;;YAU7E,sBAAsB,UAAU,UAAU,WAEjD,WAAW,KAAK,mBAAmB,EAAE,mBAAmB,aAAa,MAAM,MAAM,EAAE,YAEnF,WAAW,KAAK,mBAAmB,EAAE,2BAA2B,IAAI,MAAM,MAAM,EAAE;;;;;YAQ3E,MAAM,KAAK,MAAM,MAAM;yBAGlB;;;;;OAKH,MAAM,KAChB,UAAU,oBAAoB,KAC1B,MAAM,KACN,UAAU,uCAAuC,YAC/C,iBAAiB,oBAAoB,KACnC,UAAU,gBACR,aAAa,GAAG,MAAM,sBAG1B,UAAU,sBAAsB,KAC9B,aAAa,GAAG,sBAAsB,MACtC,UAAU,iBACR;IAAY,iBAAiB,UAAU;MACrC,aAAa,GAAG,MAAM,MAAM,eAE9B,UAAU,uBAAuB,KAC/B,aAAa,GAAG,aAChB,UAAU,0BAA0B,KAClC,aAAa,GAAG,KAChB,UAAU,wBAAwB,KAChC,IACA,UAAU,uBAAuB,KAC/B,IACA,UAAU,uBAAuB,UAC/B,aAAa,GAAG,KAChB,UAAU,kBACR,aAAa,aACb,UAAU,eACR,aAAa,aACb,UAAU,iBACR,aAAa,aACb,UAAU,mBACR,aAAa,cACb,UAAU,gBACR,aAAa,GAAG,QAChB,UAAU,kBACR,aAAa,gCACb,UAAU;;;;;;OAShC,OAAO,KACjB,UAAU,oBAAoB,KAC1B,OAAO,KACP,UAAU,uCAAuC,YAC/C,iBAAiB,oBAAoB,KACnC,UAAU,gBACR,aAAa,GAAG,OAAO,sBAG3B,UAAU,sBAAsB,KAC9B,aAAa,GAAG,uBAAuB,MACvC,UAAU,iBACR;IAAY,iBAAiB,UAAU;MACrC,aAAa,GAAG,MAAM,OAAO,eAE/B,UAAU,uBAAuB,KAC/B,aAAa,GAAG,aAChB,UAAU,0BAA0B,KAClC,aAAa,GAAG,KAChB,UAAU,wBAAwB,KAChC,IACA,UAAU,uBAAuB,KAC/B,IAMA,UAAU,mBACR,aAAa,GAAG,iBAAiB,YAAY,MAC7C,UAAU,kBACR,aAAa,aACb,UAAU,eACR,aAAa,aACb,UAAU,iBACR,aAAa,aACb,UAAU,mBACR,aAAa,cACb,UAAU,gBACR,aAAa,GAAG,QAChB,UAAU,kBACR,aAAa,gCACb,UAAU;;;;;;YASlC,WAAW,KAAK,MAAM,MAAM;;;;;YAM5B,YAAY,KAAK,MAAM,OAAO;;;;YAK9B,iBAAiB,UAAU,UAAU,uBAAuB;;;;YAK5D,cAAc,KAAK,oBAAoB;;;;;;;;;;;YAYvC,gBAAgB,MAAM,MAAM,OAAO,mBAAmB,qBAC9C,UAEd,wCACuB,oBACH,QAAQ,WAEtB,IACF,IACF"}
|