{"version":3,"file":"node-ray-B-1phd0W.js","sources":["../../../node_modules/node-ray/dist/web.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nimport axios from \"axios\";\nimport { format } from \"@permafrost-dev/pretty-format\";\nimport { v4 } from \"uuid\";\nimport Stacktrace from \"stacktrace-js\";\nimport formatXml from \"xml-formatter\";\nconst _Client = class _Client {\n // eslint-disable-next-line no-unused-vars\n constructor(portNumber = 23517, host = \"localhost\", scheme = \"http\") {\n this.portNumber = portNumber;\n this.host = host;\n this.scheme = scheme;\n }\n async init() {\n await this.updateRayAvailability();\n }\n isRayAvailable() {\n this.attemptAvailableReset();\n if (_Client.rayState === null) {\n this.updateRayAvailability();\n }\n if (_Client.rayState !== null) {\n return _Client.rayState;\n }\n return true;\n }\n attemptAvailableReset() {\n if (_Client.lastRayStateCheck !== null && (/* @__PURE__ */ new Date()).getTime() - _Client.lastRayStateCheck >= 3e4) {\n _Client.rayState = null;\n }\n }\n async updateRayAvailability() {\n let result = true;\n if (_Client.lastRayStateCheck !== null && (/* @__PURE__ */ new Date()).getTime() - _Client.lastRayStateCheck < 3e4) {\n return true;\n }\n _Client.lastRayStateCheck = (/* @__PURE__ */ new Date()).getTime();\n try {\n await axios.get(this.getUrlForPath(\"/locks/__availabilty_check\"), {});\n } catch (err) {\n result = false;\n if (err.response) {\n result = true;\n }\n } finally {\n _Client.rayState = result;\n }\n }\n getUrlForPath(path) {\n var _a;\n path = path.replace(/^\\//, \"\");\n return `${(_a = this.scheme) != null ? _a : \"http\"}://${this.host}:${this.portNumber}/${path}`;\n }\n async send(request) {\n if (_Client.rayState === null || _Client.lastRayStateCheck === null) {\n this.updateRayAvailability();\n }\n try {\n request.payloads = this.ensureAllPayloadsHaveAnOrigin(request.payloads);\n await axios.post(this.getUrlForPath(\"/\"), request.toArray(), { withCredentials: false });\n await new Promise((resolve) => setTimeout(resolve, 50));\n } catch (err) {\n }\n }\n ensureAllPayloadsHaveAnOrigin(payloads) {\n payloads.forEach((payload) => {\n if (payload.data.origin.file === null || payload.data.origin.file === \"\" || typeof payload.data.origin[\"file\"] === \"undefined\") {\n payload.data.origin[\"file\"] = \"/unknown-file.js\";\n payload.data.origin[\"line_number\"] = 1;\n payload.data.origin[\"function_name\"] = \"unknown\";\n }\n });\n return payloads;\n }\n async lockExists(lockName) {\n return new Promise(async (resolve, reject) => {\n let resp;\n try {\n resp = await axios.get(this.getUrlForPath(`/locks/${lockName}`));\n } catch (err) {\n return false;\n }\n if (resp.data.stop_execution) {\n reject(new Error(\"stopping execution\"));\n return;\n }\n if (typeof resp.data[\"active\"] === \"undefined\") {\n resolve(resp.data);\n return;\n }\n resolve(resp.data);\n });\n }\n};\n__publicField(_Client, \"rayState\", true);\n__publicField(_Client, \"lastRayStateCheck\", null);\nlet Client = _Client;\nclass RayColors {\n /* istanbul ignore next */\n color(name) {\n return this;\n }\n green() {\n return this.color(\"green\");\n }\n orange() {\n return this.color(\"orange\");\n }\n red() {\n return this.color(\"red\");\n }\n purple() {\n return this.color(\"purple\");\n }\n blue() {\n return this.color(\"blue\");\n }\n gray() {\n return this.color(\"gray\");\n }\n}\nclass RayScreenColors {\n screenColor(color) {\n return this;\n }\n screenGreen() {\n return this.screenColor(\"green\");\n }\n screenOrange() {\n return this.screenColor(\"orange\");\n }\n screenRed() {\n return this.screenColor(\"red\");\n }\n screenPurple() {\n return this.screenColor(\"purple\");\n }\n screenBlue() {\n return this.screenColor(\"blue\");\n }\n screenGray() {\n return this.screenColor(\"gray\");\n }\n}\nclass RaySizes {\n /* istanbul ignore next */\n size(size) {\n return this;\n }\n small() {\n return this.size(\"sm\");\n }\n large() {\n return this.size(\"lg\");\n }\n}\nclass RemovesRayFrames {\n static removeRayFrames(frames) {\n return frames.filter((frame) => !RemovesRayFrames.isRayFrame(frame) && !RemovesRayFrames.isNodeFrame(frame));\n }\n static isRayFrame(frame) {\n var _a;\n for (const rayNamespace of this.rayNamespaces()) {\n if ((_a = frame.fileName) == null ? void 0 : _a.includes(rayNamespace)) {\n return true;\n }\n }\n return false;\n }\n static isNodeFrame(frame) {\n var _a, _b;\n return ((_a = frame.fileName) == null ? void 0 : _a.includes(\"node:\")) || ((_b = frame.fileName) == null ? void 0 : _b.includes(\"node_modules\")) || false;\n }\n static rayNamespaces() {\n return [\"ray-node/dist\", \"node-ray/dist\", \"vue-ray/dist\", \"-ray\"];\n }\n}\nconst consoleLog = console.log.bind({});\nconst consoleWrapper = (...args) => {\n if (typeof Ray.client !== \"undefined\" && Ray.client.isRayAvailable()) {\n Ray.create().then((r) => r.send(...args));\n }\n consoleLog(...args);\n};\nconst _ConsoleInterceptor = class _ConsoleInterceptor {\n enable() {\n _ConsoleInterceptor.active = true;\n console.log = consoleWrapper;\n }\n disable() {\n _ConsoleInterceptor.active = false;\n console.log = consoleLog;\n }\n active() {\n return _ConsoleInterceptor.active;\n }\n};\n__publicField(_ConsoleInterceptor, \"active\", false);\nlet ConsoleInterceptor = _ConsoleInterceptor;\nconst _Hostname = class _Hostname {\n static get() {\n var _a;\n return (_a = _Hostname.hostname) != null ? _a : \"remote\";\n }\n static set(hostname) {\n _Hostname.hostname = hostname;\n }\n};\n__publicField(_Hostname, \"hostname\", null);\nlet Hostname = _Hostname;\nclass ArgumentConverter {\n static convertToPrimitive(arg) {\n if (arg === null) {\n return { value: null, isHtml: false };\n }\n if (typeof arg === \"string\") {\n return { value: arg, isHtml: false };\n }\n if (typeof arg === \"number\") {\n return { value: arg, isHtml: false };\n }\n if (typeof arg === \"boolean\") {\n return { value: arg, isHtml: false };\n }\n return { value: ArgumentConverter.prettyFormatForHtml(arg), isHtml: true };\n }\n static buildHtmlElement(tagName, classes, slot) {\n return `<${tagName} style=\"font-size: 0.8rem!important;\" class=\"${classes}\">${slot}`;\n }\n static prettyFormatForHtml(arg) {\n const formatted = format(arg, { indent: \" \" }).replaceAll(\" \", \" \").replace(/\\r\\n|\\r|\\n/g, \"
\").replace(/(\"[^\"]+\")/g, this.buildHtmlElement(\"code\", \"bold text-green-600 p-0\", \"$1\")).replace(/Array( |\\s)+(\\[[^\\]]+\\])/g, this.buildHtmlElement(\"code\", \"bold text-gray-500 p-0\", \"$1$2\")).replace(/^(\\[[^\\]]+\\])$/g, this.buildHtmlElement(\"code\", \"bold text-gray-500 p-0\", \"$1\")).replace(/(\\{.+\\})/g, this.buildHtmlElement(\"code\", \"text-gray-600\", \"$1\")).replace(\n /(Array|Object|Number|Function|Circular|Symbol|WeakMap|Map)/g,\n this.buildHtmlElement(\"span\", \"bold text-yellow-600\", \"$1\")\n ).replaceAll(/(true|false|null|undefined|NaN)/g, this.buildHtmlElement(\"span\", \"bold text-indigo-600\", \"$1\")).replace(/(: |[,[\\]{}])/g, this.buildHtmlElement(\"span\", \"bold text-orange-400\", \"$1\"));\n return this.buildHtmlElement(\"code\", \"\", formatted);\n }\n}\nclass Payload {\n constructor() {\n __publicField(this, \"remotePath\", null);\n __publicField(this, \"localPath\", null);\n __publicField(this, \"initialized\", false);\n __publicField(this, \"data\", {\n type: \"\",\n content: \"\",\n origin: { function_name: \"\", file: \"\", line_number: 0, hostname: \"remote\" }\n });\n }\n replaceRemotePathWithLocalPath(filePath) {\n if (this.remotePath === null || this.localPath === null) {\n return filePath;\n }\n const pattern = new RegExp(`^${this.remotePath}`);\n return filePath.replace(pattern, this.localPath);\n }\n getContent() {\n return {};\n }\n toArray() {\n if (!this.initialized) {\n this.initialized = true;\n this.data.type = this.getType();\n this.data.content = this.getContent();\n this.data.origin.file = this.replaceRemotePathWithLocalPath(this.data.origin.file);\n }\n return this.data;\n }\n toJson() {\n return JSON.stringify(this.toArray());\n }\n}\nclass BoolPayload extends Payload {\n constructor(value) {\n super();\n __publicField(this, \"value\");\n this.value = value;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n return {\n content: this.value,\n label: \"Boolean\"\n };\n }\n}\nclass HtmlPayload extends Payload {\n constructor(html = \"\") {\n super();\n __publicField(this, \"html\");\n this.html = html;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n return {\n content: this.html,\n label: \"HTML\"\n };\n }\n}\nclass LogPayload extends Payload {\n constructor(values) {\n super();\n __publicField(this, \"values\");\n this.values = Array.isArray(values) ? values : [values];\n }\n static createForArguments(args) {\n const dumpedArguments = args.map((argument) => {\n return ArgumentConverter.convertToPrimitive(argument).value;\n });\n return new this(dumpedArguments);\n }\n getType() {\n return \"log\";\n }\n getContent() {\n return {\n values: this.values\n };\n }\n}\nclass NullPayload extends Payload {\n getType() {\n return \"custom\";\n }\n getContent() {\n return {\n content: null,\n label: \"Null\"\n };\n }\n}\nclass PayloadFactory {\n constructor(values) {\n __publicField(this, \"values\");\n this.values = values;\n }\n static createForValues(args) {\n return new this(args).getPayloads();\n }\n static registerPayloadFinder(callable) {\n this.payloadFinder = callable;\n }\n getPayloads() {\n return this.values.map((value) => {\n return this.getPayload(value);\n });\n }\n getPayload(value) {\n if (typeof value === \"boolean\") {\n return new BoolPayload(value);\n }\n if (value === null) {\n return new NullPayload();\n }\n const convertedResult = ArgumentConverter.convertToPrimitive(value);\n if (convertedResult.isHtml) {\n return new HtmlPayload(convertedResult.value);\n }\n return new LogPayload(convertedResult.value);\n }\n}\n__publicField(PayloadFactory, \"payloadFinder\", null);\nclass CallerPayload extends Payload {\n constructor(frames) {\n super();\n __publicField(this, \"frames\");\n this.frames = RemovesRayFrames.removeRayFrames(frames);\n }\n getType() {\n return \"caller\";\n }\n getContent() {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const frame = this.frames.slice(0)[0] || null;\n const funcNameParts = (_d = (_c = (_b = (_a = frame == null ? void 0 : frame.getFunctionName()) == null ? void 0 : _a.replace(\"Proxy.\", \"\")) == null ? void 0 : _b.split(\".\")) == null ? void 0 : _c.slice(0)) != null ? _d : [];\n return {\n frame: {\n file_name: this.replaceRemotePathWithLocalPath((_e = frame == null ? void 0 : frame.getFileName()) != null ? _e : \"\"),\n line_number: (frame == null ? void 0 : frame.getLineNumber()) || 0,\n class: (_f = funcNameParts[0]) != null ? _f : \"\",\n method: funcNameParts ? funcNameParts.slice(1).join(\".\") : \"\",\n vendor_frame: (_h = (_g = frame == null ? void 0 : frame.getFileName()) == null ? void 0 : _g.includes(\"node_modules\")) != null ? _h : false\n }\n };\n }\n}\nclass ClearAllPayload extends Payload {\n getType() {\n return \"clear_all\";\n }\n}\nclass ColorPayload extends Payload {\n constructor(color) {\n super();\n __publicField(this, \"color\");\n this.color = color;\n }\n getType() {\n return \"color\";\n }\n getContent() {\n return {\n color: this.color\n };\n }\n}\nclass ConfettiPayload extends Payload {\n getType() {\n return \"confetti\";\n }\n}\nclass CreateLockPayload extends Payload {\n constructor(name) {\n super();\n __publicField(this, \"name\");\n this.name = name;\n }\n getType() {\n return \"create_lock\";\n }\n getContent() {\n return {\n name: this.name\n };\n }\n}\nclass CustomPayload extends Payload {\n constructor(content, label = \"\") {\n super();\n __publicField(this, \"content\");\n __publicField(this, \"label\");\n this.content = content;\n this.label = label;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n return {\n content: this.content,\n label: this.label\n };\n }\n}\nfunction randomInteger(minimum, maximum) {\n if (maximum === void 0) {\n maximum = minimum;\n minimum = 0;\n }\n if (typeof minimum !== \"number\" || typeof maximum !== \"number\") {\n throw new TypeError(\"Expected all arguments to be numbers\");\n }\n return Math.floor(Math.random() * (maximum - minimum + 1) + minimum);\n}\nconst sleep = (seconds) => {\n return usleep(seconds * 1e3);\n};\nconst usleep = (milliseconds) => {\n const start = (/* @__PURE__ */ new Date()).getTime();\n while ((/* @__PURE__ */ new Date()).getTime() < start + milliseconds) {\n }\n};\nconst encodeHtmlEntities = (str) => {\n const escapeChars = {\n \"¢\": \"cent\",\n \"£\": \"pound\",\n \"¥\": \"yen\",\n \"€\": \"euro\",\n \"©\": \"copy\",\n \"®\": \"reg\",\n \"<\": \"lt\",\n \">\": \"gt\",\n '\"': \"quot\",\n \"&\": \"amp\",\n \"'\": \"#39\"\n };\n const chars = Object.keys(escapeChars);\n const regex = new RegExp(`[${chars.join(\"\")}]`, \"g\");\n return str.replace(regex, (m) => `&${escapeChars[m]};`);\n};\nconst spacesToHtmlSpaces = (spaces) => {\n return \" \".repeat(spaces.length);\n};\nconst encodeNewLinesToHtml = (str) => {\n return str.replace(/(\\r\\n|\\r|\\n)/g, \"
\");\n};\nconst formatHtmlForDisplay = (html, options = { encodeEntities: true }) => {\n if (options.encodeEntities) {\n html = encodeHtmlEntities(html);\n }\n return encodeNewLinesToHtml(\n html.replace(/^(\\s+)/gm, (m) => `${spacesToHtmlSpaces(m)}`)\n // preserve indentation spaces\n );\n};\nconst nonCryptoUuidV4 = () => {\n const v4options = {\n random: [\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255),\n randomInteger(1, 255)\n ]\n };\n return v4(v4options).toString();\n};\nconst end = (arr) => arr.length ? arr[arr.length - 1] : false;\nfunction toPath(urlOrPath) {\n return urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath;\n}\nfunction md5(inputString) {\n const hc = \"0123456789abcdef\";\n function rh(n) {\n let j, s = \"\";\n for (j = 0; j <= 3; j++)\n s += hc.charAt(n >> j * 8 + 4 & 15) + hc.charAt(n >> j * 8 & 15);\n return s;\n }\n function ad(x2, y) {\n const l = (x2 & 65535) + (y & 65535);\n const m = (x2 >> 16) + (y >> 16) + (l >> 16);\n return m << 16 | l & 65535;\n }\n function rl(n, c2) {\n return n << c2 | n >>> 32 - c2;\n }\n function cm(q, a2, b2, x2, s, t) {\n return ad(rl(ad(ad(a2, q), ad(x2, t)), s), b2);\n }\n function ff(a2, b2, c2, d2, x2, s, t) {\n return cm(b2 & c2 | ~b2 & d2, a2, b2, x2, s, t);\n }\n function gg(a2, b2, c2, d2, x2, s, t) {\n return cm(b2 & d2 | c2 & ~d2, a2, b2, x2, s, t);\n }\n function hh(a2, b2, c2, d2, x2, s, t) {\n return cm(b2 ^ c2 ^ d2, a2, b2, x2, s, t);\n }\n function ii(a2, b2, c2, d2, x2, s, t) {\n return cm(c2 ^ (b2 | ~d2), a2, b2, x2, s, t);\n }\n function sb(x2) {\n let i2;\n const nblk = (x2.length + 8 >> 6) + 1;\n const blks = new Array(nblk * 16);\n for (i2 = 0; i2 < nblk * 16; i2++)\n blks[i2] = 0;\n for (i2 = 0; i2 < x2.length; i2++)\n blks[i2 >> 2] |= x2.charCodeAt(i2) << i2 % 4 * 8;\n blks[i2 >> 2] |= 128 << i2 % 4 * 8;\n blks[nblk * 16 - 2] = x2.length * 8;\n return blks;\n }\n let i, a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, olda, oldb, oldc, oldd;\n const x = sb(`${inputString}`);\n for (i = 0; i < x.length; i += 16) {\n olda = a;\n oldb = b;\n oldc = c;\n oldd = d;\n a = ff(a, b, c, d, x[i + 0], 7, -680876936);\n d = ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = ff(c, d, a, b, x[i + 10], 17, -42063);\n b = ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = gg(b, c, d, a, x[i + 0], 20, -373897302);\n a = gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = hh(a, b, c, d, x[i + 5], 4, -378558);\n d = hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = hh(d, a, b, c, x[i + 0], 11, -358537222);\n c = hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = ii(a, b, c, d, x[i + 0], 6, -198630844);\n d = ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = ad(a, olda);\n b = ad(b, oldb);\n c = ad(c, oldc);\n d = ad(d, oldd);\n }\n return rh(a) + rh(b) + rh(c) + rh(d);\n}\nfunction fileURLToPath(url) {\n try {\n const urlObject = url instanceof URL ? url : new URL(url);\n return decodeURIComponent(urlObject.pathname);\n } catch (error) {\n throw new Error(\"Invalid URL.\");\n }\n}\nfunction formatDateExtended(date, format2 = \"YYYY-MM-DD HH:mm:ss\") {\n const pad = (number) => number < 10 ? `0${number}` : number;\n const getTzName = (date2) => {\n const tzNameMatch = new Intl.DateTimeFormat(\"en\", { timeZoneName: \"short\" }).formatToParts(date2).find((part) => part.type === \"timeZoneName\");\n return tzNameMatch ? tzNameMatch.value : \"\";\n };\n const tokens = {\n // Year\n YYYY: () => date.getFullYear(),\n YY: () => String(date.getFullYear()).slice(-2),\n // Month\n MM: () => pad(date.getMonth() + 1),\n M: () => date.getMonth() + 1,\n // Day\n DD: () => pad(date.getDate()),\n D: () => date.getDate(),\n // Hours\n HH: () => pad(date.getHours()),\n H: () => date.getHours(),\n hh: () => pad(date.getHours() % 12 || 12),\n h: () => date.getHours() % 12 || 12,\n // Minutes\n mm: () => pad(date.getMinutes()),\n m: () => date.getMinutes(),\n // Seconds\n ss: () => pad(date.getSeconds()),\n s: () => date.getSeconds(),\n // AM/PM\n A: () => date.getHours() < 12 ? \"AM\" : \"PM\",\n a: () => date.getHours() < 12 ? \"am\" : \"pm\",\n T: () => getTzName(date),\n Z: () => {\n const offset = date.getTimezoneOffset();\n return `${(offset > 0 ? \"-\" : \"+\") + pad(Math.floor(Math.abs(offset) / 60))}:${pad(Math.abs(offset) % 60)}`;\n },\n z: () => {\n const offset = date.getTimezoneOffset();\n return `${(offset > 0 ? \"-\" : \"+\") + pad(Math.floor(Math.abs(offset) / 60)) + pad(Math.abs(offset) % 60)}`;\n }\n // Escape character is handled below in the loop\n };\n let formattedDate = \"\";\n let escapeNext = false;\n for (let i = 0; i < format2.length; i++) {\n if (format2[i] === \"[\") {\n escapeNext = true;\n continue;\n }\n if (format2[i] === \"]\") {\n escapeNext = false;\n continue;\n }\n if (escapeNext) {\n formattedDate += format2[i];\n continue;\n }\n const twoCharToken = format2.substring(i, i + 2);\n const fourCharToken = format2.substring(i, i + 4);\n if (tokens[fourCharToken]) {\n formattedDate += tokens[fourCharToken]();\n i += 3;\n } else if (tokens[twoCharToken]) {\n formattedDate += tokens[twoCharToken]();\n i += 1;\n } else {\n formattedDate += format2[i];\n }\n }\n return formattedDate;\n}\nconst getType = (item) => {\n if (typeof item === \"object\") {\n const deepType = Object.prototype.toString.call(item).slice(8, -1).toLowerCase();\n if (deepType === \"generatorfunction\") {\n return \"function\";\n }\n if (deepType.match(/^(array|bigint|date|error|function|generator|regexp|symbol)$/)) {\n return deepType;\n }\n }\n return typeof item;\n};\nclass DatePayload extends Payload {\n constructor(date, format2 = \"YYYY-MM-DD hh:mm:ss\") {\n super();\n __publicField(this, \"date\");\n __publicField(this, \"format\");\n this.date = date;\n this.format = format2;\n }\n getType() {\n return \"carbon\";\n }\n getContent() {\n return {\n formatted: this.getFormatted(),\n timestamp: this.getTimestamp(),\n timezone: this.getTimezoneName()\n };\n }\n getTimestamp() {\n if (!this.date) {\n return null;\n }\n return this.date.getTime() / 1e3;\n }\n getFormatted() {\n if (!this.date) {\n return \"--\";\n }\n return formatDateExtended(this.date, this.format);\n }\n getTimezoneName() {\n if (!this.date) {\n return \"--\";\n }\n return formatDateExtended(this.date, \"T\");\n }\n}\nclass DecodedJsonPayload extends Payload {\n // eslint-disable-next-line no-unused-vars\n constructor(value) {\n super();\n this.value = value;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n const decodedJson = JSON.parse(this.value);\n return {\n // TODO: use ArgumentConverter\n content: decodedJson,\n //ArgumentConverter::convertToPrimitive(decodedJson),\n label: \"JSON\"\n };\n }\n}\nclass ErrorPayload extends Payload {\n constructor(err, label = \"Error\") {\n super();\n __publicField(this, \"err\");\n __publicField(this, \"label\");\n this.err = err;\n this.label = label;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n return {\n content: this.formatError(),\n label: this.label\n };\n }\n formatError() {\n return `${this.err.name}:
${this.err.message}`;\n }\n}\nclass EventPayload extends Payload {\n constructor(eventName, payload) {\n super();\n __publicField(this, \"eventName\");\n __publicField(this, \"payload\");\n this.eventName = eventName;\n this.payload = payload;\n }\n getType() {\n return \"event\";\n }\n getContent() {\n return {\n name: this.eventName,\n event: this.payload[0],\n payload: ArgumentConverter.convertToPrimitive(this.payload).value,\n class_based_event: true\n };\n }\n}\nclass ExceptionPayload extends Payload {\n constructor(exception, meta = {}) {\n super();\n __publicField(this, \"exception\");\n __publicField(this, \"meta\", {});\n // eslint-disable-next-line no-undef\n __publicField(this, \"stack\");\n this.exception = exception;\n this.meta = meta;\n }\n static async make(exception, meta = {}) {\n const result = new ExceptionPayload(exception, meta);\n result.stack = await Stacktrace.get();\n return result;\n }\n getType() {\n return \"exception\";\n }\n getContent() {\n return {\n class: this.exception.name,\n message: this.exception.message,\n frames: this.getFrames(),\n meta: this.meta\n };\n }\n getFrames() {\n return this.stack.slice(1).map((frame) => {\n var _a, _b, _c, _d;\n const funcNameParts = (_b = (_a = frame.functionName) == null ? void 0 : _a.split(\".\")) != null ? _b : [\"unknown\", \"unknown\"];\n const methodName = funcNameParts.pop();\n let className = typeof frame.functionName !== \"string\" ? \"unknown\" : funcNameParts.pop();\n if (typeof frame.functionName === \"undefined\") {\n className = \"unknown\";\n }\n const result = {\n file_name: this.replaceRemotePathWithLocalPath((_c = frame.getFileName()) != null ? _c : \"\"),\n line_number: frame.getLineNumber(),\n class: className,\n method: typeof frame.fileName === \"undefined\" ? \"\" : methodName,\n vendor_frame: (_d = frame.getFileName()) == null ? void 0 : _d.includes(\"node_modules\"),\n snippet: []\n };\n return result;\n }).filter((obj) => !obj.file_name.startsWith(\"node:\")).filter((obj) => !obj.file_name.includes(\"jest-circus\")).filter((obj) => obj.class !== \"Ray\" && obj.method !== \"exception\");\n }\n}\nclass HideAppPayload extends Payload {\n getType() {\n return \"hide_app\";\n }\n}\nclass HidePayload extends Payload {\n getType() {\n return \"hide\";\n }\n}\nclass HtmlMarkupPayload extends Payload {\n constructor(value, options = { highlight: \"none\" }) {\n super();\n __publicField(this, \"value\");\n __publicField(this, \"options\");\n this.value = value;\n this.options = options;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n const content = this.formatMarkupForDisplay(this.value);\n return {\n content,\n label: \"Markup\"\n };\n }\n formatMarkupForDisplay(markup) {\n const content = this.formatAndIndentMarkup(markup);\n return this.highlightHtmlMarkup(formatHtmlForDisplay(content, { encodeEntities: true }));\n }\n formatAndIndentMarkup(markup) {\n return formatXml(markup.toString(), {\n indentation: \" \",\n collapseContent: true,\n lineSeparator: \"\\n\"\n });\n }\n highlightHtmlMarkup(markup) {\n return markup.replace(/"/g, '\"').replace(/=\"([^\"]+)\"/g, `="$1"`).replace(/(<[A-Za-z\\d-]+)(\\s| |>)/g, '$1$2').replace(/(<\\/[A-Za-z\\d-]+)(>)/g, '$1$2');\n }\n}\nclass ImagePayload extends Payload {\n constructor(location) {\n super();\n __publicField(this, \"location\");\n this.location = location;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n const location = this.location.replace('\"', '\\\\\\\\\"');\n return {\n content: `\"\"`,\n label: \"Image\"\n };\n }\n}\nclass JsonStringPayload extends Payload {\n constructor(value) {\n super();\n __publicField(this, \"value\");\n this.value = value;\n }\n getType() {\n return \"json_string\";\n }\n getContent() {\n return {\n value: JSON.stringify(this.value)\n };\n }\n}\nclass LabelPayload extends Payload {\n constructor(label) {\n super();\n __publicField(this, \"label\");\n this.label = label;\n }\n getType() {\n return \"label\";\n }\n getContent() {\n return {\n label: this.label\n };\n }\n}\nclass MeasurePayload extends Payload {\n constructor(name, stopwatchEvent) {\n super();\n /** @var string */\n __publicField(this, \"name\");\n __publicField(this, \"isNewTimer\", false);\n __publicField(this, \"totalTime\", 0);\n __publicField(this, \"maxMemoryUsageDuringTotalTime\", 0);\n __publicField(this, \"timeSinceLastCall\", 0);\n __publicField(this, \"maxMemoryUsageSinceLastCall\", 0);\n this.name = name;\n this.totalTime = stopwatchEvent.getDuration();\n this.maxMemoryUsageDuringTotalTime = stopwatchEvent.getMemory();\n const periods = stopwatchEvent.getPeriods();\n if (periods.length > 1) {\n this.timeSinceLastCall = end(periods);\n this.maxMemoryUsageSinceLastCall = 0;\n }\n }\n getType() {\n return \"measure\";\n }\n concernsNewTimer() {\n this.isNewTimer = true;\n this.totalTime = 0;\n this.maxMemoryUsageDuringTotalTime = 0;\n this.timeSinceLastCall = 0;\n this.maxMemoryUsageSinceLastCall = 0;\n return this;\n }\n getContent() {\n return {\n name: this.name,\n is_new_timer: this.isNewTimer,\n total_time: this.totalTime,\n max_memory_usage_during_total_time: this.maxMemoryUsageDuringTotalTime,\n time_since_last_call: this.timeSinceLastCall,\n max_memory_usage_since_last_call: this.maxMemoryUsageSinceLastCall\n };\n }\n}\nclass NewScreenPayload extends Payload {\n constructor(name) {\n super();\n __publicField(this, \"name\");\n this.name = name;\n }\n getType() {\n return \"new_screen\";\n }\n getContent() {\n return {\n name: this.name\n };\n }\n}\nclass NotifyPayload extends Payload {\n constructor(text) {\n super();\n __publicField(this, \"text\");\n this.text = text;\n }\n getType() {\n return \"notify\";\n }\n getContent() {\n return {\n value: this.text\n };\n }\n}\nclass RemovePayload extends Payload {\n getType() {\n return \"remove\";\n }\n}\nclass ScreenColorPayload extends Payload {\n constructor(color) {\n super();\n __publicField(this, \"color\");\n this.color = color;\n }\n getType() {\n return \"screen_color\";\n }\n getContent() {\n return {\n color: this.color\n };\n }\n}\nclass SeparatorPayload extends Payload {\n getType() {\n return \"separator\";\n }\n}\nclass ShowAppPayload extends Payload {\n getType() {\n return \"show_app\";\n }\n}\nclass SizePayload extends Payload {\n constructor(size) {\n super();\n __publicField(this, \"size\");\n this.size = size;\n }\n getType() {\n return \"size\";\n }\n getContent() {\n return {\n size: this.size\n };\n }\n}\nclass TablePayload extends Payload {\n constructor(values, label = \"Table\") {\n super();\n __publicField(this, \"values\");\n __publicField(this, \"label\");\n this.values = values;\n this.label = label;\n }\n getType() {\n return \"table\";\n }\n getContent() {\n const values = this.getValues();\n return {\n values,\n label: this.label\n };\n }\n getValues() {\n if (Array.isArray(this.values)) {\n return this.values.map((item) => ArgumentConverter.convertToPrimitive(item).value);\n }\n const values = {};\n for (const prop in this.values) {\n values[prop] = ArgumentConverter.convertToPrimitive(this.values[prop]).value;\n }\n return values;\n }\n}\nclass TextPayload extends Payload {\n // eslint-disable-next-line no-unused-vars\n constructor(text) {\n super();\n this.text = text;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n return {\n content: formatHtmlForDisplay(this.text, { encodeEntities: true }),\n label: \"Text\"\n };\n }\n}\nclass TracePayload extends Payload {\n constructor(frames) {\n super();\n __publicField(this, \"frames\");\n __publicField(this, \"startFromIndexNum\", null);\n __publicField(this, \"limitNum\", null);\n this.frames = RemovesRayFrames.removeRayFrames(frames);\n }\n getType() {\n return \"trace\";\n }\n getContent() {\n var _a;\n let frames = this.frames.map((frame) => {\n var _a2, _b, _c, _d;\n const funcNameParts = (_a2 = frame.getFunctionName()) == null ? void 0 : _a2.replace(\"Proxy.\", \"\").split(\".\").slice(0);\n const className = (funcNameParts == null ? void 0 : funcNameParts.length) ? funcNameParts.shift() : \"\";\n const methodName = (_b = funcNameParts == null ? void 0 : funcNameParts.join(\".\")) != null ? _b : \"\";\n return {\n file_name: this.replaceRemotePathWithLocalPath((_c = frame.getFileName()) != null ? _c : \"\"),\n line_number: frame.getLineNumber(),\n class: className,\n method: methodName,\n vendor_frame: (_d = frame.getFileName()) == null ? void 0 : _d.includes(\"node_modules\")\n };\n });\n if (this.limitNum !== null) {\n frames = frames.slice((_a = this.startFromIndexNum) != null ? _a : 0, this.limitNum);\n }\n return { frames };\n }\n}\nclass XmlPayload extends Payload {\n constructor(value) {\n super();\n __publicField(this, \"value\");\n this.value = value;\n }\n getType() {\n return \"custom\";\n }\n getContent() {\n const content = this.formatXmlForDisplay(this.value);\n return {\n content,\n label: \"XML\"\n };\n }\n formatXmlForDisplay(xml) {\n const content = this.formatAndIndentXml(xml);\n return this.encodeXml(content);\n }\n encodeXml(xml) {\n return formatHtmlForDisplay(xml, { encodeEntities: true });\n }\n formatAndIndentXml(xml) {\n return formatXml(xml.toString(), {\n indentation: \" \",\n collapseContent: true,\n lineSeparator: \"\\n\"\n });\n }\n}\nclass Request {\n constructor(uuid, payloads, meta = {}) {\n __publicField(this, \"uuid\");\n __publicField(this, \"payloads\");\n __publicField(this, \"meta\");\n this.uuid = uuid;\n this.payloads = payloads;\n this.meta = meta;\n }\n toArray() {\n return {\n uuid: this.uuid,\n payloads: this.payloads.map((payload) => payload.toArray()),\n meta: this.meta\n };\n }\n toJson() {\n return JSON.stringify(this.toArray());\n }\n}\nclass Settings {\n constructor(settings2) {\n __publicField(this, \"enable\", true);\n __publicField(this, \"_host\", \"localhost\");\n __publicField(this, \"_port\", 23517);\n __publicField(this, \"_scheme\", \"http\");\n __publicField(this, \"remote_path\", null);\n __publicField(this, \"local_path\", null);\n __publicField(this, \"always_send_raw_values\", false);\n __publicField(this, \"intercept_console_log\", false);\n __publicField(this, \"enabled_callback\", null);\n __publicField(this, \"sent_payload_callback\", null);\n __publicField(this, \"sending_payload_callback\", null);\n __publicField(this, \"originalSettings\");\n this.originalSettings = Object.assign({}, settings2);\n for (const prop in settings2) {\n this[prop] = settings2[prop];\n }\n }\n set host(value) {\n this._host = value;\n Ray.useClient(new Client(this.port, this.host, this.scheme));\n }\n get host() {\n return this._host;\n }\n set port(value) {\n this._port = value;\n Ray.useClient(new Client(this.port, this.host, this.scheme));\n }\n get port() {\n return this._port;\n }\n get scheme() {\n return this._scheme;\n }\n set scheme(value) {\n this._scheme = value;\n Ray.useClient(new Client(this.port, this.host, this.scheme));\n }\n toObject() {\n return this.originalSettings;\n }\n}\nclass StopwatchEvent {\n constructor(sw, lapTime = null) {\n __publicField(this, \"name\");\n __publicField(this, \"laps\", []);\n __publicField(this, \"startedAt\");\n __publicField(this, \"endedAt\");\n __publicField(this, \"lapTime\");\n var _a;\n this.name = (_a = sw.name) == null ? void 0 : _a.slice(0);\n this.laps = sw.laps.slice(0);\n this.startedAt = sw.startedAt;\n this.endedAt = sw.endedAt;\n this.lapTime = lapTime != null ? lapTime : (/* @__PURE__ */ new Date()).getTime();\n }\n getDuration() {\n return this.laps.reduce((prev, cur) => cur + prev, 0);\n }\n // eslint-disable-next-line no-unused-vars\n getMemory(callback = null) {\n return 0;\n }\n getPeriods() {\n return this.laps.slice();\n }\n getPreviousDuration() {\n return end(this.laps) - ((/* @__PURE__ */ new Date()).getTime() - this.lapTime);\n }\n}\nclass Stopwatch {\n constructor(name = void 0) {\n __publicField(this, \"name\");\n __publicField(this, \"laps\", []);\n __publicField(this, \"startedAt\", 0);\n __publicField(this, \"endedAt\", 0);\n this.name = name;\n this.laps = [];\n this.startedAt = 0;\n this.endedAt = 0;\n }\n initialize(name) {\n this.name = name;\n this.laps = [];\n this.startedAt = 0;\n this.endedAt = 0;\n }\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n start(name) {\n this.startedAt = (/* @__PURE__ */ new Date()).getTime();\n return new StopwatchEvent(this);\n }\n lap() {\n const lapTime = (/* @__PURE__ */ new Date()).getTime();\n const duration = lapTime - this.startedAt;\n this.laps.push(duration - this.totalDuration());\n return new StopwatchEvent(this, lapTime);\n }\n stop() {\n this.endedAt = (/* @__PURE__ */ new Date()).getTime();\n const duration = this.endedAt - this.startedAt;\n this.laps.push(duration - this.totalDuration());\n return new StopwatchEvent(this);\n }\n totalDuration() {\n return this.laps.reduce((prev, cur) => cur + prev, 0);\n }\n reset() {\n this.initialize(this.name);\n return this;\n }\n getLaps() {\n return this.laps;\n }\n}\nclass Counters {\n constructor() {\n __publicField(this, \"counters\", {});\n }\n async increment(name) {\n if (typeof this.counters[name] === \"undefined\") {\n this.counters[name] = [await ray(), 0];\n }\n const data = this.counters[name];\n const ray$1 = data[0];\n const times = data[1];\n const newTimes = times + 1;\n this.counters[name] = [ray$1, newTimes];\n return [ray$1, newTimes];\n }\n get(name) {\n if (typeof this.counters[name] === \"undefined\") {\n return 0;\n }\n return this.counters[name][1];\n }\n clear() {\n this.counters = [];\n }\n setRay(name, ray2) {\n this.counters[name][0] = ray2;\n }\n getCounters() {\n return this.counters;\n }\n}\nclass Limiters {\n constructor() {\n __publicField(this, \"counters\", {});\n }\n initialize(origin, limit) {\n const fingerprint = `${origin.file}:${origin.line_number}`;\n if (typeof this.counters[fingerprint] === \"undefined\") {\n this.counters[fingerprint] = { counter: 0, limit, valid: true };\n }\n return this.counters[fingerprint];\n }\n increment(origin) {\n const name = `${origin.file}:${origin.line_number}`;\n if (typeof this.counters[name] === \"undefined\") {\n return { counter: 0, limit: 0, valid: false };\n }\n const { counter, limit, valid } = this.counters[name];\n this.counters[name] = { counter: counter + 1, limit, valid };\n return this.counters[name];\n }\n canSendPayload(origin) {\n const name = `${origin.file}:${origin.line_number}`;\n if (typeof this.counters[name] === \"undefined\") {\n return true;\n }\n const { counter, limit, valid } = this.counters[name];\n return valid && (counter < limit || limit <= 0);\n }\n}\nclass CacheStore {\n constructor(clock) {\n __publicField(this, \"store\", []);\n __publicField(this, \"clock\");\n this.clock = clock;\n }\n hit() {\n this.store.push(this.clock.now());\n return this;\n }\n clear() {\n this.store = [];\n return this;\n }\n count() {\n return this.store.length;\n }\n countLastSecond() {\n const lastSecond = this.clock.now().subSeconds(1);\n let amount = 0;\n this.store.forEach((item) => {\n if (this.isBetween(item, lastSecond, this.clock.now())) {\n amount++;\n }\n });\n return amount;\n }\n isBetween(toCheck, start, end2) {\n return toCheck.getTimestamp() >= start.getTimestamp() && toCheck.getTimestamp() <= end2.getTimestamp();\n }\n}\nclass Clock {\n}\nclass DateImmutable {\n constructor(date = null) {\n __publicField(this, \"dateStr\");\n __publicField(this, \"dateTs\");\n __publicField(this, \"_date\");\n this._date = date != null ? date : /* @__PURE__ */ new Date();\n this.date = this._date;\n this.dateStr = this.date.toISOString();\n this.dateTs = this.date.getTime();\n }\n get date() {\n return this._date;\n }\n set date(value) {\n this.dateTs = value.getTime();\n this.dateStr = value.toISOString();\n }\n static createFrom(date) {\n return new DateImmutable(date);\n }\n getTimestamp() {\n return Math.floor(this.dateTs / 1e3);\n }\n addSeconds(seconds) {\n return DateImmutable.createFrom(new Date(this.dateTs + seconds * 1e3));\n }\n subSeconds(seconds) {\n return DateImmutable.createFrom(new Date(this.dateTs - seconds * 1e3));\n }\n}\nclass SystemClock extends Clock {\n now() {\n return new DateImmutable();\n }\n}\nclass RateLimiter {\n constructor(maxCalls = null, maxPerSecond = null) {\n __publicField(this, \"maxCalls\");\n __publicField(this, \"maxPerSecond\");\n __publicField(this, \"cache\");\n __publicField(this, \"notified\", false);\n this.maxCalls = maxCalls;\n this.maxPerSecond = maxPerSecond;\n this.cache = new CacheStore(new SystemClock());\n }\n static disabled() {\n return new RateLimiter(null, null);\n }\n hit() {\n this.cache.hit();\n return this;\n }\n max(maxCalls = null) {\n this.maxCalls = maxCalls;\n return this;\n }\n perSecond(callsPerSecond = null) {\n this.maxPerSecond = callsPerSecond;\n return this;\n }\n isMaxReached() {\n if (this.maxCalls === null) {\n return false;\n }\n const reached = this.cache.count() >= this.maxCalls;\n if (!reached) {\n this.notified = false;\n }\n return reached;\n }\n isMaxPerSecondReached() {\n if (this.maxPerSecond === null) {\n return false;\n }\n const reached = this.cache.countLastSecond() >= this.maxPerSecond;\n if (reached === false) {\n this.notified = false;\n }\n return reached;\n }\n clear() {\n this.maxCalls = null;\n this.maxPerSecond = null;\n this.cache.clear();\n return this;\n }\n isNotified() {\n return this.notified;\n }\n notify() {\n this.notified = true;\n }\n getCache() {\n return this.cache;\n }\n}\nvar SendRequestCallbackType = /* @__PURE__ */ ((SendRequestCallbackType2) => {\n SendRequestCallbackType2[\"Sending\"] = \"sending\";\n SendRequestCallbackType2[\"Sent\"] = \"sent\";\n return SendRequestCallbackType2;\n})(SendRequestCallbackType || {});\nconst PACKAGE_VERSION = \"2.1.2\";\nconst copyProps = (dest, src, exclude = []) => {\n const props = Object.getOwnPropertyDescriptors(src);\n for (let prop of exclude)\n delete props[prop];\n Object.defineProperties(dest, props);\n};\nconst protoChain = (obj, currentChain = [obj]) => {\n const proto = Object.getPrototypeOf(obj);\n if (proto === null)\n return currentChain;\n return protoChain(proto, [...currentChain, proto]);\n};\nconst nearestCommonProto = (...objs) => {\n if (objs.length === 0)\n return void 0;\n let commonProto = void 0;\n const protoChains = objs.map((obj) => protoChain(obj));\n while (protoChains.every((protoChain2) => protoChain2.length > 0)) {\n const protos = protoChains.map((protoChain2) => protoChain2.pop());\n const potentialCommonProto = protos[0];\n if (protos.every((proto) => proto === potentialCommonProto))\n commonProto = potentialCommonProto;\n else\n break;\n }\n return commonProto;\n};\nconst hardMixProtos = (ingredients, constructor, exclude = []) => {\n var _a;\n const base = (_a = nearestCommonProto(...ingredients)) !== null && _a !== void 0 ? _a : Object.prototype;\n const mixedProto = Object.create(base);\n const visitedProtos = protoChain(base);\n for (let prototype of ingredients) {\n let protos = protoChain(prototype);\n for (let i = protos.length - 1; i >= 0; i--) {\n let newProto = protos[i];\n if (visitedProtos.indexOf(newProto) === -1) {\n copyProps(mixedProto, newProto, [\"constructor\", ...exclude]);\n visitedProtos.push(newProto);\n }\n }\n }\n mixedProto.constructor = constructor;\n return mixedProto;\n};\nconst unique = (arr) => arr.filter((e, i) => arr.indexOf(e) == i);\nconst getIngredientWithProp = (prop, ingredients) => {\n const protoChains = ingredients.map((ingredient) => protoChain(ingredient));\n let protoDepth = 0;\n let protosAreLeftToSearch = true;\n while (protosAreLeftToSearch) {\n protosAreLeftToSearch = false;\n for (let i = ingredients.length - 1; i >= 0; i--) {\n const searchTarget = protoChains[i][protoDepth];\n if (searchTarget !== void 0 && searchTarget !== null) {\n protosAreLeftToSearch = true;\n if (Object.getOwnPropertyDescriptor(searchTarget, prop) != void 0) {\n return protoChains[i][0];\n }\n }\n }\n protoDepth++;\n }\n return void 0;\n};\nconst proxyMix = (ingredients, prototype = Object.prototype) => new Proxy({}, {\n getPrototypeOf() {\n return prototype;\n },\n setPrototypeOf() {\n throw Error(\"Cannot set prototype of Proxies created by ts-mixer\");\n },\n getOwnPropertyDescriptor(_, prop) {\n return Object.getOwnPropertyDescriptor(getIngredientWithProp(prop, ingredients) || {}, prop);\n },\n defineProperty() {\n throw new Error(\"Cannot define new properties on Proxies created by ts-mixer\");\n },\n has(_, prop) {\n return getIngredientWithProp(prop, ingredients) !== void 0 || prototype[prop] !== void 0;\n },\n get(_, prop) {\n return (getIngredientWithProp(prop, ingredients) || prototype)[prop];\n },\n set(_, prop, val) {\n const ingredientWithProp = getIngredientWithProp(prop, ingredients);\n if (ingredientWithProp === void 0)\n throw new Error(\"Cannot set new properties on Proxies created by ts-mixer\");\n ingredientWithProp[prop] = val;\n return true;\n },\n deleteProperty() {\n throw new Error(\"Cannot delete properties on Proxies created by ts-mixer\");\n },\n ownKeys() {\n return ingredients.map(Object.getOwnPropertyNames).reduce((prev, curr) => curr.concat(prev.filter((key) => curr.indexOf(key) < 0)));\n }\n});\nconst softMixProtos = (ingredients, constructor) => proxyMix([...ingredients, { constructor }]);\nconst settings = {\n initFunction: null,\n staticsStrategy: \"copy\",\n prototypeStrategy: \"copy\",\n decoratorInheritance: \"deep\"\n};\nconst mixins = /* @__PURE__ */ new WeakMap();\nconst getMixinsForClass = (clazz) => mixins.get(clazz);\nconst registerMixins = (mixedClass, constituents) => mixins.set(mixedClass, constituents);\nconst hasMixin = (instance, mixin) => {\n if (instance instanceof mixin)\n return true;\n const constructor = instance.constructor;\n const visited = /* @__PURE__ */ new Set();\n let frontier = /* @__PURE__ */ new Set();\n frontier.add(constructor);\n while (frontier.size > 0) {\n if (frontier.has(mixin))\n return true;\n frontier.forEach((item) => visited.add(item));\n const newFrontier = /* @__PURE__ */ new Set();\n frontier.forEach((item) => {\n var _a;\n const itemConstituents = (_a = mixins.get(item)) !== null && _a !== void 0 ? _a : protoChain(item.prototype).map((proto) => proto.constructor).filter((item2) => item2 !== null);\n if (itemConstituents)\n itemConstituents.forEach((constituent) => {\n if (!visited.has(constituent) && !frontier.has(constituent))\n newFrontier.add(constituent);\n });\n });\n frontier = newFrontier;\n }\n return false;\n};\nconst mergeObjectsOfDecorators = (o1, o2) => {\n var _a, _b;\n const allKeys = unique([...Object.getOwnPropertyNames(o1), ...Object.getOwnPropertyNames(o2)]);\n const mergedObject = {};\n for (let key of allKeys)\n mergedObject[key] = unique([...(_a = o1 === null || o1 === void 0 ? void 0 : o1[key]) !== null && _a !== void 0 ? _a : [], ...(_b = o2 === null || o2 === void 0 ? void 0 : o2[key]) !== null && _b !== void 0 ? _b : []]);\n return mergedObject;\n};\nconst mergePropertyAndMethodDecorators = (d1, d2) => {\n var _a, _b, _c, _d;\n return {\n property: mergeObjectsOfDecorators((_a = d1 === null || d1 === void 0 ? void 0 : d1.property) !== null && _a !== void 0 ? _a : {}, (_b = d2 === null || d2 === void 0 ? void 0 : d2.property) !== null && _b !== void 0 ? _b : {}),\n method: mergeObjectsOfDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.method) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.method) !== null && _d !== void 0 ? _d : {})\n };\n};\nconst mergeDecorators = (d1, d2) => {\n var _a, _b, _c, _d, _e, _f;\n return {\n class: unique([...(_a = d1 === null || d1 === void 0 ? void 0 : d1.class) !== null && _a !== void 0 ? _a : [], ...(_b = d2 === null || d2 === void 0 ? void 0 : d2.class) !== null && _b !== void 0 ? _b : []]),\n static: mergePropertyAndMethodDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.static) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.static) !== null && _d !== void 0 ? _d : {}),\n instance: mergePropertyAndMethodDecorators((_e = d1 === null || d1 === void 0 ? void 0 : d1.instance) !== null && _e !== void 0 ? _e : {}, (_f = d2 === null || d2 === void 0 ? void 0 : d2.instance) !== null && _f !== void 0 ? _f : {})\n };\n};\nconst decorators = /* @__PURE__ */ new Map();\nconst findAllConstituentClasses = (...classes) => {\n var _a;\n const allClasses = /* @__PURE__ */ new Set();\n const frontier = /* @__PURE__ */ new Set([...classes]);\n while (frontier.size > 0) {\n for (let clazz of frontier) {\n const protoChainClasses = protoChain(clazz.prototype).map((proto) => proto.constructor);\n const mixinClasses = (_a = getMixinsForClass(clazz)) !== null && _a !== void 0 ? _a : [];\n const potentiallyNewClasses = [...protoChainClasses, ...mixinClasses];\n const newClasses = potentiallyNewClasses.filter((c) => !allClasses.has(c));\n for (let newClass of newClasses)\n frontier.add(newClass);\n allClasses.add(clazz);\n frontier.delete(clazz);\n }\n }\n return [...allClasses];\n};\nconst deepDecoratorSearch = (...classes) => {\n const decoratorsForClassChain = findAllConstituentClasses(...classes).map((clazz) => decorators.get(clazz)).filter((decorators2) => !!decorators2);\n if (decoratorsForClassChain.length == 0)\n return {};\n if (decoratorsForClassChain.length == 1)\n return decoratorsForClassChain[0];\n return decoratorsForClassChain.reduce((d1, d2) => mergeDecorators(d1, d2));\n};\nconst directDecoratorSearch = (...classes) => {\n const classDecorators = classes.map((clazz) => getDecoratorsForClass(clazz));\n if (classDecorators.length === 0)\n return {};\n if (classDecorators.length === 1)\n return classDecorators[0];\n return classDecorators.reduce((d1, d2) => mergeDecorators(d1, d2));\n};\nconst getDecoratorsForClass = (clazz) => {\n let decoratorsForClass = decorators.get(clazz);\n if (!decoratorsForClass) {\n decoratorsForClass = {};\n decorators.set(clazz, decoratorsForClass);\n }\n return decoratorsForClass;\n};\nconst decorateClass = (decorator) => (clazz) => {\n const decoratorsForClass = getDecoratorsForClass(clazz);\n let classDecorators = decoratorsForClass.class;\n if (!classDecorators) {\n classDecorators = [];\n decoratorsForClass.class = classDecorators;\n }\n classDecorators.push(decorator);\n return decorator(clazz);\n};\nconst decorateMember = (decorator) => (object, key, ...otherArgs) => {\n var _a, _b, _c;\n const decoratorTargetType = typeof object === \"function\" ? \"static\" : \"instance\";\n const decoratorType = typeof object[key] === \"function\" ? \"method\" : \"property\";\n const clazz = decoratorTargetType === \"static\" ? object : object.constructor;\n const decoratorsForClass = getDecoratorsForClass(clazz);\n const decoratorsForTargetType = (_a = decoratorsForClass === null || decoratorsForClass === void 0 ? void 0 : decoratorsForClass[decoratorTargetType]) !== null && _a !== void 0 ? _a : {};\n decoratorsForClass[decoratorTargetType] = decoratorsForTargetType;\n let decoratorsForType = (_b = decoratorsForTargetType === null || decoratorsForTargetType === void 0 ? void 0 : decoratorsForTargetType[decoratorType]) !== null && _b !== void 0 ? _b : {};\n decoratorsForTargetType[decoratorType] = decoratorsForType;\n let decoratorsForKey = (_c = decoratorsForType === null || decoratorsForType === void 0 ? void 0 : decoratorsForType[key]) !== null && _c !== void 0 ? _c : [];\n decoratorsForType[key] = decoratorsForKey;\n decoratorsForKey.push(decorator);\n return decorator(object, key, ...otherArgs);\n};\nconst decorate = (decorator) => (...args) => {\n if (args.length === 1)\n return decorateClass(decorator)(args[0]);\n return decorateMember(decorator)(...args);\n};\nfunction Mixin(...constructors) {\n var _a, _b, _c;\n const prototypes = constructors.map((constructor) => constructor.prototype);\n const initFunctionName = settings.initFunction;\n if (initFunctionName !== null) {\n const initFunctions = prototypes.map((proto) => proto[initFunctionName]).filter((func) => typeof func === \"function\");\n const combinedInitFunction = function(...args) {\n for (let initFunction of initFunctions)\n initFunction.apply(this, args);\n };\n const extraProto = { [initFunctionName]: combinedInitFunction };\n prototypes.push(extraProto);\n }\n function MixedClass(...args) {\n for (const constructor of constructors)\n copyProps(this, new constructor(...args));\n if (initFunctionName !== null && typeof this[initFunctionName] === \"function\")\n this[initFunctionName].apply(this, args);\n }\n MixedClass.prototype = settings.prototypeStrategy === \"copy\" ? hardMixProtos(prototypes, MixedClass) : softMixProtos(prototypes, MixedClass);\n Object.setPrototypeOf(MixedClass, settings.staticsStrategy === \"copy\" ? hardMixProtos(constructors, null, [\"prototype\"]) : proxyMix(constructors, Function.prototype));\n let DecoratedMixedClass = MixedClass;\n if (settings.decoratorInheritance !== \"none\") {\n const classDecorators = settings.decoratorInheritance === \"deep\" ? deepDecoratorSearch(...constructors) : directDecoratorSearch(...constructors);\n for (let decorator of (_a = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.class) !== null && _a !== void 0 ? _a : []) {\n const result = decorator(DecoratedMixedClass);\n if (result) {\n DecoratedMixedClass = result;\n }\n }\n applyPropAndMethodDecorators((_b = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.static) !== null && _b !== void 0 ? _b : {}, DecoratedMixedClass);\n applyPropAndMethodDecorators((_c = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.instance) !== null && _c !== void 0 ? _c : {}, DecoratedMixedClass.prototype);\n }\n registerMixins(DecoratedMixedClass, constructors);\n return DecoratedMixedClass;\n}\nconst applyPropAndMethodDecorators = (propAndMethodDecorators, target) => {\n const propDecorators = propAndMethodDecorators.property;\n const methodDecorators = propAndMethodDecorators.method;\n if (propDecorators)\n for (let key in propDecorators)\n for (let decorator of propDecorators[key])\n decorator(target, key);\n if (methodDecorators)\n for (let key in methodDecorators)\n for (let decorator of methodDecorators[key])\n decorator(target, key, Object.getOwnPropertyDescriptor(target, key));\n};\nconst mix = (...ingredients) => (decoratedClass) => {\n const mixedClass = Mixin(...ingredients.concat([decoratedClass]));\n Object.defineProperty(mixedClass, \"name\", {\n value: decoratedClass.name,\n writable: false\n });\n return mixedClass;\n};\nconst _Ray = class _Ray extends Mixin(RayColors, RaySizes, RayScreenColors) {\n constructor(settings2, client = null, uuid = null, inCallback = false) {\n var _a, _b, _c;\n super();\n __publicField(this, \"inCallback\", false);\n __publicField(this, \"settings\");\n __publicField(this, \"uuid\");\n __publicField(this, \"limitOrigin\", null);\n __publicField(this, \"canSendPayload\", true);\n __publicField(this, \"chaining\", false);\n __publicField(this, \"chainedPayloads\", []);\n if (_Ray.defaultSettings.not_defined === true) {\n _Ray.defaultSettings = {\n enable: true,\n host: \"localhost\",\n port: 23517,\n scheme: \"http\",\n local_path: null,\n remote_path: null,\n always_send_raw_values: false,\n enabled_callback: null,\n sending_payload_callback: null,\n sent_payload_callback: null,\n not_defined: false\n };\n }\n _Ray.defaultSettings = Object.assign({}, _Ray.defaultSettings, settings2.toObject());\n this.inCallback = inCallback;\n this.settings = new Settings(_Ray.defaultSettings);\n if (_Ray.enabled === null) {\n _Ray.enabled = this.settings.enable !== false;\n }\n _Ray.client = (_a = client != null ? client : _Ray.client) != null ? _a : new Client(this.settings.port, this.settings.host);\n _Ray._rateLimiter = (_b = _Ray._rateLimiter) != null ? _b : RateLimiter.disabled();\n this.uuid = (_c = uuid != null ? uuid : _Ray.fakeUuid) != null ? _c : nonCryptoUuidV4();\n if (this.settings.intercept_console_log && !this.interceptor().active()) {\n this.interceptor().enable();\n }\n this.loadMacros();\n }\n static create(client = null, uuid = null) {\n if (_Ray.defaultSettings.not_defined === true) {\n _Ray.defaultSettings = {\n enable: true,\n host: \"localhost\",\n port: 23517,\n scheme: \"http\",\n local_path: null,\n remote_path: null,\n always_send_raw_values: false,\n not_defined: false,\n intercept_console_log: false,\n enabled_callback: null,\n sending_payload_callback: null,\n sent_payload_callback: null\n };\n }\n const settings2 = new Settings(_Ray.defaultSettings);\n return new this(settings2, client, uuid);\n }\n static useDefaultSettings(settings2) {\n if (_Ray.defaultSettings.not_defined === true) {\n _Ray.defaultSettings = {\n enable: true,\n host: \"localhost\",\n port: 23517,\n scheme: \"http\",\n local_path: null,\n remote_path: null,\n always_send_raw_values: false,\n enabled_callback: null,\n sending_payload_callback: null,\n sent_payload_callback: null,\n not_defined: false\n };\n }\n _Ray.defaultSettings = Object.assign({}, _Ray.defaultSettings, settings2);\n _Ray.defaultSettings.not_defined = false;\n _Ray.client = new Client(this.defaultSettings.port, this.defaultSettings.host);\n return this;\n }\n loadMacros() {\n for (const name in _Ray.macros) {\n const handler = _Ray.macros[name];\n this[name] = handler.bind(this);\n }\n return this;\n }\n interceptor() {\n return _Ray.interceptor;\n }\n client() {\n return _Ray.client;\n }\n enable() {\n _Ray.enabled = true;\n return this;\n }\n disable() {\n _Ray.enabled = false;\n return this;\n }\n enabled() {\n if (typeof this.settings.enabled_callback === \"function\") {\n return _Ray.enabled && this.settings.enabled_callback();\n }\n return _Ray.enabled;\n }\n disabled() {\n return !this.enabled();\n }\n static useClient(client) {\n this.client = client;\n }\n project(projectName) {\n _Ray.projectName = projectName;\n return this;\n }\n newScreen(name = \"\") {\n const payload = new NewScreenPayload(name);\n return this.sendRequest(payload);\n }\n clearAll() {\n const payload = new ClearAllPayload();\n return this.sendRequest(payload);\n }\n clearScreen() {\n return this.newScreen();\n }\n color(color) {\n const payload = new ColorPayload(color);\n return this.sendRequest(payload);\n }\n confetti() {\n const payload = new ConfettiPayload();\n return this.sendRequest(payload);\n }\n screenColor(color) {\n const payload = new ScreenColorPayload(color);\n return this.sendRequest(payload);\n }\n label(label) {\n const payload = new LabelPayload(label);\n return this.sendRequest(payload);\n }\n size(size) {\n const payload = new SizePayload(size);\n return this.sendRequest(payload);\n }\n remove() {\n const payload = new RemovePayload();\n return this.sendRequest(payload);\n }\n hide() {\n const payload = new HidePayload();\n return this.sendRequest(payload);\n }\n notify(text) {\n const payload = new NotifyPayload(text);\n return this.sendRequest(payload);\n }\n toJson(...values) {\n const payloads = values.map((value) => new JsonStringPayload(value));\n return this.sendRequest(payloads);\n }\n json(...jsons) {\n const payloads = jsons.map((json) => new DecodedJsonPayload(json));\n return this.sendRequest(payloads);\n }\n file(filename) {\n throw new Error(\"file() unsupported on node-ray/web.\");\n }\n image(location) {\n const payload = new ImagePayload(location);\n return this.sendRequest(payload);\n }\n die(status = \"\") {\n throw new Error(`Ray.die() called: ${status ? status : \"no message\"}`);\n }\n className(object) {\n return this.send(object.constructor.name);\n }\n error(err) {\n const payload = new ErrorPayload(err, \"Error\");\n return this.sendRequest(payload).red();\n }\n event(eventName, data = []) {\n const payload = new EventPayload(eventName, data);\n return this.sendRequest(payload);\n }\n async exception(err, meta = {}) {\n const payload = await ExceptionPayload.make(err, meta);\n return await this.sendRequest(payload).red();\n }\n ban() {\n return this.send(\"🕶\");\n }\n charles() {\n return this.send(\"🎶 🎹 🎷 🕺\");\n }\n table(values, label = \"Table\") {\n const payload = new TablePayload(values, label);\n return this.sendRequest(payload);\n }\n async count(name = null) {\n var _a;\n const caller = await this.getCaller();\n const fingerprint = md5(`${caller == null ? void 0 : caller.getFileName()}${caller == null ? void 0 : caller.getLineNumber()}`);\n const [r, times] = await _Ray.counters.increment((_a = name != null ? name : fingerprint) != null ? _a : \"none\");\n let message = \"Called \";\n if (name) {\n message += `'${name}' `;\n }\n message += `${times} ${times === 1 ? \"time\" : \"times\"}.`;\n r.sendCustom(message, \"Count\");\n return r;\n }\n clearCounters() {\n _Ray.counters.clear();\n return this;\n }\n async pause() {\n _Ray.lockCounter++;\n const lockName = md5(`${(/* @__PURE__ */ new Date()).getTime()}-${_Ray.lockCounter}`);\n const payload = new CreateLockPayload(lockName);\n this.sendRequest(payload);\n return new Promise(async (resolve, reject) => {\n let exists;\n do {\n sleep(1);\n try {\n exists = await _Ray.client.lockExists(lockName);\n } catch (err) {\n reject(err);\n return false;\n }\n if (exists !== true && exists && exists.stop_execution) {\n reject(false);\n return false;\n }\n } while (exists.active);\n resolve(this);\n });\n }\n stopTime(stopwatchName = \"\") {\n if (stopwatchName === \"\") {\n _Ray.stopWatches = {};\n return this;\n }\n if (typeof _Ray.stopWatches[stopwatchName] !== \"undefined\") {\n delete _Ray.stopWatches[stopwatchName];\n }\n return this;\n }\n async caller() {\n const backtrace = await Stacktrace.get();\n const payload = new CallerPayload(backtrace);\n return this.sendRequest(payload);\n }\n async trace() {\n const backtrace = await Stacktrace.get();\n return this.sendRequest(new TracePayload(backtrace));\n }\n measure(stopwatchName = \"default\") {\n if (stopwatchName instanceof Function) {\n return this.measureClosure(stopwatchName);\n }\n if (typeof _Ray.stopWatches[stopwatchName] === \"undefined\") {\n const stopwatch2 = this.getStopwatch(stopwatchName);\n _Ray.stopWatches[stopwatchName] = stopwatch2;\n const event2 = stopwatch2.start(stopwatchName);\n const payload2 = this.getMeasurePayload(stopwatchName, event2);\n payload2.concernsNewTimer();\n return this.sendRequest(payload2);\n }\n const stopwatch = _Ray.stopWatches[stopwatchName];\n const event = stopwatch.lap();\n const payload = this.getMeasurePayload(stopwatchName, event);\n return this.sendRequest(payload);\n }\n measureClosure(closure) {\n const stopwatch = this.getStopwatch(\"closure\");\n stopwatch.start(\"closure\");\n closure();\n const event = stopwatch.stop();\n const payload = this.getMeasurePayload(\"closure\", event);\n return this.sendRequest(payload);\n }\n getStopwatch(name) {\n return new Stopwatch(name);\n }\n getMeasurePayload(name, event) {\n return new MeasurePayload(name, event);\n }\n separator() {\n const payload = new SeparatorPayload();\n return this.sendRequest(payload);\n }\n xml(xml) {\n const payload = new XmlPayload(xml);\n return this.sendRequest(payload);\n }\n html(html = \"\") {\n const payload = new HtmlPayload(html);\n return this.sendRequest(payload);\n }\n text(text = \"\") {\n const payload = new TextPayload(text);\n return this.sendRequest(payload);\n }\n date(date) {\n const payload = new DatePayload(date);\n return this.sendRequest(payload);\n }\n raw(...args) {\n if (!args.length) {\n return this;\n }\n const payloads = args.map((arg) => LogPayload.createForArguments([arg]));\n return this.sendRequest(payloads);\n }\n send(...args) {\n if (!args.length) {\n return this;\n }\n if (this.settings.always_send_raw_values) {\n return this.raw(...args);\n }\n const payloads = PayloadFactory.createForValues(args);\n return this.sendRequest(payloads);\n }\n pass(argument) {\n this.send(argument);\n return argument;\n }\n showApp() {\n const payload = new ShowAppPayload();\n return this.sendRequest(payload);\n }\n hideApp() {\n const payload = new HideAppPayload();\n return this.sendRequest(payload);\n }\n macro(name, handler) {\n _Ray.macros[name] = handler;\n this[name] = handler.bind(this);\n return this;\n }\n htmlMarkup(html, options = {}) {\n const payload = new HtmlMarkupPayload(html, options);\n return this.sendRequest(payload);\n }\n if(boolOrCallable, callback = null) {\n if (typeof boolOrCallable === \"function\") {\n boolOrCallable = boolOrCallable();\n }\n if (boolOrCallable && callback !== null) {\n callback(this);\n }\n if (callback === null) {\n this.canSendPayload = boolOrCallable;\n }\n return this;\n }\n async limit(count) {\n const frame = await this.getCaller();\n this.limitOrigin = {\n function_name: frame == null ? void 0 : frame.getFunctionName(),\n file: frame == null ? void 0 : frame.getFileName(),\n line_number: frame == null ? void 0 : frame.getLineNumber(),\n hostname: Hostname.get()\n };\n _Ray.limiters.initialize(this.limitOrigin, count);\n return this;\n }\n async once(...args) {\n const frame = await this.getCaller();\n this.limitOrigin = {\n function_name: frame == null ? void 0 : frame.getFunctionName(),\n file: frame == null ? void 0 : frame.getFileName(),\n line_number: frame == null ? void 0 : frame.getLineNumber(),\n hostname: Hostname.get()\n };\n _Ray.limiters.initialize(this.limitOrigin, 1);\n if (args.length > 0) {\n return this.send(...args);\n }\n return this;\n }\n chain(callback) {\n this.chaining = true;\n callback(this);\n this.chaining = false;\n this.sendRequest(this.chainedPayloads.slice(0));\n this.chainedPayloads = [];\n return this;\n }\n sendCustom(content, label = \"\") {\n const payload = new CustomPayload(content, label);\n return this.sendRequest(payload);\n }\n async getOriginFrame() {\n const st = await Stacktrace.get();\n let startFrameIndex = st.findIndex((frame) => {\n var _a;\n return (_a = frame.functionName) == null ? void 0 : _a.includes(\"Ray.sendRequest\");\n });\n if (startFrameIndex === -1) {\n startFrameIndex = 0;\n }\n const callerFrames = RemovesRayFrames.removeRayFrames(st.slice(startFrameIndex));\n return callerFrames.slice(0).shift();\n }\n async getCaller() {\n const st = await Stacktrace.get();\n let startFrameIndex = st.findIndex((frame) => {\n var _a;\n return (_a = frame.functionName) == null ? void 0 : _a.includes(\"Ray.getCaller\");\n });\n if (startFrameIndex === -1) {\n startFrameIndex = 0;\n }\n const callerFrames = st.slice(startFrameIndex);\n if (callerFrames.length === 1) {\n return callerFrames.shift();\n }\n return callerFrames.slice(2).shift();\n }\n async getOriginData() {\n const frame = await this.getOriginFrame();\n return {\n function_name: frame == null ? void 0 : frame.getFunctionName(),\n file: frame == null ? void 0 : frame.getFileName(),\n line_number: frame == null ? void 0 : frame.getLineNumber(),\n hostname: Hostname.get()\n };\n }\n prepareMeta(meta) {\n return Object.assign(\n {},\n {\n node_ray_package_version: PACKAGE_VERSION != null ? PACKAGE_VERSION : \"unknown\",\n project_name: _Ray.projectName\n },\n meta\n );\n }\n executePayloadCallback(callbackType, args = []) {\n if (this.inCallback)\n return;\n this.inCallback = true;\n try {\n if (callbackType === SendRequestCallbackType.Sending && this.settings.sending_payload_callback !== null) {\n this.settings.sending_payload_callback(new _Ray(this.settings, this.client(), this.uuid, true), args);\n }\n if (callbackType === SendRequestCallbackType.Sent && this.settings.sent_payload_callback !== null) {\n this.settings.sent_payload_callback(this);\n }\n } catch (e) {\n }\n this.inCallback = false;\n }\n sendRequest(payloads, meta = []) {\n if (!this.enabled()) {\n return this;\n }\n if (!this.canSendPayload) {\n return this;\n }\n if (this.chaining) {\n const tempPayloads = Array.isArray(payloads) ? payloads : [payloads];\n this.chainedPayloads.push(...tempPayloads);\n return this;\n }\n if (this.limitOrigin !== null) {\n if (!_Ray.limiters.canSendPayload(this.limitOrigin)) {\n return this;\n }\n _Ray.limiters.increment(this.limitOrigin);\n }\n if (!Array.isArray(payloads)) {\n payloads = [payloads];\n }\n if (this.rateLimiter().isMaxReached() || this.rateLimiter().isMaxPerSecondReached()) {\n this.rateLimiter().notified = true;\n this.notifyWhenRateLimitReached();\n return this;\n }\n payloads.forEach((payload) => {\n this.getOriginData().then((data) => {\n payload.data.origin = data;\n });\n payload.remotePath = this.settings.remote_path;\n payload.localPath = this.settings.local_path;\n });\n this.executePayloadCallback(SendRequestCallbackType.Sending, payloads);\n _Ray.client.send(new Request(this.uuid, payloads, this.prepareMeta(meta)));\n this.rateLimiter().hit();\n this.executePayloadCallback(SendRequestCallbackType.Sent, payloads);\n return this;\n }\n rateLimiter() {\n return _Ray._rateLimiter;\n }\n async notifyWhenRateLimitReached() {\n if (this.rateLimiter().isNotified()) {\n return;\n }\n const customPayload = new CustomPayload(\"Rate limit has been reached...\", \"Rate limit\");\n const request = new Request(this.uuid, [customPayload], []);\n await _Ray.client.send(request);\n this.rateLimiter().notify();\n }\n standalone(windowObject) {\n if (typeof windowObject !== \"undefined\") {\n windowObject.ray = ray;\n windowObject.Ray = _Ray;\n }\n }\n};\n__publicField(_Ray, \"lockCounter\", 0);\n__publicField(_Ray, \"defaultSettings\", { not_defined: true });\n__publicField(_Ray, \"client\");\n__publicField(_Ray, \"projectName\", \"\");\n__publicField(_Ray, \"counters\", new Counters());\n__publicField(_Ray, \"limiters\", new Limiters());\n__publicField(_Ray, \"interceptor\", new ConsoleInterceptor());\n__publicField(_Ray, \"fakeUuid\");\n__publicField(_Ray, \"stopWatches\", {});\n__publicField(_Ray, \"enabled\", null);\n__publicField(_Ray, \"macros\", {});\n__publicField(_Ray, \"_rateLimiter\", RateLimiter.disabled());\nlet Ray = _Ray;\nconst ray = (...args) => {\n return Ray.create().send(...args);\n};\nconst standalone = (windowObject) => {\n if (typeof windowObject !== \"undefined\") {\n windowObject.ray = ray;\n windowObject.Ray = Ray;\n }\n};\nif (false) {\n try {\n const win = window;\n win.ray = ray;\n win.Ray = Ray;\n win.rayInit = () => standalone(win);\n } catch (e) {\n }\n}\nexport {\n Ray,\n ray,\n standalone\n};\n//# sourceMappingURL=web.js.map\n"],"names":["__defProp","__defNormalProp","obj","key","value","__publicField","_Client","portNumber","host","scheme","result","axios","err","path","_a","request","resolve","payloads","payload","lockName","reject","resp","Client","RayColors","name","RayScreenColors","color","RaySizes","size","RemovesRayFrames","frames","frame","rayNamespace","_b","consoleLog","consoleWrapper","args","Ray","r","_ConsoleInterceptor","ConsoleInterceptor","_Hostname","hostname","Hostname","ArgumentConverter","arg","tagName","classes","slot","formatted","format","Payload","filePath","pattern","BoolPayload","HtmlPayload","html","LogPayload","values","dumpedArguments","argument","NullPayload","PayloadFactory","callable","convertedResult","CallerPayload","_c","_d","_e","_f","_g","_h","funcNameParts","ClearAllPayload","ColorPayload","ConfettiPayload","CreateLockPayload","CustomPayload","content","label","randomInteger","minimum","maximum","sleep","seconds","usleep","milliseconds","start","encodeHtmlEntities","str","escapeChars","chars","regex","m","spacesToHtmlSpaces","spaces","encodeNewLinesToHtml","formatHtmlForDisplay","options","nonCryptoUuidV4","v4options","v4","end","arr","md5","inputString","hc","rh","n","j","s","ad","x2","y","l","rl","c2","cm","q","a2","b2","t","ff","d2","gg","hh","ii","sb","i2","nblk","blks","i","a","b","c","d","olda","oldb","oldc","oldd","x","formatDateExtended","date","format2","pad","number","getTzName","date2","tzNameMatch","part","tokens","offset","formattedDate","escapeNext","twoCharToken","fourCharToken","DatePayload","DecodedJsonPayload","ErrorPayload","EventPayload","eventName","ExceptionPayload","exception","meta","Stacktrace","methodName","className","HideAppPayload","HidePayload","HtmlMarkupPayload","markup","formatXml","ImagePayload","location","JsonStringPayload","LabelPayload","MeasurePayload","stopwatchEvent","periods","NewScreenPayload","NotifyPayload","text","RemovePayload","ScreenColorPayload","SeparatorPayload","ShowAppPayload","SizePayload","TablePayload","item","prop","TextPayload","TracePayload","_a2","XmlPayload","xml","Request","uuid","Settings","settings2","StopwatchEvent","sw","lapTime","prev","cur","callback","Stopwatch","duration","Counters","ray","data","ray$1","newTimes","ray2","Limiters","origin","limit","fingerprint","counter","valid","CacheStore","clock","lastSecond","amount","toCheck","end2","Clock","DateImmutable","SystemClock","RateLimiter","maxCalls","maxPerSecond","callsPerSecond","reached","SendRequestCallbackType","SendRequestCallbackType2","PACKAGE_VERSION","copyProps","dest","src","exclude","props","protoChain","currentChain","proto","nearestCommonProto","objs","commonProto","protoChains","protoChain2","protos","potentialCommonProto","hardMixProtos","ingredients","constructor","base","mixedProto","visitedProtos","prototype","newProto","unique","e","mixins","getMixinsForClass","clazz","registerMixins","mixedClass","constituents","mergeObjectsOfDecorators","o1","o2","allKeys","mergedObject","mergePropertyAndMethodDecorators","d1","mergeDecorators","decorators","findAllConstituentClasses","allClasses","frontier","protoChainClasses","mixinClasses","newClasses","newClass","deepDecoratorSearch","decoratorsForClassChain","decorators2","Mixin","constructors","prototypes","MixedClass","DecoratedMixedClass","classDecorators","decorator","applyPropAndMethodDecorators","propAndMethodDecorators","target","propDecorators","methodDecorators","_Ray","client","inCallback","handler","projectName","jsons","json","filename","status","object","caller","times","message","exists","stopwatchName","backtrace","stopwatch2","event2","payload2","event","closure","stopwatch","boolOrCallable","count","st","startFrameIndex","callerFrames","callbackType","tempPayloads","customPayload","windowObject"],"mappings":"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","x_google_ignoreList":[0]}