@buildkitchen/validation 0.0.1 → 0.0.8
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/index.d.ts +3 -1
- package/index.js +4 -2
- package/package.json +2 -2
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @document README.md
|
|
3
3
|
* @packageDocumentation
|
|
4
|
+
* @module
|
|
5
|
+
* @mergeModuleWith <project>
|
|
4
6
|
*/
|
|
5
7
|
/**
|
|
6
8
|
* Represent data who's type hasn't been validated yet.
|
|
@@ -268,4 +270,4 @@ export function validateJSONValue(value) {
|
|
|
268
270
|
export function validateJSONObject(jsonObject) {
|
|
269
271
|
return validateObject(jsonObject, validateJSONValue);
|
|
270
272
|
}
|
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9AYnVpbGRraXRjaGVuL3ZhbGlkYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBV0o7SUFDQTtJQVhsQixrRkFBa0Y7SUFDbEYsZ0JBQWdCO0lBQ1AsV0FBVyxDQUFJO0lBQ3hCOzs7OztPQUtHO0lBQ0gsWUFDa0IsUUFBaUIsRUFDakIsT0FBdUM7UUFEdkMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFnQztRQUV2RCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQXlCLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUNYLFFBQVcsRUFDWCxPQUF3QixFQUN4QixhQUFvQztRQUVwQyxPQUFPLElBQUksV0FBVyxDQUNwQixRQUFRLEVBQ1IsYUFBYSxFQUFFLE9BQU8sS0FBSyxTQUFTO1lBQ2xDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FDeEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUNuQixJQUFZLEVBQ1osT0FBZTtRQUVmLElBQUksQ0FBQztZQUNILE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEQs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QztRQUNkLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxTQUFTO1lBQ1osT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3hCLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNkLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsT0FBTyxhQUFhLENBQ2xCLEtBQUssQ0FBQyxNQUFNLEVBQTRCLEVBQ3hDLGlCQUFpQixDQUNsQixDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBYyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNEO1lBQ0UsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFVBQW1DO0lBRW5DLE9BQU8sY0FBYyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHtAaW5jbHVkZSBSRUFETUUubWR9XG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqL1xuLyoqXG4gKiBSZXByZXNlbnQgZGF0YSB3aG8ncyB0eXBlIGhhc24ndCBiZWVuIHZhbGlkYXRlZCB5ZXQuXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogIGludGVyZmFjZSBUZXN0IGV4dGVuZHMgSlNPTk9iamVjdCB7XG4gKiAgICByZWFkb25seSBmb286IHN0cmluZztcbiAqICAgIHJlYWRvbmx5IHg6IG51bWJlcjtcbiAqICB9XG4gKiAgY29uc3QgdGVzdCA9IEpTT04uc3RyaW5naWZ5KHtmb286IFwiYmFyXCIsIHg6IDQyfSlcbiAqICBjb25zdCB1bnZhbGlkYXRlZCA9IFVudmFsaWRhdGVkLmNyZWF0ZUZyb21KU09OPFRlc3Q+KHRlc3QsIFwibG9hZGVkIGZyb20gaGVsbG9Xb3JsZC50eHRcIik7XG4gKiAgdmFsaWRhdGVTdHJpbmcodW52YWxpZGF0ZWQuZ2V0KFwiZm9vXCIpKTsgLy8gXCJiYXJcIlxuICogIHZhbGlkYXRlTnVtYmVyKHVudmFsaWRhdGVkLmdldChcInhcIikpOyAvLyA0MlxuICpcbiAqICAvLyBUeXBlc2NyaXB0IHdvbid0IGNvbXBpbGUgYmVjYXVzZSBmb28xIGlzIG5vdCBhIG1lbWJlciBvZiB0aGUgdmFsaWRhdGVkIHR5cGUuXG4gKiAgLy8gQWxzbyBwYWlyZWQgd2l0aCBhIHJ1bnRpbWUgZXJyb3IuXG4gKiAgdmFsaWRhdGVTdHJpbmcodW52YWxpZGF0ZWQuZ2V0KFwiZm9vMVwiKSk7XG4gKiBgYGBcbiAqXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgdGhlIHNoYXBlIHRoZSBvYmplY3Qgc2hvdWxkIGhhdmUuIFVzZWQgaW4gdGhlIHR5cGluZyBvZiB7QGxpbmsgVW52YWxpZGF0ZWQuZ2V0fVxuICogdG8gc3RhdGljYWxseSBlbmZvcmNlIHR5cGUgc2FmZXR5LlxuICovXG5leHBvcnQgY2xhc3MgVW52YWxpZGF0ZWQ8VD4ge1xuICAvLyBUaGlzIG1ha2VzIHN1cmUgdGhhdCBlYWNoIGluc3RhbmNlIG9mIFVudmFsaWRhdGVkIGlzbid0IGR1Y2t0eXBlZCB0byBlYWNoIG90aGVyXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcmVhZG9ubHkgX190eXBlQ2hlY2s6IFQ7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFVzZXJQcm9maWxlLlxuICAgKlxuICAgKiBAcGFyYW0gcmF3VmFsdWUgVGhlIHVudmFsaWRhdGVkIGRhdGEuIEFsbG93cyBkaXJlY3QgYWNjZXNzIGZvciBjb21wbGV4IHZhbGlkYXRpb24gY2FzZXMuXG4gICAqIEBwYXJhbSBjb250ZXh0IENvbnRleHQgdXNlZCBmb3IgcmVwb3J0aW5nIGVycm9ycyBkdXJpbmcgdmFsaWRhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHJhd1ZhbHVlOiB1bmtub3duLFxuICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0OiBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlcj5cbiAgKSB7XG4gICAgdGhpcy5fX3R5cGVDaGVjayA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIFVudmFsaWRhdGVkPFQ+IGZyb20gYW4gaW4tbWVtb3J5IG9iamVjdC5cbiAgICpcbiAgICogVXNlZnVsIHdoZW4gZ2V0dGluZyBkYXRhIGZyb20gYSBzb3VyY2Ugd2hvJ3Mgc2NoZW1hIHN0aWxsIG5lZWRzIHRvIGJlIGNoZWNrZWQgaS5lLiBkYXRhYmFzZSByZXN1bHRzIGV0Yy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgdGhlIHNoYXBlIHRoZSBvYmplY3Qgc2hvdWxkIGhhdmUuXG4gICAqIEBwYXJhbSByYXdWYWx1ZVxuICAgKiBAcGFyYW0gY29udGV4dFxuICAgKiBAcGFyYW0gcmVsZXZhbnRWYWx1ZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgc3RhdGljIGNyZWF0ZTxUPihcbiAgICByYXdWYWx1ZTogVCxcbiAgICBjb250ZXh0OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgcmVsZXZhbnRWYWx1ZT86IFVudmFsaWRhdGVkPHVua25vd24+XG4gICk6IFVudmFsaWRhdGVkPFQ+IHtcbiAgICByZXR1cm4gbmV3IFVudmFsaWRhdGVkKFxuICAgICAgcmF3VmFsdWUsXG4gICAgICByZWxldmFudFZhbHVlPy5jb250ZXh0ID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBbY29udGV4dF1cbiAgICAgICAgOiBbLi4ucmVsZXZhbnRWYWx1ZS5jb250ZXh0LCBjb250ZXh0XVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIFVudmFsaWRhdGVkPFQ+IGZyb20gSlNPTiB0ZXh0LlxuICAgKlxuICAgKiBTaG9ydGN1dCBmb3IgY3JlYXRpbmcgYW4gVW52YWxpZGF0ZWQ8VD4gZnJvbSBKU09OLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFQgLSBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyB0aGUgc2hhcGUgdGhlIG9iamVjdCBzaG91bGQgaGF2ZS5cbiAgICogQHBhcmFtIGpzb25cbiAgICogQHBhcmFtIGNvbnRleHRcbiAgICogQHJldHVybnNcbiAgICovXG4gIHN0YXRpYyBjcmVhdGVGcm9tSlNPTjxUIGV4dGVuZHMgSlNPTlZhbHVlPihcbiAgICBqc29uOiBzdHJpbmcsXG4gICAgY29udGV4dDogc3RyaW5nXG4gICk6IFVudmFsaWRhdGVkPFQ+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBVbnZhbGlkYXRlZChKU09OLnBhcnNlKGpzb24pIGFzIFQsIFtjb250ZXh0XSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBwYXJzaW5nIGpzb25gLCB7IGNhdXNlOiBlIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBY2Nlc3MgYSB2YWx1ZSBmcm9tIGFuIFVudmFsaWRhdGVkIG9iamVjdC5cbiAgICpcbiAgICogcmV0dXJucyBVbnZhbGlkYXRlZDx1bmRlZmluZWQ+IG9mIHRoaXMga2V5IGRvZXMgbm90IGV4aXN0IG9uIHRoZSBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldDxLIGV4dGVuZHMgKFQgZXh0ZW5kcyB1bmRlZmluZWQgPyBuZXZlciA6IGtleW9mIFQpPihcbiAgICBrZXk6IEsgJiAoc3RyaW5nIHwgbnVtYmVyKVxuICApOiBVbnZhbGlkYXRlZDxUIGV4dGVuZHMgdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogVFtLXT4ge1xuICAgIGlmICh0aGlzLnJhd1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBuZXcgVW52YWxpZGF0ZWQodW5kZWZpbmVkLCBbLi4udGhpcy5jb250ZXh0LCBrZXldKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBVbnZhbGlkYXRlZCgodGhpcy5yYXdWYWx1ZSBhcyBFeGNsdWRlPFQsIHVuZGVmaW5lZD4pW2tleV0sIFtcbiAgICAgIC4uLnRoaXMuY29udGV4dCxcbiAgICAgIGtleVxuICAgIF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciB0byBhbGxvdyBjYXN0aW5nIHBhcmVudCB0eXBlcyB0byBjaGlsZCB0eXBlcy5cbiAgICpcbiAgICogTW9zdGx5IHVzZWQgYWZ0ZXIgdHlwZSBkaXNjcmltaW5hdGlvbiB3aXRoIHtAbGluayB2YWxpZGF0ZUlzTWVtYmVyfVxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY2FzdFRvPFUgZXh0ZW5kcyBUPigpOiBVbnZhbGlkYXRlZDxVPiB7XG4gICAgcmV0dXJuIHRoaXMgYXMgdW5rbm93biBhcyBVbnZhbGlkYXRlZDxVPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcmFwIHRoZSBVbnZhbGlkYXRlZCdzIGNvbnRleHQgYXJvdW5kIGFuIGVycm9yIHRocm93IGR1cmluZyB2YWxpZGF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY2F1c2VcbiAgICovXG4gIHRocm93VmFsaWRhdGlvbkVycm9yKGNhdXNlOiBFcnJvcik6IG5ldmVyIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgSW4gdmFsaWRhdGlvbiBjb250ZXh0OiAnJHtKU09OLnN0cmluZ2lmeSh0aGlzLmNvbnRleHQpfSdgLFxuICAgICAgeyBjYXVzZSB9XG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFZhbGlkYXRlIHBvc3NpYmx5IHVuZGVmaW5lZCB2YWx1ZSB3aXRoIGEgY3VzdG9tIHZhbGlkYXRvclxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIHZhbGlkYXRvclxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTWF5YmVVbmRlZmluZWQ8VCwgVj4oXG4gIHZhbHVlOiBVbnZhbGlkYXRlZDxUIHwgdW5kZWZpbmVkPixcbiAgdmFsaWRhdG9yOiAodmFsdWU6IFVudmFsaWRhdGVkPFQ+KSA9PiBWXG4pOiBWIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHZhbHVlLnJhd1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiB2YWxpZGF0b3IodmFsdWUuY2FzdFRvPFQ+KCkpO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgdGhlIHZhbHVlIGlzIGEgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU3RyaW5nKHZhbHVlOiBVbnZhbGlkYXRlZDxzdHJpbmc+KTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZS5yYXdWYWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIHZhbHVlLnRocm93VmFsaWRhdGlvbkVycm9yKFxuICAgICAgbmV3IEVycm9yKGB2YWx1ZSBpcyBub3QgYSBzdHJpbmcuIEl0IGlzICcke3R5cGVvZiB2YWx1ZS5yYXdWYWx1ZX0nYClcbiAgICApO1xuICB9XG4gIHJldHVybiB2YWx1ZS5yYXdWYWx1ZTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IHRoZSB2YWx1ZSBpcyBudW1iZXIuXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU51bWJlcih2YWx1ZTogVW52YWxpZGF0ZWQ8bnVtYmVyPik6IG51bWJlciB7XG4gIGlmICh0eXBlb2YgdmFsdWUucmF3VmFsdWUgIT09IFwibnVtYmVyXCIpIHtcbiAgICB2YWx1ZS50aHJvd1ZhbGlkYXRpb25FcnJvcihcbiAgICAgIG5ldyBFcnJvcihgdmFsdWUgaXMgbm90IGEgbnVtYmVyLiBJdCBpcyAnJHt0eXBlb2YgdmFsdWUucmF3VmFsdWV9J2ApXG4gICAgKTtcbiAgfVxuICByZXR1cm4gdmFsdWUucmF3VmFsdWU7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgdGhhdCB0aGUgdmFsdWUgaXMgYSBCaWdJbnQuXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUJpZ0ludCh2YWx1ZTogVW52YWxpZGF0ZWQ8YmlnaW50Pik6IGJpZ2ludCB7XG4gIGlmICh0eXBlb2YgdmFsdWUucmF3VmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gQmlnSW50KHZhbHVlLnJhd1ZhbHVlKTtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlLnJhd1ZhbHVlICE9PSBcImJpZ2ludFwiKSB7XG4gICAgdmFsdWUudGhyb3dWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBuZXcgRXJyb3IoYHZhbHVlIGlzIG5vdCBhIGJpZ2ludC4gSXQgaXMgJyR7dHlwZW9mIHZhbHVlLnJhd1ZhbHVlfSdgKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlLnJhd1ZhbHVlO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgdGhlIHZhbHVlIHVzIGEgYm9vbGVhbi5cbiAqIEBwYXJhbSB2YWx1ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQm9vbGVhbih2YWx1ZTogVW52YWxpZGF0ZWQ8Ym9vbGVhbj4pOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZS5yYXdWYWx1ZSAhPT0gXCJib29sZWFuXCIpIHtcbiAgICB2YWx1ZS50aHJvd1ZhbGlkYXRpb25FcnJvcihcbiAgICAgIG5ldyBFcnJvcihgdmFsdWUgaXMgbm90IGEgYm9vbGVhbi4gSXQgaXMgJyR7dHlwZW9mIHZhbHVlLnJhd1ZhbHVlfSdgKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlLnJhd1ZhbHVlO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgdGhlIHZhbHVlIGlzIGFuIGFycmF5LCB1c2luZyBhIGN1c3RvbSB2YWxpZGF0b3IgZm9yIGVhY2ggZWxlbWVudC5cbiAqIEBwYXJhbSBhcnJheVxuICogQHBhcmFtIHZhbGlkYXRvclxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQXJyYXk8VCwgViA9IFQ+KFxuICBhcnJheTogVW52YWxpZGF0ZWQ8UmVhZG9ubHlBcnJheTxUPj4sXG4gIHZhbGlkYXRvcjogKG9iamVjdDogVW52YWxpZGF0ZWQ8VD4sIGluZGV4OiBudW1iZXIpID0+IFZcbik6IEFycmF5PFY+IHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGFycmF5LnJhd1ZhbHVlKSkge1xuICAgIGFycmF5LnRocm93VmFsaWRhdGlvbkVycm9yKFxuICAgICAgbmV3IEVycm9yKGB2YWx1ZSBpcyBub3QgYW4gYXJyYXkuIEl0IGlzICcke3R5cGVvZiBhcnJheS5yYXdWYWx1ZX0nYClcbiAgICApO1xuICB9XG4gIHJldHVybiBhcnJheS5yYXdWYWx1ZS5tYXAoKF8sIGluZGV4KSA9PiB7XG4gICAgcmV0dXJuIHZhbGlkYXRvcihhcnJheS5nZXQoaW5kZXgpLCBpbmRleCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFNob3J0dWN0IGZvciBjb21iaW5pbmcge0BsaW5rIHZhbGlkYXRlQXJyYXl9IHdpdGgge0BsaW5rIHZhbGlkYXRlU3RyaW5nfVxuICogQHBhcmFtIG9iamVjdFxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU3RyaW5nQXJyYXkoXG4gIG9iamVjdDogVW52YWxpZGF0ZWQ8UmVhZG9ubHlBcnJheTxzdHJpbmc+PlxuKTogUmVhZG9ubHlBcnJheTxzdHJpbmc+IHtcbiAgcmV0dXJuIHZhbGlkYXRlQXJyYXkob2JqZWN0LCB2YWxpZGF0ZVN0cmluZyk7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgYSBSZWNvcmQgd2l0aCBzdHJpbmcga2V5cyB3aXRoIGEgY3VzdG9tIHZhbGlkYXRvciBmb3IgdGhlIHZhbHVlcy5cbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIHZhbGlkYXRvclxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlT2JqZWN0PFQsIFM+KFxuICB2YWx1ZTogVW52YWxpZGF0ZWQ8UmVjb3JkPHN0cmluZywgVD4+LFxuICB2YWxpZGF0b3I6ICh1bnZhbGlkYXRlZDogVW52YWxpZGF0ZWQ8VD4sIGtleTogc3RyaW5nKSA9PiBTXG4pOiBSZWNvcmQ8c3RyaW5nLCBTPiB7XG4gIGNvbnN0IHJhd1ZhbHVlID0gdmFsdWUucmF3VmFsdWUgYXMgUmVjb3JkPHN0cmluZywgVD47XG4gIGlmICh0eXBlb2YgcmF3VmFsdWUgIT09IFwib2JqZWN0XCIpIHtcbiAgICB2YWx1ZS50aHJvd1ZhbGlkYXRpb25FcnJvcihuZXcgRXJyb3IoYHZhbHVlIGlzIG5vdCBhbiBvYmplY3RgKSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICBpZiAocmF3VmFsdWUgPT09IG51bGwpIHtcbiAgICB2YWx1ZS50aHJvd1ZhbGlkYXRpb25FcnJvcihuZXcgRXJyb3IoYHZhbHVlIGlzIG51bGxgKSk7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShyYXdWYWx1ZSkpIHtcbiAgICB2YWx1ZS50aHJvd1ZhbGlkYXRpb25FcnJvcihcbiAgICAgIG5ldyBFcnJvcihgdmFsdWUgaXMgbm90IGFuIG9iamVjdC4gaXQgaXMgYW4gYXJyYXlgKVxuICAgICk7XG4gIH1cblxuICBjb25zdCByZXN1bHRPYmplY3Q6IFJlY29yZDxzdHJpbmcsIFM+ID0ge307XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJhd1ZhbHVlKSkge1xuICAgIHJlc3VsdE9iamVjdFtrZXldID0gdmFsaWRhdG9yKHZhbHVlLmdldChrZXkpLCBrZXkpO1xuICB9XG4gIHJldHVybiByZXN1bHRPYmplY3Q7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgdGhhdCB2YWx1ZSBpcyBhIHN0cmluZyB0aGF0IGlzIGEgbWVtYmVyIG9mIGdyb3VwLlxuICpcbiAqIFVzZWZ1bCB3aGVuIHJlbHlpbmcgb24gdHlwZSBkaXNjcmltaW5hdGlvbiB0byBoZWxwIGZpZ3VyZSBvdXQgd2hpY2ggY2hpbGQgdHlwZSB0byBjYXN0IGEgcGFyZW50IHR5cGUgdG8uXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEBwYXJhbSBncm91cFxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSXNNZW1iZXI8UyBleHRlbmRzIHN0cmluZz4oXG4gIHZhbHVlOiBVbnZhbGlkYXRlZDxTPixcbiAgZ3JvdXA6IFJlYWRvbmx5U2V0PFM+XG4pOiBTIHtcbiAgY29uc3Qgc3RyaW5nVmFsdWUgPSB2YWxpZGF0ZVN0cmluZyh2YWx1ZSk7XG4gIGlmIChncm91cC5oYXMoc3RyaW5nVmFsdWUgYXMgUykpIHtcbiAgICByZXR1cm4gc3RyaW5nVmFsdWUgYXMgUztcbiAgfVxuICB2YWx1ZS50aHJvd1ZhbGlkYXRpb25FcnJvcihcbiAgICBuZXcgRXJyb3IoXG4gICAgICBgJyR7c3RyaW5nVmFsdWV9JyB3YXMgbm90IGZvdW5kIGluICcke0pTT04uc3RyaW5naWZ5KFsuLi5ncm91cF0pfSdgXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgdHlwZSBKU09OUHJpbWl0aXZlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XG5leHBvcnQgdHlwZSBKU09OVmFsdWUgPSBKU09OUHJpbWl0aXZlIHwgSlNPTk9iamVjdCB8IFJlYWRvbmx5QXJyYXk8SlNPTlZhbHVlPjtcbmV4cG9ydCBpbnRlcmZhY2UgSlNPTk9iamVjdCB7XG4gIFtrZXk6IHN0cmluZ106IEpTT05WYWx1ZSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhIEpTT04gdmFsdWUuXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUpTT05WYWx1ZSh2YWx1ZTogVW52YWxpZGF0ZWQ8SlNPTlZhbHVlPik6IEpTT05WYWx1ZSB7XG4gIGlmICh2YWx1ZS5yYXdWYWx1ZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiB2YWx1ZS5yYXdWYWx1ZTtcbiAgfVxuICBpZiAodmFsdWUucmF3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB2YWx1ZS5yYXdWYWx1ZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlLnJhd1ZhbHVlKSB7XG4gICAgY2FzZSBcInN0cmluZ1wiOlxuICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgcmV0dXJuIHZhbHVlLnJhd1ZhbHVlO1xuICAgIGNhc2UgXCJvYmplY3RcIjoge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUucmF3VmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZUFycmF5KFxuICAgICAgICAgIHZhbHVlLmNhc3RUbzxSZWFkb25seUFycmF5PEpTT05WYWx1ZT4+KCksXG4gICAgICAgICAgdmFsaWRhdGVKU09OVmFsdWVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWxpZGF0ZUpTT05PYmplY3QodmFsdWUuY2FzdFRvPEpTT05PYmplY3Q+KCkpO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgdmFsdWUudGhyb3dWYWxpZGF0aW9uRXJyb3IobmV3IEVycm9yKGB2YWx1ZSBpcyBub3QgYSBqc29uIHZhbHVlYCkpO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGUgYSBKU09OIG9iamVjdC5cbiAqIEBwYXJhbSBqc29uT2JqZWN0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVKU09OT2JqZWN0KFxuICBqc29uT2JqZWN0OiBVbnZhbGlkYXRlZDxKU09OT2JqZWN0PlxuKTogSlNPTk9iamVjdCB7XG4gIHJldHVybiB2YWxpZGF0ZU9iamVjdChqc29uT2JqZWN0LCB2YWxpZGF0ZUpTT05WYWx1ZSk7XG59XG4iXX0=
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9AYnVpbGRraXRjaGVuL3ZhbGlkYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFXSjtJQUNBO0lBWGxCLGtGQUFrRjtJQUNsRixnQkFBZ0I7SUFDUCxXQUFXLENBQUk7SUFDeEI7Ozs7O09BS0c7SUFDSCxZQUNrQixRQUFpQixFQUNqQixPQUF1QztRQUR2QyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQWdDO1FBRXZELElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBeUIsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQ1gsUUFBVyxFQUNYLE9BQXdCLEVBQ3hCLGFBQW9DO1FBRXBDLE9BQU8sSUFBSSxXQUFXLENBQ3BCLFFBQVEsRUFDUixhQUFhLEVBQUUsT0FBTyxLQUFLLFNBQVM7WUFDbEMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUN4QyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQ25CLElBQVksRUFDWixPQUFlO1FBRWYsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0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QUFDO1FBQ2QsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFNBQVM7WUFDWixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDeEIsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLGFBQWEsQ0FDbEIsS0FBSyxDQUFDLE1BQU0sRUFBNEIsRUFDeEMsaUJBQWlCLENBQ2xCLENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFjLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0Q7WUFDRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsVUFBbUM7SUFFbkMsT0FBTyxjQUFjLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRvY3VtZW50IFJFQURNRS5tZFxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlXG4gKiBAbWVyZ2VNb2R1bGVXaXRoIDxwcm9qZWN0PlxuICovXG4vKipcbiAqIFJlcHJlc2VudCBkYXRhIHdobydzIHR5cGUgaGFzbid0IGJlZW4gdmFsaWRhdGVkIHlldC5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAgaW50ZXJmYWNlIFRlc3QgZXh0ZW5kcyBKU09OT2JqZWN0IHtcbiAqICAgIHJlYWRvbmx5IGZvbzogc3RyaW5nO1xuICogICAgcmVhZG9ubHkgeDogbnVtYmVyO1xuICogIH1cbiAqICBjb25zdCB0ZXN0ID0gSlNPTi5zdHJpbmdpZnkoe2ZvbzogXCJiYXJcIiwgeDogNDJ9KVxuICogIGNvbnN0IHVudmFsaWRhdGVkID0gVW52YWxpZGF0ZWQuY3JlYXRlRnJvbUpTT048VGVzdD4odGVzdCwgXCJsb2FkZWQgZnJvbSBoZWxsb1dvcmxkLnR4dFwiKTtcbiAqICB2YWxpZGF0ZVN0cmluZyh1bnZhbGlkYXRlZC5nZXQoXCJmb29cIikpOyAvLyBcImJhclwiXG4gKiAgdmFsaWRhdGVOdW1iZXIodW52YWxpZGF0ZWQuZ2V0KFwieFwiKSk7IC8vIDQyXG4gKlxuICogIC8vIFR5cGVzY3JpcHQgd29uJ3QgY29tcGlsZSBiZWNhdXNlIGZvbzEgaXMgbm90IGEgbWVtYmVyIG9mIHRoZSB2YWxpZGF0ZWQgdHlwZS5cbiAqICAvLyBBbHNvIHBhaXJlZCB3aXRoIGEgcnVudGltZSBlcnJvci5cbiAqICB2YWxpZGF0ZVN0cmluZyh1bnZhbGlkYXRlZC5nZXQoXCJmb28xXCIpKTtcbiAqIGBgYFxuICpcbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyB0aGUgc2hhcGUgdGhlIG9iamVjdCBzaG91bGQgaGF2ZS4gVXNlZCBpbiB0aGUgdHlwaW5nIG9mIHtAbGluayBVbnZhbGlkYXRlZC5nZXR9XG4gKiB0byBzdGF0aWNhbGx5IGVuZm9yY2UgdHlwZSBzYWZldHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBVbnZhbGlkYXRlZDxUPiB7XG4gIC8vIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGVhY2ggaW5zdGFuY2Ugb2YgVW52YWxpZGF0ZWQgaXNuJ3QgZHVja3R5cGVkIHRvIGVhY2ggb3RoZXJcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICByZWFkb25seSBfX3R5cGVDaGVjazogVDtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVXNlclByb2ZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSByYXdWYWx1ZSBUaGUgdW52YWxpZGF0ZWQgZGF0YS4gQWxsb3dzIGRpcmVjdCBhY2Nlc3MgZm9yIGNvbXBsZXggdmFsaWRhdGlvbiBjYXNlcy5cbiAgICogQHBhcmFtIGNvbnRleHQgQ29udGV4dCB1c2VkIGZvciByZXBvcnRpbmcgZXJyb3JzIGR1cmluZyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmF3VmFsdWU6IHVua25vd24sXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnRleHQ6IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyPlxuICApIHtcbiAgICB0aGlzLl9fdHlwZUNoZWNrID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gVW52YWxpZGF0ZWQ8VD4gZnJvbSBhbiBpbi1tZW1vcnkgb2JqZWN0LlxuICAgKlxuICAgKiBVc2VmdWwgd2hlbiBnZXR0aW5nIGRhdGEgZnJvbSBhIHNvdXJjZSB3aG8ncyBzY2hlbWEgc3RpbGwgbmVlZHMgdG8gYmUgY2hlY2tlZCBpLmUuIGRhdGFiYXNlIHJlc3VsdHMgZXRjLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFQgLSBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyB0aGUgc2hhcGUgdGhlIG9iamVjdCBzaG91bGQgaGF2ZS5cbiAgICogQHBhcmFtIHJhd1ZhbHVlXG4gICAqIEBwYXJhbSBjb250ZXh0XG4gICAqIEBwYXJhbSByZWxldmFudFZhbHVlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBzdGF0aWMgY3JlYXRlPFQ+KFxuICAgIHJhd1ZhbHVlOiBULFxuICAgIGNvbnRleHQ6IHN0cmluZyB8IG51bWJlcixcbiAgICByZWxldmFudFZhbHVlPzogVW52YWxpZGF0ZWQ8dW5rbm93bj5cbiAgKTogVW52YWxpZGF0ZWQ8VD4ge1xuICAgIHJldHVybiBuZXcgVW52YWxpZGF0ZWQoXG4gICAgICByYXdWYWx1ZSxcbiAgICAgIHJlbGV2YW50VmFsdWU/LmNvbnRleHQgPT09IHVuZGVmaW5lZFxuICAgICAgICA/IFtjb250ZXh0XVxuICAgICAgICA6IFsuLi5yZWxldmFudFZhbHVlLmNvbnRleHQsIGNvbnRleHRdXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gVW52YWxpZGF0ZWQ8VD4gZnJvbSBKU09OIHRleHQuXG4gICAqXG4gICAqIFNob3J0Y3V0IGZvciBjcmVhdGluZyBhbiBVbnZhbGlkYXRlZDxUPiBmcm9tIEpTT04uXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVCAtIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIHRoZSBzaGFwZSB0aGUgb2JqZWN0IHNob3VsZCBoYXZlLlxuICAgKiBAcGFyYW0ganNvblxuICAgKiBAcGFyYW0gY29udGV4dFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgc3RhdGljIGNyZWF0ZUZyb21KU09OPFQgZXh0ZW5kcyBKU09OVmFsdWU+KFxuICAgIGpzb246IHN0cmluZyxcbiAgICBjb250ZXh0OiBzdHJpbmdcbiAgKTogVW52YWxpZGF0ZWQ8VD4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbmV3IFVudmFsaWRhdGVkKEpTT04ucGFyc2UoanNvbikgYXMgVCwgW2NvbnRleHRdKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIHBhcnNpbmcganNvbmAsIHsgY2F1c2U6IGUgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VzcyBhIHZhbHVlIGZyb20gYW4gVW52YWxpZGF0ZWQgb2JqZWN0LlxuICAgKlxuICAgKiByZXR1cm5zIFVudmFsaWRhdGVkPHVuZGVmaW5lZD4gb2YgdGhpcyBrZXkgZG9lcyBub3QgZXhpc3Qgb24gdGhlIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIGtleVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0PEsgZXh0ZW5kcyAoVCBleHRlbmRzIHVuZGVmaW5lZCA/IG5ldmVyIDoga2V5b2YgVCk+KFxuICAgIGtleTogSyAmIChzdHJpbmcgfCBudW1iZXIpXG4gICk6IFVudmFsaWRhdGVkPFQgZXh0ZW5kcyB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBUW0tdPiB7XG4gICAgaWYgKHRoaXMucmF3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5ldyBVbnZhbGlkYXRlZCh1bmRlZmluZWQsIFsuLi50aGlzLmNvbnRleHQsIGtleV0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFVudmFsaWRhdGVkKCh0aGlzLnJhd1ZhbHVlIGFzIEV4Y2x1ZGU8VCwgdW5kZWZpbmVkPilba2V5XSwgW1xuICAgICAgLi4udGhpcy5jb250ZXh0LFxuICAgICAga2V5XG4gICAgXSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIHRvIGFsbG93IGNhc3RpbmcgcGFyZW50IHR5cGVzIHRvIGNoaWxkIHR5cGVzLlxuICAgKlxuICAgKiBNb3N0bHkgdXNlZCBhZnRlciB0eXBlIGRpc2NyaW1pbmF0aW9uIHdpdGgge0BsaW5rIHZhbGlkYXRlSXNNZW1iZXJ9XG4gICAqXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjYXN0VG88VSBleHRlbmRzIFQ+KCk6IFVudmFsaWRhdGVkPFU+IHtcbiAgICByZXR1cm4gdGhpcyBhcyB1bmtub3duIGFzIFVudmFsaWRhdGVkPFU+O1xuICB9XG5cbiAgLyoqXG4gICAqIFdyYXAgdGhlIFVudmFsaWRhdGVkJ3MgY29udGV4dCBhcm91bmQgYW4gZXJyb3IgdGhyb3cgZHVyaW5nIHZhbGlkYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjYXVzZVxuICAgKi9cbiAgdGhyb3dWYWxpZGF0aW9uRXJyb3IoY2F1c2U6IEVycm9yKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBJbiB2YWxpZGF0aW9uIGNvbnRleHQ6ICcke0pTT04uc3RyaW5naWZ5KHRoaXMuY29udGV4dCl9J2AsXG4gICAgICB7IGNhdXNlIH1cbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGUgcG9zc2libHkgdW5kZWZpbmVkIHZhbHVlIHdpdGggYSBjdXN0b20gdmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKiBAcGFyYW0gdmFsaWRhdG9yXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVNYXliZVVuZGVmaW5lZDxULCBWPihcbiAgdmFsdWU6IFVudmFsaWRhdGVkPFQgfCB1bmRlZmluZWQ+LFxuICB2YWxpZGF0b3I6ICh2YWx1ZTogVW52YWxpZGF0ZWQ8VD4pID0+IFZcbik6IFYgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUucmF3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIHZhbGlkYXRvcih2YWx1ZS5jYXN0VG88VD4oKSk7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgdGhhdCB0aGUgdmFsdWUgaXMgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTdHJpbmcodmFsdWU6IFVudmFsaWRhdGVkPHN0cmluZz4pOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHZhbHVlLnJhd1ZhbHVlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgdmFsdWUudGhyb3dWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBuZXcgRXJyb3IoYHZhbHVlIGlzIG5vdCBhIHN0cmluZy4gSXQgaXMgJyR7dHlwZW9mIHZhbHVlLnJhd1ZhbHVlfSdgKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlLnJhd1ZhbHVlO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgdGhlIHZhbHVlIGlzIG51bWJlci5cbiAqIEBwYXJhbSB2YWx1ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTnVtYmVyKHZhbHVlOiBVbnZhbGlkYXRlZDxudW1iZXI+KTogbnVtYmVyIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZS5yYXdWYWx1ZSAhPT0gXCJudW1iZXJcIikge1xuICAgIHZhbHVlLnRocm93VmFsaWRhdGlvbkVycm9yKFxuICAgICAgbmV3IEVycm9yKGB2YWx1ZSBpcyBub3QgYSBudW1iZXIuIEl0IGlzICcke3R5cGVvZiB2YWx1ZS5yYXdWYWx1ZX0nYClcbiAgICApO1xuICB9XG4gIHJldHVybiB2YWx1ZS5yYXdWYWx1ZTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IHRoZSB2YWx1ZSBpcyBhIEJpZ0ludC5cbiAqIEBwYXJhbSB2YWx1ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQmlnSW50KHZhbHVlOiBVbnZhbGlkYXRlZDxiaWdpbnQ+KTogYmlnaW50IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZS5yYXdWYWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgIHJldHVybiBCaWdJbnQodmFsdWUucmF3VmFsdWUpO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUucmF3VmFsdWUgIT09IFwiYmlnaW50XCIpIHtcbiAgICB2YWx1ZS50aHJvd1ZhbGlkYXRpb25FcnJvcihcbiAgICAgIG5ldyBFcnJvcihgdmFsdWUgaXMgbm90IGEgYmlnaW50LiBJdCBpcyAnJHt0eXBlb2YgdmFsdWUucmF3VmFsdWV9J2ApXG4gICAgKTtcbiAgfVxuICByZXR1cm4gdmFsdWUucmF3VmFsdWU7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgdGhhdCB0aGUgdmFsdWUgdXMgYSBib29sZWFuLlxuICogQHBhcmFtIHZhbHVlXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVCb29sZWFuKHZhbHVlOiBVbnZhbGlkYXRlZDxib29sZWFuPik6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIHZhbHVlLnJhd1ZhbHVlICE9PSBcImJvb2xlYW5cIikge1xuICAgIHZhbHVlLnRocm93VmFsaWRhdGlvbkVycm9yKFxuICAgICAgbmV3IEVycm9yKGB2YWx1ZSBpcyBub3QgYSBib29sZWFuLiBJdCBpcyAnJHt0eXBlb2YgdmFsdWUucmF3VmFsdWV9J2ApXG4gICAgKTtcbiAgfVxuICByZXR1cm4gdmFsdWUucmF3VmFsdWU7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgdGhhdCB0aGUgdmFsdWUgaXMgYW4gYXJyYXksIHVzaW5nIGEgY3VzdG9tIHZhbGlkYXRvciBmb3IgZWFjaCBlbGVtZW50LlxuICogQHBhcmFtIGFycmF5XG4gKiBAcGFyYW0gdmFsaWRhdG9yXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBcnJheTxULCBWID0gVD4oXG4gIGFycmF5OiBVbnZhbGlkYXRlZDxSZWFkb25seUFycmF5PFQ+PixcbiAgdmFsaWRhdG9yOiAob2JqZWN0OiBVbnZhbGlkYXRlZDxUPiwgaW5kZXg6IG51bWJlcikgPT4gVlxuKTogQXJyYXk8Vj4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkucmF3VmFsdWUpKSB7XG4gICAgYXJyYXkudGhyb3dWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBuZXcgRXJyb3IoYHZhbHVlIGlzIG5vdCBhbiBhcnJheS4gSXQgaXMgJyR7dHlwZW9mIGFycmF5LnJhd1ZhbHVlfSdgKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGFycmF5LnJhd1ZhbHVlLm1hcCgoXywgaW5kZXgpID0+IHtcbiAgICByZXR1cm4gdmFsaWRhdG9yKGFycmF5LmdldChpbmRleCksIGluZGV4KTtcbiAgfSk7XG59XG5cbi8qKlxuICogU2hvcnR1Y3QgZm9yIGNvbWJpbmluZyB7QGxpbmsgdmFsaWRhdGVBcnJheX0gd2l0aCB7QGxpbmsgdmFsaWRhdGVTdHJpbmd9XG4gKiBAcGFyYW0gb2JqZWN0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTdHJpbmdBcnJheShcbiAgb2JqZWN0OiBVbnZhbGlkYXRlZDxSZWFkb25seUFycmF5PHN0cmluZz4+XG4pOiBSZWFkb25seUFycmF5PHN0cmluZz4ge1xuICByZXR1cm4gdmFsaWRhdGVBcnJheShvYmplY3QsIHZhbGlkYXRlU3RyaW5nKTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhIFJlY29yZCB3aXRoIHN0cmluZyBrZXlzIHdpdGggYSBjdXN0b20gdmFsaWRhdG9yIGZvciB0aGUgdmFsdWVzLlxuICogQHBhcmFtIHZhbHVlXG4gKiBAcGFyYW0gdmFsaWRhdG9yXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVPYmplY3Q8VCwgUz4oXG4gIHZhbHVlOiBVbnZhbGlkYXRlZDxSZWNvcmQ8c3RyaW5nLCBUPj4sXG4gIHZhbGlkYXRvcjogKHVudmFsaWRhdGVkOiBVbnZhbGlkYXRlZDxUPiwga2V5OiBzdHJpbmcpID0+IFNcbik6IFJlY29yZDxzdHJpbmcsIFM+IHtcbiAgY29uc3QgcmF3VmFsdWUgPSB2YWx1ZS5yYXdWYWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCBUPjtcbiAgaWYgKHR5cGVvZiByYXdWYWx1ZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHZhbHVlLnRocm93VmFsaWRhdGlvbkVycm9yKG5ldyBFcnJvcihgdmFsdWUgaXMgbm90IGFuIG9iamVjdGApKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gIGlmIChyYXdWYWx1ZSA9PT0gbnVsbCkge1xuICAgIHZhbHVlLnRocm93VmFsaWRhdGlvbkVycm9yKG5ldyBFcnJvcihgdmFsdWUgaXMgbnVsbGApKTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHJhd1ZhbHVlKSkge1xuICAgIHZhbHVlLnRocm93VmFsaWRhdGlvbkVycm9yKFxuICAgICAgbmV3IEVycm9yKGB2YWx1ZSBpcyBub3QgYW4gb2JqZWN0LiBpdCBpcyBhbiBhcnJheWApXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdE9iamVjdDogUmVjb3JkPHN0cmluZywgUz4gPSB7fTtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmF3VmFsdWUpKSB7XG4gICAgcmVzdWx0T2JqZWN0W2tleV0gPSB2YWxpZGF0b3IodmFsdWUuZ2V0KGtleSksIGtleSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdE9iamVjdDtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IHZhbHVlIGlzIGEgc3RyaW5nIHRoYXQgaXMgYSBtZW1iZXIgb2YgZ3JvdXAuXG4gKlxuICogVXNlZnVsIHdoZW4gcmVseWluZyBvbiB0eXBlIGRpc2NyaW1pbmF0aW9uIHRvIGhlbHAgZmlndXJlIG91dCB3aGljaCBjaGlsZCB0eXBlIHRvIGNhc3QgYSBwYXJlbnQgdHlwZSB0by5cbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIGdyb3VwXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVJc01lbWJlcjxTIGV4dGVuZHMgc3RyaW5nPihcbiAgdmFsdWU6IFVudmFsaWRhdGVkPFM+LFxuICBncm91cDogUmVhZG9ubHlTZXQ8Uz5cbik6IFMge1xuICBjb25zdCBzdHJpbmdWYWx1ZSA9IHZhbGlkYXRlU3RyaW5nKHZhbHVlKTtcbiAgaWYgKGdyb3VwLmhhcyhzdHJpbmdWYWx1ZSBhcyBTKSkge1xuICAgIHJldHVybiBzdHJpbmdWYWx1ZSBhcyBTO1xuICB9XG4gIHZhbHVlLnRocm93VmFsaWRhdGlvbkVycm9yKFxuICAgIG5ldyBFcnJvcihcbiAgICAgIGAnJHtzdHJpbmdWYWx1ZX0nIHdhcyBub3QgZm91bmQgaW4gJyR7SlNPTi5zdHJpbmdpZnkoWy4uLmdyb3VwXSl9J2BcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIEpTT05QcmltaXRpdmUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcbmV4cG9ydCB0eXBlIEpTT05WYWx1ZSA9IEpTT05QcmltaXRpdmUgfCBKU09OT2JqZWN0IHwgUmVhZG9ubHlBcnJheTxKU09OVmFsdWU+O1xuZXhwb3J0IGludGVyZmFjZSBKU09OT2JqZWN0IHtcbiAgW2tleTogc3RyaW5nXTogSlNPTlZhbHVlIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIGEgSlNPTiB2YWx1ZS5cbiAqIEBwYXJhbSB2YWx1ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSlNPTlZhbHVlKHZhbHVlOiBVbnZhbGlkYXRlZDxKU09OVmFsdWU+KTogSlNPTlZhbHVlIHtcbiAgaWYgKHZhbHVlLnJhd1ZhbHVlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHZhbHVlLnJhd1ZhbHVlO1xuICB9XG4gIGlmICh2YWx1ZS5yYXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHZhbHVlLnJhd1ZhbHVlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUucmF3VmFsdWUpIHtcbiAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICByZXR1cm4gdmFsdWUucmF3VmFsdWU7XG4gICAgY2FzZSBcIm9iamVjdFwiOiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZS5yYXdWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlQXJyYXkoXG4gICAgICAgICAgdmFsdWUuY2FzdFRvPFJlYWRvbmx5QXJyYXk8SlNPTlZhbHVlPj4oKSxcbiAgICAgICAgICB2YWxpZGF0ZUpTT05WYWx1ZVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbGlkYXRlSlNPTk9iamVjdCh2YWx1ZS5jYXN0VG88SlNPTk9iamVjdD4oKSk7XG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICB2YWx1ZS50aHJvd1ZhbGlkYXRpb25FcnJvcihuZXcgRXJyb3IoYHZhbHVlIGlzIG5vdCBhIGpzb24gdmFsdWVgKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhIEpTT04gb2JqZWN0LlxuICogQHBhcmFtIGpzb25PYmplY3RcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUpTT05PYmplY3QoXG4gIGpzb25PYmplY3Q6IFVudmFsaWRhdGVkPEpTT05PYmplY3Q+XG4pOiBKU09OT2JqZWN0IHtcbiAgcmV0dXJuIHZhbGlkYXRlT2JqZWN0KGpzb25PYmplY3QsIHZhbGlkYXRlSlNPTlZhbHVlKTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"name": "@buildkitchen/validation",
|
|
18
18
|
"bin": {},
|
|
19
19
|
"private": false,
|
|
20
|
-
"version": "0.0.
|
|
21
|
-
"
|
|
20
|
+
"version": "0.0.8",
|
|
21
|
+
"__buildkitchen": "Generated by buildkitchen",
|
|
22
22
|
"type": "module",
|
|
23
23
|
"bundledDependencies": [],
|
|
24
24
|
"dependencies": {}
|