velocious 1.0.243 → 1.0.244

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/README.md CHANGED
@@ -1512,7 +1512,7 @@ class UserResource extends BaseResource {
1512
1512
  const currentUser = this.currentUser()
1513
1513
 
1514
1514
  if (currentUser) {
1515
- this.can("read", User, {id: currentUser.id()})
1515
+ this.can("read", {id: currentUser.id()})
1516
1516
  }
1517
1517
  }
1518
1518
  }
@@ -22,26 +22,38 @@ export default class AuthorizationBaseResource {
22
22
  locals: Record<string, any>;
23
23
  /**
24
24
  * @param {string | string[]} actions - Ability action(s).
25
- * @param {typeof import("../database/record/index.js").default} modelClass - Model class.
26
25
  * @param {Record<string, any> | string | ((query: import("../database/query/model-class-query.js").default<any>, args: {ability: import("./ability.js").default, action: string, modelClass: typeof import("../database/record/index.js").default}) => void | import("../database/query/model-class-query.js").default<any>)} [conditions] - Conditions.
27
26
  * @returns {void} - No return value.
28
27
  */
29
- can(actions: string | string[], modelClass: typeof import("../database/record/index.js").default, conditions?: Record<string, any> | string | ((query: import("../database/query/model-class-query.js").default<any>, args: {
28
+ can(actions: string | string[], conditions?: Record<string, any> | string | ((query: import("../database/query/model-class-query.js").default<any>, args: {
30
29
  ability: import("./ability.js").default;
31
30
  action: string;
32
31
  modelClass: typeof import("../database/record/index.js").default;
33
32
  }) => void | import("../database/query/model-class-query.js").default<any>)): void;
34
33
  /**
35
34
  * @param {string | string[]} actions - Ability action(s).
36
- * @param {typeof import("../database/record/index.js").default} modelClass - Model class.
37
35
  * @param {Record<string, any> | string | ((query: import("../database/query/model-class-query.js").default<any>, args: {ability: import("./ability.js").default, action: string, modelClass: typeof import("../database/record/index.js").default}) => void | import("../database/query/model-class-query.js").default<any>)} [conditions] - Conditions.
38
36
  * @returns {void} - No return value.
39
37
  */
40
- cannot(actions: string | string[], modelClass: typeof import("../database/record/index.js").default, conditions?: Record<string, any> | string | ((query: import("../database/query/model-class-query.js").default<any>, args: {
38
+ cannot(actions: string | string[], conditions?: Record<string, any> | string | ((query: import("../database/query/model-class-query.js").default<any>, args: {
41
39
  ability: import("./ability.js").default;
42
40
  action: string;
43
41
  modelClass: typeof import("../database/record/index.js").default;
44
42
  }) => void | import("../database/query/model-class-query.js").default<any>)): void;
43
+ /**
44
+ * @returns {typeof import("../database/record/index.js").default} - Model class handled by this resource.
45
+ */
46
+ requiredModelClass(): typeof import("../database/record/index.js").default;
47
+ /**
48
+ * @param {object} args - Signature args.
49
+ * @param {unknown} args.conditions - Conditions value.
50
+ * @param {"can" | "cannot"} args.methodName - Method name.
51
+ * @returns {void}
52
+ */
53
+ assertResourceConditionsSignature({ conditions, methodName }: {
54
+ conditions: unknown;
55
+ methodName: "can" | "cannot";
56
+ }): void;
45
57
  /** @returns {Record<string, any>} - Ability context. */
46
58
  getContext(): Record<string, any>;
47
59
  /** @returns {Record<string, any>} - Ability locals. */
@@ -1 +1 @@
1
- {"version":3,"file":"base-resource.d.ts","sourceRoot":"","sources":["../../../src/authorization/base-resource.js"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E;IACE,+EAA+E;IAC/E,mBADW,cAAc,6BAA6B,EAAE,OAAO,GAAG,SAAS,CAC9C;IAc7B;;OAEG;IACH,qBAFa,cAAc,6BAA6B,EAAE,OAAO,GAAG,SAAS,CAI5E;IAjBD;;;;;OAKG;IACH,0CAJG;QAA6C,OAAO,EAA5C,OAAO,cAAc,EAAE,OAAO;QACH,OAAO,GAAlC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACQ,MAAM,GAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KAC7B,EAKA;IAHC,wCAAsB;IACtB,6BAAsB;IACtB,4BAAoB;IAUtB;;;;;OAKG;IACH,aALW,MAAM,GAAG,MAAM,EAAE,cACjB,cAAc,6BAA6B,EAAE,OAAO,eACpD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,wCAAwC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAC,OAAO,EAAE,OAAO,cAAc,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,cAAc,6BAA6B,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,GAAG,OAAO,wCAAwC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAChT,IAAI,CAIhB;IAED;;;;;OAKG;IACH,gBALW,MAAM,GAAG,MAAM,EAAE,cACjB,cAAc,6BAA6B,EAAE,OAAO,eACpD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,wCAAwC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAC,OAAO,EAAE,OAAO,cAAc,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,cAAc,6BAA6B,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,GAAG,OAAO,wCAAwC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAChT,IAAI,CAIhB;IAED,wDAAwD;IACxD,cADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAGhC;IAED,uDAAuD;IACvD,aADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAGhC;IAED,kDAAkD;IAClD,eADc,GAAG,CAGhB;IAED,uKAAuK;IACvK,WADc,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,GAAG,SAAS,CAG1I;IAED,wEAAwE;IACxE,UADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAG5C;IAED,qEAAqE;IACrE,aADc,IAAI,CAGjB;CACF"}
1
+ {"version":3,"file":"base-resource.d.ts","sourceRoot":"","sources":["../../../src/authorization/base-resource.js"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E;IACE,+EAA+E;IAC/E,mBADW,cAAc,6BAA6B,EAAE,OAAO,GAAG,SAAS,CAC9C;IAc7B;;OAEG;IACH,qBAFa,cAAc,6BAA6B,EAAE,OAAO,GAAG,SAAS,CAI5E;IAjBD;;;;;OAKG;IACH,0CAJG;QAA6C,OAAO,EAA5C,OAAO,cAAc,EAAE,OAAO;QACH,OAAO,GAAlC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACQ,MAAM,GAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KAC7B,EAKA;IAHC,wCAAsB;IACtB,6BAAsB;IACtB,4BAAoB;IAUtB;;;;OAIG;IACH,aAJW,MAAM,GAAG,MAAM,EAAE,eACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,wCAAwC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAC,OAAO,EAAE,OAAO,cAAc,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,cAAc,6BAA6B,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,GAAG,OAAO,wCAAwC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAChT,IAAI,CAKhB;IAED;;;;OAIG;IACH,gBAJW,MAAM,GAAG,MAAM,EAAE,eACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,wCAAwC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAC,OAAO,EAAE,OAAO,cAAc,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,cAAc,6BAA6B,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,GAAG,OAAO,wCAAwC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAChT,IAAI,CAKhB;IAED;;OAEG;IACH,sBAFa,cAAc,6BAA6B,EAAE,OAAO,CAUhE;IAED;;;;;OAKG;IACH,8DAJG;QAAsB,UAAU,EAAxB,OAAO;QACgB,UAAU,EAAjC,KAAK,GAAG,QAAQ;KACxB,GAAU,IAAI,CAMhB;IAED,wDAAwD;IACxD,cADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAGhC;IAED,uDAAuD;IACvD,aADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAGhC;IAED,kDAAkD;IAClD,eADc,GAAG,CAGhB;IAED,uKAAuK;IACvK,WADc,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,GAAG,SAAS,CAG1I;IAED,wEAAwE;IACxE,UADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAG5C;IAED,qEAAqE;IACrE,aADc,IAAI,CAGjB;CACF"}
@@ -22,21 +22,42 @@ export default class AuthorizationBaseResource {
22
22
  }
23
23
  /**
24
24
  * @param {string | string[]} actions - Ability action(s).
25
- * @param {typeof import("../database/record/index.js").default} modelClass - Model class.
26
25
  * @param {Record<string, any> | string | ((query: import("../database/query/model-class-query.js").default<any>, args: {ability: import("./ability.js").default, action: string, modelClass: typeof import("../database/record/index.js").default}) => void | import("../database/query/model-class-query.js").default<any>)} [conditions] - Conditions.
27
26
  * @returns {void} - No return value.
28
27
  */
29
- can(actions, modelClass, conditions) {
30
- this.ability.can(actions, modelClass, conditions);
28
+ can(actions, conditions) {
29
+ this.assertResourceConditionsSignature({ conditions, methodName: "can" });
30
+ this.ability.can(actions, this.requiredModelClass(), conditions);
31
31
  }
32
32
  /**
33
33
  * @param {string | string[]} actions - Ability action(s).
34
- * @param {typeof import("../database/record/index.js").default} modelClass - Model class.
35
34
  * @param {Record<string, any> | string | ((query: import("../database/query/model-class-query.js").default<any>, args: {ability: import("./ability.js").default, action: string, modelClass: typeof import("../database/record/index.js").default}) => void | import("../database/query/model-class-query.js").default<any>)} [conditions] - Conditions.
36
35
  * @returns {void} - No return value.
37
36
  */
38
- cannot(actions, modelClass, conditions) {
39
- this.ability.cannot(actions, modelClass, conditions);
37
+ cannot(actions, conditions) {
38
+ this.assertResourceConditionsSignature({ conditions, methodName: "cannot" });
39
+ this.ability.cannot(actions, this.requiredModelClass(), conditions);
40
+ }
41
+ /**
42
+ * @returns {typeof import("../database/record/index.js").default} - Model class handled by this resource.
43
+ */
44
+ requiredModelClass() {
45
+ const modelClass = /** @type {typeof AuthorizationBaseResource} */ (this.constructor).modelClass();
46
+ if (!modelClass) {
47
+ throw new Error(`${this.constructor.name} must define static ModelClass before calling ability helpers.`);
48
+ }
49
+ return modelClass;
50
+ }
51
+ /**
52
+ * @param {object} args - Signature args.
53
+ * @param {unknown} args.conditions - Conditions value.
54
+ * @param {"can" | "cannot"} args.methodName - Method name.
55
+ * @returns {void}
56
+ */
57
+ assertResourceConditionsSignature({ conditions, methodName }) {
58
+ if (typeof conditions === "function" && "primaryKey" in conditions && "_newQuery" in conditions) {
59
+ throw new Error(`${this.constructor.name}.${methodName}(...) no longer accepts a model class. Define static ModelClass and pass only conditions.`);
60
+ }
40
61
  }
41
62
  /** @returns {Record<string, any>} - Ability context. */
42
63
  getContext() {
@@ -63,4 +84,4 @@ export default class AuthorizationBaseResource {
63
84
  // No-op by default.
64
85
  }
65
86
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRob3JpemF0aW9uL2Jhc2UtcmVzb3VyY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLDZFQUE2RTtBQUM3RSxNQUFNLENBQUMsT0FBTyxPQUFPLHlCQUF5QjtJQUM1QywrRUFBK0U7SUFDL0UsTUFBTSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7SUFFN0I7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBRUQsdURBQXVEO0lBQ3ZELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDcEIsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsdUtBQXVLO0lBQ3ZLLE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFBO0lBQzdCLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUE7SUFDNUIsQ0FBQztJQUVELHFFQUFxRTtJQUNyRSxTQUFTO1FBQ1Asb0JBQW9CO0lBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqIEJhc2UgY2xhc3MgZm9yIGF1dGhvcml6YXRpb24gcmVzb3VyY2VzIGRlZmluaW5nIGFiaWxpdGllcyBmb3IgYSBtb2RlbC4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1dGhvcml6YXRpb25CYXNlUmVzb3VyY2Uge1xuICAvKiogQHR5cGUge3R5cGVvZiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gKi9cbiAgc3RhdGljIE1vZGVsQ2xhc3MgPSB1bmRlZmluZWRcblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBSZXNvdXJjZSBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vYWJpbGl0eS5qc1wiKS5kZWZhdWx0fSBhcmdzLmFiaWxpdHkgLSBBYmlsaXR5IGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthcmdzLmNvbnRleHRdIC0gQWJpbGl0eSBjb250ZXh0LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthcmdzLmxvY2Fsc10gLSBBYmlsaXR5IGxvY2Fscy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHthYmlsaXR5LCBjb250ZXh0ID0ge30sIGxvY2FscyA9IHt9fSkge1xuICAgIHRoaXMuYWJpbGl0eSA9IGFiaWxpdHlcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0XG4gICAgdGhpcy5sb2NhbHMgPSBsb2NhbHNcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSAtIE1vZGVsIGNsYXNzIGhhbmRsZWQgYnkgdGhpcyByZXNvdXJjZS5cbiAgICovXG4gIHN0YXRpYyBtb2RlbENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLk1vZGVsQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHN0cmluZ1tdfSBhY3Rpb25zIC0gQWJpbGl0eSBhY3Rpb24ocykuXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBtb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55PiB8IHN0cmluZyB8ICgocXVlcnk6IGltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L21vZGVsLWNsYXNzLXF1ZXJ5LmpzXCIpLmRlZmF1bHQ8YW55PiwgYXJnczoge2FiaWxpdHk6IGltcG9ydChcIi4vYWJpbGl0eS5qc1wiKS5kZWZhdWx0LCBhY3Rpb246IHN0cmluZywgbW9kZWxDbGFzczogdHlwZW9mIGltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSkgPT4gdm9pZCB8IGltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L21vZGVsLWNsYXNzLXF1ZXJ5LmpzXCIpLmRlZmF1bHQ8YW55Pil9IFtjb25kaXRpb25zXSAtIENvbmRpdGlvbnMuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIGNhbihhY3Rpb25zLCBtb2RlbENsYXNzLCBjb25kaXRpb25zKSB7XG4gICAgdGhpcy5hYmlsaXR5LmNhbihhY3Rpb25zLCBtb2RlbENsYXNzLCBjb25kaXRpb25zKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgc3RyaW5nW119IGFjdGlvbnMgLSBBYmlsaXR5IGFjdGlvbihzKS5cbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9IG1vZGVsQ2xhc3MgLSBNb2RlbCBjbGFzcy5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgc3RyaW5nIHwgKChxdWVyeTogaW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDxhbnk+LCBhcmdzOiB7YWJpbGl0eTogaW1wb3J0KFwiLi9hYmlsaXR5LmpzXCIpLmRlZmF1bHQsIGFjdGlvbjogc3RyaW5nLCBtb2RlbENsYXNzOiB0eXBlb2YgaW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9KSA9PiB2b2lkIHwgaW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDxhbnk+KX0gW2NvbmRpdGlvbnNdIC0gQ29uZGl0aW9ucy5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgY2Fubm90KGFjdGlvbnMsIG1vZGVsQ2xhc3MsIGNvbmRpdGlvbnMpIHtcbiAgICB0aGlzLmFiaWxpdHkuY2Fubm90KGFjdGlvbnMsIG1vZGVsQ2xhc3MsIGNvbmRpdGlvbnMpXG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59IC0gQWJpbGl0eSBjb250ZXh0LiAqL1xuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gLSBBYmlsaXR5IGxvY2Fscy4gKi9cbiAgZ2V0TG9jYWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxvY2Fsc1xuICB9XG5cbiAgLyoqIEByZXR1cm5zIHthbnl9IC0gQ3VycmVudCB1c2VyIGZyb20gY29udGV4dC4gKi9cbiAgY3VycmVudFVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5jdXJyZW50VXNlclxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IC0gUmVxdWVzdCBmcm9tIGNvbnRleHQuICovXG4gIHJlcXVlc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZXF1ZXN0XG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWR9IC0gUGFyYW1zIGZyb20gY29udGV4dC4gKi9cbiAgcGFyYW1zKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucGFyYW1zXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gSW1wbGVtZW50IGluIHN1YmNsYXNzZXMgdG8gZGVmaW5lIGFiaWxpdGllcy4gKi9cbiAgYWJpbGl0aWVzKCkge1xuICAgIC8vIE5vLW9wIGJ5IGRlZmF1bHQuXG4gIH1cbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRob3JpemF0aW9uL2Jhc2UtcmVzb3VyY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLDZFQUE2RTtBQUM3RSxNQUFNLENBQUMsT0FBTyxPQUFPLHlCQUF5QjtJQUM1QywrRUFBK0U7SUFDL0UsTUFBTSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7SUFFN0I7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVTtRQUNyQixJQUFJLENBQUMsaUNBQWlDLENBQUMsRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVO1FBQ3hCLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQTtRQUMxRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLE1BQU0sVUFBVSxHQUFHLCtDQUErQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRWxHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGdFQUFnRSxDQUFDLENBQUE7UUFDM0csQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFBO0lBQ25CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlDQUFpQyxDQUFDLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQztRQUN4RCxJQUFJLE9BQU8sVUFBVSxLQUFLLFVBQVUsSUFBSSxZQUFZLElBQUksVUFBVSxJQUFJLFdBQVcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoRyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksVUFBVSwyRkFBMkYsQ0FBQyxDQUFBO1FBQ3BKLENBQUM7SUFDSCxDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUE7SUFDakMsQ0FBQztJQUVELHVLQUF1SztJQUN2SyxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQTtJQUM3QixDQUFDO0lBRUQsd0VBQXdFO0lBQ3hFLE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFBO0lBQzVCLENBQUM7SUFFRCxxRUFBcUU7SUFDckUsU0FBUztRQUNQLG9CQUFvQjtJQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKiBCYXNlIGNsYXNzIGZvciBhdXRob3JpemF0aW9uIHJlc291cmNlcyBkZWZpbmluZyBhYmlsaXRpZXMgZm9yIGEgbW9kZWwuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBdXRob3JpemF0aW9uQmFzZVJlc291cmNlIHtcbiAgLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9ICovXG4gIHN0YXRpYyBNb2RlbENsYXNzID0gdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gUmVzb3VyY2UgYXJncy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2FiaWxpdHkuanNcIikuZGVmYXVsdH0gYXJncy5hYmlsaXR5IC0gQWJpbGl0eSBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbYXJncy5jb250ZXh0XSAtIEFiaWxpdHkgY29udGV4dC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbYXJncy5sb2NhbHNdIC0gQWJpbGl0eSBsb2NhbHMuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7YWJpbGl0eSwgY29udGV4dCA9IHt9LCBsb2NhbHMgPSB7fX0pIHtcbiAgICB0aGlzLmFiaWxpdHkgPSBhYmlsaXR5XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dFxuICAgIHRoaXMubG9jYWxzID0gbG9jYWxzXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3R5cGVvZiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gLSBNb2RlbCBjbGFzcyBoYW5kbGVkIGJ5IHRoaXMgcmVzb3VyY2UuXG4gICAqL1xuICBzdGF0aWMgbW9kZWxDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5Nb2RlbENsYXNzXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXX0gYWN0aW9ucyAtIEFiaWxpdHkgYWN0aW9uKHMpLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT4gfCBzdHJpbmcgfCAoKHF1ZXJ5OiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9tb2RlbC1jbGFzcy1xdWVyeS5qc1wiKS5kZWZhdWx0PGFueT4sIGFyZ3M6IHthYmlsaXR5OiBpbXBvcnQoXCIuL2FiaWxpdHkuanNcIikuZGVmYXVsdCwgYWN0aW9uOiBzdHJpbmcsIG1vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0pID0+IHZvaWQgfCBpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9tb2RlbC1jbGFzcy1xdWVyeS5qc1wiKS5kZWZhdWx0PGFueT4pfSBbY29uZGl0aW9uc10gLSBDb25kaXRpb25zLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBjYW4oYWN0aW9ucywgY29uZGl0aW9ucykge1xuICAgIHRoaXMuYXNzZXJ0UmVzb3VyY2VDb25kaXRpb25zU2lnbmF0dXJlKHtjb25kaXRpb25zLCBtZXRob2ROYW1lOiBcImNhblwifSlcbiAgICB0aGlzLmFiaWxpdHkuY2FuKGFjdGlvbnMsIHRoaXMucmVxdWlyZWRNb2RlbENsYXNzKCksIGNvbmRpdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXX0gYWN0aW9ucyAtIEFiaWxpdHkgYWN0aW9uKHMpLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT4gfCBzdHJpbmcgfCAoKHF1ZXJ5OiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9tb2RlbC1jbGFzcy1xdWVyeS5qc1wiKS5kZWZhdWx0PGFueT4sIGFyZ3M6IHthYmlsaXR5OiBpbXBvcnQoXCIuL2FiaWxpdHkuanNcIikuZGVmYXVsdCwgYWN0aW9uOiBzdHJpbmcsIG1vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0pID0+IHZvaWQgfCBpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9tb2RlbC1jbGFzcy1xdWVyeS5qc1wiKS5kZWZhdWx0PGFueT4pfSBbY29uZGl0aW9uc10gLSBDb25kaXRpb25zLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBjYW5ub3QoYWN0aW9ucywgY29uZGl0aW9ucykge1xuICAgIHRoaXMuYXNzZXJ0UmVzb3VyY2VDb25kaXRpb25zU2lnbmF0dXJlKHtjb25kaXRpb25zLCBtZXRob2ROYW1lOiBcImNhbm5vdFwifSlcbiAgICB0aGlzLmFiaWxpdHkuY2Fubm90KGFjdGlvbnMsIHRoaXMucmVxdWlyZWRNb2RlbENsYXNzKCksIGNvbmRpdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3R5cGVvZiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gLSBNb2RlbCBjbGFzcyBoYW5kbGVkIGJ5IHRoaXMgcmVzb3VyY2UuXG4gICAqL1xuICByZXF1aXJlZE1vZGVsQ2xhc3MoKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzcyA9IC8qKiBAdHlwZSB7dHlwZW9mIEF1dGhvcml6YXRpb25CYXNlUmVzb3VyY2V9ICovICh0aGlzLmNvbnN0cnVjdG9yKS5tb2RlbENsYXNzKClcblxuICAgIGlmICghbW9kZWxDbGFzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMuY29uc3RydWN0b3IubmFtZX0gbXVzdCBkZWZpbmUgc3RhdGljIE1vZGVsQ2xhc3MgYmVmb3JlIGNhbGxpbmcgYWJpbGl0eSBoZWxwZXJzLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZGVsQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIFNpZ25hdHVyZSBhcmdzLlxuICAgKiBAcGFyYW0ge3Vua25vd259IGFyZ3MuY29uZGl0aW9ucyAtIENvbmRpdGlvbnMgdmFsdWUuXG4gICAqIEBwYXJhbSB7XCJjYW5cIiB8IFwiY2Fubm90XCJ9IGFyZ3MubWV0aG9kTmFtZSAtIE1ldGhvZCBuYW1lLlxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGFzc2VydFJlc291cmNlQ29uZGl0aW9uc1NpZ25hdHVyZSh7Y29uZGl0aW9ucywgbWV0aG9kTmFtZX0pIHtcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbnMgPT09IFwiZnVuY3Rpb25cIiAmJiBcInByaW1hcnlLZXlcIiBpbiBjb25kaXRpb25zICYmIFwiX25ld1F1ZXJ5XCIgaW4gY29uZGl0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMuY29uc3RydWN0b3IubmFtZX0uJHttZXRob2ROYW1lfSguLi4pIG5vIGxvbmdlciBhY2NlcHRzIGEgbW9kZWwgY2xhc3MuIERlZmluZSBzdGF0aWMgTW9kZWxDbGFzcyBhbmQgcGFzcyBvbmx5IGNvbmRpdGlvbnMuYClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59IC0gQWJpbGl0eSBjb250ZXh0LiAqL1xuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gLSBBYmlsaXR5IGxvY2Fscy4gKi9cbiAgZ2V0TG9jYWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxvY2Fsc1xuICB9XG5cbiAgLyoqIEByZXR1cm5zIHthbnl9IC0gQ3VycmVudCB1c2VyIGZyb20gY29udGV4dC4gKi9cbiAgY3VycmVudFVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5jdXJyZW50VXNlclxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IC0gUmVxdWVzdCBmcm9tIGNvbnRleHQuICovXG4gIHJlcXVlc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZXF1ZXN0XG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWR9IC0gUGFyYW1zIGZyb20gY29udGV4dC4gKi9cbiAgcGFyYW1zKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucGFyYW1zXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gSW1wbGVtZW50IGluIHN1YmNsYXNzZXMgdG8gZGVmaW5lIGFiaWxpdGllcy4gKi9cbiAgYWJpbGl0aWVzKCkge1xuICAgIC8vIE5vLW9wIGJ5IGRlZmF1bHQuXG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "velocious": "build/bin/velocious.js"
4
4
  },
5
5
  "name": "velocious",
6
- "version": "1.0.243",
6
+ "version": "1.0.244",
7
7
  "main": "build/index.js",
8
8
  "types": "build/index.d.ts",
9
9
  "files": [