velocious 1.0.124 → 1.0.126

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.
Files changed (61) hide show
  1. package/build/routes/built-in/errors/not-found.ejs +1 -0
  2. package/build/src/application.d.ts +7 -21
  3. package/build/src/application.d.ts.map +1 -1
  4. package/build/src/application.js +8 -22
  5. package/build/src/cli/base-command.d.ts +10 -4
  6. package/build/src/cli/base-command.d.ts.map +1 -1
  7. package/build/src/cli/base-command.js +12 -5
  8. package/build/src/cli/commands/routes.d.ts +5 -0
  9. package/build/src/cli/commands/routes.d.ts.map +1 -0
  10. package/build/src/cli/commands/routes.js +7 -0
  11. package/build/src/cli/index.d.ts +29 -6
  12. package/build/src/cli/index.d.ts.map +1 -1
  13. package/build/src/cli/index.js +18 -8
  14. package/build/src/configuration.d.ts +15 -36
  15. package/build/src/configuration.d.ts.map +1 -1
  16. package/build/src/configuration.js +16 -37
  17. package/build/src/controller.d.ts +5 -5
  18. package/build/src/controller.d.ts.map +1 -1
  19. package/build/src/controller.js +4 -4
  20. package/build/src/database/record/instance-relationships/has-many.d.ts +3 -3
  21. package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
  22. package/build/src/database/record/instance-relationships/has-many.js +12 -8
  23. package/build/src/environment-handlers/base.d.ts +6 -0
  24. package/build/src/environment-handlers/base.d.ts.map +1 -1
  25. package/build/src/environment-handlers/base.js +11 -2
  26. package/build/src/environment-handlers/node/cli/commands/routes.d.ts +14 -0
  27. package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -0
  28. package/build/src/environment-handlers/node/cli/commands/routes.js +35 -0
  29. package/build/src/environment-handlers/node.d.ts +5 -0
  30. package/build/src/environment-handlers/node.d.ts.map +1 -1
  31. package/build/src/environment-handlers/node.js +9 -1
  32. package/build/src/http-server/client/params-to-object.d.ts +4 -1
  33. package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
  34. package/build/src/http-server/client/params-to-object.js +4 -1
  35. package/build/src/http-server/client/request-parser.d.ts +18 -11
  36. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  37. package/build/src/http-server/client/request-parser.js +14 -7
  38. package/build/src/http-server/client/request.d.ts +1 -1
  39. package/build/src/http-server/client/request.d.ts.map +1 -1
  40. package/build/src/http-server/index.d.ts +14 -8
  41. package/build/src/http-server/index.d.ts.map +1 -1
  42. package/build/src/http-server/index.js +13 -7
  43. package/build/src/http-server/server-client.d.ts +4 -4
  44. package/build/src/http-server/server-client.d.ts.map +1 -1
  45. package/build/src/http-server/server-client.js +4 -4
  46. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  47. package/build/src/http-server/worker-handler/index.js +4 -2
  48. package/build/src/routes/base-route.d.ts +7 -0
  49. package/build/src/routes/base-route.d.ts.map +1 -1
  50. package/build/src/routes/base-route.js +8 -1
  51. package/build/src/routes/get-route.d.ts.map +1 -1
  52. package/build/src/routes/get-route.js +4 -1
  53. package/build/src/routes/namespace-route.d.ts.map +1 -1
  54. package/build/src/routes/namespace-route.js +4 -1
  55. package/build/src/routes/post-route.d.ts.map +1 -1
  56. package/build/src/routes/post-route.js +4 -1
  57. package/build/src/routes/resource-route.d.ts.map +1 -1
  58. package/build/src/routes/resource-route.js +4 -1
  59. package/build/src/routes/root-route.d.ts.map +1 -1
  60. package/build/src/routes/root-route.js +4 -1
  61. package/package.json +11 -5
@@ -0,0 +1,35 @@
1
+ import Application from "../../../../application.js";
2
+ import BaseCommand from "../../../../cli/base-command.js";
3
+ export default class VelociousCliCommandsServer extends BaseCommand {
4
+ output = "";
5
+ async execute() {
6
+ const application = new Application({
7
+ configuration: this.getConfiguration(),
8
+ type: "server"
9
+ });
10
+ await application.initialize();
11
+ const routes = this.getConfiguration().getRoutes();
12
+ this.printRoutes(routes.rootRoute);
13
+ return { output: this.output };
14
+ }
15
+ /**
16
+ * @param {import("../../../../routes/base-route.js").default} route
17
+ * @returns {void}
18
+ */
19
+ printRoutes(route, level = 0) {
20
+ const prefix = " ".repeat(level);
21
+ this.log(`${prefix}${route.getHumanPath()}`);
22
+ for (const subRoute of route.getSubRoutes()) {
23
+ this.printRoutes(subRoute, level + 1);
24
+ }
25
+ }
26
+ log(content) {
27
+ if (this.cli.getTesting()) {
28
+ this.output += `${content}\n`;
29
+ }
30
+ else {
31
+ console.log(content);
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Vudmlyb25tZW50LWhhbmRsZXJzL25vZGUvY2xpL2NvbW1hbmRzL3JvdXRlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSw0QkFBNEIsQ0FBQTtBQUNwRCxPQUFPLFdBQVcsTUFBTSxpQ0FBaUMsQ0FBQTtBQUV6RCxNQUFNLENBQUMsT0FBTyxPQUFPLDBCQUEyQixTQUFRLFdBQVc7SUFDakUsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUVYLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDbEMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN0QyxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQTtRQUNGLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBRWxELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWxDLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFBO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDakMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRTVDLEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQU87UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxJQUFJLENBQUE7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXBwbGljYXRpb24gZnJvbSBcIi4uLy4uLy4uLy4uL2FwcGxpY2F0aW9uLmpzXCJcbmltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0NsaUNvbW1hbmRzU2VydmVyIGV4dGVuZHMgQmFzZUNvbW1hbmR7XG4gIG91dHB1dCA9IFwiXCJcblxuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gbmV3IEFwcGxpY2F0aW9uKHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLFxuICAgICAgdHlwZTogXCJzZXJ2ZXJcIlxuICAgIH0pXG4gICAgYXdhaXQgYXBwbGljYXRpb24uaW5pdGlhbGl6ZSgpXG4gICAgY29uc3Qgcm91dGVzID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0Um91dGVzKClcblxuICAgIHRoaXMucHJpbnRSb3V0ZXMocm91dGVzLnJvb3RSb3V0ZSlcblxuICAgIHJldHVybiB7b3V0cHV0OiB0aGlzLm91dHB1dH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uLy4uLy4uL3JvdXRlcy9iYXNlLXJvdXRlLmpzXCIpLmRlZmF1bHR9IHJvdXRlXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgcHJpbnRSb3V0ZXMocm91dGUsIGxldmVsID0gMCkge1xuICAgIGNvbnN0IHByZWZpeCA9IFwiICBcIi5yZXBlYXQobGV2ZWwpXG4gICAgdGhpcy5sb2coYCR7cHJlZml4fSR7cm91dGUuZ2V0SHVtYW5QYXRoKCl9YClcblxuICAgIGZvciAoY29uc3Qgc3ViUm91dGUgb2Ygcm91dGUuZ2V0U3ViUm91dGVzKCkpIHtcbiAgICAgIHRoaXMucHJpbnRSb3V0ZXMoc3ViUm91dGUsIGxldmVsICsgMSlcbiAgICB9XG4gIH1cblxuICBsb2coY29udGVudCkge1xuICAgIGlmICh0aGlzLmNsaS5nZXRUZXN0aW5nKCkpIHtcbiAgICAgIHRoaXMub3V0cHV0ICs9IGAke2NvbnRlbnR9XFxuYFxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhjb250ZW50KVxuICAgIH1cbiAgfVxufVxuIl19
@@ -25,6 +25,11 @@ export default class VelociousEnvironmentHandlerNode extends Base {
25
25
  * @returns {Promise<any>}
26
26
  */
27
27
  cliCommandsGenerateModel(command: import("../cli/base-command.js").default): Promise<any>;
28
+ /**
29
+ * @param {import("../cli/base-command.js").default} command
30
+ * @returns {Promise<any>}
31
+ */
32
+ cliCommandsRoutes(command: import("../cli/base-command.js").default): Promise<any>;
28
33
  /**
29
34
  * @param {import("../cli/base-command.js").default} command
30
35
  * @returns {Promise<any>}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/environment-handlers/node.js"],"names":[],"mappings":"AAgBA;IACE,sEAAsE;IACtE,qBADW,OAAO,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,CACnC;IAa/B;;;SAyBC;IAUD;;;OAGG;IACH,sCAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,qCAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,uCAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,kCAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,2BAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,yBAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAwEG,uBAA6D;IAsBjE;;;OAGG;IACH,2BAHW,MAAM,GACJ,OAAO,CAAC,OAAO,gCAAgC,EAAE,OAAO,CAAC,CAUrE;IAED,+BAKC;CACF;iBAhOgB,WAAW"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/environment-handlers/node.js"],"names":[],"mappings":"AAiBA;IACE,sEAAsE;IACtE,qBADW,OAAO,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,CACnC;IAa/B;;;SAyBC;IAUD;;;OAGG;IACH,sCAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,qCAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,uCAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,kCAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,2BAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,2BAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,yBAHW,OAAO,wBAAwB,EAAE,OAAO,GACtC,OAAO,CAAC,GAAG,CAAC,CAIxB;IAwEG,uBAA6D;IAsBjE;;;OAGG;IACH,2BAHW,MAAM,GACJ,OAAO,CAAC,OAAO,gCAAgC,EAAE,OAAO,CAAC,CAUrE;IAED,+BAKC;CACF;iBAzOgB,WAAW"}
@@ -5,6 +5,7 @@ import CliCommandsInit from "./node/cli/commands/init.js";
5
5
  import CliCommandsGenerateBaseModels from "./node/cli/commands/generate/base-models.js";
6
6
  import CliCommandsGenerateMigration from "./node/cli/commands/generate/migration.js";
7
7
  import CliCommandsGenerateModel from "./node/cli/commands/generate/model.js";
8
+ import CliCommandsRoutes from "./node/cli/commands/routes.js";
8
9
  import CliCommandsServer from "./node/cli/commands/server.js";
9
10
  import CliCommandsTest from "./node/cli/commands/test.js";
10
11
  import { dirname } from "path";
@@ -81,6 +82,13 @@ export default class VelociousEnvironmentHandlerNode extends Base {
81
82
  async cliCommandsGenerateModel(command) {
82
83
  return await this.forwardCommand(command, CliCommandsGenerateModel);
83
84
  }
85
+ /**
86
+ * @param {import("../cli/base-command.js").default} command
87
+ * @returns {Promise<any>}
88
+ */
89
+ async cliCommandsRoutes(command) {
90
+ return await this.forwardCommand(command, CliCommandsRoutes);
91
+ }
84
92
  /**
85
93
  * @param {import("../cli/base-command.js").default} command
86
94
  * @returns {Promise<any>}
@@ -186,4 +194,4 @@ export default class VelociousEnvironmentHandlerNode extends Base {
186
194
  return basePath;
187
195
  }
188
196
  }
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFDNUIsT0FBTywyQkFBMkIsTUFBTSwwQ0FBMEMsQ0FBQTtBQUNsRixPQUFPLGVBQWUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN6RCxPQUFPLDZCQUE2QixNQUFNLDZDQUE2QyxDQUFBO0FBQ3ZGLE9BQU8sNEJBQTRCLE1BQU0sMkNBQTJDLENBQUE7QUFDcEYsT0FBTyx3QkFBd0IsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLGlCQUFpQixNQUFNLCtCQUErQixDQUFBO0FBQzdELE9BQU8sZUFBZSxNQUFNLDZCQUE2QixDQUFBO0FBQ3pELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUE7QUFDNUIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLEtBQUssQ0FBQTtBQUNqQyxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDNUIsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBRXZCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sK0JBQWdDLFNBQVEsSUFBSTtJQUMvRCxzRUFBc0U7SUFDdEUsbUJBQW1CLEdBQUcsU0FBUyxDQUFBO0lBRS9COztPQUVHO0lBQ0gsS0FBSyxDQUFDLFlBQVk7UUFDaEIsSUFBSSxDQUFDLG1CQUFtQixLQUFLLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7UUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFeEUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFB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QUFDLENBQUE7UUFDakQsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUVsRSxPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNEZXN0cm95TWlncmF0aW9uIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2Rlc3Ryb3kvbWlncmF0aW9uLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc0luaXQgZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvaW5pdC5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNHZW5lcmF0ZUJhc2VNb2RlbHMgZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvYmFzZS1tb2RlbHMuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzR2VuZXJhdGVNaWdyYXRpb24gZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvbWlncmF0aW9uLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc0dlbmVyYXRlTW9kZWwgZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvbW9kZWwuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzU2VydmVyIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL3NlcnZlci5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNUZXN0IGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL3Rlc3QuanNcIlxuaW1wb3J0IHtkaXJuYW1lfSBmcm9tIFwicGF0aFwiXG5pbXBvcnQge2ZpbGVVUkxUb1BhdGh9IGZyb20gXCJ1cmxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRW52aXJvbm1lbnRIYW5kbGVyTm9kZSBleHRlbmRzIEJhc2V7XG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLkNvbW1hbmRGaWxlT2JqZWN0VHlwZVtdIHwgdW5kZWZpbmVkfSAqL1xuICBfZmluZENvbW1hbmRzUmVzdWx0ID0gdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PGltcG9ydChcIi4vYmFzZS5qc1wiKS5Db21tYW5kRmlsZU9iamVjdFR5cGU+Pn1cbiAgICovXG4gIGFzeW5jIGZpbmRDb21tYW5kcygpIHtcbiAgICB0aGlzLl9maW5kQ29tbWFuZHNSZXN1bHQgfHw9IGF3YWl0IHRoaXMuX2FjdHVhbEZpbmRDb21tYW5kcygpXG5cbiAgICBpZiAoIXRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdCkgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGdldCBjb21tYW5kc1wiKVxuXG4gICAgcmV0dXJuIHRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdFxuICB9XG5cbiAgYXN5bmMgX2FjdHVhbEZpbmRDb21tYW5kcygpIHtcbiAgICBjb25zdCBiYXNlUGF0aCA9IGF3YWl0IHRoaXMuZ2V0QmFzZVBhdGgoKVxuICAgIGNvbnN0IGNvbW1hbmRGaWxlcyA9IGZzLmdsb2IoYCR7YmFzZVBhdGh9L3NyYy9jbGkvY29tbWFuZHMvKiovKi5qc2ApXG4gICAgY29uc3QgY29tbWFuZHMgPSBbXVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBhRmlsZVBhdGggb2YgY29tbWFuZEZpbGVzKSB7XG4gICAgICBjb25zdCBhRmlsZVBhdGhQYXJ0cyA9IGFGaWxlUGF0aC5zcGxpdChcIi9cIilcbiAgICAgIGNvbnN0IGNvbW1hbmRQYXRoTG9jYXRpb24gPSBhRmlsZVBhdGhQYXJ0cy5pbmRleE9mKFwiY29tbWFuZHNcIikgKyAxXG4gICAgICBjb25zdCBsYXN0UGFydCA9IGFGaWxlUGF0aFBhcnRzW2FGaWxlUGF0aFBhcnRzLmxlbmd0aCAtIDFdXG4gICAgICBsZXQgbmFtZSwgcGF0aHNcblxuICAgICAgaWYgKGxhc3RQYXJ0ID09IFwiaW5kZXguanNcIikge1xuICAgICAgICBuYW1lID0gYUZpbGVQYXRoUGFydHNbYUZpbGVQYXRoUGFydHMubGVuZ3RoIC0gMl1cbiAgICAgICAgcGF0aHMgPSBhRmlsZVBhdGhQYXJ0cy5zbGljZShjb21tYW5kUGF0aExvY2F0aW9uLCAtMilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5hbWUgPSBsYXN0UGFydC5yZXBsYWNlKFwiLmpzXCIsIFwiXCIpXG4gICAgICAgIHBhdGhzID0gYUZpbGVQYXRoUGFydHMuc2xpY2UoY29tbWFuZFBhdGhMb2NhdGlvbiwgLTEpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbW1hbmROYW1lID0gYCR7cGF0aHMuam9pbihcIjpcIil9JHtwYXRocy5sZW5ndGggPiAwID8gXCI6XCIgOiBcIlwifSR7bmFtZX1gXG5cbiAgICAgIGNvbW1hbmRzLnB1c2goe25hbWU6IGNvbW1hbmROYW1lLCBmaWxlOiBhRmlsZVBhdGh9KVxuICAgIH1cblxuICAgIHJldHVybiBjb21tYW5kc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNJbml0KGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc0luaXQpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzTWlncmF0aW9uR2VuZXJhdGUoY29tbWFuZCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENsaUNvbW1hbmRzR2VuZXJhdGVNaWdyYXRpb24pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzTWlncmF0aW9uRGVzdHJveShjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNEZXN0cm95TWlncmF0aW9uKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc0dlbmVyYXRlQmFzZU1vZGVscyhjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNHZW5lcmF0ZUJhc2VNb2RlbHMpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzR2VuZXJhdGVNb2RlbChjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNHZW5lcmF0ZU1vZGVsKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc1NlcnZlcihjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNTZXJ2ZXIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzVGVzdChjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNUZXN0KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGFyZ3MuY29tbWFuZFBhcnRzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHR5cGVvZiBpbXBvcnQgKFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0Pn1cbiAgICovXG4gIGFzeW5jIHJlcXVpcmVDb21tYW5kKHtjb21tYW5kUGFydHN9KSB7XG4gICAgY29uc3QgY29tbWFuZHMgPSBhd2FpdCB0aGlzLmZpbmRDb21tYW5kcygpXG4gICAgY29uc3QgY29tbWFuZCA9IGNvbW1hbmRzLmZpbmQoKGFDb21tYW5kKSA9PiBhQ29tbWFuZC5uYW1lID09PSBjb21tYW5kUGFydHMuam9pbihcIjpcIikpXG5cbiAgICBpZiAoIWNvbW1hbmQpIHtcbiAgICAgIGNvbnN0IHBvc3NpYmxlQ29tbWFuZHMgPSBjb21tYW5kcy5tYXAoYUNvbW1hbmQgPT4gYUNvbW1hbmQubmFtZSlcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvbW1hbmQ6ICR7Y29tbWFuZFBhcnRzLmpvaW4oXCI6XCIpfSB3aGljaCBzaG91bGQgaGF2ZSBiZWVuIG9uZSBvZjogJHtwb3NzaWJsZUNvbW1hbmRzLnNvcnQoKS5qb2luKFwiLCBcIil9YClcbiAgICB9XG5cbiAgICBjb25zdCBjb21tYW5kQ2xhc3NJbXBvcnQgPSBhd2FpdCBpbXBvcnQoY29tbWFuZC5maWxlKVxuICAgIGNvbnN0IENvbW1hbmRDbGFzcyA9IGNvbW1hbmRDbGFzc0ltcG9ydC5kZWZhdWx0XG5cbiAgICByZXR1cm4gQ29tbWFuZENsYXNzXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8aW1wb3J0KFwiLi9iYXNlLmpzXCIpLk1pZ3JhdGlvbk9iamVjdFR5cGU+Pn1cbiAgICovXG4gIGFzeW5jIGZpbmRNaWdyYXRpb25zKCkge1xuICAgIGNvbnN0IG1pZ3JhdGlvbnNQYXRoID0gYCR7dGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0RGlyZWN0b3J5KCl9L3NyYy9kYXRhYmFzZS9taWdyYXRpb25zYFxuICAgIGNvbnN0IGdsb2IgPSBhd2FpdCBmcy5nbG9iKGAke21pZ3JhdGlvbnNQYXRofS8qKi8qLmpzYClcbiAgICBsZXQgZmlsZXMgPSBbXVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBmdWxsUGF0aCBvZiBnbG9iKSB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgcGF0aC5iYXNlbmFtZShmdWxsUGF0aClcblxuICAgICAgY29uc3QgbWF0Y2ggPSBmaWxlLm1hdGNoKC9eKFxcZHsxNH0pLSguKylcXC5qcyQvKVxuXG4gICAgICBpZiAoIW1hdGNoKSBjb250aW51ZVxuXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2VJbnQobWF0Y2hbMV0pXG4gICAgICBjb25zdCBtaWdyYXRpb25OYW1lID0gbWF0Y2hbMl1cbiAgICAgIGNvbnN0IG1pZ3JhdGlvbkNsYXNzTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobWlncmF0aW9uTmFtZS5yZXBsYWNlQWxsKFwiLVwiLCBcIl9cIikpXG5cbiAgICAgIGZpbGVzLnB1c2goe1xuICAgICAgICBmaWxlLFxuICAgICAgICBmdWxsUGF0aDogYCR7bWlncmF0aW9uc1BhdGh9LyR7ZmlsZX1gLFxuICAgICAgICBkYXRlLFxuICAgICAgICBtaWdyYXRpb25DbGFzc05hbWVcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZmlsZXMgPSBmaWxlcy5zb3J0KChtaWdyYXRpb24xLCBtaWdyYXRpb24yKSA9PiBtaWdyYXRpb24xLmRhdGUgLSBtaWdyYXRpb24yLmRhdGUpXG5cbiAgICByZXR1cm4gZmlsZXNcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9yb3V0ZXMvaW5kZXguanNcIikuZGVmYXVsdD59XG4gICAqL1xuICBhc3luYyBpbXBvcnRBcHBsaWNhdGlvblJvdXRlcygpIHtcbiAgICBjb25zdCByb3V0ZXNJbXBvcnQgPSBhd2FpdCBpbXBvcnQoYCR7dGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0RGlyZWN0b3J5KCl9L3NyYy9jb25maWcvcm91dGVzLmpzYClcblxuICAgIHJldHVybiByb3V0ZXNJbXBvcnQuZGVmYXVsdFxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59XG4gICAqL1xuICBhc3luYyBnZXRWZWxvY2lvdXNQYXRoKCkge1xuICAgIGlmICghdGhpcy5fdmVsb2Npb3VzUGF0aCkge1xuICAgICAgY29uc3QgX19maWxlbmFtZSA9IGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKVxuICAgICAgY29uc3QgX19kaXJuYW1lID0gZGlybmFtZShfX2ZpbGVuYW1lKVxuXG4gICAgICB0aGlzLl92ZWxvY2lvdXNQYXRoID0gYXdhaXQgZnMucmVhbHBhdGgoYCR7X19kaXJuYW1lfS8uLi8uLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3ZlbG9jaW91c1BhdGhcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSB0ZXN0RmlsZXNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBpbXBvcnRUZXN0RmlsZXModGVzdEZpbGVzKSB7XG4gICAgZm9yIChjb25zdCB0ZXN0RmlsZSBvZiB0ZXN0RmlsZXMpIHtcbiAgICAgIGF3YWl0IGltcG9ydCh0ZXN0RmlsZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBpbXBvcnRUZXN0aW5nQ29uZmlnUGF0aCgpIHtcbiAgICBjb25zdCB0ZXN0aW5nQ29uZmlnUGF0aCA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldFRlc3RpbmcoKVxuXG4gICAgYXdhaXQgaW1wb3J0KHRlc3RpbmdDb25maWdQYXRoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kYXRhYmFzZS9taWdyYXRpb24vaW5kZXguanNcIikuZGVmYXVsdD59XG4gICAqL1xuICBhc3luYyByZXF1aXJlTWlncmF0aW9uKGZpbGVQYXRoKSB7XG4gICAgY29uc3QgbWlncmF0aW9uSW1wb3J0ID0gYXdhaXQgaW1wb3J0KGZpbGVQYXRoKVxuICAgIGNvbnN0IG1pZ3JhdGlvbkltcG9ydERlZmF1bHQgPSBtaWdyYXRpb25JbXBvcnQuZGVmYXVsdFxuXG4gICAgaWYgKCFtaWdyYXRpb25JbXBvcnREZWZhdWx0KSB0aHJvdyBuZXcgRXJyb3IoXCJNaWdyYXRpb24gZmlsZSBtdXN0IGV4cG9ydCBhIGRlZmF1bHQgbWlncmF0aW9uIGNsYXNzXCIpXG4gICAgaWYgKHR5cGVvZiBtaWdyYXRpb25JbXBvcnREZWZhdWx0ICE9PSBcImZ1bmN0aW9uXCIpIHRocm93IG5ldyBFcnJvcihcIk1pZ3JhdGlvbiBkZWZhdWx0IGV4cG9ydCBpc24ndCBhIGZ1bmN0aW9uIChzaG91bGQgYmUgYSBjbGFzcyB3aGljaCBpcyBhIGZ1bmN0aW9uIGluIEpTKVwiKVxuXG4gICAgcmV0dXJuIG1pZ3JhdGlvbkltcG9ydERlZmF1bHRcbiAgfVxuXG4gIGFzeW5jIGdldEJhc2VQYXRoKCkge1xuICAgIGNvbnN0IF9fZmlsZW5hbWUgPSBmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybClcbiAgICBjb25zdCBiYXNlUGF0aCA9IGF3YWl0IGZzLnJlYWxwYXRoKGAke2Rpcm5hbWUoX19maWxlbmFtZSl9Ly4uLy4uYClcblxuICAgIHJldHVybiBiYXNlUGF0aFxuICB9XG59XG4iXX0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFDNUIsT0FBTywyQkFBMkIsTUFBTSwwQ0FBMEMsQ0FBQTtBQUNsRixPQUFPLGVBQWUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN6RCxPQUFPLDZCQUE2QixNQUFNLDZDQUE2QyxDQUFBO0FBQ3ZGLE9BQU8sNEJBQTRCLE1BQU0sMkNBQTJDLENBQUE7QUFDcEYsT0FBTyx3QkFBd0IsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLGlCQUFpQixNQUFNLCtCQUErQixDQUFBO0FBQzdELE9BQU8saUJBQWlCLE1BQU0sK0JBQStCLENBQUE7QUFDN0QsT0FBTyxlQUFlLE1BQU0sNkJBQTZCLENBQUE7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sS0FBSyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM1QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFFdkIsTUFBTSxDQUFDLE9BQU8sT0FBTywrQkFBZ0MsU0FBUSxJQUFJO0lBQy9ELHNFQUFzRTtJQUN0RSxtQkFBbUIsR0FBRyxTQUFTLENBQUE7SUFFL0I7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEtBQUssTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtRQUU3RCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUV4RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIs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O1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RkFBeUYsQ0FBQyxDQUFBO1FBRTVKLE9BQU8sc0JBQXNCLENBQUE7SUFDL0IsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakQsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUVsRSxPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNEZXN0cm95TWlncmF0aW9uIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2Rlc3Ryb3kvbWlncmF0aW9uLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc0luaXQgZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvaW5pdC5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNHZW5lcmF0ZUJhc2VNb2RlbHMgZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvYmFzZS1tb2RlbHMuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzR2VuZXJhdGVNaWdyYXRpb24gZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvbWlncmF0aW9uLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc0dlbmVyYXRlTW9kZWwgZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvbW9kZWwuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzUm91dGVzIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL3JvdXRlcy5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNTZXJ2ZXIgZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvc2VydmVyLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc1Rlc3QgZnJvbSBcIi4vbm9kZS9jbGkvY29tbWFuZHMvdGVzdC5qc1wiXG5pbXBvcnQge2Rpcm5hbWV9IGZyb20gXCJwYXRoXCJcbmltcG9ydCB7ZmlsZVVSTFRvUGF0aH0gZnJvbSBcInVybFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzL3Byb21pc2VzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNFbnZpcm9ubWVudEhhbmRsZXJOb2RlIGV4dGVuZHMgQmFzZXtcbiAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuL2Jhc2UuanNcIikuQ29tbWFuZEZpbGVPYmplY3RUeXBlW10gfCB1bmRlZmluZWR9ICovXG4gIF9maW5kQ29tbWFuZHNSZXN1bHQgPSB1bmRlZmluZWRcblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8aW1wb3J0KFwiLi9iYXNlLmpzXCIpLkNvbW1hbmRGaWxlT2JqZWN0VHlwZT4+fVxuICAgKi9cbiAgYXN5bmMgZmluZENvbW1hbmRzKCkge1xuICAgIHRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdCB8fD0gYXdhaXQgdGhpcy5fYWN0dWFsRmluZENvbW1hbmRzKClcblxuICAgIGlmICghdGhpcy5fZmluZENvbW1hbmRzUmVzdWx0KSB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZ2V0IGNvbW1hbmRzXCIpXG5cbiAgICByZXR1cm4gdGhpcy5fZmluZENvbW1hbmRzUmVzdWx0XG4gIH1cblxuICBhc3luYyBfYWN0dWFsRmluZENvbW1hbmRzKCkge1xuICAgIGNvbnN0IGJhc2VQYXRoID0gYXdhaXQgdGhpcy5nZXRCYXNlUGF0aCgpXG4gICAgY29uc3QgY29tbWFuZEZpbGVzID0gZnMuZ2xvYihgJHtiYXNlUGF0aH0vc3JjL2NsaS9jb21tYW5kcy8qKi8qLmpzYClcbiAgICBjb25zdCBjb21tYW5kcyA9IFtdXG5cbiAgICBmb3IgYXdhaXQgKGNvbnN0IGFGaWxlUGF0aCBvZiBjb21tYW5kRmlsZXMpIHtcbiAgICAgIGNvbnN0IGFGaWxlUGF0aFBhcnRzID0gYUZpbGVQYXRoLnNwbGl0KFwiL1wiKVxuICAgICAgY29uc3QgY29tbWFuZFBhdGhMb2NhdGlvbiA9IGFGaWxlUGF0aFBhcnRzLmluZGV4T2YoXCJjb21tYW5kc1wiKSArIDFcbiAgICAgIGNvbnN0IGxhc3RQYXJ0ID0gYUZpbGVQYXRoUGFydHNbYUZpbGVQYXRoUGFydHMubGVuZ3RoIC0gMV1cbiAgICAgIGxldCBuYW1lLCBwYXRoc1xuXG4gICAgICBpZiAobGFzdFBhcnQgPT0gXCJpbmRleC5qc1wiKSB7XG4gICAgICAgIG5hbWUgPSBhRmlsZVBhdGhQYXJ0c1thRmlsZVBhdGhQYXJ0cy5sZW5ndGggLSAyXVxuICAgICAgICBwYXRocyA9IGFGaWxlUGF0aFBhcnRzLnNsaWNlKGNvbW1hbmRQYXRoTG9jYXRpb24sIC0yKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmFtZSA9IGxhc3RQYXJ0LnJlcGxhY2UoXCIuanNcIiwgXCJcIilcbiAgICAgICAgcGF0aHMgPSBhRmlsZVBhdGhQYXJ0cy5zbGljZShjb21tYW5kUGF0aExvY2F0aW9uLCAtMSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29tbWFuZE5hbWUgPSBgJHtwYXRocy5qb2luKFwiOlwiKX0ke3BhdGhzLmxlbmd0aCA+IDAgPyBcIjpcIiA6IFwiXCJ9JHtuYW1lfWBcblxuICAgICAgY29tbWFuZHMucHVzaCh7bmFtZTogY29tbWFuZE5hbWUsIGZpbGU6IGFGaWxlUGF0aH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbW1hbmRzXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc0luaXQoY29tbWFuZCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENsaUNvbW1hbmRzSW5pdClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNNaWdyYXRpb25HZW5lcmF0ZShjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNHZW5lcmF0ZU1pZ3JhdGlvbilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNNaWdyYXRpb25EZXN0cm95KGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc0Rlc3Ryb3lNaWdyYXRpb24pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzR2VuZXJhdGVCYXNlTW9kZWxzKGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc0dlbmVyYXRlQmFzZU1vZGVscylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNHZW5lcmF0ZU1vZGVsKGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc0dlbmVyYXRlTW9kZWwpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzUm91dGVzKGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc1JvdXRlcylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNTZXJ2ZXIoY29tbWFuZCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENsaUNvbW1hbmRzU2VydmVyKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc1Rlc3QoY29tbWFuZCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENsaUNvbW1hbmRzVGVzdClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhcmdzLmNvbW1hbmRQYXJ0c1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx0eXBlb2YgaW1wb3J0IChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdD59XG4gICAqL1xuICBhc3luYyByZXF1aXJlQ29tbWFuZCh7Y29tbWFuZFBhcnRzfSkge1xuICAgIGNvbnN0IGNvbW1hbmRzID0gYXdhaXQgdGhpcy5maW5kQ29tbWFuZHMoKVxuICAgIGNvbnN0IGNvbW1hbmQgPSBjb21tYW5kcy5maW5kKChhQ29tbWFuZCkgPT4gYUNvbW1hbmQubmFtZSA9PT0gY29tbWFuZFBhcnRzLmpvaW4oXCI6XCIpKVxuXG4gICAgaWYgKCFjb21tYW5kKSB7XG4gICAgICBjb25zdCBwb3NzaWJsZUNvbW1hbmRzID0gY29tbWFuZHMubWFwKGFDb21tYW5kID0+IGFDb21tYW5kLm5hbWUpXG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjb21tYW5kOiAke2NvbW1hbmRQYXJ0cy5qb2luKFwiOlwiKX0gd2hpY2ggc2hvdWxkIGhhdmUgYmVlbiBvbmUgb2Y6ICR7cG9zc2libGVDb21tYW5kcy5zb3J0KCkuam9pbihcIiwgXCIpfWApXG4gICAgfVxuXG4gICAgY29uc3QgY29tbWFuZENsYXNzSW1wb3J0ID0gYXdhaXQgaW1wb3J0KGNvbW1hbmQuZmlsZSlcbiAgICBjb25zdCBDb21tYW5kQ2xhc3MgPSBjb21tYW5kQ2xhc3NJbXBvcnQuZGVmYXVsdFxuXG4gICAgcmV0dXJuIENvbW1hbmRDbGFzc1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PGltcG9ydChcIi4vYmFzZS5qc1wiKS5NaWdyYXRpb25PYmplY3RUeXBlPj59XG4gICAqL1xuICBhc3luYyBmaW5kTWlncmF0aW9ucygpIHtcbiAgICBjb25zdCBtaWdyYXRpb25zUGF0aCA9IGAke3RoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldERpcmVjdG9yeSgpfS9zcmMvZGF0YWJhc2UvbWlncmF0aW9uc2BcbiAgICBjb25zdCBnbG9iID0gYXdhaXQgZnMuZ2xvYihgJHttaWdyYXRpb25zUGF0aH0vKiovKi5qc2ApXG4gICAgbGV0IGZpbGVzID0gW11cblxuICAgIGZvciBhd2FpdCAoY29uc3QgZnVsbFBhdGggb2YgZ2xvYikge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IHBhdGguYmFzZW5hbWUoZnVsbFBhdGgpXG5cbiAgICAgIGNvbnN0IG1hdGNoID0gZmlsZS5tYXRjaCgvXihcXGR7MTR9KS0oLispXFwuanMkLylcblxuICAgICAgaWYgKCFtYXRjaCkgY29udGludWVcblxuICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlSW50KG1hdGNoWzFdKVxuICAgICAgY29uc3QgbWlncmF0aW9uTmFtZSA9IG1hdGNoWzJdXG4gICAgICBjb25zdCBtaWdyYXRpb25DbGFzc05hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1pZ3JhdGlvbk5hbWUucmVwbGFjZUFsbChcIi1cIiwgXCJfXCIpKVxuXG4gICAgICBmaWxlcy5wdXNoKHtcbiAgICAgICAgZmlsZSxcbiAgICAgICAgZnVsbFBhdGg6IGAke21pZ3JhdGlvbnNQYXRofS8ke2ZpbGV9YCxcbiAgICAgICAgZGF0ZSxcbiAgICAgICAgbWlncmF0aW9uQ2xhc3NOYW1lXG4gICAgICB9KVxuICAgIH1cblxuICAgIGZpbGVzID0gZmlsZXMuc29ydCgobWlncmF0aW9uMSwgbWlncmF0aW9uMikgPT4gbWlncmF0aW9uMS5kYXRlIC0gbWlncmF0aW9uMi5kYXRlKVxuXG4gICAgcmV0dXJuIGZpbGVzXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vcm91dGVzL2luZGV4LmpzXCIpLmRlZmF1bHQ+fVxuICAgKi9cbiAgYXN5bmMgaW1wb3J0QXBwbGljYXRpb25Sb3V0ZXMoKSB7XG4gICAgY29uc3Qgcm91dGVzSW1wb3J0ID0gYXdhaXQgaW1wb3J0KGAke3RoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldERpcmVjdG9yeSgpfS9zcmMvY29uZmlnL3JvdXRlcy5qc2ApXG5cbiAgICByZXR1cm4gcm91dGVzSW1wb3J0LmRlZmF1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fVxuICAgKi9cbiAgYXN5bmMgZ2V0VmVsb2Npb3VzUGF0aCgpIHtcbiAgICBpZiAoIXRoaXMuX3ZlbG9jaW91c1BhdGgpIHtcbiAgICAgIGNvbnN0IF9fZmlsZW5hbWUgPSBmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybClcbiAgICAgIGNvbnN0IF9fZGlybmFtZSA9IGRpcm5hbWUoX19maWxlbmFtZSlcblxuICAgICAgdGhpcy5fdmVsb2Npb3VzUGF0aCA9IGF3YWl0IGZzLnJlYWxwYXRoKGAke19fZGlybmFtZX0vLi4vLi5gKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl92ZWxvY2lvdXNQYXRoXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gdGVzdEZpbGVzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgaW1wb3J0VGVzdEZpbGVzKHRlc3RGaWxlcykge1xuICAgIGZvciAoY29uc3QgdGVzdEZpbGUgb2YgdGVzdEZpbGVzKSB7XG4gICAgICBhd2FpdCBpbXBvcnQodGVzdEZpbGUpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW1wb3J0VGVzdGluZ0NvbmZpZ1BhdGgoKSB7XG4gICAgY29uc3QgdGVzdGluZ0NvbmZpZ1BhdGggPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXRUZXN0aW5nKClcblxuICAgIGF3YWl0IGltcG9ydCh0ZXN0aW5nQ29uZmlnUGF0aClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZVBhdGhcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZGF0YWJhc2UvbWlncmF0aW9uL2luZGV4LmpzXCIpLmRlZmF1bHQ+fVxuICAgKi9cbiAgYXN5bmMgcmVxdWlyZU1pZ3JhdGlvbihmaWxlUGF0aCkge1xuICAgIGNvbnN0IG1pZ3JhdGlvbkltcG9ydCA9IGF3YWl0IGltcG9ydChmaWxlUGF0aClcbiAgICBjb25zdCBtaWdyYXRpb25JbXBvcnREZWZhdWx0ID0gbWlncmF0aW9uSW1wb3J0LmRlZmF1bHRcblxuICAgIGlmICghbWlncmF0aW9uSW1wb3J0RGVmYXVsdCkgdGhyb3cgbmV3IEVycm9yKFwiTWlncmF0aW9uIGZpbGUgbXVzdCBleHBvcnQgYSBkZWZhdWx0IG1pZ3JhdGlvbiBjbGFzc1wiKVxuICAgIGlmICh0eXBlb2YgbWlncmF0aW9uSW1wb3J0RGVmYXVsdCAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgRXJyb3IoXCJNaWdyYXRpb24gZGVmYXVsdCBleHBvcnQgaXNuJ3QgYSBmdW5jdGlvbiAoc2hvdWxkIGJlIGEgY2xhc3Mgd2hpY2ggaXMgYSBmdW5jdGlvbiBpbiBKUylcIilcblxuICAgIHJldHVybiBtaWdyYXRpb25JbXBvcnREZWZhdWx0XG4gIH1cblxuICBhc3luYyBnZXRCYXNlUGF0aCgpIHtcbiAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpXG4gICAgY29uc3QgYmFzZVBhdGggPSBhd2FpdCBmcy5yZWFscGF0aChgJHtkaXJuYW1lKF9fZmlsZW5hbWUpfS8uLi8uLmApXG5cbiAgICByZXR1cm4gYmFzZVBhdGhcbiAgfVxufVxuIl19
@@ -4,17 +4,20 @@ export default class ParamsToObject {
4
4
  */
5
5
  constructor(object: Record<string, string>);
6
6
  object: Record<string, string>;
7
- toObject(): {};
7
+ /** @returns {Record<string, any>} */
8
+ toObject(): Record<string, any>;
8
9
  /**
9
10
  * @param {string} key
10
11
  * @param {string} value
11
12
  * @param {Record<string, any> | any[]} result
13
+ * @returns {void}
12
14
  */
13
15
  treatInitial(key: string, value: string, result: Record<string, any> | any[]): void;
14
16
  /**
15
17
  * @param {string} value
16
18
  * @param {string} rest
17
19
  * @param {Record<string, any> | any[]} result
20
+ * @returns {void}
18
21
  */
19
22
  treatSecond(value: string, rest: string, result: Record<string, any> | any[]): void;
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"params-to-object.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/params-to-object.js"],"names":[],"mappings":"AAEA;IACE;;OAEG;IACH,oBAFW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAIhC;IADC,+BAAoB;IAGtB,eAUC;IAED;;;;OAIG;IACH,kBAJW,MAAM,SACN,MAAM,UACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,QA0BrC;IAED;;;;OAIG;IACH,mBAJW,MAAM,QACN,MAAM,UACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,QA8BrC;CACF"}
1
+ {"version":3,"file":"params-to-object.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/params-to-object.js"],"names":[],"mappings":"AAEA;IACE;;OAEG;IACH,oBAFW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAIhC;IADC,+BAAoB;IAGtB,qCAAqC;IACrC,YADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAWhC;IAED;;;;;OAKG;IACH,kBALW,MAAM,SACN,MAAM,UACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GACzB,IAAI,CA0BhB;IAED;;;;;OAKG;IACH,mBALW,MAAM,QACN,MAAM,UACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GACzB,IAAI,CA8BhB;CACF"}
@@ -6,6 +6,7 @@ export default class ParamsToObject {
6
6
  constructor(object) {
7
7
  this.object = object;
8
8
  }
9
+ /** @returns {Record<string, any>} */
9
10
  toObject() {
10
11
  const result = {};
11
12
  for (const key in this.object) {
@@ -18,6 +19,7 @@ export default class ParamsToObject {
18
19
  * @param {string} key
19
20
  * @param {string} value
20
21
  * @param {Record<string, any> | any[]} result
22
+ * @returns {void}
21
23
  */
22
24
  treatInitial(key, value, result) {
23
25
  const firstMatch = key.match(/^(.+?)(\[([\s\S]+$))/);
@@ -47,6 +49,7 @@ export default class ParamsToObject {
47
49
  * @param {string} value
48
50
  * @param {string} rest
49
51
  * @param {Record<string, any> | any[]} result
52
+ * @returns {void}
50
53
  */
51
54
  treatSecond(value, rest, result) {
52
55
  const secondMatch = rest.match(/^\[(.*?)\]([\s\S]*)$/);
@@ -78,4 +81,4 @@ export default class ParamsToObject {
78
81
  }
79
82
  }
80
83
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLXRvLW9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9jbGllbnQvcGFyYW1zLXRvLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxjQUFjO0lBQ2pDOztPQUVHO0lBQ0gsWUFBWSxNQUFNO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBRWpCLEtBQUksTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTTtRQUM3QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFFcEQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMvQixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFMUIsK0NBQStDO1lBQy9DLElBQUksU0FBUyxDQUFBO1lBRWIsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDL0IsQ0FBQztpQkFBTSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDeEIsU0FBUyxHQUFHLEVBQUUsQ0FBQTtnQkFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFBO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixTQUFTLEdBQUcsRUFBRSxDQUFBO2dCQUNkLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUE7WUFDL0IsQ0FBQztZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUMxQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTTtRQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFFdEQsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBRXZFLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMxQixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFOUIsK0NBQStDO1FBQy9DLElBQUksU0FBUyxDQUFBO1FBRWIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQixDQUFDO2FBQU0sSUFBSSxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksT0FBTyxNQUFNLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDL0MsU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN6QixDQUFDO2lCQUFNLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUMzQixTQUFTLEdBQUcsRUFBRSxDQUFBO2dCQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUE7WUFDekIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsR0FBRyxFQUFFLENBQUE7Z0JBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtZQUN6QixDQUFDO1lBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFyYW1zVG9PYmplY3Qge1xuICAvKipcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBvYmplY3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9iamVjdCkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0XG4gIH1cblxuICB0b09iamVjdCgpIHtcbiAgICBjb25zdCByZXN1bHQgPSB7fVxuXG4gICAgZm9yKGNvbnN0IGtleSBpbiB0aGlzLm9iamVjdCkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLm9iamVjdFtrZXldXG5cbiAgICAgIHRoaXMudHJlYXRJbml0aWFsKGtleSwgdmFsdWUsIHJlc3VsdClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgYW55W119IHJlc3VsdFxuICAgKi9cbiAgdHJlYXRJbml0aWFsKGtleSwgdmFsdWUsIHJlc3VsdCkge1xuICAgIGNvbnN0IGZpcnN0TWF0Y2ggPSBrZXkubWF0Y2goL14oLis/KShcXFsoW1xcc1xcU10rJCkpLylcblxuICAgIGlmIChmaXJzdE1hdGNoKSB7XG4gICAgICBjb25zdCBpbnB1dE5hbWUgPSBmaXJzdE1hdGNoWzFdXG4gICAgICBjb25zdCByZXN0ID0gZmlyc3RNYXRjaFsyXVxuXG4gICAgICAvKiogQHR5cGUge0FycmF5PGFueT4gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqL1xuICAgICAgbGV0IG5ld1Jlc3VsdFxuXG4gICAgICBpZiAoaW5wdXROYW1lIGluIHJlc3VsdCkge1xuICAgICAgICBuZXdSZXN1bHQgPSByZXN1bHRbaW5wdXROYW1lXVxuICAgICAgfSBlbHNlIGlmIChyZXN0ID09IFwiW11cIikge1xuICAgICAgICBuZXdSZXN1bHQgPSBbXVxuICAgICAgICByZXN1bHRbaW5wdXROYW1lXSA9IG5ld1Jlc3VsdFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3UmVzdWx0ID0ge31cbiAgICAgICAgcmVzdWx0W2lucHV0TmFtZV0gPSBuZXdSZXN1bHRcbiAgICAgIH1cblxuICAgICAgdGhpcy50cmVhdFNlY29uZCh2YWx1ZSwgcmVzdCwgbmV3UmVzdWx0KVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRba2V5XSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVzdFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT4gfCBhbnlbXX0gcmVzdWx0XG4gICAqL1xuICB0cmVhdFNlY29uZCh2YWx1ZSwgcmVzdCwgcmVzdWx0KSB7XG4gICAgY29uc3Qgc2Vjb25kTWF0Y2ggPSByZXN0Lm1hdGNoKC9eXFxbKC4qPylcXF0oW1xcc1xcU10qKSQvKVxuXG4gICAgaWYgKCFzZWNvbmRNYXRjaCkgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgcGFyc2UgcmVzdCBwYXJ0OiAke3Jlc3R9YClcblxuICAgIGNvbnN0IGtleSA9IHNlY29uZE1hdGNoWzFdXG4gICAgY29uc3QgbmV3UmVzdCA9IHNlY29uZE1hdGNoWzJdXG5cbiAgICAvKiogQHR5cGUge0FycmF5PGFueT4gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqL1xuICAgIGxldCBuZXdSZXN1bHRcblxuICAgIGlmIChyZXN0ID09IFwiW11cIikge1xuICAgICAgcmVzdWx0LnB1c2godmFsdWUpXG4gICAgfSBlbHNlIGlmIChuZXdSZXN0ID09IFwiXCIpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsdWVcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT0gXCJvYmplY3RcIiAmJiBrZXkgaW4gcmVzdWx0KSB7XG4gICAgICAgIG5ld1Jlc3VsdCA9IHJlc3VsdFtrZXldXG4gICAgICB9IGVsc2UgaWYgKG5ld1Jlc3QgPT0gXCJbXVwiKSB7XG4gICAgICAgIG5ld1Jlc3VsdCA9IFtdXG4gICAgICAgIHJlc3VsdFtrZXldID0gbmV3UmVzdWx0XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdSZXN1bHQgPSB7fVxuICAgICAgICByZXN1bHRba2V5XSA9IG5ld1Jlc3VsdFxuICAgICAgfVxuXG4gICAgICB0aGlzLnRyZWF0U2Vjb25kKHZhbHVlLCBuZXdSZXN0LCBuZXdSZXN1bHQpXG4gICAgfVxuICB9XG59Il19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLXRvLW9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9jbGllbnQvcGFyYW1zLXRvLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxjQUFjO0lBQ2pDOztPQUVHO0lBQ0gsWUFBWSxNQUFNO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUVqQixLQUFJLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRTlCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUN2QyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNO1FBQzdCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtRQUVwRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQy9CLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUUxQiwrQ0FBK0M7WUFDL0MsSUFBSSxTQUFTLENBQUE7WUFFYixJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDeEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUMvQixDQUFDO2lCQUFNLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN4QixTQUFTLEdBQUcsRUFBRSxDQUFBO2dCQUNkLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUE7WUFDL0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsR0FBRyxFQUFFLENBQUE7Z0JBQ2QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtZQUMvQixDQUFDO1lBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzFDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTTtRQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFFdEQsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBRXZFLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMxQixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFOUIsK0NBQStDO1FBQy9DLElBQUksU0FBUyxDQUFBO1FBRWIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQixDQUFDO2FBQU0sSUFBSSxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksT0FBTyxNQUFNLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDL0MsU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN6QixDQUFDO2lCQUFNLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUMzQixTQUFTLEdBQUcsRUFBRSxDQUFBO2dCQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUE7WUFDekIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsR0FBRyxFQUFFLENBQUE7Z0JBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtZQUN6QixDQUFDO1lBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFyYW1zVG9PYmplY3Qge1xuICAvKipcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBvYmplY3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9iamVjdCkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0XG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59ICovXG4gIHRvT2JqZWN0KCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9XG5cbiAgICBmb3IoY29uc3Qga2V5IGluIHRoaXMub2JqZWN0KSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMub2JqZWN0W2tleV1cblxuICAgICAgdGhpcy50cmVhdEluaXRpYWwoa2V5LCB2YWx1ZSwgcmVzdWx0KVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT4gfCBhbnlbXX0gcmVzdWx0XG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgdHJlYXRJbml0aWFsKGtleSwgdmFsdWUsIHJlc3VsdCkge1xuICAgIGNvbnN0IGZpcnN0TWF0Y2ggPSBrZXkubWF0Y2goL14oLis/KShcXFsoW1xcc1xcU10rJCkpLylcblxuICAgIGlmIChmaXJzdE1hdGNoKSB7XG4gICAgICBjb25zdCBpbnB1dE5hbWUgPSBmaXJzdE1hdGNoWzFdXG4gICAgICBjb25zdCByZXN0ID0gZmlyc3RNYXRjaFsyXVxuXG4gICAgICAvKiogQHR5cGUge0FycmF5PGFueT4gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqL1xuICAgICAgbGV0IG5ld1Jlc3VsdFxuXG4gICAgICBpZiAoaW5wdXROYW1lIGluIHJlc3VsdCkge1xuICAgICAgICBuZXdSZXN1bHQgPSByZXN1bHRbaW5wdXROYW1lXVxuICAgICAgfSBlbHNlIGlmIChyZXN0ID09IFwiW11cIikge1xuICAgICAgICBuZXdSZXN1bHQgPSBbXVxuICAgICAgICByZXN1bHRbaW5wdXROYW1lXSA9IG5ld1Jlc3VsdFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3UmVzdWx0ID0ge31cbiAgICAgICAgcmVzdWx0W2lucHV0TmFtZV0gPSBuZXdSZXN1bHRcbiAgICAgIH1cblxuICAgICAgdGhpcy50cmVhdFNlY29uZCh2YWx1ZSwgcmVzdCwgbmV3UmVzdWx0KVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRba2V5XSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVzdFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT4gfCBhbnlbXX0gcmVzdWx0XG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgdHJlYXRTZWNvbmQodmFsdWUsIHJlc3QsIHJlc3VsdCkge1xuICAgIGNvbnN0IHNlY29uZE1hdGNoID0gcmVzdC5tYXRjaCgvXlxcWyguKj8pXFxdKFtcXHNcXFNdKikkLylcblxuICAgIGlmICghc2Vjb25kTWF0Y2gpIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHBhcnNlIHJlc3QgcGFydDogJHtyZXN0fWApXG5cbiAgICBjb25zdCBrZXkgPSBzZWNvbmRNYXRjaFsxXVxuICAgIGNvbnN0IG5ld1Jlc3QgPSBzZWNvbmRNYXRjaFsyXVxuXG4gICAgLyoqIEB0eXBlIHtBcnJheTxhbnk+IHwgUmVjb3JkPHN0cmluZywgYW55Pn0gKi9cbiAgICBsZXQgbmV3UmVzdWx0XG5cbiAgICBpZiAocmVzdCA9PSBcIltdXCIpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKVxuICAgIH0gZWxzZSBpZiAobmV3UmVzdCA9PSBcIlwiKSB7XG4gICAgICByZXN1bHRba2V5XSA9IHZhbHVlXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcmVzdWx0ID09IFwib2JqZWN0XCIgJiYga2V5IGluIHJlc3VsdCkge1xuICAgICAgICBuZXdSZXN1bHQgPSByZXN1bHRba2V5XVxuICAgICAgfSBlbHNlIGlmIChuZXdSZXN0ID09IFwiW11cIikge1xuICAgICAgICBuZXdSZXN1bHQgPSBbXVxuICAgICAgICByZXN1bHRba2V5XSA9IG5ld1Jlc3VsdFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3UmVzdWx0ID0ge31cbiAgICAgICAgcmVzdWx0W2tleV0gPSBuZXdSZXN1bHRcbiAgICAgIH1cblxuICAgICAgdGhpcy50cmVhdFNlY29uZCh2YWx1ZSwgbmV3UmVzdCwgbmV3UmVzdWx0KVxuICAgIH1cbiAgfVxufSJdfQ==
@@ -11,6 +11,7 @@ export default class VelociousHttpServerClientRequestParser {
11
11
  events: EventEmitter<[never]>;
12
12
  params: {};
13
13
  requestBuffer: RequestBuffer;
14
+ /** @returns {void} */
14
15
  destroy(): void;
15
16
  /**
16
17
  * @param {import("./request-buffer/form-data-part.js").default} formDataPart
@@ -19,31 +20,37 @@ export default class VelociousHttpServerClientRequestParser {
19
20
  onFormDataPart: (formDataPart: import("./request-buffer/form-data-part.js").default) => void;
20
21
  /**
21
22
  * @param {Buffer} data
23
+ * @returns {void}
22
24
  */
23
25
  feed: (data: Buffer) => void;
24
26
  /**
25
27
  * @param {string} name
28
+ * @returns {string}
26
29
  */
27
30
  getHeader(name: string): string;
31
+ /** @returns {Record<string, string>} */
28
32
  getHeaders(): Record<string, string>;
29
- /**
30
- * @returns {string}
31
- */
33
+ /** @returns {string} */
32
34
  getHttpMethod(): string;
33
- /**
34
- * @returns {string}
35
- */
35
+ /** @returns {string} */
36
36
  getHttpVersion(): string;
37
+ /** @returns {{host: string, port: string, protocol: string} | null} */
37
38
  _getHostMatch(): {
38
- protocol: string;
39
39
  host: string;
40
40
  port: string;
41
- };
42
- getHost(): string;
43
- getPath(): any;
41
+ protocol: string;
42
+ } | null;
43
+ /** @returns {string | null} */
44
+ getHost(): string | null;
45
+ /** @returns {string} */
46
+ getPath(): string;
47
+ /** @returns {number} */
44
48
  getPort(): number;
45
- getProtocol(): string;
49
+ /** @returns {string | null} */
50
+ getProtocol(): string | null;
51
+ /** @returns {RequestBuffer} */
46
52
  getRequestBuffer(): RequestBuffer;
53
+ /** @returns {void} */
47
54
  requestDone: () => void;
48
55
  state: string;
49
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request-parser.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request-parser.js"],"names":[],"mappings":"AAQA;IACE;;;OAGG;IACH,+BAFG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAaA;IATC,wDAAkC;IAClC,YAAc;IACd,8BAAgC;IAChC,WAAgB;IAEhB,6BAAuD;IAMzD,gBAKC;IAED;;;OAGG;IACH,iBAAkB,cAHP,OAAO,oCAAoC,EAAE,OAG1B,KAFjB,IAAI,CAYhB;IAED;;OAEG;IACH,OAAQ,MAFG,MAEC,UAAkC;IAE9C;;OAEG;IACH,gBAFW,MAAM,UAEmD;IACpE,qCAA2D;IAE3D;;OAEG;IACH,iBAFa,MAAM,CAEiD;IAEpE;;OAEG;IACH,kBAFa,MAAM,CAEmD;IAEtE;;;;MAcC;IAED,kBAIC;IAED,eAAwD;IAExD,kBAWC;IAED,sBAAuD;IACvD,kCAAgD;IAEhD,wBAKC;IAFC,cAAmB;CAGtB;6BAlH0B,QAAQ;0BAGT,2BAA2B"}
1
+ {"version":3,"file":"request-parser.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request-parser.js"],"names":[],"mappings":"AAQA;IACE;;;OAGG;IACH,+BAFG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAaA;IATC,wDAAkC;IAClC,YAAc;IACd,8BAAgC;IAChC,WAAgB;IAEhB,6BAAuD;IAMzD,sBAAsB;IACtB,WADc,IAAI,CAMjB;IAED;;;OAGG;IACH,iBAAkB,cAHP,OAAO,oCAAoC,EAAE,OAG1B,KAFjB,IAAI,CAYhB;IAED;;;OAGG;IACH,OAAQ,MAHG,MAGC,KAFC,IAAI,CAE6B;IAE9C;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAEiD;IAEpE,wCAAwC;IACxC,cADc,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACuB;IAE3D,wBAAwB;IACxB,iBADc,MAAM,CACgD;IAEpE,wBAAwB;IACxB,kBADc,MAAM,CACkD;IAEtE,uEAAuE;IACvE,iBADc;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAelE;IAED,+BAA+B;IAC/B,WADc,MAAM,GAAG,IAAI,CAK1B;IAED,wBAAwB;IACxB,WADc,MAAM,CACoC;IAExD,wBAAwB;IACxB,WADc,MAAM,CAYnB;IAED,+BAA+B;IAC/B,eADc,MAAM,GAAG,IAAI,CAC4B;IAEvD,+BAA+B;IAC/B,oBADc,aAAa,CACqB;IAEhD,sBAAsB;IACtB,mBADc,IAAI,CAMjB;IAFC,cAAmB;CAGtB;6BA3H0B,QAAQ;0BAGT,2BAA2B"}
@@ -21,6 +21,7 @@ export default class VelociousHttpServerClientRequestParser {
21
21
  this.requestBuffer.events.on("form-data-part", this.onFormDataPart);
22
22
  this.requestBuffer.events.on("request-done", this.requestDone);
23
23
  }
24
+ /** @returns {void} */
24
25
  destroy() {
25
26
  this.requestBuffer.events.off("completed", this.requestDone);
26
27
  this.requestBuffer.events.off("form-data-part", this.onFormDataPart);
@@ -41,21 +42,21 @@ export default class VelociousHttpServerClientRequestParser {
41
42
  };
42
43
  /**
43
44
  * @param {Buffer} data
45
+ * @returns {void}
44
46
  */
45
47
  feed = (data) => this.requestBuffer.feed(data);
46
48
  /**
47
49
  * @param {string} name
50
+ * @returns {string}
48
51
  */
49
52
  getHeader(name) { return this.requestBuffer.getHeader(name)?.value; }
53
+ /** @returns {Record<string, string>} */
50
54
  getHeaders() { return this.requestBuffer.getHeadersHash(); }
51
- /**
52
- * @returns {string}
53
- */
55
+ /** @returns {string} */
54
56
  getHttpMethod() { return digg(this, "requestBuffer", "httpMethod"); }
55
- /**
56
- * @returns {string}
57
- */
57
+ /** @returns {string} */
58
58
  getHttpVersion() { return digg(this, "requestBuffer", "httpVersion"); }
59
+ /** @returns {{host: string, port: string, protocol: string} | null} */
59
60
  _getHostMatch() {
60
61
  const rawHost = this.requestBuffer.getHeader("origin")?.value;
61
62
  if (!rawHost)
@@ -69,12 +70,15 @@ export default class VelociousHttpServerClientRequestParser {
69
70
  port: match[4]
70
71
  };
71
72
  }
73
+ /** @returns {string | null} */
72
74
  getHost() {
73
75
  const rawHostSplit = this.requestBuffer.getHeader("host")?.value?.split(":");
74
76
  if (rawHostSplit && rawHostSplit[0])
75
77
  return rawHostSplit[0];
76
78
  }
79
+ /** @returns {string} */
77
80
  getPath() { return digg(this, "requestBuffer", "path"); }
81
+ /** @returns {number} */
78
82
  getPort() {
79
83
  const rawHostSplit = this.requestBuffer.getHeader("host")?.value?.split(":");
80
84
  const httpMethod = this.getHttpMethod();
@@ -88,12 +92,15 @@ export default class VelociousHttpServerClientRequestParser {
88
92
  return 443;
89
93
  }
90
94
  }
95
+ /** @returns {string | null} */
91
96
  getProtocol() { return this._getHostMatch()?.protocol; }
97
+ /** @returns {RequestBuffer} */
92
98
  getRequestBuffer() { return this.requestBuffer; }
99
+ /** @returns {void} */
93
100
  requestDone = () => {
94
101
  incorporate(this.params, this.requestBuffer.params);
95
102
  this.state = "done";
96
103
  this.events.emit("done");
97
104
  };
98
105
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QtcGFyc2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxRQUFRLENBQUE7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN4QyxPQUFPLGNBQWMsTUFBTSx1QkFBdUIsQ0FBQTtBQUNsRCxPQUFPLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQTtBQUVyRCxNQUFNLENBQUMsT0FBTyxPQUFPLHNDQUFzQztJQUN6RDs7O09BR0c7SUFDSCxZQUFZLEVBQUMsYUFBYSxFQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBRWhCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsRUFBQyxhQUFhLEVBQUMsQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFB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LE9BQU87UUFDTCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzVFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUV2QyxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxDQUFDO2FBQU0sSUFBSSxVQUFVLElBQUksTUFBTSxFQUFFLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO2FBQU0sSUFBSSxVQUFVLElBQUksT0FBTyxFQUFFLENBQUM7WUFDakMsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLENBQUEsQ0FBQyxDQUFDO0lBQ3ZELGdCQUFnQixLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQSxDQUFDLENBQUM7SUFFaEQsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUNqQixXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRW5ELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFCLENBQUMsQ0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcImV2ZW50c1wiXG5pbXBvcnQge2luY29ycG9yYXRlfSBmcm9tIFwiaW5jb3Jwb3JhdG9yXCJcbmltcG9ydCBQYXJhbXNUb09iamVjdCBmcm9tIFwiLi9wYXJhbXMtdG8tb2JqZWN0LmpzXCJcbmltcG9ydCBSZXF1ZXN0QnVmZmVyIGZyb20gXCIuL3JlcXVlc3QtYnVmZmVyL2luZGV4LmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzSHR0cFNlcnZlckNsaWVudFJlcXVlc3RQYXJzZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi8uLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvblxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb259KSB7XG4gICAgaWYgKCFjb25maWd1cmF0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjb25maWd1cmF0aW9uIGdpdmVuXCIpXG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5kYXRhID0gW11cbiAgICB0aGlzLmV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICAgIHRoaXMucGFyYW1zID0ge31cblxuICAgIHRoaXMucmVxdWVzdEJ1ZmZlciA9IG5ldyBSZXF1ZXN0QnVmZmVyKHtjb25maWd1cmF0aW9ufSlcbiAgICB0aGlzLnJlcXVlc3RCdWZmZXIuZXZlbnRzLm9uKFwiY29tcGxldGVkXCIsIHRoaXMucmVxdWVzdERvbmUpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmV2ZW50cy5vbihcImZvcm0tZGF0YS1wYXJ0XCIsIHRoaXMub25Gb3JtRGF0YVBhcnQpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmV2ZW50cy5vbihcInJlcXVlc3QtZG9uZVwiLCB0aGlzLnJlcXVlc3REb25lKVxuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLnJlcXVlc3RCdWZmZXIuZXZlbnRzLm9mZihcImNvbXBsZXRlZFwiLCB0aGlzLnJlcXVlc3REb25lKVxuICAgIHRoaXMucmVxdWVzdEJ1ZmZlci5ldmVudHMub2ZmKFwiZm9ybS1kYXRhLXBhcnRcIiwgdGhpcy5vbkZvcm1EYXRhUGFydClcbiAgICB0aGlzLnJlcXVlc3RCdWZmZXIuZXZlbnRzLm9mZihcInJlcXVlc3QtZG9uZVwiLCB0aGlzLnJlcXVlc3REb25lKVxuICAgIHRoaXMucmVxdWVzdEJ1ZmZlci5kZXN0cm95KClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vcmVxdWVzdC1idWZmZXIvZm9ybS1kYXRhLXBhcnQuanNcIikuZGVmYXVsdH0gZm9ybURhdGFQYXJ0XG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgb25Gb3JtRGF0YVBhcnQgPSAoZm9ybURhdGFQYXJ0KSA9PiB7XG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSAqL1xuICAgIGNvbnN0IHVub3JkZXJlZFBhcmFtcyA9IHt9XG5cbiAgICB1bm9yZGVyZWRQYXJhbXNbZm9ybURhdGFQYXJ0LmdldE5hbWUoKV0gPSBmb3JtRGF0YVBhcnQuZ2V0VmFsdWUoKVxuXG4gICAgY29uc3QgcGFyYW1zVG9PYmplY3QgPSBuZXcgUGFyYW1zVG9PYmplY3QodW5vcmRlcmVkUGFyYW1zKVxuICAgIGNvbnN0IG5ld1BhcmFtcyA9IHBhcmFtc1RvT2JqZWN0LnRvT2JqZWN0KClcblxuICAgIGluY29ycG9yYXRlKHRoaXMucGFyYW1zLCBuZXdQYXJhbXMpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGRhdGFcbiAgICovXG4gIGZlZWQgPSAoZGF0YSkgPT4gdGhpcy5yZXF1ZXN0QnVmZmVyLmZlZWQoZGF0YSlcblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICovXG4gIGdldEhlYWRlcihuYW1lKSB7IHJldHVybiB0aGlzLnJlcXVlc3RCdWZmZXIuZ2V0SGVhZGVyKG5hbWUpPy52YWx1ZSB9XG4gIGdldEhlYWRlcnMoKSB7IHJldHVybiB0aGlzLnJlcXVlc3RCdWZmZXIuZ2V0SGVhZGVyc0hhc2goKSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBnZXRIdHRwTWV0aG9kKCkgeyByZXR1cm4gZGlnZyh0aGlzLCBcInJlcXVlc3RCdWZmZXJcIiwgXCJodHRwTWV0aG9kXCIpIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGdldEh0dHBWZXJzaW9uKCkgeyByZXR1cm4gZGlnZyh0aGlzLCBcInJlcXVlc3RCdWZmZXJcIiwgXCJodHRwVmVyc2lvblwiKSB9XG5cbiAgX2dldEhvc3RNYXRjaCgpIHtcbiAgICBjb25zdCByYXdIb3N0ID0gdGhpcy5yZXF1ZXN0QnVmZmVyLmdldEhlYWRlcihcIm9yaWdpblwiKT8udmFsdWVcblxuICAgIGlmICghcmF3SG9zdCkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IG1hdGNoID0gcmF3SG9zdC5tYXRjaCgvXiguKyk6XFwvXFwvKC4rKSh8OihcXGQrKSkvKVxuXG4gICAgaWYgKCFtYXRjaCkgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBtYXRjaCBob3N0OiAke3Jhd0hvc3R9YClcblxuICAgIHJldHVybiB7XG4gICAgICBwcm90b2NvbDogbWF0Y2hbMV0sXG4gICAgICBob3N0OiBtYXRjaFsyXSxcbiAgICAgIHBvcnQ6IG1hdGNoWzRdXG4gICAgfVxuICB9XG5cbiAgZ2V0SG9zdCgpIHtcbiAgICBjb25zdCByYXdIb3N0U3BsaXQgPSB0aGlzLnJlcXVlc3RCdWZmZXIuZ2V0SGVhZGVyKFwiaG9zdFwiKT8udmFsdWU/LnNwbGl0KFwiOlwiKVxuXG4gICAgaWYgKHJhd0hvc3RTcGxpdCAmJiByYXdIb3N0U3BsaXRbMF0pIHJldHVybiByYXdIb3N0U3BsaXRbMF1cbiAgfVxuXG4gIGdldFBhdGgoKSB7IHJldHVybiBkaWdnKHRoaXMsIFwicmVxdWVzdEJ1ZmZlclwiLCBcInBhdGhcIikgfVxuXG4gIGdldFBvcnQoKSB7XG4gICAgY29uc3QgcmF3SG9zdFNwbGl0ID0gdGhpcy5yZXF1ZXN0QnVmZmVyLmdldEhlYWRlcihcImhvc3RcIik/LnZhbHVlPy5zcGxpdChcIjpcIilcbiAgICBjb25zdCBodHRwTWV0aG9kID0gdGhpcy5nZXRIdHRwTWV0aG9kKClcblxuICAgIGlmIChyYXdIb3N0U3BsaXQgJiYgcmF3SG9zdFNwbGl0WzFdKSB7XG4gICAgICByZXR1cm4gcGFyc2VJbnQocmF3SG9zdFNwbGl0WzFdKVxuICAgIH0gZWxzZSBpZiAoaHR0cE1ldGhvZCA9PSBcImh0dHBcIikge1xuICAgICAgcmV0dXJuIDgwXG4gICAgfSBlbHNlIGlmIChodHRwTWV0aG9kID09IFwiaHR0cHNcIikge1xuICAgICAgcmV0dXJuIDQ0M1xuICAgIH1cbiAgfVxuXG4gIGdldFByb3RvY29sKCkgeyByZXR1cm4gdGhpcy5fZ2V0SG9zdE1hdGNoKCk/LnByb3RvY29sIH1cbiAgZ2V0UmVxdWVzdEJ1ZmZlcigpIHsgcmV0dXJuIHRoaXMucmVxdWVzdEJ1ZmZlciB9XG5cbiAgcmVxdWVzdERvbmUgPSAoKSA9PiB7XG4gICAgaW5jb3Jwb3JhdGUodGhpcy5wYXJhbXMsIHRoaXMucmVxdWVzdEJ1ZmZlci5wYXJhbXMpXG5cbiAgICB0aGlzLnN0YXRlID0gXCJkb25lXCJcbiAgICB0aGlzLmV2ZW50cy5lbWl0KFwiZG9uZVwiKVxuICB9XG59XG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QtcGFyc2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxRQUFRLENBQUE7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN4QyxPQUFPLGNBQWMsTUFBTSx1QkFBdUIsQ0FBQTtBQUNsRCxPQUFPLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQTtBQUVyRCxNQUFNLENBQUMsT0FBTyxPQUFPLHNDQUFzQztJQUN6RDs7O09BR0c7SUFDSCxZQUFZLEVBQUMsYUFBYSxFQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBRWhCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsRUFBQyxhQUFhLEVBQUMsQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFB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Z30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcImV2ZW50c1wiXG5pbXBvcnQge2luY29ycG9yYXRlfSBmcm9tIFwiaW5jb3Jwb3JhdG9yXCJcbmltcG9ydCBQYXJhbXNUb09iamVjdCBmcm9tIFwiLi9wYXJhbXMtdG8tb2JqZWN0LmpzXCJcbmltcG9ydCBSZXF1ZXN0QnVmZmVyIGZyb20gXCIuL3JlcXVlc3QtYnVmZmVyL2luZGV4LmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzSHR0cFNlcnZlckNsaWVudFJlcXVlc3RQYXJzZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi8uLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvblxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb259KSB7XG4gICAgaWYgKCFjb25maWd1cmF0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjb25maWd1cmF0aW9uIGdpdmVuXCIpXG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5kYXRhID0gW11cbiAgICB0aGlzLmV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICAgIHRoaXMucGFyYW1zID0ge31cblxuICAgIHRoaXMucmVxdWVzdEJ1ZmZlciA9IG5ldyBSZXF1ZXN0QnVmZmVyKHtjb25maWd1cmF0aW9ufSlcbiAgICB0aGlzLnJlcXVlc3RCdWZmZXIuZXZlbnRzLm9uKFwiY29tcGxldGVkXCIsIHRoaXMucmVxdWVzdERvbmUpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmV2ZW50cy5vbihcImZvcm0tZGF0YS1wYXJ0XCIsIHRoaXMub25Gb3JtRGF0YVBhcnQpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmV2ZW50cy5vbihcInJlcXVlc3QtZG9uZVwiLCB0aGlzLnJlcXVlc3REb25lKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBkZXN0cm95KCkge1xuICAgIHRoaXMucmVxdWVzdEJ1ZmZlci5ldmVudHMub2ZmKFwiY29tcGxldGVkXCIsIHRoaXMucmVxdWVzdERvbmUpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmV2ZW50cy5vZmYoXCJmb3JtLWRhdGEtcGFydFwiLCB0aGlzLm9uRm9ybURhdGFQYXJ0KVxuICAgIHRoaXMucmVxdWVzdEJ1ZmZlci5ldmVudHMub2ZmKFwicmVxdWVzdC1kb25lXCIsIHRoaXMucmVxdWVzdERvbmUpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmRlc3Ryb3koKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9yZXF1ZXN0LWJ1ZmZlci9mb3JtLWRhdGEtcGFydC5qc1wiKS5kZWZhdWx0fSBmb3JtRGF0YVBhcnRcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvbkZvcm1EYXRhUGFydCA9IChmb3JtRGF0YVBhcnQpID0+IHtcbiAgICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZz59ICovXG4gICAgY29uc3QgdW5vcmRlcmVkUGFyYW1zID0ge31cblxuICAgIHVub3JkZXJlZFBhcmFtc1tmb3JtRGF0YVBhcnQuZ2V0TmFtZSgpXSA9IGZvcm1EYXRhUGFydC5nZXRWYWx1ZSgpXG5cbiAgICBjb25zdCBwYXJhbXNUb09iamVjdCA9IG5ldyBQYXJhbXNUb09iamVjdCh1bm9yZGVyZWRQYXJhbXMpXG4gICAgY29uc3QgbmV3UGFyYW1zID0gcGFyYW1zVG9PYmplY3QudG9PYmplY3QoKVxuXG4gICAgaW5jb3Jwb3JhdGUodGhpcy5wYXJhbXMsIG5ld1BhcmFtcylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGZlZWQgPSAoZGF0YSkgPT4gdGhpcy5yZXF1ZXN0QnVmZmVyLmZlZWQoZGF0YSlcblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGdldEhlYWRlcihuYW1lKSB7IHJldHVybiB0aGlzLnJlcXVlc3RCdWZmZXIuZ2V0SGVhZGVyKG5hbWUpPy52YWx1ZSB9XG5cbiAgLyoqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSAqL1xuICBnZXRIZWFkZXJzKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0QnVmZmVyLmdldEhlYWRlcnNIYXNoKCkgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBnZXRIdHRwTWV0aG9kKCkgeyByZXR1cm4gZGlnZyh0aGlzLCBcInJlcXVlc3RCdWZmZXJcIiwgXCJodHRwTWV0aG9kXCIpIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgZ2V0SHR0cFZlcnNpb24oKSB7IHJldHVybiBkaWdnKHRoaXMsIFwicmVxdWVzdEJ1ZmZlclwiLCBcImh0dHBWZXJzaW9uXCIpIH1cblxuICAvKiogQHJldHVybnMge3tob3N0OiBzdHJpbmcsIHBvcnQ6IHN0cmluZywgcHJvdG9jb2w6IHN0cmluZ30gfCBudWxsfSAqL1xuICBfZ2V0SG9zdE1hdGNoKCkge1xuICAgIGNvbnN0IHJhd0hvc3QgPSB0aGlzLnJlcXVlc3RCdWZmZXIuZ2V0SGVhZGVyKFwib3JpZ2luXCIpPy52YWx1ZVxuXG4gICAgaWYgKCFyYXdIb3N0KSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3QgbWF0Y2ggPSByYXdIb3N0Lm1hdGNoKC9eKC4rKTpcXC9cXC8oLispKHw6KFxcZCspKS8pXG5cbiAgICBpZiAoIW1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IG1hdGNoIGhvc3Q6ICR7cmF3SG9zdH1gKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3RvY29sOiBtYXRjaFsxXSxcbiAgICAgIGhvc3Q6IG1hdGNoWzJdLFxuICAgICAgcG9ydDogbWF0Y2hbNF1cbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZyB8IG51bGx9ICovXG4gIGdldEhvc3QoKSB7XG4gICAgY29uc3QgcmF3SG9zdFNwbGl0ID0gdGhpcy5yZXF1ZXN0QnVmZmVyLmdldEhlYWRlcihcImhvc3RcIik/LnZhbHVlPy5zcGxpdChcIjpcIilcblxuICAgIGlmIChyYXdIb3N0U3BsaXQgJiYgcmF3SG9zdFNwbGl0WzBdKSByZXR1cm4gcmF3SG9zdFNwbGl0WzBdXG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgZ2V0UGF0aCgpIHsgcmV0dXJuIGRpZ2codGhpcywgXCJyZXF1ZXN0QnVmZmVyXCIsIFwicGF0aFwiKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtudW1iZXJ9ICovXG4gIGdldFBvcnQoKSB7XG4gICAgY29uc3QgcmF3SG9zdFNwbGl0ID0gdGhpcy5yZXF1ZXN0QnVmZmVyLmdldEhlYWRlcihcImhvc3RcIik/LnZhbHVlPy5zcGxpdChcIjpcIilcbiAgICBjb25zdCBodHRwTWV0aG9kID0gdGhpcy5nZXRIdHRwTWV0aG9kKClcblxuICAgIGlmIChyYXdIb3N0U3BsaXQgJiYgcmF3SG9zdFNwbGl0WzFdKSB7XG4gICAgICByZXR1cm4gcGFyc2VJbnQocmF3SG9zdFNwbGl0WzFdKVxuICAgIH0gZWxzZSBpZiAoaHR0cE1ldGhvZCA9PSBcImh0dHBcIikge1xuICAgICAgcmV0dXJuIDgwXG4gICAgfSBlbHNlIGlmIChodHRwTWV0aG9kID09IFwiaHR0cHNcIikge1xuICAgICAgcmV0dXJuIDQ0M1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gKi9cbiAgZ2V0UHJvdG9jb2woKSB7IHJldHVybiB0aGlzLl9nZXRIb3N0TWF0Y2goKT8ucHJvdG9jb2wgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVxdWVzdEJ1ZmZlcn0gKi9cbiAgZ2V0UmVxdWVzdEJ1ZmZlcigpIHsgcmV0dXJuIHRoaXMucmVxdWVzdEJ1ZmZlciB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICByZXF1ZXN0RG9uZSA9ICgpID0+IHtcbiAgICBpbmNvcnBvcmF0ZSh0aGlzLnBhcmFtcywgdGhpcy5yZXF1ZXN0QnVmZmVyLnBhcmFtcylcblxuICAgIHRoaXMuc3RhdGUgPSBcImRvbmVcIlxuICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJkb25lXCIpXG4gIH1cbn1cbiJdfQ==
@@ -28,7 +28,7 @@ export default class VelociousHttpServerClientRequest {
28
28
  host(): string;
29
29
  hostWithPort(): string;
30
30
  origin(): string;
31
- path(): any;
31
+ path(): string;
32
32
  params(): any;
33
33
  port(): number;
34
34
  protocol(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,oDAHG;QAA2C,MAAM,EAAzC,OAAO,YAAY,EAAE,OAAO;QACmB,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAOA;IAHC,qCAAoB;IACpB,wDAAkC;IAClC,6BAAuD;IAGzD,kBAAkE;IAElE;;;OAGG;IACH,WAHW,MAAM,GACJ,IAAI,CAEkC;IAEnD;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAE6D;IACvF,kCAA6D;IAC7D,qBAA0D;IAC1D,sBAA4D;IAC5D,eAA8C;IAE9C,uBAcC;IAED,iBAAyC;IACzC,YAA8C;IAC9C,cAAyD;IACzD,eAA8C;IAC9C,mBAAsD;IAEtD,gEAAwE;IACxE,kCAAgD;CACjD;0BA3DyB,qBAAqB"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,oDAHG;QAA2C,MAAM,EAAzC,OAAO,YAAY,EAAE,OAAO;QACmB,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAOA;IAHC,qCAAoB;IACpB,wDAAkC;IAClC,6BAAuD;IAGzD,kBAAkE;IAElE;;;OAGG;IACH,WAHW,MAAM,GACJ,IAAI,CAEkC;IAEnD;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAE6D;IACvF,kCAA6D;IAC7D,qBAA0D;IAC1D,sBAA4D;IAC5D,eAA8C;IAE9C,uBAcC;IAED,iBAAyC;IACzC,eAA8C;IAC9C,cAAyD;IACzD,eAA8C;IAC9C,mBAAsD;IAEtD,gEAAwE;IACxE,kCAAgD;CACjD;0BA3DyB,qBAAqB"}
@@ -24,30 +24,36 @@ export default class VelociousHttpServer {
24
24
  host: string;
25
25
  port: number;
26
26
  maxWorkers: number;
27
- /**
28
- * @returns {Promise<void>}
29
- */
27
+ /** @returns {Promise<void>} */
30
28
  start(): Promise<void>;
31
29
  netServer: Net.Server;
32
- _netServerListen(): Promise<any>;
30
+ /** @returns {Promise<void>} */
31
+ _netServerListen(): Promise<void>;
32
+ /** @returns {Promise<void>} */
33
33
  _ensureAtLeastOneWorker(): Promise<void>;
34
- /**
35
- * @returns {boolean}
36
- */
34
+ /** @returns {boolean} */
37
35
  isActive(): boolean;
36
+ /** @returns {Promise<void>} */
38
37
  stopClients(): Promise<void>;
39
- stopServer(): Promise<any>;
38
+ /** @returns {Promise<void>} */
39
+ stopServer(): Promise<void>;
40
+ /** @returns {Promise<void>} */
40
41
  stop(): Promise<void>;
42
+ /** @returns {void} */
41
43
  onClose: () => void;
42
44
  /**
43
45
  * @param {import("net").Socket} socket
46
+ * @returns {void}
44
47
  */
45
48
  onConnection: (socket: import("net").Socket) => void;
46
49
  /**
47
50
  * @param {ServerClient} client
51
+ * @returns {void}
48
52
  */
49
53
  onClientClose: (client: ServerClient) => void;
54
+ /** @returns {Promise<void>} */
50
55
  spawnWorker(): Promise<void>;
56
+ /** @returns {WorkerHandler} */
51
57
  workerHandlerToUse(): WorkerHandler;
52
58
  }
53
59
  import ServerClient from "./server-client.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-server/index.js"],"names":[],"mappings":"AASA;IAYE;;;;;;OAMG;IACH,uDALG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACvB,IAAI,GAAlB,MAAM;QACQ,IAAI,GAAlB,MAAM;QACQ,UAAU,GAAxB,MAAM;KAAmB,EAQnC;IAxBD,oBAAe;IAEf,4CAA4C;IAC5C,SADW,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAC3B;IAEZ,8BAA2B;IAC3B,oBAAe;IAEf,8BAA8B;IAC9B,gBADW,aAAa,EAAE,CACP;IAUjB,qDAAkC;IAClC,eAA8B;IAC9B,aAA6B;IAC7B,aAAwB;IACxB,mBAAkC;IAGpC;;OAEG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAQzB;IAJC,sBAAiC;IAMnC,iCAaC;IAED,yCAIC;IAED;;OAEG;IACH,YAFa,OAAO,CAQnB;IAED,6BAUC;IAED,2BAYC;IAED,sBAGC;IAED,oBAEC;IAED;;OAEG;IACH,eAAgB,QAFL,OAAO,KAAK,EAAE,MAEH,UAkBrB;IAED;;OAEG;IACH,gBAAiB,QAFN,YAEY,UAWtB;IAED,6BAYC;IAED,oCAWC;CACF;yBA7KwB,oBAAoB;yBAHpB,QAAQ;0BAIP,2BAA2B;uBAHhC,cAAc;gBACnB,KAAK"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-server/index.js"],"names":[],"mappings":"AASA;IAYE;;;;;;OAMG;IACH,uDALG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACvB,IAAI,GAAlB,MAAM;QACQ,IAAI,GAAlB,MAAM;QACQ,UAAU,GAAxB,MAAM;KAAmB,EAQnC;IAxBD,oBAAe;IAEf,4CAA4C;IAC5C,SADW,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAC3B;IAEZ,8BAA2B;IAC3B,oBAAe;IAEf,8BAA8B;IAC9B,gBADW,aAAa,EAAE,CACP;IAUjB,qDAAkC;IAClC,eAA8B;IAC9B,aAA6B;IAC7B,aAAwB;IACxB,mBAAkC;IAGpC,+BAA+B;IAC/B,SADc,OAAO,CAAC,IAAI,CAAC,CAO1B;IAJC,sBAAiC;IAMnC,+BAA+B;IAC/B,oBADc,OAAO,CAAC,IAAI,CAAC,CAc1B;IAED,+BAA+B;IAC/B,2BADc,OAAO,CAAC,IAAI,CAAC,CAK1B;IAED,yBAAyB;IACzB,YADc,OAAO,CAOpB;IAED,+BAA+B;IAC/B,eADc,OAAO,CAAC,IAAI,CAAC,CAW1B;IAED,+BAA+B;IAC/B,cADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,+BAA+B;IAC/B,QADc,OAAO,CAAC,IAAI,CAAC,CAI1B;IAED,sBAAsB;IACtB,eADc,IAAI,CAGjB;IAED;;;OAGG;IACH,eAAgB,QAHL,OAAO,KAAK,EAAE,MAGH,KAFT,IAAI,CAoBhB;IAED;;;OAGG;IACH,gBAAiB,QAHN,YAGY,KAFV,IAAI,CAahB;IAED,+BAA+B;IAC/B,eADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,+BAA+B;IAC/B,sBADc,aAAa,CAY1B;CACF;yBAnLwB,oBAAoB;yBAHpB,QAAQ;0BAIP,2BAA2B;uBAHhC,cAAc;gBACnB,KAAK"}