4 Commits

Author SHA1 Message Date
15447c106a 0.0.27
All checks were successful
Deploy to Production / deploy (push) Successful in 11s
2026-02-22 04:36:04 +00:00
b5ddc21662 Refactor: Implement SmartCube renderer, improve UI styling, and fix gaps 2026-02-22 04:35:59 +00:00
57abfd6b80 0.0.6
All checks were successful
Deploy to Production / deploy (push) Successful in 9s
2026-02-16 03:24:59 +01:00
ae3d650011 fix: restore layout and add dynamic version to footer 2026-02-16 03:24:54 +01:00
4168 changed files with 763792 additions and 1010 deletions

24
.gitignore vendored
View File

@@ -1,24 +1,2 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules .agent/
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

1
dist/assets/Cube.worker-BFklK0dH.js vendored Normal file

File diff suppressed because one or more lines are too long

72
dist/assets/index-D2BDE6sW.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/index-GD5U86y_.css vendored Normal file
View File

@@ -0,0 +1 @@
:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-gradient: radial-gradient(circle at center, #2b2b2b 0%, #000000 100%);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--text-color: #ffffff;--text-strong: #ffffff;--text-secondary: rgba(255, 255, 255, .85);--text-muted: rgba(255, 255, 255, .7);--accent-cyan: #00f2fe;--accent-purple: #4facfe;--primary-accent: #00f2fe;--title-glow: rgba(0, 255, 255, .2);--toggle-btn-border: rgba(255, 255, 255, .2);--panel-bg: rgba(255, 255, 255, .05);--panel-border: rgba(255, 255, 255, .1);--panel-shadow: 0 4px 15px rgba(0, 0, 0, .2)}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;min-width:320px;height:100vh;flex-direction:column;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-color);overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.smart-cube-container[data-v-dec8c361]{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden;background:transparent;perspective:1000px}.scene[data-v-dec8c361]{position:relative;width:0;height:0;transform-style:preserve-3d}.cube[data-v-dec8c361]{position:relative;transform-style:preserve-3d}.cubie[data-v-dec8c361]{position:absolute;width:100px;height:100px;margin-left:-50px;margin-top:-50px;transform-style:preserve-3d}.sticker[data-v-dec8c361]{position:absolute;width:98px;height:98px;top:1px;left:1px;border-radius:8px;box-shadow:inset 0 0 10px #00000080;border:1px solid rgba(0,0,0,.2);backface-visibility:hidden}.sticker.up[data-v-dec8c361]{transform:rotateX(90deg) translateZ(50px)}.sticker.down[data-v-dec8c361]{transform:rotateX(-90deg) translateZ(50px)}.sticker.front[data-v-dec8c361]{transform:translateZ(50px)}.sticker.back[data-v-dec8c361]{transform:rotateY(180deg) translateZ(50px)}.sticker.left[data-v-dec8c361]{transform:rotateY(-90deg) translateZ(50px)}.sticker.right[data-v-dec8c361]{transform:rotateY(90deg) translateZ(50px)}.white[data-v-dec8c361]{background:#e0e0e0}.yellow[data-v-dec8c361]{background:#ffd500}.green[data-v-dec8c361]{background:#009e60}.blue[data-v-dec8c361]{background:#0051ba}.orange[data-v-dec8c361]{background:#ff5800}.red[data-v-dec8c361]{background:#c41e3a}.black[data-v-dec8c361]{background:#111;display:none}.navbar[data-v-bc85c255]{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:50px;width:100%;box-sizing:border-box;position:absolute;top:0;left:0;z-index:100;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none}.logo-container[data-v-bc85c255]{display:flex;align-items:center;gap:10px}.logo-text[data-v-bc85c255]{font-size:1.2rem;font-weight:700;color:#fff;text-shadow:0 0 10px rgba(0,242,254,.5)}.nav-container[data-v-bc85c255]{display:flex;gap:15px;align-items:center}.nav-btn[data-v-bc85c255]{background:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;padding:8px;border-radius:50%;transition:all .3s ease}.nav-btn[data-v-bc85c255]:hover{background:#fff3}.app-footer[data-v-651f6ae4]{width:100%;padding:0 20px;height:40px;display:flex;align-items:center;justify-content:center;position:absolute;bottom:0;left:0;z-index:10;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:none;box-shadow:none;color:var(--text-muted);box-sizing:border-box}.footer-content[data-v-651f6ae4]{display:flex;align-items:center;gap:10px}p[data-v-651f6ae4]{font-size:.8rem;letter-spacing:.5px;margin:0}.app-content[data-v-c7d7a511]{flex:1;display:flex;justify-content:center;align-items:center;width:100%;padding:0;position:relative;z-index:1;user-select:none;-webkit-user-select:none}

55
dist/assets/rubic-cube-6wQ3YEkf.svg vendored Normal file
View File

@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<defs>
<style>
.face { stroke: #000; stroke-width: 6; stroke-linejoin: round; }
.top { fill: #ffffff; }
.left { fill: #009e60; }
.right { fill: #c41e3a; }
</style>
</defs>
<!-- Top Face -->
<g class="face top">
<path d="M256 80 L309.33 106.67 L256 133.33 L202.67 106.67 Z" />
<path d="M309.33 106.67 L362.67 133.33 L309.33 160 L256 133.33 Z" />
<path d="M362.67 133.33 L416 160 L362.67 186.67 L309.33 160 Z" />
<path d="M202.67 106.67 L256 133.33 L202.67 160 L149.33 133.33 Z" />
<path d="M256 133.33 L309.33 160 L256 186.67 L202.67 160 Z" />
<path d="M309.33 160 L362.67 186.67 L309.33 213.33 L256 186.67 Z" />
<path d="M149.33 133.33 L202.67 160 L149.33 186.67 L96 160 Z" />
<path d="M202.67 160 L256 186.67 L202.67 213.33 L149.33 186.67 Z" />
<path d="M256 186.67 L309.33 213.33 L256 240 L202.67 213.33 Z" />
</g>
<!-- Left Face -->
<g class="face left">
<path d="M96 160 L149.33 186.67 L149.33 248 L96 221.33 Z" />
<path d="M149.33 186.67 L202.67 213.33 L202.67 274.67 L149.33 248 Z" />
<path d="M202.67 213.33 L256 240 L256 301.33 L202.67 274.67 Z" />
<path d="M96 221.33 L149.33 248 L149.33 309.33 L96 282.67 Z" />
<path d="M149.33 248 L202.67 274.67 L202.67 336 L149.33 309.33 Z" />
<path d="M202.67 274.67 L256 301.33 L256 362.67 L202.67 336 Z" />
<path d="M96 282.67 L149.33 309.33 L149.33 370.67 L96 344 Z" />
<path d="M149.33 309.33 L202.67 336 L202.67 397.33 L149.33 370.67 Z" />
<path d="M202.67 336 L256 362.67 L256 424 L202.67 397.33 Z" />
</g>
<!-- Right Face -->
<g class="face right">
<path d="M256 240 L309.33 213.33 L309.33 274.67 L256 301.33 Z" />
<path d="M309.33 213.33 L362.67 186.67 L362.67 248 L309.33 274.67 Z" />
<path d="M362.67 186.67 L416 160 L416 221.33 L362.67 248 Z" />
<path d="M256 301.33 L309.33 274.67 L309.33 336 L256 362.67 Z" />
<path d="M309.33 274.67 L362.67 248 L362.67 309.33 L309.33 336 Z" />
<path d="M362.67 248 L416 221.33 L416 282.67 L362.67 309.33 Z" />
<path d="M256 362.67 L309.33 336 L309.33 397.33 L256 424 Z" />
<path d="M309.33 336 L362.67 309.33 L362.67 370.67 L309.33 397.33 Z" />
<path d="M362.67 309.33 L416 282.67 L416 344 L362.67 370.67 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

14
dist/index.html vendored Normal file
View File

@@ -0,0 +1,14 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/assets/rubic-cube-6wQ3YEkf.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Rubic Cube</title>
<script type="module" crossorigin src="/assets/index-D2BDE6sW.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-GD5U86y_.css">
</head>
<body>
<div id="app"></div>
</body>
</html>

1
node_modules/.bin/esbuild generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../esbuild/bin/esbuild

1
node_modules/.bin/nanoid generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../nanoid/bin/nanoid.cjs

1
node_modules/.bin/parser generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../@babel/parser/bin/babel-parser.js

1
node_modules/.bin/rollup generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../rollup/dist/bin/rollup

1
node_modules/.bin/vite generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../vite/bin/vite.js

520
node_modules/.package-lock.json generated vendored Normal file
View File

@@ -0,0 +1,520 @@
{
"name": "rubic-cube",
"version": "0.0.26",
"lockfileVersion": 3,
"requires": true,
"packages": {
"node_modules/@babel/helper-string-parser": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
"version": "7.26.10",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz",
"integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.26.10"
},
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/types": {
"version": "7.26.10",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz",
"integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.25.9",
"@babel/helper-validator-identifier": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@esbuild/darwin-arm64": {
"version": "0.25.1",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz",
"integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==",
"cpu": [
"arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=18"
}
},
"node_modules/@gkucmierz/utils": {
"version": "1.28.3",
"resolved": "https://registry.npmjs.org/@gkucmierz/utils/-/utils-1.28.3.tgz",
"integrity": "sha512-4qbEGTrHnj0pdeY72MHbuOzM9hugZiyhTMfy7ZijkBQN+fMGVc7OJ7CM02t1KBQDFl2bQNb7AF9KZCm3wn09YQ==",
"license": "MIT"
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
"license": "MIT"
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.36.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.36.0.tgz",
"integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==",
"cpu": [
"arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@types/estree": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
"dev": true,
"license": "MIT"
},
"node_modules/@vitejs/plugin-vue": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz",
"integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^18.0.0 || >=20.0.0"
},
"peerDependencies": {
"vite": "^5.0.0 || ^6.0.0",
"vue": "^3.2.25"
}
},
"node_modules/@vue/compiler-core": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz",
"integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.25.3",
"@vue/shared": "3.5.13",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz",
"integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
"license": "MIT",
"dependencies": {
"@vue/compiler-core": "3.5.13",
"@vue/shared": "3.5.13"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz",
"integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.25.3",
"@vue/compiler-core": "3.5.13",
"@vue/compiler-dom": "3.5.13",
"@vue/compiler-ssr": "3.5.13",
"@vue/shared": "3.5.13",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.11",
"postcss": "^8.4.48",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz",
"integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==",
"license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.5.13",
"@vue/shared": "3.5.13"
}
},
"node_modules/@vue/reactivity": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz",
"integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==",
"license": "MIT",
"dependencies": {
"@vue/shared": "3.5.13"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz",
"integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==",
"license": "MIT",
"dependencies": {
"@vue/reactivity": "3.5.13",
"@vue/shared": "3.5.13"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz",
"integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==",
"license": "MIT",
"dependencies": {
"@vue/reactivity": "3.5.13",
"@vue/runtime-core": "3.5.13",
"@vue/shared": "3.5.13",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz",
"integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==",
"license": "MIT",
"dependencies": {
"@vue/compiler-ssr": "3.5.13",
"@vue/shared": "3.5.13"
},
"peerDependencies": {
"vue": "3.5.13"
}
},
"node_modules/@vue/shared": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz",
"integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==",
"license": "MIT"
},
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
"license": "MIT"
},
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/esbuild": {
"version": "0.25.1",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz",
"integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
"node": ">=18"
},
"optionalDependencies": {
"@esbuild/aix-ppc64": "0.25.1",
"@esbuild/android-arm": "0.25.1",
"@esbuild/android-arm64": "0.25.1",
"@esbuild/android-x64": "0.25.1",
"@esbuild/darwin-arm64": "0.25.1",
"@esbuild/darwin-x64": "0.25.1",
"@esbuild/freebsd-arm64": "0.25.1",
"@esbuild/freebsd-x64": "0.25.1",
"@esbuild/linux-arm": "0.25.1",
"@esbuild/linux-arm64": "0.25.1",
"@esbuild/linux-ia32": "0.25.1",
"@esbuild/linux-loong64": "0.25.1",
"@esbuild/linux-mips64el": "0.25.1",
"@esbuild/linux-ppc64": "0.25.1",
"@esbuild/linux-riscv64": "0.25.1",
"@esbuild/linux-s390x": "0.25.1",
"@esbuild/linux-x64": "0.25.1",
"@esbuild/netbsd-arm64": "0.25.1",
"@esbuild/netbsd-x64": "0.25.1",
"@esbuild/openbsd-arm64": "0.25.1",
"@esbuild/openbsd-x64": "0.25.1",
"@esbuild/sunos-x64": "0.25.1",
"@esbuild/win32-arm64": "0.25.1",
"@esbuild/win32-ia32": "0.25.1",
"@esbuild/win32-x64": "0.25.1"
}
},
"node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"license": "MIT"
},
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/lucide-vue-next": {
"version": "0.564.0",
"resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-0.564.0.tgz",
"integrity": "sha512-Zf51QMPVsRPpAmlVdzzp3vUofPMgxxRd/33O+7YsTCC2Aw9J5bSnJg2ZToMZ7SHkXkeDfvpWRZuRSU0+nK2okQ==",
"license": "ISC",
"peerDependencies": {
"vue": ">=3.0.1"
}
},
"node_modules/magic-string": {
"version": "0.30.17",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
"integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.0"
}
},
"node_modules/matrix-js": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/matrix-js/-/matrix-js-1.8.0.tgz",
"integrity": "sha512-2PHn6veiSf7aS/VBhdgrUVYCjVBkaAwFtIuXUnrHduKbSNpFHYzkdPYPgKI95idqFMKKEieYoMglimo2YGIapQ=="
},
"node_modules/nanoid": {
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"license": "ISC"
},
"node_modules/postcss": {
"version": "8.5.3",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.8",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/rollup": {
"version": "4.36.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz",
"integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "1.0.6"
},
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=18.0.0",
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.36.0",
"@rollup/rollup-android-arm64": "4.36.0",
"@rollup/rollup-darwin-arm64": "4.36.0",
"@rollup/rollup-darwin-x64": "4.36.0",
"@rollup/rollup-freebsd-arm64": "4.36.0",
"@rollup/rollup-freebsd-x64": "4.36.0",
"@rollup/rollup-linux-arm-gnueabihf": "4.36.0",
"@rollup/rollup-linux-arm-musleabihf": "4.36.0",
"@rollup/rollup-linux-arm64-gnu": "4.36.0",
"@rollup/rollup-linux-arm64-musl": "4.36.0",
"@rollup/rollup-linux-loongarch64-gnu": "4.36.0",
"@rollup/rollup-linux-powerpc64le-gnu": "4.36.0",
"@rollup/rollup-linux-riscv64-gnu": "4.36.0",
"@rollup/rollup-linux-s390x-gnu": "4.36.0",
"@rollup/rollup-linux-x64-gnu": "4.36.0",
"@rollup/rollup-linux-x64-musl": "4.36.0",
"@rollup/rollup-win32-arm64-msvc": "4.36.0",
"@rollup/rollup-win32-ia32-msvc": "4.36.0",
"@rollup/rollup-win32-x64-msvc": "4.36.0",
"fsevents": "~2.3.2"
}
},
"node_modules/rubiks-js": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/rubiks-js/-/rubiks-js-1.0.0.tgz",
"integrity": "sha512-ABxwGyAHaqhUK6R93B+tEDMQ/yVKD390blE5q1RW1vgPjNNwIsCvdOw8TxxQ6DMPgk86Xx/J+qPKH99Xd8Zogg==",
"license": "MIT"
},
"node_modules/source-map-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/vite": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz",
"integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.25.0",
"postcss": "^8.5.3",
"rollup": "^4.30.1"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
},
"optionalDependencies": {
"fsevents": "~2.3.3"
},
"peerDependencies": {
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
"jiti": ">=1.21.0",
"less": "*",
"lightningcss": "^1.21.0",
"sass": "*",
"sass-embedded": "*",
"stylus": "*",
"sugarss": "*",
"terser": "^5.16.0",
"tsx": "^4.8.1",
"yaml": "^2.4.2"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
},
"jiti": {
"optional": true
},
"less": {
"optional": true
},
"lightningcss": {
"optional": true
},
"sass": {
"optional": true
},
"sass-embedded": {
"optional": true
},
"stylus": {
"optional": true
},
"sugarss": {
"optional": true
},
"terser": {
"optional": true
},
"tsx": {
"optional": true
},
"yaml": {
"optional": true
}
}
},
"node_modules/vue": {
"version": "3.5.13",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz",
"integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
"license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.5.13",
"@vue/compiler-sfc": "3.5.13",
"@vue/runtime-dom": "3.5.13",
"@vue/server-renderer": "3.5.13",
"@vue/shared": "3.5.13"
},
"peerDependencies": {
"typescript": "*"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
}
}
}

627
node_modules/.vite/deps/@gkucmierz_utils.js generated vendored Normal file
View File

@@ -0,0 +1,627 @@
import {
mod,
modBI
} from "./chunk-Y44FVENP.js";
import {
__privateAdd,
__privateGet
} from "./chunk-HPRLEMBT.js";
// node_modules/@gkucmierz/utils/src/SetCnt.mjs
var _map;
var SetCnt = class {
constructor(iter) {
__privateAdd(this, _map, /* @__PURE__ */ new Map());
for (const el of iter ?? []) {
this.add(el);
}
}
add(el) {
const cnt = this.cnt(el);
__privateGet(this, _map).set(el, cnt + 1);
return this;
}
has(el) {
return __privateGet(this, _map).has(el);
}
delete(el) {
if (!__privateGet(this, _map).has(el)) return false;
const cnt = this.cnt(el);
if (cnt === 1) return this.deleteAll(el);
__privateGet(this, _map).set(el, cnt - 1);
return true;
}
deleteAll(el) {
__privateGet(this, _map).delete(el);
return true;
}
cnt(el) {
return __privateGet(this, _map).get(el) ?? 0;
}
*[Symbol.iterator]() {
for (const el of __privateGet(this, _map)) {
yield el;
}
}
entries() {
return this;
}
*values() {
for (const [el, cnt] of __privateGet(this, _map)) {
yield el;
}
}
*keys() {
for (const [el, cnt] of __privateGet(this, _map)) {
yield cnt;
}
}
};
_map = new WeakMap();
// node_modules/@gkucmierz/utils/src/base64.mjs
var toBase64 = (string) => {
const codeUnits = new Uint16Array(string.length);
for (let i = 0; i < codeUnits.length; i++) {
codeUnits[i] = string.charCodeAt(i);
}
return btoa(String.fromCharCode(...new Uint8Array(codeUnits.buffer)));
};
var fromBase64 = (encoded) => {
const binary = atob(encoded);
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < bytes.length; i++) {
bytes[i] = binary.charCodeAt(i);
}
return String.fromCharCode(...new Uint16Array(bytes.buffer));
};
var toUrl = {
"+": "-",
"/": "_"
};
var toBase64Url = (string) => {
return toBase64(string).replace(/[\+\/]/g, (c) => toUrl[c]);
};
var fromUrl = {
"-": "+",
"_": "/"
};
var fromBase64Url = (encoded) => {
return fromBase64(encoded.replace(/[\-\_]/g, (c) => fromUrl[c]));
};
// node_modules/@gkucmierz/utils/src/bijective-numeration.mjs
var num2bijective = (num, alpha = "12") => {
const len = alpha.length;
let c = 0;
let x = 1;
while (num >= x) {
c++;
num -= x;
x *= len;
}
const res = [];
for (let i = 0; i < c; i++) {
const rem = num % len;
res.unshift(alpha.charAt(num % len));
num = (num - rem) / len;
}
return res.join("");
};
var bijective2num = (str, alpha = "12") => {
const map = new Map([...alpha].map((c, i) => [c, i]));
let res = 0;
const len = alpha.length;
return [...str].reduce((res2, c) => {
return res2 * len + map.get(c) + 1;
}, 0);
};
var num2bijectiveBI = (num, alpha = "12") => {
const len = BigInt(alpha.length);
let c = 0n;
let x = 1n;
while (num >= x) {
c++;
num -= x;
x *= len;
}
const res = [];
for (let i = 0n; i < c; i++) {
const rem = num % len;
res.unshift(alpha.charAt(Number(num % len)));
num = (num - rem) / len;
}
return res.join("");
};
var bijective2numBI = (str, alpha = "12") => {
const map = new Map([...alpha].map((c, i) => [c, BigInt(i)]));
let res = 0n;
const len = BigInt(alpha.length);
return [...str].reduce((res2, c) => {
return res2 * len + map.get(c) + 1n;
}, 0n);
};
// node_modules/@gkucmierz/utils/src/binary-search.mjs
var binarySearchArr = (arr, target) => {
let [a, b] = [0, arr.length];
let lm;
while (b - a > 0) {
const mid = (a + b) / 2 | 0;
const val = arr[mid];
if (target < val) {
b = mid;
} else if (val < target) {
a = mid;
} else {
return mid;
}
if (lm === mid) break;
lm = mid;
}
return -1;
};
var binarySearchLE = (arr, target) => {
let [a, b] = [0, arr.length];
let lm;
while (b - a > 0) {
const mid = (a + b) / 2 | 0;
const val = arr[mid];
if (target < val) {
b = mid;
} else if (val <= target) {
a = mid;
}
if (lm === mid) return mid;
lm = mid;
}
return -1;
};
var binarySearchGE = (arr, target) => {
let [a, b] = [0, arr.length];
let lm;
while (b - a > 0) {
const mid = (a + b) / 2 | 0;
const val = arr[mid];
if (target > val) {
a = mid;
} else if (val >= target) {
b = mid;
}
if (lm === mid) return mid + 1;
lm = mid;
}
return 0;
};
var binarySearchRangeIncl = (arr, target) => {
return [
binarySearchGE(arr, target),
binarySearchLE(arr, target)
];
};
// node_modules/@gkucmierz/utils/src/copy-case.mjs
var copyCase = (word, from) => {
const isLower = (w) => w.toLowerCase() === w;
const isUpper = (w) => w.toUpperCase() === w;
if (isLower(from)) return word.toLowerCase();
if (isUpper(from)) return word.toUpperCase();
if (isUpper(from[0]) && isLower(from.slice(1))) {
return word[0].toUpperCase() + word.slice(1).toLowerCase();
}
return word;
};
// node_modules/@gkucmierz/utils/src/egcd.mjs
var egcd = (a, b) => {
let [x, y] = [0, 1];
let [u, v] = [1, 0];
while (a !== 0) {
const [q, r] = [b / a | 0, b % a];
const [m, n] = [x - u * q, y - v * q];
[b, a, x, y, u, v] = [a, r, u, v, m, n];
}
return [b, x, y];
};
// node_modules/@gkucmierz/utils/src/factors.mjs
var factors = (n) => {
if (n < 2) return [];
const res = [];
let max = Math.floor(Math.sqrt(n));
for (let i = 2; i <= max; ++i) {
if (n % i === 0) {
res.push(i);
n /= i;
max = Math.floor(Math.sqrt(n));
i = (Math.min(...res) || 2) - 1;
}
}
res.push(n);
return res;
};
var factorsBI = (n) => {
if (n < 2n) return [];
const res = [];
for (let i = 2n; i * i <= n; ++i) {
if (n % i === 0n) {
res.push(i);
n /= i;
i = 1n;
}
}
res.push(n);
return res;
};
// node_modules/@gkucmierz/utils/src/gcd.mjs
var getGCD = (ZERO) => {
return (a, b) => {
if (a < ZERO) a = -a;
if (b < ZERO) b = -b;
if (b > a) {
[a, b] = [b, a];
}
while (true) {
if (b === ZERO) return a;
a %= b;
if (a === ZERO) return b;
b %= a;
}
};
};
var gcd = getGCD(0);
var gcdBI = getGCD(0n);
// node_modules/@gkucmierz/utils/src/get-type.mjs
var getType = (val) => {
const str = Object.prototype.toString.call(val);
return str.slice(8, -1).toLowerCase();
};
// node_modules/@gkucmierz/utils/src/gpn.mjs
var getGpn = (zero, one, two, three) => {
const gk = (k) => k * (three * k - one) / two;
return (n) => {
const m = (n + one) / two | zero;
return n % two === zero ? gk(-m) : gk(m);
};
};
var gpn = getGpn(0, 1, 2, 3);
var gpnBI = getGpn(0n, 1n, 2n, 3n);
// node_modules/@gkucmierz/utils/src/heap.mjs
var Heap = (valFn = (n) => n) => {
const arr = [-1];
const up = (idx) => {
while (idx > 1) {
const ni = idx / 2 | 0;
if (valFn(arr[idx]) < valFn(arr[ni])) {
[arr[idx], arr[ni]] = [arr[ni], arr[idx]];
}
idx = ni;
}
return idx;
};
return {
add: (el) => up(arr.push(el) - 1),
take: () => {
const len = arr.length;
if (len <= 1) return [][0];
let idx = 1;
const res = arr[idx];
while (idx < len) {
const ia = idx * 2;
const ib = idx * 2 + 1;
if (ia >= len) break;
if (ib >= len || valFn(arr[ia]) < valFn(arr[ib])) {
arr[idx] = arr[ia];
idx = ia;
} else {
arr[idx] = arr[ib];
idx = ib;
}
}
if (idx === arr.length - 1) {
arr.pop();
} else {
arr[idx] = arr.pop();
up(idx);
}
return res;
},
size: () => arr.length - 1,
data: () => arr.slice(1)
};
};
// node_modules/@gkucmierz/utils/src/square-root.mjs
var squareRoot = (n) => n ** 0.5;
var squareRootBI = (n) => {
if (n === 0n) return 0n;
if (n < 4n) return 1n;
if (n < 9n) return 2n;
if (n < 16n) return 3n;
let res = BigInt(n.toString().substr(0, n.toString().length / 2));
let last;
while (true) {
last = res;
res = (res + n / res) / 2n;
const p = res * res;
if (p === n) return res;
if (last === res) return res;
const next = p + res * 2n - 1n;
if (n > next) return res;
}
return res;
};
// node_modules/@gkucmierz/utils/src/herons-formula.mjs
var getHeronsFormula = (four, sq) => (a, b, c) => {
return sq((a + b + c) * (-a + b + c) * (a - b + c) * (a + b - c)) / four;
};
var heronsFormula = getHeronsFormula(4, (n) => n ** 0.5);
var heronsFormulaBI = getHeronsFormula(4n, squareRootBI);
// node_modules/@gkucmierz/utils/src/lcm.mjs
var getLcm = (gcd2) => {
return (a, b) => a * b / gcd2(a, b);
};
var lcm = getLcm(gcd);
var lcmBI = getLcm(gcdBI);
// node_modules/@gkucmierz/utils/src/list-node.mjs
var ListNode = class _ListNode {
constructor(val = 0, next = null) {
this.val = val;
this.next = next;
}
toArr() {
const ret = [];
let node = this;
const set = /* @__PURE__ */ new Set();
while (node) {
if (set.has(node)) throw Error("Cyclic reference detected");
set.add(node);
ret.push(node.val);
node = node.next;
}
return ret;
}
static fromArr(iter) {
const head = new _ListNode();
let node = head;
for (let val of iter) {
node.next = new _ListNode(val);
node = node.next;
}
return head.next;
}
};
// node_modules/@gkucmierz/utils/src/matrix.mjs
var matrixAsArray = (matrix) => {
const [h, w] = [matrix.length, matrix[0].length];
return new Proxy([], {
get(target, prop, receiver) {
if (prop === "length") return h * w;
const idx = +prop;
const col = idx % w;
const row = (idx - col) / w;
return matrix[row][col];
}
});
};
// node_modules/@gkucmierz/utils/src/memoize.mjs
var memoize = (fn) => {
const maps = [];
const getLeafMap = (args) => {
if (!maps[args.length]) maps[args.length] = /* @__PURE__ */ new Map();
const map = maps[args.length];
const leaf = args.reduce((map2, arg) => {
if (map2.has(arg)) return map2.get(arg);
const tmp = /* @__PURE__ */ new Map();
map2.set(arg, tmp);
return tmp;
}, map);
return leaf;
};
const zero = {
called: false,
ret: null
};
return function() {
const args = [...arguments];
if (args.length === 0) {
if (zero.called) return zero.ret;
zero.called = true;
return zero.ret = fn();
}
const [firstArg, ...restArgs] = args;
const map = getLeafMap(restArgs);
if (map.has(firstArg)) return map.get(firstArg);
const ret = fn(...args);
map.set(firstArg, ret);
return ret;
};
};
// node_modules/@gkucmierz/utils/src/phi.mjs
var getPhiEuler = (factors2) => {
return (n) => {
return [...new Set(factors2(n))].reduce((res, f) => res - res / f, n);
};
};
var phi = getPhiEuler(factors);
var phiBI = getPhiEuler(factorsBI);
// node_modules/@gkucmierz/utils/src/pow-mod.mjs
var getPowMod = (ZERO, ONE, TWO, floor) => {
return (base, exponent, modulus = null) => {
if (modulus === null) return base ** exponent;
if (modulus === ONE) return ZERO;
let result = ONE;
base = base % modulus;
while (exponent > ZERO) {
if (exponent % TWO === ONE) {
result = result * base % modulus;
}
exponent = floor(exponent / TWO);
base = base * base % modulus;
}
return result;
};
};
var powMod = getPowMod(0, 1, 2, (n) => Math.floor(n));
var powModBI = getPowMod(0n, 1n, 2n, (n) => n);
// node_modules/@gkucmierz/utils/src/range-array.mjs
var range2array = (ranges) => {
return ranges.reduce((arr, range) => {
const min = range[0];
const max = range[1] ?? min;
return arr.push(
...new Array(max - min + 1).fill(0).map((n, i) => min + i)
), arr;
}, []);
};
var array2range = (arr) => {
const ranges = [];
let last = arr[0];
let begin = last;
for (let i = 1; i <= arr.length; ++i) {
const n = arr[i];
if (n !== last + 1) {
ranges.push([begin, last]);
begin = n;
}
last = n;
}
return ranges;
};
// node_modules/@gkucmierz/utils/src/tonelli-shanks.mjs
var tonelliShanksBI = (n, p) => {
let s = 0n;
let q = p - 1n;
while ((q & 1n) === 0n) {
q /= 2n;
++s;
}
if (s === 1n) {
const r2 = powModBI(n, (p + 1n) / 4n, p);
if (r2 * r2 % p === n) return r2;
return 0n;
}
let z = 1n;
while (powModBI(++z, (p - 1n) / 2n, p) !== p - 1n) ;
let c = powModBI(z, q, p);
let r = powModBI(n, (q + 1n) / 2n, p);
let t = powModBI(n, q, p);
let m = s;
while (t !== 1n) {
let tt = t;
let i = 0n;
while (tt !== 1n) {
tt = tt * tt % p;
++i;
if (i === m) return 0n;
}
let b = powModBI(c, powModBI(2n, m - i - 1n, p - 1n), p);
let b2 = b * b % p;
r = r * b % p;
t = t * b2 % p;
c = b2;
m = i;
}
if (r * r % p === n) return r;
return 0n;
};
// node_modules/@gkucmierz/utils/main.mjs
var main_default = [
SetCnt,
fromBase64,
fromBase64Url,
toBase64,
toBase64Url,
bijective2num,
bijective2numBI,
num2bijective,
num2bijectiveBI,
binarySearchArr,
copyCase,
egcd,
factors,
factorsBI,
gcd,
gcdBI,
getType,
gpn,
gpnBI,
Heap,
heronsFormula,
heronsFormulaBI,
lcm,
lcmBI,
ListNode,
matrixAsArray,
memoize,
mod,
modBI,
phi,
phiBI,
powMod,
powModBI,
array2range,
range2array,
squareRoot,
squareRootBI,
tonelliShanksBI
];
export {
Heap,
ListNode,
SetCnt,
array2range,
bijective2num,
bijective2numBI,
binarySearchArr,
binarySearchGE,
binarySearchLE,
binarySearchRangeIncl,
copyCase,
main_default as default,
egcd,
factors,
factorsBI,
fromBase64,
fromBase64Url,
gcd,
gcdBI,
getType,
gpn,
gpnBI,
heronsFormula,
heronsFormulaBI,
lcm,
lcmBI,
matrixAsArray,
memoize,
mod,
modBI,
num2bijective,
num2bijectiveBI,
phi,
phiBI,
powMod,
powModBI,
range2array,
squareRoot,
squareRootBI,
toBase64,
toBase64Url,
tonelliShanksBI
};
//# sourceMappingURL=@gkucmierz_utils.js.map

7
node_modules/.vite/deps/@gkucmierz_utils.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,9 @@
import {
mod,
modBI
} from "./chunk-Y44FVENP.js";
import "./chunk-HPRLEMBT.js";
export {
mod,
modBI
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

73
node_modules/.vite/deps/_metadata.json generated vendored Normal file
View File

@@ -0,0 +1,73 @@
{
"hash": "0e64a169",
"configHash": "b404d51e",
"lockfileHash": "61dfa545",
"browserHash": "6a81128a",
"optimized": {
"vue": {
"src": "../../vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "57763d4d",
"needsInterop": false
},
"lucide-vue-next": {
"src": "../../lucide-vue-next/dist/esm/lucide-vue-next.js",
"file": "lucide-vue-next.js",
"fileHash": "a749ef2a",
"needsInterop": false
},
"@gkucmierz/utils": {
"src": "../../@gkucmierz/utils/main.mjs",
"file": "@gkucmierz_utils.js",
"fileHash": "eb2e66b1",
"needsInterop": false
},
"@gkucmierz/utils/src/mod.mjs": {
"src": "../../@gkucmierz/utils/src/mod.mjs",
"file": "@gkucmierz_utils_src_mod__mjs.js",
"fileHash": "909cf74a",
"needsInterop": false
},
"matrix-js": {
"src": "../../matrix-js/lib/index.js",
"file": "matrix-js.js",
"fileHash": "34a2c640",
"needsInterop": true
},
"rubiks-js/src/state/index.js": {
"src": "../../rubiks-js/src/state/index.js",
"file": "rubiks-js_src_state_index__js.js",
"fileHash": "dfb6e813",
"needsInterop": false
},
"rubiks-js": {
"src": "../../rubiks-js/src/index.js",
"file": "rubiks-js.js",
"fileHash": "8b154ac9",
"needsInterop": false
},
"rubiks-js/src/ui/cubie.js": {
"src": "../../rubiks-js/src/ui/cubie.js",
"file": "rubiks-js_src_ui_cubie__js.js",
"fileHash": "fb652cb6",
"needsInterop": false
}
},
"chunks": {
"chunk-YIK32INT": {
"file": "chunk-YIK32INT.js"
},
"chunk-ROHLD3FA": {
"file": "chunk-ROHLD3FA.js"
},
"chunk-U3LI7FBV": {
"file": "chunk-U3LI7FBV.js"
},
"chunk-Y44FVENP": {
"file": "chunk-Y44FVENP.js"
},
"chunk-HPRLEMBT": {
"file": "chunk-HPRLEMBT.js"
}
}
}

29
node_modules/.vite/deps/chunk-HPRLEMBT.js generated vendored Normal file
View File

@@ -0,0 +1,29 @@
var __defProp = Object.defineProperty;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __typeError = (msg) => {
throw TypeError(msg);
};
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
export {
__commonJS,
__export,
__publicField,
__privateGet,
__privateAdd,
__privateSet,
__privateMethod
};

7
node_modules/.vite/deps/chunk-HPRLEMBT.js.map generated vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

881
node_modules/.vite/deps/chunk-ROHLD3FA.js generated vendored Normal file
View File

@@ -0,0 +1,881 @@
import {
__privateAdd,
__privateGet,
__privateMethod,
__privateSet,
__publicField
} from "./chunk-HPRLEMBT.js";
// node_modules/rubiks-js/src/math/abstractVector.js
var Vector = class {
/**
* @abstract
* @param {number} _a
*/
scale(_a) {
throw new Error("must be implemented in subclass");
}
/**
* @abstract
* @param {V} _v
* @returns {V}
*/
add(_v) {
throw new Error("must be implemented in subclass");
}
/**
* @abstract
* @param {V} _v
* @return {V}
*/
sub(_v) {
throw new Error("must be implemented in subclass");
}
/**
* @abstract
* @param {V} _v
* @return {V}
*/
mult(_v) {
throw new Error("must be implemented in subclass");
}
/**
* @abstract
* @param {V} _v
* @return {number}
*/
dot(_v) {
throw new Error("must be implemented in subclass");
}
/**
* @abstract
* @return {number[]}
*/
toArray() {
throw new Error("must be implemented in subclass");
}
get squareMag() {
const t = this;
return this.dot(t);
}
get mag() {
return Math.sqrt(this.squareMag);
}
get normalized() {
return this.scale(1 / this.mag);
}
get negate() {
return this.scale(-1);
}
};
// node_modules/rubiks-js/src/math/vector.js
var V2 = class _V2 extends Vector {
/**
* @param {number} x
* @param {number} y
*/
constructor(x, y) {
super();
this.x = x;
this.y = y;
}
/** @param {number} a */
scale(a) {
return new _V2(a * this.x, a * this.y);
}
/** @param {V2} v */
add({ x, y }) {
return new _V2(this.x + x, this.y + y);
}
/** @param {V2} v */
sub({ x, y }) {
return new _V2(this.x - x, this.y - y);
}
/** @param {V2} v */
mult({ x, y }) {
return new _V2(this.x * x, this.y * y);
}
/** @param {V2} v */
dot({ x, y }) {
return this.x * x + this.y * y;
}
toArray() {
return [this.x, this.y];
}
/**
* @param {WebGL2RenderingContext} gl
* @param {WebGLUniformLocation} location
*/
setUniform(gl, location) {
gl.uniform2f(location, this.x, this.y);
}
static get zero() {
return new _V2(0, 0);
}
};
var V3 = class _V3 extends Vector {
/**
* @param {number} x
* @param {number} y
* @param {number} z
*/
constructor(x, y, z) {
super();
this.x = x;
this.y = y;
this.z = z;
}
/** @param {number} a */
scale(a) {
return new _V3(a * this.x, a * this.y, a * this.z);
}
/** @param {V3} v */
add({ x, y, z }) {
return new _V3(this.x + x, this.y + y, this.z + z);
}
/** @param {V3} v */
sub({ x, y, z }) {
return new _V3(this.x - x, this.y - y, this.z - z);
}
/** @param {V3} v */
mult({ x, y, z }) {
return new _V3(this.x * x, this.y * y, this.z * z);
}
/** @param {V3} v */
cross({ x, y, z }) {
return new _V3(this.y * z - this.z * y, this.z * x - this.x * z, this.x * y - this.y * x);
}
/** @param {V3} v */
dot({ x, y, z }) {
return this.x * x + this.y * y + this.z * z;
}
toArray() {
return [this.x, this.y, this.z];
}
/**
* @param {WebGL2RenderingContext} gl
* @param {WebGLUniformLocation} location
*/
setUniform(gl, location) {
gl.uniform3f(location, this.x, this.y, this.z);
}
toV2() {
return new V2(this.x, this.y);
}
static get zero() {
return new _V3(0, 0, 0);
}
static get one() {
return new _V3(1, 1, 1);
}
static get up() {
return new _V3(0, 1, 0);
}
static get down() {
return new _V3(0, -1, 0);
}
static get left() {
return new _V3(1, 0, 0);
}
static get right() {
return new _V3(-1, 0, 0);
}
static get forward() {
return new _V3(0, 0, 1);
}
static get back() {
return new _V3(0, 0, -1);
}
/**
* @param {V3} v1
* @param {V3} v2
* @param {number} t
*/
static lerp(v1, v2, t) {
return v1.add(v2.sub(v1).scale(t));
}
/**
* @param {V3} v1
* @param {V3} v2
*/
static angle(v1, v2) {
return Math.acos(v1.dot(v2) / Math.sqrt(v1.squareMag * v2.squareMag));
}
/** @param {number} axis */
static getRotationAxis(axis) {
if (axis === 0)
return _V3.right;
if (axis === 1)
return _V3.down;
return _V3.back;
}
};
var V4 = class _V4 extends Vector {
/**
* @param {number} x
* @param {number} y
* @param {number} z
* @param {number} w
*/
constructor(x, y, z, w) {
super();
this.x = x;
this.y = y;
this.z = z;
this.w = w;
}
/** @param {number} a */
scale(a) {
return new _V4(a * this.x, a * this.y, a * this.z, a * this.w);
}
/** @param {V4} v */
add({ x, y, z, w }) {
return new _V4(this.x + x, this.y + y, this.z + z, this.w + w);
}
/** @param {V4} v */
sub({ x, y, z, w }) {
return new _V4(this.x - x, this.y - y, this.z - z, this.w - w);
}
/** @param {V4} v */
mult({ x, y, z, w }) {
return new _V4(this.x * x, this.y * y, this.z * z, this.w * w);
}
/** @param {V4} v */
dot({ x, y, z, w }) {
return this.x * x + this.y * y + this.z * z + this.w * w;
}
toV3() {
return new V3(this.x, this.y, this.z);
}
toArray() {
return [this.x, this.y, this.z, this.w];
}
/**
* @param {WebGL2RenderingContext} gl
* @param {WebGLUniformLocation} location
*/
setUniform(gl, location) {
gl.uniform4f(location, this.x, this.y, this.z, this.w);
}
};
// node_modules/rubiks-js/src/math/matrix.js
var M44 = class _M44 {
/**
* @param {V4} r1
* @param {V4} r2
* @param {V4} r3
* @param {V4} r4
*/
constructor(r1, r2, r3, r4) {
this.r1 = r1;
this.r2 = r2;
this.r3 = r3;
this.r4 = r4;
}
/** @param {number} a */
scale(a) {
return new _M44(this.r1.scale(a), this.r2.scale(a), this.r3.scale(a), this.r4.scale(a));
}
/** @param {M44} m */
add({ r1, r2, r3, r4 }) {
return new _M44(this.r1.add(r1), this.r2.add(r2), this.r3.add(r3), this.r4.add(r4));
}
/** @param {M44} m */
sub({ r1, r2, r3, r4 }) {
return new _M44(this.r1.sub(r1), this.r2.sub(r2), this.r3.sub(r3), this.r4.sub(r4));
}
/**
* @overload
* @param {M44} m
* @return {M44}
*
* @overload
* @param {V4} m
* @return {V4}
*
* @param {M44 | V4} m
*/
mult(m) {
if ("x" in m) {
return new V4(
this.r1.dot(m),
this.r2.dot(m),
this.r3.dot(m),
this.r4.dot(m)
);
}
return new _M44(
new V4(this.r1.dot(m.c1), this.r1.dot(m.c2), this.r1.dot(m.c3), this.r1.dot(m.c4)),
new V4(this.r2.dot(m.c1), this.r2.dot(m.c2), this.r2.dot(m.c3), this.r2.dot(m.c4)),
new V4(this.r3.dot(m.c1), this.r3.dot(m.c2), this.r3.dot(m.c3), this.r3.dot(m.c4)),
new V4(this.r4.dot(m.c1), this.r4.dot(m.c2), this.r4.dot(m.c3), this.r4.dot(m.c4))
);
}
toArray() {
return [...this.r1.toArray(), ...this.r2.toArray(), ...this.r3.toArray(), ...this.r4.toArray()];
}
static get identity() {
return new _M44(
new V4(1, 0, 0, 0),
new V4(0, 1, 0, 0),
new V4(0, 0, 1, 0),
new V4(0, 0, 0, 1)
);
}
get c1() {
return new V4(this.r1.x, this.r2.x, this.r3.x, this.r4.x);
}
get c2() {
return new V4(this.r1.y, this.r2.y, this.r3.y, this.r4.y);
}
get c3() {
return new V4(this.r1.z, this.r2.z, this.r3.z, this.r4.z);
}
get c4() {
return new V4(this.r1.w, this.r2.w, this.r3.w, this.r4.w);
}
/**
* @param {WebGL2RenderingContext} gl
* @param {WebGLUniformLocation} location
*/
setUniform(gl, location) {
const data = new Float32Array(this.toArray());
gl.uniformMatrix4fv(location, true, data);
}
get transpose() {
return new _M44(this.c1, this.c2, this.c3, this.c4);
}
get inverse() {
const [i00, i01, i02, i03] = this.r1.toArray();
const [i10, i11, i12, i13] = this.r2.toArray();
const [i20, i21, i22, i23] = this.r3.toArray();
const [i30, i31, i32, i33] = this.r4.toArray();
const s0 = i00 * i11 - i10 * i01;
const s1 = i00 * i12 - i10 * i02;
const s2 = i00 * i13 - i10 * i03;
const s3 = i01 * i12 - i11 * i02;
const s4 = i01 * i13 - i11 * i03;
const s5 = i02 * i13 - i12 * i03;
const c5 = i22 * i33 - i32 * i23;
const c4 = i21 * i33 - i31 * i23;
const c3 = i21 * i32 - i31 * i22;
const c2 = i20 * i33 - i30 * i23;
const c1 = i20 * i32 - i30 * i22;
const c0 = i20 * i31 - i30 * i21;
const det = s0 * c5 - s1 * c4 + s2 * c3 + s3 * c2 - s4 * c1 + s5 * c0;
const invDet = 1 / det;
return new _M44(
new V4(
i11 * c5 - i12 * c4 + i13 * c3,
-i01 * c5 + i02 * c4 - i03 * c3,
i31 * s5 - i32 * s4 + i33 * s3,
-i21 * s5 + i22 * s4 - i23 * s3
),
new V4(
-i10 * c5 + i12 * c2 - i13 * c1,
i00 * c5 - i02 * c2 + i03 * c1,
-i30 * s5 + i32 * s2 - i33 * s1,
i20 * s5 - i22 * s2 + i23 * s1
),
new V4(
i10 * c4 - i11 * c2 + i13 * c0,
-i00 * c4 + i01 * c2 - i03 * c0,
i30 * s4 - i31 * s2 + i33 * s0,
-i20 * s4 + i21 * s2 - i23 * s0
),
new V4(
-i10 * c3 + i11 * c1 - i12 * c0,
i00 * c3 - i01 * c1 + i02 * c0,
-i30 * s3 + i31 * s1 - i32 * s0,
i20 * s3 - i21 * s1 + i22 * s0
)
).scale(invDet);
}
/**
* @param {number} fovy
* @param {number} aspect
* @param {number} near
* @param {number} far
*/
static perspective(fovy, aspect, near, far) {
const tanHalfFovy = Math.tan(fovy / 2);
const x = 1 / (aspect * tanHalfFovy);
const y = 1 / tanHalfFovy;
const fpn = far + near;
const fmn = far - near;
const oon = 0.5 / near;
const oof = 0.5 / far;
const z = -fpn / fmn;
const w = 1 / (oof - oon);
return new _M44(
new V4(x, 0, 0, 0),
new V4(0, y, 0, 0),
new V4(0, 0, z, w),
new V4(0, 0, -1, 0)
);
}
/**
* @param {V3} eye
* @param {V3} center
* @param {V3} up
*/
static lookAt(eye, center, up) {
const za = center.sub(eye).normalized;
const xa = za.cross(up).normalized;
const ya = xa.cross(za);
const xd = -xa.dot(eye);
const yd = -ya.dot(eye);
const zd = za.dot(eye);
return new _M44(
new V4(xa.x, xa.y, xa.z, xd),
new V4(ya.x, ya.y, ya.z, yd),
new V4(-za.x, -za.y, -za.z, zd),
new V4(0, 0, 0, 1)
);
}
};
// node_modules/rubiks-js/src/math/quarternion.js
var Quaternion = class _Quaternion {
/**
* @param {number} real
* @param {V3} im
*/
constructor(real, im) {
this.real = real;
this.im = im;
}
/**
* @param {V3} axis
* @param {number} angle
* @param {boolean} [degree=true]
*/
static fromAngle(axis, angle, degree = true) {
if (degree) {
angle *= Math.PI / 180;
}
const half = angle / 2;
const real = Math.cos(half);
const im = axis.normalized.scale(Math.sin(half));
return new _Quaternion(real, im);
}
get matrix() {
const { x, y, z } = this.im;
const w = this.real;
const xx = x * x;
const yy = y * y;
const zz = z * z;
const xy = x * y;
const xz = x * z;
const xw = x * w;
const yz = y * z;
const yw = y * w;
const zw = z * w;
return new M44(
new V4(1 - 2 * (yy + zz), 2 * (xy - zw), 2 * (xz + yw), 0),
new V4(2 * (xy + zw), 1 - 2 * (xx + zz), 2 * (yz - xw), 0),
new V4(2 * (xz - yw), 2 * (yz + xw), 1 - 2 * (xx + yy), 0),
new V4(0, 0, 0, 1)
);
}
/** @param {Quaternion} q */
mult({ real, im }) {
return new _Quaternion(this.real * real - this.im.dot(im), this.im.cross(im).add(im.scale(this.real)).add(this.im.scale(real)));
}
/** @param {V3} v */
rotate(v) {
return new _Quaternion(this.real, this.im.negate).mult(new _Quaternion(0, v)).mult(this).im;
}
get conjugate() {
return new _Quaternion(this.real, this.im.negate);
}
get mag() {
return Math.sqrt(this.real * this.real + this.im.squareMag);
}
/** @param {number} n */
power(n) {
const { mag } = this;
const phi = Math.acos(this.real / mag);
const unit = this.im.normalized;
const scalar = Math.pow(mag, n);
return new _Quaternion(scalar * Math.cos(phi * n), unit.scale(scalar * Math.sin(phi * n)));
}
static get identity() {
return new _Quaternion(1, V3.zero);
}
/**
* @param {Quaternion} q1
* @param {Quaternion} q2
* @param {number} t
*/
static slerp(q1, q2, t) {
return q1.mult(q1.conjugate.mult(q2).power(t));
}
};
// node_modules/rubiks-js/src/ui/program.js
var _program, _uniformMap, _path, _gl, _Program_instances, createShader_fn;
var Program = class {
/**
* @param {string} path
* @param {string} vertexShaderSource
* @param {string} fragmentShaderSource
* @param {WebGL2RenderingContext} gl
*/
constructor(path, vertexShaderSource, fragmentShaderSource, gl) {
__privateAdd(this, _Program_instances);
/** @type {WebGLProgram} */
__privateAdd(this, _program);
/** @type {Map<string, WebGLUniformLocation>} */
__privateAdd(this, _uniformMap);
/** @type {string} */
__privateAdd(this, _path);
/** @type {WebGL2RenderingContext} */
__privateAdd(this, _gl);
__privateSet(this, _path, path);
__privateSet(this, _gl, gl);
const vertexShader = __privateMethod(this, _Program_instances, createShader_fn).call(this, vertexShaderSource, __privateGet(this, _gl).VERTEX_SHADER, "vertex");
const fragmentShader = __privateMethod(this, _Program_instances, createShader_fn).call(this, fragmentShaderSource, __privateGet(this, _gl).FRAGMENT_SHADER, "fragment");
const p = __privateGet(this, _gl).createProgram();
if (!p)
throw new Error("Fatal: webgl could not create program object!");
__privateSet(this, _program, p);
__privateGet(this, _gl).attachShader(__privateGet(this, _program), vertexShader);
__privateGet(this, _gl).attachShader(__privateGet(this, _program), fragmentShader);
__privateGet(this, _gl).linkProgram(__privateGet(this, _program));
const success = __privateGet(this, _gl).getProgramParameter(__privateGet(this, _program), __privateGet(this, _gl).LINK_STATUS);
if (!success) {
const info = __privateGet(this, _gl).getProgramInfoLog(__privateGet(this, _program));
__privateGet(this, _gl).deleteProgram(__privateGet(this, _program));
throw new Error(`Link Program: ${info}`);
}
const numUniforms = (
/** @type {number} */
__privateGet(this, _gl).getProgramParameter(__privateGet(this, _program), __privateGet(this, _gl).ACTIVE_UNIFORMS)
);
const uniformIndices = [...Array(numUniforms).keys()];
const uniformNames = uniformIndices.map((index) => {
const info = __privateGet(this, _gl).getActiveUniform(__privateGet(this, _program), index);
if (info == null) {
throw new Error("failed to get active uniform");
}
const location = __privateGet(this, _gl).getUniformLocation(__privateGet(this, _program), info.name);
if (location == null) {
throw new Error("failed to get uniform location");
}
return (
/** @type {[string, WebGLUniformLocation]} */
[info.name, location]
);
});
__privateSet(this, _uniformMap, new Map(uniformNames));
}
use() {
if (!__privateGet(this, _program)) {
throw new Error("Fatal: program does not exists!");
}
__privateGet(this, _gl).useProgram(__privateGet(this, _program));
}
/**
* @param {string} name
* @param {import('../types').Uniform} u
*/
uniform(name, u) {
const location = __privateGet(this, _uniformMap).get(name);
if (location == void 0) {
throw new Error(`Fatal: unkown name: ${name}`);
}
u.setUniform(__privateGet(this, _gl), location);
}
};
_program = new WeakMap();
_uniformMap = new WeakMap();
_path = new WeakMap();
_gl = new WeakMap();
_Program_instances = new WeakSet();
/**
* @param {string} source
* @param {number} type
* @param {string} typeStr
* @returns {WebGLShader}
*/
createShader_fn = function(source, type, typeStr) {
const shader = __privateGet(this, _gl).createShader(type);
if (!shader)
throw new Error("Fatal: webgl could not create shader object!");
__privateGet(this, _gl).shaderSource(shader, source);
__privateGet(this, _gl).compileShader(shader);
const success = (
/** @type {boolean} */
__privateGet(this, _gl).getShaderParameter(shader, __privateGet(this, _gl).COMPILE_STATUS)
);
if (success) {
return shader;
}
const info = __privateGet(this, _gl).getShaderInfoLog(shader);
__privateGet(this, _gl).deleteShader(shader);
throw new Error(`Compile '${__privateGet(this, _path)}': ${typeStr}: ${info}`);
};
// node_modules/rubiks-js/src/ui/transform.js
var Transform = class _Transform {
/**
* @param {V3} position
* @param {Quaternion} rotation
* @param {TParent} parent
*/
constructor(position, rotation, parent) {
/** @type {M44} */
__publicField(this, "localTransform");
/** @type {M44} */
__publicField(this, "globalTransform");
/** @type {TChild[]} */
__publicField(this, "children", []);
this._position = position;
this._rotation = rotation;
this.parent = parent;
this.setTransforms();
}
/** @protected */
setTransforms() {
const localTransform = _Transform.getLocalTransform(this._position, this._rotation);
this.localTransform = localTransform;
if (!this.parent) {
this.globalTransform = localTransform;
} else {
const parentTransform = this.parent.transform.globalTransform;
this.globalTransform = parentTransform.mult(localTransform);
}
this.children.forEach((child) => child.transform.setTransforms());
}
/** @param {V3} v */
apply({ x, y, z }) {
return this.globalTransform.mult(new V4(x, y, z, 1)).toV3();
}
/**
* @param {V3} axis
* @param {number} angle
*/
rotate(axis, angle) {
this.rotation = this._rotation.mult(Quaternion.fromAngle(this._rotation.rotate(axis), angle));
}
/** @param {V3} value */
set position(value) {
this._position = value;
this.setTransforms();
}
/** @param {Quaternion} value */
set rotation(value) {
this._rotation = value;
this.setTransforms();
}
get position() {
return this._position;
}
get rotation() {
return this._rotation;
}
/**
* @param {V3} position
* @param {Quaternion} rotation
* @returns {M44}
*/
static getLocalTransform({ x, y, z }, rotation) {
const transform = rotation.matrix;
transform.r1.w = x;
transform.r2.w = y;
transform.r3.w = z;
return transform;
}
};
// node_modules/rubiks-js/src/ui/facelet.js
var FaceletTransform = class extends Transform {
/**
* @param {V3} position
* @param {Quaternion} rotation
* @param {Cubie} parent
*/
constructor(position, rotation, parent) {
super(position, rotation, parent);
/** @type {V3} */
__publicField(this, "left");
/** @type {V3} */
__publicField(this, "top");
/** @type {V3} */
__publicField(this, "normal");
/** @type {V3} */
__publicField(this, "topLeft");
/** @type {V3} */
__publicField(this, "bottomRight");
this.setTransforms();
}
/** @protected */
setTransforms() {
super.setTransforms();
const rotationTransform = this.globalTransform.inverse.transpose;
this.left = rotationTransform.mult(new V4(0, 0, -1, 1)).toV3().normalized;
this.top = rotationTransform.mult(new V4(0, -1, 0, 1)).toV3().normalized;
this.normal = rotationTransform.mult(new V4(-1, 0, 0, 1)).toV3().normalized;
this.topLeft = this.globalTransform.mult(new V4(0, 0.5, 0.5, 1)).toV3();
this.bottomRight = this.topLeft.add(this.left).add(this.top);
}
};
var _hoveringMult;
var Facelet = class {
/**
* @param {FaceletTransform} transform
* @param {number} side
* @param {number[]} uvs
* @param {V3} hoveringMult
*/
constructor(transform, side, uvs, hoveringMult) {
__publicField(this, "hovering", false);
/** @type {V3} */
__privateAdd(this, _hoveringMult);
this.transform = transform;
this.side = side;
this.uvs = uvs;
__privateSet(this, _hoveringMult, hoveringMult);
}
/**
* @param {Program} program
* @param {WebGL2RenderingContext} gl
* @param {WebGLBuffer} uvsVbo
*/
render(program, gl, uvsVbo) {
gl.bindBuffer(gl.ARRAY_BUFFER, uvsVbo);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(this.uvs), gl.STATIC_DRAW);
gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 8, 0);
gl.bindBuffer(gl.ARRAY_BUFFER, null);
program.uniform("model", this.transform.globalTransform);
program.uniform("colorMult", this.hovering ? __privateGet(this, _hoveringMult) : V3.one);
gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_BYTE, 0);
}
};
_hoveringMult = new WeakMap();
var InsideFacelet = class {
/** @param {Transform<any, Cubie>} transform */
constructor(transform) {
this.transform = transform;
}
/**
* @param {Program} program
* @param {WebGL2RenderingContext} gl
*/
render(program, gl) {
program.uniform("model", this.transform.globalTransform);
program.uniform("colorMult", V3.zero);
gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_BYTE, 0);
}
};
// node_modules/rubiks-js/src/ui/cubie.js
var positionForSide = [
V3.right,
V3.left,
V3.down,
V3.up,
V3.back,
V3.forward
].map((v) => v.scale(0.5));
var rotationForSide = [
Quaternion.identity,
Quaternion.identity,
Quaternion.fromAngle(V3.back, 90),
Quaternion.fromAngle(V3.back, 90),
Quaternion.fromAngle(V3.back, 90).mult(Quaternion.fromAngle(V3.down, 90)),
Quaternion.fromAngle(V3.back, 90).mult(Quaternion.fromAngle(V3.down, 90))
];
var isInside = (side, index) => {
const axis = Math.floor(side / 2);
const invert = side % 2;
const coordinate = Math.floor(index / Math.pow(3, axis)) % 3;
return coordinate === 1 || coordinate === 0 && invert === 1 || coordinate === 2 && invert === 0;
};
var indexToPosition = (index) => {
const x = Math.floor(index / 1) % 3;
const y = Math.floor(index / 3) % 3;
const z = Math.floor(index / 9) % 3;
return [x, y, z];
};
var positionToUvs = (pos, side, uvs) => {
const axis = Math.floor(side / 2);
const uvCoords = [];
for (let i = 0; i < 3; i++) {
if (i !== axis) {
uvCoords.push(pos[i]);
}
}
const sideIndex = uvCoords[0] + uvCoords[1] * 3;
return uvs[side][sideIndex];
};
var Cubie = class {
/**
* @param {number} index
* @param {number[][][]} uvs
* @param {V3[]} hoveringColors
* @param {import('./rubiks').Rubiks} parent
*/
constructor(index, uvs, hoveringColors, parent) {
/** @type {Facelet[]} */
__publicField(this, "facelets", []);
/** @type {Transform<Facelet | InsideFacelet, import('./rubiks').Rubiks>} */
__publicField(this, "transform");
this.index = index;
const pos = indexToPosition(index);
const position = new V3(pos[0], pos[1], pos[2]).sub(V3.one);
this.transform = new Transform(position, Quaternion.identity, parent);
for (let side = 0; side < 6; side++) {
const inside = isInside(side, this.index);
const position2 = positionForSide[side];
const rotation = rotationForSide[side];
if (inside) {
const transform2 = new Transform(position2, rotation, this);
const facelet2 = new InsideFacelet(transform2);
this.transform.children.push(facelet2);
continue;
}
const uv = positionToUvs(pos, side, uvs);
const transform = new FaceletTransform(position2, rotation, this);
const facelet = new Facelet(transform, side, uv, hoveringColors[side]);
this.transform.children.push(facelet);
this.facelets.push(facelet);
}
}
/**
* @param {number} side
* @returns {Facelet}
*/
getFaceletOfSide(side) {
return (
/** @type {Facelet} */
this.facelets.find((facelet) => facelet.side === side)
);
}
/**
* @param {import('./program').Program} program
* @param {WebGL2RenderingContext} gl
* @param {WebGLBuffer} uvsVbo
*/
render(program, gl, uvsVbo) {
this.transform.children.forEach((child) => child.render.call(child, program, gl, uvsVbo));
}
};
export {
V2,
V3,
V4,
M44,
Quaternion,
Program,
Transform,
isInside,
indexToPosition,
positionToUvs,
Cubie
};
//# sourceMappingURL=chunk-ROHLD3FA.js.map

7
node_modules/.vite/deps/chunk-ROHLD3FA.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

12542
node_modules/.vite/deps/chunk-U3LI7FBV.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

7
node_modules/.vite/deps/chunk-U3LI7FBV.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

18
node_modules/.vite/deps/chunk-Y44FVENP.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
// node_modules/@gkucmierz/utils/src/mod.mjs
var getMod = (ZERO) => {
return (dividend, divisor) => {
if (dividend < ZERO ^ divisor < ZERO) {
const res = -dividend % divisor;
return res === ZERO ? ZERO : divisor - res;
}
return dividend % divisor;
};
};
var mod = getMod(0);
var modBI = getMod(0n);
export {
mod,
modBI
};
//# sourceMappingURL=chunk-Y44FVENP.js.map

7
node_modules/.vite/deps/chunk-Y44FVENP.js.map generated vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../@gkucmierz/utils/src/mod.mjs"],
"sourcesContent": ["\nconst getMod = ZERO => {\n return (dividend, divisor) => {\n if ((dividend < ZERO) ^ (divisor < ZERO)) {\n const res = -dividend % divisor;\n return res === ZERO ? ZERO : divisor - res;\n }\n return dividend % divisor;\n };\n};\n\n/**\n * Python like modulo implementation.\n * It behaves different than JavaScript %\n * with negative values\n * @method\n * @param {Number} Dividend\n * @param {Number} Divisor\n * @return {Number} Modulus\n */\nexport const mod = getMod(0);\n\n/**\n * Python like modulo implementation.\n * It behaves different than JavaScript %\n * with negative values\n * @method\n * @param {BigInt} Dividend\n * @param {BigInt} Divisor\n * @return {BigInt} Modulus\n */\nexport const modBI = getMod(0n);\n"],
"mappings": ";AACA,IAAM,SAAS,UAAQ;AACrB,SAAO,CAAC,UAAU,YAAY;AAC5B,QAAK,WAAW,OAAS,UAAU,MAAO;AACxC,YAAM,MAAM,CAAC,WAAW;AACxB,aAAO,QAAQ,OAAO,OAAO,UAAU;AAAA,IACzC;AACA,WAAO,WAAW;AAAA,EACpB;AACF;AAWO,IAAM,MAAM,OAAO,CAAC;AAWpB,IAAM,QAAQ,OAAO,EAAE;",
"names": []
}

1625
node_modules/.vite/deps/chunk-YIK32INT.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

7
node_modules/.vite/deps/chunk-YIK32INT.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

39241
node_modules/.vite/deps/lucide-vue-next.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

7
node_modules/.vite/deps/lucide-vue-next.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

494
node_modules/.vite/deps/matrix-js.js generated vendored Normal file
View File

@@ -0,0 +1,494 @@
import {
__commonJS
} from "./chunk-HPRLEMBT.js";
// node_modules/matrix-js/lib/rational.js
var require_rational = __commonJS({
"node_modules/matrix-js/lib/rational.js"(exports, module) {
"use strict";
function rational(num, den) {
den = den || 1;
if (Math.sign(den) === -1) {
num = -num;
den = -den;
}
return {
num,
den,
add: (op) => rational(num * op.den + den * op.num, den * op.den),
sub: (op) => rational(num * op.den - den * op.num, den * op.den),
mul: (op) => multiply(op, num, den),
div: (op) => {
let _num = op.den;
let _den = op.num;
return multiply(rational(_num, _den), num, den);
}
};
}
module.exports = rational;
function multiply(op, num, den) {
let _num = Math.sign(num) * Math.sign(op.num);
let _den = Math.sign(den) * Math.sign(op.den);
if (Math.abs(num) === Math.abs(op.den) && Math.abs(den) === Math.abs(op.num)) {
_num = _num;
_den = _den;
} else if (Math.abs(den) === Math.abs(op.num)) {
_num = _num * Math.abs(num);
_den = _den * Math.abs(op.den);
} else if (Math.abs(num) === Math.abs(op.den)) {
_num = _num * Math.abs(op.num);
_den = _den * Math.abs(den);
} else {
_num = num * op.num;
_den = den * op.den;
}
return rational(_num, _den);
}
}
});
// node_modules/matrix-js/lib/merge.js
var require_merge = __commonJS({
"node_modules/matrix-js/lib/merge.js"(exports, module) {
"use strict";
function merge(base) {
return {
top: (mergeData) => top(base, mergeData),
bottom: (mergeData) => bottom(base, mergeData),
left: (mergeData) => left(base, mergeData),
right: (mergeData) => right(base, mergeData)
};
}
module.exports = merge;
function top(base, mergeData) {
let baseWidth = base[0].length || base.length;
let mergeDataWidth = mergeData[mergeData.length - 1].length || mergeData.length;
if (baseWidth !== mergeDataWidth) {
return base;
}
if (!Array.isArray(base[0])) {
base = [base];
}
if (!Array.isArray(mergeData[mergeData.length - 1])) {
mergeData = [mergeData];
}
for (let row = mergeData.length - 1; row >= 0; row--) {
base.unshift(mergeData[row].map((ele) => ele));
}
return base;
}
function bottom(base, mergeData) {
let baseWidth = base[base.length - 1].length || base.length;
let mergeDataWidth = mergeData[0].length || mergeData.length;
if (baseWidth !== mergeDataWidth) {
return base;
}
if (!Array.isArray(base[base.length - 1])) {
base = [base];
}
if (!Array.isArray(mergeData[0])) {
mergeData = [mergeData];
}
for (let row = 0; row < mergeData.length; row++) {
base.push(mergeData[row].map((ele) => ele));
}
return base;
}
function left(base, mergeData) {
let baseHeight = base.length;
let mergeDataHeight = mergeData.length;
if (!Array.isArray(base[0]) && !Array.isArray(mergeData[0])) {
base.unshift.apply(base, mergeData);
return base;
}
if (baseHeight !== mergeDataHeight) {
return base;
}
for (let row = 0; row < baseHeight; row++) {
base[row].unshift.apply(base[row], mergeData[row].map((ele) => ele));
}
return base;
}
function right(base, mergeData) {
let baseHeight = base.length;
let mergeDataHeight = mergeData.length;
if (!Array.isArray(base[0]) && !Array.isArray(mergeData[0])) {
base.push.apply(base, mergeData);
return base;
}
if (baseHeight !== mergeDataHeight) {
return base;
}
for (let row = 0; row < baseHeight; row++) {
base[row].push.apply(base[row], mergeData[row].map((ele) => ele));
}
return base;
}
}
});
// node_modules/matrix-js/lib/generate.js
var require_generate = __commonJS({
"node_modules/matrix-js/lib/generate.js"(exports, module) {
"use strict";
function generate(val) {
return {
size: (row, col) => size(val, row, col),
diag: (row, col) => diag(val, row, col)
};
}
function size(val, row, col) {
if (!col) {
col = row;
}
let rows = [];
for (let i = 0; i < row; i++) {
let cols = [];
for (let j = 0; j < col; j++) {
cols[j] = val || Math.random();
}
rows[i] = cols;
}
return rows;
}
function diag(val, row, col) {
if (!col) {
col = row;
}
let rows = [];
for (let i = 0; i < row; i++) {
let cols = [];
for (let j = 0; j < col; j++) {
cols[j] = 0;
}
rows[i] = cols;
if (i < col || row == col) {
rows[i][i] = val || Math.random();
}
}
return rows;
}
module.exports = generate;
}
});
// node_modules/matrix-js/lib/index.js
var require_lib = __commonJS({
"node_modules/matrix-js/lib/index.js"(exports, module) {
var rational = require_rational();
var merge = require_merge();
var generate = require_generate();
function matrix(mat) {
if (!Array.isArray(mat)) {
throw new Error("Input should be of type array");
}
let _matrix = function() {
let args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments);
return read(mat, args);
};
return Object.assign(_matrix, _mat(mat));
}
matrix.gen = generate;
function _mat(mat) {
return {
size: () => size(mat),
add: (operand) => operate(mat, operand, addition),
sub: (operand) => operate(mat, operand, subtraction),
mul: (operand) => operate(mat, operand, multiplication),
div: (operand) => operate(mat, operand, division),
prod: (operand) => prod(mat, operand),
trans: () => trans(mat),
set: function() {
let args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments);
return {
to: (val) => replace(mat, val, args)
};
},
det: () => determinant(mat),
inv: () => invert(mat),
merge: merge(mat),
map: (func) => map(mat, func),
equals: (operand) => equals(mat, operand)
};
}
module.exports = matrix;
function size(mat) {
let s = [];
while (Array.isArray(mat)) {
s.push(mat.length);
mat = mat[0];
}
return s;
}
function dimensions(mat) {
return size(mat).length;
}
function read(mat, args) {
if (args.length === 0) {
return mat;
} else {
return extract(mat, args);
}
}
function extract(mat, args) {
let dim = dimensions(mat);
for (let i = 0; i < dim; i++) {
let d = args[i];
if (d === void 0) {
break;
}
if (Array.isArray(d)) {
mat = extractRange(mat, d, i);
} else if (Number.isInteger(d)) {
if (dimensions(mat) > 1 && i > 0) {
mat = mat.map(function(elem) {
return [elem[d]];
});
} else {
mat = mat[d];
}
}
}
return mat;
}
function extractRange(mat, arg, ind) {
if (!arg.length) {
return mat;
} else if (arg.length === 2) {
let reverse = arg[0] > arg[1];
let first = !reverse ? arg[0] : arg[1];
let last = !reverse ? arg[1] : arg[0];
if (dimensions(mat) > 1 && ind > 0) {
return mat.map(function(elem) {
if (reverse) {
return elem.slice(first, last + 1).reverse();
}
return elem.slice(first, last + 1);
});
} else {
mat = mat.slice(first, last + 1);
return reverse && mat.reverse() || mat;
}
}
}
function replace(mat, value, args) {
let result = clone(mat);
let prev = args[0];
let start = prev[0] || 0;
let end = prev[1] && prev[1] + 1 || mat.length;
if (!Array.isArray(prev) && args.length === 1) {
result[prev].fill(value);
} else if (args.length === 1) {
for (let ind = start; ind < end; ind++) {
result[ind].fill(value);
}
}
for (let i = 1; i < args.length; i++) {
let first = Array.isArray(args[i]) ? args[i][0] || 0 : args[i];
let last = Array.isArray(args[i]) ? args[i][1] && args[i][1] + 1 || mat[0].length : args[i] + 1;
if (!Array.isArray(prev)) {
result[prev].fill(value, first, last);
} else {
for (let ind = start; ind < end; ind++) {
result[ind].fill(value, first, last);
}
}
}
return result;
}
function operate(mat, operand, operation) {
let result = [];
let op = operand();
for (let i = 0; i < mat.length; i++) {
let op1 = mat[i];
let op2 = op[i];
result.push(op1.map(function(elem, ind) {
return operation(elem, op2[ind]);
}));
}
return result;
}
function prod(mat, operand) {
let op1 = mat;
let op2 = operand();
let size1 = size(op1);
let size2 = size(op2);
let result = [];
if (size1[1] === size2[0]) {
for (let i = 0; i < size1[0]; i++) {
result[i] = [];
for (let j = 0; j < size2[1]; j++) {
for (let k = 0; k < size1[1]; k++) {
if (result[i][j] === void 0) {
result[i][j] = 0;
}
result[i][j] += multiplication(op1[i][k], op2[k][j]);
}
}
}
}
return result;
}
function trans(mat) {
let input = mat;
let s = size(mat);
let output = [];
for (let i = 0; i < s[0]; i++) {
for (let j = 0; j < s[1]; j++) {
if (Array.isArray(output[j])) {
output[j].push(input[i][j]);
} else {
output[j] = [input[i][j]];
}
}
}
return output;
}
function clone(mat) {
let result = [];
for (let i = 0; i < mat.length; i++) {
result.push(mat[i].slice(0));
}
return result;
}
function addition(op1, op2) {
return op1 + op2;
}
function subtraction(op1, op2) {
return op1 - op2;
}
function multiplication(op1, op2) {
return op1 * op2;
}
function division(op1, op2) {
return op1 / op2;
}
function determinant(mat) {
let rationalized = rationalize(mat);
let siz = size(mat);
let det = rational(1);
let sign = 1;
for (let i = 0; i < siz[0] - 1; i++) {
for (let j = i + 1; j < siz[0]; j++) {
if (rationalized[j][i].num === 0) {
continue;
}
if (rationalized[i][i].num === 0) {
interchange(rationalized, i, j);
sign = -sign;
continue;
}
let temp = rationalized[j][i].div(rationalized[i][i]);
temp = rational(Math.abs(temp.num), temp.den);
if (Math.sign(rationalized[j][i].num) === Math.sign(rationalized[i][i].num)) {
temp = rational(-temp.num, temp.den);
}
for (let k = 0; k < siz[1]; k++) {
rationalized[j][k] = temp.mul(rationalized[i][k]).add(rationalized[j][k]);
}
}
}
det = rationalized.reduce((prev, curr, index) => prev.mul(curr[index]), rational(1));
return sign * det.num / det.den;
}
function interchange(mat, ind1, ind2) {
let temp = mat[ind1];
mat[ind1] = mat[ind2];
mat[ind2] = temp;
}
function invert(mat) {
let rationalized = rationalize(mat);
let siz = size(mat);
let result = rationalize(generate(1).diag(siz[0]));
let i = 0;
let j = 0;
while (j < siz[0]) {
if (rationalized[i][j].num === 0) {
for (let k = i + 1; k < siz[0]; k++) {
if (rationalized[k][j].num !== 0) {
interchange(rationalized, i, k);
interchange(result, i, k);
}
}
}
if (rationalized[i][j].num !== 0) {
if (rationalized[i][j].num !== 1 || rationalized[i][j].den !== 1) {
let factor = rational(rationalized[i][j].num, rationalized[i][j].den);
for (let col = 0; col < siz[1]; col++) {
rationalized[i][col] = rationalized[i][col].div(factor);
result[i][col] = result[i][col].div(factor);
}
}
for (let k = i + 1; k < siz[0]; k++) {
let temp = rationalized[k][j];
for (let col = 0; col < siz[1]; col++) {
rationalized[k][col] = rationalized[k][col].sub(temp.mul(rationalized[i][col]));
result[k][col] = result[k][col].sub(temp.mul(result[i][col]));
}
}
}
i += 1;
j += 1;
}
let last = siz[0] - 1;
if (rationalized[last][last].num !== 1 || rationalized[last][last].den !== 1) {
let factor = rational(rationalized[last][last].num, rationalized[last][last].den);
for (let col = 0; col < siz[1]; col++) {
rationalized[last][col] = rationalized[last][col].div(factor);
result[last][col] = result[last][col].div(factor);
}
}
for (let i2 = siz[0] - 1; i2 > 0; i2--) {
for (let j2 = i2 - 1; j2 >= 0; j2--) {
let temp = rational(-rationalized[j2][i2].num, rationalized[j2][i2].den);
for (let k = 0; k < siz[1]; k++) {
rationalized[j2][k] = temp.mul(rationalized[i2][k]).add(rationalized[j2][k]);
result[j2][k] = temp.mul(result[i2][k]).add(result[j2][k]);
}
}
}
return derationalize(result);
}
function map(mat, func) {
const s = size(mat);
const result = [];
for (let i = 0; i < s[0]; i++) {
if (Array.isArray(mat[i])) {
result[i] = [];
for (let j = 0; j < s[1]; j++) {
result[i][j] = func(mat[i][j], [i, j], mat);
}
} else {
result[i] = func(mat[i], [i, 0], mat);
}
}
return result;
}
function rationalize(mat) {
let rationalized = [];
mat.forEach((row, ind) => {
rationalized.push(row.map((ele) => rational(ele)));
});
return rationalized;
}
function derationalize(mat) {
let derationalized = [];
mat.forEach((row, ind) => {
derationalized.push(row.map((ele) => ele.num / ele.den));
});
return derationalized;
}
function equals(mat, operand) {
let op1 = mat;
let op2 = operand();
let size1 = size(op1);
let size2 = size(op2);
if (!size1.every((val, ind) => val === size2[ind])) {
return false;
}
return op1.every((val, ind1) => val.every((ele, ind2) => Math.abs(ele - op2[ind1][ind2]) < 1e-10));
}
}
});
export default require_lib();
//# sourceMappingURL=matrix-js.js.map

7
node_modules/.vite/deps/matrix-js.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

3
node_modules/.vite/deps/package.json generated vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"type": "module"
}

1545
node_modules/.vite/deps/rubiks-js.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

7
node_modules/.vite/deps/rubiks-js.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,16 @@
import {
State,
StateInfo,
createSideToUvs,
setUvs,
transformSidetoUvs
} from "./chunk-YIK32INT.js";
import "./chunk-ROHLD3FA.js";
import "./chunk-HPRLEMBT.js";
export {
State,
StateInfo,
createSideToUvs,
setUvs,
transformSidetoUvs
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

13
node_modules/.vite/deps/rubiks-js_src_ui_cubie__js.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
import {
Cubie,
indexToPosition,
isInside,
positionToUvs
} from "./chunk-ROHLD3FA.js";
import "./chunk-HPRLEMBT.js";
export {
Cubie,
indexToPosition,
isInside,
positionToUvs
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

343
node_modules/.vite/deps/vue.js generated vendored Normal file
View File

@@ -0,0 +1,343 @@
import {
BaseTransition,
BaseTransitionPropsValidators,
Comment,
DeprecationTypes,
EffectScope,
ErrorCodes,
ErrorTypeStrings,
Fragment,
KeepAlive,
ReactiveEffect,
Static,
Suspense,
Teleport,
Text,
TrackOpTypes,
Transition,
TransitionGroup,
TriggerOpTypes,
VueElement,
assertNumber,
callWithAsyncErrorHandling,
callWithErrorHandling,
camelize,
capitalize,
cloneVNode,
compatUtils,
compile,
computed,
createApp,
createBaseVNode,
createBlock,
createCommentVNode,
createElementBlock,
createHydrationRenderer,
createPropsRestProxy,
createRenderer,
createSSRApp,
createSlots,
createStaticVNode,
createTextVNode,
createVNode,
customRef,
defineAsyncComponent,
defineComponent,
defineCustomElement,
defineEmits,
defineExpose,
defineModel,
defineOptions,
defineProps,
defineSSRCustomElement,
defineSlots,
devtools,
effect,
effectScope,
getCurrentInstance,
getCurrentScope,
getCurrentWatcher,
getTransitionRawChildren,
guardReactiveProps,
h,
handleError,
hasInjectionContext,
hydrate,
hydrateOnIdle,
hydrateOnInteraction,
hydrateOnMediaQuery,
hydrateOnVisible,
initCustomFormatter,
initDirectivesForSSR,
inject,
isMemoSame,
isProxy,
isReactive,
isReadonly,
isRef,
isRuntimeOnly,
isShallow,
isVNode,
markRaw,
mergeDefaults,
mergeModels,
mergeProps,
nextTick,
normalizeClass,
normalizeProps,
normalizeStyle,
onActivated,
onBeforeMount,
onBeforeUnmount,
onBeforeUpdate,
onDeactivated,
onErrorCaptured,
onMounted,
onRenderTracked,
onRenderTriggered,
onScopeDispose,
onServerPrefetch,
onUnmounted,
onUpdated,
onWatcherCleanup,
openBlock,
popScopeId,
provide,
proxyRefs,
pushScopeId,
queuePostFlushCb,
reactive,
readonly,
ref,
registerRuntimeCompiler,
render,
renderList,
renderSlot,
resolveComponent,
resolveDirective,
resolveDynamicComponent,
resolveFilter,
resolveTransitionHooks,
setBlockTracking,
setDevtoolsHook,
setTransitionHooks,
shallowReactive,
shallowReadonly,
shallowRef,
ssrContextKey,
ssrUtils,
stop,
toDisplayString,
toHandlerKey,
toHandlers,
toRaw,
toRef,
toRefs,
toValue,
transformVNodeArgs,
triggerRef,
unref,
useAttrs,
useCssModule,
useCssVars,
useHost,
useId,
useModel,
useSSRContext,
useShadowRoot,
useSlots,
useTemplateRef,
useTransitionState,
vModelCheckbox,
vModelDynamic,
vModelRadio,
vModelSelect,
vModelText,
vShow,
version,
warn,
watch,
watchEffect,
watchPostEffect,
watchSyncEffect,
withAsyncContext,
withCtx,
withDefaults,
withDirectives,
withKeys,
withMemo,
withModifiers,
withScopeId
} from "./chunk-U3LI7FBV.js";
import "./chunk-HPRLEMBT.js";
export {
BaseTransition,
BaseTransitionPropsValidators,
Comment,
DeprecationTypes,
EffectScope,
ErrorCodes,
ErrorTypeStrings,
Fragment,
KeepAlive,
ReactiveEffect,
Static,
Suspense,
Teleport,
Text,
TrackOpTypes,
Transition,
TransitionGroup,
TriggerOpTypes,
VueElement,
assertNumber,
callWithAsyncErrorHandling,
callWithErrorHandling,
camelize,
capitalize,
cloneVNode,
compatUtils,
compile,
computed,
createApp,
createBlock,
createCommentVNode,
createElementBlock,
createBaseVNode as createElementVNode,
createHydrationRenderer,
createPropsRestProxy,
createRenderer,
createSSRApp,
createSlots,
createStaticVNode,
createTextVNode,
createVNode,
customRef,
defineAsyncComponent,
defineComponent,
defineCustomElement,
defineEmits,
defineExpose,
defineModel,
defineOptions,
defineProps,
defineSSRCustomElement,
defineSlots,
devtools,
effect,
effectScope,
getCurrentInstance,
getCurrentScope,
getCurrentWatcher,
getTransitionRawChildren,
guardReactiveProps,
h,
handleError,
hasInjectionContext,
hydrate,
hydrateOnIdle,
hydrateOnInteraction,
hydrateOnMediaQuery,
hydrateOnVisible,
initCustomFormatter,
initDirectivesForSSR,
inject,
isMemoSame,
isProxy,
isReactive,
isReadonly,
isRef,
isRuntimeOnly,
isShallow,
isVNode,
markRaw,
mergeDefaults,
mergeModels,
mergeProps,
nextTick,
normalizeClass,
normalizeProps,
normalizeStyle,
onActivated,
onBeforeMount,
onBeforeUnmount,
onBeforeUpdate,
onDeactivated,
onErrorCaptured,
onMounted,
onRenderTracked,
onRenderTriggered,
onScopeDispose,
onServerPrefetch,
onUnmounted,
onUpdated,
onWatcherCleanup,
openBlock,
popScopeId,
provide,
proxyRefs,
pushScopeId,
queuePostFlushCb,
reactive,
readonly,
ref,
registerRuntimeCompiler,
render,
renderList,
renderSlot,
resolveComponent,
resolveDirective,
resolveDynamicComponent,
resolveFilter,
resolveTransitionHooks,
setBlockTracking,
setDevtoolsHook,
setTransitionHooks,
shallowReactive,
shallowReadonly,
shallowRef,
ssrContextKey,
ssrUtils,
stop,
toDisplayString,
toHandlerKey,
toHandlers,
toRaw,
toRef,
toRefs,
toValue,
transformVNodeArgs,
triggerRef,
unref,
useAttrs,
useCssModule,
useCssVars,
useHost,
useId,
useModel,
useSSRContext,
useShadowRoot,
useSlots,
useTemplateRef,
useTransitionState,
vModelCheckbox,
vModelDynamic,
vModelRadio,
vModelSelect,
vModelText,
vShow,
version,
warn,
watch,
watchEffect,
watchPostEffect,
watchSyncEffect,
withAsyncContext,
withCtx,
withDefaults,
withDirectives,
withKeys,
withMemo,
withModifiers,
withScopeId
};

7
node_modules/.vite/deps/vue.js.map generated vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

22
node_modules/@babel/helper-string-parser/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,22 @@
MIT License
Copyright (c) 2014-present Sebastian McKenzie and other contributors
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.

19
node_modules/@babel/helper-string-parser/README.md generated vendored Normal file
View File

@@ -0,0 +1,19 @@
# @babel/helper-string-parser
> A utility package to parse strings
See our website [@babel/helper-string-parser](https://babeljs.io/docs/babel-helper-string-parser) for more information.
## Install
Using npm:
```sh
npm install --save @babel/helper-string-parser
```
or using yarn:
```sh
yarn add @babel/helper-string-parser
```

295
node_modules/@babel/helper-string-parser/lib/index.js generated vendored Normal file
View File

@@ -0,0 +1,295 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.readCodePoint = readCodePoint;
exports.readInt = readInt;
exports.readStringContents = readStringContents;
var _isDigit = function isDigit(code) {
return code >= 48 && code <= 57;
};
const forbiddenNumericSeparatorSiblings = {
decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),
hex: new Set([46, 88, 95, 120])
};
const isAllowedNumericSeparatorSibling = {
bin: ch => ch === 48 || ch === 49,
oct: ch => ch >= 48 && ch <= 55,
dec: ch => ch >= 48 && ch <= 57,
hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102
};
function readStringContents(type, input, pos, lineStart, curLine, errors) {
const initialPos = pos;
const initialLineStart = lineStart;
const initialCurLine = curLine;
let out = "";
let firstInvalidLoc = null;
let chunkStart = pos;
const {
length
} = input;
for (;;) {
if (pos >= length) {
errors.unterminated(initialPos, initialLineStart, initialCurLine);
out += input.slice(chunkStart, pos);
break;
}
const ch = input.charCodeAt(pos);
if (isStringEnd(type, ch, input, pos)) {
out += input.slice(chunkStart, pos);
break;
}
if (ch === 92) {
out += input.slice(chunkStart, pos);
const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors);
if (res.ch === null && !firstInvalidLoc) {
firstInvalidLoc = {
pos,
lineStart,
curLine
};
} else {
out += res.ch;
}
({
pos,
lineStart,
curLine
} = res);
chunkStart = pos;
} else if (ch === 8232 || ch === 8233) {
++pos;
++curLine;
lineStart = pos;
} else if (ch === 10 || ch === 13) {
if (type === "template") {
out += input.slice(chunkStart, pos) + "\n";
++pos;
if (ch === 13 && input.charCodeAt(pos) === 10) {
++pos;
}
++curLine;
chunkStart = lineStart = pos;
} else {
errors.unterminated(initialPos, initialLineStart, initialCurLine);
}
} else {
++pos;
}
}
return {
pos,
str: out,
firstInvalidLoc,
lineStart,
curLine,
containsInvalid: !!firstInvalidLoc
};
}
function isStringEnd(type, ch, input, pos) {
if (type === "template") {
return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;
}
return ch === (type === "double" ? 34 : 39);
}
function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {
const throwOnInvalid = !inTemplate;
pos++;
const res = ch => ({
pos,
ch,
lineStart,
curLine
});
const ch = input.charCodeAt(pos++);
switch (ch) {
case 110:
return res("\n");
case 114:
return res("\r");
case 120:
{
let code;
({
code,
pos
} = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));
return res(code === null ? null : String.fromCharCode(code));
}
case 117:
{
let code;
({
code,
pos
} = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));
return res(code === null ? null : String.fromCodePoint(code));
}
case 116:
return res("\t");
case 98:
return res("\b");
case 118:
return res("\u000b");
case 102:
return res("\f");
case 13:
if (input.charCodeAt(pos) === 10) {
++pos;
}
case 10:
lineStart = pos;
++curLine;
case 8232:
case 8233:
return res("");
case 56:
case 57:
if (inTemplate) {
return res(null);
} else {
errors.strictNumericEscape(pos - 1, lineStart, curLine);
}
default:
if (ch >= 48 && ch <= 55) {
const startPos = pos - 1;
const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));
let octalStr = match[0];
let octal = parseInt(octalStr, 8);
if (octal > 255) {
octalStr = octalStr.slice(0, -1);
octal = parseInt(octalStr, 8);
}
pos += octalStr.length - 1;
const next = input.charCodeAt(pos);
if (octalStr !== "0" || next === 56 || next === 57) {
if (inTemplate) {
return res(null);
} else {
errors.strictNumericEscape(startPos, lineStart, curLine);
}
}
return res(String.fromCharCode(octal));
}
return res(String.fromCharCode(ch));
}
}
function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {
const initialPos = pos;
let n;
({
n,
pos
} = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));
if (n === null) {
if (throwOnInvalid) {
errors.invalidEscapeSequence(initialPos, lineStart, curLine);
} else {
pos = initialPos - 1;
}
}
return {
code: n,
pos
};
}
function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {
const start = pos;
const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
let invalid = false;
let total = 0;
for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {
const code = input.charCodeAt(pos);
let val;
if (code === 95 && allowNumSeparator !== "bail") {
const prev = input.charCodeAt(pos - 1);
const next = input.charCodeAt(pos + 1);
if (!allowNumSeparator) {
if (bailOnError) return {
n: null,
pos
};
errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);
} else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {
if (bailOnError) return {
n: null,
pos
};
errors.unexpectedNumericSeparator(pos, lineStart, curLine);
}
++pos;
continue;
}
if (code >= 97) {
val = code - 97 + 10;
} else if (code >= 65) {
val = code - 65 + 10;
} else if (_isDigit(code)) {
val = code - 48;
} else {
val = Infinity;
}
if (val >= radix) {
if (val <= 9 && bailOnError) {
return {
n: null,
pos
};
} else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {
val = 0;
} else if (forceLen) {
val = 0;
invalid = true;
} else {
break;
}
}
++pos;
total = total * radix + val;
}
if (pos === start || len != null && pos - start !== len || invalid) {
return {
n: null,
pos
};
}
return {
n: total,
pos
};
}
function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {
const ch = input.charCodeAt(pos);
let code;
if (ch === 123) {
++pos;
({
code,
pos
} = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors));
++pos;
if (code !== null && code > 0x10ffff) {
if (throwOnInvalid) {
errors.invalidCodePoint(pos, lineStart, curLine);
} else {
return {
code: null,
pos
};
}
}
} else {
({
code,
pos
} = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));
}
return {
code,
pos
};
}
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

31
node_modules/@babel/helper-string-parser/package.json generated vendored Normal file
View File

@@ -0,0 +1,31 @@
{
"name": "@babel/helper-string-parser",
"version": "7.25.9",
"description": "A utility package to parse strings",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel.git",
"directory": "packages/babel-helper-string-parser"
},
"homepage": "https://babel.dev/docs/en/next/babel-helper-string-parser",
"license": "MIT",
"publishConfig": {
"access": "public"
},
"main": "./lib/index.js",
"devDependencies": {
"charcodes": "^0.2.0"
},
"engines": {
"node": ">=6.9.0"
},
"author": "The Babel Team (https://babel.dev/team)",
"exports": {
".": {
"types": "./lib/index.d.ts",
"default": "./lib/index.js"
},
"./package.json": "./package.json"
},
"type": "commonjs"
}

View File

@@ -0,0 +1,22 @@
MIT License
Copyright (c) 2014-present Sebastian McKenzie and other contributors
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.

View File

@@ -0,0 +1,19 @@
# @babel/helper-validator-identifier
> Validate identifier/keywords name
See our website [@babel/helper-validator-identifier](https://babeljs.io/docs/babel-helper-validator-identifier) for more information.
## Install
Using npm:
```sh
npm install --save @babel/helper-validator-identifier
```
or using yarn:
```sh
yarn add @babel/helper-validator-identifier
```

View File

@@ -0,0 +1,70 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isIdentifierChar = isIdentifierChar;
exports.isIdentifierName = isIdentifierName;
exports.isIdentifierStart = isIdentifierStart;
let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7cd\ua7d0\ua7d1\ua7d3\ua7d5-\ua7dc\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
let nonASCIIidentifierChars = "\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
function isInAstralSet(code, set) {
let pos = 0x10000;
for (let i = 0, length = set.length; i < length; i += 2) {
pos += set[i];
if (pos > code) return false;
pos += set[i + 1];
if (pos >= code) return true;
}
return false;
}
function isIdentifierStart(code) {
if (code < 65) return code === 36;
if (code <= 90) return true;
if (code < 97) return code === 95;
if (code <= 122) return true;
if (code <= 0xffff) {
return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
}
return isInAstralSet(code, astralIdentifierStartCodes);
}
function isIdentifierChar(code) {
if (code < 48) return code === 36;
if (code < 58) return true;
if (code < 65) return false;
if (code <= 90) return true;
if (code < 97) return code === 95;
if (code <= 122) return true;
if (code <= 0xffff) {
return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
}
return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
}
function isIdentifierName(name) {
let isFirst = true;
for (let i = 0; i < name.length; i++) {
let cp = name.charCodeAt(i);
if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
const trail = name.charCodeAt(++i);
if ((trail & 0xfc00) === 0xdc00) {
cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
}
}
if (isFirst) {
isFirst = false;
if (!isIdentifierStart(cp)) {
return false;
}
} else if (!isIdentifierChar(cp)) {
return false;
}
}
return !isFirst;
}
//# sourceMappingURL=identifier.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,57 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "isIdentifierChar", {
enumerable: true,
get: function () {
return _identifier.isIdentifierChar;
}
});
Object.defineProperty(exports, "isIdentifierName", {
enumerable: true,
get: function () {
return _identifier.isIdentifierName;
}
});
Object.defineProperty(exports, "isIdentifierStart", {
enumerable: true,
get: function () {
return _identifier.isIdentifierStart;
}
});
Object.defineProperty(exports, "isKeyword", {
enumerable: true,
get: function () {
return _keyword.isKeyword;
}
});
Object.defineProperty(exports, "isReservedWord", {
enumerable: true,
get: function () {
return _keyword.isReservedWord;
}
});
Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
enumerable: true,
get: function () {
return _keyword.isStrictBindOnlyReservedWord;
}
});
Object.defineProperty(exports, "isStrictBindReservedWord", {
enumerable: true,
get: function () {
return _keyword.isStrictBindReservedWord;
}
});
Object.defineProperty(exports, "isStrictReservedWord", {
enumerable: true,
get: function () {
return _keyword.isStrictReservedWord;
}
});
var _identifier = require("./identifier.js");
var _keyword = require("./keyword.js");
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_identifier","require","_keyword"],"sources":["../src/index.ts"],"sourcesContent":["export {\n isIdentifierName,\n isIdentifierChar,\n isIdentifierStart,\n} from \"./identifier.ts\";\nexport {\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"./keyword.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}

View File

@@ -0,0 +1,35 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isKeyword = isKeyword;
exports.isReservedWord = isReservedWord;
exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
exports.isStrictBindReservedWord = isStrictBindReservedWord;
exports.isStrictReservedWord = isStrictReservedWord;
const reservedWords = {
keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
strictBind: ["eval", "arguments"]
};
const keywords = new Set(reservedWords.keyword);
const reservedWordsStrictSet = new Set(reservedWords.strict);
const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
function isReservedWord(word, inModule) {
return inModule && word === "await" || word === "enum";
}
function isStrictReservedWord(word, inModule) {
return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
}
function isStrictBindOnlyReservedWord(word) {
return reservedWordsStrictBindSet.has(word);
}
function isStrictBindReservedWord(word, inModule) {
return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
}
function isKeyword(word) {
return keywords.has(word);
}
//# sourceMappingURL=keyword.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["reservedWords","keyword","strict","strictBind","keywords","Set","reservedWordsStrictSet","reservedWordsStrictBindSet","isReservedWord","word","inModule","isStrictReservedWord","has","isStrictBindOnlyReservedWord","isStrictBindReservedWord","isKeyword"],"sources":["../src/keyword.ts"],"sourcesContent":["const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n"],"mappings":";;;;;;;;;;AAAA,MAAMA,aAAa,GAAG;EACpBC,OAAO,EAAE,CACP,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,QAAQ,CACT;EACDC,MAAM,EAAE,CACN,YAAY,EACZ,WAAW,EACX,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,CACR;EACDC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW;AAClC,CAAC;AACD,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAACL,aAAa,CAACC,OAAO,CAAC;AAC/C,MAAMK,sBAAsB,GAAG,IAAID,GAAG,CAACL,aAAa,CAACE,MAAM,CAAC;AAC5D,MAAMK,0BAA0B,GAAG,IAAIF,GAAG,CAACL,aAAa,CAACG,UAAU,CAAC;AAK7D,SAASK,cAAcA,CAACC,IAAY,EAAEC,QAAiB,EAAW;EACvE,OAAQA,QAAQ,IAAID,IAAI,KAAK,OAAO,IAAKA,IAAI,KAAK,MAAM;AAC1D;AAOO,SAASE,oBAAoBA,CAACF,IAAY,EAAEC,QAAiB,EAAW;EAC7E,OAAOF,cAAc,CAACC,IAAI,EAAEC,QAAQ,CAAC,IAAIJ,sBAAsB,CAACM,GAAG,CAACH,IAAI,CAAC;AAC3E;AAMO,SAASI,4BAA4BA,CAACJ,IAAY,EAAW;EAClE,OAAOF,0BAA0B,CAACK,GAAG,CAACH,IAAI,CAAC;AAC7C;AAOO,SAASK,wBAAwBA,CACtCL,IAAY,EACZC,QAAiB,EACR;EACT,OACEC,oBAAoB,CAACF,IAAI,EAAEC,QAAQ,CAAC,IAAIG,4BAA4B,CAACJ,IAAI,CAAC;AAE9E;AAEO,SAASM,SAASA,CAACN,IAAY,EAAW;EAC/C,OAAOL,QAAQ,CAACQ,GAAG,CAACH,IAAI,CAAC;AAC3B","ignoreList":[]}

View File

@@ -0,0 +1,31 @@
{
"name": "@babel/helper-validator-identifier",
"version": "7.25.9",
"description": "Validate identifier/keywords name",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel.git",
"directory": "packages/babel-helper-validator-identifier"
},
"license": "MIT",
"publishConfig": {
"access": "public"
},
"main": "./lib/index.js",
"exports": {
".": {
"types": "./lib/index.d.ts",
"default": "./lib/index.js"
},
"./package.json": "./package.json"
},
"devDependencies": {
"@unicode/unicode-16.0.0": "^1.0.0",
"charcodes": "^0.2.0"
},
"engines": {
"node": ">=6.9.0"
},
"author": "The Babel Team (https://babel.dev/team)",
"type": "commonjs"
}

1073
node_modules/@babel/parser/CHANGELOG.md generated vendored Normal file

File diff suppressed because it is too large Load Diff

19
node_modules/@babel/parser/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,19 @@
Copyright (C) 2012-2014 by various contributors (see AUTHORS)
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.

19
node_modules/@babel/parser/README.md generated vendored Normal file
View File

@@ -0,0 +1,19 @@
# @babel/parser
> A JavaScript parser
See our website [@babel/parser](https://babeljs.io/docs/babel-parser) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20parser%22+is%3Aopen) associated with this package.
## Install
Using npm:
```sh
npm install --save-dev @babel/parser
```
or using yarn:
```sh
yarn add @babel/parser --dev
```

15
node_modules/@babel/parser/bin/babel-parser.js generated vendored Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env node
/* eslint no-var: 0 */
var parser = require("..");
var fs = require("fs");
var filename = process.argv[2];
if (!filename) {
console.error("no filename specified");
} else {
var file = fs.readFileSync(filename, "utf8");
var ast = parser.parse(file);
console.log(JSON.stringify(ast, null, " "));
}

5
node_modules/@babel/parser/index.cjs generated vendored Normal file
View File

@@ -0,0 +1,5 @@
try {
module.exports = require("./lib/index.cjs");
} catch {
module.exports = require("./lib/index.js");
}

14217
node_modules/@babel/parser/lib/index.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

1
node_modules/@babel/parser/lib/index.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

50
node_modules/@babel/parser/package.json generated vendored Normal file
View File

@@ -0,0 +1,50 @@
{
"name": "@babel/parser",
"version": "7.26.10",
"description": "A JavaScript parser",
"author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-parser",
"bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen",
"license": "MIT",
"publishConfig": {
"access": "public"
},
"keywords": [
"babel",
"javascript",
"parser",
"tc39",
"ecmascript",
"@babel/parser"
],
"repository": {
"type": "git",
"url": "https://github.com/babel/babel.git",
"directory": "packages/babel-parser"
},
"main": "./lib/index.js",
"types": "./typings/babel-parser.d.ts",
"files": [
"bin",
"lib",
"typings/babel-parser.d.ts",
"index.cjs"
],
"engines": {
"node": ">=6.0.0"
},
"# dependencies": "This package doesn't actually have runtime dependencies. @babel/types is only needed for type definitions.",
"dependencies": {
"@babel/types": "^7.26.10"
},
"devDependencies": {
"@babel/code-frame": "^7.26.2",
"@babel/helper-check-duplicate-nodes": "^7.25.9",
"@babel/helper-fixtures": "^7.26.0",
"@babel/helper-string-parser": "^7.25.9",
"@babel/helper-validator-identifier": "^7.25.9",
"charcodes": "^0.2.0"
},
"bin": "./bin/babel-parser.js",
"type": "commonjs"
}

230
node_modules/@babel/parser/typings/babel-parser.d.ts generated vendored Normal file
View File

@@ -0,0 +1,230 @@
// This file is auto-generated! Do not modify it directly.
// Run `yarn gulp bundle-dts` to re-generate it.
/* eslint-disable @typescript-eslint/consistent-type-imports, @typescript-eslint/no-redundant-type-constituents */
import { File, Expression } from '@babel/types';
type BABEL_8_BREAKING = false;
type IF_BABEL_7<V> = false extends BABEL_8_BREAKING ? V : never;
type Plugin$1 =
| "asyncDoExpressions"
| IF_BABEL_7<"asyncGenerators">
| IF_BABEL_7<"bigInt">
| IF_BABEL_7<"classPrivateMethods">
| IF_BABEL_7<"classPrivateProperties">
| IF_BABEL_7<"classProperties">
| IF_BABEL_7<"classStaticBlock">
| IF_BABEL_7<"decimal">
| "decorators-legacy"
| "deferredImportEvaluation"
| "decoratorAutoAccessors"
| "destructuringPrivate"
| "deprecatedImportAssert"
| "doExpressions"
| IF_BABEL_7<"dynamicImport">
| "explicitResourceManagement"
| "exportDefaultFrom"
| IF_BABEL_7<"exportNamespaceFrom">
| "flow"
| "flowComments"
| "functionBind"
| "functionSent"
| "importMeta"
| "jsx"
| IF_BABEL_7<"jsonStrings">
| IF_BABEL_7<"logicalAssignment">
| IF_BABEL_7<"importAssertions">
| IF_BABEL_7<"importReflection">
| "moduleBlocks"
| IF_BABEL_7<"moduleStringNames">
| IF_BABEL_7<"nullishCoalescingOperator">
| IF_BABEL_7<"numericSeparator">
| IF_BABEL_7<"objectRestSpread">
| IF_BABEL_7<"optionalCatchBinding">
| IF_BABEL_7<"optionalChaining">
| "partialApplication"
| "placeholders"
| IF_BABEL_7<"privateIn">
| IF_BABEL_7<"regexpUnicodeSets">
| "sourcePhaseImports"
| "throwExpressions"
| IF_BABEL_7<"topLevelAwait">
| "v8intrinsic"
| ParserPluginWithOptions[0];
type ParserPluginWithOptions =
| ["decorators", DecoratorsPluginOptions]
| ["estree", { classFeatures?: boolean }]
| IF_BABEL_7<["importAttributes", { deprecatedAssertSyntax: boolean }]>
| IF_BABEL_7<["moduleAttributes", { version: "may-2020" }]>
| ["optionalChainingAssign", { version: "2023-07" }]
| ["pipelineOperator", PipelineOperatorPluginOptions]
| ["recordAndTuple", RecordAndTuplePluginOptions]
| ["flow", FlowPluginOptions]
| ["typescript", TypeScriptPluginOptions];
type PluginConfig = Plugin$1 | ParserPluginWithOptions;
interface DecoratorsPluginOptions {
decoratorsBeforeExport?: boolean;
allowCallParenthesized?: boolean;
}
interface PipelineOperatorPluginOptions {
proposal: BABEL_8_BREAKING extends false
? "minimal" | "fsharp" | "hack" | "smart"
: "fsharp" | "hack";
topicToken?: "%" | "#" | "@@" | "^^" | "^";
}
interface RecordAndTuplePluginOptions {
syntaxType: "bar" | "hash";
}
type FlowPluginOptions = BABEL_8_BREAKING extends true
? {
all?: boolean;
enums?: boolean;
}
: {
all?: boolean;
};
interface TypeScriptPluginOptions {
dts?: boolean;
disallowAmbiguousJSXLike?: boolean;
}
type Plugin = PluginConfig;
interface Options {
/**
* By default, import and export declarations can only appear at a program's top level.
* Setting this option to true allows them anywhere where a statement is allowed.
*/
allowImportExportEverywhere?: boolean;
/**
* By default, await use is not allowed outside of an async function.
* Set this to true to accept such code.
*/
allowAwaitOutsideFunction?: boolean;
/**
* By default, a return statement at the top level raises an error.
* Set this to true to accept such code.
*/
allowReturnOutsideFunction?: boolean;
/**
* By default, new.target use is not allowed outside of a function or class.
* Set this to true to accept such code.
*/
allowNewTargetOutsideFunction?: boolean;
allowSuperOutsideMethod?: boolean;
/**
* By default, exported identifiers must refer to a declared variable.
* Set this to true to allow export statements to reference undeclared variables.
*/
allowUndeclaredExports?: boolean;
/**
* By default, Babel parser JavaScript code according to Annex B syntax.
* Set this to `false` to disable such behavior.
*/
annexB?: boolean;
/**
* By default, Babel attaches comments to adjacent AST nodes.
* When this option is set to false, comments are not attached.
* It can provide up to 30% performance improvement when the input code has many comments.
* @babel/eslint-parser will set it for you.
* It is not recommended to use attachComment: false with Babel transform,
* as doing so removes all the comments in output code, and renders annotations such as
* /* istanbul ignore next *\/ nonfunctional.
*/
attachComment?: boolean;
/**
* By default, Babel always throws an error when it finds some invalid code.
* When this option is set to true, it will store the parsing error and
* try to continue parsing the invalid input file.
*/
errorRecovery?: boolean;
/**
* Indicate the mode the code should be parsed in.
* Can be one of "script", "module", or "unambiguous". Defaults to "script".
* "unambiguous" will make @babel/parser attempt to guess, based on the presence
* of ES6 import or export statements.
* Files with ES6 imports and exports are considered "module" and are otherwise "script".
*/
sourceType?: "script" | "module" | "unambiguous";
/**
* Correlate output AST nodes with their source filename.
* Useful when generating code and source maps from the ASTs of multiple input files.
*/
sourceFilename?: string;
/**
* By default, all source indexes start from 0.
* You can provide a start index to alternatively start with.
* Useful for integration with other source tools.
*/
startIndex?: number;
/**
* By default, the first line of code parsed is treated as line 1.
* You can provide a line number to alternatively start with.
* Useful for integration with other source tools.
*/
startLine?: number;
/**
* By default, the parsed code is treated as if it starts from line 1, column 0.
* You can provide a column number to alternatively start with.
* Useful for integration with other source tools.
*/
startColumn?: number;
/**
* Array containing the plugins that you want to enable.
*/
plugins?: Plugin[];
/**
* Should the parser work in strict mode.
* Defaults to true if sourceType === 'module'. Otherwise, false.
*/
strictMode?: boolean;
/**
* Adds a ranges property to each node: [node.start, node.end]
*/
ranges?: boolean;
/**
* Adds all parsed tokens to a tokens property on the File node.
*/
tokens?: boolean;
/**
* By default, the parser adds information about parentheses by setting
* `extra.parenthesized` to `true` as needed.
* When this option is `true` the parser creates `ParenthesizedExpression`
* AST nodes instead of using the `extra` property.
*/
createParenthesizedExpressions?: boolean;
/**
* The default is false in Babel 7 and true in Babel 8
* Set this to true to parse it as an `ImportExpression` node.
* Otherwise `import(foo)` is parsed as `CallExpression(Import, [Identifier(foo)])`.
*/
createImportExpressions?: boolean;
}
type ParserOptions = Partial<Options>;
interface ParseError {
code: string;
reasonCode: string;
}
type ParseResult<Result extends File | Expression = File> = Result & {
errors: null | ParseError[];
};
/**
* Parse the provided code as an entire ECMAScript program.
*/
declare function parse(input: string, options?: ParserOptions): ParseResult<File>;
declare function parseExpression(input: string, options?: ParserOptions): ParseResult<Expression>;
declare const tokTypes: {
// todo(flow->ts) real token type
[name: string]: any;
};
export { DecoratorsPluginOptions, FlowPluginOptions, ParseError, ParseResult, ParserOptions, PluginConfig as ParserPlugin, ParserPluginWithOptions, PipelineOperatorPluginOptions, RecordAndTuplePluginOptions, TypeScriptPluginOptions, parse, parseExpression, tokTypes };

22
node_modules/@babel/types/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,22 @@
MIT License
Copyright (c) 2014-present Sebastian McKenzie and other contributors
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.

19
node_modules/@babel/types/README.md generated vendored Normal file
View File

@@ -0,0 +1,19 @@
# @babel/types
> Babel Types is a Lodash-esque utility library for AST nodes
See our website [@babel/types](https://babeljs.io/docs/babel-types) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20types%22+is%3Aopen) associated with this package.
## Install
Using npm:
```sh
npm install --save-dev @babel/types
```
or using yarn:
```sh
yarn add @babel/types --dev
```

16
node_modules/@babel/types/lib/asserts/assertNode.js generated vendored Normal file
View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = assertNode;
var _isNode = require("../validators/isNode.js");
function assertNode(node) {
if (!(0, _isNode.default)(node)) {
var _node$type;
const type = (_node$type = node == null ? void 0 : node.type) != null ? _node$type : JSON.stringify(node);
throw new TypeError(`Not a valid node of type "${type}"`);
}
}
//# sourceMappingURL=assertNode.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_isNode","require","assertNode","node","isNode","_node$type","type","JSON","stringify","TypeError"],"sources":["../../src/asserts/assertNode.ts"],"sourcesContent":["import isNode from \"../validators/isNode.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function assertNode(node?: any): asserts node is t.Node {\n if (!isNode(node)) {\n const type = node?.type ?? JSON.stringify(node);\n throw new TypeError(`Not a valid node of type \"${type}\"`);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAGe,SAASC,UAAUA,CAACC,IAAU,EAA0B;EACrE,IAAI,CAAC,IAAAC,eAAM,EAACD,IAAI,CAAC,EAAE;IAAA,IAAAE,UAAA;IACjB,MAAMC,IAAI,IAAAD,UAAA,GAAGF,IAAI,oBAAJA,IAAI,CAAEG,IAAI,YAAAD,UAAA,GAAIE,IAAI,CAACC,SAAS,CAACL,IAAI,CAAC;IAC/C,MAAM,IAAIM,SAAS,CAAC,6BAA6BH,IAAI,GAAG,CAAC;EAC3D;AACF","ignoreList":[]}

1243
node_modules/@babel/types/lib/asserts/generated/index.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createFlowUnionType;
var _index = require("../generated/index.js");
var _removeTypeDuplicates = require("../../modifications/flow/removeTypeDuplicates.js");
function createFlowUnionType(types) {
const flattened = (0, _removeTypeDuplicates.default)(types);
if (flattened.length === 1) {
return flattened[0];
} else {
return (0, _index.unionTypeAnnotation)(flattened);
}
}
//# sourceMappingURL=createFlowUnionType.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_index","require","_removeTypeDuplicates","createFlowUnionType","types","flattened","removeTypeDuplicates","length","unionTypeAnnotation"],"sources":["../../../src/builders/flow/createFlowUnionType.ts"],"sourcesContent":["import { unionTypeAnnotation } from \"../generated/index.ts\";\nimport removeTypeDuplicates from \"../../modifications/flow/removeTypeDuplicates.ts\";\nimport type * as t from \"../../index.ts\";\n\n/**\n * Takes an array of `types` and flattens them, removing duplicates and\n * returns a `UnionTypeAnnotation` node containing them.\n */\nexport default function createFlowUnionType<T extends t.FlowType>(\n types: [T] | Array<T>,\n): T | t.UnionTypeAnnotation {\n const flattened = removeTypeDuplicates(types);\n\n if (flattened.length === 1) {\n return flattened[0] as T;\n } else {\n return unionTypeAnnotation(flattened);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAOe,SAASE,mBAAmBA,CACzCC,KAAqB,EACM;EAC3B,MAAMC,SAAS,GAAG,IAAAC,6BAAoB,EAACF,KAAK,CAAC;EAE7C,IAAIC,SAAS,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAOF,SAAS,CAAC,CAAC,CAAC;EACrB,CAAC,MAAM;IACL,OAAO,IAAAG,0BAAmB,EAACH,SAAS,CAAC;EACvC;AACF","ignoreList":[]}

View File

@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _index = require("../generated/index.js");
var _default = exports.default = createTypeAnnotationBasedOnTypeof;
function createTypeAnnotationBasedOnTypeof(type) {
switch (type) {
case "string":
return (0, _index.stringTypeAnnotation)();
case "number":
return (0, _index.numberTypeAnnotation)();
case "undefined":
return (0, _index.voidTypeAnnotation)();
case "boolean":
return (0, _index.booleanTypeAnnotation)();
case "function":
return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Function"));
case "object":
return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Object"));
case "symbol":
return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Symbol"));
case "bigint":
return (0, _index.anyTypeAnnotation)();
}
throw new Error("Invalid typeof value: " + type);
}
//# sourceMappingURL=createTypeAnnotationBasedOnTypeof.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_index","require","_default","exports","default","createTypeAnnotationBasedOnTypeof","type","stringTypeAnnotation","numberTypeAnnotation","voidTypeAnnotation","booleanTypeAnnotation","genericTypeAnnotation","identifier","anyTypeAnnotation","Error"],"sources":["../../../src/builders/flow/createTypeAnnotationBasedOnTypeof.ts"],"sourcesContent":["import {\n anyTypeAnnotation,\n stringTypeAnnotation,\n numberTypeAnnotation,\n voidTypeAnnotation,\n booleanTypeAnnotation,\n genericTypeAnnotation,\n identifier,\n} from \"../generated/index.ts\";\nimport type * as t from \"../../index.ts\";\n\nexport default createTypeAnnotationBasedOnTypeof as {\n (type: \"string\"): t.StringTypeAnnotation;\n (type: \"number\"): t.NumberTypeAnnotation;\n (type: \"undefined\"): t.VoidTypeAnnotation;\n (type: \"boolean\"): t.BooleanTypeAnnotation;\n (type: \"function\"): t.GenericTypeAnnotation;\n (type: \"object\"): t.GenericTypeAnnotation;\n (type: \"symbol\"): t.GenericTypeAnnotation;\n (type: \"bigint\"): t.AnyTypeAnnotation;\n};\n\n/**\n * Create a type annotation based on typeof expression.\n */\nfunction createTypeAnnotationBasedOnTypeof(type: string): t.FlowType {\n switch (type) {\n case \"string\":\n return stringTypeAnnotation();\n case \"number\":\n return numberTypeAnnotation();\n case \"undefined\":\n return voidTypeAnnotation();\n case \"boolean\":\n return booleanTypeAnnotation();\n case \"function\":\n return genericTypeAnnotation(identifier(\"Function\"));\n case \"object\":\n return genericTypeAnnotation(identifier(\"Object\"));\n case \"symbol\":\n return genericTypeAnnotation(identifier(\"Symbol\"));\n case \"bigint\":\n // todo: use BigInt annotation when Flow supports BigInt\n // https://github.com/facebook/flow/issues/6639\n return anyTypeAnnotation();\n }\n throw new Error(\"Invalid typeof value: \" + type);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQ+B,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGhBC,iCAAiC;AAchD,SAASA,iCAAiCA,CAACC,IAAY,EAAc;EACnE,QAAQA,IAAI;IACV,KAAK,QAAQ;MACX,OAAO,IAAAC,2BAAoB,EAAC,CAAC;IAC/B,KAAK,QAAQ;MACX,OAAO,IAAAC,2BAAoB,EAAC,CAAC;IAC/B,KAAK,WAAW;MACd,OAAO,IAAAC,yBAAkB,EAAC,CAAC;IAC7B,KAAK,SAAS;MACZ,OAAO,IAAAC,4BAAqB,EAAC,CAAC;IAChC,KAAK,UAAU;MACb,OAAO,IAAAC,4BAAqB,EAAC,IAAAC,iBAAU,EAAC,UAAU,CAAC,CAAC;IACtD,KAAK,QAAQ;MACX,OAAO,IAAAD,4BAAqB,EAAC,IAAAC,iBAAU,EAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,QAAQ;MACX,OAAO,IAAAD,4BAAqB,EAAC,IAAAC,iBAAU,EAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,QAAQ;MAGX,OAAO,IAAAC,wBAAiB,EAAC,CAAC;EAC9B;EACA,MAAM,IAAIC,KAAK,CAAC,wBAAwB,GAAGR,IAAI,CAAC;AAClD","ignoreList":[]}

View File

@@ -0,0 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _lowercase = require("./lowercase.js");
Object.keys(_lowercase).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _lowercase[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _lowercase[key];
}
});
});
var _uppercase = require("./uppercase.js");
Object.keys(_uppercase).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _uppercase[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _uppercase[key];
}
});
});
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

12
node_modules/@babel/types/lib/builders/productions.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.buildUndefinedNode = buildUndefinedNode;
var _index = require("./generated/index.js");
function buildUndefinedNode() {
return (0, _index.unaryExpression)("void", (0, _index.numericLiteral)(0), true);
}
//# sourceMappingURL=productions.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_index","require","buildUndefinedNode","unaryExpression","numericLiteral"],"sources":["../../src/builders/productions.ts"],"sourcesContent":["import { numericLiteral, unaryExpression } from \"./generated/index.ts\";\n\nexport function buildUndefinedNode() {\n return unaryExpression(\"void\", numericLiteral(0), true);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAO,IAAAC,sBAAe,EAAC,MAAM,EAAE,IAAAC,qBAAc,EAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACzD","ignoreList":[]}

View File

@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = buildChildren;
var _index = require("../../validators/generated/index.js");
var _cleanJSXElementLiteralChild = require("../../utils/react/cleanJSXElementLiteralChild.js");
function buildChildren(node) {
const elements = [];
for (let i = 0; i < node.children.length; i++) {
let child = node.children[i];
if ((0, _index.isJSXText)(child)) {
(0, _cleanJSXElementLiteralChild.default)(child, elements);
continue;
}
if ((0, _index.isJSXExpressionContainer)(child)) child = child.expression;
if ((0, _index.isJSXEmptyExpression)(child)) continue;
elements.push(child);
}
return elements;
}
//# sourceMappingURL=buildChildren.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_index","require","_cleanJSXElementLiteralChild","buildChildren","node","elements","i","children","length","child","isJSXText","cleanJSXElementLiteralChild","isJSXExpressionContainer","expression","isJSXEmptyExpression","push"],"sources":["../../../src/builders/react/buildChildren.ts"],"sourcesContent":["import {\n isJSXText,\n isJSXExpressionContainer,\n isJSXEmptyExpression,\n} from \"../../validators/generated/index.ts\";\nimport cleanJSXElementLiteralChild from \"../../utils/react/cleanJSXElementLiteralChild.ts\";\nimport type * as t from \"../../index.ts\";\n\ntype ReturnedChild =\n | t.JSXSpreadChild\n | t.JSXElement\n | t.JSXFragment\n | t.Expression;\n\nexport default function buildChildren(\n node: t.JSXElement | t.JSXFragment,\n): ReturnedChild[] {\n const elements = [];\n\n for (let i = 0; i < node.children.length; i++) {\n let child: any = node.children[i];\n\n if (isJSXText(child)) {\n cleanJSXElementLiteralChild(child, elements);\n continue;\n }\n\n if (isJSXExpressionContainer(child)) child = child.expression;\n if (isJSXEmptyExpression(child)) continue;\n\n elements.push(child);\n }\n\n return elements;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,4BAAA,GAAAD,OAAA;AASe,SAASE,aAAaA,CACnCC,IAAkC,EACjB;EACjB,MAAMC,QAAQ,GAAG,EAAE;EAEnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACG,QAAQ,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;IAC7C,IAAIG,KAAU,GAAGL,IAAI,CAACG,QAAQ,CAACD,CAAC,CAAC;IAEjC,IAAI,IAAAI,gBAAS,EAACD,KAAK,CAAC,EAAE;MACpB,IAAAE,oCAA2B,EAACF,KAAK,EAAEJ,QAAQ,CAAC;MAC5C;IACF;IAEA,IAAI,IAAAO,+BAAwB,EAACH,KAAK,CAAC,EAAEA,KAAK,GAAGA,KAAK,CAACI,UAAU;IAC7D,IAAI,IAAAC,2BAAoB,EAACL,KAAK,CAAC,EAAE;IAEjCJ,QAAQ,CAACU,IAAI,CAACN,KAAK,CAAC;EACtB;EAEA,OAAOJ,QAAQ;AACjB","ignoreList":[]}

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createTSUnionType;
var _index = require("../generated/index.js");
var _removeTypeDuplicates = require("../../modifications/typescript/removeTypeDuplicates.js");
var _index2 = require("../../validators/generated/index.js");
function createTSUnionType(typeAnnotations) {
const types = typeAnnotations.map(type => {
return (0, _index2.isTSTypeAnnotation)(type) ? type.typeAnnotation : type;
});
const flattened = (0, _removeTypeDuplicates.default)(types);
if (flattened.length === 1) {
return flattened[0];
} else {
return (0, _index.tsUnionType)(flattened);
}
}
//# sourceMappingURL=createTSUnionType.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_index","require","_removeTypeDuplicates","_index2","createTSUnionType","typeAnnotations","types","map","type","isTSTypeAnnotation","typeAnnotation","flattened","removeTypeDuplicates","length","tsUnionType"],"sources":["../../../src/builders/typescript/createTSUnionType.ts"],"sourcesContent":["import { tsUnionType } from \"../generated/index.ts\";\nimport removeTypeDuplicates from \"../../modifications/typescript/removeTypeDuplicates.ts\";\nimport { isTSTypeAnnotation } from \"../../validators/generated/index.ts\";\nimport type * as t from \"../../index.ts\";\n\n/**\n * Takes an array of `types` and flattens them, removing duplicates and\n * returns a `UnionTypeAnnotation` node containing them.\n */\nexport default function createTSUnionType(\n typeAnnotations: Array<t.TSTypeAnnotation | t.TSType>,\n): t.TSType {\n const types = typeAnnotations.map(type => {\n return isTSTypeAnnotation(type) ? type.typeAnnotation : type;\n });\n const flattened = removeTypeDuplicates(types);\n\n if (flattened.length === 1) {\n return flattened[0];\n } else {\n return tsUnionType(flattened);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAOe,SAASG,iBAAiBA,CACvCC,eAAqD,EAC3C;EACV,MAAMC,KAAK,GAAGD,eAAe,CAACE,GAAG,CAACC,IAAI,IAAI;IACxC,OAAO,IAAAC,0BAAkB,EAACD,IAAI,CAAC,GAAGA,IAAI,CAACE,cAAc,GAAGF,IAAI;EAC9D,CAAC,CAAC;EACF,MAAMG,SAAS,GAAG,IAAAC,6BAAoB,EAACN,KAAK,CAAC;EAE7C,IAAIK,SAAS,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAOF,SAAS,CAAC,CAAC,CAAC;EACrB,CAAC,MAAM;IACL,OAAO,IAAAG,kBAAW,EAACH,SAAS,CAAC;EAC/B;AACF","ignoreList":[]}

21
node_modules/@babel/types/lib/builders/validateNode.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = validateNode;
var _validate = require("../validators/validate.js");
var _index = require("../index.js");
function validateNode(node) {
if (node == null || typeof node !== "object") return;
const fields = _index.NODE_FIELDS[node.type];
if (!fields) return;
const keys = _index.BUILDER_KEYS[node.type];
for (const key of keys) {
const field = fields[key];
if (field != null) (0, _validate.validateInternal)(field, node, key, node[key]);
}
return node;
}
//# sourceMappingURL=validateNode.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_validate","require","_index","validateNode","node","fields","NODE_FIELDS","type","keys","BUILDER_KEYS","key","field","validateInternal"],"sources":["../../src/builders/validateNode.ts"],"sourcesContent":["import { validateInternal } from \"../validators/validate.ts\";\nimport type * as t from \"../index.ts\";\nimport { BUILDER_KEYS, NODE_FIELDS } from \"../index.ts\";\n\nexport default function validateNode<N extends t.Node>(node: N) {\n if (node == null || typeof node !== \"object\") return;\n const fields = NODE_FIELDS[node.type];\n if (!fields) return;\n\n // todo: because keys not in BUILDER_KEYS are not validated - this actually allows invalid nodes in some cases\n const keys = BUILDER_KEYS[node.type] as (keyof N & string)[];\n for (const key of keys) {\n const field = fields[key];\n if (field != null) validateInternal(field, node, key, node[key]);\n }\n return node;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEe,SAASE,YAAYA,CAAmBC,IAAO,EAAE;EAC9D,IAAIA,IAAI,IAAI,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;EAC9C,MAAMC,MAAM,GAAGC,kBAAW,CAACF,IAAI,CAACG,IAAI,CAAC;EACrC,IAAI,CAACF,MAAM,EAAE;EAGb,MAAMG,IAAI,GAAGC,mBAAY,CAACL,IAAI,CAACG,IAAI,CAAyB;EAC5D,KAAK,MAAMG,GAAG,IAAIF,IAAI,EAAE;IACtB,MAAMG,KAAK,GAAGN,MAAM,CAACK,GAAG,CAAC;IACzB,IAAIC,KAAK,IAAI,IAAI,EAAE,IAAAC,0BAAgB,EAACD,KAAK,EAAEP,IAAI,EAAEM,GAAG,EAAEN,IAAI,CAACM,GAAG,CAAC,CAAC;EAClE;EACA,OAAON,IAAI;AACb","ignoreList":[]}

12
node_modules/@babel/types/lib/clone/clone.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = clone;
var _cloneNode = require("./cloneNode.js");
function clone(node) {
return (0, _cloneNode.default)(node, false);
}
//# sourceMappingURL=clone.js.map

1
node_modules/@babel/types/lib/clone/clone.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"names":["_cloneNode","require","clone","node","cloneNode"],"sources":["../../src/clone/clone.ts"],"sourcesContent":["import cloneNode from \"./cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Create a shallow clone of a `node`, including only\n * properties belonging to the node.\n * @deprecated Use t.cloneNode instead.\n */\nexport default function clone<T extends t.Node>(node: T): T {\n return cloneNode(node, /* deep */ false);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAQe,SAASC,KAAKA,CAAmBC,IAAO,EAAK;EAC1D,OAAO,IAAAC,kBAAS,EAACD,IAAI,EAAa,KAAK,CAAC;AAC1C","ignoreList":[]}

12
node_modules/@babel/types/lib/clone/cloneDeep.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cloneDeep;
var _cloneNode = require("./cloneNode.js");
function cloneDeep(node) {
return (0, _cloneNode.default)(node);
}
//# sourceMappingURL=cloneDeep.js.map

1
node_modules/@babel/types/lib/clone/cloneDeep.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"names":["_cloneNode","require","cloneDeep","node","cloneNode"],"sources":["../../src/clone/cloneDeep.ts"],"sourcesContent":["import cloneNode from \"./cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Create a deep clone of a `node` and all of it's child nodes\n * including only properties belonging to the node.\n * @deprecated Use t.cloneNode instead.\n */\nexport default function cloneDeep<T extends t.Node>(node: T): T {\n return cloneNode(node);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAQe,SAASC,SAASA,CAAmBC,IAAO,EAAK;EAC9D,OAAO,IAAAC,kBAAS,EAACD,IAAI,CAAC;AACxB","ignoreList":[]}

View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cloneDeepWithoutLoc;
var _cloneNode = require("./cloneNode.js");
function cloneDeepWithoutLoc(node) {
return (0, _cloneNode.default)(node, true, true);
}
//# sourceMappingURL=cloneDeepWithoutLoc.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_cloneNode","require","cloneDeepWithoutLoc","node","cloneNode"],"sources":["../../src/clone/cloneDeepWithoutLoc.ts"],"sourcesContent":["import cloneNode from \"./cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n/**\n * Create a deep clone of a `node` and all of it's child nodes\n * including only properties belonging to the node.\n * excluding `_private` and location properties.\n */\nexport default function cloneDeepWithoutLoc<T extends t.Node>(node: T): T {\n return cloneNode(node, /* deep */ true, /* withoutLoc */ true);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAOe,SAASC,mBAAmBA,CAAmBC,IAAO,EAAK;EACxE,OAAO,IAAAC,kBAAS,EAACD,IAAI,EAAa,IAAI,EAAmB,IAAI,CAAC;AAChE","ignoreList":[]}

107
node_modules/@babel/types/lib/clone/cloneNode.js generated vendored Normal file
View File

@@ -0,0 +1,107 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cloneNode;
var _index = require("../definitions/index.js");
var _index2 = require("../validators/generated/index.js");
const {
hasOwn
} = {
hasOwn: Function.call.bind(Object.prototype.hasOwnProperty)
};
function cloneIfNode(obj, deep, withoutLoc, commentsCache) {
if (obj && typeof obj.type === "string") {
return cloneNodeInternal(obj, deep, withoutLoc, commentsCache);
}
return obj;
}
function cloneIfNodeOrArray(obj, deep, withoutLoc, commentsCache) {
if (Array.isArray(obj)) {
return obj.map(node => cloneIfNode(node, deep, withoutLoc, commentsCache));
}
return cloneIfNode(obj, deep, withoutLoc, commentsCache);
}
function cloneNode(node, deep = true, withoutLoc = false) {
return cloneNodeInternal(node, deep, withoutLoc, new Map());
}
function cloneNodeInternal(node, deep = true, withoutLoc = false, commentsCache) {
if (!node) return node;
const {
type
} = node;
const newNode = {
type: node.type
};
if ((0, _index2.isIdentifier)(node)) {
newNode.name = node.name;
if (hasOwn(node, "optional") && typeof node.optional === "boolean") {
newNode.optional = node.optional;
}
if (hasOwn(node, "typeAnnotation")) {
newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc, commentsCache) : node.typeAnnotation;
}
if (hasOwn(node, "decorators")) {
newNode.decorators = deep ? cloneIfNodeOrArray(node.decorators, true, withoutLoc, commentsCache) : node.decorators;
}
} else if (!hasOwn(_index.NODE_FIELDS, type)) {
throw new Error(`Unknown node type: "${type}"`);
} else {
for (const field of Object.keys(_index.NODE_FIELDS[type])) {
if (hasOwn(node, field)) {
if (deep) {
newNode[field] = (0, _index2.isFile)(node) && field === "comments" ? maybeCloneComments(node.comments, deep, withoutLoc, commentsCache) : cloneIfNodeOrArray(node[field], true, withoutLoc, commentsCache);
} else {
newNode[field] = node[field];
}
}
}
}
if (hasOwn(node, "loc")) {
if (withoutLoc) {
newNode.loc = null;
} else {
newNode.loc = node.loc;
}
}
if (hasOwn(node, "leadingComments")) {
newNode.leadingComments = maybeCloneComments(node.leadingComments, deep, withoutLoc, commentsCache);
}
if (hasOwn(node, "innerComments")) {
newNode.innerComments = maybeCloneComments(node.innerComments, deep, withoutLoc, commentsCache);
}
if (hasOwn(node, "trailingComments")) {
newNode.trailingComments = maybeCloneComments(node.trailingComments, deep, withoutLoc, commentsCache);
}
if (hasOwn(node, "extra")) {
newNode.extra = Object.assign({}, node.extra);
}
return newNode;
}
function maybeCloneComments(comments, deep, withoutLoc, commentsCache) {
if (!comments || !deep) {
return comments;
}
return comments.map(comment => {
const cache = commentsCache.get(comment);
if (cache) return cache;
const {
type,
value,
loc
} = comment;
const ret = {
type,
value,
loc
};
if (withoutLoc) {
ret.loc = null;
}
commentsCache.set(comment, ret);
return ret;
});
}
//# sourceMappingURL=cloneNode.js.map

1
node_modules/@babel/types/lib/clone/cloneNode.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

12
node_modules/@babel/types/lib/clone/cloneWithoutLoc.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cloneWithoutLoc;
var _cloneNode = require("./cloneNode.js");
function cloneWithoutLoc(node) {
return (0, _cloneNode.default)(node, false, true);
}
//# sourceMappingURL=cloneWithoutLoc.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_cloneNode","require","cloneWithoutLoc","node","cloneNode"],"sources":["../../src/clone/cloneWithoutLoc.ts"],"sourcesContent":["import cloneNode from \"./cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Create a shallow clone of a `node` excluding `_private` and location properties.\n */\nexport default function cloneWithoutLoc<T extends t.Node>(node: T): T {\n return cloneNode(node, /* deep */ false, /* withoutLoc */ true);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAMe,SAASC,eAAeA,CAAmBC,IAAO,EAAK;EACpE,OAAO,IAAAC,kBAAS,EAACD,IAAI,EAAa,KAAK,EAAmB,IAAI,CAAC;AACjE","ignoreList":[]}

15
node_modules/@babel/types/lib/comments/addComment.js generated vendored Normal file
View File

@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = addComment;
var _addComments = require("./addComments.js");
function addComment(node, type, content, line) {
return (0, _addComments.default)(node, type, [{
type: line ? "CommentLine" : "CommentBlock",
value: content
}]);
}
//# sourceMappingURL=addComment.js.map

Some files were not shown because too many files have changed in this diff Show More