velocious 1.0.189 → 1.0.191

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.
@@ -3,6 +3,7 @@ import ejs from "ejs";
3
3
  import { incorporate } from "incorporator";
4
4
  import * as inflection from "inflection";
5
5
  import { Logger } from "./logger.js";
6
+ import Cookie from "./http-server/cookie.js";
6
7
  import ParamsToObject from "./http-server/client/params-to-object.js";
7
8
  import restArgsError from "./utils/rest-args-error.js";
8
9
  import querystring from "querystring";
@@ -61,6 +62,37 @@ export default class VelociousController {
61
62
  getParams() { return this._params; }
62
63
  /** @returns {import("./http-server/client/request.js").default} - The request. */
63
64
  getRequest() { return this._request; }
65
+ /**
66
+ * @param {string} name - Cookie name.
67
+ * @param {unknown} value - Cookie value.
68
+ * @param {object} [args] - Options object.
69
+ * @param {string} [args.domain] - Domain.
70
+ * @param {Date} [args.expires] - Expires date.
71
+ * @param {boolean} [args.httpOnly] - HttpOnly flag.
72
+ * @param {number} [args.maxAge] - Max-Age in seconds.
73
+ * @param {string} [args.path] - Path.
74
+ * @param {boolean} [args.secure] - Secure flag.
75
+ * @param {"Lax" | "Strict" | "None"} [args.sameSite] - SameSite value.
76
+ * @param {boolean} [args.encrypted] - Whether to encrypt the cookie value.
77
+ * @returns {Cookie} - Cookie instance.
78
+ */
79
+ setCookie(name, value, args = {}) {
80
+ const { encrypted = false, ...options } = args;
81
+ const secret = encrypted ? this.getConfiguration().getCookieSecret() : undefined;
82
+ const cookieValue = encrypted ? Cookie.encryptValue(value, secret) : String(value ?? "");
83
+ const cookie = new Cookie({ name, value: cookieValue, options, encrypted });
84
+ this._response.addHeader("Set-Cookie", cookie.toHeader());
85
+ return cookie;
86
+ }
87
+ /** @returns {Cookie[]} - Cookies from the request. */
88
+ getCookies() {
89
+ if (!this._cookies) {
90
+ const secret = this.getConfiguration().getCookieSecret();
91
+ const headerValue = this._request.header("cookie");
92
+ this._cookies = Cookie.parseHeader(headerValue, secret);
93
+ }
94
+ return this._cookies;
95
+ }
64
96
  /**
65
97
  * @private
66
98
  * @returns {typeof VelociousController} - The controller class.
@@ -167,4 +199,4 @@ export default class VelociousController {
167
199
  /** @returns {import("./http-server/client/response.js").default} - The response. */
168
200
  response() { return this._response; }
169
201
  }
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUE7QUFDckIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLDBDQUEwQyxDQUFBO0FBQ3JFLE9BQU8sYUFBYSxNQUFNLDRCQUE0QixDQUFBO0FBQ3RELE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQTtBQUVyQyxNQUFNLENBQUMsT0FBTyxPQUFPLG1CQUFtQjtJQUN0Qzs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVU7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6Qiw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUE7UUFDMUIsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDO1FBQ2xGLElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQy9DLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FB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LElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHNCQUFzQixRQUFRLEVBQUUsQ0FBQyxDQUFBO3dCQUV4RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7b0JBQ2YsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFDYixDQUFDO2dCQUNILENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtvQkFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBRTNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDZixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsVUFBVTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDO0lBRWxDLHFGQUFxRjtJQUNyRixRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQztDQUNyQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgZWpzIGZyb20gXCJlanNcIlxuaW1wb3J0IHtpbmNvcnBvcmF0ZX0gZnJvbSBcImluY29ycG9yYXRvclwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi9sb2dnZXIuanNcIlxuaW1wb3J0IFBhcmFtc1RvT2JqZWN0IGZyb20gXCIuL2h0dHAtc2VydmVyL2NsaWVudC9wYXJhbXMtdG8tb2JqZWN0LmpzXCJcbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5pbXBvcnQgcXVlcnlzdHJpbmcgZnJvbSBcInF1ZXJ5c3RyaW5nXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzQ29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSAtIE1ldGhvZCBuYW1lLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzdGF0aWMgYmVmb3JlQWN0aW9uKG1ldGhvZE5hbWUpIHtcbiAgICBpZiAoIXRoaXMuX2JlZm9yZUFjdGlvbnMpIHtcbiAgICAgIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gICovXG4gICAgICB0aGlzLl9iZWZvcmVBY3Rpb25zID0gW11cbiAgICB9XG5cbiAgICB0aGlzLl9iZWZvcmVBY3Rpb25zLnB1c2gobWV0aG9kTmFtZSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5hY3Rpb24gLSBBY3Rpb24uXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmNvbnRyb2xsZXIgLSBDb250cm9sbGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncy5wYXJhbXMgLSBQYXJhbWV0ZXJzIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXF1ZXN0LmpzXCIpLmRlZmF1bHR9IGFyZ3MucmVxdWVzdCAtIFJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3Jlc3BvbnNlLmpzXCIpLmRlZmF1bHR9IGFyZ3MucmVzcG9uc2UgLSBSZXNwb25zZSBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnZpZXdQYXRoIC0gVmlldyBwYXRoLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2FjdGlvbiwgY29uZmlndXJhdGlvbiwgY29udHJvbGxlciwgcGFyYW1zLCByZXF1ZXN0LCByZXNwb25zZSwgdmlld1BhdGh9KSB7XG4gICAgaWYgKCFhY3Rpb24pIHRocm93IG5ldyBFcnJvcihcIk5vIGFjdGlvbiBnaXZlblwiKVxuICAgIGlmICghY29uZmlndXJhdGlvbikgdGhyb3cgbmV3IEVycm9yKFwiTm8gY29uZmlndXJhdGlvbiBnaXZlblwiKVxuICAgIGlmICghY29udHJvbGxlcikgdGhyb3cgbmV3IEVycm9yKFwiTm8gY29udHJvbGxlciBnaXZlblwiKVxuICAgIGlmICghcGFyYW1zKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBwYXJhbXMgZ2l2ZW5cIilcbiAgICBpZiAoIXJlcXVlc3QpIHRocm93IG5ldyBFcnJvcihcIk5vIHJlcXVlc3QgZ2l2ZW5cIilcbiAgICBpZiAoIXJlc3BvbnNlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyByZXNwb25zZSBnaXZlblwiKVxuICAgIGlmICghdmlld1BhdGgpIHRocm93IG5ldyBFcnJvcihcIk5vIHZpZXdQYXRoIGdpdmVuXCIpXG5cbiAgICB0aGlzLl9hY3Rpb24gPSBhY3Rpb25cbiAgICB0aGlzLl9jb250cm9sbGVyID0gY29udHJvbGxlclxuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5sb2dnZXIgPSBuZXcgTG9nZ2VyKHRoaXMpXG4gICAgdGhpcy5fcGFyYW1zID0gcGFyYW1zXG4gICAgdGhpcy5fcmVxdWVzdCA9IHJlcXVlc3RcbiAgICB0aGlzLl9yZXNwb25zZSA9IHJlc3BvbnNlXG4gICAgdGhpcy52aWV3UGFyYW1zID0ge31cbiAgICB0aGlzLl92aWV3UGF0aCA9IHZpZXdQYXRoXG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gLSBUaGUgYWN0aW9uLiAgKi9cbiAgZ2V0QWN0aW9uKCkgeyByZXR1cm4gdGhpcy5fYWN0aW9uIH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSAtIFRoZSBjb25maWd1cmF0aW9uLiAgKi9cbiAgZ2V0Q29uZmlndXJhdGlvbigpIHsgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRpb24gfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gLSBUaGUgcGFyYW1zLiAgKi9cbiAgZ2V0UGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcGFyYW1zIH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdH0gLSBUaGUgcmVxdWVzdC4gICovXG4gIGdldFJlcXVlc3QoKSB7IHJldHVybiB0aGlzLl9yZXF1ZXN0IH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHJldHVybnMge3R5cGVvZiBWZWxvY2lvdXNDb250cm9sbGVyfSAtIFRoZSBjb250cm9sbGVyIGNsYXNzLlxuICAgKi9cbiAgX2dldENvbnRyb2xsZXJDbGFzcygpIHtcbiAgICBjb25zdCBjb250cm9sbGVyQ2xhc3MgPSAvKiogQHR5cGUge3R5cGVvZiBWZWxvY2lvdXNDb250cm9sbGVyfSAqLyAodGhpcy5jb25zdHJ1Y3RvcilcblxuICAgIHJldHVybiBjb250cm9sbGVyQ2xhc3NcbiAgfVxuXG4gIGFzeW5jIF9ydW5CZWZvcmVDYWxsYmFja3MoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2dnZXIuZGVidWcoXCJfcnVuQmVmb3JlQ2FsbGJhY2tzXCIpXG5cbiAgICBsZXQgY3VycmVudENvbnRyb2xsZXJDbGFzcyA9IHRoaXMuX2dldENvbnRyb2xsZXJDbGFzcygpXG5cbiAgICB3aGlsZSAoY3VycmVudENvbnRyb2xsZXJDbGFzcykge1xuICAgICAgYXdhaXQgdGhpcy5sb2dnZXIuZGVidWcoYFJ1bm5pbmcgY2FsbGJhY2tzIGZvciAke2N1cnJlbnRDb250cm9sbGVyQ2xhc3MubmFtZX1gKVxuXG4gICAgICBjb25zdCBiZWZvcmVBY3Rpb25zID0gY3VycmVudENvbnRyb2xsZXJDbGFzcy5fYmVmb3JlQWN0aW9uc1xuXG4gICAgICBpZiAoYmVmb3JlQWN0aW9ucykge1xuICAgICAgICBmb3IgKGNvbnN0IGJlZm9yZUFjdGlvbk5hbWUgb2YgYmVmb3JlQWN0aW9ucykge1xuICAgICAgICAgIGNvbnN0IGJlZm9yZUFjdGlvbiA9IGN1cnJlbnRDb250cm9sbGVyQ2xhc3MucHJvdG90eXBlW2JlZm9yZUFjdGlvbk5hbWVdXG5cbiAgICAgICAgICBpZiAoIWJlZm9yZUFjdGlvbikgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGJlZm9yZSBhY3Rpb246ICR7YmVmb3JlQWN0aW9uTmFtZX1gKVxuXG4gICAgICAgICAgY29uc3QgYm91bmRCZWZvcmVBY3Rpb24gPSBiZWZvcmVBY3Rpb24uYmluZCh0aGlzKVxuXG4gICAgICAgICAgYXdhaXQgYm91bmRCZWZvcmVBY3Rpb24oKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRDb250cm9sbGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3VycmVudENvbnRyb2xsZXJDbGFzcylcblxuICAgICAgaWYgKCFjdXJyZW50Q29udHJvbGxlckNsYXNzPy5uYW1lPy5lbmRzV2l0aChcIkNvbnRyb2xsZXJcIikpIGJyZWFrXG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5sb2dnZXIuZGVidWcoXCJBZnRlciBydW5CZWZvcmVDYWxsYmFja3NcIilcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gLSBUaGUgcGFyYW1zLiAgKi9cbiAgcGFyYW1zKCkge1xuICAgIC8vIE1lcmdlIHF1ZXJ5IHBhcmFtZXRlcnMgc28gY29udHJvbGxlcnMgY2FuIHJlYWQgdGhlbSB2aWEgcGFyYW1zKClcbiAgICBjb25zdCBtZXJnZWRQYXJhbXMgPSB7Li4udGhpcy5xdWVyeVBhcmFtZXRlcnMoKSwgLi4udGhpcy5fcGFyYW1zfVxuXG4gICAgaWYgKCFtZXJnZWRQYXJhbXMuY29udHJvbGxlcikgbWVyZ2VkUGFyYW1zLmNvbnRyb2xsZXIgPSB0aGlzLl9jb250cm9sbGVyXG5cbiAgICByZXR1cm4gbWVyZ2VkUGFyYW1zXG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59IC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMuICAqL1xuICBxdWVyeVBhcmFtZXRlcnMoKSB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLl9yZXF1ZXN0LnBhdGgoKS5zcGxpdChcIj9cIilbMV1cblxuICAgIGlmICghcXVlcnkpIHJldHVybiB7fVxuXG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqL1xuICAgIGNvbnN0IHVucGFyc2VkUGFyYW1zID0gcXVlcnlzdHJpbmcucGFyc2UocXVlcnkpXG4gICAgY29uc3QgcGFyYW1zVG9PYmplY3QgPSBuZXcgUGFyYW1zVG9PYmplY3QodW5wYXJzZWRQYXJhbXMpXG5cbiAgICByZXR1cm4gcGFyYW1zVG9PYmplY3QudG9PYmplY3QoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzLmpzb25dIC0gSnNvbi5cbiAgICogQHBhcmFtIHtudW1iZXIgfCBzdHJpbmd9IFthcmdzLnN0YXR1c10gLSBTdGF0dXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyByZW5kZXIoe2pzb24sIHN0YXR1cywgLi4ucmVzdEFyZ3N9ID0ge30pIHtcbiAgICByZXN0QXJnc0Vycm9yKHJlc3RBcmdzKVxuXG4gICAgaWYgKGpzb24pIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckpzb25BcmcoanNvbilcbiAgICB9XG5cbiAgICBpZiAoc3RhdHVzKSB7XG4gICAgICB0aGlzLl9yZXNwb25zZS5zZXRTdGF0dXMoc3RhdHVzKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnJlbmRlclZpZXcoKVxuICB9XG5cbiAgLyoqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gSlNPTiBwYXlsb2FkLiAqL1xuICByZW5kZXJKc29uQXJnKGpzb24pIHtcbiAgICBjb25zdCBib2R5ID0gSlNPTi5zdHJpbmdpZnkoanNvbilcblxuICAgIHRoaXMuX3Jlc3BvbnNlLnNldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLCBcImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLThcIilcbiAgICB0aGlzLl9yZXNwb25zZS5zZXRCb2R5KGJvZHkpXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS4gICovXG4gIHJlbmRlclZpZXcoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHZpZXdQYXRoID0gYCR7dGhpcy5fdmlld1BhdGh9LyR7aW5mbGVjdGlvbi5kYXNoZXJpemUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMuX2FjdGlvbikpfS5lanNgXG4gICAgICBjb25zdCBhY3R1YWxWaWV3UGFyYW1zID0gaW5jb3Jwb3JhdGUoe2NvbnRyb2xsZXI6IHRoaXN9LCB0aGlzLnZpZXdQYXJhbXMpXG5cbiAgICAgIGVqcy5yZW5kZXJGaWxlKHZpZXdQYXRoLCBhY3R1YWxWaWV3UGFyYW1zLCB7fSwgKGVyciwgc3RyKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBpZiAoZXJyLmNvZGUgPT09IFwiRU5PRU5UXCIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oYE1pc3NpbmcgdmlldyBmaWxlOiAke3ZpZXdQYXRofWApXG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9yZXNwb25zZS5nZXRTdGF0dXNDb2RlKCkgPT09IDIwMCkge1xuICAgICAgICAgICAgICB0aGlzLl9yZXNwb25zZS5zZXRTdGF0dXMoXCJpbnRlcm5hbC1zZXJ2ZXItZXJyb3JcIilcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2Uuc2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsIFwidGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFwiKVxuICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2Uuc2V0Qm9keShgTWlzc2luZyB2aWV3IGZpbGU6ICR7dmlld1BhdGh9YClcblxuICAgICAgICAgICAgcmVzb2x2ZShudWxsKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWplY3QoZXJyKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9yZXNwb25zZS5zZXRIZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgXCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLThcIilcbiAgICAgICAgICB0aGlzLl9yZXNwb25zZS5zZXRCb2R5KHN0cilcblxuICAgICAgICAgIHJlc29sdmUobnVsbClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gICovXG4gIHJlbmRlclRleHQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwicmVuZGVyVGV4dCBzdHViXCIpXG4gIH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdH0gLSBUaGUgcmVxdWVzdC4gICovXG4gIHJlcXVlc3QoKSB7IHJldHVybiB0aGlzLl9yZXF1ZXN0IH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3Jlc3BvbnNlLmpzXCIpLmRlZmF1bHR9IC0gVGhlIHJlc3BvbnNlLiAgKi9cbiAgcmVzcG9uc2UoKSB7IHJldHVybiB0aGlzLl9yZXNwb25zZSB9XG59XG5cbiJdfQ==
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUE7QUFDckIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sTUFBTSxNQUFNLHlCQUF5QixDQUFBO0FBQzVDLE9BQU8sY0FBYyxNQUFNLDBDQUEwQyxDQUFBO0FBQ3JFLE9BQU8sYUFBYSxNQUFNLDRCQUE0QixDQUFBO0FBQ3RELE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQTtBQUVyQyxNQUFNLENBQUMsT0FBTyxPQUFPLG1CQUFtQjtJQUN0Qzs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVU7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6Qiw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUE7UUFDMUIsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDO1FBQ2xGLElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQy9DLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJ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RUFBRSwyQkFBMkIsQ0FBQyxDQUFBO3dCQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsUUFBUSxFQUFFLENBQUMsQ0FBQTt3QkFFeEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUNmLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBQ2IsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLDBCQUEwQixDQUFDLENBQUE7b0JBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUUzQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ2YsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsMENBQTBDO0lBQzFDLFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELG1GQUFtRjtJQUNuRixPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQztJQUVsQyxxRkFBcUY7SUFDckYsUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUM7Q0FDckMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IGVqcyBmcm9tIFwiZWpzXCJcbmltcG9ydCB7aW5jb3Jwb3JhdGV9IGZyb20gXCJpbmNvcnBvcmF0b3JcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBDb29raWUgZnJvbSBcIi4vaHR0cC1zZXJ2ZXIvY29va2llLmpzXCJcbmltcG9ydCBQYXJhbXNUb09iamVjdCBmcm9tIFwiLi9odHRwLXNlcnZlci9jbGllbnQvcGFyYW1zLXRvLW9iamVjdC5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuaW1wb3J0IHF1ZXJ5c3RyaW5nIGZyb20gXCJxdWVyeXN0cmluZ1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0NvbnRyb2xsZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgLSBNZXRob2QgbmFtZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc3RhdGljIGJlZm9yZUFjdGlvbihtZXRob2ROYW1lKSB7XG4gICAgaWYgKCF0aGlzLl9iZWZvcmVBY3Rpb25zKSB7XG4gICAgICAvKiogQHR5cGUge0FycmF5PHN0cmluZz59ICAqL1xuICAgICAgdGhpcy5fYmVmb3JlQWN0aW9ucyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy5fYmVmb3JlQWN0aW9ucy5wdXNoKG1ldGhvZE5hbWUpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MuYWN0aW9uIC0gQWN0aW9uLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jb250cm9sbGVyIC0gQ29udHJvbGxlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MucGFyYW1zIC0gUGFyYW1ldGVycyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0fSBhcmdzLnJlcXVlc3QgLSBSZXF1ZXN0IG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXNwb25zZS5qc1wiKS5kZWZhdWx0fSBhcmdzLnJlc3BvbnNlIC0gUmVzcG9uc2Ugb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy52aWV3UGF0aCAtIFZpZXcgcGF0aC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHthY3Rpb24sIGNvbmZpZ3VyYXRpb24sIGNvbnRyb2xsZXIsIHBhcmFtcywgcmVxdWVzdCwgcmVzcG9uc2UsIHZpZXdQYXRofSkge1xuICAgIGlmICghYWN0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBhY3Rpb24gZ2l2ZW5cIilcbiAgICBpZiAoIWNvbmZpZ3VyYXRpb24pIHRocm93IG5ldyBFcnJvcihcIk5vIGNvbmZpZ3VyYXRpb24gZ2l2ZW5cIilcbiAgICBpZiAoIWNvbnRyb2xsZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIGNvbnRyb2xsZXIgZ2l2ZW5cIilcbiAgICBpZiAoIXBhcmFtcykgdGhyb3cgbmV3IEVycm9yKFwiTm8gcGFyYW1zIGdpdmVuXCIpXG4gICAgaWYgKCFyZXF1ZXN0KSB0aHJvdyBuZXcgRXJyb3IoXCJObyByZXF1ZXN0IGdpdmVuXCIpXG4gICAgaWYgKCFyZXNwb25zZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gcmVzcG9uc2UgZ2l2ZW5cIilcbiAgICBpZiAoIXZpZXdQYXRoKSB0aHJvdyBuZXcgRXJyb3IoXCJObyB2aWV3UGF0aCBnaXZlblwiKVxuXG4gICAgdGhpcy5fYWN0aW9uID0gYWN0aW9uXG4gICAgdGhpcy5fY29udHJvbGxlciA9IGNvbnRyb2xsZXJcbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICAgIHRoaXMuX3BhcmFtcyA9IHBhcmFtc1xuICAgIHRoaXMuX3JlcXVlc3QgPSByZXF1ZXN0XG4gICAgdGhpcy5fcmVzcG9uc2UgPSByZXNwb25zZVxuICAgIHRoaXMudmlld1BhcmFtcyA9IHt9XG4gICAgdGhpcy5fdmlld1BhdGggPSB2aWV3UGF0aFxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIGFjdGlvbi4gICovXG4gIGdldEFjdGlvbigpIHsgcmV0dXJuIHRoaXMuX2FjdGlvbiB9XG5cbiAgLyoqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gLSBUaGUgY29uZmlndXJhdGlvbi4gICovXG4gIGdldENvbmZpZ3VyYXRpb24oKSB7IHJldHVybiB0aGlzLl9jb25maWd1cmF0aW9uIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59IC0gVGhlIHBhcmFtcy4gICovXG4gIGdldFBhcmFtcygpIHsgcmV0dXJuIHRoaXMuX3BhcmFtcyB9XG5cbiAgLyoqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXF1ZXN0LmpzXCIpLmRlZmF1bHR9IC0gVGhlIHJlcXVlc3QuICAqL1xuICBnZXRSZXF1ZXN0KCkgeyByZXR1cm4gdGhpcy5fcmVxdWVzdCB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gQ29va2llIG5hbWUuXG4gICAqIEBwYXJhbSB7dW5rbm93bn0gdmFsdWUgLSBDb29raWUgdmFsdWUuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmRvbWFpbl0gLSBEb21haW4uXG4gICAqIEBwYXJhbSB7RGF0ZX0gW2FyZ3MuZXhwaXJlc10gLSBFeHBpcmVzIGRhdGUuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MuaHR0cE9ubHldIC0gSHR0cE9ubHkgZmxhZy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLm1heEFnZV0gLSBNYXgtQWdlIGluIHNlY29uZHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5wYXRoXSAtIFBhdGguXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3Muc2VjdXJlXSAtIFNlY3VyZSBmbGFnLlxuICAgKiBAcGFyYW0ge1wiTGF4XCIgfCBcIlN0cmljdFwiIHwgXCJOb25lXCJ9IFthcmdzLnNhbWVTaXRlXSAtIFNhbWVTaXRlIHZhbHVlLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmVuY3J5cHRlZF0gLSBXaGV0aGVyIHRvIGVuY3J5cHQgdGhlIGNvb2tpZSB2YWx1ZS5cbiAgICogQHJldHVybnMge0Nvb2tpZX0gLSBDb29raWUgaW5zdGFuY2UuXG4gICAqL1xuICBzZXRDb29raWUobmFtZSwgdmFsdWUsIGFyZ3MgPSB7fSkge1xuICAgIGNvbnN0IHtlbmNyeXB0ZWQgPSBmYWxzZSwgLi4ub3B0aW9uc30gPSBhcmdzXG4gICAgY29uc3Qgc2VjcmV0ID0gZW5jcnlwdGVkID8gdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0Q29va2llU2VjcmV0KCkgOiB1bmRlZmluZWRcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IGVuY3J5cHRlZCA/IENvb2tpZS5lbmNyeXB0VmFsdWUodmFsdWUsIHNlY3JldCkgOiBTdHJpbmcodmFsdWUgPz8gXCJcIilcbiAgICBjb25zdCBjb29raWUgPSBuZXcgQ29va2llKHtuYW1lLCB2YWx1ZTogY29va2llVmFsdWUsIG9wdGlvbnMsIGVuY3J5cHRlZH0pXG5cbiAgICB0aGlzLl9yZXNwb25zZS5hZGRIZWFkZXIoXCJTZXQtQ29va2llXCIsIGNvb2tpZS50b0hlYWRlcigpKVxuXG4gICAgcmV0dXJuIGNvb2tpZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtDb29raWVbXX0gLSBDb29raWVzIGZyb20gdGhlIHJlcXVlc3QuICovXG4gIGdldENvb2tpZXMoKSB7XG4gICAgaWYgKCF0aGlzLl9jb29raWVzKSB7XG4gICAgICBjb25zdCBzZWNyZXQgPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXRDb29raWVTZWNyZXQoKVxuICAgICAgY29uc3QgaGVhZGVyVmFsdWUgPSB0aGlzLl9yZXF1ZXN0LmhlYWRlcihcImNvb2tpZVwiKVxuXG4gICAgICB0aGlzLl9jb29raWVzID0gQ29va2llLnBhcnNlSGVhZGVyKGhlYWRlclZhbHVlLCBzZWNyZXQpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2Nvb2tpZXNcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcmV0dXJucyB7dHlwZW9mIFZlbG9jaW91c0NvbnRyb2xsZXJ9IC0gVGhlIGNvbnRyb2xsZXIgY2xhc3MuXG4gICAqL1xuICBfZ2V0Q29udHJvbGxlckNsYXNzKCkge1xuICAgIGNvbnN0IGNvbnRyb2xsZXJDbGFzcyA9IC8qKiBAdHlwZSB7dHlwZW9mIFZlbG9jaW91c0NvbnRyb2xsZXJ9ICovICh0aGlzLmNvbnN0cnVjdG9yKVxuXG4gICAgcmV0dXJuIGNvbnRyb2xsZXJDbGFzc1xuICB9XG5cbiAgYXN5bmMgX3J1bkJlZm9yZUNhbGxiYWNrcygpIHtcbiAgICBhd2FpdCB0aGlzLmxvZ2dlci5kZWJ1ZyhcIl9ydW5CZWZvcmVDYWxsYmFja3NcIilcblxuICAgIGxldCBjdXJyZW50Q29udHJvbGxlckNsYXNzID0gdGhpcy5fZ2V0Q29udHJvbGxlckNsYXNzKClcblxuICAgIHdoaWxlIChjdXJyZW50Q29udHJvbGxlckNsYXNzKSB7XG4gICAgICBhd2FpdCB0aGlzLmxvZ2dlci5kZWJ1ZyhgUnVubmluZyBjYWxsYmFja3MgZm9yICR7Y3VycmVudENvbnRyb2xsZXJDbGFzcy5uYW1lfWApXG5cbiAgICAgIGNvbnN0IGJlZm9yZUFjdGlvbnMgPSBjdXJyZW50Q29udHJvbGxlckNsYXNzLl9iZWZvcmVBY3Rpb25zXG5cbiAgICAgIGlmIChiZWZvcmVBY3Rpb25zKSB7XG4gICAgICAgIGZvciAoY29uc3QgYmVmb3JlQWN0aW9uTmFtZSBvZiBiZWZvcmVBY3Rpb25zKSB7XG4gICAgICAgICAgY29uc3QgYmVmb3JlQWN0aW9uID0gY3VycmVudENvbnRyb2xsZXJDbGFzcy5wcm90b3R5cGVbYmVmb3JlQWN0aW9uTmFtZV1cblxuICAgICAgICAgIGlmICghYmVmb3JlQWN0aW9uKSB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggYmVmb3JlIGFjdGlvbjogJHtiZWZvcmVBY3Rpb25OYW1lfWApXG5cbiAgICAgICAgICBjb25zdCBib3VuZEJlZm9yZUFjdGlvbiA9IGJlZm9yZUFjdGlvbi5iaW5kKHRoaXMpXG5cbiAgICAgICAgICBhd2FpdCBib3VuZEJlZm9yZUFjdGlvbigpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY3VycmVudENvbnRyb2xsZXJDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdXJyZW50Q29udHJvbGxlckNsYXNzKVxuXG4gICAgICBpZiAoIWN1cnJlbnRDb250cm9sbGVyQ2xhc3M/Lm5hbWU/LmVuZHNXaXRoKFwiQ29udHJvbGxlclwiKSkgYnJlYWtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkFmdGVyIHJ1bkJlZm9yZUNhbGxiYWNrc1wiKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSAtIFRoZSBwYXJhbXMuICAqL1xuICBwYXJhbXMoKSB7XG4gICAgLy8gTWVyZ2UgcXVlcnkgcGFyYW1ldGVycyBzbyBjb250cm9sbGVycyBjYW4gcmVhZCB0aGVtIHZpYSBwYXJhbXMoKVxuICAgIGNvbnN0IG1lcmdlZFBhcmFtcyA9IHsuLi50aGlzLnF1ZXJ5UGFyYW1ldGVycygpLCAuLi50aGlzLl9wYXJhbXN9XG5cbiAgICBpZiAoIW1lcmdlZFBhcmFtcy5jb250cm9sbGVyKSBtZXJnZWRQYXJhbXMuY29udHJvbGxlciA9IHRoaXMuX2NvbnRyb2xsZXJcblxuICAgIHJldHVybiBtZXJnZWRQYXJhbXNcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gLSBUaGUgcXVlcnkgcGFyYW1ldGVycy4gICovXG4gIHF1ZXJ5UGFyYW1ldGVycygpIHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuX3JlcXVlc3QucGF0aCgpLnNwbGl0KFwiP1wiKVsxXVxuXG4gICAgaWYgKCFxdWVyeSkgcmV0dXJuIHt9XG5cbiAgICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIGFueT59ICovXG4gICAgY29uc3QgdW5wYXJzZWRQYXJhbXMgPSBxdWVyeXN0cmluZy5wYXJzZShxdWVyeSlcbiAgICBjb25zdCBwYXJhbXNUb09iamVjdCA9IG5ldyBQYXJhbXNUb09iamVjdCh1bnBhcnNlZFBhcmFtcylcblxuICAgIHJldHVybiBwYXJhbXNUb09iamVjdC50b09iamVjdCgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge29iamVjdH0gW2FyZ3MuanNvbl0gLSBKc29uLlxuICAgKiBAcGFyYW0ge251bWJlciB8IHN0cmluZ30gW2FyZ3Muc3RhdHVzXSAtIFN0YXR1cy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIHJlbmRlcih7anNvbiwgc3RhdHVzLCAuLi5yZXN0QXJnc30gPSB7fSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoanNvbikge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVySnNvbkFyZyhqc29uKVxuICAgIH1cblxuICAgIGlmIChzdGF0dXMpIHtcbiAgICAgIHRoaXMuX3Jlc3BvbnNlLnNldFN0YXR1cyhzdGF0dXMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucmVuZGVyVmlldygpXG4gIH1cblxuICAvKiogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBKU09OIHBheWxvYWQuICovXG4gIHJlbmRlckpzb25BcmcoanNvbikge1xuICAgIGNvbnN0IGJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKVxuXG4gICAgdGhpcy5fcmVzcG9uc2Uuc2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsIFwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOFwiKVxuICAgIHRoaXMuX3Jlc3BvbnNlLnNldEJvZHkoYm9keSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLiAgKi9cbiAgcmVuZGVyVmlldygpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgdmlld1BhdGggPSBgJHt0aGlzLl92aWV3UGF0aH0vJHtpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUodGhpcy5fYWN0aW9uKSl9LmVqc2BcbiAgICAgIGNvbnN0IGFjdHVhbFZpZXdQYXJhbXMgPSBpbmNvcnBvcmF0ZSh7Y29udHJvbGxlcjogdGhpc30sIHRoaXMudmlld1BhcmFtcylcblxuICAgICAgZWpzLnJlbmRlckZpbGUodmlld1BhdGgsIGFjdHVhbFZpZXdQYXJhbXMsIHt9LCAoZXJyLCBzdHIpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gXCJFTk9FTlRcIikge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIud2FybihgTWlzc2luZyB2aWV3IGZpbGU6ICR7dmlld1BhdGh9YClcblxuICAgICAgICAgICAgaWYgKHRoaXMuX3Jlc3BvbnNlLmdldFN0YXR1c0NvZGUoKSA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNlLnNldFN0YXR1cyhcImludGVybmFsLXNlcnZlci1lcnJvclwiKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9yZXNwb25zZS5zZXRIZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XCIpXG4gICAgICAgICAgICB0aGlzLl9yZXNwb25zZS5zZXRCb2R5KGBNaXNzaW5nIHZpZXcgZmlsZTogJHt2aWV3UGF0aH1gKVxuXG4gICAgICAgICAgICByZXNvbHZlKG51bGwpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlamVjdChlcnIpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3Jlc3BvbnNlLnNldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLCBcInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOFwiKVxuICAgICAgICAgIHRoaXMuX3Jlc3BvbnNlLnNldEJvZHkoc3RyKVxuXG4gICAgICAgICAgcmVzb2x2ZShudWxsKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLiAgKi9cbiAgcmVuZGVyVGV4dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJyZW5kZXJUZXh0IHN0dWJcIilcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0fSAtIFRoZSByZXF1ZXN0LiAgKi9cbiAgcmVxdWVzdCgpIHsgcmV0dXJuIHRoaXMuX3JlcXVlc3QgfVxuXG4gIC8qKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvcmVzcG9uc2UuanNcIikuZGVmYXVsdH0gLSBUaGUgcmVzcG9uc2UuICAqL1xuICByZXNwb25zZSgpIHsgcmV0dXJuIHRoaXMuX3Jlc3BvbnNlIH1cbn1cbiJdfQ==
@@ -199,11 +199,22 @@ declare class VelociousDatabaseRecord {
199
199
  * @param {Array<Array<unknown>>} rows - Rows to insert.
200
200
  * @param {object} [args] - Options object.
201
201
  * @param {boolean} [args.cast] - Whether to cast values based on column types.
202
- * @returns {Promise<void>} - Resolves when complete.
202
+ * @param {boolean} [args.retryIndividuallyOnFailure] - Retry rows individually if a batch insert fails.
203
+ * @param {boolean} [args.returnResults] - Return succeeded/failed rows instead of throwing when retries fail.
204
+ * @returns {Promise<void | {succeededRows: Array<Array<unknown>>, failedRows: Array<Array<unknown>>, errors: Array<{row: Array<unknown>, error: unknown}>}>} - Resolves when complete.
203
205
  */
204
206
  static insertMultiple(columns: Array<string>, rows: Array<Array<unknown>>, args?: {
205
207
  cast?: boolean;
206
- }): Promise<void>;
208
+ retryIndividuallyOnFailure?: boolean;
209
+ returnResults?: boolean;
210
+ }): Promise<void | {
211
+ succeededRows: Array<Array<unknown>>;
212
+ failedRows: Array<Array<unknown>>;
213
+ errors: Array<{
214
+ row: Array<unknown>;
215
+ error: unknown;
216
+ }>;
217
+ }>;
207
218
  /**
208
219
  * @param {object} args - Options object.
209
220
  * @param {Array<string>} args.columns - Column names.
@@ -214,6 +225,11 @@ declare class VelociousDatabaseRecord {
214
225
  columns: Array<string>;
215
226
  rows: Array<Array<unknown>>;
216
227
  }): Array<Array<unknown>>;
228
+ /**
229
+ * @param {Array<unknown>} row - Row to serialize.
230
+ * @returns {string} - Safe row representation.
231
+ */
232
+ static _safeSerializeInsertRow(row: Array<unknown>): string;
217
233
  /**
218
234
  * @param {object} args - Options object.
219
235
  * @param {string} args.columnName - Column name.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/record/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/record/index.js"],"names":[],"mappings":"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"}