@fgv/ts-utils 1.6.1 → 1.6.3
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/converters.d.ts +10 -1
- package/converters.d.ts.map +1 -1
- package/converters.js +19 -2
- package/package.json +1 -1
- package/recordJarHelpers.d.ts +4 -0
- package/recordJarHelpers.d.ts.map +1 -1
- package/recordJarHelpers.js +24 -5
- package/validation/array.d.ts +3 -1
- package/validation/array.d.ts.map +1 -1
- package/validation/array.js +4 -2
- package/validation/classes.d.ts +1 -0
- package/validation/classes.d.ts.map +1 -1
- package/validation/classes.js +4 -2
- package/validation/common.d.ts +7 -0
- package/validation/common.d.ts.map +1 -0
- package/validation/common.js +24 -0
- package/validation/index.d.ts +1 -0
- package/validation/index.d.ts.map +1 -1
- package/validation/index.js +2 -1
- package/validation/typeGuard.d.ts +43 -0
- package/validation/typeGuard.d.ts.map +1 -0
- package/validation/typeGuard.js +62 -0
- package/validation/validatorBase.d.ts +3 -0
- package/validation/validatorBase.d.ts.map +1 -1
- package/validation/validatorBase.js +1 -1
- package/validation/validators.d.ts +12 -0
- package/validation/validators.d.ts.map +1 -1
- package/validation/validators.js +16 -2
package/validation/validators.js
CHANGED
|
@@ -21,9 +21,10 @@
|
|
|
21
21
|
* SOFTWARE.
|
|
22
22
|
*/
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.arrayOf = exports.object = exports.boolean = exports.number = exports.string = void 0;
|
|
24
|
+
exports.isA = exports.arrayOf = exports.object = exports.boolean = exports.number = exports.string = void 0;
|
|
25
25
|
const array_1 = require("./array");
|
|
26
26
|
const object_1 = require("./object");
|
|
27
|
+
const typeGuard_1 = require("./typeGuard");
|
|
27
28
|
const boolean_1 = require("./boolean");
|
|
28
29
|
const number_1 = require("./number");
|
|
29
30
|
const string_1 = require("./string");
|
|
@@ -69,4 +70,17 @@ function arrayOf(validateElement, params) {
|
|
|
69
70
|
return new array_1.ArrayValidator({ validateElement, ...(params !== null && params !== void 0 ? params : {}) });
|
|
70
71
|
}
|
|
71
72
|
exports.arrayOf = arrayOf;
|
|
72
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Helper function to create a {@link Validation.Classes.TypeGuardValidator | TypeGuardValidator} which
|
|
75
|
+
* validates a value or object in place.
|
|
76
|
+
* @param description - a description of the thing to be validated for use in error messages
|
|
77
|
+
* @param guard - a {@link Validation.TypeGuardWithContext} which performs the validation.
|
|
78
|
+
* @returns A new {@link Validation.Classes.TypeGuardValidator | TypeGuardValidator } which validates
|
|
79
|
+
* the values using the supplied type guard.
|
|
80
|
+
* @public
|
|
81
|
+
*/
|
|
82
|
+
function isA(description, guard, params) {
|
|
83
|
+
return new typeGuard_1.TypeGuardValidator({ description, guard, ...(params !== null && params !== void 0 ? params : {}) });
|
|
84
|
+
}
|
|
85
|
+
exports.isA = isA;
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsbUNBQTBFO0FBQzFFLHFDQUE4RjtBQUM5RiwyQ0FBc0Y7QUFFdEYsdUNBQTZDO0FBQzdDLHFDQUEyQztBQUMzQyxxQ0FBMkM7QUFJM0M7OztHQUdHO0FBQ1UsUUFBQSxNQUFNLEdBQUcsSUFBSSx3QkFBZSxFQUFFLENBQUM7QUFFNUM7OztHQUdHO0FBQ1UsUUFBQSxNQUFNLEdBQUcsSUFBSSx3QkFBZSxFQUFFLENBQUM7QUFFNUM7OztHQUdHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsSUFBSSwwQkFBZ0IsRUFBRSxDQUFDO0FBRTlDOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFnQixNQUFNLENBQ2xCLE1BQThCLEVBQzlCLE1BQWdFO0lBRWhFLE9BQU8sSUFBSSx3QkFBZSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUxELHdCQUtDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLE9BQU8sQ0FDbkIsZUFBaUMsRUFDakMsTUFBd0U7SUFFeEUsT0FBTyxJQUFJLHNCQUFjLENBQUMsRUFBRSxlQUFlLEVBQUUsR0FBRyxDQUFDLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBTEQsMEJBS0M7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLEdBQUcsQ0FDZixXQUFtQixFQUNuQixLQUFrQyxFQUNsQyxNQUFrRjtJQUVsRixPQUFPLElBQUksOEJBQWtCLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQU5ELGtCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMSBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IEFycmF5VmFsaWRhdG9yLCBBcnJheVZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi9hcnJheSc7XG5pbXBvcnQgeyBGaWVsZFZhbGlkYXRvcnMsIE9iamVjdFZhbGlkYXRvciwgT2JqZWN0VmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL29iamVjdCc7XG5pbXBvcnQgeyBUeXBlR3VhcmRWYWxpZGF0b3IsIFR5cGVHdWFyZFZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi90eXBlR3VhcmQnO1xuXG5pbXBvcnQgeyBCb29sZWFuVmFsaWRhdG9yIH0gZnJvbSAnLi9ib29sZWFuJztcbmltcG9ydCB7IE51bWJlclZhbGlkYXRvciB9IGZyb20gJy4vbnVtYmVyJztcbmltcG9ydCB7IFN0cmluZ1ZhbGlkYXRvciB9IGZyb20gJy4vc3RyaW5nJztcbmltcG9ydCB7IFR5cGVHdWFyZFdpdGhDb250ZXh0IH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0b3InO1xuXG4vKipcbiAqIEEge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5TdHJpbmdWYWxpZGF0b3IgfCBTdHJpbmdWYWxpZGF0b3J9IHdoaWNoIHZhbGlkYXRlcyBhIHN0cmluZyBpbiBwbGFjZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmluZyA9IG5ldyBTdHJpbmdWYWxpZGF0b3IoKTtcblxuLyoqXG4gKiBBIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuTnVtYmVyVmFsaWRhdG9yIHwgTnVtYmVyVmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXMgYSBudW1iZXIgaW4gcGxhY2UuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBudW1iZXIgPSBuZXcgTnVtYmVyVmFsaWRhdG9yKCk7XG5cbi8qKlxuICogQSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLkJvb2xlYW5WYWxpZGF0b3IgfCBCb29sZWFuVmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXMgYSBib29sZWFuIGluIHBsYWNlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgYm9vbGVhbiA9IG5ldyBCb29sZWFuVmFsaWRhdG9yKCk7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuT2JqZWN0VmFsaWRhdG9yIHwgT2JqZWN0VmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXNcbiAqIGFuIG9iamVjdCBpbiBwbGFjZS5cbiAqIEBwYXJhbSBmaWVsZHMgLSBBIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuRmllbGRWYWxpZGF0b3JzIHwgZmllbGQgdmFsaWRhdG9yIGRlZmluaXRpb259XG4gKiBkZXNjcmliaW5nIHRoZSB2YWxpZGF0aW9ucyB0byBiZSBhcHBsaWVkLlxuICogQHBhcmFtIHBhcmFtcyAtIE9wdGlvbmFsIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuT2JqZWN0VmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXMgfCBwYXJhbWV0ZXJzfVxuICogdG8gcmVmaW5lIHRoZSBiZWhhdmlvciBvZiB0aGUgcmVzdWx0aW5nIHtAbGluayBWYWxpZGF0aW9uLlZhbGlkYXRvciB8IHZhbGlkYXRvcn0uXG4gKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgVmFsaWRhdGlvbi5WYWxpZGF0b3IgfCBWYWxpZGF0b3J9IHdoaWNoIHZhbGlkYXRlcyB0aGUgZGVzaXJlZFxuICogb2JqZWN0IGluIHBsYWNlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0PFQsIFRDID0gdW5rbm93bj4oXG4gICAgZmllbGRzOiBGaWVsZFZhbGlkYXRvcnM8VCwgVEM+LFxuICAgIHBhcmFtcz86IE9taXQ8T2JqZWN0VmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXM8VCwgVEM+LCAnZmllbGRzJz4sXG4pOiBPYmplY3RWYWxpZGF0b3I8VCwgVEM+IHtcbiAgICByZXR1cm4gbmV3IE9iamVjdFZhbGlkYXRvcih7IGZpZWxkcywgLi4uKHBhcmFtcyA/PyB7fSkgfSk7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuQXJyYXlWYWxpZGF0b3IgfCBBcnJheVZhbGlkYXRvcn0gd2hpY2hcbiAqIHZhbGlkYXRlcyBhbiBhcnJheSBpbiBwbGFjZS5cbiAqIEBwYXJhbSB2YWxpZGF0ZUVsZW1lbnQgLSBBIHtAbGluayBWYWxpZGF0aW9uLlZhbGlkYXRvciB8IHZhbGlkYXRvcn0gd2hpY2ggdmFsaWRhdGVzIGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuQXJyYXlWYWxpZGF0b3IgfCBBcnJheVZhbGlkYXRvciB9IHdoaWNoIHZhbGlkYXRlcyB0aGUgZGVzaXJlZFxuICogYXJyYXkgaW4gcGxhY2UuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheU9mPFQsIFRDPihcbiAgICB2YWxpZGF0ZUVsZW1lbnQ6IFZhbGlkYXRvcjxULCBUQz4sXG4gICAgcGFyYW1zPzogT21pdDxBcnJheVZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFQsIFRDPiwgJ3ZhbGlkYXRlRWxlbWVudCc+XG4pOiBBcnJheVZhbGlkYXRvcjxULCBUQz4ge1xuICAgIHJldHVybiBuZXcgQXJyYXlWYWxpZGF0b3IoeyB2YWxpZGF0ZUVsZW1lbnQsIC4uLihwYXJhbXMgPz8ge30pIH0pO1xufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgYSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLlR5cGVHdWFyZFZhbGlkYXRvciB8IFR5cGVHdWFyZFZhbGlkYXRvcn0gd2hpY2hcbiAqIHZhbGlkYXRlcyBhIHZhbHVlIG9yIG9iamVjdCBpbiBwbGFjZS5cbiAqIEBwYXJhbSBkZXNjcmlwdGlvbiAtIGEgZGVzY3JpcHRpb24gb2YgdGhlIHRoaW5nIHRvIGJlIHZhbGlkYXRlZCBmb3IgdXNlIGluIGVycm9yIG1lc3NhZ2VzXG4gKiBAcGFyYW0gZ3VhcmQgLSBhIHtAbGluayBWYWxpZGF0aW9uLlR5cGVHdWFyZFdpdGhDb250ZXh0fSB3aGljaCBwZXJmb3JtcyB0aGUgdmFsaWRhdGlvbi5cbiAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuVHlwZUd1YXJkVmFsaWRhdG9yIHwgVHlwZUd1YXJkVmFsaWRhdG9yIH0gd2hpY2ggdmFsaWRhdGVzXG4gKiB0aGUgdmFsdWVzIHVzaW5nIHRoZSBzdXBwbGllZCB0eXBlIGd1YXJkLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBPFQsIFRDPihcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGd1YXJkOiBUeXBlR3VhcmRXaXRoQ29udGV4dDxULCBUQz4sXG4gICAgcGFyYW1zPzogT21pdDxUeXBlR3VhcmRWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtczxULCBUQz4sICdkZXNjcmlwdGlvbicgfCAnZ3VhcmQnPlxuKTogVHlwZUd1YXJkVmFsaWRhdG9yPFQsIFRDPiB7XG4gICAgcmV0dXJuIG5ldyBUeXBlR3VhcmRWYWxpZGF0b3IoeyBkZXNjcmlwdGlvbiwgZ3VhcmQsIC4uLihwYXJhbXMgPz8ge30pIH0pO1xufVxuIl19
|