@warlock.js/seal 4.0.138 → 4.0.140
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/cjs/factory/validate.d.ts +2 -2
- package/cjs/factory/validate.d.ts.map +1 -1
- package/cjs/factory/validators.js +1 -1
- package/cjs/factory/validators.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/standard-schema/index.d.ts +4 -0
- package/cjs/standard-schema/index.d.ts.map +1 -0
- package/cjs/standard-schema/json-schema.d.ts +61 -0
- package/cjs/standard-schema/json-schema.d.ts.map +1 -0
- package/cjs/standard-schema/json-schema.js +85 -0
- package/cjs/standard-schema/json-schema.js.map +1 -0
- package/cjs/standard-schema/map-result.d.ts +18 -0
- package/cjs/standard-schema/map-result.d.ts.map +1 -0
- package/cjs/standard-schema/map-result.js +27 -0
- package/cjs/standard-schema/map-result.js.map +1 -0
- package/cjs/standard-schema/types.d.ts +93 -0
- package/cjs/standard-schema/types.d.ts.map +1 -0
- package/cjs/validators/any-validator.d.ts +14 -0
- package/cjs/validators/any-validator.d.ts.map +1 -1
- package/cjs/validators/any-validator.js +19 -1
- package/cjs/validators/any-validator.js.map +1 -1
- package/cjs/validators/array-validator.d.ts +13 -0
- package/cjs/validators/array-validator.d.ts.map +1 -1
- package/cjs/validators/array-validator.js +39 -1
- package/cjs/validators/array-validator.js.map +1 -1
- package/cjs/validators/base-validator.d.ts +74 -1
- package/cjs/validators/base-validator.d.ts.map +1 -1
- package/cjs/validators/base-validator.js +88 -2
- package/cjs/validators/base-validator.js.map +1 -1
- package/cjs/validators/boolean-validator.d.ts +17 -0
- package/cjs/validators/boolean-validator.d.ts.map +1 -1
- package/cjs/validators/boolean-validator.js +22 -1
- package/cjs/validators/boolean-validator.js.map +1 -1
- package/cjs/validators/computed-validator.d.ts +11 -0
- package/cjs/validators/computed-validator.d.ts.map +1 -1
- package/cjs/validators/computed-validator.js +15 -0
- package/cjs/validators/computed-validator.js.map +1 -1
- package/cjs/validators/date-validator.d.ts +18 -0
- package/cjs/validators/date-validator.d.ts.map +1 -1
- package/cjs/validators/date-validator.js +40 -1
- package/cjs/validators/date-validator.js.map +1 -1
- package/cjs/validators/int-validator.d.ts +11 -0
- package/cjs/validators/int-validator.d.ts.map +1 -1
- package/cjs/validators/int-validator.js +12 -0
- package/cjs/validators/int-validator.js.map +1 -1
- package/cjs/validators/number-validator.d.ts +23 -0
- package/cjs/validators/number-validator.d.ts.map +1 -1
- package/cjs/validators/number-validator.js +80 -1
- package/cjs/validators/number-validator.js.map +1 -1
- package/cjs/validators/object-validator.d.ts +38 -1
- package/cjs/validators/object-validator.d.ts.map +1 -1
- package/cjs/validators/object-validator.js +71 -2
- package/cjs/validators/object-validator.js.map +1 -1
- package/cjs/validators/record-validator.d.ts +17 -0
- package/cjs/validators/record-validator.d.ts.map +1 -1
- package/cjs/validators/record-validator.js +25 -1
- package/cjs/validators/record-validator.js.map +1 -1
- package/cjs/validators/scalar-validator.d.ts +17 -0
- package/cjs/validators/scalar-validator.d.ts.map +1 -1
- package/cjs/validators/scalar-validator.js +34 -1
- package/cjs/validators/scalar-validator.js.map +1 -1
- package/cjs/validators/string-validator.d.ts +14 -0
- package/cjs/validators/string-validator.d.ts.map +1 -1
- package/cjs/validators/string-validator.js +71 -1
- package/cjs/validators/string-validator.js.map +1 -1
- package/cjs/validators/tuple-validator.d.ts +22 -0
- package/cjs/validators/tuple-validator.d.ts.map +1 -1
- package/cjs/validators/tuple-validator.js +43 -1
- package/cjs/validators/tuple-validator.js.map +1 -1
- package/cjs/validators/union-validator.d.ts +13 -0
- package/cjs/validators/union-validator.d.ts.map +1 -1
- package/cjs/validators/union-validator.js +19 -1
- package/cjs/validators/union-validator.js.map +1 -1
- package/esm/factory/validate.d.ts +2 -2
- package/esm/factory/validate.d.ts.map +1 -1
- package/esm/factory/validators.js +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/standard-schema/index.d.ts +4 -0
- package/esm/standard-schema/index.d.ts.map +1 -0
- package/esm/standard-schema/json-schema.d.ts +61 -0
- package/esm/standard-schema/json-schema.d.ts.map +1 -0
- package/esm/standard-schema/json-schema.js +85 -0
- package/esm/standard-schema/json-schema.js.map +1 -0
- package/esm/standard-schema/map-result.d.ts +18 -0
- package/esm/standard-schema/map-result.d.ts.map +1 -0
- package/esm/standard-schema/map-result.js +27 -0
- package/esm/standard-schema/map-result.js.map +1 -0
- package/esm/standard-schema/types.d.ts +93 -0
- package/esm/standard-schema/types.d.ts.map +1 -0
- package/esm/validators/any-validator.d.ts +14 -0
- package/esm/validators/any-validator.d.ts.map +1 -1
- package/esm/validators/any-validator.js +19 -1
- package/esm/validators/any-validator.js.map +1 -1
- package/esm/validators/array-validator.d.ts +13 -0
- package/esm/validators/array-validator.d.ts.map +1 -1
- package/esm/validators/array-validator.js +39 -1
- package/esm/validators/array-validator.js.map +1 -1
- package/esm/validators/base-validator.d.ts +74 -1
- package/esm/validators/base-validator.d.ts.map +1 -1
- package/esm/validators/base-validator.js +88 -2
- package/esm/validators/base-validator.js.map +1 -1
- package/esm/validators/boolean-validator.d.ts +17 -0
- package/esm/validators/boolean-validator.d.ts.map +1 -1
- package/esm/validators/boolean-validator.js +22 -1
- package/esm/validators/boolean-validator.js.map +1 -1
- package/esm/validators/computed-validator.d.ts +11 -0
- package/esm/validators/computed-validator.d.ts.map +1 -1
- package/esm/validators/computed-validator.js +15 -0
- package/esm/validators/computed-validator.js.map +1 -1
- package/esm/validators/date-validator.d.ts +18 -0
- package/esm/validators/date-validator.d.ts.map +1 -1
- package/esm/validators/date-validator.js +40 -1
- package/esm/validators/date-validator.js.map +1 -1
- package/esm/validators/int-validator.d.ts +11 -0
- package/esm/validators/int-validator.d.ts.map +1 -1
- package/esm/validators/int-validator.js +12 -0
- package/esm/validators/int-validator.js.map +1 -1
- package/esm/validators/number-validator.d.ts +23 -0
- package/esm/validators/number-validator.d.ts.map +1 -1
- package/esm/validators/number-validator.js +80 -1
- package/esm/validators/number-validator.js.map +1 -1
- package/esm/validators/object-validator.d.ts +38 -1
- package/esm/validators/object-validator.d.ts.map +1 -1
- package/esm/validators/object-validator.js +71 -2
- package/esm/validators/object-validator.js.map +1 -1
- package/esm/validators/record-validator.d.ts +17 -0
- package/esm/validators/record-validator.d.ts.map +1 -1
- package/esm/validators/record-validator.js +25 -1
- package/esm/validators/record-validator.js.map +1 -1
- package/esm/validators/scalar-validator.d.ts +17 -0
- package/esm/validators/scalar-validator.d.ts.map +1 -1
- package/esm/validators/scalar-validator.js +34 -1
- package/esm/validators/scalar-validator.js.map +1 -1
- package/esm/validators/string-validator.d.ts +14 -0
- package/esm/validators/string-validator.d.ts.map +1 -1
- package/esm/validators/string-validator.js +71 -1
- package/esm/validators/string-validator.js.map +1 -1
- package/esm/validators/tuple-validator.d.ts +22 -0
- package/esm/validators/tuple-validator.d.ts.map +1 -1
- package/esm/validators/tuple-validator.js +43 -1
- package/esm/validators/tuple-validator.js.map +1 -1
- package/esm/validators/union-validator.d.ts +13 -0
- package/esm/validators/union-validator.d.ts.map +1 -1
- package/esm/validators/union-validator.js +19 -1
- package/esm/validators/union-validator.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ValidationResult } from "../types";
|
|
2
2
|
import type { BaseValidator } from "../validators";
|
|
3
|
-
import { ValidateOptions } from "./validators";
|
|
3
|
+
import { type ValidateOptions } from "./validators";
|
|
4
4
|
/**
|
|
5
5
|
* Validate data against a schema
|
|
6
6
|
*/
|
|
7
|
-
export declare const validate: <T extends BaseValidator
|
|
7
|
+
export declare const validate: <T extends BaseValidator<unknown, unknown>>(schema: T, data: any, { context: extendedContext, ...configurations }?: ValidateOptions) => Promise<ValidationResult>;
|
|
8
8
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/factory/validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/factory/validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,QAAQ,+DAEb,GAAG,oDACwC,eAAe,KAC/D,QAAQ,gBAAgB,CAmB1B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var anyValidator=require('../validators/any-validator.js'),arrayValidator=require('../validators/array-validator.js');require('@mongez/reinforcements')
|
|
1
|
+
'use strict';var anyValidator=require('../validators/any-validator.js'),arrayValidator=require('../validators/array-validator.js');require('@mongez/reinforcements');var validate=require('./validate.js');require('@mongez/supportive-is'),require('../validators/methods/equality-conditional-methods.js'),require('../validators/methods/forbidden-methods.js'),require('../validators/methods/present-methods.js'),require('../validators/methods/required-methods.js'),require('net');var booleanValidator=require('../validators/boolean-validator.js'),computedValidator=require('../validators/computed-validator.js'),dateValidator=require('../validators/date-validator.js'),floatValidator=require('../validators/float-validator.js'),intValidator=require('../validators/int-validator.js'),managedValidator=require('../validators/managed-validator.js'),numberValidator=require('../validators/number-validator.js'),numericValidator=require('../validators/numeric-validator.js'),objectValidator=require('../validators/object-validator.js'),recordValidator=require('../validators/record-validator.js'),scalarValidator=require('../validators/scalar-validator.js'),stringValidator=require('../validators/string-validator.js'),tupleValidator=require('../validators/tuple-validator.js'),unionValidator=require('../validators/union-validator.js');/**
|
|
2
2
|
* Seal factory object - creates instances of validators
|
|
3
3
|
*
|
|
4
4
|
* Use 'v' to create validation schemas (seals) for your data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sources":["../../src/factory/validators.ts"],"sourcesContent":[null],"names":["ObjectValidator","AnyValidator","ArrayValidator","RecordValidator","TupleValidator","DateValidator","StringValidator","ScalarValidator","NumberValidator","NumericValidator","IntValidator","FloatValidator","BooleanValidator","UnionValidator","ComputedValidator","ManagedValidator","validateFunction"],"mappings":"
|
|
1
|
+
{"version":3,"file":"validators.js","sources":["../../src/factory/validators.ts"],"sourcesContent":[null],"names":["ObjectValidator","AnyValidator","ArrayValidator","RecordValidator","TupleValidator","DateValidator","StringValidator","ScalarValidator","NumberValidator","NumericValidator","IntValidator","FloatValidator","BooleanValidator","UnionValidator","ComputedValidator","ManagedValidator","validateFunction"],"mappings":"+yCAuBA;;;;AAIG;AACU,MAAA,CAAC,GAAe;;AAE3B,IAAA,MAAM,EAAE,CAAmB,MAAS,EAAE,YAAqB,KACzD,IAAIA,+BAAe,CAAI,MAAM,EAAE,YAAY,CAAC;;AAG9C,IAAA,GAAG,EAAE,MAAM,IAAIC,yBAAY,EAAE;;AAG7B,IAAA,KAAK,EAAE,CAA0B,SAAY,EAAE,YAAqB,KAClE,IAAIC,6BAAc,CAAC,SAAS,EAAE,YAAY,CAEzC;;AAGH,IAAA,MAAM,EAAE,CAA0B,SAAa,EAAE,YAAqB,KACpE,IAAIC,+BAAe,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,CAErD;;AAGH,IAAA,KAAK,EAAE,CAA4B,UAAa,EAAE,YAAqB,KACrE,IAAIC,6BAAc,CAAC,UAAU,EAAE,YAAY,CAE1C;;IAGH,IAAI,EAAE,CAAC,YAAqB,KAAK,IAAIC,2BAAa,CAAC,YAAY,CAAC;;IAGhE,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAIC,+BAAe,CAAC,YAAY,CAAC;;AAGpE,IAAA,KAAK,EAAE,CAAC,iBAA0B,EAAE,YAAqB,KACvD,IAAIA,+BAAe,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;;AAG5D,IAAA,IAAI,EAAE,CAAC,MAAW,EAAE,YAAqB,KAAK,IAAIC,+BAAe,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;;IAG9F,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAIC,+BAAe,CAAC,YAAY,CAAC;;IAGpE,OAAO,EAAE,CAAC,YAAqB,KAAK,IAAIC,iCAAgB,CAAC,YAAY,CAAC;;IAGtE,GAAG,EAAE,CAAC,YAAqB,KAAK,IAAIC,yBAAY,CAAC,YAAY,CAAC;;IAG9D,KAAK,EAAE,CAAC,YAAqB,KAAK,IAAIC,6BAAc,CAAC,YAAY,CAAC;;IAGlE,OAAO,EAAE,CAAC,YAAqB,KAAK,IAAIC,iCAAgB,CAAC,YAAY,CAAC;;IAGtE,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAIL,+BAAe,CAAC,YAAY,CAAC;;AAGpE,IAAA,KAAK,EAAE,CAAC,UAA2B,EAAE,YAAqB,KACxD,IAAIM,6BAAc,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;;AAGtD,IAAA,QAAQ,EAAE,CACR,QAA2E,EAC3E,eAA+B,KAC5B,IAAIC,mCAAiB,CAAU,QAAQ,EAAE,eAAe,CAAC;;AAG9D,IAAA,OAAO,EAAE,CACP,QAAgE,EAChE,eAA+B,KAC5B,IAAIC,iCAAgB,CAAU,QAAQ,EAAE,eAAe,CAAC;;AAG7D,IAAA,QAAQ,EAAEC,iBAAgB;"}
|
package/cjs/index.d.ts
CHANGED
package/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,mBAAmB,CAAC"}
|
package/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var anyValidator=require('./validators/any-validator.js'),arrayValidator=require('./validators/array-validator.js'),baseValidator=require('./validators/base-validator.js');require('./validators/methods/equality-conditional-methods.js'),require('./validators/methods/forbidden-methods.js'),require('./validators/methods/present-methods.js'),require('./validators/methods/required-methods.js');var primitiveValidator=require('./validators/primitive-validator.js'),booleanValidator=require('./validators/boolean-validator.js'),computedValidator=require('./validators/computed-validator.js'),dateValidator=require('./validators/date-validator.js'),floatValidator=require('./validators/float-validator.js'),intValidator=require('./validators/int-validator.js'),managedValidator=require('./validators/managed-validator.js'),numberValidator=require('./validators/number-validator.js'),numericValidator=require('./validators/numeric-validator.js'),objectValidator=require('./validators/object-validator.js'),recordValidator=require('./validators/record-validator.js'),scalarValidator=require('./validators/scalar-validator.js'),stringValidator=require('./validators/string-validator.js'),tupleValidator=require('./validators/tuple-validator.js'),unionValidator=require('./validators/union-validator.js'),dateTypes=require('./types/date-types.js'),dateHelpers=require('./helpers/date-helpers.js'),file_utils=require('./helpers/file.utils.js'),getFieldValue=require('./helpers/get-field-value.js'),pathHelpers=require('./helpers/path-helpers.js'),validationHelpers=require('./helpers/validation-helpers.js'),arrayMutators=require('./mutators/array-mutators.js'),dateMutators=require('./mutators/date-mutators.js'),numberMutators=require('./mutators/number-mutators.js'),objectMutators=require('./mutators/object-mutators.js'),scalarMutators=require('./mutators/scalar-mutators.js'),stringMutators=require('./mutators/string-mutators.js'),equal=require('./rules/core/equal.js'),forbidden=require('./rules/core/forbidden.js'),required=require('./rules/core/required.js'),union=require('./rules/core/union.js'),when=require('./rules/core/when.js'),alpha=require('./rules/string/alpha.js'),creditCard=require('./rules/string/credit-card.js'),email=require('./rules/string/email.js'),ip=require('./rules/string/ip.js'),matches=require('./rules/string/matches.js'),pattern=require('./rules/string/pattern.js'),stringComparison=require('./rules/string/string-comparison.js'),strongPasswordRule=require('./rules/string/strong-password-rule.js'),url=require('./rules/string/url.js'),withoutWhitespace=require('./rules/string/without-whitespace.js'),numberRules=require('./rules/number/number-rules.js'),lengthRules=require('./rules/length/length-rules.js'),arrayRules=require('./rules/array/array-rules.js'),date=require('./rules/date/date.js'),dateComparisonRules=require('./rules/date/date-comparison-rules.js'),dateDayRules=require('./rules/date/date-day-rules.js'),dateFieldComparisonRules=require('./rules/date/date-field-comparison-rules.js'),datePeriodRules=require('./rules/date/date-period-rules.js'),dateRelativeRules=require('./rules/date/date-relative-rules.js'),dateSpecialRules=require('./rules/date/date-special-rules.js'),dimensions=require('./rules/file/dimensions.js'),fileSize=require('./rules/file/file-size.js'),colorRules=require('./rules/color/color-rules.js'),requiredIfRules=require('./rules/conditional/required-if-rules.js'),requiredUnlessRules=require('./rules/conditional/required-unless-rules.js'),requiredWhenRule=require('./rules/conditional/required-when-rule.js'),requiredWithRules=require('./rules/conditional/required-with-rules.js'),requiredWithoutRules=require('./rules/conditional/required-without-rules.js'),presentIfRules=require('./rules/conditional/present-if-rules.js'),presentUnlessRules=require('./rules/conditional/present-unless-rules.js'),presentWithRules=require('./rules/conditional/present-with-rules.js'),presentWithoutRules=require('./rules/conditional/present-without-rules.js'),forbiddenIfRules=require('./rules/conditional/forbidden-if-rules.js'),_enum=require('./rules/common/enum.js'),equalsFieldRules=require('./rules/common/equals-field-rules.js'),typeRules=require('./rules/common/type-rules.js'),unknownKey=require('./rules/common/unknown-key.js'),validate=require('./factory/validate.js'),validators=require('./factory/validators.js'),pluginSystem=require('./plugins/plugin-system.js'),config=require('./config.js');exports.AnyValidator=anyValidator.AnyValidator;exports.ArrayValidator=arrayValidator.ArrayValidator;exports.BaseValidator=baseValidator.BaseValidator;exports.PrimitiveValidator=primitiveValidator.PrimitiveValidator;exports.BooleanValidator=booleanValidator.BooleanValidator;exports.ComputedValidator=computedValidator.ComputedValidator;exports.DateValidator=dateValidator.DateValidator;exports.FloatValidator=floatValidator.FloatValidator;exports.IntValidator=intValidator.IntValidator;exports.ManagedValidator=managedValidator.ManagedValidator;exports.NumberValidator=numberValidator.NumberValidator;exports.NumericValidator=numericValidator.NumericValidator;exports.ObjectValidator=objectValidator.ObjectValidator;exports.RecordValidator=recordValidator.RecordValidator;exports.ScalarValidator=scalarValidator.ScalarValidator;exports.StringValidator=stringValidator.StringValidator;exports.TupleValidator=tupleValidator.TupleValidator;exports.UnionValidator=unionValidator.UnionValidator;exports.WEEK_DAYS=dateTypes.WEEK_DAYS;exports.isDateValue=dateHelpers.isDateValue;exports.humanizeSize=file_utils.humanizeSize;exports.resolveFileSize=file_utils.resolveFileSize;exports.getFieldValue=getFieldValue.getFieldValue;exports.setKeyPath=pathHelpers.setKeyPath;exports.VALID_RULE=validationHelpers.VALID_RULE;exports.invalidRule=validationHelpers.invalidRule;exports.resolveTranslation=validationHelpers.resolveTranslation;exports.flipArrayMutator=arrayMutators.flipArrayMutator;exports.removeEmptyArrayElementsMutator=arrayMutators.removeEmptyArrayElementsMutator;exports.reverseArrayMutator=arrayMutators.reverseArrayMutator;exports.sortArrayMutator=arrayMutators.sortArrayMutator;exports.uniqueArrayMutator=arrayMutators.uniqueArrayMutator;exports.addDaysMutator=dateMutators.addDaysMutator;exports.addHoursMutator=dateMutators.addHoursMutator;exports.addMonthsMutator=dateMutators.addMonthsMutator;exports.addYearsMutator=dateMutators.addYearsMutator;exports.dateMutator=dateMutators.dateMutator;exports.toDateOnlyMutator=dateMutators.toDateOnlyMutator;exports.toEndOfDayMutator=dateMutators.toEndOfDayMutator;exports.toEndOfMonthMutator=dateMutators.toEndOfMonthMutator;exports.toEndOfYearMutator=dateMutators.toEndOfYearMutator;exports.toFormatMutator=dateMutators.toFormatMutator;exports.toISOStringMutator=dateMutators.toISOStringMutator;exports.toStartOfDayMutator=dateMutators.toStartOfDayMutator;exports.toStartOfMonthMutator=dateMutators.toStartOfMonthMutator;exports.toStartOfYearMutator=dateMutators.toStartOfYearMutator;exports.toTimeOnlyMutator=dateMutators.toTimeOnlyMutator;exports.toTimestampMutator=dateMutators.toTimestampMutator;exports.toUTCMutator=dateMutators.toUTCMutator;exports.absMutator=numberMutators.absMutator;exports.booleanMutator=numberMutators.booleanMutator;exports.ceilMutator=numberMutators.ceilMutator;exports.floorMutator=numberMutators.floorMutator;exports.numberMutator=numberMutators.numberMutator;exports.numericMutator=numberMutators.numericMutator;exports.roundMutator=numberMutators.roundMutator;exports.roundNumberMutator=numberMutators.roundNumberMutator;exports.toFixedMutator=numberMutators.toFixedMutator;exports.jsonMutator=objectMutators.jsonMutator;exports.objectTrimMutator=objectMutators.objectTrimMutator;exports.stripUnknownMutator=objectMutators.stripUnknownMutator;exports.stringMutator=scalarMutators.stringMutator;exports.alphaOnlyMutator=stringMutators.alphaOnlyMutator;exports.alphanumericOnlyMutator=stringMutators.alphanumericOnlyMutator;exports.appendMutator=stringMutators.appendMutator;exports.base64DecodeMutator=stringMutators.base64DecodeMutator;exports.base64EncodeMutator=stringMutators.base64EncodeMutator;exports.camelCaseMutator=stringMutators.camelCaseMutator;exports.capitalizeMutator=stringMutators.capitalizeMutator;exports.htmlEscapeMutator=stringMutators.htmlEscapeMutator;exports.kebabCaseMutator=stringMutators.kebabCaseMutator;exports.lowercaseMutator=stringMutators.lowercaseMutator;exports.ltrimMutator=stringMutators.ltrimMutator;exports.maskMutator=stringMutators.maskMutator;exports.padEndMutator=stringMutators.padEndMutator;exports.padStartMutator=stringMutators.padStartMutator;exports.pascalCaseMutator=stringMutators.pascalCaseMutator;exports.prependMutator=stringMutators.prependMutator;exports.removeNumbersMutator=stringMutators.removeNumbersMutator;exports.removeSpecialCharactersMutator=stringMutators.removeSpecialCharactersMutator;exports.repeatMutator=stringMutators.repeatMutator;exports.replaceAllMutator=stringMutators.replaceAllMutator;exports.replaceMutator=stringMutators.replaceMutator;exports.reverseMutator=stringMutators.reverseMutator;exports.rtrimMutator=stringMutators.rtrimMutator;exports.safeHtmlMutator=stringMutators.safeHtmlMutator;exports.slugMutator=stringMutators.slugMutator;exports.snakeCaseMutator=stringMutators.snakeCaseMutator;exports.stringifyMutator=stringMutators.stringifyMutator;exports.titleCaseMutator=stringMutators.titleCaseMutator;exports.trimMultipleWhitespaceMutator=stringMutators.trimMultipleWhitespaceMutator;exports.trimMutator=stringMutators.trimMutator;exports.truncateMutator=stringMutators.truncateMutator;exports.unescapeHtmlMutator=stringMutators.unescapeHtmlMutator;exports.uppercaseMutator=stringMutators.uppercaseMutator;exports.urlDecodeMutator=stringMutators.urlDecodeMutator;exports.urlEncodeMutator=stringMutators.urlEncodeMutator;exports.equalRule=equal.equalRule;exports.forbiddenRule=forbidden.forbiddenRule;exports.presentRule=required.presentRule;exports.requiredRule=required.requiredRule;exports.unionRule=union.unionRule;exports.whenRule=when.whenRule;exports.alphaNumericRule=alpha.alphaNumericRule;exports.alphaRule=alpha.alphaRule;exports.isNumericRule=alpha.isNumericRule;exports.isCreditCardRule=creditCard.isCreditCardRule;exports.emailRule=email.emailRule;exports.ip4Rule=ip.ip4Rule;exports.ip6Rule=ip.ip6Rule;exports.ipRule=ip.ipRule;exports.matchesRule=matches.matchesRule;exports.patternRule=pattern.patternRule;exports.containsRule=stringComparison.containsRule;exports.endsWithRule=stringComparison.endsWithRule;exports.notContainsRule=stringComparison.notContainsRule;exports.startsWithRule=stringComparison.startsWithRule;exports.strongPasswordRule=strongPasswordRule.strongPasswordRule;exports.urlRule=url.urlRule;exports.withoutWhitespaceRule=withoutWhitespace.withoutWhitespaceRule;exports.betweenNumbersRule=numberRules.betweenNumbersRule;exports.evenRule=numberRules.evenRule;exports.greaterThanRule=numberRules.greaterThanRule;exports.lessThanRule=numberRules.lessThanRule;exports.maxRule=numberRules.maxRule;exports.minRule=numberRules.minRule;exports.moduloRule=numberRules.moduloRule;exports.negativeRule=numberRules.negativeRule;exports.oddRule=numberRules.oddRule;exports.positiveRule=numberRules.positiveRule;exports.betweenLengthRule=lengthRules.betweenLengthRule;exports.lengthRule=lengthRules.lengthRule;exports.maxLengthRule=lengthRules.maxLengthRule;exports.maxWordsRule=lengthRules.maxWordsRule;exports.minLengthRule=lengthRules.minLengthRule;exports.minWordsRule=lengthRules.minWordsRule;exports.wordsRule=lengthRules.wordsRule;exports.sortedArrayRule=arrayRules.sortedArrayRule;exports.uniqueArrayRule=arrayRules.uniqueArrayRule;exports.ageRule=date.ageRule;exports.beforeHourRule=date.beforeHourRule;exports.beforeMinuteRule=date.beforeMinuteRule;exports.beforeTodayRule=date.beforeTodayRule;exports.betweenHoursRule=date.betweenHoursRule;exports.betweenMinutesRule=date.betweenMinutesRule;exports.dateRule=date.dateRule;exports.fromHourRule=date.fromHourRule;exports.fromMinuteRule=date.fromMinuteRule;exports.fromTodayRule=date.fromTodayRule;exports.maxAgeRule=date.maxAgeRule;exports.maxDateRule=date.maxDateRule;exports.minAgeRule=date.minAgeRule;exports.minDateRule=date.minDateRule;exports.weekDayRule=date.weekDayRule;exports.afterTodayRule=dateComparisonRules.afterTodayRule;exports.betweenDatesRule=dateComparisonRules.betweenDatesRule;exports.futureRule=dateComparisonRules.futureRule;exports.pastRule=dateComparisonRules.pastRule;exports.todayRule=dateComparisonRules.todayRule;exports.businessDayRule=dateDayRules.businessDayRule;exports.weekdayRule=dateDayRules.weekdayRule;exports.weekdaysRule=dateDayRules.weekdaysRule;exports.weekendRule=dateDayRules.weekendRule;exports.afterFieldRule=dateFieldComparisonRules.afterFieldRule;exports.beforeFieldRule=dateFieldComparisonRules.beforeFieldRule;exports.sameAsFieldDateRule=dateFieldComparisonRules.sameAsFieldDateRule;exports.betweenDaysRule=datePeriodRules.betweenDaysRule;exports.betweenMonthsRule=datePeriodRules.betweenMonthsRule;exports.betweenTimesRule=datePeriodRules.betweenTimesRule;exports.betweenYearsRule=datePeriodRules.betweenYearsRule;exports.maxDayRule=datePeriodRules.maxDayRule;exports.maxMonthRule=datePeriodRules.maxMonthRule;exports.maxYearRule=datePeriodRules.maxYearRule;exports.minDayRule=datePeriodRules.minDayRule;exports.minMonthRule=datePeriodRules.minMonthRule;exports.minYearRule=datePeriodRules.minYearRule;exports.monthRule=datePeriodRules.monthRule;exports.quarterRule=datePeriodRules.quarterRule;exports.yearRule=datePeriodRules.yearRule;exports.withinDaysRule=dateRelativeRules.withinDaysRule;exports.withinFutureDaysRule=dateRelativeRules.withinFutureDaysRule;exports.withinPastDaysRule=dateRelativeRules.withinPastDaysRule;exports.betweenAgeRule=dateSpecialRules.betweenAgeRule;exports.birthdayRule=dateSpecialRules.birthdayRule;exports.leapYearRule=dateSpecialRules.leapYearRule;exports.maxHeightRule=dimensions.maxHeightRule;exports.maxWidthRule=dimensions.maxWidthRule;exports.minHeightRule=dimensions.minHeightRule;exports.minWidthRule=dimensions.minWidthRule;exports.maxFileSizeRule=fileSize.maxFileSizeRule;exports.minFileSizeRule=fileSize.minFileSizeRule;exports.colorRule=colorRules.colorRule;exports.darkColorRule=colorRules.darkColorRule;exports.hexColorRule=colorRules.hexColorRule;exports.hslColorRule=colorRules.hslColorRule;exports.lightColorRule=colorRules.lightColorRule;exports.rgbColorRule=colorRules.rgbColorRule;exports.rgbaColorRule=colorRules.rgbaColorRule;exports.requiredIfAllEmptyRule=requiredIfRules.requiredIfAllEmptyRule;exports.requiredIfAllNotEmptyRule=requiredIfRules.requiredIfAllNotEmptyRule;exports.requiredIfAnyEmptyRule=requiredIfRules.requiredIfAnyEmptyRule;exports.requiredIfAnyNotEmptyRule=requiredIfRules.requiredIfAnyNotEmptyRule;exports.requiredIfEmptyRule=requiredIfRules.requiredIfEmptyRule;exports.requiredIfInRule=requiredIfRules.requiredIfInRule;exports.requiredIfNotEmptyRule=requiredIfRules.requiredIfNotEmptyRule;exports.requiredIfNotInRule=requiredIfRules.requiredIfNotInRule;exports.requiredIfRule=requiredIfRules.requiredIfRule;exports.requiredUnlessRule=requiredUnlessRules.requiredUnlessRule;exports.requiredWhenRule=requiredWhenRule.requiredWhenRule;exports.requiredWithAllRule=requiredWithRules.requiredWithAllRule;exports.requiredWithAnyRule=requiredWithRules.requiredWithAnyRule;exports.requiredWithRule=requiredWithRules.requiredWithRule;exports.requiredWithoutAllRule=requiredWithoutRules.requiredWithoutAllRule;exports.requiredWithoutAnyRule=requiredWithoutRules.requiredWithoutAnyRule;exports.requiredWithoutRule=requiredWithoutRules.requiredWithoutRule;exports.presentIfEmptyRule=presentIfRules.presentIfEmptyRule;exports.presentIfInRule=presentIfRules.presentIfInRule;exports.presentIfNotEmptyRule=presentIfRules.presentIfNotEmptyRule;exports.presentIfNotInRule=presentIfRules.presentIfNotInRule;exports.presentIfRule=presentIfRules.presentIfRule;exports.presentUnlessRule=presentUnlessRules.presentUnlessRule;exports.presentWithAllRule=presentWithRules.presentWithAllRule;exports.presentWithAnyRule=presentWithRules.presentWithAnyRule;exports.presentWithRule=presentWithRules.presentWithRule;exports.presentWithoutAllRule=presentWithoutRules.presentWithoutAllRule;exports.presentWithoutAnyRule=presentWithoutRules.presentWithoutAnyRule;exports.presentWithoutRule=presentWithoutRules.presentWithoutRule;exports.forbiddenIfEmptyRule=forbiddenIfRules.forbiddenIfEmptyRule;exports.forbiddenIfInRule=forbiddenIfRules.forbiddenIfInRule;exports.forbiddenIfNotEmptyRule=forbiddenIfRules.forbiddenIfNotEmptyRule;exports.forbiddenIfNotInRule=forbiddenIfRules.forbiddenIfNotInRule;exports.forbiddenIfNotRule=forbiddenIfRules.forbiddenIfNotRule;exports.forbiddenIfRule=forbiddenIfRules.forbiddenIfRule;exports.allowedValuesRule=_enum.allowedValuesRule;exports.enumRule=_enum.enumRule;exports.inRule=_enum.inRule;exports.notAllowedValuesRule=_enum.notAllowedValuesRule;exports.equalsFieldRule=equalsFieldRules.equalsFieldRule;exports.notEqualsFieldRule=equalsFieldRules.notEqualsFieldRule;exports.arrayRule=typeRules.arrayRule;exports.booleanRule=typeRules.booleanRule;exports.floatRule=typeRules.floatRule;exports.intRule=typeRules.intRule;exports.numberRule=typeRules.numberRule;exports.objectRule=typeRules.objectRule;exports.plainObjectRule=typeRules.plainObjectRule;exports.scalarRule=typeRules.scalarRule;exports.stringRule=typeRules.stringRule;exports.unknownKeyRule=unknownKey.unknownKeyRule;exports.validate=validate.validate;exports.v=validators.v;exports.getInstalledPlugins=pluginSystem.getInstalledPlugins;exports.hasPlugin=pluginSystem.hasPlugin;exports.registerPlugin=pluginSystem.registerPlugin;exports.unregisterPlugin=pluginSystem.unregisterPlugin;exports.configureSeal=config.configureSeal;exports.getSealConfig=config.getSealConfig;exports.resetSealConfig=config.resetSealConfig;//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict';var anyValidator=require('./validators/any-validator.js'),arrayValidator=require('./validators/array-validator.js'),baseValidator=require('./validators/base-validator.js');require('./validators/methods/equality-conditional-methods.js'),require('./validators/methods/forbidden-methods.js'),require('./validators/methods/present-methods.js'),require('./validators/methods/required-methods.js');var primitiveValidator=require('./validators/primitive-validator.js'),booleanValidator=require('./validators/boolean-validator.js'),computedValidator=require('./validators/computed-validator.js'),dateValidator=require('./validators/date-validator.js'),floatValidator=require('./validators/float-validator.js'),intValidator=require('./validators/int-validator.js'),managedValidator=require('./validators/managed-validator.js'),numberValidator=require('./validators/number-validator.js'),numericValidator=require('./validators/numeric-validator.js'),objectValidator=require('./validators/object-validator.js'),recordValidator=require('./validators/record-validator.js'),scalarValidator=require('./validators/scalar-validator.js'),stringValidator=require('./validators/string-validator.js'),tupleValidator=require('./validators/tuple-validator.js'),unionValidator=require('./validators/union-validator.js'),dateTypes=require('./types/date-types.js'),dateHelpers=require('./helpers/date-helpers.js'),file_utils=require('./helpers/file.utils.js'),getFieldValue=require('./helpers/get-field-value.js'),pathHelpers=require('./helpers/path-helpers.js'),validationHelpers=require('./helpers/validation-helpers.js'),arrayMutators=require('./mutators/array-mutators.js'),dateMutators=require('./mutators/date-mutators.js'),numberMutators=require('./mutators/number-mutators.js'),objectMutators=require('./mutators/object-mutators.js'),scalarMutators=require('./mutators/scalar-mutators.js'),stringMutators=require('./mutators/string-mutators.js'),equal=require('./rules/core/equal.js'),forbidden=require('./rules/core/forbidden.js'),required=require('./rules/core/required.js'),union=require('./rules/core/union.js'),when=require('./rules/core/when.js'),alpha=require('./rules/string/alpha.js'),creditCard=require('./rules/string/credit-card.js'),email=require('./rules/string/email.js'),ip=require('./rules/string/ip.js'),matches=require('./rules/string/matches.js'),pattern=require('./rules/string/pattern.js'),stringComparison=require('./rules/string/string-comparison.js'),strongPasswordRule=require('./rules/string/strong-password-rule.js'),url=require('./rules/string/url.js'),withoutWhitespace=require('./rules/string/without-whitespace.js'),numberRules=require('./rules/number/number-rules.js'),lengthRules=require('./rules/length/length-rules.js'),arrayRules=require('./rules/array/array-rules.js'),date=require('./rules/date/date.js'),dateComparisonRules=require('./rules/date/date-comparison-rules.js'),dateDayRules=require('./rules/date/date-day-rules.js'),dateFieldComparisonRules=require('./rules/date/date-field-comparison-rules.js'),datePeriodRules=require('./rules/date/date-period-rules.js'),dateRelativeRules=require('./rules/date/date-relative-rules.js'),dateSpecialRules=require('./rules/date/date-special-rules.js'),dimensions=require('./rules/file/dimensions.js'),fileSize=require('./rules/file/file-size.js'),colorRules=require('./rules/color/color-rules.js'),requiredIfRules=require('./rules/conditional/required-if-rules.js'),requiredUnlessRules=require('./rules/conditional/required-unless-rules.js'),requiredWhenRule=require('./rules/conditional/required-when-rule.js'),requiredWithRules=require('./rules/conditional/required-with-rules.js'),requiredWithoutRules=require('./rules/conditional/required-without-rules.js'),presentIfRules=require('./rules/conditional/present-if-rules.js'),presentUnlessRules=require('./rules/conditional/present-unless-rules.js'),presentWithRules=require('./rules/conditional/present-with-rules.js'),presentWithoutRules=require('./rules/conditional/present-without-rules.js'),forbiddenIfRules=require('./rules/conditional/forbidden-if-rules.js'),_enum=require('./rules/common/enum.js'),equalsFieldRules=require('./rules/common/equals-field-rules.js'),typeRules=require('./rules/common/type-rules.js'),unknownKey=require('./rules/common/unknown-key.js'),validate=require('./factory/validate.js'),validators=require('./factory/validators.js'),pluginSystem=require('./plugins/plugin-system.js'),config=require('./config.js'),mapResult=require('./standard-schema/map-result.js'),jsonSchema=require('./standard-schema/json-schema.js');exports.AnyValidator=anyValidator.AnyValidator;exports.ArrayValidator=arrayValidator.ArrayValidator;exports.BaseValidator=baseValidator.BaseValidator;exports.PrimitiveValidator=primitiveValidator.PrimitiveValidator;exports.BooleanValidator=booleanValidator.BooleanValidator;exports.ComputedValidator=computedValidator.ComputedValidator;exports.DateValidator=dateValidator.DateValidator;exports.FloatValidator=floatValidator.FloatValidator;exports.IntValidator=intValidator.IntValidator;exports.ManagedValidator=managedValidator.ManagedValidator;exports.NumberValidator=numberValidator.NumberValidator;exports.NumericValidator=numericValidator.NumericValidator;exports.ObjectValidator=objectValidator.ObjectValidator;exports.RecordValidator=recordValidator.RecordValidator;exports.ScalarValidator=scalarValidator.ScalarValidator;exports.StringValidator=stringValidator.StringValidator;exports.TupleValidator=tupleValidator.TupleValidator;exports.UnionValidator=unionValidator.UnionValidator;exports.WEEK_DAYS=dateTypes.WEEK_DAYS;exports.isDateValue=dateHelpers.isDateValue;exports.humanizeSize=file_utils.humanizeSize;exports.resolveFileSize=file_utils.resolveFileSize;exports.getFieldValue=getFieldValue.getFieldValue;exports.setKeyPath=pathHelpers.setKeyPath;exports.VALID_RULE=validationHelpers.VALID_RULE;exports.invalidRule=validationHelpers.invalidRule;exports.resolveTranslation=validationHelpers.resolveTranslation;exports.flipArrayMutator=arrayMutators.flipArrayMutator;exports.removeEmptyArrayElementsMutator=arrayMutators.removeEmptyArrayElementsMutator;exports.reverseArrayMutator=arrayMutators.reverseArrayMutator;exports.sortArrayMutator=arrayMutators.sortArrayMutator;exports.uniqueArrayMutator=arrayMutators.uniqueArrayMutator;exports.addDaysMutator=dateMutators.addDaysMutator;exports.addHoursMutator=dateMutators.addHoursMutator;exports.addMonthsMutator=dateMutators.addMonthsMutator;exports.addYearsMutator=dateMutators.addYearsMutator;exports.dateMutator=dateMutators.dateMutator;exports.toDateOnlyMutator=dateMutators.toDateOnlyMutator;exports.toEndOfDayMutator=dateMutators.toEndOfDayMutator;exports.toEndOfMonthMutator=dateMutators.toEndOfMonthMutator;exports.toEndOfYearMutator=dateMutators.toEndOfYearMutator;exports.toFormatMutator=dateMutators.toFormatMutator;exports.toISOStringMutator=dateMutators.toISOStringMutator;exports.toStartOfDayMutator=dateMutators.toStartOfDayMutator;exports.toStartOfMonthMutator=dateMutators.toStartOfMonthMutator;exports.toStartOfYearMutator=dateMutators.toStartOfYearMutator;exports.toTimeOnlyMutator=dateMutators.toTimeOnlyMutator;exports.toTimestampMutator=dateMutators.toTimestampMutator;exports.toUTCMutator=dateMutators.toUTCMutator;exports.absMutator=numberMutators.absMutator;exports.booleanMutator=numberMutators.booleanMutator;exports.ceilMutator=numberMutators.ceilMutator;exports.floorMutator=numberMutators.floorMutator;exports.numberMutator=numberMutators.numberMutator;exports.numericMutator=numberMutators.numericMutator;exports.roundMutator=numberMutators.roundMutator;exports.roundNumberMutator=numberMutators.roundNumberMutator;exports.toFixedMutator=numberMutators.toFixedMutator;exports.jsonMutator=objectMutators.jsonMutator;exports.objectTrimMutator=objectMutators.objectTrimMutator;exports.stripUnknownMutator=objectMutators.stripUnknownMutator;exports.stringMutator=scalarMutators.stringMutator;exports.alphaOnlyMutator=stringMutators.alphaOnlyMutator;exports.alphanumericOnlyMutator=stringMutators.alphanumericOnlyMutator;exports.appendMutator=stringMutators.appendMutator;exports.base64DecodeMutator=stringMutators.base64DecodeMutator;exports.base64EncodeMutator=stringMutators.base64EncodeMutator;exports.camelCaseMutator=stringMutators.camelCaseMutator;exports.capitalizeMutator=stringMutators.capitalizeMutator;exports.htmlEscapeMutator=stringMutators.htmlEscapeMutator;exports.kebabCaseMutator=stringMutators.kebabCaseMutator;exports.lowercaseMutator=stringMutators.lowercaseMutator;exports.ltrimMutator=stringMutators.ltrimMutator;exports.maskMutator=stringMutators.maskMutator;exports.padEndMutator=stringMutators.padEndMutator;exports.padStartMutator=stringMutators.padStartMutator;exports.pascalCaseMutator=stringMutators.pascalCaseMutator;exports.prependMutator=stringMutators.prependMutator;exports.removeNumbersMutator=stringMutators.removeNumbersMutator;exports.removeSpecialCharactersMutator=stringMutators.removeSpecialCharactersMutator;exports.repeatMutator=stringMutators.repeatMutator;exports.replaceAllMutator=stringMutators.replaceAllMutator;exports.replaceMutator=stringMutators.replaceMutator;exports.reverseMutator=stringMutators.reverseMutator;exports.rtrimMutator=stringMutators.rtrimMutator;exports.safeHtmlMutator=stringMutators.safeHtmlMutator;exports.slugMutator=stringMutators.slugMutator;exports.snakeCaseMutator=stringMutators.snakeCaseMutator;exports.stringifyMutator=stringMutators.stringifyMutator;exports.titleCaseMutator=stringMutators.titleCaseMutator;exports.trimMultipleWhitespaceMutator=stringMutators.trimMultipleWhitespaceMutator;exports.trimMutator=stringMutators.trimMutator;exports.truncateMutator=stringMutators.truncateMutator;exports.unescapeHtmlMutator=stringMutators.unescapeHtmlMutator;exports.uppercaseMutator=stringMutators.uppercaseMutator;exports.urlDecodeMutator=stringMutators.urlDecodeMutator;exports.urlEncodeMutator=stringMutators.urlEncodeMutator;exports.equalRule=equal.equalRule;exports.forbiddenRule=forbidden.forbiddenRule;exports.presentRule=required.presentRule;exports.requiredRule=required.requiredRule;exports.unionRule=union.unionRule;exports.whenRule=when.whenRule;exports.alphaNumericRule=alpha.alphaNumericRule;exports.alphaRule=alpha.alphaRule;exports.isNumericRule=alpha.isNumericRule;exports.isCreditCardRule=creditCard.isCreditCardRule;exports.emailRule=email.emailRule;exports.ip4Rule=ip.ip4Rule;exports.ip6Rule=ip.ip6Rule;exports.ipRule=ip.ipRule;exports.matchesRule=matches.matchesRule;exports.patternRule=pattern.patternRule;exports.containsRule=stringComparison.containsRule;exports.endsWithRule=stringComparison.endsWithRule;exports.notContainsRule=stringComparison.notContainsRule;exports.startsWithRule=stringComparison.startsWithRule;exports.strongPasswordRule=strongPasswordRule.strongPasswordRule;exports.urlRule=url.urlRule;exports.withoutWhitespaceRule=withoutWhitespace.withoutWhitespaceRule;exports.betweenNumbersRule=numberRules.betweenNumbersRule;exports.evenRule=numberRules.evenRule;exports.greaterThanRule=numberRules.greaterThanRule;exports.lessThanRule=numberRules.lessThanRule;exports.maxRule=numberRules.maxRule;exports.minRule=numberRules.minRule;exports.moduloRule=numberRules.moduloRule;exports.negativeRule=numberRules.negativeRule;exports.oddRule=numberRules.oddRule;exports.positiveRule=numberRules.positiveRule;exports.betweenLengthRule=lengthRules.betweenLengthRule;exports.lengthRule=lengthRules.lengthRule;exports.maxLengthRule=lengthRules.maxLengthRule;exports.maxWordsRule=lengthRules.maxWordsRule;exports.minLengthRule=lengthRules.minLengthRule;exports.minWordsRule=lengthRules.minWordsRule;exports.wordsRule=lengthRules.wordsRule;exports.sortedArrayRule=arrayRules.sortedArrayRule;exports.uniqueArrayRule=arrayRules.uniqueArrayRule;exports.ageRule=date.ageRule;exports.beforeHourRule=date.beforeHourRule;exports.beforeMinuteRule=date.beforeMinuteRule;exports.beforeTodayRule=date.beforeTodayRule;exports.betweenHoursRule=date.betweenHoursRule;exports.betweenMinutesRule=date.betweenMinutesRule;exports.dateRule=date.dateRule;exports.fromHourRule=date.fromHourRule;exports.fromMinuteRule=date.fromMinuteRule;exports.fromTodayRule=date.fromTodayRule;exports.maxAgeRule=date.maxAgeRule;exports.maxDateRule=date.maxDateRule;exports.minAgeRule=date.minAgeRule;exports.minDateRule=date.minDateRule;exports.weekDayRule=date.weekDayRule;exports.afterTodayRule=dateComparisonRules.afterTodayRule;exports.betweenDatesRule=dateComparisonRules.betweenDatesRule;exports.futureRule=dateComparisonRules.futureRule;exports.pastRule=dateComparisonRules.pastRule;exports.todayRule=dateComparisonRules.todayRule;exports.businessDayRule=dateDayRules.businessDayRule;exports.weekdayRule=dateDayRules.weekdayRule;exports.weekdaysRule=dateDayRules.weekdaysRule;exports.weekendRule=dateDayRules.weekendRule;exports.afterFieldRule=dateFieldComparisonRules.afterFieldRule;exports.beforeFieldRule=dateFieldComparisonRules.beforeFieldRule;exports.sameAsFieldDateRule=dateFieldComparisonRules.sameAsFieldDateRule;exports.betweenDaysRule=datePeriodRules.betweenDaysRule;exports.betweenMonthsRule=datePeriodRules.betweenMonthsRule;exports.betweenTimesRule=datePeriodRules.betweenTimesRule;exports.betweenYearsRule=datePeriodRules.betweenYearsRule;exports.maxDayRule=datePeriodRules.maxDayRule;exports.maxMonthRule=datePeriodRules.maxMonthRule;exports.maxYearRule=datePeriodRules.maxYearRule;exports.minDayRule=datePeriodRules.minDayRule;exports.minMonthRule=datePeriodRules.minMonthRule;exports.minYearRule=datePeriodRules.minYearRule;exports.monthRule=datePeriodRules.monthRule;exports.quarterRule=datePeriodRules.quarterRule;exports.yearRule=datePeriodRules.yearRule;exports.withinDaysRule=dateRelativeRules.withinDaysRule;exports.withinFutureDaysRule=dateRelativeRules.withinFutureDaysRule;exports.withinPastDaysRule=dateRelativeRules.withinPastDaysRule;exports.betweenAgeRule=dateSpecialRules.betweenAgeRule;exports.birthdayRule=dateSpecialRules.birthdayRule;exports.leapYearRule=dateSpecialRules.leapYearRule;exports.maxHeightRule=dimensions.maxHeightRule;exports.maxWidthRule=dimensions.maxWidthRule;exports.minHeightRule=dimensions.minHeightRule;exports.minWidthRule=dimensions.minWidthRule;exports.maxFileSizeRule=fileSize.maxFileSizeRule;exports.minFileSizeRule=fileSize.minFileSizeRule;exports.colorRule=colorRules.colorRule;exports.darkColorRule=colorRules.darkColorRule;exports.hexColorRule=colorRules.hexColorRule;exports.hslColorRule=colorRules.hslColorRule;exports.lightColorRule=colorRules.lightColorRule;exports.rgbColorRule=colorRules.rgbColorRule;exports.rgbaColorRule=colorRules.rgbaColorRule;exports.requiredIfAllEmptyRule=requiredIfRules.requiredIfAllEmptyRule;exports.requiredIfAllNotEmptyRule=requiredIfRules.requiredIfAllNotEmptyRule;exports.requiredIfAnyEmptyRule=requiredIfRules.requiredIfAnyEmptyRule;exports.requiredIfAnyNotEmptyRule=requiredIfRules.requiredIfAnyNotEmptyRule;exports.requiredIfEmptyRule=requiredIfRules.requiredIfEmptyRule;exports.requiredIfInRule=requiredIfRules.requiredIfInRule;exports.requiredIfNotEmptyRule=requiredIfRules.requiredIfNotEmptyRule;exports.requiredIfNotInRule=requiredIfRules.requiredIfNotInRule;exports.requiredIfRule=requiredIfRules.requiredIfRule;exports.requiredUnlessRule=requiredUnlessRules.requiredUnlessRule;exports.requiredWhenRule=requiredWhenRule.requiredWhenRule;exports.requiredWithAllRule=requiredWithRules.requiredWithAllRule;exports.requiredWithAnyRule=requiredWithRules.requiredWithAnyRule;exports.requiredWithRule=requiredWithRules.requiredWithRule;exports.requiredWithoutAllRule=requiredWithoutRules.requiredWithoutAllRule;exports.requiredWithoutAnyRule=requiredWithoutRules.requiredWithoutAnyRule;exports.requiredWithoutRule=requiredWithoutRules.requiredWithoutRule;exports.presentIfEmptyRule=presentIfRules.presentIfEmptyRule;exports.presentIfInRule=presentIfRules.presentIfInRule;exports.presentIfNotEmptyRule=presentIfRules.presentIfNotEmptyRule;exports.presentIfNotInRule=presentIfRules.presentIfNotInRule;exports.presentIfRule=presentIfRules.presentIfRule;exports.presentUnlessRule=presentUnlessRules.presentUnlessRule;exports.presentWithAllRule=presentWithRules.presentWithAllRule;exports.presentWithAnyRule=presentWithRules.presentWithAnyRule;exports.presentWithRule=presentWithRules.presentWithRule;exports.presentWithoutAllRule=presentWithoutRules.presentWithoutAllRule;exports.presentWithoutAnyRule=presentWithoutRules.presentWithoutAnyRule;exports.presentWithoutRule=presentWithoutRules.presentWithoutRule;exports.forbiddenIfEmptyRule=forbiddenIfRules.forbiddenIfEmptyRule;exports.forbiddenIfInRule=forbiddenIfRules.forbiddenIfInRule;exports.forbiddenIfNotEmptyRule=forbiddenIfRules.forbiddenIfNotEmptyRule;exports.forbiddenIfNotInRule=forbiddenIfRules.forbiddenIfNotInRule;exports.forbiddenIfNotRule=forbiddenIfRules.forbiddenIfNotRule;exports.forbiddenIfRule=forbiddenIfRules.forbiddenIfRule;exports.allowedValuesRule=_enum.allowedValuesRule;exports.enumRule=_enum.enumRule;exports.inRule=_enum.inRule;exports.notAllowedValuesRule=_enum.notAllowedValuesRule;exports.equalsFieldRule=equalsFieldRules.equalsFieldRule;exports.notEqualsFieldRule=equalsFieldRules.notEqualsFieldRule;exports.arrayRule=typeRules.arrayRule;exports.booleanRule=typeRules.booleanRule;exports.floatRule=typeRules.floatRule;exports.intRule=typeRules.intRule;exports.numberRule=typeRules.numberRule;exports.objectRule=typeRules.objectRule;exports.plainObjectRule=typeRules.plainObjectRule;exports.scalarRule=typeRules.scalarRule;exports.stringRule=typeRules.stringRule;exports.unknownKeyRule=unknownKey.unknownKeyRule;exports.validate=validate.validate;exports.v=validators.v;exports.getInstalledPlugins=pluginSystem.getInstalledPlugins;exports.hasPlugin=pluginSystem.hasPlugin;exports.registerPlugin=pluginSystem.registerPlugin;exports.unregisterPlugin=pluginSystem.unregisterPlugin;exports.configureSeal=config.configureSeal;exports.getSealConfig=config.getSealConfig;exports.resetSealConfig=config.resetSealConfig;exports.mapToStandardResult=mapResult.mapToStandardResult;exports.applyNullable=jsonSchema.applyNullable;exports.getRuleOptions=jsonSchema.getRuleOptions;exports.wrapNullableStrict=jsonSchema.wrapNullableStrict;//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/standard-schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { StandardJSONSchemaV1 } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Supported JSON Schema generation targets.
|
|
4
|
+
*/
|
|
5
|
+
export type JsonSchemaTarget = StandardJSONSchemaV1.Target;
|
|
6
|
+
/**
|
|
7
|
+
* The result shape for a generated JSON Schema.
|
|
8
|
+
*/
|
|
9
|
+
export type JsonSchemaResult = Record<string, unknown>;
|
|
10
|
+
/**
|
|
11
|
+
* Apply nullable to a JSON Schema object based on the target dialect.
|
|
12
|
+
*
|
|
13
|
+
* - draft-2020-12 : `type` becomes an array: `["string", "null"]`
|
|
14
|
+
* - openai-strict : same as draft-2020-12 (type array form)
|
|
15
|
+
* - draft-07 : wraps in `oneOf: [{ ...schema }, { type: "null" }]`
|
|
16
|
+
* - openapi-3.0 : adds `nullable: true` alongside the existing type
|
|
17
|
+
*
|
|
18
|
+
* Mutates the schema in-place.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const schema = { type: "string" };
|
|
23
|
+
* applyNullable(schema, "draft-2020-12");
|
|
24
|
+
* // → { type: ["string", "null"] }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function applyNullable(schema: JsonSchemaResult, target: JsonSchemaTarget): void;
|
|
28
|
+
/**
|
|
29
|
+
* Wrap a field schema as nullable for OpenAI strict mode.
|
|
30
|
+
*
|
|
31
|
+
* OpenAI strict requires optional fields to be expressed as a nullable type
|
|
32
|
+
* rather than being omitted from the `required` array. This helper wraps a
|
|
33
|
+
* given schema into its nullable equivalent using the type-array form.
|
|
34
|
+
*
|
|
35
|
+
* Unlike `applyNullable()` (which mutates in-place), this returns a new
|
|
36
|
+
* schema object to avoid side effects when wrapping child schemas.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* wrapNullableStrict({ type: "string", minLength: 3 })
|
|
41
|
+
* // → { type: ["string", "null"], minLength: 3 }
|
|
42
|
+
*
|
|
43
|
+
* wrapNullableStrict({ type: "object", properties: {...} })
|
|
44
|
+
* // → { type: ["object", "null"], properties: {...} }
|
|
45
|
+
*
|
|
46
|
+
* wrapNullableStrict({ oneOf: [...] })
|
|
47
|
+
* // → { oneOf: [..., { type: "null" }] }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function wrapNullableStrict(schema: JsonSchemaResult): JsonSchemaResult;
|
|
51
|
+
/**
|
|
52
|
+
* Find the first rule matching the given name in a rules array,
|
|
53
|
+
* and return its options bag.
|
|
54
|
+
*/
|
|
55
|
+
export declare function getRuleOptions(rules: Array<{
|
|
56
|
+
name: string;
|
|
57
|
+
context: {
|
|
58
|
+
options: Record<string, unknown>;
|
|
59
|
+
};
|
|
60
|
+
}>, ruleName: string): Record<string, unknown> | undefined;
|
|
61
|
+
//# sourceMappingURL=json-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/standard-schema/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAoBtF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAqB7E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC,EAC7E,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAGrC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use strict';/**
|
|
2
|
+
* Apply nullable to a JSON Schema object based on the target dialect.
|
|
3
|
+
*
|
|
4
|
+
* - draft-2020-12 : `type` becomes an array: `["string", "null"]`
|
|
5
|
+
* - openai-strict : same as draft-2020-12 (type array form)
|
|
6
|
+
* - draft-07 : wraps in `oneOf: [{ ...schema }, { type: "null" }]`
|
|
7
|
+
* - openapi-3.0 : adds `nullable: true` alongside the existing type
|
|
8
|
+
*
|
|
9
|
+
* Mutates the schema in-place.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const schema = { type: "string" };
|
|
14
|
+
* applyNullable(schema, "draft-2020-12");
|
|
15
|
+
* // → { type: ["string", "null"] }
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
function applyNullable(schema, target) {
|
|
19
|
+
if (target === "openapi-3.0") {
|
|
20
|
+
schema.nullable = true;
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (target === "draft-2020-12" || target === "openai-strict") {
|
|
24
|
+
const baseType = schema.type;
|
|
25
|
+
schema.type = Array.isArray(baseType)
|
|
26
|
+
? [...baseType, "null"]
|
|
27
|
+
: [baseType, "null"];
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// draft-07: oneOf wrapping
|
|
31
|
+
const copy = { ...schema };
|
|
32
|
+
for (const key of Object.keys(schema)) {
|
|
33
|
+
delete schema[key];
|
|
34
|
+
}
|
|
35
|
+
schema.oneOf = [copy, { type: "null" }];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Wrap a field schema as nullable for OpenAI strict mode.
|
|
39
|
+
*
|
|
40
|
+
* OpenAI strict requires optional fields to be expressed as a nullable type
|
|
41
|
+
* rather than being omitted from the `required` array. This helper wraps a
|
|
42
|
+
* given schema into its nullable equivalent using the type-array form.
|
|
43
|
+
*
|
|
44
|
+
* Unlike `applyNullable()` (which mutates in-place), this returns a new
|
|
45
|
+
* schema object to avoid side effects when wrapping child schemas.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* wrapNullableStrict({ type: "string", minLength: 3 })
|
|
50
|
+
* // → { type: ["string", "null"], minLength: 3 }
|
|
51
|
+
*
|
|
52
|
+
* wrapNullableStrict({ type: "object", properties: {...} })
|
|
53
|
+
* // → { type: ["object", "null"], properties: {...} }
|
|
54
|
+
*
|
|
55
|
+
* wrapNullableStrict({ oneOf: [...] })
|
|
56
|
+
* // → { oneOf: [..., { type: "null" }] }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
function wrapNullableStrict(schema) {
|
|
60
|
+
// If the schema uses oneOf/anyOf (e.g. union), append null to the list
|
|
61
|
+
if (schema.oneOf) {
|
|
62
|
+
return { ...schema, oneOf: [...schema.oneOf, { type: "null" }] };
|
|
63
|
+
}
|
|
64
|
+
if (schema.anyOf) {
|
|
65
|
+
return { ...schema, anyOf: [...schema.anyOf, { type: "null" }] };
|
|
66
|
+
}
|
|
67
|
+
// If there's no type at all (permissive `{}`), stay permissive
|
|
68
|
+
if (schema.type === undefined) {
|
|
69
|
+
return schema;
|
|
70
|
+
}
|
|
71
|
+
// Standard case: wrap type into array with null
|
|
72
|
+
const baseType = schema.type;
|
|
73
|
+
return {
|
|
74
|
+
...schema,
|
|
75
|
+
type: Array.isArray(baseType) ? [...baseType, "null"] : [baseType, "null"],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Find the first rule matching the given name in a rules array,
|
|
80
|
+
* and return its options bag.
|
|
81
|
+
*/
|
|
82
|
+
function getRuleOptions(rules, ruleName) {
|
|
83
|
+
const rule = rules.find(r => r.name === ruleName);
|
|
84
|
+
return rule?.context?.options;
|
|
85
|
+
}exports.applyNullable=applyNullable;exports.getRuleOptions=getRuleOptions;exports.wrapNullableStrict=wrapNullableStrict;//# sourceMappingURL=json-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema.js","sources":["../../src/standard-schema/json-schema.ts"],"sourcesContent":[null],"names":[],"mappings":"aAYA;;;;;;;;;;;;;;;;AAgBG;AACa,SAAA,aAAa,CAAC,MAAwB,EAAE,MAAwB,EAAA;IAC9E,IAAI,MAAM,KAAK,aAAa,EAAE;AAC5B,QAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,OAAO;AACR,KAAA;AAED,IAAA,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,eAAe,EAAE;AAC5D,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAqC,CAAC;QAC9D,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;AACnC,cAAE,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC;AACvB,cAAE,CAAC,QAAkB,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO;AACR,KAAA;;AAGD,IAAA,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACrC,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,KAAA;AACD,IAAA,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;AAqBG;AACG,SAAU,kBAAkB,CAAC,MAAwB,EAAA;;IAEzD,IAAI,MAAM,CAAC,KAAK,EAAE;AAChB,QAAA,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,GAAI,MAAM,CAAC,KAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACjF,KAAA;IAED,IAAI,MAAM,CAAC,KAAK,EAAE;AAChB,QAAA,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,GAAI,MAAM,CAAC,KAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACjF,KAAA;;AAGD,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7B,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;;AAGD,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAyB,CAAC;IAClD,OAAO;AACL,QAAA,GAAG,MAAM;QACT,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED;;;AAGG;AACa,SAAA,cAAc,CAC5B,KAA6E,EAC7E,QAAgB,EAAA;AAEhB,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AAClD,IAAA,OAAO,IAAI,EAAE,OAAO,EAAE,OAA8C,CAAC;AACvE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ValidationResult } from "../types";
|
|
2
|
+
import type { StandardSchemaV1 } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Maps a Seal ValidationResult to a Standard Schema result shape.
|
|
5
|
+
*
|
|
6
|
+
* Seal error paths are dot-notation strings (e.g. "address.city").
|
|
7
|
+
* Standard Schema expects an array of path segments: [{ key: "address" }, { key: "city" }].
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const result = await validator.validate(value, context);
|
|
12
|
+
* return mapToStandardResult(result);
|
|
13
|
+
* // Success → { value: <data> }
|
|
14
|
+
* // Failure → { issues: [{ message: "...", path: [{ key: "..." }] }] }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function mapToStandardResult(result: ValidationResult): StandardSchemaV1.Result<unknown>;
|
|
18
|
+
//# sourceMappingURL=map-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-result.d.ts","sourceRoot":"","sources":["../../src/standard-schema/map-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,GACvB,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAalC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';/**
|
|
2
|
+
* Maps a Seal ValidationResult to a Standard Schema result shape.
|
|
3
|
+
*
|
|
4
|
+
* Seal error paths are dot-notation strings (e.g. "address.city").
|
|
5
|
+
* Standard Schema expects an array of path segments: [{ key: "address" }, { key: "city" }].
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const result = await validator.validate(value, context);
|
|
10
|
+
* return mapToStandardResult(result);
|
|
11
|
+
* // Success → { value: <data> }
|
|
12
|
+
* // Failure → { issues: [{ message: "...", path: [{ key: "..." }] }] }
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
function mapToStandardResult(result) {
|
|
16
|
+
if (result.isValid) {
|
|
17
|
+
return { value: result.data };
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
issues: result.errors.map(e => ({
|
|
21
|
+
message: e.error,
|
|
22
|
+
path: e.input
|
|
23
|
+
? e.input.split(".").map(key => ({ key }))
|
|
24
|
+
: undefined,
|
|
25
|
+
})),
|
|
26
|
+
};
|
|
27
|
+
}exports.mapToStandardResult=mapToStandardResult;//# sourceMappingURL=map-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-result.js","sources":["../../src/standard-schema/map-result.ts"],"sourcesContent":[null],"names":[],"mappings":"aAGA;;;;;;;;;;;;;AAaG;AACG,SAAU,mBAAmB,CACjC,MAAwB,EAAA;IAExB,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,QAAA,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC/B,KAAA;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK;YAC9B,OAAO,EAAE,CAAC,CAAC,KAAK;YAChB,IAAI,EAAE,CAAC,CAAC,KAAK;kBACT,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1C,kBAAE,SAAS;AACd,SAAA,CAAC,CAAC;KACJ,CAAC;AACJ"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard Schema Spec Types
|
|
3
|
+
*
|
|
4
|
+
* Copied from @standard-schema/spec to avoid a runtime dependency.
|
|
5
|
+
* Source: https://standardschema.dev
|
|
6
|
+
*
|
|
7
|
+
* Implements:
|
|
8
|
+
* - StandardSchemaV1 — for validation interop (OpenAI, LangGraph, TanStack Form, Conform, etc.)
|
|
9
|
+
* - StandardJSONSchemaV1 — for JSON Schema generation (OpenAPI, draft-07, draft-2020-12)
|
|
10
|
+
*/
|
|
11
|
+
/** The Standard Schema interface. */
|
|
12
|
+
export interface StandardSchemaV1<Input = unknown, Output = Input> {
|
|
13
|
+
readonly "~standard": StandardSchemaV1.Props<Input, Output>;
|
|
14
|
+
}
|
|
15
|
+
export declare namespace StandardSchemaV1 {
|
|
16
|
+
/** The Standard Schema properties interface. */
|
|
17
|
+
interface Props<Input = unknown, Output = Input> {
|
|
18
|
+
/** The version number of the standard. */
|
|
19
|
+
readonly version: 1;
|
|
20
|
+
/** The vendor name of the schema library. */
|
|
21
|
+
readonly vendor: string;
|
|
22
|
+
/** Inferred types associated with the schema. */
|
|
23
|
+
readonly types?: Types<Input, Output> | undefined;
|
|
24
|
+
/** Validates unknown input values. */
|
|
25
|
+
readonly validate: (value: unknown, options?: Options | undefined) => Result<Output> | Promise<Result<Output>>;
|
|
26
|
+
}
|
|
27
|
+
/** Success result. */
|
|
28
|
+
interface SuccessResult<Output> {
|
|
29
|
+
readonly value: Output;
|
|
30
|
+
readonly issues?: undefined;
|
|
31
|
+
}
|
|
32
|
+
/** Options passed to validate. */
|
|
33
|
+
interface Options {
|
|
34
|
+
readonly libraryOptions?: Record<string, unknown> | undefined;
|
|
35
|
+
}
|
|
36
|
+
/** Failure result. */
|
|
37
|
+
interface FailureResult {
|
|
38
|
+
readonly issues: ReadonlyArray<Issue>;
|
|
39
|
+
}
|
|
40
|
+
type Result<Output> = SuccessResult<Output> | FailureResult;
|
|
41
|
+
/** Issue in a failed result. */
|
|
42
|
+
interface Issue {
|
|
43
|
+
readonly message: string;
|
|
44
|
+
readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined;
|
|
45
|
+
}
|
|
46
|
+
/** A single segment in an issue path. */
|
|
47
|
+
interface PathSegment {
|
|
48
|
+
readonly key: PropertyKey;
|
|
49
|
+
}
|
|
50
|
+
/** The Standard types interface. */
|
|
51
|
+
interface Types<Input = unknown, Output = Input> {
|
|
52
|
+
readonly input: Input;
|
|
53
|
+
readonly output: Output;
|
|
54
|
+
}
|
|
55
|
+
/** Infer the input type of a Standard Schema. */
|
|
56
|
+
type InferInput<S extends StandardSchemaV1> = NonNullable<S["~standard"]["types"]>["input"];
|
|
57
|
+
/** Infer the output type of a Standard Schema. */
|
|
58
|
+
type InferOutput<S extends StandardSchemaV1> = NonNullable<S["~standard"]["types"]>["output"];
|
|
59
|
+
}
|
|
60
|
+
/** The Standard JSON Schema interface. */
|
|
61
|
+
export interface StandardJSONSchemaV1<Input = unknown, Output = Input> {
|
|
62
|
+
readonly "~standard": StandardJSONSchemaV1.Props<Input, Output>;
|
|
63
|
+
}
|
|
64
|
+
export declare namespace StandardJSONSchemaV1 {
|
|
65
|
+
interface Props<Input = unknown, Output = Input> extends Omit<StandardSchemaV1.Props<Input, Output>, never> {
|
|
66
|
+
readonly jsonSchema: Converter;
|
|
67
|
+
}
|
|
68
|
+
/** Methods for generating JSON Schema. */
|
|
69
|
+
interface Converter {
|
|
70
|
+
/** Converts the input type to JSON Schema. */
|
|
71
|
+
readonly input: (options: Options) => Record<string, unknown>;
|
|
72
|
+
/** Converts the output type to JSON Schema. */
|
|
73
|
+
readonly output: (options: Options) => Record<string, unknown>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Supported JSON Schema targets.
|
|
77
|
+
* Libraries should throw if a target is not supported.
|
|
78
|
+
*
|
|
79
|
+
* - `draft-2020-12` — JSON Schema 2020-12 (default, recommended)
|
|
80
|
+
* - `draft-07` — JSON Schema draft-07 (Swagger 2.0, older tooling)
|
|
81
|
+
* - `openapi-3.0` — OpenAPI 3.0 extensions (nullable: true)
|
|
82
|
+
* - `openai-strict` — OpenAI Structured Outputs strict mode.
|
|
83
|
+
* All fields listed in required; optional fields
|
|
84
|
+
* expressed as `{ type: ["T", "null"] }` instead
|
|
85
|
+
* of being omitted from required.
|
|
86
|
+
*/
|
|
87
|
+
type Target = "draft-2020-12" | "draft-07" | "openapi-3.0" | "openai-strict" | ({} & string);
|
|
88
|
+
interface Options {
|
|
89
|
+
readonly target: Target;
|
|
90
|
+
readonly libraryOptions?: Record<string, unknown> | undefined;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/standard-schema/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,qCAAqC;AACrC,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IAC/D,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7D;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,gDAAgD;IAChD,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,0CAA0C;QAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,6CAA6C;QAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,iDAAiD;QACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QAClD,sCAAsC;QACtC,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,KAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/C;IAED,sBAAsB;IACtB,UAAiB,aAAa,CAAC,MAAM;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;KAC7B;IAED,kCAAkC;IAClC,UAAiB,OAAO;QACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KAC/D;IAED,sBAAsB;IACtB,UAAiB,aAAa;QAC5B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACvC;IAED,KAAY,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;IAEnE,gCAAgC;IAChC,UAAiB,KAAK;QACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;KACtE;IAED,yCAAyC;IACzC,UAAiB,WAAW;QAC1B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;KAC3B;IAED,oCAAoC;IACpC,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB;IAED,iDAAiD;IACjD,KAAY,UAAU,CAAC,CAAC,SAAS,gBAAgB,IAAI,WAAW,CAC9D,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CACxB,CAAC,OAAO,CAAC,CAAC;IAEX,kDAAkD;IAClD,KAAY,WAAW,CAAC,CAAC,SAAS,gBAAgB,IAAI,WAAW,CAC/D,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CACxB,CAAC,QAAQ,CAAC,CAAC;CACb;AAMD,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IACnE,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CACjE;AAED,MAAM,CAAC,OAAO,WAAW,oBAAoB,CAAC;IAC5C,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK,CACpD,SAAQ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QAC1D,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;KAChC;IAED,0CAA0C;IAC1C,UAAiB,SAAS;QACxB,8CAA8C;QAC9C,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9D,+CAA+C;QAC/C,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChE;IAED;;;;;;;;;;;OAWG;IACH,KAAY,MAAM,GACd,eAAe,GACf,UAAU,GACV,aAAa,GACb,eAAe,GACf,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IAElB,UAAiB,OAAO;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KAC/D;CACF"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { BaseValidator } from "./base-validator";
|
|
2
|
+
import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
|
|
2
3
|
/**
|
|
3
4
|
* Any validator - accepts any value
|
|
4
5
|
*/
|
|
5
6
|
export declare class AnyValidator extends BaseValidator {
|
|
7
|
+
/**
|
|
8
|
+
* @inheritdoc
|
|
9
|
+
*
|
|
10
|
+
* Any validator accepts anything. In JSON Schema, an empty object `{}`
|
|
11
|
+
* is the permissive schema that accepts any valid JSON value.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* v.any().toJsonSchema("draft-2020-12")
|
|
16
|
+
* // → {}
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
|
|
6
20
|
}
|
|
7
21
|
//# sourceMappingURL=any-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any-validator.d.ts","sourceRoot":"","sources":["../../src/validators/any-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"any-validator.d.ts","sourceRoot":"","sources":["../../src/validators/any-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC7C;;;;;;;;;;;OAWG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CAK3F"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
|
-
'use strict';var baseValidator=require('./base-validator.js');/**
|
|
1
|
+
'use strict';var baseValidator=require('./base-validator.js'),jsonSchema=require('../standard-schema/json-schema.js');/**
|
|
2
2
|
* Any validator - accepts any value
|
|
3
3
|
*/
|
|
4
4
|
class AnyValidator extends baseValidator.BaseValidator {
|
|
5
|
+
/**
|
|
6
|
+
* @inheritdoc
|
|
7
|
+
*
|
|
8
|
+
* Any validator accepts anything. In JSON Schema, an empty object `{}`
|
|
9
|
+
* is the permissive schema that accepts any valid JSON value.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* v.any().toJsonSchema("draft-2020-12")
|
|
14
|
+
* // → {}
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
toJsonSchema(target = "draft-2020-12") {
|
|
18
|
+
const schema = {};
|
|
19
|
+
if (this.isNullable)
|
|
20
|
+
jsonSchema.applyNullable(schema, target);
|
|
21
|
+
return schema;
|
|
22
|
+
}
|
|
5
23
|
}exports.AnyValidator=AnyValidator;//# sourceMappingURL=any-validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any-validator.js","sources":["../../src/validators/any-validator.ts"],"sourcesContent":[null],"names":["BaseValidator"],"mappings":"
|
|
1
|
+
{"version":3,"file":"any-validator.js","sources":["../../src/validators/any-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","applyNullable"],"mappings":"sHAIA;;AAEG;AACG,MAAO,YAAa,SAAQA,2BAAa,CAAA;AAC7C;;;;;;;;;;;AAWG;IACa,YAAY,CAAC,SAA2B,eAAe,EAAA;QACrE,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU;AAAE,YAAAC,wBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnD,QAAA,OAAO,MAAM,CAAC;KACf;AACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SchemaContext, ValidationResult } from "../types";
|
|
2
2
|
import { BaseValidator } from "./base-validator";
|
|
3
|
+
import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
|
|
3
4
|
/**
|
|
4
5
|
* Array validator class
|
|
5
6
|
*/
|
|
@@ -55,5 +56,17 @@ export declare class ArrayValidator extends BaseValidator {
|
|
|
55
56
|
mutate(data: any, context: SchemaContext): any;
|
|
56
57
|
/** Validate array */
|
|
57
58
|
validate(data: any, context: SchemaContext): Promise<ValidationResult>;
|
|
59
|
+
/**
|
|
60
|
+
* @inheritdoc
|
|
61
|
+
*
|
|
62
|
+
* Recursively generates JSON Schema for the array items.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* v.array(v.string().min(1)).minLength(1).toJsonSchema("draft-2020-12")
|
|
67
|
+
* // → { type: "array", items: { type: "string", minLength: 1 }, minItems: 1 }
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
|
|
58
71
|
}
|
|
59
72
|
//# sourceMappingURL=array-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-validator.d.ts","sourceRoot":"","sources":["../../src/validators/array-validator.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa,EAC/B,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAQ7B,0BAA0B;IACnB,IAAI;IAIX,kCAAkC;IAC3B,OAAO;IAId,qCAAqC;IAC9B,UAAU;IAIjB,iBAAiB;IACV,IAAI,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,GAAG,CAAC,EAAE,MAAM;IAI3D,yDAAyD;IAClD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,sDAAsD;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,+CAA+C;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAInD;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO9D;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAIpE,oCAAoC;IAC7B,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM;IAInC,2BAA2B;IACpB,MAAM,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,sBAAsB;IACf,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAK/C,qBAAqB;IACR,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"array-validator.d.ts","sourceRoot":"","sources":["../../src/validators/array-validator.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;GAEG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa,EAC/B,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAQ7B,0BAA0B;IACnB,IAAI;IAIX,kCAAkC;IAC3B,OAAO;IAId,qCAAqC;IAC9B,UAAU;IAIjB,iBAAiB;IACV,IAAI,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,GAAG,CAAC,EAAE,MAAM;IAI3D,yDAAyD;IAClD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,sDAAsD;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,+CAA+C;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAInD;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO9D;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAIpE,oCAAoC;IAC7B,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM;IAInC,2BAA2B;IACpB,MAAM,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,sBAAsB;IACf,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAK/C,qBAAqB;IACR,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsCnF;;;;;;;;;;OAUG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CA4B3F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';require('@mongez/reinforcements');var pathHelpers=require('../helpers/path-helpers.js'),arrayMutators=require('../mutators/array-mutators.js');require('dayjs'),require('@mongez/supportive-is'),require('net');var lengthRules=require('../rules/length/length-rules.js'),arrayRules=require('../rules/array/array-rules.js'),typeRules=require('../rules/common/type-rules.js'),baseValidator=require('./base-validator.js');/**
|
|
1
|
+
'use strict';require('@mongez/reinforcements');var pathHelpers=require('../helpers/path-helpers.js'),arrayMutators=require('../mutators/array-mutators.js');require('dayjs'),require('@mongez/supportive-is'),require('net');var lengthRules=require('../rules/length/length-rules.js'),arrayRules=require('../rules/array/array-rules.js'),typeRules=require('../rules/common/type-rules.js'),baseValidator=require('./base-validator.js'),jsonSchema=require('../standard-schema/json-schema.js');/**
|
|
2
2
|
* Array validator class
|
|
3
3
|
*/
|
|
4
4
|
class ArrayValidator extends baseValidator.BaseValidator {
|
|
@@ -121,4 +121,42 @@ class ArrayValidator extends baseValidator.BaseValidator {
|
|
|
121
121
|
data: await this.startTransformationPipeline(mutatedData, context),
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* @inheritdoc
|
|
126
|
+
*
|
|
127
|
+
* Recursively generates JSON Schema for the array items.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* v.array(v.string().min(1)).minLength(1).toJsonSchema("draft-2020-12")
|
|
132
|
+
* // → { type: "array", items: { type: "string", minLength: 1 }, minItems: 1 }
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
toJsonSchema(target = "draft-2020-12") {
|
|
136
|
+
const schema = {
|
|
137
|
+
type: "array",
|
|
138
|
+
items: this.validator.toJsonSchema(target),
|
|
139
|
+
};
|
|
140
|
+
const minOpts = jsonSchema.getRuleOptions(this.rules, "minLength");
|
|
141
|
+
if (minOpts?.minLength !== undefined)
|
|
142
|
+
schema.minItems = minOpts.minLength;
|
|
143
|
+
const maxOpts = jsonSchema.getRuleOptions(this.rules, "maxLength");
|
|
144
|
+
if (maxOpts?.maxLength !== undefined)
|
|
145
|
+
schema.maxItems = maxOpts.maxLength;
|
|
146
|
+
const betweenOpts = jsonSchema.getRuleOptions(this.rules, "betweenLength");
|
|
147
|
+
if (betweenOpts) {
|
|
148
|
+
if (betweenOpts.minLength !== undefined)
|
|
149
|
+
schema.minItems = betweenOpts.minLength;
|
|
150
|
+
if (betweenOpts.maxLength !== undefined)
|
|
151
|
+
schema.maxItems = betweenOpts.maxLength;
|
|
152
|
+
}
|
|
153
|
+
const lengthOpts = jsonSchema.getRuleOptions(this.rules, "length");
|
|
154
|
+
if (lengthOpts?.length !== undefined) {
|
|
155
|
+
schema.minItems = lengthOpts.length;
|
|
156
|
+
schema.maxItems = lengthOpts.length;
|
|
157
|
+
}
|
|
158
|
+
if (this.isNullable)
|
|
159
|
+
jsonSchema.applyNullable(schema, target);
|
|
160
|
+
return schema;
|
|
161
|
+
}
|
|
124
162
|
}exports.ArrayValidator=ArrayValidator;//# sourceMappingURL=array-validator.js.map
|