@fgv/ts-utils 1.9.1 → 1.9.2
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fgv/ts-utils",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.2",
|
|
4
4
|
"description": "Assorted Typescript Utilities",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"jest": "^29.3.1",
|
|
52
52
|
"jest-extended": "^3.2.1",
|
|
53
53
|
"jest-matcher-utils": "^29.3.1",
|
|
54
|
-
"rimraf": "^
|
|
54
|
+
"rimraf": "^4.1.1",
|
|
55
55
|
"ts-jest": "^29.0.3",
|
|
56
56
|
"ts-node": "^10.2.1",
|
|
57
57
|
"typescript": "^4.4.3"
|
|
@@ -101,7 +101,7 @@ class GenericValidator {
|
|
|
101
101
|
if (typeof constraintResult === 'boolean') {
|
|
102
102
|
return constraintResult
|
|
103
103
|
? true
|
|
104
|
-
: (0, result_1.fail)(`
|
|
104
|
+
: (0, result_1.fail)(`Invalid value "${JSON.stringify(from)}": does not meet constraint.`);
|
|
105
105
|
}
|
|
106
106
|
return constraintResult;
|
|
107
107
|
}
|
|
@@ -135,4 +135,4 @@ class GenericValidator {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
exports.GenericValidator = GenericValidator;
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY1ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL2dlbmVyaWNWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBR0gscUNBQTREO0FBQzVELHNDQUEyRDtBQXNCM0Q7OztHQUdHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFlekI7Ozs7T0FJRztJQUNILFlBQW1CLE1BQXlEOztRQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxPQUFPLG1DQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksd0JBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRLENBQUMsSUFBYSxFQUFFLE9BQVk7UUFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksT0FBTyxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQzdCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFBLGdCQUFPLEVBQUMsSUFB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SSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUMzRCxDQUFDO0NBQ0o7QUFoSUQsNENBZ0lDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMSBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IENvbnN0cmFpbnQsIFZhbGlkYXRvciwgVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gJy4vdmFsaWRhdG9yJztcbmltcG9ydCB7IENvbnN0cmFpbnRUcmFpdCwgVmFsaWRhdG9yVHJhaXRzIH0gZnJvbSAnLi90cmFpdHMnO1xuaW1wb3J0IHsgRmFpbHVyZSwgUmVzdWx0LCBmYWlsLCBzdWNjZWVkIH0gZnJvbSAnLi4vcmVzdWx0JztcblxuaW1wb3J0IHsgQnJhbmQgfSBmcm9tICcuLi9icmFuZCc7XG5cbi8qKlxuICogVHlwZSBmb3IgYSB2YWxpZGF0aW9uIGZ1bmN0aW9uLCB3aGljaCB2YWxpZGF0ZXMgdGhhdCBhIHN1cHBsaWVkIGB1bmtub3duYFxuICogdmFsdWUgaXMgYSB2YWxpZCB2YWx1ZSBvZiB0eXBlIGA8VD5gLCBwb3NzaWJseSBhcyBpbmZsdWVuY2VkIGJ5XG4gKiBhbiBvcHRpb25hbGx5LXN1cHBsaWVkIHZhbGlkYXRpb24gY29udGV4dCBvZiB0eXBlIGA8VEM+YC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRnVuYzxULCBUQz4gPSAoZnJvbTogdW5rbm93biwgY29udGV4dD86IFRDKSA9PiBib29sZWFuIHwgRmFpbHVyZTxUPjtcblxuLyoqXG4gKiBPcHRpb25zIHVzZWQgdG8gaW5pdGlhbGl6ZSBhIHtAbGluayBWYWxpZGF0aW9uLkJhc2UuR2VuZXJpY1ZhbGlkYXRvciB8IEdlbmVyaWNWYWxpZGF0b3J9LlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyaWNWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtczxULCBUQz4ge1xuICAgIG9wdGlvbnM/OiBWYWxpZGF0b3JPcHRpb25zPFRDPixcbiAgICB0cmFpdHM/OiBQYXJ0aWFsPFZhbGlkYXRvclRyYWl0cz4sXG4gICAgdmFsaWRhdG9yPzogVmFsaWRhdG9yRnVuYzxULCBUQz5cbn1cblxuLyoqXG4gKiBHZW5lcmljIGJhc2UgaW1wbGVtZW50YXRpb24gZm9yIGFuIGluLXBsYWNlIHtAbGluayBWYWxpZGF0aW9uLlZhbGlkYXRvciB8IFZhbGlkYXRvcn0uXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW5lcmljVmFsaWRhdG9yPFQsIFRDID0gdW5kZWZpbmVkPiBpbXBsZW1lbnRzIFZhbGlkYXRvcjxULCBUQz4ge1xuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBWYWxpZGF0aW9uLlZhbGlkYXRvci50cmFpdHN9XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHRyYWl0czogVmFsaWRhdG9yVHJhaXRzO1xuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF92YWxpZGF0b3I6IFZhbGlkYXRvckZ1bmM8VCwgVEM+O1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfb3B0aW9uczogVmFsaWRhdG9yT3B0aW9uczxUQz47XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IHtAbGluayBWYWxpZGF0aW9uLkJhc2UuR2VuZXJpY1ZhbGlkYXRvciB8IEdlbmVyaWNWYWxpZGF0b3I8VD59LlxuICAgICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFZhbGlkYXRpb24uQmFzZS5HZW5lcmljVmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXMgfCBjb25zdHJ1Y3RvciBwYXJhbXN9XG4gICAgICogdXNlZCB0byBjb25maWd1cmUgdmFsaWRhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBQYXJ0aWFsPEdlbmVyaWNWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtczxULCBUQz4+KSB7XG4gICAgICAgIGlmICghcGFyYW1zLnZhbGlkYXRvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB2YWxpZGF0b3IgZnVuY3Rpb24gc3VwcGxpZWQnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl92YWxpZGF0b3IgPSBwYXJhbXMudmFsaWRhdG9yO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gcGFyYW1zLm9wdGlvbnMgPz8ge307XG4gICAgICAgIHRoaXMudHJhaXRzID0gbmV3IFZhbGlkYXRvclRyYWl0cyhwYXJhbXMudHJhaXRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgVmFsaWRhdGlvbi5WYWxpZGF0b3IuaXNPcHRpb25hbH1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzT3B0aW9uYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYWl0cy5pc09wdGlvbmFsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBWYWxpZGF0aW9uLlZhbGlkYXRvci5icmFuZH1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGJyYW5kKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYWl0cy5icmFuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgVmFsaWRhdGlvbi5WYWxpZGF0b3IudmFsaWRhdGV9XG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlKGZyb206IHVua25vd24sIGNvbnRleHQ/OiBUQyk6IFJlc3VsdDxUPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3ZhbGlkYXRvcihmcm9tLCB0aGlzLl9jb250ZXh0KGNvbnRleHQpKTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCA/IHN1Y2NlZWQoZnJvbSBhcyBUKSA6IGZhaWw8VD4oJ0ludmFsaWQgdmFsdWUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBWYWxpZGF0aW9uLlZhbGlkYXRvci52YWxpZGF0ZU9wdGlvbmFsfVxuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0ZU9wdGlvbmFsKGZyb206IHVua25vd24sIGNvbnRleHQ/OiBUQyk6IFJlc3VsdDxUIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiAoZnJvbSA9PT0gdW5kZWZpbmVkKSA/IHN1Y2NlZWQodW5kZWZpbmVkKSA6IHRoaXMudmFsaWRhdGUoZnJvbSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIFZhbGlkYXRpb24uVmFsaWRhdG9yLmd1YXJkfVxuICAgICAqL1xuICAgIHB1YmxpYyBndWFyZChmcm9tOiB1bmtub3duLCBjb250ZXh0PzogVEMpOiBmcm9tIGlzIFQge1xuICAgICAgICByZXR1cm4gKHRoaXMuX3ZhbGlkYXRvcihmcm9tLCB0aGlzLl9jb250ZXh0KGNvbnRleHQpKSA9PT0gdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIFZhbGlkYXRpb24uVmFsaWRhdG9yLm9wdGlvbmFsfVxuICAgICAqL1xuICAgIHB1YmxpYyBvcHRpb25hbCgpOiBWYWxpZGF0b3I8VCB8IHVuZGVmaW5lZCwgVEM+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBHZW5lcmljVmFsaWRhdG9yKHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogKGZyb206IHVua25vd24sIGNvbnRleHQ/OiBUQykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoZnJvbSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgICB8fCB0aGlzLl92YWxpZGF0b3IoZnJvbSwgdGhpcy5fY29udGV4dChjb250ZXh0KSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJhaXRzOiB7IGlzT3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIFZhbGlkYXRpb24uVmFsaWRhdG9yLndpdGhDb25zdHJhaW50fVxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoQ29uc3RyYWludChjb25zdHJhaW50OiBDb25zdHJhaW50PFQ+LCB0cmFpdD86IENvbnN0cmFpbnRUcmFpdCk6IFZhbGlkYXRvcjxULCBUQz4ge1xuICAgICAgICB0cmFpdCA9IHRyYWl0ID8/IHsgdHlwZTogJ2Z1bmN0aW9uJyB9O1xuICAgICAgICByZXR1cm4gbmV3IEdlbmVyaWNWYWxpZGF0b3Ioe1xuICAgICAgICAgICAgdmFsaWRhdG9yOiAoZnJvbTogdW5rbm93biwgY29udGV4dD86IFRDKTogYm9vbGVhbiB8IEZhaWx1cmU8VD4gPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl92YWxpZGF0b3IoZnJvbSwgdGhpcy5fY29udGV4dChjb250ZXh0KSkgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29uc3RyYWludFJlc3VsdCA9IGNvbnN0cmFpbnQoZnJvbSBhcyBUKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjb25zdHJhaW50UmVzdWx0ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25zdHJhaW50UmVzdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWlsKGBWYWx1ZSAke0pTT04uc3RyaW5naWZ5KGZyb20pfSBkb2VzIG5vdCBtZWV0IGNvbnN0cmFpbnQuYCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN0cmFpbnRSZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmFpdHM6IHsgY29uc3RyYWludHM6IFt0cmFpdF0gfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIFZhbGlkYXRpb24uVmFsaWRhdG9yLmJyYW5kfVxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoQnJhbmQ8QiBleHRlbmRzIHN0cmluZz4oYnJhbmQ6IEIpOiBWYWxpZGF0b3I8QnJhbmQ8VCwgQj4sIFRDPiB7XG4gICAgICAgIGlmICh0aGlzLmJyYW5kKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXBsYWNlIGV4aXN0aW5nIGJyYW5kIFwiJHt0aGlzLmJyYW5kfVwiIHdpdGggXCIke2JyYW5kfVwiLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBHZW5lcmljVmFsaWRhdG9yPEJyYW5kPFQsIEI+LCBUQz4oe1xuICAgICAgICAgICAgdmFsaWRhdG9yOiAoZnJvbTogdW5rbm93biwgY29udGV4dD86IFRDKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRvcihmcm9tLCB0aGlzLl9jb250ZXh0KGNvbnRleHQpKSBhcyBib29sZWFuIHwgRmFpbHVyZTxCcmFuZDxULCBCPj47XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJhaXRzOiB7IGJyYW5kIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBkZWZhdWx0IG9yIGV4cGxpY2l0IGNvbnRleHQuXG4gICAgICogQHBhcmFtIGV4cGxpY2l0Q29udGV4dCAtIE9wdGlvbmFsIGV4cGxpY2l0IGNvbnRleHQuXG4gICAgICogQHJldHVybnMgVGhlIGFwcHJvcHJpYXRlIGNvbnRleHQgdG8gdXNlLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfY29udGV4dChleHBsaWNpdENvbnRleHQ/OiBUQyk6IFRDIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIGV4cGxpY2l0Q29udGV4dCA/PyB0aGlzLl9vcHRpb25zLmRlZmF1bHRDb250ZXh0O1xuICAgIH1cbn1cbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY1ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL2dlbmVyaWNWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBR0gscUNBQTREO0FBQzVELHNDQUEyRDtBQXNCM0Q7OztHQUdHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFlekI7Ozs7T0FJRztJQUNILFlBQW1CLE1BQXlEOztRQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxPQUFPLG1DQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksd0JBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRLENBQUMsSUFBYSxFQUFFLE9BQVk7UUFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksT0FBTyxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQzdCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFBLGdCQUFPLEVBQUMsSUFB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QUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO0lBQzNELENBQUM7Q0FDSjtBQWhJRCw0Q0FnSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIxIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgQ29uc3RyYWludCwgVmFsaWRhdG9yLCBWYWxpZGF0b3JPcHRpb25zIH0gZnJvbSAnLi92YWxpZGF0b3InO1xuaW1wb3J0IHsgQ29uc3RyYWludFRyYWl0LCBWYWxpZGF0b3JUcmFpdHMgfSBmcm9tICcuL3RyYWl0cyc7XG5pbXBvcnQgeyBGYWlsdXJlLCBSZXN1bHQsIGZhaWwsIHN1Y2NlZWQgfSBmcm9tICcuLi9yZXN1bHQnO1xuXG5pbXBvcnQgeyBCcmFuZCB9IGZyb20gJy4uL2JyYW5kJztcblxuLyoqXG4gKiBUeXBlIGZvciBhIHZhbGlkYXRpb24gZnVuY3Rpb24sIHdoaWNoIHZhbGlkYXRlcyB0aGF0IGEgc3VwcGxpZWQgYHVua25vd25gXG4gKiB2YWx1ZSBpcyBhIHZhbGlkIHZhbHVlIG9mIHR5cGUgYDxUPmAsIHBvc3NpYmx5IGFzIGluZmx1ZW5jZWQgYnlcbiAqIGFuIG9wdGlvbmFsbHktc3VwcGxpZWQgdmFsaWRhdGlvbiBjb250ZXh0IG9mIHR5cGUgYDxUQz5gLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0b3JGdW5jPFQsIFRDPiA9IChmcm9tOiB1bmtub3duLCBjb250ZXh0PzogVEMpID0+IGJvb2xlYW4gfCBGYWlsdXJlPFQ+O1xuXG4vKipcbiAqIE9wdGlvbnMgdXNlZCB0byBpbml0aWFsaXplIGEge0BsaW5rIFZhbGlkYXRpb24uQmFzZS5HZW5lcmljVmFsaWRhdG9yIHwgR2VuZXJpY1ZhbGlkYXRvcn0uXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJpY1ZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFQsIFRDPiB7XG4gICAgb3B0aW9ucz86IFZhbGlkYXRvck9wdGlvbnM8VEM+LFxuICAgIHRyYWl0cz86IFBhcnRpYWw8VmFsaWRhdG9yVHJhaXRzPixcbiAgICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGdW5jPFQsIFRDPlxufVxuXG4vKipcbiAqIEdlbmVyaWMgYmFzZSBpbXBsZW1lbnRhdGlvbiBmb3IgYW4gaW4tcGxhY2Uge0BsaW5rIFZhbGlkYXRpb24uVmFsaWRhdG9yIHwgVmFsaWRhdG9yfS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIEdlbmVyaWNWYWxpZGF0b3I8VCwgVEMgPSB1bmRlZmluZWQ+IGltcGxlbWVudHMgVmFsaWRhdG9yPFQsIFRDPiB7XG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIFZhbGlkYXRpb24uVmFsaWRhdG9yLnRyYWl0c31cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhaXRzOiBWYWxpZGF0b3JUcmFpdHM7XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZhbGlkYXRvcjogVmFsaWRhdG9yRnVuYzxULCBUQz47XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9vcHRpb25zOiBWYWxpZGF0b3JPcHRpb25zPFRDPjtcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYSBuZXcge0BsaW5rIFZhbGlkYXRpb24uQmFzZS5HZW5lcmljVmFsaWRhdG9yIHwgR2VuZXJpY1ZhbGlkYXRvcjxUPn0uXG4gICAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgVmFsaWRhdGlvbi5CYXNlLkdlbmVyaWNWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtcyB8IGNvbnN0cnVjdG9yIHBhcmFtc31cbiAgICAgKiB1c2VkIHRvIGNvbmZpZ3VyZSB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFBhcnRpYWw8R2VuZXJpY1ZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFQsIFRDPj4pIHtcbiAgICAgICAgaWYgKCFwYXJhbXMudmFsaWRhdG9yKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHZhbGlkYXRvciBmdW5jdGlvbiBzdXBwbGllZCcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvciA9IHBhcmFtcy52YWxpZGF0b3I7XG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSBwYXJhbXMub3B0aW9ucyA/PyB7fTtcbiAgICAgICAgdGhpcy50cmFpdHMgPSBuZXcgVmFsaWRhdG9yVHJhaXRzKHBhcmFtcy50cmFpdHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBWYWxpZGF0aW9uLlZhbGlkYXRvci5pc09wdGlvbmFsfVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXNPcHRpb25hbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhaXRzLmlzT3B0aW9uYWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIFZhbGlkYXRpb24uVmFsaWRhdG9yLmJyYW5kfVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYnJhbmQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhaXRzLmJyYW5kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBWYWxpZGF0aW9uLlZhbGlkYXRvci52YWxpZGF0ZX1cbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGUoZnJvbTogdW5rbm93biwgY29udGV4dD86IFRDKTogUmVzdWx0PFQ+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fdmFsaWRhdG9yKGZyb20sIHRoaXMuX2NvbnRleHQoY29udGV4dCkpO1xuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0ID8gc3VjY2VlZChmcm9tIGFzIFQpIDogZmFpbDxUPignSW52YWxpZCB2YWx1ZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIFZhbGlkYXRpb24uVmFsaWRhdG9yLnZhbGlkYXRlT3B0aW9uYWx9XG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlT3B0aW9uYWwoZnJvbTogdW5rbm93biwgY29udGV4dD86IFRDKTogUmVzdWx0PFQgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIChmcm9tID09PSB1bmRlZmluZWQpID8gc3VjY2VlZCh1bmRlZmluZWQpIDogdGhpcy52YWxpZGF0ZShmcm9tLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgVmFsaWRhdGlvbi5WYWxpZGF0b3IuZ3VhcmR9XG4gICAgICovXG4gICAgcHVibGljIGd1YXJkKGZyb206IHVua25vd24sIGNvbnRleHQ/OiBUQyk6IGZyb20gaXMgVCB7XG4gICAgICAgIHJldHVybiAodGhpcy5fdmFsaWRhdG9yKGZyb20sIHRoaXMuX2NvbnRleHQoY29udGV4dCkpID09PSB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgVmFsaWRhdGlvbi5WYWxpZGF0b3Iub3B0aW9uYWx9XG4gICAgICovXG4gICAgcHVibGljIG9wdGlvbmFsKCk6IFZhbGlkYXRvcjxUIHwgdW5kZWZpbmVkLCBUQz4ge1xuICAgICAgICByZXR1cm4gbmV3IEdlbmVyaWNWYWxpZGF0b3Ioe1xuICAgICAgICAgICAgdmFsaWRhdG9yOiAoZnJvbTogdW5rbm93biwgY29udGV4dD86IFRDKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChmcm9tID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuX3ZhbGlkYXRvcihmcm9tLCB0aGlzLl9jb250ZXh0KGNvbnRleHQpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmFpdHM6IHsgaXNPcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgVmFsaWRhdGlvbi5WYWxpZGF0b3Iud2l0aENvbnN0cmFpbnR9XG4gICAgICovXG4gICAgcHVibGljIHdpdGhDb25zdHJhaW50KGNvbnN0cmFpbnQ6IENvbnN0cmFpbnQ8VD4sIHRyYWl0PzogQ29uc3RyYWludFRyYWl0KTogVmFsaWRhdG9yPFQsIFRDPiB7XG4gICAgICAgIHRyYWl0ID0gdHJhaXQgPz8geyB0eXBlOiAnZnVuY3Rpb24nIH07XG4gICAgICAgIHJldHVybiBuZXcgR2VuZXJpY1ZhbGlkYXRvcih7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IChmcm9tOiB1bmtub3duLCBjb250ZXh0PzogVEMpOiBib29sZWFuIHwgRmFpbHVyZTxUPiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3ZhbGlkYXRvcihmcm9tLCB0aGlzLl9jb250ZXh0KGNvbnRleHQpKSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25zdHJhaW50UmVzdWx0ID0gY29uc3RyYWludChmcm9tIGFzIFQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbnN0cmFpbnRSZXN1bHQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN0cmFpbnRSZXN1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhaWwoYEludmFsaWQgdmFsdWUgXCIke0pTT04uc3RyaW5naWZ5KGZyb20pfVwiOiAgZG9lcyBub3QgbWVldCBjb25zdHJhaW50LmApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25zdHJhaW50UmVzdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJhaXRzOiB7IGNvbnN0cmFpbnRzOiBbdHJhaXRdIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBWYWxpZGF0aW9uLlZhbGlkYXRvci5icmFuZH1cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aEJyYW5kPEIgZXh0ZW5kcyBzdHJpbmc+KGJyYW5kOiBCKTogVmFsaWRhdG9yPEJyYW5kPFQsIEI+LCBUQz4ge1xuICAgICAgICBpZiAodGhpcy5icmFuZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVwbGFjZSBleGlzdGluZyBicmFuZCBcIiR7dGhpcy5icmFuZH1cIiB3aXRoIFwiJHticmFuZH1cIi5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgR2VuZXJpY1ZhbGlkYXRvcjxCcmFuZDxULCBCPiwgVEM+KHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogKGZyb206IHVua25vd24sIGNvbnRleHQ/OiBUQykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0b3IoZnJvbSwgdGhpcy5fY29udGV4dChjb250ZXh0KSkgYXMgYm9vbGVhbiB8IEZhaWx1cmU8QnJhbmQ8VCwgQj4+O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRyYWl0czogeyBicmFuZCB9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgZGVmYXVsdCBvciBleHBsaWNpdCBjb250ZXh0LlxuICAgICAqIEBwYXJhbSBleHBsaWNpdENvbnRleHQgLSBPcHRpb25hbCBleHBsaWNpdCBjb250ZXh0LlxuICAgICAqIEByZXR1cm5zIFRoZSBhcHByb3ByaWF0ZSBjb250ZXh0IHRvIHVzZS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2NvbnRleHQoZXhwbGljaXRDb250ZXh0PzogVEMpOiBUQyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBleHBsaWNpdENvbnRleHQgPz8gdGhpcy5fb3B0aW9ucy5kZWZhdWx0Q29udGV4dDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -42,6 +42,18 @@ export declare function object<T, TC = unknown>(fields: FieldValidators<T, TC>,
|
|
|
42
42
|
* @public
|
|
43
43
|
*/
|
|
44
44
|
export declare function arrayOf<T, TC>(validateElement: Validator<T, TC>, params?: Omit<ArrayValidatorConstructorParams<T, TC>, 'validateElement'>): ArrayValidator<T, TC>;
|
|
45
|
+
/**
|
|
46
|
+
* Helper function to create a {@link Validation.Validator} which validates an enumerated
|
|
47
|
+
* value in place.
|
|
48
|
+
* @public
|
|
49
|
+
*/
|
|
50
|
+
export declare function enumeratedValue<T extends string>(values: T[]): Validator<T, T[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Helper function to create a {@link Validation.Validator} which validates a literal value.
|
|
53
|
+
* @param value - the literal value to be validated
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
export declare function literal<T extends string | number | boolean | symbol | null | undefined>(value: T): Validator<T>;
|
|
45
57
|
/**
|
|
46
58
|
* Helper function to create a {@link Validation.Classes.TypeGuardValidator | TypeGuardValidator} which
|
|
47
59
|
* validates a value or object in place.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,mCAAmC,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,MAAM,kCAAwB,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,MAAM,kCAAwB,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,OAAO,2BAAyB,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAClC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,EAC9B,MAAM,CAAC,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,GACjE,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAExB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EACzB,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EACjC,MAAM,CAAC,EAAE,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,GACzE,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAEvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAWhF;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAM/G;AAED;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,EAClC,MAAM,CAAC,EAAE,IAAI,CAAC,mCAAmC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,GACnF,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAE3B"}
|
package/validation/validators.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c)
|
|
3
|
+
* Copyright (c) 2023 Erik Fortune
|
|
4
4
|
*
|
|
5
5
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -21,11 +21,13 @@
|
|
|
21
21
|
* SOFTWARE.
|
|
22
22
|
*/
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.isA = exports.arrayOf = exports.object = exports.boolean = exports.number = exports.string = void 0;
|
|
24
|
+
exports.isA = exports.literal = exports.enumeratedValue = exports.arrayOf = exports.object = exports.boolean = exports.number = exports.string = void 0;
|
|
25
25
|
const array_1 = require("./array");
|
|
26
|
+
const result_1 = require("../result");
|
|
26
27
|
const object_1 = require("./object");
|
|
27
28
|
const typeGuard_1 = require("./typeGuard");
|
|
28
29
|
const boolean_1 = require("./boolean");
|
|
30
|
+
const genericValidator_1 = require("./genericValidator");
|
|
29
31
|
const number_1 = require("./number");
|
|
30
32
|
const string_1 = require("./string");
|
|
31
33
|
/**
|
|
@@ -70,6 +72,37 @@ function arrayOf(validateElement, params) {
|
|
|
70
72
|
return new array_1.ArrayValidator({ validateElement, ...(params !== null && params !== void 0 ? params : {}) });
|
|
71
73
|
}
|
|
72
74
|
exports.arrayOf = arrayOf;
|
|
75
|
+
/**
|
|
76
|
+
* Helper function to create a {@link Validation.Validator} which validates an enumerated
|
|
77
|
+
* value in place.
|
|
78
|
+
* @public
|
|
79
|
+
*/
|
|
80
|
+
function enumeratedValue(values) {
|
|
81
|
+
return new genericValidator_1.GenericValidator({
|
|
82
|
+
validator: (from, context) => {
|
|
83
|
+
if (typeof from === 'string') {
|
|
84
|
+
const v = context !== null && context !== void 0 ? context : values;
|
|
85
|
+
const index = v.indexOf(from);
|
|
86
|
+
return index >= 0 ? true : (0, result_1.fail)(`Invalid enumerated value "${from}" - expected: (${v.join(', ')})`);
|
|
87
|
+
}
|
|
88
|
+
return (0, result_1.fail)(`Not a string: "${JSON.stringify(from, undefined, 2)}`);
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
exports.enumeratedValue = enumeratedValue;
|
|
93
|
+
/**
|
|
94
|
+
* Helper function to create a {@link Validation.Validator} which validates a literal value.
|
|
95
|
+
* @param value - the literal value to be validated
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
function literal(value) {
|
|
99
|
+
return new genericValidator_1.GenericValidator({
|
|
100
|
+
validator: (from) => {
|
|
101
|
+
return from === value ? true : (0, result_1.fail)(`Expected literal ${String(value)}, found "${JSON.stringify(from, undefined, 2)}`);
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
exports.literal = literal;
|
|
73
106
|
/**
|
|
74
107
|
* Helper function to create a {@link Validation.Classes.TypeGuardValidator | TypeGuardValidator} which
|
|
75
108
|
* validates a value or object in place.
|
|
@@ -83,4 +116,4 @@ function isA(description, guard, params) {
|
|
|
83
116
|
return new typeGuard_1.TypeGuardValidator({ description, guard, ...(params !== null && params !== void 0 ? params : {}) });
|
|
84
117
|
}
|
|
85
118
|
exports.isA = isA;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsbUNBQTBFO0FBQzFFLHFDQUE4RjtBQUM5RiwyQ0FBc0Y7QUFFdEYsdUNBQTZDO0FBQzdDLHFDQUEyQztBQUMzQyxxQ0FBMkM7QUFJM0M7OztHQUdHO0FBQ1UsUUFBQSxNQUFNLEdBQUcsSUFBSSx3QkFBZSxFQUFFLENBQUM7QUFFNUM7OztHQUdHO0FBQ1UsUUFBQSxNQUFNLEdBQUcsSUFBSSx3QkFBZSxFQUFFLENBQUM7QUFFNUM7OztHQUdHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsSUFBSSwwQkFBZ0IsRUFBRSxDQUFDO0FBRTlDOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFnQixNQUFNLENBQ2xCLE1BQThCLEVBQzlCLE1BQWdFO0lBRWhFLE9BQU8sSUFBSSx3QkFBZSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUxELHdCQUtDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLE9BQU8sQ0FDbkIsZUFBaUMsRUFDakMsTUFBd0U7SUFFeEUsT0FBTyxJQUFJLHNCQUFjLENBQUMsRUFBRSxlQUFlLEVBQUUsR0FBRyxDQUFDLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBTEQsMEJBS0M7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLEdBQUcsQ0FDZixXQUFtQixFQUNuQixLQUFrQyxFQUNsQyxNQUFrRjtJQUVsRixPQUFPLElBQUksOEJBQWtCLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQU5ELGtCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMSBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IEFycmF5VmFsaWRhdG9yLCBBcnJheVZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi9hcnJheSc7XG5pbXBvcnQgeyBGaWVsZFZhbGlkYXRvcnMsIE9iamVjdFZhbGlkYXRvciwgT2JqZWN0VmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL29iamVjdCc7XG5pbXBvcnQgeyBUeXBlR3VhcmRWYWxpZGF0b3IsIFR5cGVHdWFyZFZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi90eXBlR3VhcmQnO1xuXG5pbXBvcnQgeyBCb29sZWFuVmFsaWRhdG9yIH0gZnJvbSAnLi9ib29sZWFuJztcbmltcG9ydCB7IE51bWJlclZhbGlkYXRvciB9IGZyb20gJy4vbnVtYmVyJztcbmltcG9ydCB7IFN0cmluZ1ZhbGlkYXRvciB9IGZyb20gJy4vc3RyaW5nJztcbmltcG9ydCB7IFR5cGVHdWFyZFdpdGhDb250ZXh0IH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0b3InO1xuXG4vKipcbiAqIEEge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5TdHJpbmdWYWxpZGF0b3IgfCBTdHJpbmdWYWxpZGF0b3J9IHdoaWNoIHZhbGlkYXRlcyBhIHN0cmluZyBpbiBwbGFjZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmluZyA9IG5ldyBTdHJpbmdWYWxpZGF0b3IoKTtcblxuLyoqXG4gKiBBIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuTnVtYmVyVmFsaWRhdG9yIHwgTnVtYmVyVmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXMgYSBudW1iZXIgaW4gcGxhY2UuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBudW1iZXIgPSBuZXcgTnVtYmVyVmFsaWRhdG9yKCk7XG5cbi8qKlxuICogQSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLkJvb2xlYW5WYWxpZGF0b3IgfCBCb29sZWFuVmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXMgYSBib29sZWFuIGluIHBsYWNlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgYm9vbGVhbiA9IG5ldyBCb29sZWFuVmFsaWRhdG9yKCk7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuT2JqZWN0VmFsaWRhdG9yIHwgT2JqZWN0VmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXNcbiAqIGFuIG9iamVjdCBpbiBwbGFjZS5cbiAqIEBwYXJhbSBmaWVsZHMgLSBBIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuRmllbGRWYWxpZGF0b3JzIHwgZmllbGQgdmFsaWRhdG9yIGRlZmluaXRpb259XG4gKiBkZXNjcmliaW5nIHRoZSB2YWxpZGF0aW9ucyB0byBiZSBhcHBsaWVkLlxuICogQHBhcmFtIHBhcmFtcyAtIE9wdGlvbmFsIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuT2JqZWN0VmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXMgfCBwYXJhbWV0ZXJzfVxuICogdG8gcmVmaW5lIHRoZSBiZWhhdmlvciBvZiB0aGUgcmVzdWx0aW5nIHtAbGluayBWYWxpZGF0aW9uLlZhbGlkYXRvciB8IHZhbGlkYXRvcn0uXG4gKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgVmFsaWRhdGlvbi5WYWxpZGF0b3IgfCBWYWxpZGF0b3J9IHdoaWNoIHZhbGlkYXRlcyB0aGUgZGVzaXJlZFxuICogb2JqZWN0IGluIHBsYWNlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0PFQsIFRDID0gdW5rbm93bj4oXG4gICAgZmllbGRzOiBGaWVsZFZhbGlkYXRvcnM8VCwgVEM+LFxuICAgIHBhcmFtcz86IE9taXQ8T2JqZWN0VmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXM8VCwgVEM+LCAnZmllbGRzJz4sXG4pOiBPYmplY3RWYWxpZGF0b3I8VCwgVEM+IHtcbiAgICByZXR1cm4gbmV3IE9iamVjdFZhbGlkYXRvcih7IGZpZWxkcywgLi4uKHBhcmFtcyA/PyB7fSkgfSk7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuQXJyYXlWYWxpZGF0b3IgfCBBcnJheVZhbGlkYXRvcn0gd2hpY2hcbiAqIHZhbGlkYXRlcyBhbiBhcnJheSBpbiBwbGFjZS5cbiAqIEBwYXJhbSB2YWxpZGF0ZUVsZW1lbnQgLSBBIHtAbGluayBWYWxpZGF0aW9uLlZhbGlkYXRvciB8IHZhbGlkYXRvcn0gd2hpY2ggdmFsaWRhdGVzIGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuQXJyYXlWYWxpZGF0b3IgfCBBcnJheVZhbGlkYXRvciB9IHdoaWNoIHZhbGlkYXRlcyB0aGUgZGVzaXJlZFxuICogYXJyYXkgaW4gcGxhY2UuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheU9mPFQsIFRDPihcbiAgICB2YWxpZGF0ZUVsZW1lbnQ6IFZhbGlkYXRvcjxULCBUQz4sXG4gICAgcGFyYW1zPzogT21pdDxBcnJheVZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFQsIFRDPiwgJ3ZhbGlkYXRlRWxlbWVudCc+XG4pOiBBcnJheVZhbGlkYXRvcjxULCBUQz4ge1xuICAgIHJldHVybiBuZXcgQXJyYXlWYWxpZGF0b3IoeyB2YWxpZGF0ZUVsZW1lbnQsIC4uLihwYXJhbXMgPz8ge30pIH0pO1xufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgYSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLlR5cGVHdWFyZFZhbGlkYXRvciB8IFR5cGVHdWFyZFZhbGlkYXRvcn0gd2hpY2hcbiAqIHZhbGlkYXRlcyBhIHZhbHVlIG9yIG9iamVjdCBpbiBwbGFjZS5cbiAqIEBwYXJhbSBkZXNjcmlwdGlvbiAtIGEgZGVzY3JpcHRpb24gb2YgdGhlIHRoaW5nIHRvIGJlIHZhbGlkYXRlZCBmb3IgdXNlIGluIGVycm9yIG1lc3NhZ2VzXG4gKiBAcGFyYW0gZ3VhcmQgLSBhIHtAbGluayBWYWxpZGF0aW9uLlR5cGVHdWFyZFdpdGhDb250ZXh0fSB3aGljaCBwZXJmb3JtcyB0aGUgdmFsaWRhdGlvbi5cbiAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuVHlwZUd1YXJkVmFsaWRhdG9yIHwgVHlwZUd1YXJkVmFsaWRhdG9yIH0gd2hpY2ggdmFsaWRhdGVzXG4gKiB0aGUgdmFsdWVzIHVzaW5nIHRoZSBzdXBwbGllZCB0eXBlIGd1YXJkLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBPFQsIFRDPihcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGd1YXJkOiBUeXBlR3VhcmRXaXRoQ29udGV4dDxULCBUQz4sXG4gICAgcGFyYW1zPzogT21pdDxUeXBlR3VhcmRWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtczxULCBUQz4sICdkZXNjcmlwdGlvbicgfCAnZ3VhcmQnPlxuKTogVHlwZUd1YXJkVmFsaWRhdG9yPFQsIFRDPiB7XG4gICAgcmV0dXJuIG5ldyBUeXBlR3VhcmRWYWxpZGF0b3IoeyBkZXNjcmlwdGlvbiwgZ3VhcmQsIC4uLihwYXJhbXMgPz8ge30pIH0pO1xufVxuIl19
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsbUNBQTBFO0FBQzFFLHNDQUEwQztBQUMxQyxxQ0FBOEY7QUFDOUYsMkNBQXNGO0FBRXRGLHVDQUE2QztBQUM3Qyx5REFBc0Q7QUFDdEQscUNBQTJDO0FBQzNDLHFDQUEyQztBQUkzQzs7O0dBR0c7QUFDVSxRQUFBLE1BQU0sR0FBRyxJQUFJLHdCQUFlLEVBQUUsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDVSxRQUFBLE1BQU0sR0FBRyxJQUFJLHdCQUFlLEVBQUUsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDVSxRQUFBLE9BQU8sR0FBRyxJQUFJLDBCQUFnQixFQUFFLENBQUM7QUFFOUM7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLE1BQU0sQ0FDbEIsTUFBOEIsRUFDOUIsTUFBZ0U7SUFFaEUsT0FBTyxJQUFJLHdCQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBTEQsd0JBS0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsT0FBTyxDQUNuQixlQUFpQyxFQUNqQyxNQUF3RTtJQUV4RSxPQUFPLElBQUksc0JBQWMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFMRCwwQkFLQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixlQUFlLENBQW1CLE1BQVc7SUFDekQsT0FBTyxJQUFJLG1DQUFnQixDQUFDO1FBQ3hCLFNBQVMsRUFBRSxDQUFDLElBQWEsRUFBRSxPQUFhLEVBQXdCLEVBQUU7WUFDOUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQzFCLE1BQU0sQ0FBQyxHQUFHLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLE1BQU0sQ0FBQztnQkFDNUIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFTLENBQUMsQ0FBQztnQkFDbkMsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsYUFBSSxFQUFDLDZCQUE2QixJQUFJLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4RztZQUNELE9BQU8sSUFBQSxhQUFJLEVBQUMsa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztLQUNKLENBQUMsQ0FBQztBQUNQLENBQUM7QUFYRCwwQ0FXQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixPQUFPLENBQWtFLEtBQVE7SUFDN0YsT0FBTyxJQUFJLG1DQUFnQixDQUFDO1FBQ3hCLFNBQVMsRUFBRSxDQUFDLElBQWEsRUFBd0IsRUFBRTtZQUMvQyxPQUFPLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFJLEVBQUMsb0JBQW9CLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNILENBQUM7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDO0FBTkQsMEJBTUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLEdBQUcsQ0FDZixXQUFtQixFQUNuQixLQUFrQyxFQUNsQyxNQUFrRjtJQUVsRixPQUFPLElBQUksOEJBQWtCLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQU5ELGtCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMyBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IEFycmF5VmFsaWRhdG9yLCBBcnJheVZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi9hcnJheSc7XG5pbXBvcnQgeyBGYWlsdXJlLCBmYWlsIH0gZnJvbSAnLi4vcmVzdWx0JztcbmltcG9ydCB7IEZpZWxkVmFsaWRhdG9ycywgT2JqZWN0VmFsaWRhdG9yLCBPYmplY3RWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vb2JqZWN0JztcbmltcG9ydCB7IFR5cGVHdWFyZFZhbGlkYXRvciwgVHlwZUd1YXJkVmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL3R5cGVHdWFyZCc7XG5cbmltcG9ydCB7IEJvb2xlYW5WYWxpZGF0b3IgfSBmcm9tICcuL2Jvb2xlYW4nO1xuaW1wb3J0IHsgR2VuZXJpY1ZhbGlkYXRvciB9IGZyb20gJy4vZ2VuZXJpY1ZhbGlkYXRvcic7XG5pbXBvcnQgeyBOdW1iZXJWYWxpZGF0b3IgfSBmcm9tICcuL251bWJlcic7XG5pbXBvcnQgeyBTdHJpbmdWYWxpZGF0b3IgfSBmcm9tICcuL3N0cmluZyc7XG5pbXBvcnQgeyBUeXBlR3VhcmRXaXRoQ29udGV4dCB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9yJztcblxuLyoqXG4gKiBBIHtAbGluayBWYWxpZGF0aW9uLkNsYXNzZXMuU3RyaW5nVmFsaWRhdG9yIHwgU3RyaW5nVmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXMgYSBzdHJpbmcgaW4gcGxhY2UuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzdHJpbmcgPSBuZXcgU3RyaW5nVmFsaWRhdG9yKCk7XG5cbi8qKlxuICogQSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLk51bWJlclZhbGlkYXRvciB8IE51bWJlclZhbGlkYXRvcn0gd2hpY2ggdmFsaWRhdGVzIGEgbnVtYmVyIGluIHBsYWNlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgbnVtYmVyID0gbmV3IE51bWJlclZhbGlkYXRvcigpO1xuXG4vKipcbiAqIEEge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5Cb29sZWFuVmFsaWRhdG9yIHwgQm9vbGVhblZhbGlkYXRvcn0gd2hpY2ggdmFsaWRhdGVzIGEgYm9vbGVhbiBpbiBwbGFjZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IGJvb2xlYW4gPSBuZXcgQm9vbGVhblZhbGlkYXRvcigpO1xuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgYSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLk9iamVjdFZhbGlkYXRvciB8IE9iamVjdFZhbGlkYXRvcn0gd2hpY2ggdmFsaWRhdGVzXG4gKiBhbiBvYmplY3QgaW4gcGxhY2UuXG4gKiBAcGFyYW0gZmllbGRzIC0gQSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLkZpZWxkVmFsaWRhdG9ycyB8IGZpZWxkIHZhbGlkYXRvciBkZWZpbml0aW9ufVxuICogZGVzY3JpYmluZyB0aGUgdmFsaWRhdGlvbnMgdG8gYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLk9iamVjdFZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zIHwgcGFyYW1ldGVyc31cbiAqIHRvIHJlZmluZSB0aGUgYmVoYXZpb3Igb2YgdGhlIHJlc3VsdGluZyB7QGxpbmsgVmFsaWRhdGlvbi5WYWxpZGF0b3IgfCB2YWxpZGF0b3J9LlxuICogQHJldHVybnMgQSBuZXcge0BsaW5rIFZhbGlkYXRpb24uVmFsaWRhdG9yIHwgVmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXMgdGhlIGRlc2lyZWRcbiAqIG9iamVjdCBpbiBwbGFjZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdDxULCBUQyA9IHVua25vd24+KFxuICAgIGZpZWxkczogRmllbGRWYWxpZGF0b3JzPFQsIFRDPixcbiAgICBwYXJhbXM/OiBPbWl0PE9iamVjdFZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFQsIFRDPiwgJ2ZpZWxkcyc+LFxuKTogT2JqZWN0VmFsaWRhdG9yPFQsIFRDPiB7XG4gICAgcmV0dXJuIG5ldyBPYmplY3RWYWxpZGF0b3IoeyBmaWVsZHMsIC4uLihwYXJhbXMgPz8ge30pIH0pO1xufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgYSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLkFycmF5VmFsaWRhdG9yIHwgQXJyYXlWYWxpZGF0b3J9IHdoaWNoXG4gKiB2YWxpZGF0ZXMgYW4gYXJyYXkgaW4gcGxhY2UuXG4gKiBAcGFyYW0gdmFsaWRhdGVFbGVtZW50IC0gQSB7QGxpbmsgVmFsaWRhdGlvbi5WYWxpZGF0b3IgfCB2YWxpZGF0b3J9IHdoaWNoIHZhbGlkYXRlcyBlYWNoIGVsZW1lbnQuXG4gKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLkFycmF5VmFsaWRhdG9yIHwgQXJyYXlWYWxpZGF0b3IgfSB3aGljaCB2YWxpZGF0ZXMgdGhlIGRlc2lyZWRcbiAqIGFycmF5IGluIHBsYWNlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gYXJyYXlPZjxULCBUQz4oXG4gICAgdmFsaWRhdGVFbGVtZW50OiBWYWxpZGF0b3I8VCwgVEM+LFxuICAgIHBhcmFtcz86IE9taXQ8QXJyYXlWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtczxULCBUQz4sICd2YWxpZGF0ZUVsZW1lbnQnPlxuKTogQXJyYXlWYWxpZGF0b3I8VCwgVEM+IHtcbiAgICByZXR1cm4gbmV3IEFycmF5VmFsaWRhdG9yKHsgdmFsaWRhdGVFbGVtZW50LCAuLi4ocGFyYW1zID8/IHt9KSB9KTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEge0BsaW5rIFZhbGlkYXRpb24uVmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXMgYW4gZW51bWVyYXRlZFxuICogdmFsdWUgaW4gcGxhY2UuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnVtZXJhdGVkVmFsdWU8VCBleHRlbmRzIHN0cmluZz4odmFsdWVzOiBUW10pOiBWYWxpZGF0b3I8VCwgVFtdPiB7XG4gICAgcmV0dXJuIG5ldyBHZW5lcmljVmFsaWRhdG9yKHtcbiAgICAgICAgdmFsaWRhdG9yOiAoZnJvbTogdW5rbm93biwgY29udGV4dD86IFRbXSk6IGJvb2xlYW4gfCBGYWlsdXJlPFQ+ID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZnJvbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2ID0gY29udGV4dCA/PyB2YWx1ZXM7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB2LmluZGV4T2YoZnJvbSBhcyBUKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXggPj0gMCA/IHRydWUgOiBmYWlsKGBJbnZhbGlkIGVudW1lcmF0ZWQgdmFsdWUgXCIke2Zyb219XCIgIC0gZXhwZWN0ZWQ6ICgke3Yuam9pbignLCAnKX0pYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFpbChgTm90IGEgc3RyaW5nOiBcIiR7SlNPTi5zdHJpbmdpZnkoZnJvbSwgdW5kZWZpbmVkLCAyKX1gKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEge0BsaW5rIFZhbGlkYXRpb24uVmFsaWRhdG9yfSB3aGljaCB2YWxpZGF0ZXMgYSBsaXRlcmFsIHZhbHVlLlxuICogQHBhcmFtIHZhbHVlIC0gdGhlIGxpdGVyYWwgdmFsdWUgdG8gYmUgdmFsaWRhdGVkXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaXRlcmFsPFQgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgc3ltYm9sIHwgbnVsbCB8IHVuZGVmaW5lZD4odmFsdWU6IFQpOiBWYWxpZGF0b3I8VD4ge1xuICAgIHJldHVybiBuZXcgR2VuZXJpY1ZhbGlkYXRvcih7XG4gICAgICAgIHZhbGlkYXRvcjogKGZyb206IHVua25vd24pOiBib29sZWFuIHwgRmFpbHVyZTxUPiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbSA9PT0gdmFsdWUgPyB0cnVlIDogZmFpbChgRXhwZWN0ZWQgbGl0ZXJhbCAke1N0cmluZyh2YWx1ZSl9LCBmb3VuZCBcIiR7SlNPTi5zdHJpbmdpZnkoZnJvbSwgdW5kZWZpbmVkLCAyKX1gKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5UeXBlR3VhcmRWYWxpZGF0b3IgfCBUeXBlR3VhcmRWYWxpZGF0b3J9IHdoaWNoXG4gKiB2YWxpZGF0ZXMgYSB2YWx1ZSBvciBvYmplY3QgaW4gcGxhY2UuXG4gKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBhIGRlc2NyaXB0aW9uIG9mIHRoZSB0aGluZyB0byBiZSB2YWxpZGF0ZWQgZm9yIHVzZSBpbiBlcnJvciBtZXNzYWdlc1xuICogQHBhcmFtIGd1YXJkIC0gYSB7QGxpbmsgVmFsaWRhdGlvbi5UeXBlR3VhcmRXaXRoQ29udGV4dH0gd2hpY2ggcGVyZm9ybXMgdGhlIHZhbGlkYXRpb24uXG4gKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLlR5cGVHdWFyZFZhbGlkYXRvciB8IFR5cGVHdWFyZFZhbGlkYXRvciB9IHdoaWNoIHZhbGlkYXRlc1xuICogdGhlIHZhbHVlcyB1c2luZyB0aGUgc3VwcGxpZWQgdHlwZSBndWFyZC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQTxULCBUQz4oXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBndWFyZDogVHlwZUd1YXJkV2l0aENvbnRleHQ8VCwgVEM+LFxuICAgIHBhcmFtcz86IE9taXQ8VHlwZUd1YXJkVmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXM8VCwgVEM+LCAnZGVzY3JpcHRpb24nIHwgJ2d1YXJkJz5cbik6IFR5cGVHdWFyZFZhbGlkYXRvcjxULCBUQz4ge1xuICAgIHJldHVybiBuZXcgVHlwZUd1YXJkVmFsaWRhdG9yKHsgZGVzY3JpcHRpb24sIGd1YXJkLCAuLi4ocGFyYW1zID8/IHt9KSB9KTtcbn1cbiJdfQ==
|