velocious 1.0.720 → 1.0.721

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.
@@ -99,10 +99,11 @@ export default class VelociousBaseRoute {
99
99
  * Runs namespace.
100
100
  * @abstract
101
101
  * @param {string} name - Name.
102
- * @param {(arg: import("./namespace-route.js").default) => void} callback - Callback function.
102
+ * @param {object | ((arg: import("./namespace-route.js").default) => void)} options - Namespace options or the draw callback (legacy form).
103
+ * @param {((arg: import("./namespace-route.js").default) => void) | undefined} [callback] - Callback function.
103
104
  * @returns {void} - No return value.
104
105
  */
105
- namespace(name: string, callback: (arg: import("./namespace-route.js").default) => void): void;
106
+ namespace(name: string, options: object | ((arg: import("./namespace-route.js").default) => void), callback?: ((arg: import("./namespace-route.js").default) => void) | undefined): void;
106
107
  /**
107
108
  * Runs post.
108
109
  * @abstract
@@ -1 +1 @@
1
- {"version":3,"file":"base-route.d.ts","sourceRoot":"","sources":["../../../src/routes/base-route.js"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC;;yDAEqD;IACrD,MAAM,CAAC,YAAY,EADT,cAAc,gBAAgB,EAAE,OAAO,CAC9B;IAEnB;;+DAE2D;IAC3D,MAAM,CAAC,kBAAkB,EADf,cAAc,sBAAsB,EAAE,OAAO,CAC9B;IAEzB;;0DAEsD;IACtD,MAAM,CAAC,aAAa,EADV,cAAc,iBAAiB,EAAE,OAAO,CAC9B;IAEpB;;8DAE0D;IAC1D,MAAM,CAAC,iBAAiB,EADd,cAAc,qBAAqB,EAAE,OAAO,CAC9B;IAExB;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAF3B,cAAc,gBAAgB,EAAE,OAEL,QAErC;IAED;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAAC,UAAU,EAFjC,cAAc,sBAAsB,EAAE,OAEL,QAE3C;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAF5B,cAAc,iBAAiB,EAAE,OAEL,QAEtC;IAED;;;OAGG;IACH,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAFhC,cAAc,qBAAqB,EAAE,OAEL,QAE1C;IAED;;2CAEuC;IACvC,MAAM,EADI,KAAK,CAAC,kBAAkB,CAAC,CACxB;IAEX;;iIAE6H;IAC7H,MAAM,EADI,KAAK,CAAC;QAAC,SAAS,EAAE;YAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;SAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;KAAC,CAAC,CAC9G;IAEX,cAEC;IAED;;;OAGG;IACH,SAAS,IAFI,KAAK,CAAC;QAAC,SAAS,EAAE;YAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;SAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;KAAC,CAAC,CAE1F;IAElC;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAFG,MAEH,QAA8C;IAEtD;;;;OAIG;IACH,aAAa,IAFA,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAE0B;IAEnG;;;OAGG;IACH,YAAY,IAFC,KAAK,CAAC,kBAAkB,CAAC,CAED;IAErC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EALlC;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;KAEkC,GAFxB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAI1C;IAED;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAJH,MAIG,EAAE,QAAQ,EAHb,CAAC,GAAG,EAAE,OAAO,sBAAsB,EAAE,OAAO,KAAK,IAGpC,GAFX,IAAI,CAE2D;IAE5E;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAHE,MAGF,GAFI,IAAI,CAEuC;IAExD;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAJH,MAIG,EAAE,QAAQ,EAHb,CAAC,GAAG,EAAE,OAAO,qBAAqB,EAAE,OAAO,KAAK,IAGnC,GAFX,IAAI,CAE2D;CAC7E"}
1
+ {"version":3,"file":"base-route.d.ts","sourceRoot":"","sources":["../../../src/routes/base-route.js"],"names":[],"mappings":"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"}
@@ -92,10 +92,11 @@ export default class VelociousBaseRoute {
92
92
  * Runs namespace.
93
93
  * @abstract
94
94
  * @param {string} name - Name.
95
- * @param {(arg: import("./namespace-route.js").default) => void} callback - Callback function.
95
+ * @param {object | ((arg: import("./namespace-route.js").default) => void)} options - Namespace options or the draw callback (legacy form).
96
+ * @param {((arg: import("./namespace-route.js").default) => void) | undefined} [callback] - Callback function.
96
97
  * @returns {void} - No return value.
97
98
  */
98
- namespace(name, callback) { throw new Error("'namespace' not implemented"); } // eslint-disable-line no-unused-vars
99
+ namespace(name, options, callback) { throw new Error("'namespace' not implemented"); } // eslint-disable-line no-unused-vars
99
100
  /**
100
101
  * Runs post.
101
102
  * @abstract
@@ -112,4 +113,4 @@ export default class VelociousBaseRoute {
112
113
  */
113
114
  resources(name, callback) { throw new Error("'resources' not implemented"); } // eslint-disable-line no-unused-vars
114
115
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yb3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvYmFzZS1yb3V0ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckM7O3lEQUVxRDtJQUNyRCxNQUFNLENBQUMsWUFBWSxDQUFBO0lBRW5COzsrREFFMkQ7SUFDM0QsTUFBTSxDQUFDLGtCQUFrQixDQUFBO0lBRXpCOzswREFFc0Q7SUFDdEQsTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUVwQjs7OERBRTBEO0lBQzFELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQTtJQUV4Qjs7O09BR0c7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBVTtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLFVBQVU7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQTtJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQVU7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUE7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUE7SUFDckMsQ0FBQztJQUVEOzsyQ0FFdUM7SUFDdkMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUVYOztpSUFFNkg7SUFDN0gsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUVYO1FBQ0UsVUFBVTtJQUNaLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQUVsQzs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLElBQUksSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMscUNBQXFDO0lBRTVGOzs7O09BSUc7SUFDSCxhQUFhLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVuRzs7O09BR0c7SUFDSCxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQUVyQzs7Ozs7OztPQU9HO0lBQ0gsYUFBYSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMscUNBQXFDO0lBRWxIOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMscUNBQXFDO0lBRTlGOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7Q0FDbkgiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzQmFzZVJvdXRlIHtcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge3R5cGVvZiBpbXBvcnQoXCIuL2dldC1yb3V0ZS5qc1wiKS5kZWZhdWx0fSAqL1xuICBzdGF0aWMgR2V0Um91dGVUeXBlXG5cbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge3R5cGVvZiBpbXBvcnQoXCIuL25hbWVzcGFjZS1yb3V0ZS5qc1wiKS5kZWZhdWx0fSAqL1xuICBzdGF0aWMgTmFtZVNwYWNlUm91dGVUeXBlXG5cbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge3R5cGVvZiBpbXBvcnQoXCIuL3Bvc3Qtcm91dGUuanNcIikuZGVmYXVsdH0gKi9cbiAgc3RhdGljIFBvc3RSb3V0ZVR5cGVcblxuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgKiBAdHlwZSB7dHlwZW9mIGltcG9ydChcIi4vcmVzb3VyY2Utcm91dGUuanNcIikuZGVmYXVsdH0gKi9cbiAgc3RhdGljIFJlc291cmNlUm91dGVUeXBlXG5cbiAgLyoqXG4gICAqIFJ1bnMgcmVnaXN0ZXIgcm91dGUgZ2V0IHR5cGUuXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4vZ2V0LXJvdXRlLmpzXCIpLmRlZmF1bHR9IFJvdXRlQ2xhc3MgLSBSb3V0ZSBjbGFzcyB0byByZWdpc3Rlci5cbiAgICovXG4gIHN0YXRpYyByZWdpc3RlclJvdXRlR2V0VHlwZShSb3V0ZUNsYXNzKSB7XG4gICAgdGhpcy5HZXRSb3V0ZVR5cGUgPSBSb3V0ZUNsYXNzXG4gIH1cblxuICAvKipcbiAgICogUnVucyByZWdpc3RlciByb3V0ZSBuYW1lc3BhY2UgdHlwZS5cbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9uYW1lc3BhY2Utcm91dGUuanNcIikuZGVmYXVsdH0gUm91dGVDbGFzcyAtIFJvdXRlIGNsYXNzIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgc3RhdGljIHJlZ2lzdGVyUm91dGVOYW1lc3BhY2VUeXBlKFJvdXRlQ2xhc3MpIHtcbiAgICB0aGlzLk5hbWVTcGFjZVJvdXRlVHlwZSA9IFJvdXRlQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHJlZ2lzdGVyIHJvdXRlIHBvc3QgdHlwZS5cbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9wb3N0LXJvdXRlLmpzXCIpLmRlZmF1bHR9IFJvdXRlQ2xhc3MgLSBSb3V0ZSBjbGFzcyB0byByZWdpc3Rlci5cbiAgICovXG4gIHN0YXRpYyByZWdpc3RlclJvdXRlUG9zdFR5cGUoUm91dGVDbGFzcykge1xuICAgIHRoaXMuUG9zdFJvdXRlVHlwZSA9IFJvdXRlQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHJlZ2lzdGVyIHJvdXRlIHJlc291cmNlIHR5cGUuXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4vcmVzb3VyY2Utcm91dGUuanNcIikuZGVmYXVsdH0gUm91dGVDbGFzcyAtIFJvdXRlIGNsYXNzIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgc3RhdGljIHJlZ2lzdGVyUm91dGVSZXNvdXJjZVR5cGUoUm91dGVDbGFzcykge1xuICAgIHRoaXMuUmVzb3VyY2VSb3V0ZVR5cGUgPSBSb3V0ZUNsYXNzXG4gIH1cblxuICAvKipcbiAgICogUm91dGVzLlxuICAgKiBAdHlwZSB7QXJyYXk8VmVsb2Npb3VzQmFzZVJvdXRlPn0gKi9cbiAgcm91dGVzID0gW11cblxuICAvKipcbiAgICogTW91bnRzLlxuICAgKiBAdHlwZSB7QXJyYXk8e21vdW50YWJsZToge21vdW50SW50bzogKGFyZ3M6IG9iamVjdCkgPT4gdm9pZH0sIG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0+fSAqL1xuICBtb3VudHMgPSBbXVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIE5vdGhpbmdcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBtb3VudHMuXG4gICAqIEByZXR1cm5zIHtBcnJheTx7bW91bnRhYmxlOiB7bW91bnRJbnRvOiAoYXJnczogb2JqZWN0KSA9PiB2b2lkfSwgb3B0aW9uczogUmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fT59IC0gTW91bnRzIGRlY2xhcmVkIG9uIHRoaXMgcm91dGUuXG4gICAqL1xuICBnZXRNb3VudHMoKSB7IHJldHVybiB0aGlzLm1vdW50cyB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0LlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKi9cbiAgZ2V0KG5hbWUpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ2dldCcgbm90IGltcGxlbWVudGVkXCIpIH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBodW1hbiBwYXRocy5cbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtBcnJheTx7YWN0aW9uOiBzdHJpbmcgfCBudWxsLCBtZXRob2Q6IHN0cmluZywgcGF0aDogc3RyaW5nfT59IC0gUm91dGUgZGVmaW5pdGlvbnMgZm9yIHRoaXMgcmVzb3VyY2UuXG4gICAqL1xuICBnZXRIdW1hblBhdGhzKCkgeyB0aHJvdyBuZXcgRXJyb3IoYCdnZXRIdW1hblBhdGhzJyBub3QgaW1wbGVtZW50ZWQgZm9yICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfWApIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgc3ViIHJvdXRlcy5cbiAgICogQHJldHVybnMge0FycmF5PFZlbG9jaW91c0Jhc2VSb3V0ZT59IC0gVGhlIHN1YiByb3V0ZXMuXG4gICAqL1xuICBnZXRTdWJSb3V0ZXMoKSB7IHJldHVybiB0aGlzLnJvdXRlcyB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbWF0Y2ggd2l0aCBwYXRoLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5wYXJhbXMgLSBQYXJhbWV0ZXJzIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4uL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtcmVxdWVzdC5qc1wiKS5kZWZhdWx0fSBhcmdzLnJlcXVlc3QgLSBSZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybnMge3tyZXN0UGF0aDogc3RyaW5nfSB8IHVuZGVmaW5lZH0gLSBSRVNUIHBhdGggbWV0YWRhdGEgZm9yIHRoaXMgcm91dGUuXG4gICAqL1xuICBtYXRjaFdpdGhQYXRoKHtwYXJhbXMsIHBhdGgsIHJlcXVlc3R9KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vICdtYXRjaFdpdGhQYXRoJyBpbXBsZW1lbnRlZCBvbiAke3RoaXMuY29uc3RydWN0b3IubmFtZX1gKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbmFtZXNwYWNlLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKiBAcGFyYW0geyhhcmc6IGltcG9ydChcIi4vbmFtZXNwYWNlLXJvdXRlLmpzXCIpLmRlZmF1bHQpID0+IHZvaWR9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIG5hbWVzcGFjZShuYW1lLCBjYWxsYmFjaykgeyB0aHJvdyBuZXcgRXJyb3IoXCInbmFtZXNwYWNlJyBub3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG5cbiAgLyoqXG4gICAqIFJ1bnMgcG9zdC5cbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcG9zdChuYW1lKSB7IHRocm93IG5ldyBFcnJvcihcIidwb3N0JyBub3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG5cbiAgLyoqXG4gICAqIFJ1bnMgcmVzb3VyY2VzLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKiBAcGFyYW0geyhhcmc6IGltcG9ydChcIi4vcmVzb3VyY2Utcm91dGUuanNcIikuZGVmYXVsdCkgPT4gdm9pZH0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcmVzb3VyY2VzKG5hbWUsIGNhbGxiYWNrKSB7IHRocm93IG5ldyBFcnJvcihcIidyZXNvdXJjZXMnIG5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbn1cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yb3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvYmFzZS1yb3V0ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckM7O3lEQUVxRDtJQUNyRCxNQUFNLENBQUMsWUFBWSxDQUFBO0lBRW5COzsrREFFMkQ7SUFDM0QsTUFBTSxDQUFDLGtCQUFrQixDQUFBO0lBRXpCOzswREFFc0Q7SUFDdEQsTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUVwQjs7OERBRTBEO0lBQzFELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQTtJQUV4Qjs7O09BR0c7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBVTtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLFVBQVU7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQTtJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQVU7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUE7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUE7SUFDckMsQ0FBQztJQUVEOzsyQ0FFdUM7SUFDdkMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUVYOztpSUFFNkg7SUFDN0gsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUVYO1FBQ0UsVUFBVTtJQUNaLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQUVsQzs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLElBQUksSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMscUNBQXFDO0lBRTVGOzs7O09BSUc7SUFDSCxhQUFhLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVuRzs7O09BR0c7SUFDSCxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQUVyQzs7Ozs7OztPQU9HO0lBQ0gsYUFBYSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7SUFFM0g7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7SUFFOUY7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztDQUNuSCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNCYXNlUm91dGUge1xuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgKiBAdHlwZSB7dHlwZW9mIGltcG9ydChcIi4vZ2V0LXJvdXRlLmpzXCIpLmRlZmF1bHR9ICovXG4gIHN0YXRpYyBHZXRSb3V0ZVR5cGVcblxuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgKiBAdHlwZSB7dHlwZW9mIGltcG9ydChcIi4vbmFtZXNwYWNlLXJvdXRlLmpzXCIpLmRlZmF1bHR9ICovXG4gIHN0YXRpYyBOYW1lU3BhY2VSb3V0ZVR5cGVcblxuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgKiBAdHlwZSB7dHlwZW9mIGltcG9ydChcIi4vcG9zdC1yb3V0ZS5qc1wiKS5kZWZhdWx0fSAqL1xuICBzdGF0aWMgUG9zdFJvdXRlVHlwZVxuXG4gIC8qKlxuICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KFwiLi9yZXNvdXJjZS1yb3V0ZS5qc1wiKS5kZWZhdWx0fSAqL1xuICBzdGF0aWMgUmVzb3VyY2VSb3V0ZVR5cGVcblxuICAvKipcbiAgICogUnVucyByZWdpc3RlciByb3V0ZSBnZXQgdHlwZS5cbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9nZXQtcm91dGUuanNcIikuZGVmYXVsdH0gUm91dGVDbGFzcyAtIFJvdXRlIGNsYXNzIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgc3RhdGljIHJlZ2lzdGVyUm91dGVHZXRUeXBlKFJvdXRlQ2xhc3MpIHtcbiAgICB0aGlzLkdldFJvdXRlVHlwZSA9IFJvdXRlQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHJlZ2lzdGVyIHJvdXRlIG5hbWVzcGFjZSB0eXBlLlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL25hbWVzcGFjZS1yb3V0ZS5qc1wiKS5kZWZhdWx0fSBSb3V0ZUNsYXNzIC0gUm91dGUgY2xhc3MgdG8gcmVnaXN0ZXIuXG4gICAqL1xuICBzdGF0aWMgcmVnaXN0ZXJSb3V0ZU5hbWVzcGFjZVR5cGUoUm91dGVDbGFzcykge1xuICAgIHRoaXMuTmFtZVNwYWNlUm91dGVUeXBlID0gUm91dGVDbGFzc1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcmVnaXN0ZXIgcm91dGUgcG9zdCB0eXBlLlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL3Bvc3Qtcm91dGUuanNcIikuZGVmYXVsdH0gUm91dGVDbGFzcyAtIFJvdXRlIGNsYXNzIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgc3RhdGljIHJlZ2lzdGVyUm91dGVQb3N0VHlwZShSb3V0ZUNsYXNzKSB7XG4gICAgdGhpcy5Qb3N0Um91dGVUeXBlID0gUm91dGVDbGFzc1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcmVnaXN0ZXIgcm91dGUgcmVzb3VyY2UgdHlwZS5cbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9yZXNvdXJjZS1yb3V0ZS5qc1wiKS5kZWZhdWx0fSBSb3V0ZUNsYXNzIC0gUm91dGUgY2xhc3MgdG8gcmVnaXN0ZXIuXG4gICAqL1xuICBzdGF0aWMgcmVnaXN0ZXJSb3V0ZVJlc291cmNlVHlwZShSb3V0ZUNsYXNzKSB7XG4gICAgdGhpcy5SZXNvdXJjZVJvdXRlVHlwZSA9IFJvdXRlQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3V0ZXMuXG4gICAqIEB0eXBlIHtBcnJheTxWZWxvY2lvdXNCYXNlUm91dGU+fSAqL1xuICByb3V0ZXMgPSBbXVxuXG4gIC8qKlxuICAgKiBNb3VudHMuXG4gICAqIEB0eXBlIHtBcnJheTx7bW91bnRhYmxlOiB7bW91bnRJbnRvOiAoYXJnczogb2JqZWN0KSA9PiB2b2lkfSwgb3B0aW9uczogUmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fT59ICovXG4gIG1vdW50cyA9IFtdXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gTm90aGluZ1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IG1vdW50cy5cbiAgICogQHJldHVybnMge0FycmF5PHttb3VudGFibGU6IHttb3VudEludG86IChhcmdzOiBvYmplY3QpID0+IHZvaWR9LCBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59Pn0gLSBNb3VudHMgZGVjbGFyZWQgb24gdGhpcyByb3V0ZS5cbiAgICovXG4gIGdldE1vdW50cygpIHsgcmV0dXJuIHRoaXMubW91bnRzIH1cblxuICAvKipcbiAgICogUnVucyBnZXQuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIE5hbWUuXG4gICAqL1xuICBnZXQobmFtZSkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0JyBub3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IGh1bWFuIHBhdGhzLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge0FycmF5PHthY3Rpb246IHN0cmluZyB8IG51bGwsIG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmd9Pn0gLSBSb3V0ZSBkZWZpbml0aW9ucyBmb3IgdGhpcyByZXNvdXJjZS5cbiAgICovXG4gIGdldEh1bWFuUGF0aHMoKSB7IHRocm93IG5ldyBFcnJvcihgJ2dldEh1bWFuUGF0aHMnIG5vdCBpbXBsZW1lbnRlZCBmb3IgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YCkgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBzdWIgcm91dGVzLlxuICAgKiBAcmV0dXJucyB7QXJyYXk8VmVsb2Npb3VzQmFzZVJvdXRlPn0gLSBUaGUgc3ViIHJvdXRlcy5cbiAgICovXG4gIGdldFN1YlJvdXRlcygpIHsgcmV0dXJuIHRoaXMucm91dGVzIH1cblxuICAvKipcbiAgICogUnVucyBtYXRjaCB3aXRoIHBhdGguXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzLnBhcmFtcyAtIFBhcmFtZXRlcnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHR9IGFyZ3MucmVxdWVzdCAtIFJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7e3Jlc3RQYXRoOiBzdHJpbmd9IHwgdW5kZWZpbmVkfSAtIFJFU1QgcGF0aCBtZXRhZGF0YSBmb3IgdGhpcyByb3V0ZS5cbiAgICovXG4gIG1hdGNoV2l0aFBhdGgoe3BhcmFtcywgcGF0aCwgcmVxdWVzdH0pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gJ21hdGNoV2l0aFBhdGgnIGltcGxlbWVudGVkIG9uICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfWApXG4gIH1cblxuICAvKipcbiAgICogUnVucyBuYW1lc3BhY2UuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIE5hbWUuXG4gICAqIEBwYXJhbSB7b2JqZWN0IHwgKChhcmc6IGltcG9ydChcIi4vbmFtZXNwYWNlLXJvdXRlLmpzXCIpLmRlZmF1bHQpID0+IHZvaWQpfSBvcHRpb25zIC0gTmFtZXNwYWNlIG9wdGlvbnMgb3IgdGhlIGRyYXcgY2FsbGJhY2sgKGxlZ2FjeSBmb3JtKS5cbiAgICogQHBhcmFtIHsoKGFyZzogaW1wb3J0KFwiLi9uYW1lc3BhY2Utcm91dGUuanNcIikuZGVmYXVsdCkgPT4gdm9pZCkgfCB1bmRlZmluZWR9IFtjYWxsYmFja10gLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgbmFtZXNwYWNlKG5hbWUsIG9wdGlvbnMsIGNhbGxiYWNrKSB7IHRocm93IG5ldyBFcnJvcihcIiduYW1lc3BhY2UnIG5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcblxuICAvKipcbiAgICogUnVucyBwb3N0LlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBwb3N0KG5hbWUpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ3Bvc3QnIG5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcblxuICAvKipcbiAgICogUnVucyByZXNvdXJjZXMuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIE5hbWUuXG4gICAqIEBwYXJhbSB7KGFyZzogaW1wb3J0KFwiLi9yZXNvdXJjZS1yb3V0ZS5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkfSBjYWxsYmFjayAtIENhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICByZXNvdXJjZXMobmFtZSwgY2FsbGJhY2spIHsgdGhyb3cgbmV3IEVycm9yKFwiJ3Jlc291cmNlcycgbm90IGltcGxlbWVudGVkXCIpIH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xufVxuIl19
@@ -3,8 +3,13 @@ export default class VelociousBasicRoute extends BaseRoute {
3
3
  /**
4
4
  * Runs get.
5
5
  * @param {string} name - Route name.
6
+ * @param {{on?: "member" | "collection"} | {skipControllerConnections?: boolean}} [options] - Route options; `skipControllerConnections: true` skips the request-scoped controller connection for this route.
6
7
  */
7
- get(name: string): void;
8
+ get(name: string, options?: {
9
+ on?: "member" | "collection";
10
+ } | {
11
+ skipControllerConnections?: boolean;
12
+ }): void;
8
13
  /**
9
14
  * Runs match with path.
10
15
  * @param {object} args - Options object.
@@ -34,17 +39,25 @@ export default class VelociousBasicRoute extends BaseRoute {
34
39
  }, options?: object): void;
35
40
  /**
36
41
  * Runs namespace.
37
- * @param {string} name - Name.
38
- * @param {(arg: import("./namespace-route.js").default) => void} callback - Callback function.
42
+ * @param {string} name - Route name.
43
+ * @param {{skipControllerConnections?: boolean} | ((arg: import("./namespace-route.js").default) => void)} [options] - Namespace options (`skipControllerConnections: true` skips the request-scoped controller connection for every route declared inside this namespace; a per-route option still overrides it) or the draw callback (legacy form).
44
+ * @param {((arg: import("./namespace-route.js").default) => void) | undefined} [callback] - Callback function.
39
45
  * @returns {void} - No return value.
40
46
  */
41
- namespace(name: string, callback: (arg: import("./namespace-route.js").default) => void): void;
47
+ namespace(name: string, options?: {
48
+ skipControllerConnections?: boolean;
49
+ } | ((arg: import("./namespace-route.js").default) => void), callback?: ((arg: import("./namespace-route.js").default) => void) | undefined): void;
42
50
  /**
43
51
  * Runs post.
44
- * @param {string} name - Name.
52
+ * @param {string} name - Route name.
53
+ * @param {{on?: "member" | "collection"} | {skipControllerConnections?: boolean}} [options] - Route options; `skipControllerConnections: true` skips the request-scoped controller connection for this route.
45
54
  * @returns {void} - No return value.
46
55
  */
47
- post(name: string): void;
56
+ post(name: string, options?: {
57
+ on?: "member" | "collection";
58
+ } | {
59
+ skipControllerConnections?: boolean;
60
+ }): void;
48
61
  /**
49
62
  * Runs resources.
50
63
  * @param {string} name - Name.
@@ -1 +1 @@
1
- {"version":3,"file":"basic-route.d.ts","sourceRoot":"","sources":["../../../src/routes/basic-route.js"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AAEvC,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IACxD;;;OAGG;IACH,GAAG,CAAC,IAAI,EAFG,MAEH,QAKP;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EALlC;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;KAEkC,GAFxB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAI1C;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,EAJJ;QAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAI9B,EAAE,OAAO,AAHrB,CACA,EADQ,MAGkB,GAFhB,IAAI,CAchB;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAJH,MAIG,EAAE,QAAQ,EAHb,CAAC,GAAG,EAAE,OAAO,sBAAsB,EAAE,OAAO,KAAK,IAGpC,GAFX,IAAI,CAchB;IAED;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAHE,MAGF,GAFI,IAAI,CAUhB;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAJH,MAIG,EAAE,QAAQ,AAHrB,CACA,EADQ,CAAC,GAAG,EAAE,OAAO,qBAAqB,EAAE,OAAO,KAAK,IAGnC,GAFX,IAAI,CAchB;CACF"}
1
+ {"version":3,"file":"basic-route.d.ts","sourceRoot":"","sources":["../../../src/routes/basic-route.js"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AAEvC,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IACxD;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAHG,MAGH,EAAE,OAAO,AAFd,CACF,EADU;QAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;KAAC,GAAG;QAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAE1D,QAKrB;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EALlC;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;KAEkC,GAFxB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAI1C;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,EAJJ;QAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAI9B,EAAE,OAAO,AAHrB,CACA,EADQ,MAGkB,GAFhB,IAAI,CAchB;IAED;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EALH,MAKG,EAAE,OAAO,AAJpB,CACA,EADQ;QAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,sBAAsB,EAAE,OAAO,KAAK,IAAI,CAI7E,EAAE,QAAQ,AAHnC,CACA,EADQ,CAAC,CAAC,GAAG,EAAE,OAAO,sBAAsB,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAG/B,GAFzB,IAAI,CAoChB;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAJE,MAIF,EAAE,OAAO,AAHf,CACA,EADQ;QAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;KAAC,GAAG;QAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAGzD,GAFV,IAAI,CAUhB;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAJH,MAIG,EAAE,QAAQ,AAHrB,CACA,EADQ,CAAC,GAAG,EAAE,OAAO,qBAAqB,EAAE,OAAO,KAAK,IAGnC,GAFX,IAAI,CAchB;CACF"}
@@ -4,10 +4,11 @@ export default class VelociousBasicRoute extends BaseRoute {
4
4
  /**
5
5
  * Runs get.
6
6
  * @param {string} name - Route name.
7
+ * @param {{on?: "member" | "collection"} | {skipControllerConnections?: boolean}} [options] - Route options; `skipControllerConnections: true` skips the request-scoped controller connection for this route.
7
8
  */
8
- get(name) {
9
+ get(name, options = {}) {
9
10
  const GetRoute = VelociousBasicRoute.GetRouteType;
10
- const route = new GetRoute({ name });
11
+ const route = new GetRoute({ name, ...options });
11
12
  this.routes.push(route);
12
13
  }
13
14
  /**
@@ -42,30 +43,49 @@ export default class VelociousBasicRoute extends BaseRoute {
42
43
  }
43
44
  /**
44
45
  * Runs namespace.
45
- * @param {string} name - Name.
46
- * @param {(arg: import("./namespace-route.js").default) => void} callback - Callback function.
46
+ * @param {string} name - Route name.
47
+ * @param {{skipControllerConnections?: boolean} | ((arg: import("./namespace-route.js").default) => void)} [options] - Namespace options (`skipControllerConnections: true` skips the request-scoped controller connection for every route declared inside this namespace; a per-route option still overrides it) or the draw callback (legacy form).
48
+ * @param {((arg: import("./namespace-route.js").default) => void) | undefined} [callback] - Callback function.
47
49
  * @returns {void} - No return value.
48
50
  */
49
- namespace(name, callback) {
51
+ namespace(name, options = {}, callback) {
50
52
  const NamespaceRoute = VelociousBasicRoute.NameSpaceRouteType;
51
53
  if (!NamespaceRoute)
52
54
  throw new Error("No NamespaceRoute registered");
55
+ // Backward compatible: the second argument may be the draw callback.
56
+ if (typeof options === "function") {
57
+ callback = options;
58
+ options = {};
59
+ }
60
+ const namespaceOptions = /** @type {{skipControllerConnections?: boolean}} */ (options);
61
+ const skipControllerConnections = namespaceOptions.skipControllerConnections === true;
53
62
  const route = new NamespaceRoute({ name });
54
63
  this.routes.push(route);
55
64
  if (callback) {
65
+ const originalGet = route.get.bind(route);
66
+ const originalPost = route.post.bind(route);
67
+ route.get = (routeName, routeOptions = {}) => {
68
+ const subOptions = /** @type {{skipControllerConnections?: boolean}} */ (routeOptions);
69
+ return originalGet(routeName, { ...routeOptions, skipControllerConnections: subOptions.skipControllerConnections ?? skipControllerConnections });
70
+ };
71
+ route.post = (routeName, routeOptions = {}) => {
72
+ const subOptions = /** @type {{skipControllerConnections?: boolean}} */ (routeOptions);
73
+ return originalPost(routeName, { ...routeOptions, skipControllerConnections: subOptions.skipControllerConnections ?? skipControllerConnections });
74
+ };
56
75
  callback(route);
57
76
  }
58
77
  }
59
78
  /**
60
79
  * Runs post.
61
- * @param {string} name - Name.
80
+ * @param {string} name - Route name.
81
+ * @param {{on?: "member" | "collection"} | {skipControllerConnections?: boolean}} [options] - Route options; `skipControllerConnections: true` skips the request-scoped controller connection for this route.
62
82
  * @returns {void} - No return value.
63
83
  */
64
- post(name) {
84
+ post(name, options = {}) {
65
85
  const PostRoute = VelociousBasicRoute.PostRouteType;
66
86
  if (!PostRoute)
67
87
  throw new Error("No PostRoute registered");
68
- const route = new PostRoute({ name });
88
+ const route = new PostRoute({ name, ...options });
69
89
  this.routes.push(route);
70
90
  }
71
91
  /**
@@ -85,4 +105,4 @@ export default class VelociousBasicRoute extends BaseRoute {
85
105
  }
86
106
  }
87
107
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtcm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGVzL2Jhc2ljLXJvdXRlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQTtBQUV2QyxNQUFNLENBQUMsT0FBTyxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUFDeEQ7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLElBQUk7UUFDTixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUE7UUFDakQsTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFBO1FBRWxDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsYUFBYSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxHQUFHLEVBQUU7UUFDM0IsSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLFNBQVMsQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDNUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFBO1FBQ3hFLENBQUM7UUFFRCxNQUFNLEVBQUUsR0FBRyw0REFBNEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUVwRixJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3hGLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUTtRQUN0QixNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQTtRQUU3RCxJQUFJLENBQUMsY0FBYztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUVwRSxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUE7UUFFeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFdkIsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLENBQUMsSUFBSTtRQUNQLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLGFBQWEsQ0FBQTtRQUVuRCxJQUFJLENBQUMsU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtRQUUxRCxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUE7UUFFbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLElBQUksRUFBRSxRQUFRO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLGlCQUFpQixDQUFBO1FBRTNELElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBRWxFLE1BQU0sS0FBSyxHQUFHLElBQUksYUFBYSxDQUFDLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUV2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUV2QixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhc2VSb3V0ZSBmcm9tIFwiLi9iYXNlLXJvdXRlLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzQmFzaWNSb3V0ZSBleHRlbmRzIEJhc2VSb3V0ZSB7XG4gIC8qKlxuICAgKiBSdW5zIGdldC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBSb3V0ZSBuYW1lLlxuICAgKi9cbiAgZ2V0KG5hbWUpIHtcbiAgICBjb25zdCBHZXRSb3V0ZSA9IFZlbG9jaW91c0Jhc2ljUm91dGUuR2V0Um91dGVUeXBlXG4gICAgY29uc3Qgcm91dGUgPSBuZXcgR2V0Um91dGUoe25hbWV9KVxuXG4gICAgdGhpcy5yb3V0ZXMucHVzaChyb3V0ZSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIG1hdGNoIHdpdGggcGF0aC5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3MucGFyYW1zIC0gUGFyYW1ldGVycyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnBhdGggLSBQYXRoLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2h0dHAtc2VydmVyL2NsaWVudC9yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCBpbXBvcnQoXCIuLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXJlcXVlc3QuanNcIikuZGVmYXVsdH0gYXJncy5yZXF1ZXN0IC0gUmVxdWVzdCBvYmplY3QuXG4gICAqIEByZXR1cm5zIHt7cmVzdFBhdGg6IHN0cmluZ30gfCB1bmRlZmluZWR9IC0gUkVTVCBwYXRoIG1ldGFkYXRhIGZvciB0aGlzIHJvdXRlLlxuICAgKi9cbiAgbWF0Y2hXaXRoUGF0aCh7cGFyYW1zLCBwYXRoLCByZXF1ZXN0fSkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgdGhyb3cgbmV3IEVycm9yKGBObyAnbWF0Y2hXaXRoUGF0aCcgaW1wbGVtZW50ZWQgb24gJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YClcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3VudHMgYSBzdWItYXBwbGljYXRpb24gKGUuZy4gdGhlIGJhY2tncm91bmQtam9icyBkYXNoYm9hcmQgQVBJKSBhdCBhIHBhdGhcbiAgICogcHJlZml4LCBzaW1pbGFyIHRvIG1vdW50aW5nIFNpZGVraXE6OldlYiBpbiBhIFJhaWxzIHJvdXRlcyBmaWxlLiBUaGVcbiAgICogbW91bnRhYmxlJ3MgYG1vdW50SW50byh7Y29uZmlndXJhdGlvbiwgLi4ub3B0aW9uc30pYCBpcyBpbnZva2VkIHdoZW4gdGhlXG4gICAqIGNvbmZpZ3VyYXRpb24gcmVjZWl2ZXMgdGhlIHJvdXRlcy5cbiAgICogQHBhcmFtIHt7bW91bnRJbnRvOiAoYXJnczogb2JqZWN0KSA9PiB2b2lkfX0gbW91bnRhYmxlIC0gTW91bnRhYmxlIHdpdGggYSBzdGF0aWMgYG1vdW50SW50b2AgbWV0aG9kLlxuICAgKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnNdIC0gTW91bnQgb3B0aW9ucy4gTXVzdCBpbmNsdWRlIGFuIGBhdGAgcGF0aCBwcmVmaXggc3RhcnRpbmcgd2l0aCBcIi9cIi5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgbW91bnQobW91bnRhYmxlLCBvcHRpb25zID0ge30pIHtcbiAgICBpZiAoIW1vdW50YWJsZSB8fCB0eXBlb2YgbW91bnRhYmxlLm1vdW50SW50byAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJtb3VudCBleHBlY3RzIGEgbW91bnRhYmxlIHdpdGggYSAnbW91bnRJbnRvJyBtZXRob2RcIilcbiAgICB9XG5cbiAgICBjb25zdCBhdCA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSAqLyAob3B0aW9ucykuYXRcblxuICAgIGlmICh0eXBlb2YgYXQgIT09IFwic3RyaW5nXCIgfHwgIWF0LnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG1vdW50IHJlcXVpcmVzIGFuICdhdCcgb3B0aW9uIHN0YXJ0aW5nIHdpdGggJy8nLCBnb3Q6ICR7U3RyaW5nKGF0KX1gKVxuICAgIH1cblxuICAgIHRoaXMubW91bnRzLnB1c2goe21vdW50YWJsZSwgb3B0aW9uc30pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBuYW1lc3BhY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZS5cbiAgICogQHBhcmFtIHsoYXJnOiBpbXBvcnQoXCIuL25hbWVzcGFjZS1yb3V0ZS5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkfSBjYWxsYmFjayAtIENhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBuYW1lc3BhY2UobmFtZSwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBOYW1lc3BhY2VSb3V0ZSA9IFZlbG9jaW91c0Jhc2ljUm91dGUuTmFtZVNwYWNlUm91dGVUeXBlXG5cbiAgICBpZiAoIU5hbWVzcGFjZVJvdXRlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBOYW1lc3BhY2VSb3V0ZSByZWdpc3RlcmVkXCIpXG5cbiAgICBjb25zdCByb3V0ZSA9IG5ldyBOYW1lc3BhY2VSb3V0ZSh7bmFtZX0pXG5cbiAgICB0aGlzLnJvdXRlcy5wdXNoKHJvdXRlKVxuXG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBjYWxsYmFjayhyb3V0ZSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyBwb3N0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIE5hbWUuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHBvc3QobmFtZSkge1xuICAgIGNvbnN0IFBvc3RSb3V0ZSA9IFZlbG9jaW91c0Jhc2ljUm91dGUuUG9zdFJvdXRlVHlwZVxuXG4gICAgaWYgKCFQb3N0Um91dGUpIHRocm93IG5ldyBFcnJvcihcIk5vIFBvc3RSb3V0ZSByZWdpc3RlcmVkXCIpXG5cbiAgICBjb25zdCByb3V0ZSA9IG5ldyBQb3N0Um91dGUoe25hbWV9KVxuXG4gICAgdGhpcy5yb3V0ZXMucHVzaChyb3V0ZSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHJlc291cmNlcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKiBAcGFyYW0geyhhcmc6IGltcG9ydChcIi4vcmVzb3VyY2Utcm91dGUuanNcIikuZGVmYXVsdCkgPT4gdm9pZH0gW2NhbGxiYWNrXSAtIENhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICByZXNvdXJjZXMobmFtZSwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBSZXNvdXJjZVJvdXRlID0gVmVsb2Npb3VzQmFzaWNSb3V0ZS5SZXNvdXJjZVJvdXRlVHlwZVxuXG4gICAgaWYgKCFSZXNvdXJjZVJvdXRlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBSZXNvdXJjZVJvdXRlIHJlZ2lzdGVyZWRcIilcblxuICAgIGNvbnN0IHJvdXRlID0gbmV3IFJlc291cmNlUm91dGUoe25hbWV9KVxuXG4gICAgdGhpcy5yb3V0ZXMucHVzaChyb3V0ZSlcblxuICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgY2FsbGJhY2socm91dGUpXG4gICAgfVxuICB9XG59XG5cbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtcm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGVzL2Jhc2ljLXJvdXRlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQTtBQUV2QyxNQUFNLENBQUMsT0FBTyxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUFDeEQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxHQUFHLEVBQUU7UUFDcEIsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUFBO1FBQ2pELE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLENBQUMsQ0FBQTtRQUU5QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGFBQWEsQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUMvRSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsU0FBUyxFQUFFLE9BQU8sR0FBRyxFQUFFO1FBQzNCLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxTQUFTLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQTtRQUN4RSxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsNERBQTRELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFFcEYsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcs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SUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtRQUVsRSxNQUFNLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUE7UUFFdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFdkIsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBCYXNlUm91dGUgZnJvbSBcIi4vYmFzZS1yb3V0ZS5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0Jhc2ljUm91dGUgZXh0ZW5kcyBCYXNlUm91dGUge1xuICAvKipcbiAgICogUnVucyBnZXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gUm91dGUgbmFtZS5cbiAgICogQHBhcmFtIHt7b24/OiBcIm1lbWJlclwiIHwgXCJjb2xsZWN0aW9uXCJ9IHwge3NraXBDb250cm9sbGVyQ29ubmVjdGlvbnM/OiBib29sZWFufX0gW29wdGlvbnNdIC0gUm91dGUgb3B0aW9uczsgYHNraXBDb250cm9sbGVyQ29ubmVjdGlvbnM6IHRydWVgIHNraXBzIHRoZSByZXF1ZXN0LXNjb3BlZCBjb250cm9sbGVyIGNvbm5lY3Rpb24gZm9yIHRoaXMgcm91dGUuXG4gICAqL1xuICBnZXQobmFtZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgR2V0Um91dGUgPSBWZWxvY2lvdXNCYXNpY1JvdXRlLkdldFJvdXRlVHlwZVxuICAgIGNvbnN0IHJvdXRlID0gbmV3IEdldFJvdXRlKHtuYW1lLCAuLi5vcHRpb25zfSlcblxuICAgIHRoaXMucm91dGVzLnB1c2gocm91dGUpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBtYXRjaCB3aXRoIHBhdGguXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzLnBhcmFtcyAtIFBhcmFtZXRlcnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHR9IGFyZ3MucmVxdWVzdCAtIFJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7e3Jlc3RQYXRoOiBzdHJpbmd9IHwgdW5kZWZpbmVkfSAtIFJFU1QgcGF0aCBtZXRhZGF0YSBmb3IgdGhpcyByb3V0ZS5cbiAgICovXG4gIG1hdGNoV2l0aFBhdGgoe3BhcmFtcywgcGF0aCwgcmVxdWVzdH0pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gJ21hdGNoV2l0aFBhdGgnIGltcGxlbWVudGVkIG9uICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfWApXG4gIH1cblxuICAvKipcbiAgICogTW91bnRzIGEgc3ViLWFwcGxpY2F0aW9uIChlLmcuIHRoZSBiYWNrZ3JvdW5kLWpvYnMgZGFzaGJvYXJkIEFQSSkgYXQgYSBwYXRoXG4gICAqIHByZWZpeCwgc2ltaWxhciB0byBtb3VudGluZyBTaWRla2lxOjpXZWIgaW4gYSBSYWlscyByb3V0ZXMgZmlsZS4gVGhlXG4gICAqIG1vdW50YWJsZSdzIGBtb3VudEludG8oe2NvbmZpZ3VyYXRpb24sIC4uLm9wdGlvbnN9KWAgaXMgaW52b2tlZCB3aGVuIHRoZVxuICAgKiBjb25maWd1cmF0aW9uIHJlY2VpdmVzIHRoZSByb3V0ZXMuXG4gICAqIEBwYXJhbSB7e21vdW50SW50bzogKGFyZ3M6IG9iamVjdCkgPT4gdm9pZH19IG1vdW50YWJsZSAtIE1vdW50YWJsZSB3aXRoIGEgc3RhdGljIGBtb3VudEludG9gIG1ldGhvZC5cbiAgICogQHBhcmFtIHtvYmplY3R9IFtvcHRpb25zXSAtIE1vdW50IG9wdGlvbnMuIE11c3QgaW5jbHVkZSBhbiBgYXRgIHBhdGggcHJlZml4IHN0YXJ0aW5nIHdpdGggXCIvXCIuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIG1vdW50KG1vdW50YWJsZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKCFtb3VudGFibGUgfHwgdHlwZW9mIG1vdW50YWJsZS5tb3VudEludG8gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwibW91bnQgZXhwZWN0cyBhIG1vdW50YWJsZSB3aXRoIGEgJ21vdW50SW50bycgbWV0aG9kXCIpXG4gICAgfVxuXG4gICAgY29uc3QgYXQgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gKi8gKG9wdGlvbnMpLmF0XG5cbiAgICBpZiAodHlwZW9mIGF0ICE9PSBcInN0cmluZ1wiIHx8ICFhdC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBtb3VudCByZXF1aXJlcyBhbiAnYXQnIG9wdGlvbiBzdGFydGluZyB3aXRoICcvJywgZ290OiAke1N0cmluZyhhdCl9YClcbiAgICB9XG5cbiAgICB0aGlzLm1vdW50cy5wdXNoKHttb3VudGFibGUsIG9wdGlvbnN9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbmFtZXNwYWNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFJvdXRlIG5hbWUuXG4gICAqIEBwYXJhbSB7e3NraXBDb250cm9sbGVyQ29ubmVjdGlvbnM/OiBib29sZWFufSB8ICgoYXJnOiBpbXBvcnQoXCIuL25hbWVzcGFjZS1yb3V0ZS5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkKX0gW29wdGlvbnNdIC0gTmFtZXNwYWNlIG9wdGlvbnMgKGBza2lwQ29udHJvbGxlckNvbm5lY3Rpb25zOiB0cnVlYCBza2lwcyB0aGUgcmVxdWVzdC1zY29wZWQgY29udHJvbGxlciBjb25uZWN0aW9uIGZvciBldmVyeSByb3V0ZSBkZWNsYXJlZCBpbnNpZGUgdGhpcyBuYW1lc3BhY2U7IGEgcGVyLXJvdXRlIG9wdGlvbiBzdGlsbCBvdmVycmlkZXMgaXQpIG9yIHRoZSBkcmF3IGNhbGxiYWNrIChsZWdhY3kgZm9ybSkuXG4gICAqIEBwYXJhbSB7KChhcmc6IGltcG9ydChcIi4vbmFtZXNwYWNlLXJvdXRlLmpzXCIpLmRlZmF1bHQpID0+IHZvaWQpIHwgdW5kZWZpbmVkfSBbY2FsbGJhY2tdIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIG5hbWVzcGFjZShuYW1lLCBvcHRpb25zID0ge30sIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgTmFtZXNwYWNlUm91dGUgPSBWZWxvY2lvdXNCYXNpY1JvdXRlLk5hbWVTcGFjZVJvdXRlVHlwZVxuXG4gICAgaWYgKCFOYW1lc3BhY2VSb3V0ZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gTmFtZXNwYWNlUm91dGUgcmVnaXN0ZXJlZFwiKVxuXG4gICAgLy8gQmFja3dhcmQgY29tcGF0aWJsZTogdGhlIHNlY29uZCBhcmd1bWVudCBtYXkgYmUgdGhlIGRyYXcgY2FsbGJhY2suXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNhbGxiYWNrID0gb3B0aW9uc1xuICAgICAgb3B0aW9ucyA9IHt9XG4gICAgfVxuXG4gICAgY29uc3QgbmFtZXNwYWNlT3B0aW9ucyA9IC8qKiBAdHlwZSB7e3NraXBDb250cm9sbGVyQ29ubmVjdGlvbnM/OiBib29sZWFufX0gKi8gKG9wdGlvbnMpXG4gICAgY29uc3Qgc2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucyA9IG5hbWVzcGFjZU9wdGlvbnMuc2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucyA9PT0gdHJ1ZVxuXG4gICAgY29uc3Qgcm91dGUgPSBuZXcgTmFtZXNwYWNlUm91dGUoe25hbWV9KVxuXG4gICAgdGhpcy5yb3V0ZXMucHVzaChyb3V0ZSlcblxuICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgY29uc3Qgb3JpZ2luYWxHZXQgPSByb3V0ZS5nZXQuYmluZChyb3V0ZSlcbiAgICAgIGNvbnN0IG9yaWdpbmFsUG9zdCA9IHJvdXRlLnBvc3QuYmluZChyb3V0ZSlcblxuICAgICAgcm91dGUuZ2V0ID0gKHJvdXRlTmFtZSwgcm91dGVPcHRpb25zID0ge30pID0+IHtcbiAgICAgICAgY29uc3Qgc3ViT3B0aW9ucyA9IC8qKiBAdHlwZSB7e3NraXBDb250cm9sbGVyQ29ubmVjdGlvbnM/OiBib29sZWFufX0gKi8gKHJvdXRlT3B0aW9ucylcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsR2V0KHJvdXRlTmFtZSwgey4uLnJvdXRlT3B0aW9ucywgc2tpcENvbnRyb2xsZXJDb25uZWN0aW9uczogc3ViT3B0aW9ucy5za2lwQ29udHJvbGxlckNvbm5lY3Rpb25zID8/IHNraXBDb250cm9sbGVyQ29ubmVjdGlvbnN9KVxuICAgICAgfVxuXG4gICAgICByb3V0ZS5wb3N0ID0gKHJvdXRlTmFtZSwgcm91dGVPcHRpb25zID0ge30pID0+IHtcbiAgICAgICAgY29uc3Qgc3ViT3B0aW9ucyA9IC8qKiBAdHlwZSB7e3NraXBDb250cm9sbGVyQ29ubmVjdGlvbnM/OiBib29sZWFufX0gKi8gKHJvdXRlT3B0aW9ucylcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUG9zdChyb3V0ZU5hbWUsIHsuLi5yb3V0ZU9wdGlvbnMsIHNraXBDb250cm9sbGVyQ29ubmVjdGlvbnM6IHN1Yk9wdGlvbnMuc2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucyA/PyBza2lwQ29udHJvbGxlckNvbm5lY3Rpb25zfSlcbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2socm91dGUpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcG9zdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBSb3V0ZSBuYW1lLlxuICAgKiBAcGFyYW0ge3tvbj86IFwibWVtYmVyXCIgfCBcImNvbGxlY3Rpb25cIn0gfCB7c2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucz86IGJvb2xlYW59fSBbb3B0aW9uc10gLSBSb3V0ZSBvcHRpb25zOyBgc2tpcENvbnRyb2xsZXJDb25uZWN0aW9uczogdHJ1ZWAgc2tpcHMgdGhlIHJlcXVlc3Qtc2NvcGVkIGNvbnRyb2xsZXIgY29ubmVjdGlvbiBmb3IgdGhpcyByb3V0ZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcG9zdChuYW1lLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBQb3N0Um91dGUgPSBWZWxvY2lvdXNCYXNpY1JvdXRlLlBvc3RSb3V0ZVR5cGVcblxuICAgIGlmICghUG9zdFJvdXRlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBQb3N0Um91dGUgcmVnaXN0ZXJlZFwiKVxuXG4gICAgY29uc3Qgcm91dGUgPSBuZXcgUG9zdFJvdXRlKHtuYW1lLCAuLi5vcHRpb25zfSlcblxuICAgIHRoaXMucm91dGVzLnB1c2gocm91dGUpXG4gIH1cblxuICAvKipcbiAgICogUnVucyByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZS5cbiAgICogQHBhcmFtIHsoYXJnOiBpbXBvcnQoXCIuL3Jlc291cmNlLXJvdXRlLmpzXCIpLmRlZmF1bHQpID0+IHZvaWR9IFtjYWxsYmFja10gLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcmVzb3VyY2VzKG5hbWUsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgUmVzb3VyY2VSb3V0ZSA9IFZlbG9jaW91c0Jhc2ljUm91dGUuUmVzb3VyY2VSb3V0ZVR5cGVcblxuICAgIGlmICghUmVzb3VyY2VSb3V0ZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gUmVzb3VyY2VSb3V0ZSByZWdpc3RlcmVkXCIpXG5cbiAgICBjb25zdCByb3V0ZSA9IG5ldyBSZXNvdXJjZVJvdXRlKHtuYW1lfSlcblxuICAgIHRoaXMucm91dGVzLnB1c2gocm91dGUpXG5cbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGNhbGxiYWNrKHJvdXRlKVxuICAgIH1cbiAgfVxufVxuXG4iXX0=
@@ -2,13 +2,24 @@ import BaseRoute from "./base-route.js";
2
2
  declare class VelociousRouteGetRoute extends BaseRoute {
3
3
  name: string;
4
4
  regExp: RegExp;
5
+ /**
6
+ * When true the resolver skips the request-scoped controller connection for
7
+ * this route: the action runs without an ambient `ensureConnections` checkout,
8
+ * so a long-lived action (streaming response, long wait) does not pin a pool
9
+ * connection for its whole lifetime. Each explicit `ensureConnections` call
10
+ * inside the action still opens and returns its own short-lived connection.
11
+ * @type {boolean}
12
+ */
13
+ skipControllerConnections: boolean;
5
14
  /**
6
15
  * Runs constructor.
7
16
  * @param {object} args - Options object.
8
17
  * @param {string} args.name - Name.
18
+ * @param {boolean} [args.skipControllerConnections] - Skip the request-scoped controller connection for this route.
9
19
  */
10
- constructor({ name, ...restArgs }: {
20
+ constructor({ name, skipControllerConnections, ...restArgs }: {
11
21
  name: string;
22
+ skipControllerConnections?: boolean;
12
23
  });
13
24
  getHumanPaths(): {
14
25
  method: string;
@@ -1 +1 @@
1
- {"version":3,"file":"get-route.d.ts","sourceRoot":"","sources":["../../../src/routes/get-route.js"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AAyBvC,cAAM,sBAAuB,SAAQ,SAAS;IASrC,IAAI;IACJ,MAAM;IATb;;;;OAIG;IACH,YAAY,EAAC,IAAI,EAAE,GAAG,QAAQ,EAAC,EAF5B;QAAqB,IAAI,EAAjB,MAAM,CAChB;KAC8B,EAK9B;IAED,aAAa;;;;QAIZ;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EALlC;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;KAEkC,GAFxB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAe1C;CACF;eAIc,sBAAsB"}
1
+ {"version":3,"file":"get-route.d.ts","sourceRoot":"","sources":["../../../src/routes/get-route.js"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AAyBvC,cAAM,sBAAuB,SAAQ,SAAS;IAoBrC,IAAI;IACJ,MAAM;IApBb;;;;;;;OAOG;IACH,yBAAyB,EAFf,OAAO,CAEgB;IAEjC;;;;;OAKG;IACH,YAAY,EAAC,IAAI,EAAE,yBAAiC,EAAE,GAAG,QAAQ,EAAC,EAH/D;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAuB,yBAAyB,AAAhD,CACF,EADU,OAAO,CACjB;KACiE,EAUjE;IAED,aAAa;;;;QAIZ;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EALlC;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;KAEkC,GAFxB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAe1C;CACF;eAIc,sBAAsB"}
@@ -21,16 +21,30 @@ function assignActionAndController(params, name) {
21
21
  params.controller = existingController ? `${existingController}/${controllerSuffix}` : controllerSuffix;
22
22
  }
23
23
  class VelociousRouteGetRoute extends BaseRoute {
24
+ /**
25
+ * When true the resolver skips the request-scoped controller connection for
26
+ * this route: the action runs without an ambient `ensureConnections` checkout,
27
+ * so a long-lived action (streaming response, long wait) does not pin a pool
28
+ * connection for its whole lifetime. Each explicit `ensureConnections` call
29
+ * inside the action still opens and returns its own short-lived connection.
30
+ * @type {boolean}
31
+ */
32
+ skipControllerConnections = false;
24
33
  /**
25
34
  * Runs constructor.
26
35
  * @param {object} args - Options object.
27
36
  * @param {string} args.name - Name.
37
+ * @param {boolean} [args.skipControllerConnections] - Skip the request-scoped controller connection for this route.
28
38
  */
29
- constructor({ name, ...restArgs }) {
39
+ constructor({ name, skipControllerConnections = false, ...restArgs }) {
30
40
  super();
31
41
  restArgsError(restArgs);
32
42
  this.name = name;
33
43
  this.regExp = new RegExp(`^(${escapeStringRegexp(name)})(.*)$`);
44
+ if (skipControllerConnections !== true && skipControllerConnections !== false) {
45
+ throw new Error(`Expected get route 'skipControllerConnections' to be a boolean, got: ${String(skipControllerConnections)}`);
46
+ }
47
+ this.skipControllerConnections = skipControllerConnections;
34
48
  }
35
49
  getHumanPaths() {
36
50
  return [
@@ -59,4 +73,4 @@ class VelociousRouteGetRoute extends BaseRoute {
59
73
  }
60
74
  BaseRoute.registerRouteGetType(VelociousRouteGetRoute);
61
75
  export default VelociousRouteGetRoute;
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRlcy9nZXQtcm91dGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sa0JBQWtCLE1BQU0sc0JBQXNCLENBQUE7QUFFckQsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxhQUFhLE1BQU0sNkJBQTZCLENBQUE7QUFFdkQ7Ozs7O0dBS0c7QUFDSCxTQUFTLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxJQUFJO0lBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBRXhFLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtRQUNwQixPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDeEQsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLE1BQU0sQ0FBQyxVQUFVLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBRTNILE1BQU0sQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFBO0lBQzdCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUE7QUFDekcsQ0FBQztBQUVELE1BQU0sc0JBQXVCLFNBQVEsU0FBUztJQUM1Qzs7OztPQUlHO0lBQ0gsWUFBWSxFQUFDLElBQUksRUFBRSxHQUFHLFFBQVEsRUFBQztRQUM3QixLQUFLLEVBQUUsQ0FBQTtRQUNQLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2pFLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTztZQUNMLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBQztTQUNwRCxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQztRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUVyQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBRXRELCtFQUErRTtZQUMvRSxJQUFJLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU07WUFFakQseUJBQXlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUU1QyxPQUFPLEVBQUMsUUFBUSxFQUFDLENBQUE7UUFDbkIsQ0FBQztJQUNILENBQUM7Q0FDRjtBQUVELFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0FBRXRELGVBQWUsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IGVzY2FwZVN0cmluZ1JlZ2V4cCBmcm9tIFwiZXNjYXBlLXN0cmluZy1yZWdleHBcIlxuXG5pbXBvcnQgQmFzZVJvdXRlIGZyb20gXCIuL2Jhc2Utcm91dGUuanNcIlxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5cbi8qKlxuICogUnVucyBhc3NpZ24gYWN0aW9uIGFuZCBjb250cm9sbGVyLlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IHBhcmFtcyAtIFJvdXRlIHBhcmFtcyBvYmplY3QuXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFJvdXRlIG5hbWUuXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGFzc2lnbkFjdGlvbkFuZENvbnRyb2xsZXIocGFyYW1zLCBuYW1lKSB7XG4gIGNvbnN0IHNlZ21lbnRzID0gbmFtZS5zcGxpdChcIi9cIikuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50Lmxlbmd0aCA+IDApXG5cbiAgaWYgKHNlZ21lbnRzLmxlbmd0aCA8PSAxKSB7XG4gICAgcGFyYW1zLmFjdGlvbiA9IG5hbWVcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IGFjdGlvblNlZ21lbnQgPSBzZWdtZW50c1tzZWdtZW50cy5sZW5ndGggLSAxXVxuICBjb25zdCBjb250cm9sbGVyU3VmZml4ID0gc2VnbWVudHMuc2xpY2UoMCwgLTEpLmpvaW4oXCIvXCIpXG4gIGNvbnN0IGV4aXN0aW5nQ29udHJvbGxlciA9IHR5cGVvZiBwYXJhbXMuY29udHJvbGxlciA9PT0gXCJzdHJpbmdcIiAmJiBwYXJhbXMuY29udHJvbGxlci5sZW5ndGggPiAwID8gcGFyYW1zLmNvbnRyb2xsZXIgOiBudWxsXG5cbiAgcGFyYW1zLmFjdGlvbiA9IGFjdGlvblNlZ21lbnRcbiAgcGFyYW1zLmNvbnRyb2xsZXIgPSBleGlzdGluZ0NvbnRyb2xsZXIgPyBgJHtleGlzdGluZ0NvbnRyb2xsZXJ9LyR7Y29udHJvbGxlclN1ZmZpeH1gIDogY29udHJvbGxlclN1ZmZpeFxufVxuXG5jbGFzcyBWZWxvY2lvdXNSb3V0ZUdldFJvdXRlIGV4dGVuZHMgQmFzZVJvdXRlIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLm5hbWUgLSBOYW1lLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe25hbWUsIC4uLnJlc3RBcmdzfSkge1xuICAgIHN1cGVyKClcbiAgICByZXN0QXJnc0Vycm9yKHJlc3RBcmdzKVxuICAgIHRoaXMubmFtZSA9IG5hbWVcbiAgICB0aGlzLnJlZ0V4cCA9IG5ldyBSZWdFeHAoYF4oJHtlc2NhcGVTdHJpbmdSZWdleHAobmFtZSl9KSguKikkYClcbiAgfVxuXG4gIGdldEh1bWFuUGF0aHMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHttZXRob2Q6IFwiR0VUXCIsIGFjdGlvbjogdGhpcy5uYW1lLCBwYXRoOiB0aGlzLm5hbWV9XG4gICAgXVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbWF0Y2ggd2l0aCBwYXRoLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5wYXJhbXMgLSBQYXJhbWV0ZXJzIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4uL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtcmVxdWVzdC5qc1wiKS5kZWZhdWx0fSBhcmdzLnJlcXVlc3QgLSBSZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybnMge3tyZXN0UGF0aDogc3RyaW5nfSB8IHVuZGVmaW5lZH0gLSBSRVNUIHBhdGggbWV0YWRhdGEgZm9yIHRoaXMgcm91dGUuXG4gICAqL1xuICBtYXRjaFdpdGhQYXRoKHtwYXJhbXMsIHBhdGgsIHJlcXVlc3R9KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCBtYXRjaCA9IHBhdGgubWF0Y2godGhpcy5yZWdFeHApXG5cbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGNvbnN0IFtfYmVnaW5uaWdTbGFzaCwgX21hdGNoZWROYW1lLCByZXN0UGF0aF0gPSBtYXRjaFxuXG4gICAgICAvLyBQcmV2ZW50IHBhcnRpYWwgcHJlZml4IG1hdGNoZXMgKGUuZy4sIFwicGFyYW1zXCIgbWF0Y2hpbmcgXCJwYXJhbXMtd2l0aC1xdWVyeVwiKVxuICAgICAgaWYgKHJlc3RQYXRoICYmICFyZXN0UGF0aC5zdGFydHNXaXRoKFwiL1wiKSkgcmV0dXJuXG5cbiAgICAgIGFzc2lnbkFjdGlvbkFuZENvbnRyb2xsZXIocGFyYW1zLCB0aGlzLm5hbWUpXG5cbiAgICAgIHJldHVybiB7cmVzdFBhdGh9XG4gICAgfVxuICB9XG59XG5cbkJhc2VSb3V0ZS5yZWdpc3RlclJvdXRlR2V0VHlwZShWZWxvY2lvdXNSb3V0ZUdldFJvdXRlKVxuXG5leHBvcnQgZGVmYXVsdCBWZWxvY2lvdXNSb3V0ZUdldFJvdXRlXG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRlcy9nZXQtcm91dGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sa0JBQWtCLE1BQU0sc0JBQXNCLENBQUE7QUFFckQsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxhQUFhLE1BQU0sNkJBQTZCLENBQUE7QUFFdkQ7Ozs7O0dBS0c7QUFDSCxTQUFTLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxJQUFJO0lBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBRXhFLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtRQUNwQixPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDeEQsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLE1BQU0sQ0FBQyxVQUFVLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBRTNILE1BQU0sQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFBO0lBQzdCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUE7QUFDekcsQ0FBQztBQUVELE1BQU0sc0JBQXVCLFNBQVEsU0FBUztJQUM1Qzs7Ozs7OztPQU9HO0lBQ0gseUJBQXlCLEdBQUcsS0FBSyxDQUFBO0lBRWpDOzs7OztPQUtHO0lBQ0gsWUFBWSxFQUFDLElBQUksRUFBRSx5QkFBeUIsR0FBRyxLQUFLLEVBQUUsR0FBRyxRQUFRLEVBQUM7UUFDaEUsS0FBSyxFQUFFLENBQUE7UUFDUCxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUMvRCxJQUFJLHlCQUF5QixLQUFLLElBQUksSUFBSSx5QkFBeUIsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM5RSxNQUFNLElBQUksS0FBSyxDQUFDLHdFQUF3RSxNQUFNLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDOUgsQ0FBQztRQUVELElBQUksQ0FBQyx5QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQTtJQUM1RCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU87WUFDTCxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUM7U0FDcEQsQ0FBQTtJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsYUFBYSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUV0RCwrRUFBK0U7WUFDL0UsSUFBSSxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFNO1lBRWpELHlCQUF5QixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFFNUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxDQUFBO1FBQ25CLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtBQUV0RCxlQUFlLHNCQUFzQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBlc2NhcGVTdHJpbmdSZWdleHAgZnJvbSBcImVzY2FwZS1zdHJpbmctcmVnZXhwXCJcblxuaW1wb3J0IEJhc2VSb3V0ZSBmcm9tIFwiLi9iYXNlLXJvdXRlLmpzXCJcbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG4vKipcbiAqIFJ1bnMgYXNzaWduIGFjdGlvbiBhbmQgY29udHJvbGxlci5cbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBwYXJhbXMgLSBSb3V0ZSBwYXJhbXMgb2JqZWN0LlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBSb3V0ZSBuYW1lLlxuICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhc3NpZ25BY3Rpb25BbmRDb250cm9sbGVyKHBhcmFtcywgbmFtZSkge1xuICBjb25zdCBzZWdtZW50cyA9IG5hbWUuc3BsaXQoXCIvXCIpLmZpbHRlcigoc2VnbWVudCkgPT4gc2VnbWVudC5sZW5ndGggPiAwKVxuXG4gIGlmIChzZWdtZW50cy5sZW5ndGggPD0gMSkge1xuICAgIHBhcmFtcy5hY3Rpb24gPSBuYW1lXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBhY3Rpb25TZWdtZW50ID0gc2VnbWVudHNbc2VnbWVudHMubGVuZ3RoIC0gMV1cbiAgY29uc3QgY29udHJvbGxlclN1ZmZpeCA9IHNlZ21lbnRzLnNsaWNlKDAsIC0xKS5qb2luKFwiL1wiKVxuICBjb25zdCBleGlzdGluZ0NvbnRyb2xsZXIgPSB0eXBlb2YgcGFyYW1zLmNvbnRyb2xsZXIgPT09IFwic3RyaW5nXCIgJiYgcGFyYW1zLmNvbnRyb2xsZXIubGVuZ3RoID4gMCA/IHBhcmFtcy5jb250cm9sbGVyIDogbnVsbFxuXG4gIHBhcmFtcy5hY3Rpb24gPSBhY3Rpb25TZWdtZW50XG4gIHBhcmFtcy5jb250cm9sbGVyID0gZXhpc3RpbmdDb250cm9sbGVyID8gYCR7ZXhpc3RpbmdDb250cm9sbGVyfS8ke2NvbnRyb2xsZXJTdWZmaXh9YCA6IGNvbnRyb2xsZXJTdWZmaXhcbn1cblxuY2xhc3MgVmVsb2Npb3VzUm91dGVHZXRSb3V0ZSBleHRlbmRzIEJhc2VSb3V0ZSB7XG4gIC8qKlxuICAgKiBXaGVuIHRydWUgdGhlIHJlc29sdmVyIHNraXBzIHRoZSByZXF1ZXN0LXNjb3BlZCBjb250cm9sbGVyIGNvbm5lY3Rpb24gZm9yXG4gICAqIHRoaXMgcm91dGU6IHRoZSBhY3Rpb24gcnVucyB3aXRob3V0IGFuIGFtYmllbnQgYGVuc3VyZUNvbm5lY3Rpb25zYCBjaGVja291dCxcbiAgICogc28gYSBsb25nLWxpdmVkIGFjdGlvbiAoc3RyZWFtaW5nIHJlc3BvbnNlLCBsb25nIHdhaXQpIGRvZXMgbm90IHBpbiBhIHBvb2xcbiAgICogY29ubmVjdGlvbiBmb3IgaXRzIHdob2xlIGxpZmV0aW1lLiBFYWNoIGV4cGxpY2l0IGBlbnN1cmVDb25uZWN0aW9uc2AgY2FsbFxuICAgKiBpbnNpZGUgdGhlIGFjdGlvbiBzdGlsbCBvcGVucyBhbmQgcmV0dXJucyBpdHMgb3duIHNob3J0LWxpdmVkIGNvbm5lY3Rpb24uXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgc2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucyA9IGZhbHNlXG5cbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLm5hbWUgLSBOYW1lLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLnNraXBDb250cm9sbGVyQ29ubmVjdGlvbnNdIC0gU2tpcCB0aGUgcmVxdWVzdC1zY29wZWQgY29udHJvbGxlciBjb25uZWN0aW9uIGZvciB0aGlzIHJvdXRlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe25hbWUsIHNraXBDb250cm9sbGVyQ29ubmVjdGlvbnMgPSBmYWxzZSwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgc3VwZXIoKVxuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG4gICAgdGhpcy5uYW1lID0gbmFtZVxuICAgIHRoaXMucmVnRXhwID0gbmV3IFJlZ0V4cChgXigke2VzY2FwZVN0cmluZ1JlZ2V4cChuYW1lKX0pKC4qKSRgKVxuICAgIGlmIChza2lwQ29udHJvbGxlckNvbm5lY3Rpb25zICE9PSB0cnVlICYmIHNraXBDb250cm9sbGVyQ29ubmVjdGlvbnMgIT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGdldCByb3V0ZSAnc2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucycgdG8gYmUgYSBib29sZWFuLCBnb3Q6ICR7U3RyaW5nKHNraXBDb250cm9sbGVyQ29ubmVjdGlvbnMpfWApXG4gICAgfVxuXG4gICAgdGhpcy5za2lwQ29udHJvbGxlckNvbm5lY3Rpb25zID0gc2tpcENvbnRyb2xsZXJDb25uZWN0aW9uc1xuICB9XG5cbiAgZ2V0SHVtYW5QYXRocygpIHtcbiAgICByZXR1cm4gW1xuICAgICAge21ldGhvZDogXCJHRVRcIiwgYWN0aW9uOiB0aGlzLm5hbWUsIHBhdGg6IHRoaXMubmFtZX1cbiAgICBdXG4gIH1cblxuICAvKipcbiAgICogUnVucyBtYXRjaCB3aXRoIHBhdGguXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzLnBhcmFtcyAtIFBhcmFtZXRlcnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHR9IGFyZ3MucmVxdWVzdCAtIFJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7e3Jlc3RQYXRoOiBzdHJpbmd9IHwgdW5kZWZpbmVkfSAtIFJFU1QgcGF0aCBtZXRhZGF0YSBmb3IgdGhpcyByb3V0ZS5cbiAgICovXG4gIG1hdGNoV2l0aFBhdGgoe3BhcmFtcywgcGF0aCwgcmVxdWVzdH0pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IG1hdGNoID0gcGF0aC5tYXRjaCh0aGlzLnJlZ0V4cClcblxuICAgIGlmIChtYXRjaCkge1xuICAgICAgY29uc3QgW19iZWdpbm5pZ1NsYXNoLCBfbWF0Y2hlZE5hbWUsIHJlc3RQYXRoXSA9IG1hdGNoXG5cbiAgICAgIC8vIFByZXZlbnQgcGFydGlhbCBwcmVmaXggbWF0Y2hlcyAoZS5nLiwgXCJwYXJhbXNcIiBtYXRjaGluZyBcInBhcmFtcy13aXRoLXF1ZXJ5XCIpXG4gICAgICBpZiAocmVzdFBhdGggJiYgIXJlc3RQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSByZXR1cm5cblxuICAgICAgYXNzaWduQWN0aW9uQW5kQ29udHJvbGxlcihwYXJhbXMsIHRoaXMubmFtZSlcblxuICAgICAgcmV0dXJuIHtyZXN0UGF0aH1cbiAgICB9XG4gIH1cbn1cblxuQmFzZVJvdXRlLnJlZ2lzdGVyUm91dGVHZXRUeXBlKFZlbG9jaW91c1JvdXRlR2V0Um91dGUpXG5cbmV4cG9ydCBkZWZhdWx0IFZlbG9jaW91c1JvdXRlR2V0Um91dGVcbiJdfQ==
@@ -2,13 +2,24 @@ import BaseRoute from "./base-route.js";
2
2
  declare class VelociousRoutePostRoute extends BaseRoute {
3
3
  name: string;
4
4
  regExp: RegExp;
5
+ /**
6
+ * When true the resolver skips the request-scoped controller connection for
7
+ * this route: the action runs without an ambient `ensureConnections` checkout,
8
+ * so a long-lived action (streaming response, long wait) does not pin a pool
9
+ * connection for its whole lifetime. Each explicit `ensureConnections` call
10
+ * inside the action still opens and returns its own short-lived connection.
11
+ * @type {boolean}
12
+ */
13
+ skipControllerConnections: boolean;
5
14
  /**
6
15
  * Runs constructor.
7
16
  * @param {object} args - Options object.
8
17
  * @param {string} args.name - Name.
18
+ * @param {boolean} [args.skipControllerConnections] - Skip the request-scoped controller connection for this route.
9
19
  */
10
- constructor({ name, ...restArgs }: {
20
+ constructor({ name, skipControllerConnections, ...restArgs }: {
11
21
  name: string;
22
+ skipControllerConnections?: boolean;
12
23
  });
13
24
  getHumanPaths(): {
14
25
  method: string;
@@ -1 +1 @@
1
- {"version":3,"file":"post-route.d.ts","sourceRoot":"","sources":["../../../src/routes/post-route.js"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AA0BvC,cAAM,uBAAwB,SAAQ,SAAS;IAStC,IAAI;IACJ,MAAM;IATb;;;;OAIG;IACH,YAAY,EAAC,IAAI,EAAE,GAAG,QAAQ,EAAC,EAF5B;QAAqB,IAAI,EAAjB,MAAM,CAChB;KAC8B,EAK9B;IAED,aAAa;;;;QAIZ;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EALlC;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;KAEkC,GAFxB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAe1C;CACF;eAIc,uBAAuB"}
1
+ {"version":3,"file":"post-route.d.ts","sourceRoot":"","sources":["../../../src/routes/post-route.js"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AA0BvC,cAAM,uBAAwB,SAAQ,SAAS;IAoBtC,IAAI;IACJ,MAAM;IApBb;;;;;;;OAOG;IACH,yBAAyB,EAFf,OAAO,CAEgB;IAEjC;;;;;OAKG;IACH,YAAY,EAAC,IAAI,EAAE,yBAAiC,EAAE,GAAG,QAAQ,EAAC,EAH/D;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAuB,yBAAyB,AAAhD,CACF,EADU,OAAO,CACjB;KACiE,EAUjE;IAED,aAAa;;;;QAIZ;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EALlC;QAA4D,MAAM,EAA1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACrD;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;KAEkC,GAFxB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAe1C;CACF;eAIc,uBAAuB"}
@@ -21,16 +21,30 @@ function assignActionAndController(params, name) {
21
21
  params.controller = existingController ? `${existingController}/${controllerSuffix}` : controllerSuffix;
22
22
  }
23
23
  class VelociousRoutePostRoute extends BaseRoute {
24
+ /**
25
+ * When true the resolver skips the request-scoped controller connection for
26
+ * this route: the action runs without an ambient `ensureConnections` checkout,
27
+ * so a long-lived action (streaming response, long wait) does not pin a pool
28
+ * connection for its whole lifetime. Each explicit `ensureConnections` call
29
+ * inside the action still opens and returns its own short-lived connection.
30
+ * @type {boolean}
31
+ */
32
+ skipControllerConnections = false;
24
33
  /**
25
34
  * Runs constructor.
26
35
  * @param {object} args - Options object.
27
36
  * @param {string} args.name - Name.
37
+ * @param {boolean} [args.skipControllerConnections] - Skip the request-scoped controller connection for this route.
28
38
  */
29
- constructor({ name, ...restArgs }) {
39
+ constructor({ name, skipControllerConnections = false, ...restArgs }) {
30
40
  super();
31
41
  restArgsError(restArgs);
32
42
  this.name = name;
33
43
  this.regExp = new RegExp(`^(${escapeStringRegexp(name)})(.*)$`);
44
+ if (skipControllerConnections !== true && skipControllerConnections !== false) {
45
+ throw new Error(`Expected post route 'skipControllerConnections' to be a boolean, got: ${String(skipControllerConnections)}`);
46
+ }
47
+ this.skipControllerConnections = skipControllerConnections;
34
48
  }
35
49
  getHumanPaths() {
36
50
  return [{
@@ -60,4 +74,4 @@ class VelociousRoutePostRoute extends BaseRoute {
60
74
  }
61
75
  BaseRoute.registerRoutePostType(VelociousRoutePostRoute);
62
76
  export default VelociousRoutePostRoute;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC1yb3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvcG9zdC1yb3V0ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxrQkFBa0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRCxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQTtBQUV2RDs7Ozs7R0FLRztBQUNILFNBQVMseUJBQXlCLENBQUMsTUFBTSxFQUFFLElBQUk7SUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFeEUsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN4RCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFFM0gsTUFBTSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUE7SUFDN0IsTUFBTSxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQTtBQUN6RyxDQUFDO0FBRUQsTUFBTSx1QkFBd0IsU0FBUSxTQUFTO0lBQzdDOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQzdCLEtBQUssRUFBRSxDQUFBO1FBQ1AsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUM7Z0JBQ04sTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFBQztTQUNwRCxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQztRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUVyQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBRXRELDZFQUE2RTtZQUM3RSxJQUFJLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU07WUFFakQseUJBQXlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUU1QyxPQUFPLEVBQUMsUUFBUSxFQUFDLENBQUE7UUFDbkIsQ0FBQztJQUNILENBQUM7Q0FDRjtBQUVELFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0FBRXhELGVBQWUsdUJBQXVCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhc2VSb3V0ZSBmcm9tIFwiLi9iYXNlLXJvdXRlLmpzXCJcbmltcG9ydCBlc2NhcGVTdHJpbmdSZWdleHAgZnJvbSBcImVzY2FwZS1zdHJpbmctcmVnZXhwXCJcbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG4vKipcbiAqIFJ1bnMgYXNzaWduIGFjdGlvbiBhbmQgY29udHJvbGxlci5cbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBwYXJhbXMgLSBSb3V0ZSBwYXJhbXMgb2JqZWN0LlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBSb3V0ZSBuYW1lLlxuICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhc3NpZ25BY3Rpb25BbmRDb250cm9sbGVyKHBhcmFtcywgbmFtZSkge1xuICBjb25zdCBzZWdtZW50cyA9IG5hbWUuc3BsaXQoXCIvXCIpLmZpbHRlcigoc2VnbWVudCkgPT4gc2VnbWVudC5sZW5ndGggPiAwKVxuXG4gIGlmIChzZWdtZW50cy5sZW5ndGggPD0gMSkge1xuICAgIHBhcmFtcy5hY3Rpb24gPSBuYW1lXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBhY3Rpb25TZWdtZW50ID0gc2VnbWVudHNbc2VnbWVudHMubGVuZ3RoIC0gMV1cbiAgY29uc3QgY29udHJvbGxlclN1ZmZpeCA9IHNlZ21lbnRzLnNsaWNlKDAsIC0xKS5qb2luKFwiL1wiKVxuICBjb25zdCBleGlzdGluZ0NvbnRyb2xsZXIgPSB0eXBlb2YgcGFyYW1zLmNvbnRyb2xsZXIgPT09IFwic3RyaW5nXCIgJiYgcGFyYW1zLmNvbnRyb2xsZXIubGVuZ3RoID4gMCA/IHBhcmFtcy5jb250cm9sbGVyIDogbnVsbFxuXG4gIHBhcmFtcy5hY3Rpb24gPSBhY3Rpb25TZWdtZW50XG4gIHBhcmFtcy5jb250cm9sbGVyID0gZXhpc3RpbmdDb250cm9sbGVyID8gYCR7ZXhpc3RpbmdDb250cm9sbGVyfS8ke2NvbnRyb2xsZXJTdWZmaXh9YCA6IGNvbnRyb2xsZXJTdWZmaXhcbn1cblxuY2xhc3MgVmVsb2Npb3VzUm91dGVQb3N0Um91dGUgZXh0ZW5kcyBCYXNlUm91dGUge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MubmFtZSAtIE5hbWUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7bmFtZSwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgc3VwZXIoKVxuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG4gICAgdGhpcy5uYW1lID0gbmFtZVxuICAgIHRoaXMucmVnRXhwID0gbmV3IFJlZ0V4cChgXigke2VzY2FwZVN0cmluZ1JlZ2V4cChuYW1lKX0pKC4qKSRgKVxuICB9XG5cbiAgZ2V0SHVtYW5QYXRocygpIHtcbiAgICByZXR1cm4gW3tcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsIGFjdGlvbjogdGhpcy5uYW1lLCBwYXRoOiB0aGlzLm5hbWV9XG4gICAgXVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbWF0Y2ggd2l0aCBwYXRoLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5wYXJhbXMgLSBQYXJhbWV0ZXJzIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4uL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtcmVxdWVzdC5qc1wiKS5kZWZhdWx0fSBhcmdzLnJlcXVlc3QgLSBSZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybnMge3tyZXN0UGF0aDogc3RyaW5nfSB8IHVuZGVmaW5lZH0gLSBSRVNUIHBhdGggbWV0YWRhdGEgZm9yIHRoaXMgcm91dGUuXG4gICAqL1xuICBtYXRjaFdpdGhQYXRoKHtwYXJhbXMsIHBhdGgsIHJlcXVlc3R9KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCBtYXRjaCA9IHBhdGgubWF0Y2godGhpcy5yZWdFeHApXG5cbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGNvbnN0IFtfYmVnaW5uaWdTbGFzaCwgX21hdGNoZWROYW1lLCByZXN0UGF0aF0gPSBtYXRjaFxuXG4gICAgICAvLyBQcmV2ZW50IHBhcnRpYWwgcHJlZml4IG1hdGNoZXMgKGUuZy4sIFwidXBkYXRlXCIgbWF0Y2hpbmcgXCJ1cGRhdGUtcGFzc3dvcmRcIilcbiAgICAgIGlmIChyZXN0UGF0aCAmJiAhcmVzdFBhdGguc3RhcnRzV2l0aChcIi9cIikpIHJldHVyblxuXG4gICAgICBhc3NpZ25BY3Rpb25BbmRDb250cm9sbGVyKHBhcmFtcywgdGhpcy5uYW1lKVxuXG4gICAgICByZXR1cm4ge3Jlc3RQYXRofVxuICAgIH1cbiAgfVxufVxuXG5CYXNlUm91dGUucmVnaXN0ZXJSb3V0ZVBvc3RUeXBlKFZlbG9jaW91c1JvdXRlUG9zdFJvdXRlKVxuXG5leHBvcnQgZGVmYXVsdCBWZWxvY2lvdXNSb3V0ZVBvc3RSb3V0ZVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC1yb3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvcG9zdC1yb3V0ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxrQkFBa0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRCxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQTtBQUV2RDs7Ozs7R0FLRztBQUNILFNBQVMseUJBQXlCLENBQUMsTUFBTSxFQUFFLElBQUk7SUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFeEUsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN4RCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFFM0gsTUFBTSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUE7SUFDN0IsTUFBTSxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQTtBQUN6RyxDQUFDO0FBRUQsTUFBTSx1QkFBd0IsU0FBUSxTQUFTO0lBQzdDOzs7Ozs7O09BT0c7SUFDSCx5QkFBeUIsR0FBRyxLQUFLLENBQUE7SUFFakM7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsSUFBSSxFQUFFLHlCQUF5QixHQUFHLEtBQUssRUFBRSxHQUFHLFFBQVEsRUFBQztRQUNoRSxLQUFLLEVBQUUsQ0FBQTtRQUNQLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9ELElBQUkseUJBQXlCLEtBQUssSUFBSSxJQUFJLHlCQUF5QixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzlFLE1BQU0sSUFBSSxLQUFLLENBQUMseUVBQXlFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMvSCxDQUFDO1FBRUQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLHlCQUF5QixDQUFBO0lBQzVELENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxDQUFDO2dCQUNOLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQUM7U0FDcEQsQ0FBQTtJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsYUFBYSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUV0RCw2RUFBNkU7WUFDN0UsSUFBSSxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFNO1lBRWpELHlCQUF5QixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFFNUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxDQUFBO1FBQ25CLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtBQUV4RCxlQUFlLHVCQUF1QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBCYXNlUm91dGUgZnJvbSBcIi4vYmFzZS1yb3V0ZS5qc1wiXG5pbXBvcnQgZXNjYXBlU3RyaW5nUmVnZXhwIGZyb20gXCJlc2NhcGUtc3RyaW5nLXJlZ2V4cFwiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcblxuLyoqXG4gKiBSdW5zIGFzc2lnbiBhY3Rpb24gYW5kIGNvbnRyb2xsZXIuXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gcGFyYW1zIC0gUm91dGUgcGFyYW1zIG9iamVjdC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gUm91dGUgbmFtZS5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYXNzaWduQWN0aW9uQW5kQ29udHJvbGxlcihwYXJhbXMsIG5hbWUpIHtcbiAgY29uc3Qgc2VnbWVudHMgPSBuYW1lLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHNlZ21lbnQpID0+IHNlZ21lbnQubGVuZ3RoID4gMClcblxuICBpZiAoc2VnbWVudHMubGVuZ3RoIDw9IDEpIHtcbiAgICBwYXJhbXMuYWN0aW9uID0gbmFtZVxuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgYWN0aW9uU2VnbWVudCA9IHNlZ21lbnRzW3NlZ21lbnRzLmxlbmd0aCAtIDFdXG4gIGNvbnN0IGNvbnRyb2xsZXJTdWZmaXggPSBzZWdtZW50cy5zbGljZSgwLCAtMSkuam9pbihcIi9cIilcbiAgY29uc3QgZXhpc3RpbmdDb250cm9sbGVyID0gdHlwZW9mIHBhcmFtcy5jb250cm9sbGVyID09PSBcInN0cmluZ1wiICYmIHBhcmFtcy5jb250cm9sbGVyLmxlbmd0aCA+IDAgPyBwYXJhbXMuY29udHJvbGxlciA6IG51bGxcblxuICBwYXJhbXMuYWN0aW9uID0gYWN0aW9uU2VnbWVudFxuICBwYXJhbXMuY29udHJvbGxlciA9IGV4aXN0aW5nQ29udHJvbGxlciA/IGAke2V4aXN0aW5nQ29udHJvbGxlcn0vJHtjb250cm9sbGVyU3VmZml4fWAgOiBjb250cm9sbGVyU3VmZml4XG59XG5cbmNsYXNzIFZlbG9jaW91c1JvdXRlUG9zdFJvdXRlIGV4dGVuZHMgQmFzZVJvdXRlIHtcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSB0aGUgcmVzb2x2ZXIgc2tpcHMgdGhlIHJlcXVlc3Qtc2NvcGVkIGNvbnRyb2xsZXIgY29ubmVjdGlvbiBmb3JcbiAgICogdGhpcyByb3V0ZTogdGhlIGFjdGlvbiBydW5zIHdpdGhvdXQgYW4gYW1iaWVudCBgZW5zdXJlQ29ubmVjdGlvbnNgIGNoZWNrb3V0LFxuICAgKiBzbyBhIGxvbmctbGl2ZWQgYWN0aW9uIChzdHJlYW1pbmcgcmVzcG9uc2UsIGxvbmcgd2FpdCkgZG9lcyBub3QgcGluIGEgcG9vbFxuICAgKiBjb25uZWN0aW9uIGZvciBpdHMgd2hvbGUgbGlmZXRpbWUuIEVhY2ggZXhwbGljaXQgYGVuc3VyZUNvbm5lY3Rpb25zYCBjYWxsXG4gICAqIGluc2lkZSB0aGUgYWN0aW9uIHN0aWxsIG9wZW5zIGFuZCByZXR1cm5zIGl0cyBvd24gc2hvcnQtbGl2ZWQgY29ubmVjdGlvbi5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBza2lwQ29udHJvbGxlckNvbm5lY3Rpb25zID0gZmFsc2VcblxuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MubmFtZSAtIE5hbWUuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3Muc2tpcENvbnRyb2xsZXJDb25uZWN0aW9uc10gLSBTa2lwIHRoZSByZXF1ZXN0LXNjb3BlZCBjb250cm9sbGVyIGNvbm5lY3Rpb24gZm9yIHRoaXMgcm91dGUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7bmFtZSwgc2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucyA9IGZhbHNlLCAuLi5yZXN0QXJnc30pIHtcbiAgICBzdXBlcigpXG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcbiAgICB0aGlzLm5hbWUgPSBuYW1lXG4gICAgdGhpcy5yZWdFeHAgPSBuZXcgUmVnRXhwKGBeKCR7ZXNjYXBlU3RyaW5nUmVnZXhwKG5hbWUpfSkoLiopJGApXG4gICAgaWYgKHNraXBDb250cm9sbGVyQ29ubmVjdGlvbnMgIT09IHRydWUgJiYgc2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucyAhPT0gZmFsc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgcG9zdCByb3V0ZSAnc2tpcENvbnRyb2xsZXJDb25uZWN0aW9ucycgdG8gYmUgYSBib29sZWFuLCBnb3Q6ICR7U3RyaW5nKHNraXBDb250cm9sbGVyQ29ubmVjdGlvbnMpfWApXG4gICAgfVxuXG4gICAgdGhpcy5za2lwQ29udHJvbGxlckNvbm5lY3Rpb25zID0gc2tpcENvbnRyb2xsZXJDb25uZWN0aW9uc1xuICB9XG5cbiAgZ2V0SHVtYW5QYXRocygpIHtcbiAgICByZXR1cm4gW3tcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsIGFjdGlvbjogdGhpcy5uYW1lLCBwYXRoOiB0aGlzLm5hbWV9XG4gICAgXVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbWF0Y2ggd2l0aCBwYXRoLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5wYXJhbXMgLSBQYXJhbWV0ZXJzIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4uL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtcmVxdWVzdC5qc1wiKS5kZWZhdWx0fSBhcmdzLnJlcXVlc3QgLSBSZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybnMge3tyZXN0UGF0aDogc3RyaW5nfSB8IHVuZGVmaW5lZH0gLSBSRVNUIHBhdGggbWV0YWRhdGEgZm9yIHRoaXMgcm91dGUuXG4gICAqL1xuICBtYXRjaFdpdGhQYXRoKHtwYXJhbXMsIHBhdGgsIHJlcXVlc3R9KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCBtYXRjaCA9IHBhdGgubWF0Y2godGhpcy5yZWdFeHApXG5cbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGNvbnN0IFtfYmVnaW5uaWdTbGFzaCwgX21hdGNoZWROYW1lLCByZXN0UGF0aF0gPSBtYXRjaFxuXG4gICAgICAvLyBQcmV2ZW50IHBhcnRpYWwgcHJlZml4IG1hdGNoZXMgKGUuZy4sIFwidXBkYXRlXCIgbWF0Y2hpbmcgXCJ1cGRhdGUtcGFzc3dvcmRcIilcbiAgICAgIGlmIChyZXN0UGF0aCAmJiAhcmVzdFBhdGguc3RhcnRzV2l0aChcIi9cIikpIHJldHVyblxuXG4gICAgICBhc3NpZ25BY3Rpb25BbmRDb250cm9sbGVyKHBhcmFtcywgdGhpcy5uYW1lKVxuXG4gICAgICByZXR1cm4ge3Jlc3RQYXRofVxuICAgIH1cbiAgfVxufVxuXG5CYXNlUm91dGUucmVnaXN0ZXJSb3V0ZVBvc3RUeXBlKFZlbG9jaW91c1JvdXRlUG9zdFJvdXRlKVxuXG5leHBvcnQgZGVmYXVsdCBWZWxvY2lvdXNSb3V0ZVBvc3RSb3V0ZVxuIl19
@@ -43,10 +43,11 @@ export default class VelociousRoutesResolver {
43
43
  * Runs match path with routes.
44
44
  * @param {import("./base-route.js").default} route - Route.
45
45
  * @param {string} path - Path.
46
- * @returns {{restPath: string} | undefined} - REST path metadata for this route.
46
+ * @returns {{restPath: string, skipControllerConnections?: boolean} | undefined} - REST path metadata for this route, including the matched leaf route's options.
47
47
  */
48
48
  matchPathWithRoutes(route: import("./base-route.js").default, path: string): {
49
49
  restPath: string;
50
+ skipControllerConnections?: boolean;
50
51
  } | undefined;
51
52
  /**
52
53
  * Runs resolve route resolver hooks.
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/routes/resolver.js"],"names":[],"mappings":"AAOA,OAAO,MAAM,MAAM,cAAc,CAAA;AAajC,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAkBnC,aAAa;IAGb,MAAM;;;IAGN,OAAO;IACP,QAAQ;IAIR,kBAAkB;IA6BlB,wBAAwB;IAzD/B;;oCAEgC;IAChC,MAAM,EADI,MAAM,GAAG,SAAS,CACtB;IAEN;;;;;;OAMG;IACH,YAAY,EAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAC,EAJ3C;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;QAAkE,QAAQ,EAAlE,OAAO,mCAAmC,EAAE,OAAO,CAC7D;KAC6C,EAkB7C;IAED;;;OAGG;IACH,eAAe,IAFF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBlC;IAEK,OAAO,kBAiLZ;IAED;;;;;OAKG;IACG,sBAAsB,CAAC,EAAC,cAAc,EAAC,EAH1C;QAAqB,cAAc,EAA3B,MAAM,CACd;KAE0C,GAFhC,OAAO,CAAC,cAAc,kBAAkB,EAAE,OAAO,CAAC,CAQ9D;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAJd,OAAO,iBAAiB,EAAE,OAIZ,EAAE,IAAI,EAHpB,MAGoB,GAFlB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAiC1C;IAED;;;;;;OAMG;IACG,yBAAyB,CAAC,WAAW,EALhC,MAKgC,EAAE,OAAO,GAHjD;QAA0B,sBAAsB,AAAhD,CACA,EADQ,OAAO,CACf;KAEsD,GAF5C,OAAO,CAAC,OAAO,2BAA2B,EAAE,uBAAuB,GAAG,IAAI,CAAC,CAgEvF;IAED;;;;;;;OAOG;IACG,eAAe,CAAC,EAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAC,EALvD;QAAqB,MAAM,EAAnB,MAAM,CACd;QAAwD,eAAe,EAA/D,cAAc,kBAAkB,EAAE,OAAO,CACjD;QAA+B,SAAS,EAAhC,OAAO,GAAG,MAAM,CACxB;KAEuD,GAF7C,OAAO,CAAC,IAAI,CAAC,CA0BzB;IAED;;;OAGG;IACH,UAAU,IAFG,OAAO,GAAG,MAAM,CAI5B;IAED;;;;;OAKG;IACG,kBAAkB,CAJX,CAAC,EAIW,QAAQ,EAHtB,MAAM,OAAO,CAAC,CAAC,CAGO,GAFpB,OAAO,CAAC,CAAC,CAAC,CAQtB;IAED;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAC,eAAe,EAAE,SAAS,EAAC,EAJlD;QAAwD,eAAe,EAA/D,cAAc,kBAAkB,EAAE,OAAO,CACjD;QAA+B,SAAS,EAAhC,OAAO,GAAG,MAAM,CACxB;KAEkD,GAFxC,IAAI,CAShB;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAHV,IAGU,GAFR,MAAM,CAsBlB;IAED;;;;OAIG;IACH,yBAAyB,CAAC,KAAK,EAHpB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGR,GAFlB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAMzC;IAED;;;;OAIG;IACH,wBAAwB,CAAC,KAAK,EAHnB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGT,GAFjB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CA6BzC;CACF"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/routes/resolver.js"],"names":[],"mappings":"AAOA,OAAO,MAAM,MAAM,cAAc,CAAA;AAajC,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAkBnC,aAAa;IAGb,MAAM;;;IAGN,OAAO;IACP,QAAQ;IAIR,kBAAkB;IA6BlB,wBAAwB;IAzD/B;;oCAEgC;IAChC,MAAM,EADI,MAAM,GAAG,SAAS,CACtB;IAEN;;;;;;OAMG;IACH,YAAY,EAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAC,EAJ3C;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;QAAgI,OAAO,EAA/H,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,CACzH;QAAkE,QAAQ,EAAlE,OAAO,mCAAmC,EAAE,OAAO,CAC7D;KAC6C,EAkB7C;IAED;;;OAGG;IACH,eAAe,IAFF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBlC;IAEK,OAAO,kBAmLZ;IAED;;;;;OAKG;IACG,sBAAsB,CAAC,EAAC,cAAc,EAAC,EAH1C;QAAqB,cAAc,EAA3B,MAAM,CACd;KAE0C,GAFhC,OAAO,CAAC,cAAc,kBAAkB,EAAE,OAAO,CAAC,CAQ9D;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAJd,OAAO,iBAAiB,EAAE,OAIZ,EAAE,IAAI,EAHpB,MAGoB,GAFlB;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,SAAS,CAiC/E;IAED;;;;;;OAMG;IACG,yBAAyB,CAAC,WAAW,EALhC,MAKgC,EAAE,OAAO,GAHjD;QAA0B,sBAAsB,AAAhD,CACA,EADQ,OAAO,CACf;KAEsD,GAF5C,OAAO,CAAC,OAAO,2BAA2B,EAAE,uBAAuB,GAAG,IAAI,CAAC,CAgEvF;IAED;;;;;;;OAOG;IACG,eAAe,CAAC,EAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAC,EALvD;QAAqB,MAAM,EAAnB,MAAM,CACd;QAAwD,eAAe,EAA/D,cAAc,kBAAkB,EAAE,OAAO,CACjD;QAA+B,SAAS,EAAhC,OAAO,GAAG,MAAM,CACxB;KAEuD,GAF7C,OAAO,CAAC,IAAI,CAAC,CA0BzB;IAED;;;OAGG;IACH,UAAU,IAFG,OAAO,GAAG,MAAM,CAI5B;IAED;;;;;OAKG;IACG,kBAAkB,CAJX,CAAC,EAIW,QAAQ,EAHtB,MAAM,OAAO,CAAC,CAAC,CAGO,GAFpB,OAAO,CAAC,CAAC,CAAC,CAQtB;IAED;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAC,eAAe,EAAE,SAAS,EAAC,EAJlD;QAAwD,eAAe,EAA/D,cAAc,kBAAkB,EAAE,OAAO,CACjD;QAA+B,SAAS,EAAhC,OAAO,GAAG,MAAM,CACxB;KAEkD,GAFxC,IAAI,CAShB;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAHV,IAGU,GAFR,MAAM,CAsBlB;IAED;;;;OAIG;IACH,yBAAyB,CAAC,KAAK,EAHpB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGR,GAFlB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAMzC;IAED;;;;OAIG;IACH,wBAAwB,CAAC,KAAK,EAHnB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAGT,GAFjB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CA6BzC;CACF"}