From aa2be313f6ed1be020ec66aa2e60273d4a28a9b5 Mon Sep 17 00:00:00 2001
From: alekswilc <aleks@alekswilc.dev>
Date: Sun, 23 Jun 2024 23:04:53 +0200
Subject: [PATCH] first commit

---
 .gitignore          |   2 +
 .npmignore          |   4 +
 LICENSE             |  10 +
 assets/image.png    | Bin 0 -> 77275 bytes
 package-lock.json   | 967 ++++++++++++++++++++++++++++++++++++++++++++
 package.json        |  31 ++
 readme.md           |  69 ++++
 scripts/build.js    |  87 ++++
 src/Payload.ts      |  75 ++++
 src/Queue.ts        |  34 ++
 src/Ray.ts          | 252 ++++++++++++
 src/argConverter.ts |  68 ++++
 src/formatHtml.ts   |  45 +++
 src/index.ts        |   2 +
 tsconfig.json       | 109 +++++
 15 files changed, 1755 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 .npmignore
 create mode 100644 LICENSE
 create mode 100644 assets/image.png
 create mode 100644 package-lock.json
 create mode 100644 package.json
 create mode 100644 readme.md
 create mode 100644 scripts/build.js
 create mode 100644 src/Payload.ts
 create mode 100644 src/Queue.ts
 create mode 100644 src/Ray.ts
 create mode 100644 src/argConverter.ts
 create mode 100644 src/formatHtml.ts
 create mode 100644 src/index.ts
 create mode 100644 tsconfig.json

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..48912d2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+build
+node_modules
\ No newline at end of file
diff --git a/.npmignore b/.npmignore
new file mode 100644
index 0000000..0703c37
--- /dev/null
+++ b/.npmignore
@@ -0,0 +1,4 @@
+src
+tsconfig.json
+scripts
+assets
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..a260599
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,10 @@
+Copyright (c) 2024 Aleksander <alekswilc> Wilczyński
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Includes other software related under the MIT license:
+node-ray, Copyright 2021 Permafrost Development. For licensing see https://github.com/permafrost-dev/node-ray/blob/main/LICENSE
\ No newline at end of file
diff --git a/assets/image.png b/assets/image.png
new file mode 100644
index 0000000000000000000000000000000000000000..19d705a29061ecee469aa90c2fccb721055cbc5f
GIT binary patch
literal 77275
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
F{V&L@U_t-@

literal 0
HcmV?d00001

diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..097fb1d
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,967 @@
+{
+  "name": "@alekswilc/ray",
+  "version": "1.0.28",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "@alekswilc/ray",
+      "version": "1.0.28",
+      "license": "ISC",
+      "dependencies": {
+        "@permafrost-dev/pretty-format": "^1.1.5",
+        "stacktrace-js": "^2.0.2"
+      },
+      "devDependencies": {
+        "@types/node": "^20.14.2",
+        "@types/uuid": "^9.0.8",
+        "dts-bundle-generator": "^9.5.1",
+        "esbuild": "^0.21.5",
+        "fast-glob": "^3.3.2",
+        "typescript": "^5.4.5",
+        "uuid": "^10.0.0"
+      }
+    },
+    "node_modules/@esbuild/aix-ppc64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+      "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "aix"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/android-arm": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+      "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/android-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+      "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/android-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+      "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/darwin-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+      "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/darwin-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+      "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/freebsd-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+      "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/freebsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+      "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-arm": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+      "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+      "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-ia32": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+      "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-loong64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+      "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+      "cpu": [
+        "loong64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-mips64el": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+      "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+      "cpu": [
+        "mips64el"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-ppc64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+      "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-riscv64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+      "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-s390x": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+      "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+      "cpu": [
+        "s390x"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+      "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/netbsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+      "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/openbsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+      "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/sunos-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+      "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/win32-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+      "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/win32-ia32": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+      "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/win32-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+      "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@permafrost-dev/pretty-format": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/@permafrost-dev/pretty-format/-/pretty-format-1.1.5.tgz",
+      "integrity": "sha512-hPS1xNAu6Ca4zYwyi8+ZE7JkG8uYrCGSCAHbwLqtl63Jmfe+zLKx/BRaDUoNCAtB9EfOJTdk1CzQmVeWWNrgGQ==",
+      "dependencies": {
+        "ansi-regex": "^5.0",
+        "ansi-styles": "^5.0"
+      },
+      "engines": {
+        "node": ">=14"
+      }
+    },
+    "node_modules/@types/node": {
+      "version": "20.14.2",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz",
+      "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==",
+      "dev": true,
+      "dependencies": {
+        "undici-types": "~5.26.4"
+      }
+    },
+    "node_modules/@types/uuid": {
+      "version": "9.0.8",
+      "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
+      "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
+      "dev": true
+    },
+    "node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/braces": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+      "dev": true,
+      "dependencies": {
+        "fill-range": "^7.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cliui": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+      "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.1",
+        "wrap-ansi": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/dts-bundle-generator": {
+      "version": "9.5.1",
+      "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-9.5.1.tgz",
+      "integrity": "sha512-DxpJOb2FNnEyOzMkG11sxO2dmxPjthoVWxfKqWYJ/bI/rT1rvTMktF5EKjAYrRZu6Z6t3NhOUZ0sZ5ZXevOfbA==",
+      "dev": true,
+      "dependencies": {
+        "typescript": ">=5.0.2",
+        "yargs": "^17.6.0"
+      },
+      "bin": {
+        "dts-bundle-generator": "dist/bin/dts-bundle-generator.js"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "dev": true
+    },
+    "node_modules/error-stack-parser": {
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
+      "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
+      "dependencies": {
+        "stackframe": "^1.3.4"
+      }
+    },
+    "node_modules/esbuild": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+      "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+      "dev": true,
+      "hasInstallScript": true,
+      "bin": {
+        "esbuild": "bin/esbuild"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "optionalDependencies": {
+        "@esbuild/aix-ppc64": "0.21.5",
+        "@esbuild/android-arm": "0.21.5",
+        "@esbuild/android-arm64": "0.21.5",
+        "@esbuild/android-x64": "0.21.5",
+        "@esbuild/darwin-arm64": "0.21.5",
+        "@esbuild/darwin-x64": "0.21.5",
+        "@esbuild/freebsd-arm64": "0.21.5",
+        "@esbuild/freebsd-x64": "0.21.5",
+        "@esbuild/linux-arm": "0.21.5",
+        "@esbuild/linux-arm64": "0.21.5",
+        "@esbuild/linux-ia32": "0.21.5",
+        "@esbuild/linux-loong64": "0.21.5",
+        "@esbuild/linux-mips64el": "0.21.5",
+        "@esbuild/linux-ppc64": "0.21.5",
+        "@esbuild/linux-riscv64": "0.21.5",
+        "@esbuild/linux-s390x": "0.21.5",
+        "@esbuild/linux-x64": "0.21.5",
+        "@esbuild/netbsd-x64": "0.21.5",
+        "@esbuild/openbsd-x64": "0.21.5",
+        "@esbuild/sunos-x64": "0.21.5",
+        "@esbuild/win32-arm64": "0.21.5",
+        "@esbuild/win32-ia32": "0.21.5",
+        "@esbuild/win32-x64": "0.21.5"
+      }
+    },
+    "node_modules/escalade": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+      "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/fast-glob": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+      "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.4"
+      },
+      "engines": {
+        "node": ">=8.6.0"
+      }
+    },
+    "node_modules/fastq": {
+      "version": "1.17.1",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+      "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+      "dev": true,
+      "dependencies": {
+        "reusify": "^1.0.4"
+      }
+    },
+    "node_modules/fill-range": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+      "dev": true,
+      "dependencies": {
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "dev": true,
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-glob": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+      "dev": true,
+      "dependencies": {
+        "is-extglob": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/micromatch": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+      "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+      "dev": true,
+      "dependencies": {
+        "braces": "^3.0.3",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/queue-microtask": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "dev": true,
+      "engines": {
+        "iojs": ">=1.0.0",
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/run-parallel": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "queue-microtask": "^1.2.2"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.5.6",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+      "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/stack-generator": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
+      "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==",
+      "dependencies": {
+        "stackframe": "^1.3.4"
+      }
+    },
+    "node_modules/stackframe": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
+      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="
+    },
+    "node_modules/stacktrace-gps": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz",
+      "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==",
+      "dependencies": {
+        "source-map": "0.5.6",
+        "stackframe": "^1.3.4"
+      }
+    },
+    "node_modules/stacktrace-js": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz",
+      "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==",
+      "dependencies": {
+        "error-stack-parser": "^2.0.6",
+        "stack-generator": "^2.0.5",
+        "stacktrace-gps": "^3.0.4"
+      }
+    },
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/typescript": {
+      "version": "5.4.5",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
+      "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+      "dev": true,
+      "bin": {
+        "tsc": "bin/tsc",
+        "tsserver": "bin/tsserver"
+      },
+      "engines": {
+        "node": ">=14.17"
+      }
+    },
+    "node_modules/undici-types": {
+      "version": "5.26.5",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+      "dev": true
+    },
+    "node_modules/uuid": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
+      "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
+      "dev": true,
+      "funding": [
+        "https://github.com/sponsors/broofa",
+        "https://github.com/sponsors/ctavan"
+      ],
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yargs": {
+      "version": "17.7.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+      "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^8.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.3",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^21.1.1"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    }
+  }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..aedd88c
--- /dev/null
+++ b/package.json
@@ -0,0 +1,31 @@
+{
+  "dependencies": {
+    "@permafrost-dev/pretty-format": "^1.1.5",
+    "stacktrace-js": "^2.0.2",
+    "uuid": "^10.0.0"
+  },
+  "devDependencies": {
+    "@types/node": "^20.14.2",
+    "@types/uuid": "^9.0.8",
+    "dts-bundle-generator": "^9.5.1",
+    "esbuild": "^0.21.5",
+    "fast-glob": "^3.3.2",
+    "typescript": "^5.4.5"
+  },
+  "name": "@alekswilc/ray",
+  "version": "1.1.1",
+  "main": "./build/aleksray.cjs",
+  "module": "./build/aleksray.mjs",
+  "typings": "./build/aleksray.d.ts",
+  "scripts": {
+    "build": "node ./scripts/build",
+    "prepublish": "npx tsc"
+  },
+  "keywords": [],
+  "author": "alekswilc",
+  "license": "ISC",
+  "description": "",
+  "publishConfig": {
+    "access": "public"
+  }
+}
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..cc16f6b
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,69 @@
+# @alekswilc/ray
+
+Lightweight & fast [ray](https://myray.app/) integration library written in typescript
+
+- Supports ESM and CommonJS
+- Provides standalone bundle
+- Supports node 16+
+- Simple usage
+
+![](assets/image.png)
+
+### Performance
+- 3 requests took avg 28ms.
+- avg 2Mb memory usage on request
+
+### Env configuration
+- `ALEKSRAY_URI` (default: http://localhost:23517/)
+- `ALEKSRAY_DISABLED` (default: null)
+
+### Methods
+```ts
+/* COLORS */
+import { ray } from '@alekswilc/ray';
+ray("Message").green();
+ray("Message").orange();
+ray("Message").red();
+ray("Message").purple();
+ray("Message").blue();
+ray("Message").gray();
+ray("Message").color('red');
+
+/* LOGGER */
+ray().log("Message")
+ray().info("Message")
+ray().debug("Message")
+ray().warn("Message")
+ray().error("Message")
+ray().error(new Error("Message"))
+
+
+/* FORMATS */
+ray().label('TEST'); // set label
+ray().separator(); // display separator
+ray().raw({"test"}); // raw log
+ray().json({"test"}); // display json
+ray().pretty(["test"]) // display using pretty-format
+ray().send("data") // alias to ray("data")
+await ray().pause() // break point [ASYNC FUNCTION]
+
+
+/* SET CUSTOM ORIGIN */
+ray().customOrigin({ function_name: "test", file: "test.js", line_number: 1, hostname: "aleks-desktop" }).send("test")
+
+/* CHAINING */
+ray('test').color('red').label('test2') 
+
+```
+
+### Used dependencies
+- [stacktrace-js](https://github.com/stacktracejs/stacktrace.js)
+- [@permafrost-dev/pretty-format](https://github.com/permafrost-dev/pretty-format)
+- [uuid](https://github.com/uuidjs/uuid)
+
+
+## License
+The MIT License (MIT). Please see [License File](/LICENSE) for more information.
+
+## Credits
+- [Permafrost Development](https://github.com/permafrost-dev) ([node-ray](https://github.com/permafrost-dev/node-ray) under The MIT License)
diff --git a/scripts/build.js b/scripts/build.js
new file mode 100644
index 0000000..289ceb6
--- /dev/null
+++ b/scripts/build.js
@@ -0,0 +1,87 @@
+const path = require('node:path');
+const glob = require('fast-glob');
+const ts = require('typescript');
+const esbuild = require('esbuild');
+const fs = require('node:fs');
+const { generateDtsBundle } = require('dts-bundle-generator');
+const _ = async () => {
+
+    const sourcePath = path.resolve(__dirname, "../", "src")
+
+    const entryPoints = glob.sync(path.resolve(sourcePath, "**", "**.ts").replace(/\\/g, '/'));
+
+    const outdir = path.join(__dirname, "../", 'build');
+
+    if (!fs.existsSync(outdir)) {
+        fs.mkdirSync(outdir);
+    }
+
+    console.log("Generating .cjs files");
+
+    esbuild.build({
+        entryPoints: ['./src/index.ts'],
+        outfile: outdir + '/aleksray.cjs',
+        format: "cjs",
+        sourcemap: "external",
+        platform: "node",
+        outExtension: { '.js': '.cjs', },
+        bundle: true,
+        external: ['@permafrost-dev/pretty-format', 'p-queue', 'stacktrace-js']
+    });
+
+    esbuild.build({
+        entryPoints: ['./src/index.ts'],
+        outfile: outdir + '/standalone-aleksray-bundle.cjs',
+        format: "cjs",
+        sourcemap: "external",
+        platform: "node",
+        outExtension: { '.js': '.cjs', },
+        bundle: true,
+        // external: ['@permafrost-dev/pretty-format', 'p-queue', 'stacktrace-js']
+    });
+
+
+    console.log("Generating .mjs files");
+
+    esbuild.build({
+        entryPoints: ['./src/index.ts'],
+
+        outfile: outdir + '/aleksray.mjs',
+        format: "esm",
+        sourcemap: "external",
+        platform: "node",
+        outExtension: { '.js': '.mjs', },
+        bundle: true,
+        external: ['@permafrost-dev/pretty-format', 'p-queue', 'stacktrace-js']
+    });
+
+    esbuild.build({
+        entryPoints: ['./src/index.ts'],
+
+        outfile: outdir + '/standalone-aleksray-bundle.mjs',
+        format: "esm",
+        sourcemap: "external",
+        platform: "node",
+        outExtension: { '.js': '.mjs', },
+        bundle: true,
+        // external: ['@permafrost-dev/pretty-format', 'p-queue', 'stacktrace-js']
+    });
+
+
+    console.log("Generating .d.ts files");
+    const dts = generateDtsBundle([{ filePath: sourcePath + '/index.ts' }])
+        .pop()
+        .replaceAll('export {};', '')
+        .replaceAll(/\n{2,}/g, '\n')
+        .replaceAll(/\t/g, '    ')
+        .trim();
+
+
+    fs.writeFileSync(outdir + '/aleksray.d.ts', dts, 'utf8');
+
+
+
+}
+
+
+_();
\ No newline at end of file
diff --git a/src/Payload.ts b/src/Payload.ts
new file mode 100644
index 0000000..95fed4d
--- /dev/null
+++ b/src/Payload.ts
@@ -0,0 +1,75 @@
+import { v4 as uuidv4 } from 'uuid';
+import StackTrace from 'stacktrace-js';
+import os from 'node:os';
+
+export interface IPayload {
+    type: string;
+    content: Record<string, any>;
+    origin: {
+        function_name: string,
+        file: string,
+        line_number: number,
+        hostname: string,
+    }
+}
+
+const LIB_STACK_SOURCES = () => [...(process.env.ALEKSRAY_LIB_STACK_SOURCES?.split(';') || []), '@alekswilc/ray', '@alekswilc\\ray', 'standalone-aleksray-bundle.js', 'standalone-aleksray-bundle.mjs', 'aleksray.js', 'aleksray.mjs']
+
+export class Payload {
+    public static create(data: Omit<IPayload, 'origin'> & Partial<IPayload>) {
+        if (!data.origin) {
+            const or = StackTrace.getSync().filter(x => !LIB_STACK_SOURCES().some(y => x.getSource().includes(y)))[0];
+
+            data.origin = {
+                function_name: or.getFunctionName(),
+                file: or.getFileName().replace('file:///', ''),
+                line_number: or.getLineNumber(),
+                hostname: os.hostname(),
+            }
+        }
+
+        return new Payload(<IPayload>data);
+    }
+
+    public constructor(private data: IPayload) {
+        
+    }
+
+
+    toJSON() {
+        return this.data;
+    }
+}
+
+Payload.create({ type: 'test', content: {} });
+
+export interface IRequest {
+    // uuid, payloads, meta: { my_package_version: "1.0.0" }
+    uuid: string;
+    payloads: IPayload[]
+    meta: Record<string, string>
+}
+
+export class Request {
+    public static create(data: Omit<IRequest, 'meta' | 'uuid'> & Partial<IRequest>) {
+        if (!data.meta) {
+            data.meta = {
+                aleks_ray_version: '1.0.0',
+            }
+        }
+
+        if (!data.uuid) data.uuid = uuidv4();
+
+        return new Request(<IRequest>data);
+    }
+
+    public constructor(private data: IRequest) {}
+
+    get uuid() {
+        return this.data.uuid;
+    }
+
+    toJSON() {
+        return this.data;
+    }
+}
\ No newline at end of file
diff --git a/src/Queue.ts b/src/Queue.ts
new file mode 100644
index 0000000..b8310b4
--- /dev/null
+++ b/src/Queue.ts
@@ -0,0 +1,34 @@
+export interface IQueueItem { 
+    res: (value: any) => void
+    rej: (reason?: any) => void
+    promise: (...args: any[]) => PromiseLike<any> 
+}
+
+export class Queue {
+    private static queue: IQueueItem[] = [];
+    private static isPending = false;
+
+    public static add(promise: (...args: any[]) => PromiseLike<any>) {
+        return new Promise((res, rej) => {
+            this.queue.push({
+                res, rej, promise
+            });
+            this.process();
+        });
+    }
+
+    private static process() {
+        if (this.isPending) return false;
+        const item = this.queue.shift();
+        if (!item) return false;
+        this.isPending = true;
+        item?.promise()
+            .then(val => this.done(item, val, item.res))
+    }
+
+    private static done(item: IQueueItem, val: any, func: (val: any) => any) {
+        this.isPending = false;
+        func(val);
+        this.process();
+    }
+}
\ No newline at end of file
diff --git a/src/Ray.ts b/src/Ray.ts
new file mode 100644
index 0000000..8837abc
--- /dev/null
+++ b/src/Ray.ts
@@ -0,0 +1,252 @@
+import { Queue } from 'Queue.js';
+import { ArgumentConverter } from './argConverter';
+import { IPayload, Payload, Request } from './Payload';
+import { v4 as uuidv4 } from 'uuid';
+
+let defaultRayOptions: IOptions = {
+    uri: () => process.env.ALEKSRAY_URI || 'http://localhost:23517/',
+    enabled: () => !process.env.ALEKSRAY_DISABLED,
+
+}
+
+export interface IOptions {
+    uri: () => string;
+    enabled: () => boolean
+}
+
+export class Ray {
+    public uuid: string | undefined = undefined;
+    protected origin?: IPayload['origin'];
+
+    public color(name: string): Ray {
+        if (!defaultRayOptions.enabled()) return this;
+        const payload = Payload.create({
+            type: 'color',
+            content: {
+                color: name
+            }
+        });
+        return this.sendRequest(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+    }
+
+    public customOrigin(origin: IPayload['origin']) {
+        this.origin = origin;
+        return this;
+    }
+
+    public label(data: string): Ray {
+        if (!defaultRayOptions.enabled()) return this;
+
+        const payload = Payload.create({
+            type: 'label',
+            content: {
+                label: data
+            },
+            origin: this.origin
+        });
+
+        return this.sendRequest(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+    }
+
+    public separator() {
+        if (!defaultRayOptions.enabled()) return this;
+
+        const payload = Payload.create({
+            type: 'separator',
+            content: {},
+            origin: this.origin
+        });
+
+        return this.sendRequest(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+    }
+
+    public log(data: any) {
+        return this.send(data).green();
+    }
+
+    public info(data: any) {
+        return this.send(data).green();
+    }
+
+    public debug(data: any) {
+        return this.send(data).gray();
+    }
+
+    public warn(data: any) {
+        return this.send(data).orange();
+    }
+
+    public error(data: any | Error) {
+        if (data instanceof Error) return this.send(data.stack).red();
+
+        return this.send(data).red();
+    }
+
+    public raw(arg: any) {
+        if (!defaultRayOptions.enabled()) return this;
+
+        const payload = Payload.create({
+            type: 'log',
+            content: {
+                values: [arg],
+            },
+            origin: this.origin
+        });
+
+        return this.sendRequest(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+    }
+
+    public json(arg: any) {
+        if (!defaultRayOptions.enabled()) return this;
+
+        const payload = Payload.create({
+            type: 'json_string',
+            content: {
+                value: JSON.stringify(arg),
+            },
+            origin: this.origin
+        });
+
+        return this.sendRequest(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+    }
+
+    public pretty(arg: any) {
+        const a = ArgumentConverter.convertToPrimitive(arg);
+        if (a.isHtml) {
+            const payload = Payload.create({
+                type: 'custom',
+                content: {
+                    content: a.value,
+                    label: 'HTML'
+                },
+                origin: this.origin
+                
+            });
+            return this.sendRequest(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+        }
+
+        const payload = Payload.create({
+            type: 'log',
+            content: {
+                values: [ArgumentConverter.convertToPrimitive(arg).value],
+            },
+            origin: this.origin
+        });
+
+        return this.sendRequest(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+    }
+
+    public send(arg: any): Ray {
+        if (!defaultRayOptions.enabled()) return this;
+
+
+        const isObject = ['object', 'boolean', 'function', 'symbol', 'undefined'].includes(typeof arg);
+        if (isObject) return this.json(arg);
+
+
+        const payload = Payload.create({
+            type: 'log',
+            content: {
+                values: [arg],
+            },
+            origin: this.origin
+        });
+
+        return this.sendRequest(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+
+    }
+
+    public green(): Ray {
+        return this.color('green');
+    }
+
+    public orange(): Ray {
+        return this.color('orange');
+    }
+
+    public red(): Ray {
+        return this.color('red');
+    }
+
+    public purple(): Ray {
+        return this.color('purple');
+    }
+
+    public blue(): Ray {
+        return this.color('blue');
+    }
+
+    public gray(): Ray {
+        return this.color('gray');
+    }
+
+    public async pause() {
+        if (!defaultRayOptions.enabled()) return this;
+
+        const lockName = uuidv4();
+
+        const payload = Payload.create({
+            type: 'create_lock',
+            content: {
+                name: lockName
+            },
+            origin: this.origin
+        });
+        await this.sendRequestAsync(Request.create({ payloads: [payload.toJSON()], uuid: this.uuid }));
+
+
+        const isLockActive = async () => {
+            const data = await fetch(defaultRayOptions.uri() + `locks/${lockName}`).then(x => x.json()).catch(() => false);
+
+            if (!data) return { active: true };
+
+            if (data.stop_execution) process.exit(1);
+
+            return data;
+        }
+
+        do {
+            await new Promise(res => setTimeout(res, 500))
+        } while ((await isLockActive()).active)
+
+    }
+
+
+    public sendRequest(request: Request): Ray {
+        if (!defaultRayOptions.enabled()) return this;
+
+        this.uuid = request.uuid;
+
+        Queue.add(() => fetch(defaultRayOptions.uri(), {
+            method: 'POST',
+            body: JSON.stringify(request.toJSON(), (_, v) => typeof v === 'bigint' ? v.toString() : v),
+            headers: {
+                'Content-Type': 'application/json'
+            }
+        }).catch(() => { }));
+
+        return this;
+    }
+
+    public sendRequestAsync(request: Request) {
+        if (!defaultRayOptions.enabled()) return this;
+
+        this.uuid = request.uuid;
+
+        return Queue.add(() => fetch(defaultRayOptions.uri(), {
+            method: 'POST',
+            body: JSON.stringify(request.toJSON(), (_, v) => typeof v === 'bigint' ? v.toString() : v),
+            headers: {
+                'Content-Type': 'application/json'
+            }
+        }).catch(() => { }));
+    }
+
+}
+
+export const ray = (arg?: any) => 
+    arg ? (new Ray()).send(arg) : new Ray();
+
+
+
+export default Ray;
\ No newline at end of file
diff --git a/src/argConverter.ts b/src/argConverter.ts
new file mode 100644
index 0000000..0282666
--- /dev/null
+++ b/src/argConverter.ts
@@ -0,0 +1,68 @@
+/* https://github.com/permafrost-dev/node-ray/blob/main/src/ArgumentConverter.ts */
+/* Copyright © 2021 Permafrost Development under The MIT License (MIT) */
+
+import { format as prettyFormat } from '@permafrost-dev/pretty-format';
+
+export interface ArgumentConverterResult {
+    value: any;
+    isHtml: boolean;
+}
+
+export class ArgumentConverter {
+    public static convertToPrimitive(arg: any): ArgumentConverterResult {
+        if (arg === null) {
+            return { value: null, isHtml: false };
+        }
+
+        if (typeof arg === 'string') {
+            return { value: arg, isHtml: false };
+        }
+
+        if (typeof arg === 'number') {
+            return { value: arg, isHtml: false };
+        }
+
+        if (typeof arg === 'boolean') {
+            return { value: arg, isHtml: false };
+        }
+
+        return { value: ArgumentConverter.prettyFormatForHtml(arg), isHtml: true };
+    }
+
+    protected static buildHtmlElement(tagName: string, classes: string, slot: string): string {
+        return `<${tagName} style="font-size: 0.8rem!important;" class="${classes}">${slot}</${tagName}>`;
+    }
+
+    public static prettyFormatForHtml(arg: any): string {
+        const formatted = prettyFormat(arg, { indent: '    ' } as any)
+            // format whitespace for display in html
+            .replace(/ /g, '&nbsp;')
+            .replace(/\r\n|\r|\n/g, '<br>')
+
+            // highlight quoted strings
+            .replace(/("[^"]+")/g, this.buildHtmlElement('code', 'bold text-green-600 p-0', '$1'))
+
+            // highlight array contents
+            .replace(/(Array)(&nbsp;|\s)+(\[[^\]]+\])/g, this.buildHtmlElement('code', 'bold text-gray-500 p-0', '$1 $3'))
+
+            // highlight types like [Function Abc]
+            .replace(/^(\[[^\]]+\])$/g, this.buildHtmlElement('code', 'bold text-gray-500 p-0', '$1'))
+
+            // highlight object contents
+            .replace(/(\{.+\})/g, this.buildHtmlElement('code', 'text-gray-600', '$1'))
+
+            // highlight keywords
+            .replace(
+                /(Array|Object|Number|Function|Circular|Symbol|WeakMap|Map)/g,
+                this.buildHtmlElement('span', 'bold text-yellow-600', '$1'),
+            )
+
+            // highlight reserved words
+            .replace(/(true|false|null|undefined|NaN)/g, this.buildHtmlElement('span', 'bold text-indigo-600', '$1'))
+
+            // highlight special chars
+            .replace(/(:&nbsp;|[,[\]{}])/g, this.buildHtmlElement('span', 'bold text-orange-400', '$1'));
+
+        return this.buildHtmlElement('code', '', formatted).trim();
+    }
+}
\ No newline at end of file
diff --git a/src/formatHtml.ts b/src/formatHtml.ts
new file mode 100644
index 0000000..4613d86
--- /dev/null
+++ b/src/formatHtml.ts
@@ -0,0 +1,45 @@
+/* https://github.com/permafrost-dev/node-ray/blob/main/src/lib/utils.ts */
+/* Copyright © 2021 Permafrost Development under The MIT License (MIT) */
+
+export interface FormatHtmlOptions {
+    encodeEntities: boolean;
+}
+
+export const formatHtmlForDisplay = (html: string, options: FormatHtmlOptions = { encodeEntities: true }) => {
+    if (options.encodeEntities) {
+        html = encodeHtmlEntities(html);
+    }
+
+    return encodeNewLinesToHtml(
+        html.replace(/^(\s+)/gm, m => `${spacesToHtmlSpaces(m)}`), // preserve indentation spaces
+    );
+};
+
+export const encodeHtmlEntities = (str: string) => {
+    const escapeChars: Record<string, string> = {
+        '¢': 'cent',
+        '£': 'pound',
+        '¥': 'yen',
+        '€': 'euro',
+        '©': 'copy',
+        '®': 'reg',
+        '<': 'lt',
+        '>': 'gt',
+        '"': 'quot',
+        '&': 'amp',
+        "'": '#39',
+    };
+
+    const chars: string[] = Object.keys(escapeChars);
+    const regex = new RegExp(`[${chars.join('')}]`, 'g');
+
+    return str.replace(regex, m => `&${escapeChars[m]};`);
+};
+
+export const spacesToHtmlSpaces = (spaces: string) => {
+    return '&nbsp;'.repeat(spaces.length);
+};
+
+export const encodeNewLinesToHtml = (str: string) => {
+    return str.replace(/(\r\n|\r|\n)/g, '<br>');
+};
\ No newline at end of file
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 0000000..6b7d0ec
--- /dev/null
+++ b/src/index.ts
@@ -0,0 +1,2 @@
+export { ray, Ray, IOptions } from './Ray';
+export { Request, Payload, IRequest, IPayload } from './Payload';
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..1bd3b4b
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,109 @@
+{
+  "compilerOptions": {
+    /* Visit https://aka.ms/tsconfig to read more about this file */
+
+    /* Projects */
+    // "incremental": true,                              /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
+    // "composite": true,                                /* Enable constraints that allow a TypeScript project to be used with project references. */
+    // "tsBuildInfoFile": "./.tsbuildinfo",              /* Specify the path to .tsbuildinfo incremental compilation file. */
+    // "disableSourceOfProjectReferenceRedirect": true,  /* Disable preferring source files instead of declaration files when referencing composite projects. */
+    // "disableSolutionSearching": true,                 /* Opt a project out of multi-project reference checking when editing. */
+    // "disableReferencedProjectLoad": true,             /* Reduce the number of projects loaded automatically by TypeScript. */
+
+    /* Language and Environment */
+    "target": "ES6",                                  /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
+    // "lib": [],                                        /* Specify a set of bundled library declaration files that describe the target runtime environment. */
+    // "jsx": "preserve",                                /* Specify what JSX code is generated. */
+    // "experimentalDecorators": true,                   /* Enable experimental support for legacy experimental decorators. */
+    // "emitDecoratorMetadata": true,                    /* Emit design-type metadata for decorated declarations in source files. */
+    // "jsxFactory": "",                                 /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
+    // "jsxFragmentFactory": "",                         /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
+    // "jsxImportSource": "",                            /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
+    // "reactNamespace": "",                             /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
+    // "noLib": true,                                    /* Disable including any library files, including the default lib.d.ts. */
+    // "useDefineForClassFields": true,                  /* Emit ECMAScript-standard-compliant class fields. */
+    // "moduleDetection": "auto",                        /* Control what method is used to detect module-format JS files. */
+
+    /* Modules */
+    "module": "CommonJS",                                /* Specify what module code is generated. */
+    // "rootDir": "./",                                  /* Specify the root folder within your source files. */
+    "moduleResolution": "Node",                     /* Specify how TypeScript looks up a file from a given module specifier. */
+     "baseUrl": "./src",                                  /* Specify the base directory to resolve non-relative module names. */
+    // "paths": {},                                      /* Specify a set of entries that re-map imports to additional lookup locations. */
+    // "rootDirs": [],                                   /* Allow multiple folders to be treated as one when resolving modules. */
+    // "typeRoots": [],                                  /* Specify multiple folders that act like './node_modules/@types'. */
+    // "types": [],                                      /* Specify type package names to be included without being referenced in a source file. */
+    // "allowUmdGlobalAccess": true,                     /* Allow accessing UMD globals from modules. */
+    // "moduleSuffixes": [],                             /* List of file name suffixes to search when resolving a module. */
+    // "allowImportingTsExtensions": true,               /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
+    // "resolvePackageJsonExports": true,                /* Use the package.json 'exports' field when resolving package imports. */
+    // "resolvePackageJsonImports": true,                /* Use the package.json 'imports' field when resolving imports. */
+    // "customConditions": [],                           /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
+    // "resolveJsonModule": true,                        /* Enable importing .json files. */
+    // "allowArbitraryExtensions": true,                 /* Enable importing files with any extension, provided a declaration file is present. */
+    // "noResolve": true,                                /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */
+
+    /* JavaScript Support */
+    // "allowJs": true,                                  /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
+    // "checkJs": true,                                  /* Enable error reporting in type-checked JavaScript files. */
+    // "maxNodeModuleJsDepth": 1,                        /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
+
+    /* Emit */
+     "declaration": true,                              /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
+     "declarationMap": true,                           /* Create sourcemaps for d.ts files. */
+     "emitDeclarationOnly": true,                      /* Only output d.ts files and not JavaScript files. */
+    // "sourceMap": true,                                /* Create source map files for emitted JavaScript files. */
+    // "inlineSourceMap": true,                          /* Include sourcemap files inside the emitted JavaScript. */
+    // "outFile": "./",                                  /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
+    "outDir": "./dist",                                   /* Specify an output folder for all emitted files. */
+    // "removeComments": true,                           /* Disable emitting comments. */
+    // "noEmit": true,                                   /* Disable emitting files from a compilation. */
+    // "importHelpers": true,                            /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
+    // "importsNotUsedAsValues": "remove",               /* Specify emit/checking behavior for imports that are only used for types. */
+    // "downlevelIteration": true,                       /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
+    // "sourceRoot": "",                                 /* Specify the root path for debuggers to find the reference source code. */
+    // "mapRoot": "",                                    /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSources": true,                            /* Include source code in the sourcemaps inside the emitted JavaScript. */
+    // "emitBOM": true,                                  /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
+    // "newLine": "crlf",                                /* Set the newline character for emitting files. */
+    // "stripInternal": true,                            /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
+    // "noEmitHelpers": true,                            /* Disable generating custom helper functions like '__extends' in compiled output. */
+    // "noEmitOnError": true,                            /* Disable emitting files if any type checking errors are reported. */
+    // "preserveConstEnums": true,                       /* Disable erasing 'const enum' declarations in generated code. */
+    // "declarationDir": "./",                           /* Specify the output directory for generated declaration files. */
+    // "preserveValueImports": true,                     /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
+
+    /* Interop Constraints */
+    // "isolatedModules": true,                          /* Ensure that each file can be safely transpiled without relying on other imports. */
+    // "verbatimModuleSyntax": true,                     /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
+    // "allowSyntheticDefaultImports": true,             /* Allow 'import x from y' when a module doesn't have a default export. */
+    "esModuleInterop": true,                             /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
+    // "preserveSymlinks": true,                         /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
+    "forceConsistentCasingInFileNames": true,            /* Ensure that casing is correct in imports. */
+
+    /* Type Checking */
+    "strict": true,                                      /* Enable all strict type-checking options. */
+    // "noImplicitAny": true,                            /* Enable error reporting for expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,                         /* When type checking, take into account 'null' and 'undefined'. */
+    // "strictFunctionTypes": true,                      /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
+    // "strictBindCallApply": true,                      /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
+    // "strictPropertyInitialization": true,             /* Check for class properties that are declared but not set in the constructor. */
+    // "noImplicitThis": true,                           /* Enable error reporting when 'this' is given the type 'any'. */
+    // "useUnknownInCatchVariables": true,               /* Default catch clause variables as 'unknown' instead of 'any'. */
+    // "alwaysStrict": true,                             /* Ensure 'use strict' is always emitted. */
+    // "noUnusedLocals": true,                           /* Enable error reporting when local variables aren't read. */
+    // "noUnusedParameters": true,                       /* Raise an error when a function parameter isn't read. */
+    // "exactOptionalPropertyTypes": true,               /* Interpret optional property types as written, rather than adding 'undefined'. */
+    // "noImplicitReturns": true,                        /* Enable error reporting for codepaths that do not explicitly return in a function. */
+    // "noFallthroughCasesInSwitch": true,               /* Enable error reporting for fallthrough cases in switch statements. */
+    // "noUncheckedIndexedAccess": true,                 /* Add 'undefined' to a type when accessed using an index. */
+    // "noImplicitOverride": true,                       /* Ensure overriding members in derived classes are marked with an override modifier. */
+    // "noPropertyAccessFromIndexSignature": true,       /* Enforces using indexed accessors for keys declared using an indexed type. */
+    // "allowUnusedLabels": true,                        /* Disable error reporting for unused labels. */
+    // "allowUnreachableCode": true,                     /* Disable error reporting for unreachable code. */
+
+    /* Completeness */
+    // "skipDefaultLibCheck": true,                      /* Skip type checking .d.ts files that are included with TypeScript. */
+    "skipLibCheck": true                                 /* Skip type checking all .d.ts files. */
+  }
+}