feat: reworked antlr4ts to antlr4

This commit is contained in:
Kacper Kula 2024-11-04 21:00:52 +00:00
parent 7f7352e62f
commit 3ee1045cb5
14 changed files with 815 additions and 531 deletions

1
.gitignore vendored
View file

@ -23,3 +23,4 @@ data.json
docs/.vitepress/dist
docs/.vitepress/cache
coverage/
dist/

View file

@ -1,3 +1,6 @@
# 0.10.0
SQLSeal is not compatible with mobile! Plugin now uses SQL.JS instead of better-sqlite3 which is written in Web Assembly so no longer native binaries are needed. This makes plugin portable.
# 0.9.2
Adding checkbox method to display boolean values as checkboxes
Fixing how updates are parsed

View file

@ -3,13 +3,8 @@
SQLSeal allows to transform your CSV files located in your vault into fully-fledged SQL database. You can use SQL statements to query this data however you like.
## Installation
Once the library is published in Obsidian Official Community Repository: just head to Community Tab in your Obisidian Settings page and search for "SQLSeal".
Note: Please note that this plugin is in early phase. Basic functionality should work just fine but I do not take any responsibility for potential data loss and damage to your Vault.
On the first try plugin will download better_sqlite3.node binary to run database locally. This is due to the Obsidian restrictions to bundle everything in the `main.js`. The whole process of generating it is public and you can check it in the GitHub workflows.
The plugin creates database file in configuration folder `.obsidian` named `sqlseal.db`.
You can install plugin from the Community Plugins directly from Obsidian, just look for SQLSeal in the marketplace.
### Manual Instalation
To manually install the package, open [Releases](https://github.com/h-sphere/sql-seal/releases) and download .zip of the last one. Unzip it in your vault under `.obsidian/Plugins/sqlseal`.
@ -29,6 +24,9 @@ You can define multiple tables in a single snippet. You can also point to the ta
For more comprehensive documentation head to [hypersphere.blog/sql-seal](https://hypersphere.blog/sql-seal).
# Disclaimer
The plugin authors do not take any resposibility for any potential data loss. Always backup your files before usage. That said, plugin does not modify any files in the Vault so you should be fine :)
# Stay in Touch!
If you have any questions about the project, ideas or want to share your use-cases, [join our Discord Channel](https://discord.gg/ZMRnFeAWXb)!

View file

@ -1,11 +1,11 @@
{
"id": "sqlseal",
"name": "SQLSeal",
"version": "0.9.2",
"version": "0.10.0",
"minAppVersion": "0.15.0",
"description": "Use SQL in your notes to query your vault files and CSV content.",
"author": "hypersphere",
"authorUrl": "https://hypersphere.blog/",
"fundingUrl": "ko-fi.com/hypersphere",
"isDesktopOnly": true
"isDesktopOnly": false
}

View file

@ -1,13 +1,13 @@
{
"name": "sqlseal",
"version": "0.9.2",
"version": "0.10.0",
"description": "A plugin for Obsidian that allows you to run SQL queries on your notes.",
"main": "main.js",
"scripts": {
"dev": "node esbuild.config.mjs",
"typecheck": "tsc -noEmit -skipLibCheck",
"build": " node esbuild.config.mjs production",
"build-grammar": "antlr4ts -o src/grammar -Dlanguage=TypeScript -visitor SqlSealLang.g4",
"build-grammar": "npx antlr4-tool -o src/grammar --visitor SqlSealLang.g4",
"version": "node version-bump.mjs && git add manifest.json versions.json",
"rebuild": "electron-rebuild -f -w better-sqlite3",
"docs:dev": "vitepress dev docs",
@ -27,6 +27,7 @@
"@types/sql.js": "^1.4.9",
"@typescript-eslint/eslint-plugin": "5.29.0",
"@typescript-eslint/parser": "5.29.0",
"antlr4-tool": "^1.1.1",
"antlr4ts-cli": "0.5.0-alpha.4",
"builtin-modules": "3.3.0",
"electron": "^30.0.0",
@ -45,11 +46,14 @@
"dependencies": {
"@ag-grid-community/theming": "^32.3.2",
"ag-grid-community": "^32.3.2",
"antlr4ts": "0.5.0-alpha.4",
"antlr4": "^4.13.2",
"antlr4ts-browser": "0.5.0-alpha.4",
"antlr4ts-browser-cli": "0.5.0-alpha.7",
"json5": "^2.2.3",
"lodash": "^4.17.21",
"node-sql-parser": "^5.0.0",
"papaparse": "^5.4.1",
"sql.js": "^1.12.0"
"sql.js": "^1.12.0",
"util": "^0.12.5"
}
}

View file

@ -14,9 +14,15 @@ importers:
ag-grid-community:
specifier: ^32.3.2
version: 32.3.2
antlr4ts:
antlr4:
specifier: ^4.13.2
version: 4.13.2
antlr4ts-browser:
specifier: 0.5.0-alpha.4
version: 0.5.0-alpha.4
version: 0.5.0-alpha.4(@babel/runtime@7.26.0)
antlr4ts-browser-cli:
specifier: 0.5.0-alpha.7
version: 0.5.0-alpha.7
json5:
specifier: ^2.2.3
version: 2.2.3
@ -32,6 +38,9 @@ importers:
sql.js:
specifier: ^1.12.0
version: 1.12.0
util:
specifier: ^0.12.5
version: 0.12.5
devDependencies:
'@jest/globals':
specifier: ^29.7.0
@ -57,6 +66,9 @@ importers:
'@typescript-eslint/parser':
specifier: 5.29.0
version: 5.29.0(eslint@8.57.0)(typescript@4.7.4)
antlr4-tool:
specifier: ^1.1.1
version: 1.1.1
antlr4ts-cli:
specifier: 0.5.0-alpha.4
version: 0.5.0-alpha.4
@ -331,6 +343,10 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/runtime@7.26.0':
resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
engines: {node: '>=6.9.0'}
'@babel/template@7.25.0':
resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
engines: {node: '>=6.9.0'}
@ -907,6 +923,9 @@ packages:
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
engines: {node: '>= 10'}
'@types/antlr4@4.11.6':
resolution: {integrity: sha512-YtxtT6vYfLK6jC55zC4Pb2YwV6Z8exn4DbDlQgoSEc6VqlFZloi6bgm0AqZns/7U4XQCAVMhv/+vnGcfyCkPfg==}
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
@ -1225,13 +1244,27 @@ packages:
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
engines: {node: '>=10'}
antlr4-tool@1.1.1:
resolution: {integrity: sha512-eACjIXKjVW07SlSmXcjqa2IBIEwUodXbWpnlfywSO3YAa5vr+5nQk/+34dooK/KLpPNeaZVyFcbiGRKgmPmK6Q==}
hasBin: true
antlr4@4.13.2:
resolution: {integrity: sha512-QiVbZhyy4xAZ17UPEuG3YTOt8ZaoeOR1CvEAqrEsDBsOqINslaB147i9xqljZqoyf5S+EUlGStaj+t22LT9MOg==}
engines: {node: '>=16'}
antlr4ts-browser-cli@0.5.0-alpha.7:
resolution: {integrity: sha512-5ktIJRhWxzC3pKRMUOxt8G1WNy5yJRPQTKahF5dbwgfWwAV1AJrQnjqwhLi7FM2VNXdcrD/3hc8T2kmriOxzbQ==}
hasBin: true
antlr4ts-browser@0.5.0-alpha.4:
resolution: {integrity: sha512-H4P/amu2GgbrK9HWXpttH177LThMbJPDsUUwZ/LWIRAEB783W2vEi4nKW+bETv3FHYBciPBthpLKviyVOMgAjg==}
peerDependencies:
'@babel/runtime': ^7.14.0
antlr4ts-cli@0.5.0-alpha.4:
resolution: {integrity: sha512-lVPVBTA2CVHRYILSKilL6Jd4hAumhSZZWA7UbQNQrmaSSj7dPmmYaN4bOmZG79cOy0lS00i4LY68JZZjZMWVrw==}
hasBin: true
antlr4ts@0.5.0-alpha.4:
resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==}
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
@ -1257,6 +1290,10 @@ packages:
async@3.2.6:
resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
babel-jest@29.7.0:
resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@ -1295,6 +1332,9 @@ packages:
birpc@0.2.17:
resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==}
bl@1.2.3:
resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==}
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@ -1323,9 +1363,18 @@ packages:
bser@2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
buffer-alloc-unsafe@1.1.0:
resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
buffer-alloc@1.2.0:
resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
buffer-crc32@0.2.13:
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
buffer-fill@1.0.0:
resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@ -1348,6 +1397,10 @@ packages:
resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
engines: {node: '>=8'}
call-bind@1.0.7:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
@ -1375,6 +1428,13 @@ packages:
resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
engines: {node: '>=10'}
chdir@0.0.0:
resolution: {integrity: sha512-4uF+X0GMPac82R3P1bZJCxDbEaJZvveosJELubRPC7mW8uku/PJLEl+Gv1TIR2YKOyDaoEmAcfw5/s2g8cJbhQ==}
engines: {node: '>=0.4.0'}
chownr@1.1.4:
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
chownr@2.0.0:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
@ -1433,6 +1493,9 @@ packages:
resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
hasBin: true
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
@ -1446,6 +1509,9 @@ packages:
resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
engines: {node: '>=12.13'}
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
create-jest@29.7.0:
resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@ -1523,10 +1589,17 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
directory-exists@2.0.1:
resolution: {integrity: sha512-+CEod3IzwjvhQOMXFSU6nrqdTwrhzOiacNzzXlwBVFm7C4y2rbuEWs5WaRsI/3IZeSWORA5F1q8FBh3gm4HSsw==}
doctrine@3.0.0:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
ejs@2.7.4:
resolution: {integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==}
engines: {node: '>=0.10.0'}
ejs@3.1.10:
resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
engines: {node: '>=0.10.0'}
@ -1725,6 +1798,9 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
find-package-json@1.2.0:
resolution: {integrity: sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==}
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@ -1743,6 +1819,12 @@ packages:
focus-trap@7.5.4:
resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
fs-constants@1.0.0:
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
fs-extra@10.1.0:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
@ -1867,6 +1949,10 @@ packages:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
has-tostringtag@1.0.2:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
has-unicode@2.0.1:
resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
@ -1944,9 +2030,17 @@ packages:
resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
engines: {node: '>= 12'}
is-arguments@1.1.1:
resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
engines: {node: '>= 0.4'}
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
is-core-module@2.15.1:
resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
engines: {node: '>= 0.4'}
@ -1963,6 +2057,10 @@ packages:
resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
engines: {node: '>=6'}
is-generator-function@1.0.10:
resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
engines: {node: '>= 0.4'}
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
@ -1986,6 +2084,10 @@ packages:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'}
is-typed-array@1.1.13:
resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
engines: {node: '>= 0.4'}
is-unicode-supported@0.1.0:
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
engines: {node: '>=10'}
@ -1994,6 +2096,9 @@ packages:
resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
engines: {node: '>=12.13'}
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
@ -2312,6 +2417,9 @@ packages:
resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
engines: {node: '>=10'}
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
minipass-collect@1.0.2:
resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==}
engines: {node: '>= 8'}
@ -2350,6 +2458,14 @@ packages:
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
mkdir-recursive@0.4.0:
resolution: {integrity: sha512-gbTtiEu8P/GSMh1lAa0YYNr8XIfDzFgnWtetw3Hfz9nw6YXySHNYOZF/uUTgyp8GHvFnNw/EG7VhOkD6zfVb6A==}
engines: {node: '>=4'}
mkdirp@0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
mkdirp@1.0.4:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
@ -2386,6 +2502,10 @@ packages:
node-api-version@0.1.4:
resolution: {integrity: sha512-KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g==}
node-eval@2.0.0:
resolution: {integrity: sha512-Ap+L9HznXAVeJj3TJ1op6M6bg5xtTq8L5CU/PJxtkhea/DrIxdTknGKIECKd/v/Lgql95iuMAYvIzBNd0pmcMg==}
engines: {node: '>= 4'}
node-gyp-build@4.8.1:
resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==}
hasBin: true
@ -2531,6 +2651,10 @@ packages:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
possible-typed-array-names@1.0.0:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'}
postcss@8.4.41:
resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
engines: {node: ^10 || ^12 || >=14}
@ -2551,6 +2675,9 @@ packages:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
progress@2.0.3:
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
engines: {node: '>=0.4.0'}
@ -2571,6 +2698,9 @@ packages:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
pump@1.0.3:
resolution: {integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==}
pump@3.0.0:
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
@ -2591,10 +2721,16 @@ packages:
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
readable-stream@2.3.8:
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
readable-stream@3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
regexpp@3.2.0:
resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
engines: {node: '>=8'}
@ -2661,6 +2797,9 @@ packages:
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
safe-buffer@5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
@ -2689,6 +2828,10 @@ packages:
set-blocking@2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@ -2766,6 +2909,9 @@ packages:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
@ -2815,10 +2961,20 @@ packages:
tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
tar-fs@1.16.3:
resolution: {integrity: sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==}
tar-stream@1.6.2:
resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==}
engines: {node: '>= 0.8.0'}
tar@6.2.1:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
targz@1.0.1:
resolution: {integrity: sha512-6q4tP9U55mZnRuMTBqnqc3nwYQY3kv+QthCFZuMk+Tn1qYUnMPmL/JZ/mzgXINzFpSqfU+242IFmFU9VPvqaQw==}
test-exclude@6.0.0:
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
engines: {node: '>=8'}
@ -2829,6 +2985,9 @@ packages:
tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
to-buffer@1.1.1:
resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==}
to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@ -2932,6 +3091,9 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
util@0.12.5:
resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
v8-to-istanbul@9.3.0:
resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
engines: {node: '>=10.12.0'}
@ -3007,6 +3169,10 @@ packages:
wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
which-typed-array@1.1.15:
resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
engines: {node: '>= 0.4'}
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@ -3030,6 +3196,10 @@ packages:
resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
xtend@4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@ -3351,6 +3521,10 @@ snapshots:
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/runtime@7.26.0':
dependencies:
regenerator-runtime: 0.14.1
'@babel/template@7.25.0':
dependencies:
'@babel/code-frame': 7.24.7
@ -3884,6 +4058,8 @@ snapshots:
'@tootallnate/once@2.0.0': {}
'@types/antlr4@4.11.6': {}
'@types/babel__core@7.20.5':
dependencies:
'@babel/parser': 7.25.4
@ -4267,9 +4443,30 @@ snapshots:
ansi-styles@5.2.0: {}
antlr4ts-cli@0.5.0-alpha.4: {}
antlr4-tool@1.1.1:
dependencies:
'@types/antlr4': 4.11.6
antlr4: 4.13.2
chalk: 2.4.2
chdir: 0.0.0
commander: 2.20.3
directory-exists: 2.0.1
ejs: 2.7.4
find-package-json: 1.2.0
lodash: 4.17.21
mkdir-recursive: 0.4.0
node-eval: 2.0.0
targz: 1.0.1
antlr4ts@0.5.0-alpha.4: {}
antlr4@4.13.2: {}
antlr4ts-browser-cli@0.5.0-alpha.7: {}
antlr4ts-browser@0.5.0-alpha.4(@babel/runtime@7.26.0):
dependencies:
'@babel/runtime': 7.26.0
antlr4ts-cli@0.5.0-alpha.4: {}
anymatch@3.1.3:
dependencies:
@ -4293,6 +4490,10 @@ snapshots:
async@3.2.6: {}
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
babel-jest@29.7.0(@babel/core@7.25.2):
dependencies:
'@babel/core': 7.25.2
@ -4356,6 +4557,11 @@ snapshots:
birpc@0.2.17: {}
bl@1.2.3:
dependencies:
readable-stream: 2.3.8
safe-buffer: 5.2.1
bl@4.1.0:
dependencies:
buffer: 5.7.1
@ -4393,8 +4599,17 @@ snapshots:
dependencies:
node-int64: 0.4.0
buffer-alloc-unsafe@1.1.0: {}
buffer-alloc@1.2.0:
dependencies:
buffer-alloc-unsafe: 1.1.0
buffer-fill: 1.0.0
buffer-crc32@0.2.13: {}
buffer-fill@1.0.0: {}
buffer-from@1.1.2: {}
buffer@5.7.1:
@ -4439,6 +4654,14 @@ snapshots:
normalize-url: 6.1.0
responselike: 2.0.1
call-bind@1.0.7:
dependencies:
es-define-property: 1.0.0
es-errors: 1.3.0
function-bind: 1.1.2
get-intrinsic: 1.2.4
set-function-length: 1.2.2
callsites@3.1.0: {}
camelcase@5.3.1: {}
@ -4460,6 +4683,10 @@ snapshots:
char-regex@1.0.2: {}
chdir@0.0.0: {}
chownr@1.1.4: {}
chownr@2.0.0: {}
ci-info@3.9.0: {}
@ -4504,6 +4731,8 @@ snapshots:
color-support@1.1.3: {}
commander@2.20.3: {}
concat-map@0.0.1: {}
console-control-strings@1.1.0: {}
@ -4514,6 +4743,8 @@ snapshots:
dependencies:
is-what: 4.1.16
core-util-is@1.0.3: {}
create-jest@29.7.0(@types/node@22.5.0):
dependencies:
'@jest/types': 29.6.3
@ -4562,7 +4793,6 @@ snapshots:
es-define-property: 1.0.0
es-errors: 1.3.0
gopd: 1.0.1
optional: true
define-properties@1.2.1:
dependencies:
@ -4586,10 +4816,14 @@ snapshots:
dependencies:
path-type: 4.0.0
directory-exists@2.0.1: {}
doctrine@3.0.0:
dependencies:
esutils: 2.0.3
ejs@2.7.4: {}
ejs@3.1.10:
dependencies:
jake: 10.9.2
@ -4650,10 +4884,8 @@ snapshots:
es-define-property@1.0.0:
dependencies:
get-intrinsic: 1.2.4
optional: true
es-errors@1.3.0:
optional: true
es-errors@1.3.0: {}
es6-error@4.1.1:
optional: true
@ -4879,6 +5111,8 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
find-package-json@1.2.0: {}
find-up@4.1.0:
dependencies:
locate-path: 5.0.0
@ -4901,6 +5135,12 @@ snapshots:
dependencies:
tabbable: 6.2.0
for-each@0.3.3:
dependencies:
is-callable: 1.2.7
fs-constants@1.0.0: {}
fs-extra@10.1.0:
dependencies:
graceful-fs: 4.2.11
@ -4948,7 +5188,6 @@ snapshots:
has-proto: 1.0.3
has-symbols: 1.0.3
hasown: 2.0.2
optional: true
get-package-type@0.1.0: {}
@ -5017,7 +5256,6 @@ snapshots:
gopd@1.0.1:
dependencies:
get-intrinsic: 1.2.4
optional: true
got@11.8.6:
dependencies:
@ -5044,13 +5282,14 @@ snapshots:
has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.0
optional: true
has-proto@1.0.3:
optional: true
has-proto@1.0.3: {}
has-symbols@1.0.3:
optional: true
has-symbols@1.0.3: {}
has-tostringtag@1.0.2:
dependencies:
has-symbols: 1.0.3
has-unicode@2.0.1: {}
@ -5127,8 +5366,15 @@ snapshots:
jsbn: 1.1.0
sprintf-js: 1.1.3
is-arguments@1.1.1:
dependencies:
call-bind: 1.0.7
has-tostringtag: 1.0.2
is-arrayish@0.2.1: {}
is-callable@1.2.7: {}
is-core-module@2.15.1:
dependencies:
hasown: 2.0.2
@ -5139,6 +5385,10 @@ snapshots:
is-generator-fn@2.1.0: {}
is-generator-function@1.0.10:
dependencies:
has-tostringtag: 1.0.2
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
@ -5153,10 +5403,16 @@ snapshots:
is-stream@2.0.1: {}
is-typed-array@1.1.13:
dependencies:
which-typed-array: 1.1.15
is-unicode-supported@0.1.0: {}
is-what@4.1.16: {}
isarray@1.0.0: {}
isexe@2.0.0: {}
istanbul-lib-coverage@3.2.2: {}
@ -5701,6 +5957,8 @@ snapshots:
dependencies:
brace-expansion: 2.0.1
minimist@1.2.8: {}
minipass-collect@1.0.2:
dependencies:
minipass: 3.3.6
@ -5740,6 +5998,12 @@ snapshots:
mitt@3.0.1: {}
mkdir-recursive@0.4.0: {}
mkdirp@0.5.6:
dependencies:
minimist: 1.2.8
mkdirp@1.0.4: {}
moment@2.29.4: {}
@ -5764,6 +6028,10 @@ snapshots:
dependencies:
semver: 7.6.3
node-eval@2.0.0:
dependencies:
path-is-absolute: 1.0.1
node-gyp-build@4.8.1: {}
node-gyp@9.4.1:
@ -5911,6 +6179,8 @@ snapshots:
dependencies:
find-up: 4.1.0
possible-typed-array-names@1.0.0: {}
postcss@8.4.41:
dependencies:
nanoid: 3.3.7
@ -5929,6 +6199,8 @@ snapshots:
ansi-styles: 5.2.0
react-is: 18.3.1
process-nextick-args@2.0.1: {}
progress@2.0.3: {}
promise-inflight@1.0.1: {}
@ -5943,6 +6215,11 @@ snapshots:
kleur: 3.0.3
sisteransi: 1.0.5
pump@1.0.3:
dependencies:
end-of-stream: 1.4.4
once: 1.4.0
pump@3.0.0:
dependencies:
end-of-stream: 1.4.4
@ -5958,12 +6235,24 @@ snapshots:
react-is@18.3.1: {}
readable-stream@2.3.8:
dependencies:
core-util-is: 1.0.3
inherits: 2.0.4
isarray: 1.0.0
process-nextick-args: 2.0.1
safe-buffer: 5.1.2
string_decoder: 1.1.1
util-deprecate: 1.0.2
readable-stream@3.6.2:
dependencies:
inherits: 2.0.4
string_decoder: 1.3.0
util-deprecate: 1.0.2
regenerator-runtime@0.14.1: {}
regexpp@3.2.0: {}
require-directory@2.1.1: {}
@ -6041,6 +6330,8 @@ snapshots:
dependencies:
queue-microtask: 1.2.3
safe-buffer@5.1.2: {}
safe-buffer@5.2.1: {}
safer-buffer@2.1.2:
@ -6062,6 +6353,15 @@ snapshots:
set-blocking@2.0.0: {}
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
es-errors: 1.3.0
function-bind: 1.1.2
get-intrinsic: 1.2.4
gopd: 1.0.1
has-property-descriptors: 1.0.2
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
@ -6132,6 +6432,10 @@ snapshots:
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
string_decoder@1.1.1:
dependencies:
safe-buffer: 5.1.2
string_decoder@1.3.0:
dependencies:
safe-buffer: 5.2.1
@ -6174,6 +6478,23 @@ snapshots:
tabbable@6.2.0: {}
tar-fs@1.16.3:
dependencies:
chownr: 1.1.4
mkdirp: 0.5.6
pump: 1.0.3
tar-stream: 1.6.2
tar-stream@1.6.2:
dependencies:
bl: 1.2.3
buffer-alloc: 1.2.0
end-of-stream: 1.4.4
fs-constants: 1.0.0
readable-stream: 2.3.8
to-buffer: 1.1.1
xtend: 4.0.2
tar@6.2.1:
dependencies:
chownr: 2.0.0
@ -6183,6 +6504,10 @@ snapshots:
mkdirp: 1.0.4
yallist: 4.0.0
targz@1.0.1:
dependencies:
tar-fs: 1.16.3
test-exclude@6.0.0:
dependencies:
'@istanbuljs/schema': 0.1.3
@ -6193,6 +6518,8 @@ snapshots:
tmpl@1.0.5: {}
to-buffer@1.1.1: {}
to-fast-properties@2.0.0: {}
to-regex-range@5.0.1:
@ -6271,6 +6598,14 @@ snapshots:
util-deprecate@1.0.2: {}
util@0.12.5:
dependencies:
inherits: 2.0.4
is-arguments: 1.1.1
is-generator-function: 1.0.10
is-typed-array: 1.1.13
which-typed-array: 1.1.15
v8-to-istanbul@9.3.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.25
@ -6358,6 +6693,14 @@ snapshots:
dependencies:
defaults: 1.0.4
which-typed-array@1.1.15:
dependencies:
available-typed-arrays: 1.0.7
call-bind: 1.0.7
for-each: 0.3.3
gopd: 1.0.1
has-tostringtag: 1.0.2
which@2.0.2:
dependencies:
isexe: 2.0.0
@ -6381,6 +6724,8 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 3.0.7
xtend@4.0.2: {}
y18n@5.0.8: {}
yallist@3.1.1: {}

File diff suppressed because one or more lines are too long

View file

@ -53,4 +53,4 @@ mode names:
DEFAULT_MODE
atn:
[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 2, 15, 82, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 7, 11, 66, 10, 11, 12, 11, 14, 11, 69, 11, 11, 3, 12, 6, 12, 72, 10, 12, 13, 12, 14, 12, 73, 3, 13, 6, 13, 77, 10, 13, 13, 13, 14, 13, 78, 3, 14, 3, 14, 2, 2, 2, 15, 3, 2, 3, 5, 2, 4, 7, 2, 5, 9, 2, 6, 11, 2, 7, 13, 2, 8, 15, 2, 9, 17, 2, 10, 19, 2, 11, 21, 2, 12, 23, 2, 13, 25, 2, 14, 27, 2, 15, 3, 2, 6, 5, 2, 67, 92, 97, 97, 99, 124, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 7, 2, 47, 59, 67, 92, 94, 94, 97, 97, 99, 124, 5, 2, 11, 12, 15, 15, 34, 34, 2, 84, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 3, 29, 3, 2, 2, 2, 5, 31, 3, 2, 2, 2, 7, 33, 3, 2, 2, 2, 9, 35, 3, 2, 2, 2, 11, 37, 3, 2, 2, 2, 13, 43, 3, 2, 2, 2, 15, 48, 3, 2, 2, 2, 17, 53, 3, 2, 2, 2, 19, 56, 3, 2, 2, 2, 21, 63, 3, 2, 2, 2, 23, 71, 3, 2, 2, 2, 25, 76, 3, 2, 2, 2, 27, 80, 3, 2, 2, 2, 29, 30, 7, 63, 2, 2, 30, 4, 3, 2, 2, 2, 31, 32, 7, 42, 2, 2, 32, 6, 3, 2, 2, 2, 33, 34, 7, 43, 2, 2, 34, 8, 3, 2, 2, 2, 35, 36, 7, 46, 2, 2, 36, 10, 3, 2, 2, 2, 37, 38, 7, 86, 2, 2, 38, 39, 7, 67, 2, 2, 39, 40, 7, 68, 2, 2, 40, 41, 7, 78, 2, 2, 41, 42, 7, 71, 2, 2, 42, 12, 3, 2, 2, 2, 43, 44, 7, 104, 2, 2, 44, 45, 7, 107, 2, 2, 45, 46, 7, 110, 2, 2, 46, 47, 7, 103, 2, 2, 47, 14, 3, 2, 2, 2, 48, 49, 7, 89, 2, 2, 49, 50, 7, 75, 2, 2, 50, 51, 7, 86, 2, 2, 51, 52, 7, 74, 2, 2, 52, 16, 3, 2, 2, 2, 53, 54, 7, 67, 2, 2, 54, 55, 7, 85, 2, 2, 55, 18, 3, 2, 2, 2, 56, 57, 7, 85, 2, 2, 57, 58, 7, 71, 2, 2, 58, 59, 7, 78, 2, 2, 59, 60, 7, 71, 2, 2, 60, 61, 7, 69, 2, 2, 61, 62, 7, 86, 2, 2, 62, 20, 3, 2, 2, 2, 63, 67, 9, 2, 2, 2, 64, 66, 9, 3, 2, 2, 65, 64, 3, 2, 2, 2, 66, 69, 3, 2, 2, 2, 67, 65, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 22, 3, 2, 2, 2, 69, 67, 3, 2, 2, 2, 70, 72, 9, 4, 2, 2, 71, 70, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 71, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 24, 3, 2, 2, 2, 75, 77, 9, 5, 2, 2, 76, 75, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 76, 3, 2, 2, 2, 78, 79, 3, 2, 2, 2, 79, 26, 3, 2, 2, 2, 80, 81, 11, 2, 2, 2, 81, 28, 3, 2, 2, 2, 6, 2, 67, 73, 78, 2]
[4, 0, 13, 80, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 5, 9, 64, 8, 9, 10, 9, 12, 9, 67, 9, 9, 1, 10, 4, 10, 70, 8, 10, 11, 10, 12, 10, 71, 1, 11, 4, 11, 75, 8, 11, 11, 11, 12, 11, 76, 1, 12, 1, 12, 0, 0, 13, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 1, 0, 4, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 5, 0, 45, 57, 65, 90, 92, 92, 95, 95, 97, 122, 3, 0, 9, 10, 13, 13, 32, 32, 82, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 1, 27, 1, 0, 0, 0, 3, 29, 1, 0, 0, 0, 5, 31, 1, 0, 0, 0, 7, 33, 1, 0, 0, 0, 9, 35, 1, 0, 0, 0, 11, 41, 1, 0, 0, 0, 13, 46, 1, 0, 0, 0, 15, 51, 1, 0, 0, 0, 17, 54, 1, 0, 0, 0, 19, 61, 1, 0, 0, 0, 21, 69, 1, 0, 0, 0, 23, 74, 1, 0, 0, 0, 25, 78, 1, 0, 0, 0, 27, 28, 5, 61, 0, 0, 28, 2, 1, 0, 0, 0, 29, 30, 5, 40, 0, 0, 30, 4, 1, 0, 0, 0, 31, 32, 5, 41, 0, 0, 32, 6, 1, 0, 0, 0, 33, 34, 5, 44, 0, 0, 34, 8, 1, 0, 0, 0, 35, 36, 5, 84, 0, 0, 36, 37, 5, 65, 0, 0, 37, 38, 5, 66, 0, 0, 38, 39, 5, 76, 0, 0, 39, 40, 5, 69, 0, 0, 40, 10, 1, 0, 0, 0, 41, 42, 5, 102, 0, 0, 42, 43, 5, 105, 0, 0, 43, 44, 5, 108, 0, 0, 44, 45, 5, 101, 0, 0, 45, 12, 1, 0, 0, 0, 46, 47, 5, 87, 0, 0, 47, 48, 5, 73, 0, 0, 48, 49, 5, 84, 0, 0, 49, 50, 5, 72, 0, 0, 50, 14, 1, 0, 0, 0, 51, 52, 5, 65, 0, 0, 52, 53, 5, 83, 0, 0, 53, 16, 1, 0, 0, 0, 54, 55, 5, 83, 0, 0, 55, 56, 5, 69, 0, 0, 56, 57, 5, 76, 0, 0, 57, 58, 5, 69, 0, 0, 58, 59, 5, 67, 0, 0, 59, 60, 5, 84, 0, 0, 60, 18, 1, 0, 0, 0, 61, 65, 7, 0, 0, 0, 62, 64, 7, 1, 0, 0, 63, 62, 1, 0, 0, 0, 64, 67, 1, 0, 0, 0, 65, 63, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 20, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 68, 70, 7, 2, 0, 0, 69, 68, 1, 0, 0, 0, 70, 71, 1, 0, 0, 0, 71, 69, 1, 0, 0, 0, 71, 72, 1, 0, 0, 0, 72, 22, 1, 0, 0, 0, 73, 75, 7, 3, 0, 0, 74, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 24, 1, 0, 0, 0, 78, 79, 9, 0, 0, 0, 79, 26, 1, 0, 0, 0, 4, 0, 65, 71, 76, 0]

View file

@ -1,21 +1,17 @@
// Generated from SqlSealLang.g4 by ANTLR 4.9.0-SNAPSHOT
import { ATN } from "antlr4ts/atn/ATN";
import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer";
import { CharStream } from "antlr4ts/CharStream";
import { Lexer } from "antlr4ts/Lexer";
import { LexerATNSimulator } from "antlr4ts/atn/LexerATNSimulator";
import { NotNull } from "antlr4ts/Decorators";
import { Override } from "antlr4ts/Decorators";
import { RuleContext } from "antlr4ts/RuleContext";
import { Vocabulary } from "antlr4ts/Vocabulary";
import { VocabularyImpl } from "antlr4ts/VocabularyImpl";
import * as Utils from "antlr4ts/misc/Utils";
export class SqlSealLangLexer extends Lexer {
// Generated from SqlSealLang.g4 by ANTLR 4.13.2
// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
import {
ATN,
ATNDeserializer,
CharStream,
DecisionState, DFA,
Lexer,
LexerATNSimulator,
RuleContext,
PredictionContextCache,
Token
} from "antlr4";
export default class SqlSealLangLexer extends Lexer {
public static readonly T__0 = 1;
public static readonly T__1 = 2;
public static readonly T__2 = 3;
@ -29,103 +25,81 @@ export class SqlSealLangLexer extends Lexer {
public static readonly FILE_URL = 11;
public static readonly WS = 12;
public static readonly ANY = 13;
public static readonly EOF = Token.EOF;
// tslint:disable:no-trailing-whitespace
public static readonly channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
];
// tslint:disable:no-trailing-whitespace
public static readonly modeNames: string[] = [
"DEFAULT_MODE",
];
public static readonly channelNames: string[] = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
public static readonly literalNames: (string | null)[] = [ null, "'='",
"'('", "')'",
"','", "'TABLE'",
"'file'", "'WITH'",
"'AS'", "'SELECT'" ];
public static readonly symbolicNames: (string | null)[] = [ null, null,
null, null,
null, "TABLE",
"FILE", "WITH",
"AS", "SELECT",
"ID", "FILE_URL",
"WS", "ANY" ];
public static readonly modeNames: string[] = [ "DEFAULT_MODE", ];
public static readonly ruleNames: string[] = [
"T__0", "T__1", "T__2", "T__3", "TABLE", "FILE", "WITH", "AS", "SELECT",
"ID", "FILE_URL", "WS", "ANY",
];
private static readonly _LITERAL_NAMES: Array<string | undefined> = [
undefined, "'='", "'('", "')'", "','", "'TABLE'", "'file'", "'WITH'",
"'AS'", "'SELECT'",
];
private static readonly _SYMBOLIC_NAMES: Array<string | undefined> = [
undefined, undefined, undefined, undefined, undefined, "TABLE", "FILE",
"WITH", "AS", "SELECT", "ID", "FILE_URL", "WS", "ANY",
];
public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(SqlSealLangLexer._LITERAL_NAMES, SqlSealLangLexer._SYMBOLIC_NAMES, []);
// @Override
// @NotNull
public get vocabulary(): Vocabulary {
return SqlSealLangLexer.VOCABULARY;
}
// tslint:enable:no-trailing-whitespace
constructor(input: CharStream) {
super(input);
this._interp = new LexerATNSimulator(SqlSealLangLexer._ATN, this);
this._interp = new LexerATNSimulator(this, SqlSealLangLexer._ATN, SqlSealLangLexer.DecisionsToDFA, new PredictionContextCache());
}
// @Override
public get grammarFileName(): string { return "SqlSealLang.g4"; }
// @Override
public get literalNames(): (string | null)[] { return SqlSealLangLexer.literalNames; }
public get symbolicNames(): (string | null)[] { return SqlSealLangLexer.symbolicNames; }
public get ruleNames(): string[] { return SqlSealLangLexer.ruleNames; }
// @Override
public get serializedATN(): string { return SqlSealLangLexer._serializedATN; }
public get serializedATN(): number[] { return SqlSealLangLexer._serializedATN; }
// @Override
public get channelNames(): string[] { return SqlSealLangLexer.channelNames; }
// @Override
public get modeNames(): string[] { return SqlSealLangLexer.modeNames; }
public static readonly _serializedATN: string =
"\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02\x0FR\b\x01\x04" +
"\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04" +
"\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r" +
"\x04\x0E\t\x0E\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04\x03\x04\x03\x05" +
"\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07" +
"\x03\x07\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\b\x03\b\x03\t\x03\t\x03" +
"\t\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\v\x03\v\x07\vB\n\v\f" +
"\v\x0E\vE\v\v\x03\f\x06\fH\n\f\r\f\x0E\fI\x03\r\x06\rM\n\r\r\r\x0E\rN" +
"\x03\x0E\x03\x0E\x02\x02\x02\x0F\x03\x02\x03\x05\x02\x04\x07\x02\x05\t" +
"\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17" +
"\x02\r\x19\x02\x0E\x1B\x02\x0F\x03\x02\x06\x05\x02C\\aac|\x06\x022;C\\" +
"aac|\x07\x02/;C\\^^aac|\x05\x02\v\f\x0F\x0F\"\"\x02T\x02\x03\x03\x02\x02" +
"\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02" +
"\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02" +
"\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02" +
"\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02\x02\x02" +
"\x03\x1D\x03\x02\x02\x02\x05\x1F\x03\x02\x02\x02\x07!\x03\x02\x02\x02" +
"\t#\x03\x02\x02\x02\v%\x03\x02\x02\x02\r+\x03\x02\x02\x02\x0F0\x03\x02" +
"\x02\x02\x115\x03\x02\x02\x02\x138\x03\x02\x02\x02\x15?\x03\x02\x02\x02" +
"\x17G\x03\x02\x02\x02\x19L\x03\x02\x02\x02\x1BP\x03\x02\x02\x02\x1D\x1E" +
"\x07?\x02\x02\x1E\x04\x03\x02\x02\x02\x1F \x07*\x02\x02 \x06\x03\x02\x02" +
"\x02!\"\x07+\x02\x02\"\b\x03\x02\x02\x02#$\x07.\x02\x02$\n\x03\x02\x02" +
"\x02%&\x07V\x02\x02&\'\x07C\x02\x02\'(\x07D\x02\x02()\x07N\x02\x02)*\x07" +
"G\x02\x02*\f\x03\x02\x02\x02+,\x07h\x02\x02,-\x07k\x02\x02-.\x07n\x02" +
"\x02./\x07g\x02\x02/\x0E\x03\x02\x02\x0201\x07Y\x02\x0212\x07K\x02\x02" +
"23\x07V\x02\x0234\x07J\x02\x024\x10\x03\x02\x02\x0256\x07C\x02\x0267\x07" +
"U\x02\x027\x12\x03\x02\x02\x0289\x07U\x02\x029:\x07G\x02\x02:;\x07N\x02" +
"\x02;<\x07G\x02\x02<=\x07E\x02\x02=>\x07V\x02\x02>\x14\x03\x02\x02\x02" +
"?C\t\x02\x02\x02@B\t\x03\x02\x02A@\x03\x02\x02\x02BE\x03\x02\x02\x02C" +
"A\x03\x02\x02\x02CD\x03\x02\x02\x02D\x16\x03\x02\x02\x02EC\x03\x02\x02" +
"\x02FH\t\x04\x02\x02GF\x03\x02\x02\x02HI\x03\x02\x02\x02IG\x03\x02\x02" +
"\x02IJ\x03\x02\x02\x02J\x18\x03\x02\x02\x02KM\t\x05\x02\x02LK\x03\x02" +
"\x02\x02MN\x03\x02\x02\x02NL\x03\x02\x02\x02NO\x03\x02\x02\x02O\x1A\x03" +
"\x02\x02\x02PQ\v\x02\x02\x02Q\x1C\x03\x02\x02\x02\x06\x02CIN\x02";
public static __ATN: ATN;
public static readonly _serializedATN: number[] = [4,0,13,80,6,-1,2,0,7,
0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,
9,2,10,7,10,2,11,7,11,2,12,7,12,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,
1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,8,
1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,5,9,64,8,9,10,9,12,9,67,9,9,1,10,4,10,70,
8,10,11,10,12,10,71,1,11,4,11,75,8,11,11,11,12,11,76,1,12,1,12,0,0,13,1,
1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,1,0,4,3,0,
65,90,95,95,97,122,4,0,48,57,65,90,95,95,97,122,5,0,45,57,65,90,92,92,95,
95,97,122,3,0,9,10,13,13,32,32,82,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,
7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,
0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,1,27,1,0,0,0,3,29,
1,0,0,0,5,31,1,0,0,0,7,33,1,0,0,0,9,35,1,0,0,0,11,41,1,0,0,0,13,46,1,0,
0,0,15,51,1,0,0,0,17,54,1,0,0,0,19,61,1,0,0,0,21,69,1,0,0,0,23,74,1,0,0,
0,25,78,1,0,0,0,27,28,5,61,0,0,28,2,1,0,0,0,29,30,5,40,0,0,30,4,1,0,0,0,
31,32,5,41,0,0,32,6,1,0,0,0,33,34,5,44,0,0,34,8,1,0,0,0,35,36,5,84,0,0,
36,37,5,65,0,0,37,38,5,66,0,0,38,39,5,76,0,0,39,40,5,69,0,0,40,10,1,0,0,
0,41,42,5,102,0,0,42,43,5,105,0,0,43,44,5,108,0,0,44,45,5,101,0,0,45,12,
1,0,0,0,46,47,5,87,0,0,47,48,5,73,0,0,48,49,5,84,0,0,49,50,5,72,0,0,50,
14,1,0,0,0,51,52,5,65,0,0,52,53,5,83,0,0,53,16,1,0,0,0,54,55,5,83,0,0,55,
56,5,69,0,0,56,57,5,76,0,0,57,58,5,69,0,0,58,59,5,67,0,0,59,60,5,84,0,0,
60,18,1,0,0,0,61,65,7,0,0,0,62,64,7,1,0,0,63,62,1,0,0,0,64,67,1,0,0,0,65,
63,1,0,0,0,65,66,1,0,0,0,66,20,1,0,0,0,67,65,1,0,0,0,68,70,7,2,0,0,69,68,
1,0,0,0,70,71,1,0,0,0,71,69,1,0,0,0,71,72,1,0,0,0,72,22,1,0,0,0,73,75,7,
3,0,0,74,73,1,0,0,0,75,76,1,0,0,0,76,74,1,0,0,0,76,77,1,0,0,0,77,24,1,0,
0,0,78,79,9,0,0,0,79,26,1,0,0,0,4,0,65,71,76,0];
private static __ATN: ATN;
public static get _ATN(): ATN {
if (!SqlSealLangLexer.__ATN) {
SqlSealLangLexer.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(SqlSealLangLexer._serializedATN));
SqlSealLangLexer.__ATN = new ATNDeserializer().deserialize(SqlSealLangLexer._serializedATN);
}
return SqlSealLangLexer.__ATN;
}
}
static DecisionsToDFA = SqlSealLangLexer._ATN.decisionToState.map( (ds: DecisionState, index: number) => new DFA(ds, index) );
}

View file

@ -1,23 +1,23 @@
// Generated from SqlSealLang.g4 by ANTLR 4.9.0-SNAPSHOT
// Generated from SqlSealLang.g4 by ANTLR 4.13.2
import {ParseTreeListener} from "antlr4";
import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";
import { ParseContext } from "./SqlSealLangParser";
import { StatementContext } from "./SqlSealLangParser";
import { TableStatementContext } from "./SqlSealLangParser";
import { QueryStatementContext } from "./SqlSealLangParser";
import { WithClauseContext } from "./SqlSealLangParser";
import { CteDefinitionContext } from "./SqlSealLangParser";
import { SelectStatementContext } from "./SqlSealLangParser";
import { SelectBodyContext } from "./SqlSealLangParser";
import { ParseContext } from "./SqlSealLangParser.js";
import { StatementContext } from "./SqlSealLangParser.js";
import { TableStatementContext } from "./SqlSealLangParser.js";
import { QueryStatementContext } from "./SqlSealLangParser.js";
import { WithClauseContext } from "./SqlSealLangParser.js";
import { CteDefinitionContext } from "./SqlSealLangParser.js";
import { SelectStatementContext } from "./SqlSealLangParser.js";
import { SelectBodyContext } from "./SqlSealLangParser.js";
/**
* This interface defines a complete listener for a parse tree produced by
* `SqlSealLangParser`.
*/
export interface SqlSealLangListener extends ParseTreeListener {
export default class SqlSealLangListener extends ParseTreeListener {
/**
* Enter a parse tree produced by `SqlSealLangParser.parse`.
* @param ctx the parse tree
@ -28,7 +28,6 @@ export interface SqlSealLangListener extends ParseTreeListener {
* @param ctx the parse tree
*/
exitParse?: (ctx: ParseContext) => void;
/**
* Enter a parse tree produced by `SqlSealLangParser.statement`.
* @param ctx the parse tree
@ -39,7 +38,6 @@ export interface SqlSealLangListener extends ParseTreeListener {
* @param ctx the parse tree
*/
exitStatement?: (ctx: StatementContext) => void;
/**
* Enter a parse tree produced by `SqlSealLangParser.tableStatement`.
* @param ctx the parse tree
@ -50,7 +48,6 @@ export interface SqlSealLangListener extends ParseTreeListener {
* @param ctx the parse tree
*/
exitTableStatement?: (ctx: TableStatementContext) => void;
/**
* Enter a parse tree produced by `SqlSealLangParser.queryStatement`.
* @param ctx the parse tree
@ -61,7 +58,6 @@ export interface SqlSealLangListener extends ParseTreeListener {
* @param ctx the parse tree
*/
exitQueryStatement?: (ctx: QueryStatementContext) => void;
/**
* Enter a parse tree produced by `SqlSealLangParser.withClause`.
* @param ctx the parse tree
@ -72,7 +68,6 @@ export interface SqlSealLangListener extends ParseTreeListener {
* @param ctx the parse tree
*/
exitWithClause?: (ctx: WithClauseContext) => void;
/**
* Enter a parse tree produced by `SqlSealLangParser.cteDefinition`.
* @param ctx the parse tree
@ -83,7 +78,6 @@ export interface SqlSealLangListener extends ParseTreeListener {
* @param ctx the parse tree
*/
exitCteDefinition?: (ctx: CteDefinitionContext) => void;
/**
* Enter a parse tree produced by `SqlSealLangParser.selectStatement`.
* @param ctx the parse tree
@ -94,7 +88,6 @@ export interface SqlSealLangListener extends ParseTreeListener {
* @param ctx the parse tree
*/
exitSelectStatement?: (ctx: SelectStatementContext) => void;
/**
* Enter a parse tree produced by `SqlSealLangParser.selectBody`.
* @param ctx the parse tree

File diff suppressed because it is too large Load diff

View file

@ -1,16 +1,16 @@
// Generated from SqlSealLang.g4 by ANTLR 4.9.0-SNAPSHOT
// Generated from SqlSealLang.g4 by ANTLR 4.13.2
import {ParseTreeVisitor} from 'antlr4';
import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
import { ParseContext } from "./SqlSealLangParser";
import { StatementContext } from "./SqlSealLangParser";
import { TableStatementContext } from "./SqlSealLangParser";
import { QueryStatementContext } from "./SqlSealLangParser";
import { WithClauseContext } from "./SqlSealLangParser";
import { CteDefinitionContext } from "./SqlSealLangParser";
import { SelectStatementContext } from "./SqlSealLangParser";
import { SelectBodyContext } from "./SqlSealLangParser";
import { ParseContext } from "./SqlSealLangParser.js";
import { StatementContext } from "./SqlSealLangParser.js";
import { TableStatementContext } from "./SqlSealLangParser.js";
import { QueryStatementContext } from "./SqlSealLangParser.js";
import { WithClauseContext } from "./SqlSealLangParser.js";
import { CteDefinitionContext } from "./SqlSealLangParser.js";
import { SelectStatementContext } from "./SqlSealLangParser.js";
import { SelectBodyContext } from "./SqlSealLangParser.js";
/**
@ -20,56 +20,49 @@ import { SelectBodyContext } from "./SqlSealLangParser";
* @param <Result> The return type of the visit operation. Use `void` for
* operations with no return type.
*/
export interface SqlSealLangVisitor<Result> extends ParseTreeVisitor<Result> {
export default class SqlSealLangVisitor<Result> extends ParseTreeVisitor<Result> {
/**
* Visit a parse tree produced by `SqlSealLangParser.parse`.
* @param ctx the parse tree
* @return the visitor result
*/
visitParse?: (ctx: ParseContext) => Result;
/**
* Visit a parse tree produced by `SqlSealLangParser.statement`.
* @param ctx the parse tree
* @return the visitor result
*/
visitStatement?: (ctx: StatementContext) => Result;
/**
* Visit a parse tree produced by `SqlSealLangParser.tableStatement`.
* @param ctx the parse tree
* @return the visitor result
*/
visitTableStatement?: (ctx: TableStatementContext) => Result;
/**
* Visit a parse tree produced by `SqlSealLangParser.queryStatement`.
* @param ctx the parse tree
* @return the visitor result
*/
visitQueryStatement?: (ctx: QueryStatementContext) => Result;
/**
* Visit a parse tree produced by `SqlSealLangParser.withClause`.
* @param ctx the parse tree
* @return the visitor result
*/
visitWithClause?: (ctx: WithClauseContext) => Result;
/**
* Visit a parse tree produced by `SqlSealLangParser.cteDefinition`.
* @param ctx the parse tree
* @return the visitor result
*/
visitCteDefinition?: (ctx: CteDefinitionContext) => Result;
/**
* Visit a parse tree produced by `SqlSealLangParser.selectStatement`.
* @param ctx the parse tree
* @return the visitor result
*/
visitSelectStatement?: (ctx: SelectStatementContext) => Result;
/**
* Visit a parse tree produced by `SqlSealLangParser.selectBody`.
* @param ctx the parse tree

View file

@ -1,8 +1,9 @@
import { ANTLRErrorListener, CharStreams, CommonTokenStream, RecognitionException, Recognizer } from 'antlr4ts';
import { SqlSealLangLexer } from './SqlSealLangLexer';
import { QueryStatementContext, TableStatementContext, SqlSealLangParser, ParseContext, StatementContext, WithClauseContext, SelectStatementContext } from './SqlSealLangParser';
import { SqlSealLangVisitor } from './SqlSealLangVisitor';
import { AbstractParseTreeVisitor } from 'antlr4ts/tree/AbstractParseTreeVisitor';
import { CommonTokenStream, ErrorListener, ParseTreeVisitor, RecognitionException } from 'antlr4';
import SqlSealLangLexer from './SqlSealLangLexer';
import { QueryStatementContext, TableStatementContext, ParseContext, StatementContext, WithClauseContext, SelectStatementContext } from './SqlSealLangParser';
import SqlSealLangParser from './SqlSealLangParser';
import SqlSealLangVisitor from './SqlSealLangVisitor';
import { CharStream, TokenStream } from 'antlr4';
export interface TableStatement {
name: string;
@ -17,10 +18,10 @@ export interface ParsedLanguage {
}
class ErrorListener implements ANTLRErrorListener<any> {
class SQLSealErrorListener extends ErrorListener<any> {
private errors: string[] = [];
syntaxError(recognizer: Recognizer<any, any>, offendingSymbol: any, line: number, charPositionInLine: number, msg: string, e: RecognitionException | undefined): void {
syntaxError(recognizer, offendingSymbol: any, line: number, charPositionInLine: number, msg: string, e: RecognitionException | undefined): void {
this.errors.push(`Line ${line}:${charPositionInLine} ${msg}`);
}
@ -31,9 +32,13 @@ class ErrorListener implements ANTLRErrorListener<any> {
getErrors(): string {
return this.errors.join('\n');
}
reportAttemtpingFullContext() {
}
}
export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor<ParsedLanguage> implements SqlSealLangVisitor<ParsedLanguage> {
export class SqlSealLangVisitorImpl extends ParseTreeVisitor<ParsedLanguage> implements SqlSealLangVisitor<ParsedLanguage> {
private tables: TableStatement[] = [];
private queryPart: string | null = null;
@ -42,7 +47,7 @@ export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor<ParsedLangu
}
visitParse(ctx: ParseContext): ParsedLanguage {
ctx.statement().forEach(stmt => this.visit(stmt));
ctx.statement_list().forEach(stmt => this.visit(stmt));
return this.defaultResult();
}
@ -56,11 +61,11 @@ export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor<ParsedLangu
}
visitTableStatement(ctx: TableStatementContext): ParsedLanguage {
const tableName = ctx.ID().text;
const fileUrl = ctx.FILE_URL().text;
const tableName = ctx.ID().getText();
const fileUrl = ctx.FILE_URL().getText();
// Reconstruct the original table statement with whitespace
const tableStmt = ctx.children!.map(child => child.text).join('');
const tableStmt = ctx.children!.map(child => child.getText()).join('');
this.tables.push({
name: tableName,
@ -73,7 +78,7 @@ export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor<ParsedLangu
visitQueryStatement(ctx: QueryStatementContext): ParsedLanguage {
// Reconstruct the original query statement with whitespace and all characters
this.queryPart = ctx.children!.map(child => child.text).join('');
this.queryPart = ctx.children!.map(child => child.getText()).join('');
return this.defaultResult();
}
@ -89,12 +94,16 @@ export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor<ParsedLangu
}
export function parseLanguage(input: string): ParsedLanguage {
const chars = CharStreams.fromString(input);
const lexer = new SqlSealLangLexer(chars);
const chars = new CharStream(input); // replace this with a FileStream as required
// const lexer = new MyGrammarLexer(chars);
// const tokens = new CommonTokenStream(lexer);
// const parser = new MyGrammarParser(tokens);
const lexer = new SqlSealLangLexer(new CharStream(input));
const tokens = new CommonTokenStream(lexer);
const parser = new SqlSealLangParser(tokens);
const errorListener = new ErrorListener();
const errorListener = new SQLSealErrorListener();
parser.removeErrorListeners();
parser.addErrorListener(errorListener);

View file

@ -10,5 +10,6 @@
"0.8.0": "0.15.0",
"0.9.0": "0.15.0",
"0.9.1": "0.15.0",
"0.9.2": "0.15.0"
"0.9.2": "0.15.0",
"0.10.0": "0.15.0"
}