@decaf-ts/decorator-validation 1.7.17 → 1.7.19

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.
@@ -1,13 +1,11 @@
1
1
  import { Model } from "./Model.js";
2
2
  /**
3
- * @summary Helper Function to override constructors
4
- *
3
+ * @description Helper function to create an instance by invoking a constructor with dynamic arguments.
4
+ * @summary Overrides standard construction patterns by wrapping the given constructor to allow spread argument invocation while preserving the prototype chain.
5
5
  * @template M the model instance type
6
- *
7
- * @param {Function} constructor
8
- * @param {any[]} [args]
9
- * @return {M} the new instance
10
- *
6
+ * @param {any} constructor The constructor function to invoke.
7
+ * @param {...any[]} args Optional arguments to pass to the constructor.
8
+ * @return {M} The newly constructed instance.
11
9
  * @function construct
12
10
  * @memberOf module:decorator-validation
13
11
  */
@@ -17,9 +15,10 @@ export function construct(constructor, ...args) {
17
15
  return _constr(...args);
18
16
  }
19
17
  /**
20
- * @summary Recursively finds the last prototype before Object
21
- * @param {object} obj
22
- *
18
+ * @description Recursively finds the last prototype in the chain before reaching Object.prototype.
19
+ * @summary Walks up the prototype chain to locate the most derived prototype that still precedes the base Object prototype.
20
+ * @param {object} obj The object whose prototype chain will be inspected.
21
+ * @return {object} The last prototype before Object.prototype, or the input object if its prototype is Object.prototype.
23
22
  * @function findLastProtoBeforeObject
24
23
  * @memberOf module:decorator-validation
25
24
  */
@@ -37,11 +36,27 @@ export function findLastProtoBeforeObject(obj) {
37
36
  throw new Error("Could not find proper prototype");
38
37
  }
39
38
  /**
40
- * @sumary binds the {@link Model} class as a root prototype of the provided instance
41
- *
42
- * @param {unknown} obj
43
- *
39
+ * @description Binds the Model class as the root prototype of the provided instance when not already a Model.
40
+ * @summary Ensures objects created outside of the Model inheritance chain gain Model as their ultimate prototype to access model utilities.
41
+ * @param {unknown} obj The object to bind to the Model prototype chain.
42
+ * @return {void}
44
43
  * @function bindModelPrototype
44
+ * @mermaid
45
+ * sequenceDiagram
46
+ * participant Caller
47
+ * participant Fn as bindModelPrototype
48
+ * participant M as Model.prototype
49
+ * Caller->>Fn: obj
50
+ * alt obj instanceof Model
51
+ * Fn-->>Caller: return
52
+ * else obj chain ends at Object.prototype
53
+ * Fn->>Fn: setPrototypeOf(obj, M)
54
+ * Fn-->>Caller: return
55
+ * else deep prototype chain
56
+ * Fn->>Fn: walk prototypes
57
+ * Fn->>Fn: setPrototypeOf(last, M)
58
+ * Fn-->>Caller: return
59
+ * end
45
60
  * @memberOf module:decorator-validation
46
61
  */
47
62
  export function bindModelPrototype(obj) {
@@ -63,4 +78,4 @@ export function bindModelPrototype(obj) {
63
78
  }
64
79
  throw new Error("Could not find proper prototype to bind");
65
80
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL2NvbnN0cnVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLG1CQUFnQjtBQUVoQzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3ZCLFdBQWdCLEVBQ2hCLEdBQUcsSUFBVztJQUVkLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0QsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQzFDLE9BQU8sT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxHQUFXO0lBQ25ELElBQUksU0FBUyxHQUFRLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsSUFBSSxTQUFTLEtBQUssTUFBTSxDQUFDLFNBQVM7UUFBRSxPQUFPLEdBQUcsQ0FBQztJQUMvQyxPQUFPLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0MsSUFBSSxTQUFTLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNyRCxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVk7SUFDN0MsSUFBSSxHQUFHLFlBQVksS0FBSztRQUFFLE9BQU87SUFFakMsU0FBUyxhQUFhLENBQUMsYUFBc0IsRUFBRSxTQUFpQjtRQUM5RCxNQUFNLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQVEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxJQUFJLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkMsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsT0FBTyxTQUFTLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFDRSxJQUFJLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFDekIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUNoRCxDQUFDO1lBQ0QsT0FBTyxhQUFhLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiLi9Nb2RlbFwiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEhlbHBlciBGdW5jdGlvbiB0byBvdmVycmlkZSBjb25zdHJ1Y3RvcnNcbiAqXG4gKiBAdGVtcGxhdGUgTSB0aGUgbW9kZWwgaW5zdGFuY2UgdHlwZVxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge2FueVtdfSBbYXJnc11cbiAqIEByZXR1cm4ge019IHRoZSBuZXcgaW5zdGFuY2VcbiAqXG4gKiBAZnVuY3Rpb24gY29uc3RydWN0XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3Q8TSBleHRlbmRzIE1vZGVsPihcbiAgY29uc3RydWN0b3I6IGFueSxcbiAgLi4uYXJnczogYW55W11cbik6IE0ge1xuICBjb25zdCBfY29uc3RyID0gKC4uLmFyZ3o6IGFueVtdKSA9PiBuZXcgY29uc3RydWN0b3IoLi4uYXJneik7XG4gIF9jb25zdHIucHJvdG90eXBlID0gY29uc3RydWN0b3IucHJvdG90eXBlO1xuICByZXR1cm4gX2NvbnN0ciguLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBSZWN1cnNpdmVseSBmaW5kcyB0aGUgbGFzdCBwcm90b3R5cGUgYmVmb3JlIE9iamVjdFxuICogQHBhcmFtIHtvYmplY3R9IG9ialxuICpcbiAqIEBmdW5jdGlvbiBmaW5kTGFzdFByb3RvQmVmb3JlT2JqZWN0XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTGFzdFByb3RvQmVmb3JlT2JqZWN0KG9iajogb2JqZWN0KTogb2JqZWN0IHtcbiAgbGV0IHByb3RvdHlwZTogYW55ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7XG4gIGlmIChwcm90b3R5cGUgPT09IE9iamVjdC5wcm90b3R5cGUpIHJldHVybiBvYmo7XG4gIHdoaWxlIChwcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG90eXBlKTtcbiAgICBpZiAocHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlKSByZXR1cm4gcHJvdG90eXBlO1xuICAgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG90eXBlKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkgcmV0dXJuIHByb3RvdHlwZTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCBwcm9wZXIgcHJvdG90eXBlXCIpO1xufVxuXG4vKipcbiAqIEBzdW1hcnkgYmluZHMgdGhlIHtAbGluayBNb2RlbH0gY2xhc3MgYXMgYSByb290IHByb3RvdHlwZSBvZiB0aGUgcHJvdmlkZWQgaW5zdGFuY2VcbiAqXG4gKiBAcGFyYW0ge3Vua25vd259IG9ialxuICpcbiAqIEBmdW5jdGlvbiBiaW5kTW9kZWxQcm90b3R5cGVcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmRNb2RlbFByb3RvdHlwZShvYmo6IHVua25vd24pIHtcbiAgaWYgKG9iaiBpbnN0YW5jZW9mIE1vZGVsKSByZXR1cm47XG5cbiAgZnVuY3Rpb24gYmluZFByb3RvdHlwZShvYmpUb092ZXJyaWRlOiB1bmtub3duLCBwcm90b3R5cGU6IG9iamVjdCkge1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihvYmpUb092ZXJyaWRlLCBwcm90b3R5cGUpO1xuICB9XG5cbiAgY29uc3QgcHJvdG90eXBlOiBhbnkgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgaWYgKHByb3RvdHlwZSA9PT0gT2JqZWN0LnByb3RvdHlwZSkge1xuICAgIHJldHVybiBiaW5kUHJvdG90eXBlKG9iaiwgTW9kZWwucHJvdG90eXBlKTtcbiAgfVxuICB3aGlsZSAocHJvdG90eXBlICE9PSBPYmplY3QucHJvdG90eXBlKSB7XG4gICAgY29uc3QgcHJvdCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90b3R5cGUpO1xuICAgIGlmIChcbiAgICAgIHByb3QgPT09IE9iamVjdC5wcm90b3R5cGUgfHxcbiAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90KSA9PT0gT2JqZWN0LnByb3RvdHlwZVxuICAgICkge1xuICAgICAgcmV0dXJuIGJpbmRQcm90b3R5cGUocHJvdG90eXBlLCBNb2RlbC5wcm90b3R5cGUpO1xuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCBwcm9wZXIgcHJvdG90eXBlIHRvIGJpbmRcIik7XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL2NvbnN0cnVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLG1CQUFnQjtBQUVoQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixXQUFnQixFQUNoQixHQUFHLElBQVc7SUFFZCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzdELE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUMxQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEdBQVc7SUFDbkQsSUFBSSxTQUFTLEdBQVEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxJQUFJLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUztRQUFFLE9BQU8sR0FBRyxDQUFDO0lBQy9DLE9BQU8sU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxTQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxJQUFJLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ3JELElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxNQUFNLENBQUMsU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFDO0lBQzlFLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFZO0lBQzdDLElBQUksR0FBRyxZQUFZLEtBQUs7UUFBRSxPQUFPO0lBRWpDLFNBQVMsYUFBYSxDQUFDLGFBQXNCLEVBQUUsU0FBaUI7UUFDOUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFRLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsSUFBSSxTQUFTLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELE9BQU8sU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQ0UsSUFBSSxLQUFLLE1BQU0sQ0FBQyxTQUFTO1lBQ3pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFDaEQsQ0FBQztZQUNELE9BQU8sYUFBYSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIi4vTW9kZWxcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhbiBpbnN0YW5jZSBieSBpbnZva2luZyBhIGNvbnN0cnVjdG9yIHdpdGggZHluYW1pYyBhcmd1bWVudHMuXG4gKiBAc3VtbWFyeSBPdmVycmlkZXMgc3RhbmRhcmQgY29uc3RydWN0aW9uIHBhdHRlcm5zIGJ5IHdyYXBwaW5nIHRoZSBnaXZlbiBjb25zdHJ1Y3RvciB0byBhbGxvdyBzcHJlYWQgYXJndW1lbnQgaW52b2NhdGlvbiB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBwcm90b3R5cGUgY2hhaW4uXG4gKiBAdGVtcGxhdGUgTSB0aGUgbW9kZWwgaW5zdGFuY2UgdHlwZVxuICogQHBhcmFtIHthbnl9IGNvbnN0cnVjdG9yIFRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0byBpbnZva2UuXG4gKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIE9wdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBjb25zdHJ1Y3Rvci5cbiAqIEByZXR1cm4ge019IFRoZSBuZXdseSBjb25zdHJ1Y3RlZCBpbnN0YW5jZS5cbiAqIEBmdW5jdGlvbiBjb25zdHJ1Y3RcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdDxNIGV4dGVuZHMgTW9kZWw+KFxuICBjb25zdHJ1Y3RvcjogYW55LFxuICAuLi5hcmdzOiBhbnlbXVxuKTogTSB7XG4gIGNvbnN0IF9jb25zdHIgPSAoLi4uYXJnejogYW55W10pID0+IG5ldyBjb25zdHJ1Y3RvciguLi5hcmd6KTtcbiAgX2NvbnN0ci5wcm90b3R5cGUgPSBjb25zdHJ1Y3Rvci5wcm90b3R5cGU7XG4gIHJldHVybiBfY29uc3RyKC4uLmFyZ3MpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZWN1cnNpdmVseSBmaW5kcyB0aGUgbGFzdCBwcm90b3R5cGUgaW4gdGhlIGNoYWluIGJlZm9yZSByZWFjaGluZyBPYmplY3QucHJvdG90eXBlLlxuICogQHN1bW1hcnkgV2Fsa3MgdXAgdGhlIHByb3RvdHlwZSBjaGFpbiB0byBsb2NhdGUgdGhlIG1vc3QgZGVyaXZlZCBwcm90b3R5cGUgdGhhdCBzdGlsbCBwcmVjZWRlcyB0aGUgYmFzZSBPYmplY3QgcHJvdG90eXBlLlxuICogQHBhcmFtIHtvYmplY3R9IG9iaiBUaGUgb2JqZWN0IHdob3NlIHByb3RvdHlwZSBjaGFpbiB3aWxsIGJlIGluc3BlY3RlZC5cbiAqIEByZXR1cm4ge29iamVjdH0gVGhlIGxhc3QgcHJvdG90eXBlIGJlZm9yZSBPYmplY3QucHJvdG90eXBlLCBvciB0aGUgaW5wdXQgb2JqZWN0IGlmIGl0cyBwcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZS5cbiAqIEBmdW5jdGlvbiBmaW5kTGFzdFByb3RvQmVmb3JlT2JqZWN0XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTGFzdFByb3RvQmVmb3JlT2JqZWN0KG9iajogb2JqZWN0KTogb2JqZWN0IHtcbiAgbGV0IHByb3RvdHlwZTogYW55ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7XG4gIGlmIChwcm90b3R5cGUgPT09IE9iamVjdC5wcm90b3R5cGUpIHJldHVybiBvYmo7XG4gIHdoaWxlIChwcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG90eXBlKTtcbiAgICBpZiAocHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlKSByZXR1cm4gcHJvdG90eXBlO1xuICAgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG90eXBlKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkgcmV0dXJuIHByb3RvdHlwZTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCBwcm9wZXIgcHJvdG90eXBlXCIpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBCaW5kcyB0aGUgTW9kZWwgY2xhc3MgYXMgdGhlIHJvb3QgcHJvdG90eXBlIG9mIHRoZSBwcm92aWRlZCBpbnN0YW5jZSB3aGVuIG5vdCBhbHJlYWR5IGEgTW9kZWwuXG4gKiBAc3VtbWFyeSBFbnN1cmVzIG9iamVjdHMgY3JlYXRlZCBvdXRzaWRlIG9mIHRoZSBNb2RlbCBpbmhlcml0YW5jZSBjaGFpbiBnYWluIE1vZGVsIGFzIHRoZWlyIHVsdGltYXRlIHByb3RvdHlwZSB0byBhY2Nlc3MgbW9kZWwgdXRpbGl0aWVzLlxuICogQHBhcmFtIHt1bmtub3dufSBvYmogVGhlIG9iamVjdCB0byBiaW5kIHRvIHRoZSBNb2RlbCBwcm90b3R5cGUgY2hhaW4uXG4gKiBAcmV0dXJuIHt2b2lkfVxuICogQGZ1bmN0aW9uIGJpbmRNb2RlbFByb3RvdHlwZVxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgRm4gYXMgYmluZE1vZGVsUHJvdG90eXBlXG4gKiAgIHBhcnRpY2lwYW50IE0gYXMgTW9kZWwucHJvdG90eXBlXG4gKiAgIENhbGxlci0+PkZuOiBvYmpcbiAqICAgYWx0IG9iaiBpbnN0YW5jZW9mIE1vZGVsXG4gKiAgICAgRm4tLT4+Q2FsbGVyOiByZXR1cm5cbiAqICAgZWxzZSBvYmogY2hhaW4gZW5kcyBhdCBPYmplY3QucHJvdG90eXBlXG4gKiAgICAgRm4tPj5Gbjogc2V0UHJvdG90eXBlT2Yob2JqLCBNKVxuICogICAgIEZuLS0+PkNhbGxlcjogcmV0dXJuXG4gKiAgIGVsc2UgZGVlcCBwcm90b3R5cGUgY2hhaW5cbiAqICAgICBGbi0+PkZuOiB3YWxrIHByb3RvdHlwZXNcbiAqICAgICBGbi0+PkZuOiBzZXRQcm90b3R5cGVPZihsYXN0LCBNKVxuICogICAgIEZuLS0+PkNhbGxlcjogcmV0dXJuXG4gKiAgIGVuZFxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gYmluZE1vZGVsUHJvdG90eXBlKG9iajogdW5rbm93bikge1xuICBpZiAob2JqIGluc3RhbmNlb2YgTW9kZWwpIHJldHVybjtcblxuICBmdW5jdGlvbiBiaW5kUHJvdG90eXBlKG9ialRvT3ZlcnJpZGU6IHVua25vd24sIHByb3RvdHlwZTogb2JqZWN0KSB7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG9ialRvT3ZlcnJpZGUsIHByb3RvdHlwZSk7XG4gIH1cblxuICBjb25zdCBwcm90b3R5cGU6IGFueSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopO1xuICBpZiAocHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlKSB7XG4gICAgcmV0dXJuIGJpbmRQcm90b3R5cGUob2JqLCBNb2RlbC5wcm90b3R5cGUpO1xuICB9XG4gIHdoaWxlIChwcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICBjb25zdCBwcm90ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb3RvdHlwZSk7XG4gICAgaWYgKFxuICAgICAgcHJvdCA9PT0gT2JqZWN0LnByb3RvdHlwZSB8fFxuICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb3QpID09PSBPYmplY3QucHJvdG90eXBlXG4gICAgKSB7XG4gICAgICByZXR1cm4gYmluZFByb3RvdHlwZShwcm90b3R5cGUsIE1vZGVsLnByb3RvdHlwZSk7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBmaW5kIHByb3BlciBwcm90b3R5cGUgdG8gYmluZFwiKTtcbn1cbiJdfQ==
@@ -2,7 +2,7 @@ import { bindModelPrototype, construct } from "./construction.js";
2
2
  import { ModelKeys } from "./../utils/constants.js";
3
3
  import { Model } from "./Model.js";
4
4
  import { metadata } from "@decaf-ts/reflection";
5
- import { Decoration } from "./../utils/index.js";
5
+ import { Decoration, DecorationKeys, Metadata } from "@decaf-ts/decoration";
6
6
  export function modelBaseDecorator(original) {
7
7
  // the new constructor behaviour
8
8
  const newConstructor = function (...args) {
@@ -43,6 +43,7 @@ export function modelBaseDecorator(original) {
43
43
  configurable: false,
44
44
  value: original,
45
45
  });
46
+ Metadata.set(newConstructor, DecorationKeys.CONSTRUCTOR, original);
46
47
  //
47
48
  // // anchors the new constructor for future reference
48
49
  // Object.defineProperty(original, ModelKeys.ANCHOR, {
@@ -118,4 +119,4 @@ export function serializedBy(serializer, ...args) {
118
119
  export function description(description) {
119
120
  return metadata(Model.key(ModelKeys.DESCRIPTION), description);
120
121
  }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsMEJBQXVCO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0NBQTJCO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsbUJBQWdCO0FBQ2hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLDRCQUFpQjtBQUV0QyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBYTtJQUM5QyxnQ0FBZ0M7SUFDaEMsTUFBTSxjQUFjLEdBQVEsVUFBVSxHQUFHLElBQVc7UUFDbEQsTUFBTSxRQUFRLEdBQWdDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMzRSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3QixnQ0FBZ0M7UUFDaEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFO1lBQzdDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLEtBQUs7WUFDakIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsMkVBQTJFO1FBQzNFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxJQUFJLE9BQU87WUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUUsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUYsb0RBQW9EO0lBQ3BELGNBQWMsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUU5QyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTlELE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEQsT0FBTyxDQUFDLGNBQWMsQ0FDcEIsR0FBRyxFQUNILE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUNsQyxjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0gseURBQXlEO0lBQ3pELE1BQU0sQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRTtRQUM1QyxRQUFRLEVBQUUsS0FBSztRQUNmLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFlBQVksRUFBRSxLQUFLO1FBQ25CLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJO0tBQzNDLENBQUMsQ0FBQztJQUNILEVBQUU7SUFDRix3REFBd0Q7SUFDeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRTtRQUN0RCxRQUFRLEVBQUUsS0FBSztRQUNmLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLFlBQVksRUFBRSxLQUFLO1FBQ25CLEtBQUssRUFBRSxRQUFRO0tBQ2hCLENBQUMsQ0FBQztJQUNILEVBQUU7SUFDRixzREFBc0Q7SUFDdEQsc0RBQXNEO0lBQ3RELHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQixNQUFNO0lBRU4sS0FBSyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlDLGtEQUFrRDtJQUNsRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsS0FBSztJQUNuQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDaEUsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLFNBQWlCLEVBQUUsR0FBRyxJQUFXO0lBQ3hELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzVDLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxVQUFrQixFQUFFLEdBQUcsSUFBVztJQUM3RCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUNsRCxVQUFVLEVBQUUsVUFBVTtRQUN0QixJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBbUI7SUFDN0MsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJpbmRNb2RlbFByb3RvdHlwZSwgY29uc3RydWN0IH0gZnJvbSBcIi4vY29uc3RydWN0aW9uXCI7XG5pbXBvcnQgeyBNb2RlbEtleXMgfSBmcm9tIFwiLi4vdXRpbHMvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCIuL01vZGVsXCI7XG5pbXBvcnQgeyBtZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgRGVjb3JhdGlvbiB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxCYXNlRGVjb3JhdG9yKG9yaWdpbmFsOiBhbnkpIHtcbiAgLy8gdGhlIG5ldyBjb25zdHJ1Y3RvciBiZWhhdmlvdXJcbiAgY29uc3QgbmV3Q29uc3RydWN0b3I6IGFueSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgIGNvbnN0IGluc3RhbmNlOiBSZXR1cm5UeXBlPHR5cGVvZiBvcmlnaW5hbD4gPSBjb25zdHJ1Y3Qob3JpZ2luYWwsIC4uLmFyZ3MpO1xuICAgIGJpbmRNb2RlbFByb3RvdHlwZShpbnN0YW5jZSk7XG5cbiAgICAvLyByZS1hcHBseSBvcmlnaW5hbCBjb25zdHJ1Y3RvclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnN0YW5jZSwgXCJjb25zdHJ1Y3RvclwiLCB7XG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogb3JpZ2luYWwsXG4gICAgfSk7XG5cbiAgICAvLyBydW4gYSBidWlsZGVyIGZ1bmN0aW9uIGlmIGRlZmluZWQgd2l0aCB0aGUgZmlyc3QgYXJndW1lbnQgKFRoZSBNb2RlbEFyZylcbiAgICBjb25zdCBidWlsZGVyID0gTW9kZWwuZ2V0QnVpbGRlcigpO1xuICAgIGlmIChidWlsZGVyKSBidWlsZGVyKGluc3RhbmNlLCBhcmdzLmxlbmd0aCA/IGFyZ3NbMF0gOiB1bmRlZmluZWQpO1xuXG4gICAgbWV0YWRhdGEoTW9kZWwua2V5KE1vZGVsS2V5cy5NT0RFTCksIG9yaWdpbmFsLm5hbWUpKGluc3RhbmNlLmNvbnN0cnVjdG9yKTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfTtcblxuICAvLyBjb3B5IHByb3RvdHlwZSBzbyBpbnN0YW5jZW9mIG9wZXJhdG9yIHN0aWxsIHdvcmtzXG4gIG5ld0NvbnN0cnVjdG9yLnByb3RvdHlwZSA9IG9yaWdpbmFsLnByb3RvdHlwZTtcblxuICBtZXRhZGF0YShNb2RlbC5rZXkoTW9kZWxLZXlzLk1PREVMKSwgb3JpZ2luYWwubmFtZSkob3JpZ2luYWwpO1xuXG4gIFJlZmxlY3QuZ2V0TWV0YWRhdGFLZXlzKG9yaWdpbmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAga2V5LFxuICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShrZXksIG9yaWdpbmFsKSxcbiAgICAgIG5ld0NvbnN0cnVjdG9yXG4gICAgKTtcbiAgfSk7XG4gIC8vIFNldHMgdGhlIHByb3BlciBjb25zdHJ1Y3RvciBuYW1lIGZvciB0eXBlIHZlcmlmaWNhdGlvblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3Q29uc3RydWN0b3IsIFwibmFtZVwiLCB7XG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICB2YWx1ZTogb3JpZ2luYWwucHJvdG90eXBlLmNvbnN0cnVjdG9yLm5hbWUsXG4gIH0pO1xuICAvL1xuICAvLyBhbmNob3JzIHRoZSBvcmlnaW5hbCBjb25zdHJ1Y3RvciBmb3IgZnV0dXJlIHJlZmVyZW5jZVxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3Q29uc3RydWN0b3IsIE1vZGVsS2V5cy5BTkNIT1IsIHtcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICB2YWx1ZTogb3JpZ2luYWwsXG4gIH0pO1xuICAvL1xuICAvLyAvLyBhbmNob3JzIHRoZSBuZXcgY29uc3RydWN0b3IgZm9yIGZ1dHVyZSByZWZlcmVuY2VcbiAgLy8gT2JqZWN0LmRlZmluZVByb3BlcnR5KG9yaWdpbmFsLCBNb2RlbEtleXMuQU5DSE9SLCB7XG4gIC8vICAgd3JpdGFibGU6IGZhbHNlLFxuICAvLyAgIGVudW1lcmFibGU6IHRydWUsXG4gIC8vICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgLy8gICB2YWx1ZTogbmV3Q29uc3RydWN0b3IsXG4gIC8vIH0pO1xuXG4gIE1vZGVsLnJlZ2lzdGVyKG5ld0NvbnN0cnVjdG9yLCBvcmlnaW5hbC5uYW1lKTtcblxuICAvLyByZXR1cm4gbmV3IGNvbnN0cnVjdG9yICh3aWxsIG92ZXJyaWRlIG9yaWdpbmFsKVxuICByZXR1cm4gbmV3Q29uc3RydWN0b3I7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyBhIGNsYXNzIGFzIGEgTW9kZWwgY2xhc3NcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIC0gUmVnaXN0ZXJzIHRoZSBjbGFzcyB1bmRlciB0aGUgbW9kZWwgcmVnaXN0cnkgc28gaXQgY2FuIGJlIGVhc2lseSByZWJ1aWx0O1xuICogLSBPdmVycmlkZXMgdGhlIGNsYXNzIGNvbnN0cnVjdG9yO1xuICogLSBSdW5zIHRoZSBnbG9iYWwge0BsaW5rIE1vZGVsQnVpbGRlckZ1bmN0aW9ufSBpZiBkZWZpbmVkO1xuICpcbiAqIEBmdW5jdGlvbiBtb2RlbFxuICpcbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb2RlbCgpIHtcbiAgY29uc3Qga2V5ID0gTW9kZWwua2V5KE1vZGVsS2V5cy5NT0RFTCk7XG4gIHJldHVybiBEZWNvcmF0aW9uLmZvcihrZXkpLmRlZmluZShtb2RlbEJhc2VEZWNvcmF0b3IpLmFwcGx5KCk7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgaGFzaGluZyBhbGdvcml0aG0gdG8gdXNlIG9uIHRoZSBtb2RlbFxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogLSBSZWdpc3RlcnMgdGhlIGNsYXNzIHVuZGVyIHRoZSBtb2RlbCByZWdpc3RyeSBzbyBpdCBjYW4gYmUgZWFzaWx5IHJlYnVpbHQ7XG4gKiAtIE92ZXJyaWRlcyB0aGUgY2xhc3MgY29uc3RydWN0b3I7XG4gKiAtIFJ1bnMgdGhlIGdsb2JhbCB7QGxpbmsgTW9kZWxCdWlsZGVyRnVuY3Rpb259IGlmIGRlZmluZWQ7XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFsZ29yaXRobSB0aGUgYWxnb3JpdGhtIHRvIHVzZVxuICpcbiAqIEBmdW5jdGlvbiBoYXNoZWRCeVxuICpcbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNoZWRCeShhbGdvcml0aG06IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgcmV0dXJuIG1ldGFkYXRhKE1vZGVsLmtleShNb2RlbEtleXMuSEFTSElORyksIHtcbiAgICBhbGdvcml0aG06IGFsZ29yaXRobSxcbiAgICBhcmdzOiBhcmdzLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzZXJpYWxpemF0aW9uIGFsZ29yaXRobSB0byB1c2Ugb24gdGhlIG1vZGVsXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHNlcmlhbGl6ZXIgdGhlIGFsZ29yaXRobSB0byB1c2VcbiAqXG4gKiBAZnVuY3Rpb24gc2VyaWFsaXplZEJ5XG4gKlxuICogQGNhdGVnb3J5IENsYXNzIERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZWRCeShzZXJpYWxpemVyOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIHJldHVybiBtZXRhZGF0YShNb2RlbC5rZXkoTW9kZWxLZXlzLlNFUklBTElaQVRJT04pLCB7XG4gICAgc2VyaWFsaXplcjogc2VyaWFsaXplcixcbiAgICBhcmdzOiBhcmdzLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBBcHBsaWVzIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHRvIGEgY2xhc3MsIHByb3BlcnR5IG9yIG1ldGhvZFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiB0aGUgZGVzY3JpcHRpb24gdG8gYXBwbHlcbiAqXG4gKiBAZnVuY3Rpb24gZGVzY3JpcHRpb25cbiAqXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZykge1xuICByZXR1cm4gbWV0YWRhdGEoTW9kZWwua2V5KE1vZGVsS2V5cy5ERVNDUklQVElPTiksIGRlc2NyaXB0aW9uKTtcbn1cbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsMEJBQXVCO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0NBQTJCO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsbUJBQWdCO0FBQ2hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBYTtJQUM5QyxnQ0FBZ0M7SUFDaEMsTUFBTSxjQUFjLEdBQVEsVUFBVSxHQUFHLElBQVc7UUFDbEQsTUFBTSxRQUFRLEdBQWdDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMzRSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3QixnQ0FBZ0M7UUFDaEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFO1lBQzdDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLEtBQUs7WUFDakIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsMkVBQTJFO1FBQzNFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxJQUFJLE9BQU87WUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUUsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUYsb0RBQW9EO0lBQ3BELGNBQWMsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUU5QyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTlELE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEQsT0FBTyxDQUFDLGNBQWMsQ0FDcEIsR0FBRyxFQUNILE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUNsQyxjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0gseURBQXlEO0lBQ3pELE1BQU0sQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRTtRQUM1QyxRQUFRLEVBQUUsS0FBSztRQUNmLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFlBQVksRUFBRSxLQUFLO1FBQ25CLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJO0tBQzNDLENBQUMsQ0FBQztJQUNILEVBQUU7SUFDRix3REFBd0Q7SUFDeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRTtRQUN0RCxRQUFRLEVBQUUsS0FBSztRQUNmLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLFlBQVksRUFBRSxLQUFLO1FBQ25CLEtBQUssRUFBRSxRQUFRO0tBQ2hCLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkUsRUFBRTtJQUNGLHNEQUFzRDtJQUN0RCxzREFBc0Q7SUFDdEQscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0Qix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLE1BQU07SUFFTixLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFOUMsa0RBQWtEO0lBQ2xELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxLQUFLO0lBQ25CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNoRSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsU0FBaUIsRUFBRSxHQUFHLElBQVc7SUFDeEQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDNUMsU0FBUyxFQUFFLFNBQVM7UUFDcEIsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLFVBQWtCLEVBQUUsR0FBRyxJQUFXO0lBQzdELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQ2xELFVBQVUsRUFBRSxVQUFVO1FBQ3RCLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxXQUFtQjtJQUM3QyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUNqRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmluZE1vZGVsUHJvdG90eXBlLCBjb25zdHJ1Y3QgfSBmcm9tIFwiLi9jb25zdHJ1Y3Rpb25cIjtcbmltcG9ydCB7IE1vZGVsS2V5cyB9IGZyb20gXCIuLi91dGlscy9jb25zdGFudHNcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIi4vTW9kZWxcIjtcbmltcG9ydCB7IG1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBEZWNvcmF0aW9uLCBEZWNvcmF0aW9uS2V5cywgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsQmFzZURlY29yYXRvcihvcmlnaW5hbDogYW55KSB7XG4gIC8vIHRoZSBuZXcgY29uc3RydWN0b3IgYmVoYXZpb3VyXG4gIGNvbnN0IG5ld0NvbnN0cnVjdG9yOiBhbnkgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICBjb25zdCBpbnN0YW5jZTogUmV0dXJuVHlwZTx0eXBlb2Ygb3JpZ2luYWw+ID0gY29uc3RydWN0KG9yaWdpbmFsLCAuLi5hcmdzKTtcbiAgICBiaW5kTW9kZWxQcm90b3R5cGUoaW5zdGFuY2UpO1xuXG4gICAgLy8gcmUtYXBwbHkgb3JpZ2luYWwgY29uc3RydWN0b3JcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5zdGFuY2UsIFwiY29uc3RydWN0b3JcIiwge1xuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IG9yaWdpbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gcnVuIGEgYnVpbGRlciBmdW5jdGlvbiBpZiBkZWZpbmVkIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50IChUaGUgTW9kZWxBcmcpXG4gICAgY29uc3QgYnVpbGRlciA9IE1vZGVsLmdldEJ1aWxkZXIoKTtcbiAgICBpZiAoYnVpbGRlcikgYnVpbGRlcihpbnN0YW5jZSwgYXJncy5sZW5ndGggPyBhcmdzWzBdIDogdW5kZWZpbmVkKTtcblxuICAgIG1ldGFkYXRhKE1vZGVsLmtleShNb2RlbEtleXMuTU9ERUwpLCBvcmlnaW5hbC5uYW1lKShpbnN0YW5jZS5jb25zdHJ1Y3Rvcik7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH07XG5cbiAgLy8gY29weSBwcm90b3R5cGUgc28gaW5zdGFuY2VvZiBvcGVyYXRvciBzdGlsbCB3b3Jrc1xuICBuZXdDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBvcmlnaW5hbC5wcm90b3R5cGU7XG5cbiAgbWV0YWRhdGEoTW9kZWwua2V5KE1vZGVsS2V5cy5NT0RFTCksIG9yaWdpbmFsLm5hbWUpKG9yaWdpbmFsKTtcblxuICBSZWZsZWN0LmdldE1ldGFkYXRhS2V5cyhvcmlnaW5hbCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgIGtleSxcbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoa2V5LCBvcmlnaW5hbCksXG4gICAgICBuZXdDb25zdHJ1Y3RvclxuICAgICk7XG4gIH0pO1xuICAvLyBTZXRzIHRoZSBwcm9wZXIgY29uc3RydWN0b3IgbmFtZSBmb3IgdHlwZSB2ZXJpZmljYXRpb25cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld0NvbnN0cnVjdG9yLCBcIm5hbWVcIiwge1xuICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgdmFsdWU6IG9yaWdpbmFsLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5uYW1lLFxuICB9KTtcbiAgLy9cbiAgLy8gYW5jaG9ycyB0aGUgb3JpZ2luYWwgY29uc3RydWN0b3IgZm9yIGZ1dHVyZSByZWZlcmVuY2VcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld0NvbnN0cnVjdG9yLCBNb2RlbEtleXMuQU5DSE9SLCB7XG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgdmFsdWU6IG9yaWdpbmFsLFxuICB9KTtcblxuICBNZXRhZGF0YS5zZXQobmV3Q29uc3RydWN0b3IsIERlY29yYXRpb25LZXlzLkNPTlNUUlVDVE9SLCBvcmlnaW5hbCk7XG4gIC8vXG4gIC8vIC8vIGFuY2hvcnMgdGhlIG5ldyBjb25zdHJ1Y3RvciBmb3IgZnV0dXJlIHJlZmVyZW5jZVxuICAvLyBPYmplY3QuZGVmaW5lUHJvcGVydHkob3JpZ2luYWwsIE1vZGVsS2V5cy5BTkNIT1IsIHtcbiAgLy8gICB3cml0YWJsZTogZmFsc2UsXG4gIC8vICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgLy8gICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAvLyAgIHZhbHVlOiBuZXdDb25zdHJ1Y3RvcixcbiAgLy8gfSk7XG5cbiAgTW9kZWwucmVnaXN0ZXIobmV3Q29uc3RydWN0b3IsIG9yaWdpbmFsLm5hbWUpO1xuXG4gIC8vIHJldHVybiBuZXcgY29uc3RydWN0b3IgKHdpbGwgb3ZlcnJpZGUgb3JpZ2luYWwpXG4gIHJldHVybiBuZXdDb25zdHJ1Y3Rvcjtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgY2xhc3MgYXMgYSBNb2RlbCBjbGFzc1xuICogQGRlc2NyaXB0aW9uXG4gKlxuICogLSBSZWdpc3RlcnMgdGhlIGNsYXNzIHVuZGVyIHRoZSBtb2RlbCByZWdpc3RyeSBzbyBpdCBjYW4gYmUgZWFzaWx5IHJlYnVpbHQ7XG4gKiAtIE92ZXJyaWRlcyB0aGUgY2xhc3MgY29uc3RydWN0b3I7XG4gKiAtIFJ1bnMgdGhlIGdsb2JhbCB7QGxpbmsgTW9kZWxCdWlsZGVyRnVuY3Rpb259IGlmIGRlZmluZWQ7XG4gKlxuICogQGZ1bmN0aW9uIG1vZGVsXG4gKlxuICogQGNhdGVnb3J5IENsYXNzIERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsKCkge1xuICBjb25zdCBrZXkgPSBNb2RlbC5rZXkoTW9kZWxLZXlzLk1PREVMKTtcbiAgcmV0dXJuIERlY29yYXRpb24uZm9yKGtleSkuZGVmaW5lKG1vZGVsQmFzZURlY29yYXRvcikuYXBwbHkoKTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBoYXNoaW5nIGFsZ29yaXRobSB0byB1c2Ugb24gdGhlIG1vZGVsXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiAtIFJlZ2lzdGVycyB0aGUgY2xhc3MgdW5kZXIgdGhlIG1vZGVsIHJlZ2lzdHJ5IHNvIGl0IGNhbiBiZSBlYXNpbHkgcmVidWlsdDtcbiAqIC0gT3ZlcnJpZGVzIHRoZSBjbGFzcyBjb25zdHJ1Y3RvcjtcbiAqIC0gUnVucyB0aGUgZ2xvYmFsIHtAbGluayBNb2RlbEJ1aWxkZXJGdW5jdGlvbn0gaWYgZGVmaW5lZDtcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYWxnb3JpdGhtIHRoZSBhbGdvcml0aG0gdG8gdXNlXG4gKlxuICogQGZ1bmN0aW9uIGhhc2hlZEJ5XG4gKlxuICogQGNhdGVnb3J5IENsYXNzIERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc2hlZEJ5KGFsZ29yaXRobTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkge1xuICByZXR1cm4gbWV0YWRhdGEoTW9kZWwua2V5KE1vZGVsS2V5cy5IQVNISU5HKSwge1xuICAgIGFsZ29yaXRobTogYWxnb3JpdGhtLFxuICAgIGFyZ3M6IGFyZ3MsXG4gIH0pO1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHNlcmlhbGl6YXRpb24gYWxnb3JpdGhtIHRvIHVzZSBvbiB0aGUgbW9kZWxcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VyaWFsaXplciB0aGUgYWxnb3JpdGhtIHRvIHVzZVxuICpcbiAqIEBmdW5jdGlvbiBzZXJpYWxpemVkQnlcbiAqXG4gKiBAY2F0ZWdvcnkgQ2xhc3MgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplZEJ5KHNlcmlhbGl6ZXI6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgcmV0dXJuIG1ldGFkYXRhKE1vZGVsLmtleShNb2RlbEtleXMuU0VSSUFMSVpBVElPTiksIHtcbiAgICBzZXJpYWxpemVyOiBzZXJpYWxpemVyLFxuICAgIGFyZ3M6IGFyZ3MsXG4gIH0pO1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IEFwcGxpZXMgZGVzY3JpcHRpdmUgbWV0YWRhdGEgdG8gYSBjbGFzcywgcHJvcGVydHkgb3IgbWV0aG9kXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIHRoZSBkZXNjcmlwdGlvbiB0byBhcHBseVxuICpcbiAqIEBmdW5jdGlvbiBkZXNjcmlwdGlvblxuICpcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKSB7XG4gIHJldHVybiBtZXRhZGF0YShNb2RlbC5rZXkoTW9kZWxLZXlzLkRFU0NSSVBUSU9OKSwgZGVzY3JpcHRpb24pO1xufVxuIl19
@@ -15,8 +15,8 @@
15
15
  * @property {string} HASHING - Key for storing hashing configuration
16
16
  * @property {string} SERIALIZATION - Key for storing serialization configuration
17
17
  *
18
- * @readonly
19
18
  * @enum {string}
19
+ * @readonly
20
20
  * @memberOf module:decorator-validation
21
21
  * @category Model
22
22
  */
@@ -15,8 +15,8 @@
15
15
  * @property {string} HASHING - Key for storing hashing configuration
16
16
  * @property {string} SERIALIZATION - Key for storing serialization configuration
17
17
  *
18
- * @readonly
19
18
  * @enum {string}
19
+ * @readonly
20
20
  * @memberOf module:decorator-validation
21
21
  * @category Model
22
22
  */
@@ -44,4 +44,4 @@ export var ModelKeys;
44
44
  * @category Model
45
45
  */
46
46
  export const DefaultFlavour = "decaf";
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBTSxDQUFOLElBQVksU0FZWDtBQVpELFdBQVksU0FBUztJQUNuQixxQ0FBd0IsQ0FBQTtJQUN4QiwrQ0FBa0MsQ0FBQTtJQUNsQyxpQ0FBb0IsQ0FBQTtJQUNwQix5Q0FBNEIsQ0FBQTtJQUM1Qix5Q0FBNEIsQ0FBQTtJQUM1Qiw0QkFBZSxDQUFBO0lBQ2YsK0JBQWtCLENBQUE7SUFDbEIsNENBQStCLENBQUE7SUFDL0IsdUNBQTBCLENBQUE7SUFDMUIsZ0NBQW1CLENBQUE7SUFDbkIsNENBQStCLENBQUE7QUFDakMsQ0FBQyxFQVpXLFNBQVMsS0FBVCxTQUFTLFFBWXBCO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gRW51bSBjb250YWluaW5nIG1ldGFkYXRhIGtleXMgdXNlZCBmb3IgcmVmbGVjdGlvbiBpbiB0aGUgbW9kZWwgc3lzdGVtXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSB2YXJpb3VzIE1vZGVsIGtleXMgdXNlZCBmb3IgcmVmbGVjdGlvbiBhbmQgbWV0YWRhdGEgc3RvcmFnZS5cbiAqIFRoZXNlIGtleXMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGUgbGlicmFyeSB0byBzdG9yZSBhbmQgcmV0cmlldmUgbWV0YWRhdGEgYWJvdXQgbW9kZWxzLFxuICogdGhlaXIgcHJvcGVydGllcywgYW5kIHRoZWlyIGJlaGF2aW9yLlxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRUZMRUNUIC0gUHJlZml4IHRvIGFsbCBvdGhlciBrZXlzLCB1c2VkIGFzIGEgbmFtZXNwYWNlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSAtIEtleSBmb3Igc3RvcmluZyBkZXNpZ24gdHlwZSBpbmZvcm1hdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBUkFNUyAtIEtleSBmb3Igc3RvcmluZyBtZXRob2QgcGFyYW1ldGVyIHR5cGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVUVVJOIC0gS2V5IGZvciBzdG9yaW5nIG1ldGhvZCByZXR1cm4gdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1PREVMIC0gS2V5IGZvciBpZGVudGlmeWluZyBtb2RlbCBtZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEFOQ0hPUiAtIEFuY2hvciBrZXkgdGhhdCBzZXJ2ZXMgYXMgYSBnaG9zdCBwcm9wZXJ0eSBpbiB0aGUgbW9kZWxcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBDT05TVFJVQ1RJT04gLSBLZXkgZm9yIHN0b3JpbmcgY29uc3RydWN0aW9uIGluZm9ybWF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gQVRUUklCVVRFIC0gS2V5IGZvciBzdG9yaW5nIGF0dHJpYnV0ZSBtZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEhBU0hJTkcgLSBLZXkgZm9yIHN0b3JpbmcgaGFzaGluZyBjb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gU0VSSUFMSVpBVElPTiAtIEtleSBmb3Igc3RvcmluZyBzZXJpYWxpemF0aW9uIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgTW9kZWxcbiAqL1xuZXhwb3J0IGVudW0gTW9kZWxLZXlzIHtcbiAgUkVGTEVDVCA9IFwiZGVjYWYubW9kZWwuXCIsXG4gIERFU0NSSVBUSU9OID0gXCJkZWNhZi5kZXNjcmlwdGlvbi5cIixcbiAgVFlQRSA9IFwiZGVzaWduOnR5cGVcIixcbiAgUEFSQU1TID0gXCJkZXNpZ246cGFyYW10eXBlc1wiLFxuICBSRVRVUk4gPSBcImRlc2lnbjpyZXR1cm50eXBlXCIsXG4gIE1PREVMID0gXCJtb2RlbFwiLFxuICBBTkNIT1IgPSBcIl9fbW9kZWxcIixcbiAgQ09OU1RSVUNUSU9OID0gXCJjb25zdHJ1Y3RlZC1ieVwiLFxuICBBVFRSSUJVVEUgPSBcIl9fYXR0cmlidXRlc1wiLFxuICBIQVNISU5HID0gXCJoYXNoaW5nXCIsXG4gIFNFUklBTElaQVRJT04gPSBcInNlcmlhbGl6YXRpb25cIixcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVmYXVsdCBmbGF2b3VyIGlkZW50aWZpZXIgZm9yIHRoZSBkZWNvcmF0b3Igc3lzdGVtXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBkZWZhdWx0IGZsYXZvdXIgdXNlZCBieSB0aGUgRGVjb3JhdGlvbiBjbGFzcyB3aGVuIG5vIHNwZWNpZmljIGZsYXZvdXIgaXMgcHJvdmlkZWQuXG4gKiBUaGlzIGNvbnN0YW50IGlzIHVzZWQgdGhyb3VnaG91dCB0aGUgbGlicmFyeSBhcyB0aGUgZmFsbGJhY2sgZmxhdm91ciBmb3IgZGVjb3JhdG9ycy5cbiAqXG4gKiBAY29uc3Qge3N0cmluZ31cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBNb2RlbFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsYXZvdXIgPSBcImRlY2FmXCI7XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBTSxDQUFOLElBQVksU0FZWDtBQVpELFdBQVksU0FBUztJQUNuQixxQ0FBd0IsQ0FBQTtJQUN4QiwrQ0FBa0MsQ0FBQTtJQUNsQyxpQ0FBb0IsQ0FBQTtJQUNwQix5Q0FBNEIsQ0FBQTtJQUM1Qix5Q0FBNEIsQ0FBQTtJQUM1Qiw0QkFBZSxDQUFBO0lBQ2YsK0JBQWtCLENBQUE7SUFDbEIsNENBQStCLENBQUE7SUFDL0IsdUNBQTBCLENBQUE7SUFDMUIsZ0NBQW1CLENBQUE7SUFDbkIsNENBQStCLENBQUE7QUFDakMsQ0FBQyxFQVpXLFNBQVMsS0FBVCxTQUFTLFFBWXBCO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gRW51bSBjb250YWluaW5nIG1ldGFkYXRhIGtleXMgdXNlZCBmb3IgcmVmbGVjdGlvbiBpbiB0aGUgbW9kZWwgc3lzdGVtXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSB2YXJpb3VzIE1vZGVsIGtleXMgdXNlZCBmb3IgcmVmbGVjdGlvbiBhbmQgbWV0YWRhdGEgc3RvcmFnZS5cbiAqIFRoZXNlIGtleXMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGUgbGlicmFyeSB0byBzdG9yZSBhbmQgcmV0cmlldmUgbWV0YWRhdGEgYWJvdXQgbW9kZWxzLFxuICogdGhlaXIgcHJvcGVydGllcywgYW5kIHRoZWlyIGJlaGF2aW9yLlxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRUZMRUNUIC0gUHJlZml4IHRvIGFsbCBvdGhlciBrZXlzLCB1c2VkIGFzIGEgbmFtZXNwYWNlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSAtIEtleSBmb3Igc3RvcmluZyBkZXNpZ24gdHlwZSBpbmZvcm1hdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBUkFNUyAtIEtleSBmb3Igc3RvcmluZyBtZXRob2QgcGFyYW1ldGVyIHR5cGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVUVVJOIC0gS2V5IGZvciBzdG9yaW5nIG1ldGhvZCByZXR1cm4gdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1PREVMIC0gS2V5IGZvciBpZGVudGlmeWluZyBtb2RlbCBtZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEFOQ0hPUiAtIEFuY2hvciBrZXkgdGhhdCBzZXJ2ZXMgYXMgYSBnaG9zdCBwcm9wZXJ0eSBpbiB0aGUgbW9kZWxcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBDT05TVFJVQ1RJT04gLSBLZXkgZm9yIHN0b3JpbmcgY29uc3RydWN0aW9uIGluZm9ybWF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gQVRUUklCVVRFIC0gS2V5IGZvciBzdG9yaW5nIGF0dHJpYnV0ZSBtZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEhBU0hJTkcgLSBLZXkgZm9yIHN0b3JpbmcgaGFzaGluZyBjb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gU0VSSUFMSVpBVElPTiAtIEtleSBmb3Igc3RvcmluZyBzZXJpYWxpemF0aW9uIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHJlYWRvbmx5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgTW9kZWxcbiAqL1xuZXhwb3J0IGVudW0gTW9kZWxLZXlzIHtcbiAgUkVGTEVDVCA9IFwiZGVjYWYubW9kZWwuXCIsXG4gIERFU0NSSVBUSU9OID0gXCJkZWNhZi5kZXNjcmlwdGlvbi5cIixcbiAgVFlQRSA9IFwiZGVzaWduOnR5cGVcIixcbiAgUEFSQU1TID0gXCJkZXNpZ246cGFyYW10eXBlc1wiLFxuICBSRVRVUk4gPSBcImRlc2lnbjpyZXR1cm50eXBlXCIsXG4gIE1PREVMID0gXCJtb2RlbFwiLFxuICBBTkNIT1IgPSBcIl9fbW9kZWxcIixcbiAgQ09OU1RSVUNUSU9OID0gXCJjb25zdHJ1Y3RlZC1ieVwiLFxuICBBVFRSSUJVVEUgPSBcIl9fYXR0cmlidXRlc1wiLFxuICBIQVNISU5HID0gXCJoYXNoaW5nXCIsXG4gIFNFUklBTElaQVRJT04gPSBcInNlcmlhbGl6YXRpb25cIixcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVmYXVsdCBmbGF2b3VyIGlkZW50aWZpZXIgZm9yIHRoZSBkZWNvcmF0b3Igc3lzdGVtXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBkZWZhdWx0IGZsYXZvdXIgdXNlZCBieSB0aGUgRGVjb3JhdGlvbiBjbGFzcyB3aGVuIG5vIHNwZWNpZmljIGZsYXZvdXIgaXMgcHJvdmlkZWQuXG4gKiBUaGlzIGNvbnN0YW50IGlzIHVzZWQgdGhyb3VnaG91dCB0aGUgbGlicmFyeSBhcyB0aGUgZmFsbGJhY2sgZmxhdm91ciBmb3IgZGVjb3JhdG9ycy5cbiAqXG4gKiBAY29uc3Qge3N0cmluZ31cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBNb2RlbFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsYXZvdXIgPSBcImRlY2FmXCI7XG4iXX0=
@@ -1,16 +1,22 @@
1
1
  /**
2
- * @summary Keys used for comparison-based validations.
3
- *
4
- * @property {string} EQUALS - Validates if two values are equal.
5
- * @property {string} DIFF - Validates if two values are different.
6
- * @property {string} LESS_THAN - Validates if a value is less than another.
7
- * @property {string} LESS_THAN_OR_EQUAL - Validates if a value is less than or equal to another.
8
- * @property {string} GREATER_THAN - Validates if a value is greater than another.
9
- * @property {string} GREATER_THAN_OR_EQUAL - Validates if a value is greater than or equal to another.
10
- *
11
- * @constant ComparisonValidationKeys
12
- * @memberof module:decorator-validation.Validation
2
+ * @description Object-like set of keys used for comparison-based validations.
3
+ * @summary Provides canonical names for validators that compare two values (equality and ordering checks).
4
+ * @typedef {Object} ComparisonValidationKeysDef
5
+ * @property {"equals"} EQUALS Validates if two values are equal.
6
+ * @property {"different"} DIFF Validates if two values are different.
7
+ * @property {"lessThan"} LESS_THAN Validates if a value is less than another.
8
+ * @property {"lessThanOrEqual"} LESS_THAN_OR_EQUAL Validates if a value is less than or equal to another.
9
+ * @property {"greaterThan"} GREATER_THAN Validates if a value is greater than another.
10
+ * @property {"greaterThanOrEqual"} GREATER_THAN_OR_EQUAL Validates if a value is greater than or equal to another.
11
+ * @memberOf module:decorator-validation.Validation
12
+ */
13
+ /**
14
+ * @description Keys used for comparison-based validations.
15
+ * @summary Canonical key names for comparison validators.
16
+ * @const ComparisonValidationKeys
17
+ * @memberOf module:decorator-validation.Validation
13
18
  * @category Validation
19
+ * @type {ComparisonValidationKeysDef}
14
20
  */
15
21
  export declare const ComparisonValidationKeys: {
16
22
  readonly EQUALS: "equals";
@@ -21,26 +27,34 @@ export declare const ComparisonValidationKeys: {
21
27
  readonly GREATER_THAN_OR_EQUAL: "greaterThanOrEqual";
22
28
  };
23
29
  /**
24
- * @summary The keys used for validation
25
- *
26
- * @property {string} REFLECT prefixes others
27
- * @property {string} REQUIRED sets as required
28
- * @property {string} MIN defines min value
29
- * @property {string} MAX defines max value
30
- * @property {string} STEP defines step
31
- * @property {string} MIN_LENGTH defines min length
32
- * @property {string} MAX_LENGTH defines max length
33
- * @property {string} PATTERN defines pattern
34
- * @property {string} EMAIL defines email
35
- * @property {string} URL defines url
36
- * @property {string} DATE defines date
37
- * @property {string} TYPE defines type
38
- * @property {string} PASSWORD defines password
39
- * @property {string} LIST defines list
40
- *
41
- * @constant ValidationKeys
30
+ * @description Object-like set of keys used across all validators in the system.
31
+ * @summary Defines the canonical namespaced key prefix and the individual validation flags for rules such as required, min/max, length, patterns, types, lists and more.
32
+ * @typedef {Object} ValidationKeysDef
33
+ * @property {string} REFLECT prefixes others (namespace prefix)
34
+ * @property {"required"} REQUIRED sets as required
35
+ * @property {"min"} MIN defines min value
36
+ * @property {"max"} MAX defines max value
37
+ * @property {"step"} STEP defines step
38
+ * @property {"minlength"} MIN_LENGTH defines min length
39
+ * @property {"maxlength"} MAX_LENGTH defines max length
40
+ * @property {"pattern"} PATTERN defines pattern
41
+ * @property {"email"} EMAIL defines email
42
+ * @property {"url"} URL defines url
43
+ * @property {"date"} DATE defines date
44
+ * @property {"type"} TYPE defines type
45
+ * @property {"password"} PASSWORD defines password
46
+ * @property {"list"} LIST defines list
47
+ * @property {"unique"} UNIQUE flags uniqueness
48
+ * @property {"validator"} VALIDATOR custom validator id
49
+ * @memberOf module:decorator-validation.Validation
50
+ */
51
+ /**
52
+ * @description The keys used for validation.
53
+ * @summary A namespaced collection of validation key strings used throughout the library.
54
+ * @const ValidationKeys
42
55
  * @memberOf module:decorator-validation.Validation
43
56
  * @category Validation
57
+ * @type {ValidationKeysDef}
44
58
  */
45
59
  export declare const ValidationKeys: {
46
60
  readonly EQUALS: "equals";
@@ -68,26 +82,25 @@ export declare const ValidationKeys: {
68
82
  readonly VALIDATOR: "validator";
69
83
  };
70
84
  /**
71
- * @summary list of month names
72
- * @description Stores month names. Can be changed for localization purposes
73
- *
74
- * @constant MONTH_NAMES
85
+ * @description list of month names
86
+ * @summary Stores month names. Can be changed for localization purposes
87
+ * @const MONTH_NAMES
75
88
  * @memberOf module:decorator-validation.Validation
76
89
  * @category Validation
77
90
  */
78
91
  export declare const MONTH_NAMES: string[];
79
92
  /**
80
- * @summary list of names of days of the week
81
- * @description Stores names for days of the week. Can be changed for localization purposes
82
- *
83
- * @constant DAYS_OF_WEEK_NAMES
93
+ * @description list of names of days of the week
94
+ * @summary Stores names for days of the week. Can be changed for localization purposes
95
+ * @const DAYS_OF_WEEK_NAMES
84
96
  * @memberOf module:decorator-validation.Validation
85
97
  * @category Validation
86
98
  */
87
99
  export declare const DAYS_OF_WEEK_NAMES: string[];
88
100
  /**
89
- * @summary Defines the default error messages
90
- *
101
+ * @description Type definition for default error message strings keyed by validation type.
102
+ * @summary Enumerates the supported error message keys with their intended meaning; used to localize or override default messages.
103
+ * @typedef {Object} DefaultErrorMessages
91
104
  * @property {string} REQUIRED default error message
92
105
  * @property {string} MIN default error message
93
106
  * @property {string} MAX default error message
@@ -104,18 +117,34 @@ export declare const DAYS_OF_WEEK_NAMES: string[];
104
117
  * @property {string} LIST default error message
105
118
  * @property {string} LIST_INSIDE default error message
106
119
  * @property {string} MODEL_NOT_FOUND default error message
107
- *
108
- * @constant DEFAULT_ERROR_MESSAGES
120
+ * @memberOf module:decorator-validation.Validation
121
+ */
122
+ /**
123
+ * @description Defines the default error messages
124
+ * @summary Mapping between validation keys and their default human-readable error messages.
125
+ * @const DEFAULT_ERROR_MESSAGES
109
126
  * @memberOf module:decorator-validation.Validation
110
127
  * @category Validation
128
+ * @type {DefaultErrorMessages}
111
129
  */
112
130
  export declare const DEFAULT_ERROR_MESSAGES: Record<string, string>;
113
131
  /**
114
- * @summary Defines the various default regexp patterns used
115
- *
116
- * @enum DEFAULT_PATTERNS
132
+ * @description Type definition for default regular expression patterns used in validation.
133
+ * @summary Captures common regex patterns for email, URL, and password policies, including nested grouping for password-related rules.
134
+ * @typedef {Object} DefaultPatterns
135
+ * @property {RegExp} EMAIL Email address validation pattern
136
+ * @property {RegExp} URL URL validation pattern
137
+ * @property {Object} PASSWORD Password-related regex patterns
138
+ * @property {RegExp} PASSWORD.CHAR8_ONE_OF_EACH At least 8 chars with lower, upper, number, and special char
139
+ * @memberOf module:decorator-validation.Validation
140
+ */
141
+ /**
142
+ * @description Defines the various default regexp patterns used
143
+ * @summary Collection of frequently used validation patterns grouped under semantic keys.
144
+ * @const DEFAULT_PATTERNS
117
145
  * @memberOf module:decorator-validation.Validation
118
146
  * @category Validation
147
+ * @type {DefaultPatterns}
119
148
  */
120
149
  export declare const DEFAULT_PATTERNS: {
121
150
  EMAIL: RegExp;
@@ -1,17 +1,23 @@
1
1
  import { ModelKeys } from "./../../utils/constants.js";
2
2
  /**
3
- * @summary Keys used for comparison-based validations.
4
- *
5
- * @property {string} EQUALS - Validates if two values are equal.
6
- * @property {string} DIFF - Validates if two values are different.
7
- * @property {string} LESS_THAN - Validates if a value is less than another.
8
- * @property {string} LESS_THAN_OR_EQUAL - Validates if a value is less than or equal to another.
9
- * @property {string} GREATER_THAN - Validates if a value is greater than another.
10
- * @property {string} GREATER_THAN_OR_EQUAL - Validates if a value is greater than or equal to another.
11
- *
12
- * @constant ComparisonValidationKeys
13
- * @memberof module:decorator-validation.Validation
3
+ * @description Object-like set of keys used for comparison-based validations.
4
+ * @summary Provides canonical names for validators that compare two values (equality and ordering checks).
5
+ * @typedef {Object} ComparisonValidationKeysDef
6
+ * @property {"equals"} EQUALS Validates if two values are equal.
7
+ * @property {"different"} DIFF Validates if two values are different.
8
+ * @property {"lessThan"} LESS_THAN Validates if a value is less than another.
9
+ * @property {"lessThanOrEqual"} LESS_THAN_OR_EQUAL Validates if a value is less than or equal to another.
10
+ * @property {"greaterThan"} GREATER_THAN Validates if a value is greater than another.
11
+ * @property {"greaterThanOrEqual"} GREATER_THAN_OR_EQUAL Validates if a value is greater than or equal to another.
12
+ * @memberOf module:decorator-validation.Validation
13
+ */
14
+ /**
15
+ * @description Keys used for comparison-based validations.
16
+ * @summary Canonical key names for comparison validators.
17
+ * @const ComparisonValidationKeys
18
+ * @memberOf module:decorator-validation.Validation
14
19
  * @category Validation
20
+ * @type {ComparisonValidationKeysDef}
15
21
  */
16
22
  export const ComparisonValidationKeys = {
17
23
  EQUALS: "equals",
@@ -22,26 +28,34 @@ export const ComparisonValidationKeys = {
22
28
  GREATER_THAN_OR_EQUAL: "greaterThanOrEqual",
23
29
  };
24
30
  /**
25
- * @summary The keys used for validation
26
- *
27
- * @property {string} REFLECT prefixes others
28
- * @property {string} REQUIRED sets as required
29
- * @property {string} MIN defines min value
30
- * @property {string} MAX defines max value
31
- * @property {string} STEP defines step
32
- * @property {string} MIN_LENGTH defines min length
33
- * @property {string} MAX_LENGTH defines max length
34
- * @property {string} PATTERN defines pattern
35
- * @property {string} EMAIL defines email
36
- * @property {string} URL defines url
37
- * @property {string} DATE defines date
38
- * @property {string} TYPE defines type
39
- * @property {string} PASSWORD defines password
40
- * @property {string} LIST defines list
41
- *
42
- * @constant ValidationKeys
31
+ * @description Object-like set of keys used across all validators in the system.
32
+ * @summary Defines the canonical namespaced key prefix and the individual validation flags for rules such as required, min/max, length, patterns, types, lists and more.
33
+ * @typedef {Object} ValidationKeysDef
34
+ * @property {string} REFLECT prefixes others (namespace prefix)
35
+ * @property {"required"} REQUIRED sets as required
36
+ * @property {"min"} MIN defines min value
37
+ * @property {"max"} MAX defines max value
38
+ * @property {"step"} STEP defines step
39
+ * @property {"minlength"} MIN_LENGTH defines min length
40
+ * @property {"maxlength"} MAX_LENGTH defines max length
41
+ * @property {"pattern"} PATTERN defines pattern
42
+ * @property {"email"} EMAIL defines email
43
+ * @property {"url"} URL defines url
44
+ * @property {"date"} DATE defines date
45
+ * @property {"type"} TYPE defines type
46
+ * @property {"password"} PASSWORD defines password
47
+ * @property {"list"} LIST defines list
48
+ * @property {"unique"} UNIQUE flags uniqueness
49
+ * @property {"validator"} VALIDATOR custom validator id
50
+ * @memberOf module:decorator-validation.Validation
51
+ */
52
+ /**
53
+ * @description The keys used for validation.
54
+ * @summary A namespaced collection of validation key strings used throughout the library.
55
+ * @const ValidationKeys
43
56
  * @memberOf module:decorator-validation.Validation
44
57
  * @category Validation
58
+ * @type {ValidationKeysDef}
45
59
  */
46
60
  export const ValidationKeys = {
47
61
  REFLECT: `${ModelKeys.REFLECT}validation.`,
@@ -64,10 +78,9 @@ export const ValidationKeys = {
64
78
  ...ComparisonValidationKeys,
65
79
  };
66
80
  /**
67
- * @summary list of month names
68
- * @description Stores month names. Can be changed for localization purposes
69
- *
70
- * @constant MONTH_NAMES
81
+ * @description list of month names
82
+ * @summary Stores month names. Can be changed for localization purposes
83
+ * @const MONTH_NAMES
71
84
  * @memberOf module:decorator-validation.Validation
72
85
  * @category Validation
73
86
  */
@@ -86,10 +99,9 @@ export const MONTH_NAMES = [
86
99
  "December",
87
100
  ];
88
101
  /**
89
- * @summary list of names of days of the week
90
- * @description Stores names for days of the week. Can be changed for localization purposes
91
- *
92
- * @constant DAYS_OF_WEEK_NAMES
102
+ * @description list of names of days of the week
103
+ * @summary Stores names for days of the week. Can be changed for localization purposes
104
+ * @const DAYS_OF_WEEK_NAMES
93
105
  * @memberOf module:decorator-validation.Validation
94
106
  * @category Validation
95
107
  */
@@ -103,8 +115,9 @@ export const DAYS_OF_WEEK_NAMES = [
103
115
  "Saturday",
104
116
  ];
105
117
  /**
106
- * @summary Defines the default error messages
107
- *
118
+ * @description Type definition for default error message strings keyed by validation type.
119
+ * @summary Enumerates the supported error message keys with their intended meaning; used to localize or override default messages.
120
+ * @typedef {Object} DefaultErrorMessages
108
121
  * @property {string} REQUIRED default error message
109
122
  * @property {string} MIN default error message
110
123
  * @property {string} MAX default error message
@@ -121,10 +134,15 @@ export const DAYS_OF_WEEK_NAMES = [
121
134
  * @property {string} LIST default error message
122
135
  * @property {string} LIST_INSIDE default error message
123
136
  * @property {string} MODEL_NOT_FOUND default error message
124
- *
125
- * @constant DEFAULT_ERROR_MESSAGES
137
+ * @memberOf module:decorator-validation.Validation
138
+ */
139
+ /**
140
+ * @description Defines the default error messages
141
+ * @summary Mapping between validation keys and their default human-readable error messages.
142
+ * @const DEFAULT_ERROR_MESSAGES
126
143
  * @memberOf module:decorator-validation.Validation
127
144
  * @category Validation
145
+ * @type {DefaultErrorMessages}
128
146
  */
129
147
  export const DEFAULT_ERROR_MESSAGES = {
130
148
  REQUIRED: "This field is required",
@@ -151,11 +169,22 @@ export const DEFAULT_ERROR_MESSAGES = {
151
169
  UNIQUE: "Duplicate found, this field must be unique.",
152
170
  };
153
171
  /**
154
- * @summary Defines the various default regexp patterns used
155
- *
156
- * @enum DEFAULT_PATTERNS
172
+ * @description Type definition for default regular expression patterns used in validation.
173
+ * @summary Captures common regex patterns for email, URL, and password policies, including nested grouping for password-related rules.
174
+ * @typedef {Object} DefaultPatterns
175
+ * @property {RegExp} EMAIL Email address validation pattern
176
+ * @property {RegExp} URL URL validation pattern
177
+ * @property {Object} PASSWORD Password-related regex patterns
178
+ * @property {RegExp} PASSWORD.CHAR8_ONE_OF_EACH At least 8 chars with lower, upper, number, and special char
179
+ * @memberOf module:decorator-validation.Validation
180
+ */
181
+ /**
182
+ * @description Defines the various default regexp patterns used
183
+ * @summary Collection of frequently used validation patterns grouped under semantic keys.
184
+ * @const DEFAULT_PATTERNS
157
185
  * @memberOf module:decorator-validation.Validation
158
186
  * @category Validation
187
+ * @type {DefaultPatterns}
159
188
  */
160
189
  export const DEFAULT_PATTERNS = {
161
190
  EMAIL: /[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?/,
@@ -164,4 +193,4 @@ export const DEFAULT_PATTERNS = {
164
193
  CHAR8_ONE_OF_EACH: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&_\-.,])[A-Za-z\d@$!%*?&_\-.,]{8,}$/g,
165
194
  },
166
195
  };
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQ0FBOEI7QUFFbEQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxXQUFXO0lBQ2pCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLGtCQUFrQixFQUFFLGlCQUFpQjtJQUNyQyxZQUFZLEVBQUUsYUFBYTtJQUMzQixxQkFBcUIsRUFBRSxvQkFBb0I7Q0FDbkMsQ0FBQztBQUVYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLE9BQU8sYUFBYTtJQUMxQyxJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsVUFBVSxFQUFFLFdBQVc7SUFDdkIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsU0FBUyxFQUFFLFdBQVc7SUFDdEIsR0FBRyx3QkFBd0I7Q0FDbkIsQ0FBQztBQUVYOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsU0FBUztJQUNULFVBQVU7SUFDVixPQUFPO0lBQ1AsT0FBTztJQUNQLEtBQUs7SUFDTCxNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixVQUFVO0NBQ1gsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxRQUFRO0lBQ1IsUUFBUTtJQUNSLFNBQVM7SUFDVCxXQUFXO0lBQ1gsVUFBVTtJQUNWLFFBQVE7SUFDUixVQUFVO0NBQ1gsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQjtJQUM1RCxRQUFRLEVBQUUsd0JBQXdCO0lBQ2xDLEdBQUcsRUFBRSwwQkFBMEI7SUFDL0IsR0FBRyxFQUFFLDBCQUEwQjtJQUMvQixVQUFVLEVBQUUsMkJBQTJCO0lBQ3ZDLFVBQVUsRUFBRSwyQkFBMkI7SUFDdkMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxLQUFLLEVBQUUsZ0NBQWdDO0lBQ3ZDLEdBQUcsRUFBRSw4QkFBOEI7SUFDbkMsSUFBSSxFQUFFLDBDQUEwQztJQUNoRCxJQUFJLEVBQUUsa0NBQWtDO0lBQ3hDLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQ04sNEhBQTRIO0lBQzlILElBQUksRUFBRSxxQkFBcUI7SUFDM0IsZUFBZSxFQUFFLCtCQUErQjtJQUNoRCxNQUFNLEVBQUUsdUNBQXVDO0lBQy9DLElBQUksRUFBRSw2Q0FBNkM7SUFDbkQsU0FBUyxFQUFFLHdDQUF3QztJQUNuRCxrQkFBa0IsRUFBRSxvREFBb0Q7SUFDeEUsWUFBWSxFQUFFLDJDQUEyQztJQUN6RCxxQkFBcUIsRUFDbkIsdURBQXVEO0lBQ3pELE1BQU0sRUFBRSw2Q0FBNkM7Q0FDdEQsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLEtBQUssRUFDSCw0SkFBNEo7SUFDOUosR0FBRyxFQUFFLHlhQUF5YTtJQUM5YSxRQUFRLEVBQUU7UUFDUixpQkFBaUIsRUFDZixpRkFBaUY7S0FDcEY7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxLZXlzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEtleXMgdXNlZCBmb3IgY29tcGFyaXNvbi1iYXNlZCB2YWxpZGF0aW9ucy5cbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRVFVQUxTIC0gVmFsaWRhdGVzIGlmIHR3byB2YWx1ZXMgYXJlIGVxdWFsLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IERJRkYgLSBWYWxpZGF0ZXMgaWYgdHdvIHZhbHVlcyBhcmUgZGlmZmVyZW50LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IExFU1NfVEhBTiAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGxlc3MgdGhhbiBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IExFU1NfVEhBTl9PUl9FUVVBTCAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IEdSRUFURVJfVEhBTiAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IEdSRUFURVJfVEhBTl9PUl9FUVVBTCAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBhbm90aGVyLlxuICpcbiAqIEBjb25zdGFudCBDb21wYXJpc29uVmFsaWRhdGlvbktleXNcbiAqIEBtZW1iZXJvZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IENvbXBhcmlzb25WYWxpZGF0aW9uS2V5cyA9IHtcbiAgRVFVQUxTOiBcImVxdWFsc1wiLFxuICBESUZGOiBcImRpZmZlcmVudFwiLFxuICBMRVNTX1RIQU46IFwibGVzc1RoYW5cIixcbiAgTEVTU19USEFOX09SX0VRVUFMOiBcImxlc3NUaGFuT3JFcXVhbFwiLFxuICBHUkVBVEVSX1RIQU46IFwiZ3JlYXRlclRoYW5cIixcbiAgR1JFQVRFUl9USEFOX09SX0VRVUFMOiBcImdyZWF0ZXJUaGFuT3JFcXVhbFwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBAc3VtbWFyeSBUaGUga2V5cyB1c2VkIGZvciB2YWxpZGF0aW9uXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFJFRkxFQ1QgcHJlZml4ZXMgb3RoZXJzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVRVUlSRUQgc2V0cyBhcyByZXF1aXJlZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1JTiBkZWZpbmVzIG1pbiB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCBkZWZpbmVzIG1heCB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFNURVAgZGVmaW5lcyBzdGVwXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOX0xFTkdUSCBkZWZpbmVzIG1pbiBsZW5ndGhcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNQVhfTEVOR1RIIGRlZmluZXMgbWF4IGxlbmd0aFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBVFRFUk4gZGVmaW5lcyBwYXR0ZXJuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRU1BSUwgZGVmaW5lcyBlbWFpbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFVSTCBkZWZpbmVzIHVybFxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgZGVmaW5lcyBkYXRlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSBkZWZpbmVzIHR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVNTV09SRCBkZWZpbmVzIHBhc3N3b3JkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTElTVCBkZWZpbmVzIGxpc3RcbiAqXG4gKiBAY29uc3RhbnQgVmFsaWRhdGlvbktleXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRpb25LZXlzID0ge1xuICBSRUZMRUNUOiBgJHtNb2RlbEtleXMuUkVGTEVDVH12YWxpZGF0aW9uLmAsXG4gIERBVEU6IFwiZGF0ZVwiLFxuICBFTUFJTDogXCJlbWFpbFwiLFxuICBGT1JNQVQ6IFwiZm9ybWF0XCIsXG4gIExJU1Q6IFwibGlzdFwiLFxuICBNQVg6IFwibWF4XCIsXG4gIE1BWF9MRU5HVEg6IFwibWF4bGVuZ3RoXCIsXG4gIE1JTjogXCJtaW5cIixcbiAgTUlOX0xFTkdUSDogXCJtaW5sZW5ndGhcIixcbiAgUEFTU1dPUkQ6IFwicGFzc3dvcmRcIixcbiAgUEFUVEVSTjogXCJwYXR0ZXJuXCIsXG4gIFJFUVVJUkVEOiBcInJlcXVpcmVkXCIsXG4gIFNURVA6IFwic3RlcFwiLFxuICBUWVBFOiBcInR5cGVcIixcbiAgVU5JUVVFOiBcInVuaXF1ZVwiLFxuICBVUkw6IFwidXJsXCIsXG4gIFZBTElEQVRPUjogXCJ2YWxpZGF0b3JcIixcbiAgLi4uQ29tcGFyaXNvblZhbGlkYXRpb25LZXlzLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBAc3VtbWFyeSBsaXN0IG9mIG1vbnRoIG5hbWVzXG4gKiBAZGVzY3JpcHRpb24gU3RvcmVzIG1vbnRoIG5hbWVzLiBDYW4gYmUgY2hhbmdlZCBmb3IgbG9jYWxpemF0aW9uIHB1cnBvc2VzXG4gKlxuICogQGNvbnN0YW50IE1PTlRIX05BTUVTXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBNT05USF9OQU1FUyA9IFtcbiAgXCJKYW51YXJ5XCIsXG4gIFwiRmVicnVhcnlcIixcbiAgXCJNYXJjaFwiLFxuICBcIkFwcmlsXCIsXG4gIFwiTWF5XCIsXG4gIFwiSnVuZVwiLFxuICBcIkp1bHlcIixcbiAgXCJBdWd1c3RcIixcbiAgXCJTZXB0ZW1iZXJcIixcbiAgXCJPY3RvYmVyXCIsXG4gIFwiTm92ZW1iZXJcIixcbiAgXCJEZWNlbWJlclwiLFxuXTtcblxuLyoqXG4gKiBAc3VtbWFyeSBsaXN0IG9mIG5hbWVzIG9mIGRheXMgb2YgdGhlIHdlZWtcbiAqIEBkZXNjcmlwdGlvbiBTdG9yZXMgbmFtZXMgZm9yIGRheXMgb2YgdGhlIHdlZWsuIENhbiBiZSBjaGFuZ2VkIGZvciBsb2NhbGl6YXRpb24gcHVycG9zZXNcbiAqXG4gKiBAY29uc3RhbnQgREFZU19PRl9XRUVLX05BTUVTXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBEQVlTX09GX1dFRUtfTkFNRVMgPSBbXG4gIFwiU3VuZGF5XCIsXG4gIFwiTW9uZGF5XCIsXG4gIFwiVHVlc2RheVwiLFxuICBcIldlZG5lc2RheVwiLFxuICBcIlRodXJzZGF5XCIsXG4gIFwiRnJpZGF5XCIsXG4gIFwiU2F0dXJkYXlcIixcbl07XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgZGVmYXVsdCBlcnJvciBtZXNzYWdlc1xuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRVFVSVJFRCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNSU4gZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUFYIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1JTl9MRU5HVEggZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUFYX0xFTkdUSCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVRURVJOIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEVNQUlMIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFVSTCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBUWVBFIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFNURVAgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gREFURSBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBERUZBVUxUIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBU1NXT1JEIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IExJU1QgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTElTVF9JTlNJREUgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTU9ERUxfTk9UX0ZPVU5EIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICpcbiAqIEBjb25zdGFudCBERUZBVUxUX0VSUk9SX01FU1NBR0VTXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0VSUk9SX01FU1NBR0VTOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBSRVFVSVJFRDogXCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkXCIsXG4gIE1JTjogXCJUaGUgbWluaW11bSB2YWx1ZSBpcyB7MH1cIixcbiAgTUFYOiBcIlRoZSBtYXhpbXVtIHZhbHVlIGlzIHswfVwiLFxuICBNSU5fTEVOR1RIOiBcIlRoZSBtaW5pbXVtIGxlbmd0aCBpcyB7MH1cIixcbiAgTUFYX0xFTkdUSDogXCJUaGUgbWF4aW11bSBsZW5ndGggaXMgezB9XCIsXG4gIFBBVFRFUk46IFwiVGhlIHZhbHVlIGRvZXMgbm90IG1hdGNoIHRoZSBwYXR0ZXJuXCIsXG4gIEVNQUlMOiBcIlRoZSB2YWx1ZSBpcyBub3QgYSB2YWxpZCBlbWFpbFwiLFxuICBVUkw6IFwiVGhlIHZhbHVlIGlzIG5vdCBhIHZhbGlkIFVSTFwiLFxuICBUWVBFOiBcIkludmFsaWQgdHlwZS4gRXhwZWN0ZWQgezB9LCByZWNlaXZlZCB7MX1cIixcbiAgU1RFUDogXCJJbnZhbGlkIHZhbHVlLiBOb3QgYSBzdGVwIG9mIHswfVwiLFxuICBEQVRFOiBcIkludmFsaWQgdmFsdWUuIG5vdCBhIHZhbGlkIERhdGVcIixcbiAgREVGQVVMVDogXCJUaGVyZSBpcyBhbiBFcnJvclwiLFxuICBQQVNTV09SRDpcbiAgICBcIk11c3QgYmUgYXQgbGVhc3QgOCBjaGFyYWN0ZXJzIGFuZCBjb250YWluIG9uZSBvZiBudW1iZXIsIGxvd2VyIGFuZCB1cHBlciBjYXNlIGxldHRlcnMsIGFuZCBzcGVjaWFsIGNoYXJhY3RlciAoQCQhJSo/Jl8tLiwpXCIsXG4gIExJU1Q6IFwiSW52YWxpZCBsaXN0IG9mIHswfVwiLFxuICBNT0RFTF9OT1RfRk9VTkQ6IFwiTm8gbW9kZWwgcmVnaXN0ZXJlZCB1bmRlciB7MH1cIixcbiAgRVFVQUxTOiBcIlRoaXMgZmllbGQgbXVzdCBiZSBlcXVhbCB0byBmaWVsZCB7MH1cIixcbiAgRElGRjogXCJUaGlzIGZpZWxkIG11c3QgYmUgZGlmZmVyZW50IGZyb20gZmllbGQgezB9XCIsXG4gIExFU1NfVEhBTjogXCJUaGlzIGZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIGZpZWxkIHswfVwiLFxuICBMRVNTX1RIQU5fT1JfRVFVQUw6IFwiVGhpcyBmaWVsZCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBmaWVsZCB7MH1cIixcbiAgR1JFQVRFUl9USEFOOiBcIlRoaXMgZmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gZmllbGQgezB9XCIsXG4gIEdSRUFURVJfVEhBTl9PUl9FUVVBTDpcbiAgICBcIlRoaXMgZmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZmllbGQgezB9XCIsXG4gIFVOSVFVRTogXCJEdXBsaWNhdGUgZm91bmQsIHRoaXMgZmllbGQgbXVzdCBiZSB1bmlxdWUuXCIsXG59O1xuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHZhcmlvdXMgZGVmYXVsdCByZWdleHAgcGF0dGVybnMgdXNlZFxuICpcbiAqIEBlbnVtIERFRkFVTFRfUEFUVEVSTlNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUEFUVEVSTlMgPSB7XG4gIEVNQUlMOlxuICAgIC9bYS16QS1aMC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKD86XFwuW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKykqQCg/OlthLXpBLVowLTldKD86W2EtejAtOS1dKlthLXpBLVowLTldKT9cXC4pK1thLXpBLVowLTldKD86W2EtekEtWjAtOS1dKlthLXpBLVowLTldKT8vLFxuICBVUkw6IC9eKD86KD86KD86aHR0cHM/fGZ0cCk6KT9cXC9cXC8pKD86XFxTKyg/OjpcXFMqKT9AKT8oPzooPyEoPzoxMHwxMjcpKD86XFwuXFxkezEsM30pezN9KSg/ISg/OjE2OVxcLjI1NHwxOTJcXC4xNjgpKD86XFwuXFxkezEsM30pezJ9KSg/ITE3MlxcLig/OjFbNi05XXwyXFxkfDNbMC0xXSkoPzpcXC5cXGR7MSwzfSl7Mn0pKD86WzEtOV1cXGQ/fDFcXGRcXGR8MlswMV1cXGR8MjJbMC0zXSkoPzpcXC4oPzoxP1xcZHsxLDJ9fDJbMC00XVxcZHwyNVswLTVdKSl7Mn0oPzpcXC4oPzpbMS05XVxcZD98MVxcZFxcZHwyWzAtNF1cXGR8MjVbMC00XSkpfCg/Oig/OlthLXowLTlcXHUwMGExLVxcdWZmZmZdW2EtejAtOVxcdTAwYTEtXFx1ZmZmZl8tXXswLDYyfSk/W2EtejAtOVxcdTAwYTEtXFx1ZmZmZl1cXC4pKyg/OlthLXpcXHUwMGExLVxcdWZmZmZdezIsfVxcLj8pKSg/OjpcXGR7Miw1fSk/KD86Wy8/I11cXFMqKT8kL2ksXG4gIFBBU1NXT1JEOiB7XG4gICAgQ0hBUjhfT05FX09GX0VBQ0g6XG4gICAgICAvXig/PS4qW2Etel0pKD89LipbQS1aXSkoPz0uKlxcZCkoPz0uKltAJCElKj8mX1xcLS4sXSlbQS1aYS16XFxkQCQhJSo/Jl9cXC0uLF17OCx9JC9nLFxuICB9LFxufTtcbiJdfQ==
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQ0FBOEI7QUFFbEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFFSDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLFdBQVc7SUFDakIsU0FBUyxFQUFFLFVBQVU7SUFDckIsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFlBQVksRUFBRSxhQUFhO0lBQzNCLHFCQUFxQixFQUFFLG9CQUFvQjtDQUNuQyxDQUFDO0FBRVg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUVIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLE9BQU8sYUFBYTtJQUMxQyxJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsVUFBVSxFQUFFLFdBQVc7SUFDdkIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsU0FBUyxFQUFFLFdBQVc7SUFDdEIsR0FBRyx3QkFBd0I7Q0FDbkIsQ0FBQztBQUVYOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixTQUFTO0lBQ1QsVUFBVTtJQUNWLE9BQU87SUFDUCxPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixNQUFNO0lBQ04sUUFBUTtJQUNSLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFVBQVU7Q0FDWCxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsUUFBUTtJQUNSLFFBQVE7SUFDUixTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixRQUFRO0lBQ1IsVUFBVTtDQUNYLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBRUg7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQjtJQUM1RCxRQUFRLEVBQUUsd0JBQXdCO0lBQ2xDLEdBQUcsRUFBRSwwQkFBMEI7SUFDL0IsR0FBRyxFQUFFLDBCQUEwQjtJQUMvQixVQUFVLEVBQUUsMkJBQTJCO0lBQ3ZDLFVBQVUsRUFBRSwyQkFBMkI7SUFDdkMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxLQUFLLEVBQUUsZ0NBQWdDO0lBQ3ZDLEdBQUcsRUFBRSw4QkFBOEI7SUFDbkMsSUFBSSxFQUFFLDBDQUEwQztJQUNoRCxJQUFJLEVBQUUsa0NBQWtDO0lBQ3hDLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQ04sNEhBQTRIO0lBQzlILElBQUksRUFBRSxxQkFBcUI7SUFDM0IsZUFBZSxFQUFFLCtCQUErQjtJQUNoRCxNQUFNLEVBQUUsdUNBQXVDO0lBQy9DLElBQUksRUFBRSw2Q0FBNkM7SUFDbkQsU0FBUyxFQUFFLHdDQUF3QztJQUNuRCxrQkFBa0IsRUFBRSxvREFBb0Q7SUFDeEUsWUFBWSxFQUFFLDJDQUEyQztJQUN6RCxxQkFBcUIsRUFDbkIsdURBQXVEO0lBQ3pELE1BQU0sRUFBRSw2Q0FBNkM7Q0FDdEQsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUVIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixLQUFLLEVBQ0gsNEpBQTRKO0lBQzlKLEdBQUcsRUFBRSx5YUFBeWE7SUFDOWEsUUFBUSxFQUFFO1FBQ1IsaUJBQWlCLEVBQ2YsaUZBQWlGO0tBQ3BGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsS2V5cyB9IGZyb20gXCIuLi8uLi91dGlscy9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gT2JqZWN0LWxpa2Ugc2V0IG9mIGtleXMgdXNlZCBmb3IgY29tcGFyaXNvbi1iYXNlZCB2YWxpZGF0aW9ucy5cbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIGNhbm9uaWNhbCBuYW1lcyBmb3IgdmFsaWRhdG9ycyB0aGF0IGNvbXBhcmUgdHdvIHZhbHVlcyAoZXF1YWxpdHkgYW5kIG9yZGVyaW5nIGNoZWNrcykuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBDb21wYXJpc29uVmFsaWRhdGlvbktleXNEZWZcbiAqIEBwcm9wZXJ0eSB7XCJlcXVhbHNcIn0gRVFVQUxTIFZhbGlkYXRlcyBpZiB0d28gdmFsdWVzIGFyZSBlcXVhbC5cbiAqIEBwcm9wZXJ0eSB7XCJkaWZmZXJlbnRcIn0gRElGRiBWYWxpZGF0ZXMgaWYgdHdvIHZhbHVlcyBhcmUgZGlmZmVyZW50LlxuICogQHByb3BlcnR5IHtcImxlc3NUaGFuXCJ9IExFU1NfVEhBTiBWYWxpZGF0ZXMgaWYgYSB2YWx1ZSBpcyBsZXNzIHRoYW4gYW5vdGhlci5cbiAqIEBwcm9wZXJ0eSB7XCJsZXNzVGhhbk9yRXF1YWxcIn0gTEVTU19USEFOX09SX0VRVUFMIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBhbm90aGVyLlxuICogQHByb3BlcnR5IHtcImdyZWF0ZXJUaGFuXCJ9IEdSRUFURVJfVEhBTiBWYWxpZGF0ZXMgaWYgYSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gYW5vdGhlci5cbiAqIEBwcm9wZXJ0eSB7XCJncmVhdGVyVGhhbk9yRXF1YWxcIn0gR1JFQVRFUl9USEFOX09SX0VRVUFMIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBhbm90aGVyLlxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKi9cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gS2V5cyB1c2VkIGZvciBjb21wYXJpc29uLWJhc2VkIHZhbGlkYXRpb25zLlxuICogQHN1bW1hcnkgQ2Fub25pY2FsIGtleSBuYW1lcyBmb3IgY29tcGFyaXNvbiB2YWxpZGF0b3JzLlxuICogQGNvbnN0IENvbXBhcmlzb25WYWxpZGF0aW9uS2V5c1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICogQHR5cGUge0NvbXBhcmlzb25WYWxpZGF0aW9uS2V5c0RlZn1cbiAqL1xuZXhwb3J0IGNvbnN0IENvbXBhcmlzb25WYWxpZGF0aW9uS2V5cyA9IHtcbiAgRVFVQUxTOiBcImVxdWFsc1wiLFxuICBESUZGOiBcImRpZmZlcmVudFwiLFxuICBMRVNTX1RIQU46IFwibGVzc1RoYW5cIixcbiAgTEVTU19USEFOX09SX0VRVUFMOiBcImxlc3NUaGFuT3JFcXVhbFwiLFxuICBHUkVBVEVSX1RIQU46IFwiZ3JlYXRlclRoYW5cIixcbiAgR1JFQVRFUl9USEFOX09SX0VRVUFMOiBcImdyZWF0ZXJUaGFuT3JFcXVhbFwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gT2JqZWN0LWxpa2Ugc2V0IG9mIGtleXMgdXNlZCBhY3Jvc3MgYWxsIHZhbGlkYXRvcnMgaW4gdGhlIHN5c3RlbS5cbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGNhbm9uaWNhbCBuYW1lc3BhY2VkIGtleSBwcmVmaXggYW5kIHRoZSBpbmRpdmlkdWFsIHZhbGlkYXRpb24gZmxhZ3MgZm9yIHJ1bGVzIHN1Y2ggYXMgcmVxdWlyZWQsIG1pbi9tYXgsIGxlbmd0aCwgcGF0dGVybnMsIHR5cGVzLCBsaXN0cyBhbmQgbW9yZS5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IFZhbGlkYXRpb25LZXlzRGVmXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVGTEVDVCBwcmVmaXhlcyBvdGhlcnMgKG5hbWVzcGFjZSBwcmVmaXgpXG4gKiBAcHJvcGVydHkge1wicmVxdWlyZWRcIn0gUkVRVUlSRUQgc2V0cyBhcyByZXF1aXJlZFxuICogQHByb3BlcnR5IHtcIm1pblwifSBNSU4gZGVmaW5lcyBtaW4gdmFsdWVcbiAqIEBwcm9wZXJ0eSB7XCJtYXhcIn0gTUFYIGRlZmluZXMgbWF4IHZhbHVlXG4gKiBAcHJvcGVydHkge1wic3RlcFwifSBTVEVQIGRlZmluZXMgc3RlcFxuICogQHByb3BlcnR5IHtcIm1pbmxlbmd0aFwifSBNSU5fTEVOR1RIIGRlZmluZXMgbWluIGxlbmd0aFxuICogQHByb3BlcnR5IHtcIm1heGxlbmd0aFwifSBNQVhfTEVOR1RIIGRlZmluZXMgbWF4IGxlbmd0aFxuICogQHByb3BlcnR5IHtcInBhdHRlcm5cIn0gUEFUVEVSTiBkZWZpbmVzIHBhdHRlcm5cbiAqIEBwcm9wZXJ0eSB7XCJlbWFpbFwifSBFTUFJTCBkZWZpbmVzIGVtYWlsXG4gKiBAcHJvcGVydHkge1widXJsXCJ9IFVSTCBkZWZpbmVzIHVybFxuICogQHByb3BlcnR5IHtcImRhdGVcIn0gREFURSBkZWZpbmVzIGRhdGVcbiAqIEBwcm9wZXJ0eSB7XCJ0eXBlXCJ9IFRZUEUgZGVmaW5lcyB0eXBlXG4gKiBAcHJvcGVydHkge1wicGFzc3dvcmRcIn0gUEFTU1dPUkQgZGVmaW5lcyBwYXNzd29yZFxuICogQHByb3BlcnR5IHtcImxpc3RcIn0gTElTVCBkZWZpbmVzIGxpc3RcbiAqIEBwcm9wZXJ0eSB7XCJ1bmlxdWVcIn0gVU5JUVVFIGZsYWdzIHVuaXF1ZW5lc3NcbiAqIEBwcm9wZXJ0eSB7XCJ2YWxpZGF0b3JcIn0gVkFMSURBVE9SIGN1c3RvbSB2YWxpZGF0b3IgaWRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICovXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRoZSBrZXlzIHVzZWQgZm9yIHZhbGlkYXRpb24uXG4gKiBAc3VtbWFyeSBBIG5hbWVzcGFjZWQgY29sbGVjdGlvbiBvZiB2YWxpZGF0aW9uIGtleSBzdHJpbmdzIHVzZWQgdGhyb3VnaG91dCB0aGUgbGlicmFyeS5cbiAqIEBjb25zdCBWYWxpZGF0aW9uS2V5c1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICogQHR5cGUge1ZhbGlkYXRpb25LZXlzRGVmfVxuICovXG5leHBvcnQgY29uc3QgVmFsaWRhdGlvbktleXMgPSB7XG4gIFJFRkxFQ1Q6IGAke01vZGVsS2V5cy5SRUZMRUNUfXZhbGlkYXRpb24uYCxcbiAgREFURTogXCJkYXRlXCIsXG4gIEVNQUlMOiBcImVtYWlsXCIsXG4gIEZPUk1BVDogXCJmb3JtYXRcIixcbiAgTElTVDogXCJsaXN0XCIsXG4gIE1BWDogXCJtYXhcIixcbiAgTUFYX0xFTkdUSDogXCJtYXhsZW5ndGhcIixcbiAgTUlOOiBcIm1pblwiLFxuICBNSU5fTEVOR1RIOiBcIm1pbmxlbmd0aFwiLFxuICBQQVNTV09SRDogXCJwYXNzd29yZFwiLFxuICBQQVRURVJOOiBcInBhdHRlcm5cIixcbiAgUkVRVUlSRUQ6IFwicmVxdWlyZWRcIixcbiAgU1RFUDogXCJzdGVwXCIsXG4gIFRZUEU6IFwidHlwZVwiLFxuICBVTklRVUU6IFwidW5pcXVlXCIsXG4gIFVSTDogXCJ1cmxcIixcbiAgVkFMSURBVE9SOiBcInZhbGlkYXRvclwiLFxuICAuLi5Db21wYXJpc29uVmFsaWRhdGlvbktleXMsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBsaXN0IG9mIG1vbnRoIG5hbWVzXG4gKiBAc3VtbWFyeSBTdG9yZXMgbW9udGggbmFtZXMuIENhbiBiZSBjaGFuZ2VkIGZvciBsb2NhbGl6YXRpb24gcHVycG9zZXNcbiAqIEBjb25zdCBNT05USF9OQU1FU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgTU9OVEhfTkFNRVMgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIGxpc3Qgb2YgbmFtZXMgb2YgZGF5cyBvZiB0aGUgd2Vla1xuICogQHN1bW1hcnkgU3RvcmVzIG5hbWVzIGZvciBkYXlzIG9mIHRoZSB3ZWVrLiBDYW4gYmUgY2hhbmdlZCBmb3IgbG9jYWxpemF0aW9uIHB1cnBvc2VzXG4gKiBAY29uc3QgREFZU19PRl9XRUVLX05BTUVTXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBEQVlTX09GX1dFRUtfTkFNRVMgPSBbXG4gIFwiU3VuZGF5XCIsXG4gIFwiTW9uZGF5XCIsXG4gIFwiVHVlc2RheVwiLFxuICBcIldlZG5lc2RheVwiLFxuICBcIlRodXJzZGF5XCIsXG4gIFwiRnJpZGF5XCIsXG4gIFwiU2F0dXJkYXlcIixcbl07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFR5cGUgZGVmaW5pdGlvbiBmb3IgZGVmYXVsdCBlcnJvciBtZXNzYWdlIHN0cmluZ3Mga2V5ZWQgYnkgdmFsaWRhdGlvbiB0eXBlLlxuICogQHN1bW1hcnkgRW51bWVyYXRlcyB0aGUgc3VwcG9ydGVkIGVycm9yIG1lc3NhZ2Uga2V5cyB3aXRoIHRoZWlyIGludGVuZGVkIG1lYW5pbmc7IHVzZWQgdG8gbG9jYWxpemUgb3Igb3ZlcnJpZGUgZGVmYXVsdCBtZXNzYWdlcy5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IERlZmF1bHRFcnJvck1lc3NhZ2VzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVRVUlSRUQgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNSU5fTEVOR1RIIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWF9MRU5HVEggZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUEFUVEVSTiBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBFTUFJTCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBVUkwgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTVEVQIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gREVGQVVMVCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVNTV09SRCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBMSVNUIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IExJU1RfSU5TSURFIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1PREVMX05PVF9GT1VORCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICovXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmluZXMgdGhlIGRlZmF1bHQgZXJyb3IgbWVzc2FnZXNcbiAqIEBzdW1tYXJ5IE1hcHBpbmcgYmV0d2VlbiB2YWxpZGF0aW9uIGtleXMgYW5kIHRoZWlyIGRlZmF1bHQgaHVtYW4tcmVhZGFibGUgZXJyb3IgbWVzc2FnZXMuXG4gKiBAY29uc3QgREVGQVVMVF9FUlJPUl9NRVNTQUdFU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICogQHR5cGUge0RlZmF1bHRFcnJvck1lc3NhZ2VzfVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FUlJPUl9NRVNTQUdFUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgUkVRVUlSRUQ6IFwiVGhpcyBmaWVsZCBpcyByZXF1aXJlZFwiLFxuICBNSU46IFwiVGhlIG1pbmltdW0gdmFsdWUgaXMgezB9XCIsXG4gIE1BWDogXCJUaGUgbWF4aW11bSB2YWx1ZSBpcyB7MH1cIixcbiAgTUlOX0xFTkdUSDogXCJUaGUgbWluaW11bSBsZW5ndGggaXMgezB9XCIsXG4gIE1BWF9MRU5HVEg6IFwiVGhlIG1heGltdW0gbGVuZ3RoIGlzIHswfVwiLFxuICBQQVRURVJOOiBcIlRoZSB2YWx1ZSBkb2VzIG5vdCBtYXRjaCB0aGUgcGF0dGVyblwiLFxuICBFTUFJTDogXCJUaGUgdmFsdWUgaXMgbm90IGEgdmFsaWQgZW1haWxcIixcbiAgVVJMOiBcIlRoZSB2YWx1ZSBpcyBub3QgYSB2YWxpZCBVUkxcIixcbiAgVFlQRTogXCJJbnZhbGlkIHR5cGUuIEV4cGVjdGVkIHswfSwgcmVjZWl2ZWQgezF9XCIsXG4gIFNURVA6IFwiSW52YWxpZCB2YWx1ZS4gTm90IGEgc3RlcCBvZiB7MH1cIixcbiAgREFURTogXCJJbnZhbGlkIHZhbHVlLiBub3QgYSB2YWxpZCBEYXRlXCIsXG4gIERFRkFVTFQ6IFwiVGhlcmUgaXMgYW4gRXJyb3JcIixcbiAgUEFTU1dPUkQ6XG4gICAgXCJNdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycyBhbmQgY29udGFpbiBvbmUgb2YgbnVtYmVyLCBsb3dlciBhbmQgdXBwZXIgY2FzZSBsZXR0ZXJzLCBhbmQgc3BlY2lhbCBjaGFyYWN0ZXIgKEAkISUqPyZfLS4sKVwiLFxuICBMSVNUOiBcIkludmFsaWQgbGlzdCBvZiB7MH1cIixcbiAgTU9ERUxfTk9UX0ZPVU5EOiBcIk5vIG1vZGVsIHJlZ2lzdGVyZWQgdW5kZXIgezB9XCIsXG4gIEVRVUFMUzogXCJUaGlzIGZpZWxkIG11c3QgYmUgZXF1YWwgdG8gZmllbGQgezB9XCIsXG4gIERJRkY6IFwiVGhpcyBmaWVsZCBtdXN0IGJlIGRpZmZlcmVudCBmcm9tIGZpZWxkIHswfVwiLFxuICBMRVNTX1RIQU46IFwiVGhpcyBmaWVsZCBtdXN0IGJlIGxlc3MgdGhhbiBmaWVsZCB7MH1cIixcbiAgTEVTU19USEFOX09SX0VRVUFMOiBcIlRoaXMgZmllbGQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZmllbGQgezB9XCIsXG4gIEdSRUFURVJfVEhBTjogXCJUaGlzIGZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIGZpZWxkIHswfVwiLFxuICBHUkVBVEVSX1RIQU5fT1JfRVFVQUw6XG4gICAgXCJUaGlzIGZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGZpZWxkIHswfVwiLFxuICBVTklRVUU6IFwiRHVwbGljYXRlIGZvdW5kLCB0aGlzIGZpZWxkIG11c3QgYmUgdW5pcXVlLlwiLFxufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVHlwZSBkZWZpbml0aW9uIGZvciBkZWZhdWx0IHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB1c2VkIGluIHZhbGlkYXRpb24uXG4gKiBAc3VtbWFyeSBDYXB0dXJlcyBjb21tb24gcmVnZXggcGF0dGVybnMgZm9yIGVtYWlsLCBVUkwsIGFuZCBwYXNzd29yZCBwb2xpY2llcywgaW5jbHVkaW5nIG5lc3RlZCBncm91cGluZyBmb3IgcGFzc3dvcmQtcmVsYXRlZCBydWxlcy5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IERlZmF1bHRQYXR0ZXJuc1xuICogQHByb3BlcnR5IHtSZWdFeHB9IEVNQUlMIEVtYWlsIGFkZHJlc3MgdmFsaWRhdGlvbiBwYXR0ZXJuXG4gKiBAcHJvcGVydHkge1JlZ0V4cH0gVVJMIFVSTCB2YWxpZGF0aW9uIHBhdHRlcm5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBQQVNTV09SRCBQYXNzd29yZC1yZWxhdGVkIHJlZ2V4IHBhdHRlcm5zXG4gKiBAcHJvcGVydHkge1JlZ0V4cH0gUEFTU1dPUkQuQ0hBUjhfT05FX09GX0VBQ0ggQXQgbGVhc3QgOCBjaGFycyB3aXRoIGxvd2VyLCB1cHBlciwgbnVtYmVyLCBhbmQgc3BlY2lhbCBjaGFyXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb25cbiAqL1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIHRoZSB2YXJpb3VzIGRlZmF1bHQgcmVnZXhwIHBhdHRlcm5zIHVzZWRcbiAqIEBzdW1tYXJ5IENvbGxlY3Rpb24gb2YgZnJlcXVlbnRseSB1c2VkIHZhbGlkYXRpb24gcGF0dGVybnMgZ3JvdXBlZCB1bmRlciBzZW1hbnRpYyBrZXlzLlxuICogQGNvbnN0IERFRkFVTFRfUEFUVEVSTlNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqIEB0eXBlIHtEZWZhdWx0UGF0dGVybnN9XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BBVFRFUk5TID0ge1xuICBFTUFJTDpcbiAgICAvW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlxcLlthLXpBLVowLTkhIyQlJicqKy89P15fYHt8fX4tXSspKkAoPzpbYS16QS1aMC05XSg/OlthLXowLTktXSpbYS16QS1aMC05XSk/XFwuKStbYS16QS1aMC05XSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/LyxcbiAgVVJMOiAvXig/Oig/Oig/Omh0dHBzP3xmdHApOik/XFwvXFwvKSg/OlxcUysoPzo6XFxTKik/QCk/KD86KD8hKD86MTB8MTI3KSg/OlxcLlxcZHsxLDN9KXszfSkoPyEoPzoxNjlcXC4yNTR8MTkyXFwuMTY4KSg/OlxcLlxcZHsxLDN9KXsyfSkoPyExNzJcXC4oPzoxWzYtOV18MlxcZHwzWzAtMV0pKD86XFwuXFxkezEsM30pezJ9KSg/OlsxLTldXFxkP3wxXFxkXFxkfDJbMDFdXFxkfDIyWzAtM10pKD86XFwuKD86MT9cXGR7MSwyfXwyWzAtNF1cXGR8MjVbMC01XSkpezJ9KD86XFwuKD86WzEtOV1cXGQ/fDFcXGRcXGR8MlswLTRdXFxkfDI1WzAtNF0pKXwoPzooPzpbYS16MC05XFx1MDBhMS1cXHVmZmZmXVthLXowLTlcXHUwMGExLVxcdWZmZmZfLV17MCw2Mn0pP1thLXowLTlcXHUwMGExLVxcdWZmZmZdXFwuKSsoPzpbYS16XFx1MDBhMS1cXHVmZmZmXXsyLH1cXC4/KSkoPzo6XFxkezIsNX0pPyg/OlsvPyNdXFxTKik/JC9pLFxuICBQQVNTV09SRDoge1xuICAgIENIQVI4X09ORV9PRl9FQUNIOlxuICAgICAgL14oPz0uKlthLXpdKSg/PS4qW0EtWl0pKD89LipcXGQpKD89LipbQCQhJSo/Jl9cXC0uLF0pW0EtWmEtelxcZEAkISUqPyZfXFwtLixdezgsfSQvZyxcbiAgfSxcbn07XG4iXX0=
package/lib/index.cjs CHANGED
@@ -33,5 +33,5 @@ __exportStar(require("./model/index.cjs"), exports);
33
33
  * @const VERSION
34
34
  * @memberOf module:decorator-validation
35
35
  */
36
- exports.VERSION = "1.7.17";
36
+ exports.VERSION = "1.7.19";
37
37
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0dBTUc7QUFDSCx3REFBNEI7QUFDNUIsb0RBQXdCO0FBQ3hCLG9EQUF3QjtBQUN4Qix5REFBNkI7QUFDN0Isb0RBQXdCO0FBRXhCOzs7OztHQUtHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAZGVzY3JpcHRpb24gVHlwZVNjcmlwdCBkZWNvcmF0b3ItYmFzZWQgdmFsaWRhdGlvbiBsaWJyYXJ5XG4gKiBAc3VtbWFyeSBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbXByZWhlbnNpdmUgdmFsaWRhdGlvbiBmcmFtZXdvcmsgdXNpbmcgVHlwZVNjcmlwdCBkZWNvcmF0b3JzLlxuICogSXQgZXhwb3NlcyB1dGlsaXR5IGZ1bmN0aW9ucywgdmFsaWRhdGlvbiBkZWNvcmF0b3JzLCBhbmQgbW9kZWwtcmVsYXRlZCBmdW5jdGlvbmFsaXR5IGZvclxuICogaW1wbGVtZW50aW5nIHR5cGUtc2FmZSwgZGVjbGFyYXRpdmUgdmFsaWRhdGlvbiBpbiBUeXBlU2NyaXB0IGFwcGxpY2F0aW9ucy5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZhbGlkYXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVsXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVmbGVjdGlvbiBwYWNrYWdlXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBwYWNrYWdlXG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -16,4 +16,4 @@ export * from "./model";
16
16
  * @const VERSION
17
17
  * @memberOf module:decorator-validation
18
18
  */
19
- export declare const VERSION = "1.7.17";
19
+ export declare const VERSION = "1.7.19";