From bdd5e1f60bae7a85bbf131f926e26175d44fb080 Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 17:35:05 -0700 Subject: [PATCH 01/18] add testing infrastructure --- .github/workflows/build.yml | 3 + CLAUDE.md | 6 +- eslint.config.mjs | 2 +- package-lock.json | 1537 +++++++++++++++++++++++++++++++++-- package.json | 17 +- tsconfig.eslint.json | 1 + 6 files changed, 1505 insertions(+), 61 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 573b4f6..6d99425 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,9 @@ jobs: - name: Run linting run: npm run lint + - name: Run tests + run: npm test + - name: Check version bump run: | # Get current version from package.json diff --git a/CLAUDE.md b/CLAUDE.md index f471c72..2b263d0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,7 +15,11 @@ Clipless is an Electron clipboard manager built with React and TypeScript. It mo - `npm run typecheck` — Type check all TypeScript (runs both `typecheck:node` for main/preload and `typecheck:web` for renderer) - `npm run build:win` / `build:mac` / `build:linux` — Platform-specific packaging -No test framework is configured. +### Testing +- `npm test` / `npx vitest` — Unit tests (Vitest) +- `npx playwright test` — E2E tests (Playwright with Electron) + +**Note:** E2E tests interact with the **system clipboard**. Running them will read from and write to your actual OS clipboard. Avoid copying sensitive data before running e2e tests, and expect your clipboard contents to be overwritten. ## Architecture diff --git a/eslint.config.mjs b/eslint.config.mjs index 35ea92f..64f889a 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,7 +5,7 @@ import eslintPluginReactHooks from 'eslint-plugin-react-hooks'; import eslintPluginReactRefresh from 'eslint-plugin-react-refresh'; export default tseslint.config( - { ignores: ['**/node_modules', '**/dist', '**/out', '**/*.d.ts'] }, + { ignores: ['**/node_modules', '**/dist', '**/out', '**/*.d.ts', 'e2e/**'] }, tseslint.configs.recommended, eslintPluginReact.configs.flat.recommended, eslintPluginReact.configs.flat['jsx-runtime'], diff --git a/package-lock.json b/package-lock.json index 760e162..8984e55 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,11 +25,17 @@ "@electron-toolkit/eslint-config-prettier": "^3.0.0", "@electron-toolkit/eslint-config-ts": "^3.0.0", "@electron-toolkit/tsconfig": "^1.0.1", + "@playwright/test": "^1.58.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@testing-library/user-event": "^14.6.1", "@types/node": "^22.14.1", "@types/react": "^19.1.1", "@types/react-dom": "^19.1.2", "@types/react-syntax-highlighter": "^15.5.13", "@vitejs/plugin-react": "^4.3.4", + "@vitest/coverage-v8": "^4.0.18", + "@vitest/ui": "^4.0.18", "electron": "^35.1.5", "electron-builder": "^25.1.8", "electron-vite": "^3.1.0", @@ -37,13 +43,29 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.19", + "jsdom": "^27.4.0", "prettier": "^3.5.3", "react": "^19.1.0", "react-dom": "^19.1.0", "typescript": "^5.8.3", - "vite": "^6.2.6" + "vite": "^6.2.6", + "vitest": "^4.0.18" } }, + "node_modules/@acemir/cssom": { + "version": "0.9.31", + "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz", + "integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "dev": true, + "license": "MIT" + }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -57,6 +79,61 @@ "node": ">=6.0.0" } }, + "node_modules/@asamuzakjp/css-color": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.1.1.tgz", + "integrity": "sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "lru-cache": "^11.2.4" + } + }, + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.7.7.tgz", + "integrity": "sha512-8CO/UQ4tzDd7ula+/CVimJIVWez99UJlbMyIgk8xOnhAVPKLnBZmUFYVgugS441v2ZqUq5EnSh6B0Ua0liSFAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.1.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.5" + } + }, + "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -210,9 +287,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -244,13 +321,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", - "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.0" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -351,19 +428,161 @@ } }, "node_modules/@babel/types": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.0.tgz", - "integrity": "sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.26.tgz", + "integrity": "sha512-6boXK0KkzT5u5xOgF6TKB+CLq9SOpEGmkZw0g5n9/7yg85wab3UzSxB8TxhLJ31L4SGJ6BCFRw/iftTha1CJXA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0" + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@develar/schema-utils": { "version": "2.6.5", "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", @@ -1381,6 +1600,24 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@exodus/bytes": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.10.0.tgz", + "integrity": "sha512-tf8YdcbirXdPnJ+Nd4UN1EXnz+IP2DI45YVEr3vvzcVTOyrApkmIB4zvOQVd3XPr7RXnfBtAx+PXImXOIU0Ajg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, "node_modules/@fortawesome/fontawesome-common-types": { "version": "6.7.2", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz", @@ -1667,15 +1904,15 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", - "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", - "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1864,6 +2101,29 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@playwright/test": { + "version": "1.58.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.1.tgz", + "integrity": "sha512-6LdVIUERWxQMmUSSQi0I53GgCBYgM2RpGngCPY7hSeju+VrKjq3lvs7HpJoPbDiY5QM5EYRtRX5fvrinnMAz3w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.58.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.19", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz", @@ -2143,6 +2403,13 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -2488,6 +2755,96 @@ "vite": "^5.2.0 || ^6 || ^7" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -2498,6 +2855,14 @@ "node": ">= 10" } }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -2555,6 +2920,17 @@ "@types/responselike": "^1.0.0" } }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -2565,6 +2941,13 @@ "@types/ms": "*" } }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -2994,33 +3377,197 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" } }, - "node_modules/@xmldom/xmldom": { - "version": "0.8.10", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", - "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "node_modules/@vitest/coverage-v8": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.18.tgz", + "integrity": "sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10.0.0" + "dependencies": { + "@bcoe/v8-coverage": "^1.0.2", + "@vitest/utils": "4.0.18", + "ast-v8-to-istanbul": "^0.3.10", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.2.0", + "magicast": "^0.5.1", + "obug": "^2.1.1", + "std-env": "^3.10.0", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "4.0.18", + "vitest": "4.0.18" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "node_modules/7zip-bin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", - "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", + "node_modules/@vitest/expect": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz", + "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.0.18", + "@vitest/utils": "4.0.18", + "chai": "^6.2.1", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "node_modules/@vitest/mocker": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz", + "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==", "dev": true, - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.0.18", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz", + "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz", + "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.0.18", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz", + "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.0.18", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz", + "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/ui": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-4.0.18.tgz", + "integrity": "sha512-CGJ25bc8fRi8Lod/3GHSvXRKi7nBo3kxh0ApW4yCjmrWmRmlT53B5E08XRSZRliygG0aVNxLrBEqPYdz/KcCtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.0.18", + "fflate": "^0.8.2", + "flatted": "^3.3.3", + "pathe": "^2.0.3", + "sirv": "^3.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "4.0.18" + } + }, + "node_modules/@vitest/utils": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz", + "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.0.18", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/7zip-bin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", + "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", @@ -3352,6 +3899,16 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -3518,6 +4075,35 @@ "node": ">=0.8" } }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/ast-v8-to-istanbul": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.11.tgz", + "integrity": "sha512-Qya9fkoofMjCBNVdWINMjB5KZvkYfaO9/anwkWnjxibpWUxo5iHl2sOdP7/uAqaRuUYuoo8rDwnbaaKVFxoUvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.31", + "estree-walker": "^3.0.3", + "js-tokens": "^10.0.0" + } + }, + "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz", + "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==", + "dev": true, + "license": "MIT" + }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -3615,6 +4201,16 @@ ], "license": "MIT" }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -4026,6 +4622,16 @@ ], "license": "CC-BY-4.0" }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -4450,6 +5056,53 @@ "node": ">= 8" } }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.7.tgz", + "integrity": "sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^4.1.1", + "@csstools/css-syntax-patches-for-csstree": "^1.0.21", + "css-tree": "^3.1.0", + "lru-cache": "^11.2.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cssstyle/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -4457,6 +5110,30 @@ "dev": true, "license": "MIT" }, + "node_modules/data-urls": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-6.0.1.tgz", + "integrity": "sha512-euIQENZg6x8mj3fO6o9+fOW8MimUI4PpD/fZBhJfeioZVy9TUpM4UY7KjQNVZFlqwJ0UdzRDzkycB997HEq1BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^15.1.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/data-urls/node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, "node_modules/data-view-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", @@ -4525,6 +5202,13 @@ } } }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -4632,6 +5316,16 @@ "dev": true, "license": "MIT" }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/detect-libc": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", @@ -4780,6 +5474,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/dotenv": { "version": "16.6.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", @@ -5190,6 +5892,19 @@ "node": ">=10.13.0" } }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -5320,6 +6035,13 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", @@ -5720,6 +6442,16 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -5730,6 +6462,16 @@ "node": ">=0.10.0" } }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/exponential-backoff": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", @@ -5858,6 +6600,13 @@ "pend": "~1.2.0" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -6557,6 +7306,26 @@ "dev": true, "license": "ISC" }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", @@ -7085,6 +7854,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -7260,6 +8036,45 @@ "dev": true, "license": "ISC" }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/iterator.prototype": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", @@ -7360,6 +8175,46 @@ "dev": true, "license": "MIT" }, + "node_modules/jsdom": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.4.0.tgz", + "integrity": "sha512-mjzqwWRD9Y1J1KUi7W97Gja1bwOOM5Ug0EZ6UDK3xS7j7mndrkwozHtSblfomlzyB4NepioNt+B2sOSzczVgtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@acemir/cssom": "^0.9.28", + "@asamuzakjp/dom-selector": "^6.7.6", + "@exodus/bytes": "^1.6.0", + "cssstyle": "^5.3.4", + "data-urls": "^6.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "parse5": "^8.0.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.0", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^15.1.0", + "ws": "^8.18.3", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -7898,19 +8753,71 @@ "yallist": "^3.0.2" } }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, "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==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "node_modules/magicast": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz", + "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "source-map-js": "^1.2.1" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, "license": "ISC", "dependencies": { @@ -8009,6 +8916,13 @@ "node": ">= 0.4" } }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -8088,6 +9002,16 @@ "node": ">=4" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { "version": "10.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", @@ -8238,6 +9162,16 @@ "node": ">=10" } }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -8556,6 +9490,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -8735,6 +9680,19 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -8806,6 +9764,13 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/pe-library": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/pe-library/-/pe-library-0.4.1.tgz", @@ -8846,6 +9811,53 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/playwright": { + "version": "1.58.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.1.tgz", + "integrity": "sha512-+2uTZHxSCcxjvGc5C891LrS1/NlxglGxzrC4seZiVjcYVQfUa87wBL6rTDqzGjuoWNjnBzRqKmF6zRYGMvQUaQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.58.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.58.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.1.tgz", + "integrity": "sha512-bcWzOaTxcW+VOOGBCQgnaKToLJ65d6AqfLVKEWvexyS3AS6rbXl+xdpYRMGSRBClPvyj44njOWoxjNdL/H9UNg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/plist": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", @@ -8937,6 +9949,44 @@ "node": ">=6.0.0" } }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -9240,6 +10290,20 @@ "node": ">=10" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -9316,6 +10380,16 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resedit": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/resedit/-/resedit-1.7.2.tgz", @@ -9609,6 +10683,19 @@ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "license": "ISC" }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/scheduler": { "version": "0.26.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", @@ -9795,6 +10882,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -9828,6 +10922,21 @@ "node": ">=10" } }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -9958,6 +11067,13 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, "node_modules/stat-mode": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", @@ -9968,6 +11084,13 @@ "node": ">= 6" } }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true, + "license": "MIT" + }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", @@ -10144,6 +11267,19 @@ "node": ">=8" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -10195,6 +11331,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, "node_modules/synckit": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz", @@ -10334,14 +11477,31 @@ "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", "license": "MIT" }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "license": "MIT", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" @@ -10351,10 +11511,13 @@ } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "picomatch": "^3 || ^4" }, @@ -10365,9 +11528,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", "engines": { "node": ">=12" @@ -10376,6 +11539,36 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/tinyrainbow": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", + "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.0.19", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.19.tgz", + "integrity": "sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.19" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.19", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.19.tgz", + "integrity": "sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==", + "dev": true, + "license": "MIT" + }, "node_modules/tmp": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", @@ -10409,6 +11602,42 @@ "node": ">=8.0" } }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", + "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", @@ -10799,6 +12028,110 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/vitest": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", + "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.0.18", + "@vitest/mocker": "4.0.18", + "@vitest/pretty-format": "4.0.18", + "@vitest/runner": "4.0.18", + "@vitest/snapshot": "4.0.18", + "@vitest/spy": "4.0.18", + "@vitest/utils": "4.0.18", + "es-module-lexer": "^1.7.0", + "expect-type": "^1.2.2", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^3.10.0", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.0.3", + "vite": "^6.0.0 || ^7.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.0.18", + "@vitest/browser-preview": "4.0.18", + "@vitest/browser-webdriverio": "4.0.18", + "@vitest/ui": "4.0.18", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -10809,6 +12142,40 @@ "defaults": "^1.0.3" } }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-15.1.0.tgz", + "integrity": "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.0" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -10910,6 +12277,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -10973,6 +12357,38 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, "node_modules/xmlbuilder": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", @@ -10983,6 +12399,13 @@ "node": ">=8.0" } }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 614b745..f5bfbbc 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,12 @@ "build:win": "npm run build && electron-builder --win", "build:mac": "electron-vite build && electron-builder --mac", "build:linux": "electron-vite build && electron-builder --linux", - "release": "electron-builder" + "release": "electron-builder", + "test": "vitest run", + "test:watch": "vitest", + "test:ui": "vitest --ui", + "test:coverage": "vitest run --coverage", + "test:e2e": "playwright test" }, "dependencies": { "@electron-toolkit/preload": "^3.0.1", @@ -42,11 +47,17 @@ "@electron-toolkit/eslint-config-prettier": "^3.0.0", "@electron-toolkit/eslint-config-ts": "^3.0.0", "@electron-toolkit/tsconfig": "^1.0.1", + "@playwright/test": "^1.58.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@testing-library/user-event": "^14.6.1", "@types/node": "^22.14.1", "@types/react": "^19.1.1", "@types/react-dom": "^19.1.2", "@types/react-syntax-highlighter": "^15.5.13", "@vitejs/plugin-react": "^4.3.4", + "@vitest/coverage-v8": "^4.0.18", + "@vitest/ui": "^4.0.18", "electron": "^35.1.5", "electron-builder": "^25.1.8", "electron-vite": "^3.1.0", @@ -54,10 +65,12 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.19", + "jsdom": "^27.4.0", "prettier": "^3.5.3", "react": "^19.1.0", "react-dom": "^19.1.0", "typescript": "^5.8.3", - "vite": "^6.2.6" + "vite": "^6.2.6", + "vitest": "^4.0.18" } } diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 741f723..7992a70 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -10,6 +10,7 @@ "src/**/*.tsx", "src/**/*.js", "src/**/*.jsx", + "e2e/**/*.ts", "*.ts", "*.js", "*.mjs" From 7d530edb89d1f47b670fc38db544f835af24d8b5 Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 17:35:11 -0700 Subject: [PATCH 02/18] add testing infrastructure --- .github/workflows/test.yml | 50 + coverage/base.css | 224 +++ coverage/block-navigation.js | 87 + coverage/clover.xml | 729 +++++++ coverage/coverage-final.json | 20 + coverage/favicon.png | Bin 0 -> 445 bytes coverage/index.html | 221 +++ coverage/main/clipboard/data.ts.html | 382 ++++ coverage/main/clipboard/index.html | 146 ++ coverage/main/clipboard/quick-clips.ts.html | 643 ++++++ coverage/main/clipboard/quick-tools.ts.html | 319 +++ coverage/main/hotkeys/actions.ts.html | 613 ++++++ coverage/main/hotkeys/index.html | 146 ++ coverage/main/hotkeys/manager.ts.html | 586 ++++++ coverage/main/hotkeys/registry.ts.html | 331 ++++ coverage/main/storage/defaults.ts.html | 268 +++ coverage/main/storage/file-operations.ts.html | 331 ++++ coverage/main/storage/index.html | 176 ++ coverage/main/storage/migration.ts.html | 316 +++ coverage/main/storage/search-terms.ts.html | 247 +++ coverage/main/storage/templates.ts.html | 388 ++++ coverage/prettify.css | 1 + coverage/prettify.js | 2 + .../clips/clip/BookmarkClip.tsx.html | 148 ++ .../components/clips/clip/HtmlClip.tsx.html | 139 ++ .../components/clips/clip/ImageClip.tsx.html | 379 ++++ .../components/clips/clip/TextClip.tsx.html | 751 +++++++ .../src/components/clips/clip/index.html | 161 ++ coverage/renderer/src/hooks/index.html | 116 ++ .../src/hooks/usePatternDetection.ts.html | 256 +++ coverage/renderer/src/providers/index.html | 116 ++ .../renderer/src/providers/theme.tsx.html | 496 +++++ coverage/renderer/src/utils/index.html | 116 ++ .../src/utils/languageDetection.ts.html | 1720 +++++++++++++++++ coverage/shared/constants.ts.html | 88 + coverage/shared/index.html | 116 ++ coverage/sort-arrow-sprite.png | Bin 0 -> 138 bytes coverage/sorter.js | 210 ++ e2e/app-launch.spec.ts | 42 + e2e/clipboard.spec.ts | 27 + e2e/quick-clips.spec.ts | 32 + e2e/settings.spec.ts | 19 + e2e/theme.spec.ts | 21 + e2e/tsconfig.json | 11 + playwright.config.ts | 12 + src/main/__mocks__/electron.ts | 59 + src/main/clipboard/data.test.ts | 110 ++ src/main/clipboard/quick-clips.test.ts | 153 ++ src/main/clipboard/quick-tools.test.ts | 46 + src/main/hotkeys/actions.test.ts | 123 ++ src/main/hotkeys/manager.test.ts | 114 ++ src/main/hotkeys/registry.test.ts | 80 + src/main/storage/file-operations.test.ts | 81 + src/main/storage/migration.test.ts | 109 ++ src/main/storage/search-terms.test.ts | 36 + src/main/storage/templates.test.ts | 114 ++ .../clips/clip/BookmarkClip.test.tsx | 33 + .../components/clips/clip/HtmlClip.test.tsx | 19 + .../components/clips/clip/ImageClip.test.tsx | 46 + .../components/clips/clip/TextClip.test.tsx | 61 + .../src/hooks/usePatternDetection.test.ts | 49 + src/renderer/src/providers/theme.test.tsx | 67 + src/renderer/src/test-setup.ts | 45 + .../src/utils/languageDetection.test.ts | 123 ++ test-results/.last-run.json | 4 + vitest.config.ts | 35 + 66 files changed, 12709 insertions(+) create mode 100644 .github/workflows/test.yml create mode 100644 coverage/base.css create mode 100644 coverage/block-navigation.js create mode 100644 coverage/clover.xml create mode 100644 coverage/coverage-final.json create mode 100644 coverage/favicon.png create mode 100644 coverage/index.html create mode 100644 coverage/main/clipboard/data.ts.html create mode 100644 coverage/main/clipboard/index.html create mode 100644 coverage/main/clipboard/quick-clips.ts.html create mode 100644 coverage/main/clipboard/quick-tools.ts.html create mode 100644 coverage/main/hotkeys/actions.ts.html create mode 100644 coverage/main/hotkeys/index.html create mode 100644 coverage/main/hotkeys/manager.ts.html create mode 100644 coverage/main/hotkeys/registry.ts.html create mode 100644 coverage/main/storage/defaults.ts.html create mode 100644 coverage/main/storage/file-operations.ts.html create mode 100644 coverage/main/storage/index.html create mode 100644 coverage/main/storage/migration.ts.html create mode 100644 coverage/main/storage/search-terms.ts.html create mode 100644 coverage/main/storage/templates.ts.html create mode 100644 coverage/prettify.css create mode 100644 coverage/prettify.js create mode 100644 coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html create mode 100644 coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html create mode 100644 coverage/renderer/src/components/clips/clip/ImageClip.tsx.html create mode 100644 coverage/renderer/src/components/clips/clip/TextClip.tsx.html create mode 100644 coverage/renderer/src/components/clips/clip/index.html create mode 100644 coverage/renderer/src/hooks/index.html create mode 100644 coverage/renderer/src/hooks/usePatternDetection.ts.html create mode 100644 coverage/renderer/src/providers/index.html create mode 100644 coverage/renderer/src/providers/theme.tsx.html create mode 100644 coverage/renderer/src/utils/index.html create mode 100644 coverage/renderer/src/utils/languageDetection.ts.html create mode 100644 coverage/shared/constants.ts.html create mode 100644 coverage/shared/index.html create mode 100644 coverage/sort-arrow-sprite.png create mode 100644 coverage/sorter.js create mode 100644 e2e/app-launch.spec.ts create mode 100644 e2e/clipboard.spec.ts create mode 100644 e2e/quick-clips.spec.ts create mode 100644 e2e/settings.spec.ts create mode 100644 e2e/theme.spec.ts create mode 100644 e2e/tsconfig.json create mode 100644 playwright.config.ts create mode 100644 src/main/__mocks__/electron.ts create mode 100644 src/main/clipboard/data.test.ts create mode 100644 src/main/clipboard/quick-clips.test.ts create mode 100644 src/main/clipboard/quick-tools.test.ts create mode 100644 src/main/hotkeys/actions.test.ts create mode 100644 src/main/hotkeys/manager.test.ts create mode 100644 src/main/hotkeys/registry.test.ts create mode 100644 src/main/storage/file-operations.test.ts create mode 100644 src/main/storage/migration.test.ts create mode 100644 src/main/storage/search-terms.test.ts create mode 100644 src/main/storage/templates.test.ts create mode 100644 src/renderer/src/components/clips/clip/BookmarkClip.test.tsx create mode 100644 src/renderer/src/components/clips/clip/HtmlClip.test.tsx create mode 100644 src/renderer/src/components/clips/clip/ImageClip.test.tsx create mode 100644 src/renderer/src/components/clips/clip/TextClip.test.tsx create mode 100644 src/renderer/src/hooks/usePatternDetection.test.ts create mode 100644 src/renderer/src/providers/theme.test.tsx create mode 100644 src/renderer/src/test-setup.ts create mode 100644 src/renderer/src/utils/languageDetection.test.ts create mode 100644 test-results/.last-run.json create mode 100644 vitest.config.ts diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..d115e3b --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,50 @@ +name: Tests + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + unit-tests: + runs-on: ubuntu-latest + + steps: + - name: Check out Git repository + uses: actions/checkout@v4 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Run unit tests + run: npm test + + e2e-tests: + needs: unit-tests + runs-on: windows-latest + + steps: + - name: Check out Git repository + uses: actions/checkout@v4 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build application + run: npm run build + + - name: Run E2E tests + run: npm run test:e2e diff --git a/coverage/base.css b/coverage/base.css new file mode 100644 index 0000000..f418035 --- /dev/null +++ b/coverage/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/coverage/block-navigation.js b/coverage/block-navigation.js new file mode 100644 index 0000000..530d1ed --- /dev/null +++ b/coverage/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selector that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/coverage/clover.xml b/coverage/clover.xml new file mode 100644 index 0000000..caff243 --- /dev/null +++ b/coverage/clover.xml @@ -0,0 +1,729 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json new file mode 100644 index 0000000..a85da96 --- /dev/null +++ b/coverage/coverage-final.json @@ -0,0 +1,20 @@ +{"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":36,"column":null}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":null}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"4":{"start":{"line":11,"column":14},"end":{"line":11,"column":null}},"5":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}},"7":{"start":{"line":16,"column":15},"end":{"line":16,"column":null}},"8":{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":21,"column":16},"end":{"line":21,"column":null}},"11":{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},"12":{"start":{"line":23,"column":4},"end":{"line":23,"column":null}},"13":{"start":{"line":26,"column":2},"end":{"line":33,"column":null}},"14":{"start":{"line":27,"column":21},"end":{"line":27,"column":null}},"15":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"16":{"start":{"line":29,"column":6},"end":{"line":29,"column":null}},"17":{"start":{"line":35,"column":2},"end":{"line":35,"column":null}},"18":{"start":{"line":39,"column":32},"end":{"line":39,"column":null}},"19":{"start":{"line":39,"column":46},"end":{"line":39,"column":null}},"20":{"start":{"line":40,"column":32},"end":{"line":40,"column":null}},"21":{"start":{"line":40,"column":46},"end":{"line":40,"column":null}},"22":{"start":{"line":41,"column":31},"end":{"line":41,"column":null}},"23":{"start":{"line":41,"column":45},"end":{"line":41,"column":null}},"24":{"start":{"line":43,"column":33},"end":{"line":49,"column":null}},"25":{"start":{"line":44,"column":16},"end":{"line":44,"column":null}},"26":{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},"27":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"28":{"start":{"line":48,"column":2},"end":{"line":48,"column":null}},"29":{"start":{"line":51,"column":36},"end":{"line":57,"column":null}},"30":{"start":{"line":52,"column":2},"end":{"line":56,"column":null}},"31":{"start":{"line":53,"column":4},"end":{"line":53,"column":null}},"32":{"start":{"line":55,"column":4},"end":{"line":55,"column":null}},"33":{"start":{"line":60,"column":32},"end":{"line":62,"column":null}},"34":{"start":{"line":61,"column":2},"end":{"line":61,"column":null}},"35":{"start":{"line":64,"column":32},"end":{"line":66,"column":null}},"36":{"start":{"line":65,"column":2},"end":{"line":65,"column":null}},"37":{"start":{"line":68,"column":31},"end":{"line":70,"column":null}},"38":{"start":{"line":69,"column":2},"end":{"line":69,"column":null}},"39":{"start":{"line":72,"column":33},"end":{"line":81,"column":null}},"40":{"start":{"line":73,"column":2},"end":{"line":80,"column":null}},"41":{"start":{"line":75,"column":18},"end":{"line":75,"column":null}},"42":{"start":{"line":76,"column":4},"end":{"line":76,"column":null}},"43":{"start":{"line":78,"column":4},"end":{"line":78,"column":null}},"44":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"45":{"start":{"line":83,"column":36},"end":{"line":99,"column":null}},"46":{"start":{"line":89,"column":2},"end":{"line":98,"column":null}},"47":{"start":{"line":91,"column":4},"end":{"line":94,"column":null}},"48":{"start":{"line":96,"column":4},"end":{"line":96,"column":null}},"49":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":39},"end":{"line":4,"column":87}},"loc":{"start":{"line":4,"column":87},"end":{"line":36,"column":null}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":32},"end":{"line":39,"column":46}},"loc":{"start":{"line":39,"column":46},"end":{"line":39,"column":null}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":32},"end":{"line":40,"column":46}},"loc":{"start":{"line":40,"column":46},"end":{"line":40,"column":null}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":31},"end":{"line":41,"column":45}},"loc":{"start":{"line":41,"column":45},"end":{"line":41,"column":null}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":33},"end":{"line":43,"column":54}},"loc":{"start":{"line":43,"column":54},"end":{"line":49,"column":null}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":36},"end":{"line":51,"column":81}},"loc":{"start":{"line":51,"column":81},"end":{"line":57,"column":null}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":60,"column":32},"end":{"line":60,"column":33}},"loc":{"start":{"line":60,"column":56},"end":{"line":62,"column":null}},"line":60},"7":{"name":"(anonymous_7)","decl":{"start":{"line":64,"column":32},"end":{"line":64,"column":33}},"loc":{"start":{"line":64,"column":56},"end":{"line":66,"column":null}},"line":64},"8":{"name":"(anonymous_8)","decl":{"start":{"line":68,"column":31},"end":{"line":68,"column":32}},"loc":{"start":{"line":68,"column":54},"end":{"line":70,"column":null}},"line":68},"9":{"name":"(anonymous_9)","decl":{"start":{"line":72,"column":33},"end":{"line":72,"column":34}},"loc":{"start":{"line":72,"column":62},"end":{"line":81,"column":null}},"line":72},"10":{"name":"(anonymous_10)","decl":{"start":{"line":83,"column":36},"end":{"line":83,"column":37}},"loc":{"start":{"line":88,"column":12},"end":{"line":99,"column":null}},"line":88}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":7,"column":6},"end":{"line":7,"column":27}},"type":"binary-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":7,"column":14}},{"start":{"line":7,"column":14},"end":{"line":7,"column":27}}],"line":7},"2":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},{"start":{},"end":{}}],"line":12},"3":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":25}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":13}},{"start":{"line":12,"column":13},"end":{"line":12,"column":25}}],"line":12},"4":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":17},"5":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":27}},"type":"binary-expr","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":14}},{"start":{"line":17,"column":14},"end":{"line":17,"column":27}}],"line":17},"6":{"loc":{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},{"start":{},"end":{}}],"line":22},"7":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},{"start":{},"end":{}}],"line":28},"8":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":34}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":20}},{"start":{"line":28,"column":20},"end":{"line":28,"column":34}}],"line":28},"9":{"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},{"start":{},"end":{}}],"line":45}},"s":{"0":1,"1":6,"2":6,"3":2,"4":4,"5":4,"6":1,"7":3,"8":3,"9":1,"10":2,"11":2,"12":1,"13":1,"14":1,"15":1,"16":0,"17":1,"18":1,"19":1,"20":1,"21":0,"22":1,"23":0,"24":1,"25":0,"26":0,"27":0,"28":0,"29":1,"30":0,"31":0,"32":0,"33":1,"34":1,"35":1,"36":0,"37":1,"38":0,"39":1,"40":1,"41":1,"42":1,"43":0,"44":0,"45":1,"46":1,"47":1,"48":0,"49":0},"f":{"0":6,"1":1,"2":0,"3":0,"4":0,"5":0,"6":1,"7":0,"8":0,"9":1,"10":1},"b":{"0":[2,4],"1":[6,2],"2":[1,3],"3":[4,1],"4":[1,2],"5":[3,1],"6":[1,1],"7":[0,1],"8":[1,1],"9":[0,0]},"meta":{"lastBranch":10,"lastFunction":11,"lastStatement":50,"seen":{"s:4:39:36:Infinity":0,"f:4:39:4:87":0,"s:6:15:6:Infinity":1,"b:7:2:9:Infinity:undefined:undefined:undefined:undefined":0,"s:7:2:9:Infinity":2,"b:7:6:7:14:7:14:7:27":1,"s:8:4:8:Infinity":3,"s:11:14:11:Infinity":4,"b:12:2:14:Infinity:undefined:undefined:undefined:undefined":2,"s:12:2:14:Infinity":5,"b:12:6:12:13:12:13:12:25":3,"s:13:4:13:Infinity":6,"s:16:15:16:Infinity":7,"b:17:2:19:Infinity:undefined:undefined:undefined:undefined":4,"s:17:2:19:Infinity":8,"b:17:6:17:14:17:14:17:27":5,"s:18:4:18:Infinity":9,"s:21:16:21:Infinity":10,"b:22:2:24:Infinity:undefined:undefined:undefined:undefined":6,"s:22:2:24:Infinity":11,"s:23:4:23:Infinity":12,"s:26:2:33:Infinity":13,"s:27:21:27:Infinity":14,"b:28:4:30:Infinity:undefined:undefined:undefined:undefined":7,"s:28:4:30:Infinity":15,"b:28:8:28:20:28:20:28:34":8,"s:29:6:29:Infinity":16,"s:35:2:35:Infinity":17,"s:39:32:39:Infinity":18,"f:39:32:39:46":1,"s:39:46:39:Infinity":19,"s:40:32:40:Infinity":20,"f:40:32:40:46":2,"s:40:46:40:Infinity":21,"s:41:31:41:Infinity":22,"f:41:31:41:45":3,"s:41:45:41:Infinity":23,"s:43:33:49:Infinity":24,"f:43:33:43:54":4,"s:44:16:44:Infinity":25,"b:45:2:47:Infinity:undefined:undefined:undefined:undefined":9,"s:45:2:47:Infinity":26,"s:46:4:46:Infinity":27,"s:48:2:48:Infinity":28,"s:51:36:57:Infinity":29,"f:51:36:51:81":5,"s:52:2:56:Infinity":30,"s:53:4:53:Infinity":31,"s:55:4:55:Infinity":32,"s:60:32:62:Infinity":33,"f:60:32:60:33":6,"s:61:2:61:Infinity":34,"s:64:32:66:Infinity":35,"f:64:32:64:33":7,"s:65:2:65:Infinity":36,"s:68:31:70:Infinity":37,"f:68:31:68:32":8,"s:69:2:69:Infinity":38,"s:72:33:81:Infinity":39,"f:72:33:72:34":9,"s:73:2:80:Infinity":40,"s:75:18:75:Infinity":41,"s:76:4:76:Infinity":42,"s:78:4:78:Infinity":43,"s:79:4:79:Infinity":44,"s:83:36:99:Infinity":45,"f:83:36:83:37":10,"s:89:2:98:Infinity":46,"s:91:4:94:Infinity":47,"s:96:4:96:Infinity":48,"s:97:4:97:Infinity":49}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts","statementMap":{"0":{"start":{"line":5,"column":35},"end":{"line":48,"column":null}},"1":{"start":{"line":6,"column":2},"end":{"line":47,"column":null}},"2":{"start":{"line":7,"column":24},"end":{"line":7,"column":null}},"3":{"start":{"line":8,"column":36},"end":{"line":8,"column":null}},"4":{"start":{"line":10,"column":4},"end":{"line":41,"column":null}},"5":{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},"6":{"start":{"line":11,"column":31},"end":{"line":11,"column":null}},"7":{"start":{"line":13,"column":6},"end":{"line":40,"column":null}},"8":{"start":{"line":14,"column":22},"end":{"line":14,"column":null}},"9":{"start":{"line":17,"column":8},"end":{"line":36,"column":null}},"10":{"start":{"line":18,"column":51},"end":{"line":18,"column":null}},"11":{"start":{"line":21,"column":10},"end":{"line":27,"column":null}},"12":{"start":{"line":22,"column":12},"end":{"line":26,"column":null}},"13":{"start":{"line":23,"column":14},"end":{"line":25,"column":null}},"14":{"start":{"line":24,"column":16},"end":{"line":24,"column":null}},"15":{"start":{"line":29,"column":10},"end":{"line":35,"column":null}},"16":{"start":{"line":30,"column":12},"end":{"line":34,"column":null}},"17":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"18":{"start":{"line":43,"column":4},"end":{"line":43,"column":null}},"19":{"start":{"line":45,"column":4},"end":{"line":45,"column":null}},"20":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"21":{"start":{"line":50,"column":35},"end":{"line":158,"column":null}},"22":{"start":{"line":51,"column":2},"end":{"line":157,"column":null}},"23":{"start":{"line":52,"column":22},"end":{"line":52,"column":null}},"24":{"start":{"line":53,"column":18},"end":{"line":53,"column":null}},"25":{"start":{"line":55,"column":4},"end":{"line":153,"column":null}},"26":{"start":{"line":56,"column":19},"end":{"line":56,"column":null}},"27":{"start":{"line":56,"column":37},"end":{"line":56,"column":52}},"28":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"29":{"start":{"line":57,"column":17},"end":{"line":57,"column":null}},"30":{"start":{"line":60,"column":32},"end":{"line":62,"column":null}},"31":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"32":{"start":{"line":61,"column":43},"end":{"line":61,"column":66}},"33":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"34":{"start":{"line":64,"column":42},"end":{"line":64,"column":null}},"35":{"start":{"line":67,"column":30},"end":{"line":67,"column":null}},"36":{"start":{"line":68,"column":25},"end":{"line":68,"column":null}},"37":{"start":{"line":71,"column":20},"end":{"line":71,"column":null}},"38":{"start":{"line":74,"column":21},"end":{"line":74,"column":null}},"39":{"start":{"line":76,"column":6},"end":{"line":147,"column":null}},"40":{"start":{"line":78,"column":8},"end":{"line":78,"column":null}},"41":{"start":{"line":81,"column":94},"end":{"line":81,"column":null}},"42":{"start":{"line":83,"column":8},"end":{"line":102,"column":null}},"43":{"start":{"line":84,"column":28},"end":{"line":84,"column":null}},"44":{"start":{"line":85,"column":31},"end":{"line":85,"column":null}},"45":{"start":{"line":86,"column":32},"end":{"line":86,"column":null}},"46":{"start":{"line":86,"column":67},"end":{"line":86,"column":75}},"47":{"start":{"line":89,"column":35},"end":{"line":89,"column":null}},"48":{"start":{"line":90,"column":22},"end":{"line":90,"column":null}},"49":{"start":{"line":91,"column":10},"end":{"line":99,"column":null}},"50":{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},"51":{"start":{"line":93,"column":14},"end":{"line":93,"column":null}},"52":{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},"53":{"start":{"line":96,"column":16},"end":{"line":96,"column":null}},"54":{"start":{"line":101,"column":10},"end":{"line":101,"column":null}},"55":{"start":{"line":105,"column":8},"end":{"line":146,"column":null}},"56":{"start":{"line":105,"column":44},"end":{"line":105,"column":64}},"57":{"start":{"line":107,"column":10},"end":{"line":145,"column":null}},"58":{"start":{"line":112,"column":12},"end":{"line":112,"column":null}},"59":{"start":{"line":112,"column":57},"end":{"line":112,"column":76}},"60":{"start":{"line":115,"column":41},"end":{"line":141,"column":null}},"61":{"start":{"line":116,"column":14},"end":{"line":116,"column":null}},"62":{"start":{"line":116,"column":45},"end":{"line":116,"column":null}},"63":{"start":{"line":117,"column":14},"end":{"line":124,"column":null}},"64":{"start":{"line":118,"column":36},"end":{"line":118,"column":null}},"65":{"start":{"line":119,"column":16},"end":{"line":123,"column":null}},"66":{"start":{"line":121,"column":39},"end":{"line":121,"column":null}},"67":{"start":{"line":122,"column":18},"end":{"line":122,"column":null}},"68":{"start":{"line":127,"column":39},"end":{"line":127,"column":null}},"69":{"start":{"line":128,"column":39},"end":{"line":128,"column":null}},"70":{"start":{"line":129,"column":45},"end":{"line":129,"column":null}},"71":{"start":{"line":131,"column":14},"end":{"line":138,"column":null}},"72":{"start":{"line":132,"column":16},"end":{"line":137,"column":null}},"73":{"start":{"line":134,"column":39},"end":{"line":134,"column":null}},"74":{"start":{"line":135,"column":30},"end":{"line":135,"column":null}},"75":{"start":{"line":136,"column":18},"end":{"line":136,"column":null}},"76":{"start":{"line":140,"column":14},"end":{"line":140,"column":null}},"77":{"start":{"line":143,"column":33},"end":{"line":143,"column":null}},"78":{"start":{"line":144,"column":12},"end":{"line":144,"column":null}},"79":{"start":{"line":144,"column":42},"end":{"line":144,"column":61}},"80":{"start":{"line":150,"column":6},"end":{"line":152,"column":null}},"81":{"start":{"line":151,"column":8},"end":{"line":151,"column":null}},"82":{"start":{"line":155,"column":4},"end":{"line":155,"column":null}},"83":{"start":{"line":156,"column":4},"end":{"line":156,"column":null}},"84":{"start":{"line":160,"column":38},"end":{"line":176,"column":null}},"85":{"start":{"line":161,"column":2},"end":{"line":175,"column":null}},"86":{"start":{"line":162,"column":24},"end":{"line":162,"column":null}},"87":{"start":{"line":163,"column":18},"end":{"line":163,"column":null}},"88":{"start":{"line":164,"column":22},"end":{"line":164,"column":null}},"89":{"start":{"line":166,"column":4},"end":{"line":171,"column":null}},"90":{"start":{"line":173,"column":4},"end":{"line":173,"column":null}},"91":{"start":{"line":174,"column":4},"end":{"line":174,"column":null}},"92":{"start":{"line":178,"column":38},"end":{"line":186,"column":null}},"93":{"start":{"line":179,"column":2},"end":{"line":185,"column":null}},"94":{"start":{"line":181,"column":4},"end":{"line":181,"column":null}},"95":{"start":{"line":183,"column":4},"end":{"line":183,"column":null}},"96":{"start":{"line":184,"column":4},"end":{"line":184,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":35},"end":{"line":5,"column":42}},"loc":{"start":{"line":5,"column":84},"end":{"line":48,"column":null}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":49},"end":{"line":22,"column":50}},"loc":{"start":{"line":22,"column":73},"end":{"line":26,"column":13}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":35},"end":{"line":50,"column":42}},"loc":{"start":{"line":50,"column":80},"end":{"line":158,"column":null}},"line":50},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":30},"end":{"line":56,"column":31}},"loc":{"start":{"line":56,"column":37},"end":{"line":56,"column":52}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":47},"end":{"line":60,"column":48}},"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":32},"end":{"line":61,"column":33}},"loc":{"start":{"line":61,"column":43},"end":{"line":61,"column":66}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":86,"column":60},"end":{"line":86,"column":61}},"loc":{"start":{"line":86,"column":67},"end":{"line":86,"column":75}},"line":86},"7":{"name":"(anonymous_7)","decl":{"start":{"line":105,"column":36},"end":{"line":105,"column":37}},"loc":{"start":{"line":105,"column":44},"end":{"line":105,"column":64}},"line":105},"8":{"name":"(anonymous_8)","decl":{"start":{"line":112,"column":48},"end":{"line":112,"column":49}},"loc":{"start":{"line":112,"column":57},"end":{"line":112,"column":76}},"line":112},"9":{"name":"(anonymous_9)","decl":{"start":{"line":115,"column":41},"end":{"line":115,"column":42}},"loc":{"start":{"line":115,"column":95},"end":{"line":141,"column":null}},"line":115},"10":{"name":"(anonymous_10)","decl":{"start":{"line":119,"column":46},"end":{"line":119,"column":47}},"loc":{"start":{"line":119,"column":57},"end":{"line":123,"column":17}},"line":119},"11":{"name":"(anonymous_11)","decl":{"start":{"line":144,"column":33},"end":{"line":144,"column":34}},"loc":{"start":{"line":144,"column":42},"end":{"line":144,"column":61}},"line":144},"12":{"name":"(anonymous_12)","decl":{"start":{"line":160,"column":38},"end":{"line":160,"column":50}},"loc":{"start":{"line":160,"column":50},"end":{"line":176,"column":null}},"line":160},"13":{"name":"(anonymous_13)","decl":{"start":{"line":178,"column":38},"end":{"line":178,"column":45}},"loc":{"start":{"line":178,"column":61},"end":{"line":186,"column":null}},"line":178}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},"type":"if","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":21,"column":10},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":21,"column":10},"end":{"line":27,"column":null}},{"start":{},"end":{}}],"line":21},"2":{"loc":{"start":{"line":23,"column":14},"end":{"line":25,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":14},"end":{"line":25,"column":null}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":23,"column":18},"end":{"line":23,"column":86}},"type":"binary-expr","locations":[{"start":{"line":23,"column":18},"end":{"line":23,"column":41}},{"start":{"line":23,"column":41},"end":{"line":23,"column":59}},{"start":{"line":23,"column":59},"end":{"line":23,"column":86}}],"line":23},"4":{"loc":{"start":{"line":29,"column":10},"end":{"line":35,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":10},"end":{"line":35,"column":null}},{"start":{},"end":{}}],"line":29},"5":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},{"start":{},"end":{}}],"line":57},"6":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},{"start":{},"end":{}}],"line":64},"7":{"loc":{"start":{"line":76,"column":6},"end":{"line":147,"column":null}},"type":"if","locations":[{"start":{"line":76,"column":6},"end":{"line":147,"column":null}},{"start":{"line":79,"column":13},"end":{"line":147,"column":null}}],"line":76},"8":{"loc":{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},{"start":{},"end":{}}],"line":92},"9":{"loc":{"start":{"line":92,"column":16},"end":{"line":92,"column":66}},"type":"binary-expr","locations":[{"start":{"line":92,"column":16},"end":{"line":92,"column":43}},{"start":{"line":92,"column":43},"end":{"line":92,"column":66}}],"line":92},"10":{"loc":{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},"type":"if","locations":[{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},{"start":{},"end":{}}],"line":95},"11":{"loc":{"start":{"line":105,"column":8},"end":{"line":146,"column":null}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":146,"column":null}},{"start":{},"end":{}}],"line":105},"12":{"loc":{"start":{"line":107,"column":10},"end":{"line":145,"column":null}},"type":"if","locations":[{"start":{"line":107,"column":10},"end":{"line":145,"column":null}},{"start":{"line":113,"column":17},"end":{"line":145,"column":null}}],"line":107},"13":{"loc":{"start":{"line":108,"column":12},"end":{"line":110,"column":null}},"type":"binary-expr","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":null}},{"start":{"line":109,"column":12},"end":{"line":109,"column":null}},{"start":{"line":110,"column":12},"end":{"line":110,"column":null}}],"line":108},"14":{"loc":{"start":{"line":116,"column":14},"end":{"line":116,"column":null}},"type":"if","locations":[{"start":{"line":116,"column":14},"end":{"line":116,"column":null}},{"start":{},"end":{}}],"line":116},"15":{"loc":{"start":{"line":117,"column":14},"end":{"line":124,"column":null}},"type":"if","locations":[{"start":{"line":117,"column":14},"end":{"line":124,"column":null}},{"start":{},"end":{}}],"line":117},"16":{"loc":{"start":{"line":121,"column":39},"end":{"line":121,"column":null}},"type":"cond-expr","locations":[{"start":{"line":121,"column":59},"end":{"line":121,"column":67}},{"start":{"line":121,"column":67},"end":{"line":121,"column":null}}],"line":121},"17":{"loc":{"start":{"line":134,"column":39},"end":{"line":134,"column":null}},"type":"cond-expr","locations":[{"start":{"line":134,"column":53},"end":{"line":134,"column":61}},{"start":{"line":134,"column":61},"end":{"line":134,"column":null}}],"line":134}},"s":{"0":1,"1":8,"2":8,"3":8,"4":8,"5":8,"6":1,"7":7,"8":7,"9":7,"10":7,"11":7,"12":5,"13":6,"14":6,"15":7,"16":5,"17":1,"18":8,"19":0,"20":0,"21":1,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":1,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":1,"93":0,"94":0,"95":0,"96":0},"f":{"0":8,"1":6,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[1,7],"1":[5,2],"2":[6,0],"3":[6,6,6],"4":[5,2],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0]},"meta":{"lastBranch":18,"lastFunction":14,"lastStatement":97,"seen":{"s:5:35:48:Infinity":0,"f:5:35:5:42":0,"s:6:2:47:Infinity":1,"s:7:24:7:Infinity":2,"s:8:36:8:Infinity":3,"s:10:4:41:Infinity":4,"b:11:6:11:Infinity:undefined:undefined:undefined:undefined":0,"s:11:6:11:Infinity":5,"s:11:31:11:Infinity":6,"s:13:6:40:Infinity":7,"s:14:22:14:Infinity":8,"s:17:8:36:Infinity":9,"s:18:51:18:Infinity":10,"b:21:10:27:Infinity:undefined:undefined:undefined:undefined":1,"s:21:10:27:Infinity":11,"s:22:12:26:Infinity":12,"f:22:49:22:50":1,"b:23:14:25:Infinity:undefined:undefined:undefined:undefined":2,"s:23:14:25:Infinity":13,"b:23:18:23:41:23:41:23:59:23:59:23:86":3,"s:24:16:24:Infinity":14,"b:29:10:35:Infinity:undefined:undefined:undefined:undefined":4,"s:29:10:35:Infinity":15,"s:30:12:34:Infinity":16,"s:38:8:38:Infinity":17,"s:43:4:43:Infinity":18,"s:45:4:45:Infinity":19,"s:46:4:46:Infinity":20,"s:50:35:158:Infinity":21,"f:50:35:50:42":2,"s:51:2:157:Infinity":22,"s:52:22:52:Infinity":23,"s:53:18:53:Infinity":24,"s:55:4:153:Infinity":25,"s:56:19:56:Infinity":26,"f:56:30:56:31":3,"s:56:37:56:52":27,"b:57:6:57:Infinity:undefined:undefined:undefined:undefined":5,"s:57:6:57:Infinity":28,"s:57:17:57:Infinity":29,"s:60:32:62:Infinity":30,"f:60:47:60:48":4,"s:61:8:61:Infinity":31,"f:61:32:61:33":5,"s:61:43:61:66":32,"b:64:6:64:Infinity:undefined:undefined:undefined:undefined":6,"s:64:6:64:Infinity":33,"s:64:42:64:Infinity":34,"s:67:30:67:Infinity":35,"s:68:25:68:Infinity":36,"s:71:20:71:Infinity":37,"s:74:21:74:Infinity":38,"b:76:6:147:Infinity:79:13:147:Infinity":7,"s:76:6:147:Infinity":39,"s:78:8:78:Infinity":40,"s:81:94:81:Infinity":41,"s:83:8:102:Infinity":42,"s:84:28:84:Infinity":43,"s:85:31:85:Infinity":44,"s:86:32:86:Infinity":45,"f:86:60:86:61":6,"s:86:67:86:75":46,"s:89:35:89:Infinity":47,"s:90:22:90:Infinity":48,"s:91:10:99:Infinity":49,"b:92:12:98:Infinity:undefined:undefined:undefined:undefined":8,"s:92:12:98:Infinity":50,"b:92:16:92:43:92:43:92:66":9,"s:93:14:93:Infinity":51,"b:95:14:97:Infinity:undefined:undefined:undefined:undefined":10,"s:95:14:97:Infinity":52,"s:96:16:96:Infinity":53,"s:101:10:101:Infinity":54,"b:105:8:146:Infinity:undefined:undefined:undefined:undefined":11,"s:105:8:146:Infinity":55,"f:105:36:105:37":7,"s:105:44:105:64":56,"b:107:10:145:Infinity:113:17:145:Infinity":12,"s:107:10:145:Infinity":57,"b:108:12:108:Infinity:109:12:109:Infinity:110:12:110:Infinity":13,"s:112:12:112:Infinity":58,"f:112:48:112:49":8,"s:112:57:112:76":59,"s:115:41:141:Infinity":60,"f:115:41:115:42":9,"b:116:14:116:Infinity:undefined:undefined:undefined:undefined":14,"s:116:14:116:Infinity":61,"s:116:45:116:Infinity":62,"b:117:14:124:Infinity:undefined:undefined:undefined:undefined":15,"s:117:14:124:Infinity":63,"s:118:36:118:Infinity":64,"s:119:16:123:Infinity":65,"f:119:46:119:47":10,"s:121:39:121:Infinity":66,"b:121:59:121:67:121:67:121:Infinity":16,"s:122:18:122:Infinity":67,"s:127:39:127:Infinity":68,"s:128:39:128:Infinity":69,"s:129:45:129:Infinity":70,"s:131:14:138:Infinity":71,"s:132:16:137:Infinity":72,"s:134:39:134:Infinity":73,"b:134:53:134:61:134:61:134:Infinity":17,"s:135:30:135:Infinity":74,"s:136:18:136:Infinity":75,"s:140:14:140:Infinity":76,"s:143:33:143:Infinity":77,"s:144:12:144:Infinity":78,"f:144:33:144:34":11,"s:144:42:144:61":79,"s:150:6:152:Infinity":80,"s:151:8:151:Infinity":81,"s:155:4:155:Infinity":82,"s:156:4:156:Infinity":83,"s:160:38:176:Infinity":84,"f:160:38:160:50":12,"s:161:2:175:Infinity":85,"s:162:24:162:Infinity":86,"s:163:18:163:Infinity":87,"s:164:22:164:Infinity":88,"s:166:4:171:Infinity":89,"s:173:4:173:Infinity":90,"s:174:4:174:Infinity":91,"s:178:38:186:Infinity":92,"f:178:38:178:45":13,"s:179:2:185:Infinity":93,"s:181:4:181:Infinity":94,"s:183:4:183:Infinity":95,"s:184:4:184:Infinity":96}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":11,"column":null}},"1":{"start":{"line":5,"column":2},"end":{"line":10,"column":null}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"5":{"start":{"line":13,"column":31},"end":{"line":20,"column":null}},"6":{"start":{"line":14,"column":2},"end":{"line":19,"column":null}},"7":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"8":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":22,"column":31},"end":{"line":29,"column":null}},"11":{"start":{"line":23,"column":2},"end":{"line":28,"column":null}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":null}},"13":{"start":{"line":26,"column":4},"end":{"line":26,"column":null}},"14":{"start":{"line":27,"column":4},"end":{"line":27,"column":null}},"15":{"start":{"line":31,"column":31},"end":{"line":38,"column":null}},"16":{"start":{"line":32,"column":2},"end":{"line":37,"column":null}},"17":{"start":{"line":33,"column":4},"end":{"line":33,"column":null}},"18":{"start":{"line":35,"column":4},"end":{"line":35,"column":null}},"19":{"start":{"line":36,"column":4},"end":{"line":36,"column":null}},"20":{"start":{"line":40,"column":33},"end":{"line":47,"column":null}},"21":{"start":{"line":41,"column":2},"end":{"line":46,"column":null}},"22":{"start":{"line":42,"column":4},"end":{"line":42,"column":null}},"23":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"24":{"start":{"line":45,"column":4},"end":{"line":45,"column":null}},"25":{"start":{"line":49,"column":31},"end":{"line":78,"column":null}},"26":{"start":{"line":50,"column":2},"end":{"line":77,"column":null}},"27":{"start":{"line":51,"column":29},"end":{"line":51,"column":null}},"28":{"start":{"line":54,"column":4},"end":{"line":58,"column":null}},"29":{"start":{"line":55,"column":6},"end":{"line":55,"column":null}},"30":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"31":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"32":{"start":{"line":62,"column":29},"end":{"line":62,"column":null}},"33":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}},"34":{"start":{"line":64,"column":4},"end":{"line":68,"column":null}},"35":{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},"36":{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},"37":{"start":{"line":70,"column":4},"end":{"line":73,"column":null}},"38":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"39":{"start":{"line":76,"column":4},"end":{"line":76,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":32},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":44},"end":{"line":11,"column":null}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":31},"end":{"line":13,"column":38}},"loc":{"start":{"line":13,"column":93},"end":{"line":20,"column":null}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":31},"end":{"line":22,"column":38}},"loc":{"start":{"line":22,"column":67},"end":{"line":29,"column":null}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":31},"end":{"line":31,"column":38}},"loc":{"start":{"line":31,"column":53},"end":{"line":38,"column":null}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":33},"end":{"line":40,"column":40}},"loc":{"start":{"line":40,"column":57},"end":{"line":47,"column":null}},"line":40},"5":{"name":"(anonymous_5)","decl":{"start":{"line":49,"column":31},"end":{"line":49,"column":38}},"loc":{"start":{"line":49,"column":79},"end":{"line":78,"column":null}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":62,"column":43},"end":{"line":62,"column":44}},"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"type":"binary-expr","locations":[{"start":{"line":61,"column":22},"end":{"line":61,"column":51}},{"start":{"line":61,"column":51},"end":{"line":61,"column":null}}],"line":61},"1":{"loc":{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},{"start":{},"end":{}}],"line":65}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":1,"6":0,"7":0,"8":0,"9":0,"10":1,"11":0,"12":0,"13":0,"14":0,"15":1,"16":0,"17":0,"18":0,"19":0,"20":1,"21":0,"22":0,"23":0,"24":0,"25":1,"26":6,"27":6,"28":6,"29":6,"30":1,"31":6,"32":6,"33":6,"34":6,"35":6,"36":3,"37":6,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":6,"6":6},"b":{"0":[6,2],"1":[3,3]},"meta":{"lastBranch":2,"lastFunction":7,"lastStatement":40,"seen":{"s:4:32:11:Infinity":0,"f:4:32:4:44":0,"s:5:2:10:Infinity":1,"s:6:4:6:Infinity":2,"s:8:4:8:Infinity":3,"s:9:4:9:Infinity":4,"s:13:31:20:Infinity":5,"f:13:31:13:38":1,"s:14:2:19:Infinity":6,"s:15:4:15:Infinity":7,"s:17:4:17:Infinity":8,"s:18:4:18:Infinity":9,"s:22:31:29:Infinity":10,"f:22:31:22:38":2,"s:23:2:28:Infinity":11,"s:24:4:24:Infinity":12,"s:26:4:26:Infinity":13,"s:27:4:27:Infinity":14,"s:31:31:38:Infinity":15,"f:31:31:31:38":3,"s:32:2:37:Infinity":16,"s:33:4:33:Infinity":17,"s:35:4:35:Infinity":18,"s:36:4:36:Infinity":19,"s:40:33:47:Infinity":20,"f:40:33:40:40":4,"s:41:2:46:Infinity":21,"s:42:4:42:Infinity":22,"s:44:4:44:Infinity":23,"s:45:4:45:Infinity":24,"s:49:31:78:Infinity":25,"f:49:31:49:38":5,"s:50:2:77:Infinity":26,"s:51:29:51:Infinity":27,"s:54:4:58:Infinity":28,"s:55:6:55:Infinity":29,"s:57:6:57:Infinity":30,"s:61:22:61:Infinity":31,"b:61:22:61:51:61:51:61:Infinity":0,"s:62:29:62:Infinity":32,"f:62:43:62:44":6,"s:62:54:62:72":33,"s:64:4:68:Infinity":34,"b:65:6:67:Infinity:undefined:undefined:undefined:undefined":1,"s:65:6:67:Infinity":35,"s:66:8:66:Infinity":36,"s:70:4:73:Infinity":37,"s:75:4:75:Infinity":38,"s:76:4:76:Infinity":39}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts","statementMap":{"0":{"start":{"line":9,"column":45},"end":{"line":9,"column":null}},"1":{"start":{"line":12,"column":4},"end":{"line":12,"column":null}},"2":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"3":{"start":{"line":19,"column":26},"end":{"line":19,"column":null}},"4":{"start":{"line":21,"column":4},"end":{"line":42,"column":null}},"5":{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"7":{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},"8":{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},"9":{"start":{"line":30,"column":8},"end":{"line":30,"column":null}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"11":{"start":{"line":34,"column":6},"end":{"line":34,"column":null}},"12":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"13":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"14":{"start":{"line":41,"column":6},"end":{"line":41,"column":null}},"15":{"start":{"line":49,"column":4},"end":{"line":74,"column":null}},"16":{"start":{"line":50,"column":20},"end":{"line":50,"column":null}},"17":{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},"18":{"start":{"line":52,"column":8},"end":{"line":52,"column":null}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"20":{"start":{"line":56,"column":25},"end":{"line":56,"column":null}},"21":{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},"22":{"start":{"line":58,"column":8},"end":{"line":58,"column":null}},"23":{"start":{"line":59,"column":8},"end":{"line":59,"column":null}},"24":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"25":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"26":{"start":{"line":68,"column":6},"end":{"line":68,"column":null}},"27":{"start":{"line":70,"column":6},"end":{"line":70,"column":null}},"28":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"29":{"start":{"line":73,"column":6},"end":{"line":73,"column":null}},"30":{"start":{"line":81,"column":4},"end":{"line":103,"column":null}},"31":{"start":{"line":83,"column":8},"end":{"line":83,"column":null}},"32":{"start":{"line":84,"column":8},"end":{"line":84,"column":null}},"33":{"start":{"line":86,"column":8},"end":{"line":86,"column":null}},"34":{"start":{"line":87,"column":8},"end":{"line":87,"column":null}},"35":{"start":{"line":89,"column":8},"end":{"line":89,"column":null}},"36":{"start":{"line":90,"column":8},"end":{"line":90,"column":null}},"37":{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},"38":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"39":{"start":{"line":95,"column":10},"end":{"line":95,"column":null}},"40":{"start":{"line":97,"column":8},"end":{"line":97,"column":null}},"41":{"start":{"line":99,"column":8},"end":{"line":99,"column":null}},"42":{"start":{"line":100,"column":8},"end":{"line":100,"column":null}},"43":{"start":{"line":102,"column":8},"end":{"line":102,"column":null}},"44":{"start":{"line":110,"column":4},"end":{"line":121,"column":null}},"45":{"start":{"line":111,"column":20},"end":{"line":111,"column":null}},"46":{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},"47":{"start":{"line":113,"column":8},"end":{"line":113,"column":null}},"48":{"start":{"line":116,"column":8},"end":{"line":116,"column":null}},"49":{"start":{"line":119,"column":6},"end":{"line":119,"column":null}},"50":{"start":{"line":120,"column":6},"end":{"line":120,"column":null}},"51":{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},"52":{"start":{"line":128,"column":26},"end":{"line":128,"column":null}},"53":{"start":{"line":130,"column":4},"end":{"line":145,"column":null}},"54":{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},"55":{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},"56":{"start":{"line":133,"column":10},"end":{"line":133,"column":null}},"57":{"start":{"line":135,"column":8},"end":{"line":135,"column":null}},"58":{"start":{"line":136,"column":8},"end":{"line":136,"column":null}},"59":{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},"60":{"start":{"line":138,"column":10},"end":{"line":138,"column":null}},"61":{"start":{"line":142,"column":6},"end":{"line":142,"column":null}},"62":{"start":{"line":144,"column":6},"end":{"line":144,"column":null}},"63":{"start":{"line":152,"column":4},"end":{"line":174,"column":null}},"64":{"start":{"line":153,"column":20},"end":{"line":153,"column":null}},"65":{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},"66":{"start":{"line":155,"column":8},"end":{"line":155,"column":null}},"67":{"start":{"line":156,"column":8},"end":{"line":156,"column":null}},"68":{"start":{"line":159,"column":24},"end":{"line":159,"column":null}},"69":{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},"70":{"start":{"line":161,"column":8},"end":{"line":161,"column":null}},"71":{"start":{"line":162,"column":8},"end":{"line":162,"column":null}},"72":{"start":{"line":166,"column":44},"end":{"line":166,"column":null}},"73":{"start":{"line":169,"column":6},"end":{"line":169,"column":null}},"74":{"start":{"line":171,"column":6},"end":{"line":171,"column":null}},"75":{"start":{"line":173,"column":6},"end":{"line":173,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":52},"end":{"line":13,"column":null}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":22}},"loc":{"start":{"line":18,"column":22},"end":{"line":43,"column":null}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":8},"end":{"line":48,"column":22}},"loc":{"start":{"line":48,"column":52},"end":{"line":75,"column":null}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":80,"column":10},"end":{"line":80,"column":30}},"loc":{"start":{"line":80,"column":53},"end":{"line":104,"column":null}},"line":80},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":10},"end":{"line":109,"column":24}},"loc":{"start":{"line":109,"column":47},"end":{"line":122,"column":null}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":127,"column":2},"end":{"line":127,"column":26}},"loc":{"start":{"line":127,"column":26},"end":{"line":146,"column":null}},"line":127},"6":{"name":"(anonymous_6)","decl":{"start":{"line":151,"column":8},"end":{"line":151,"column":43}},"loc":{"start":{"line":151,"column":43},"end":{"line":175,"column":null}},"line":151}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},{"start":{},"end":{}}],"line":23},"2":{"loc":{"start":{"line":23,"column":10},"end":{"line":23,"column":70}},"type":"binary-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":41}},{"start":{"line":23,"column":41},"end":{"line":23,"column":70}}],"line":23},"3":{"loc":{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37},"5":{"loc":{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},{"start":{},"end":{}}],"line":51},"6":{"loc":{"start":{"line":51,"column":10},"end":{"line":51,"column":43}},"type":"binary-expr","locations":[{"start":{"line":51,"column":10},"end":{"line":51,"column":20}},{"start":{"line":51,"column":20},"end":{"line":51,"column":43}}],"line":51},"7":{"loc":{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},{"start":{},"end":{}}],"line":57},"8":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":63,"column":10},"end":{"line":63,"column":61}},"type":"binary-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":63,"column":29}},{"start":{"line":63,"column":29},"end":{"line":63,"column":61}}],"line":63},"10":{"loc":{"start":{"line":81,"column":4},"end":{"line":103,"column":null}},"type":"switch","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":null}},{"start":{"line":85,"column":6},"end":{"line":87,"column":null}},{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},{"start":{"line":91,"column":6},"end":{"line":97,"column":null}},{"start":{"line":98,"column":6},"end":{"line":100,"column":null}},{"start":{"line":101,"column":6},"end":{"line":102,"column":null}}],"line":81},"11":{"loc":{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},{"start":{"line":94,"column":15},"end":{"line":96,"column":null}}],"line":92},"12":{"loc":{"start":{"line":92,"column":12},"end":{"line":92,"column":58}},"type":"binary-expr","locations":[{"start":{"line":92,"column":12},"end":{"line":92,"column":35}},{"start":{"line":92,"column":35},"end":{"line":92,"column":58}}],"line":92},"13":{"loc":{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},{"start":{"line":114,"column":13},"end":{"line":117,"column":null}}],"line":112},"14":{"loc":{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},{"start":{},"end":{}}],"line":128},"15":{"loc":{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},"type":"if","locations":[{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},{"start":{},"end":{}}],"line":131},"16":{"loc":{"start":{"line":131,"column":10},"end":{"line":131,"column":73}},"type":"binary-expr","locations":[{"start":{"line":131,"column":10},"end":{"line":131,"column":42}},{"start":{"line":131,"column":42},"end":{"line":131,"column":73}}],"line":131},"17":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},{"start":{},"end":{}}],"line":132},"18":{"loc":{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},"type":"if","locations":[{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},{"start":{},"end":{}}],"line":137},"19":{"loc":{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},"type":"if","locations":[{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},{"start":{},"end":{}}],"line":154},"20":{"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":40}},"type":"binary-expr","locations":[{"start":{"line":154,"column":10},"end":{"line":154,"column":20}},{"start":{"line":154,"column":20},"end":{"line":154,"column":40}}],"line":154},"21":{"loc":{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},"type":"if","locations":[{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},{"start":{},"end":{}}],"line":160}},"s":{"0":15,"1":11,"2":4,"3":1,"4":3,"5":3,"6":1,"7":1,"8":2,"9":1,"10":2,"11":2,"12":2,"13":0,"14":0,"15":4,"16":4,"17":4,"18":1,"19":1,"20":3,"21":3,"22":0,"23":0,"24":3,"25":3,"26":3,"27":3,"28":3,"29":0,"30":3,"31":2,"32":2,"33":1,"34":1,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":2,"52":0,"53":2,"54":2,"55":1,"56":0,"57":1,"58":1,"59":1,"60":0,"61":2,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0},"f":{"0":11,"1":4,"2":4,"3":3,"4":0,"5":2,"6":0},"b":{"0":[1,3],"1":[1,2],"2":[3,3],"3":[1,1],"4":[0,2],"5":[1,3],"6":[4,4],"7":[0,3],"8":[3,0],"9":[3,3],"10":[2,1,0,0,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,2],"15":[1,1],"16":[2,1],"17":[0,1],"18":[0,1],"19":[0,0],"20":[0,0],"21":[0,0]},"meta":{"lastBranch":22,"lastFunction":7,"lastStatement":76,"seen":{"s:9:45:9:Infinity":0,"f:11:2:11:16":0,"s:12:4:12:Infinity":1,"f:18:2:18:22":1,"b:19:4:19:Infinity:undefined:undefined:undefined:undefined":0,"s:19:4:19:Infinity":2,"s:19:26:19:Infinity":3,"s:21:4:42:Infinity":4,"b:23:6:26:Infinity:undefined:undefined:undefined:undefined":1,"s:23:6:26:Infinity":5,"b:23:10:23:41:23:41:23:70":2,"s:24:8:24:Infinity":6,"s:25:8:25:Infinity":7,"b:29:6:31:Infinity:undefined:undefined:undefined:undefined":3,"s:29:6:31:Infinity":8,"s:30:8:30:Infinity":9,"s:33:6:33:Infinity":10,"s:34:6:34:Infinity":11,"b:37:6:39:Infinity:undefined:undefined:undefined:undefined":4,"s:37:6:39:Infinity":12,"s:38:8:38:Infinity":13,"s:41:6:41:Infinity":14,"f:48:8:48:22":2,"s:49:4:74:Infinity":15,"s:50:20:50:Infinity":16,"b:51:6:54:Infinity:undefined:undefined:undefined:undefined":5,"s:51:6:54:Infinity":17,"b:51:10:51:20:51:20:51:43":6,"s:52:8:52:Infinity":18,"s:53:8:53:Infinity":19,"s:56:25:56:Infinity":20,"b:57:6:60:Infinity:undefined:undefined:undefined:undefined":7,"s:57:6:60:Infinity":21,"s:58:8:58:Infinity":22,"s:59:8:59:Infinity":23,"b:63:6:65:Infinity:undefined:undefined:undefined:undefined":8,"s:63:6:65:Infinity":24,"b:63:10:63:29:63:29:63:61":9,"s:64:8:64:Infinity":25,"s:68:6:68:Infinity":26,"s:70:6:70:Infinity":27,"s:71:6:71:Infinity":28,"s:73:6:73:Infinity":29,"f:80:10:80:30":3,"b:82:6:84:Infinity:85:6:87:Infinity:88:6:90:Infinity:91:6:97:Infinity:98:6:100:Infinity:101:6:102:Infinity":10,"s:81:4:103:Infinity":30,"s:83:8:83:Infinity":31,"s:84:8:84:Infinity":32,"s:86:8:86:Infinity":33,"s:87:8:87:Infinity":34,"s:89:8:89:Infinity":35,"s:90:8:90:Infinity":36,"b:92:8:96:Infinity:94:15:96:Infinity":11,"s:92:8:96:Infinity":37,"b:92:12:92:35:92:35:92:58":12,"s:93:10:93:Infinity":38,"s:95:10:95:Infinity":39,"s:97:8:97:Infinity":40,"s:99:8:99:Infinity":41,"s:100:8:100:Infinity":42,"s:102:8:102:Infinity":43,"f:109:10:109:24":4,"s:110:4:121:Infinity":44,"s:111:20:111:Infinity":45,"b:112:6:117:Infinity:114:13:117:Infinity":13,"s:112:6:117:Infinity":46,"s:113:8:113:Infinity":47,"s:116:8:116:Infinity":48,"s:119:6:119:Infinity":49,"s:120:6:120:Infinity":50,"f:127:2:127:26":5,"b:128:4:128:Infinity:undefined:undefined:undefined:undefined":14,"s:128:4:128:Infinity":51,"s:128:26:128:Infinity":52,"s:130:4:145:Infinity":53,"b:131:6:140:Infinity:undefined:undefined:undefined:undefined":15,"s:131:6:140:Infinity":54,"b:131:10:131:42:131:42:131:73":16,"b:132:8:134:Infinity:undefined:undefined:undefined:undefined":17,"s:132:8:134:Infinity":55,"s:133:10:133:Infinity":56,"s:135:8:135:Infinity":57,"s:136:8:136:Infinity":58,"b:137:8:139:Infinity:undefined:undefined:undefined:undefined":18,"s:137:8:139:Infinity":59,"s:138:10:138:Infinity":60,"s:142:6:142:Infinity":61,"s:144:6:144:Infinity":62,"f:151:8:151:43":6,"s:152:4:174:Infinity":63,"s:153:20:153:Infinity":64,"b:154:6:157:Infinity:undefined:undefined:undefined:undefined":19,"s:154:6:157:Infinity":65,"b:154:10:154:20:154:20:154:40":20,"s:155:8:155:Infinity":66,"s:156:8:156:Infinity":67,"s:159:24:159:Infinity":68,"b:160:6:163:Infinity:undefined:undefined:undefined:undefined":21,"s:160:6:163:Infinity":69,"s:161:8:161:Infinity":70,"s:162:8:162:Infinity":71,"s:166:44:166:Infinity":72,"s:169:6:169:Infinity":73,"s:171:6:171:Infinity":74,"s:173:6:173:Infinity":75}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts","statementMap":{"0":{"start":{"line":10,"column":21},"end":{"line":10,"column":null}},"1":{"start":{"line":11,"column":20},"end":{"line":11,"column":null}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"4":{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},"5":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"6":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"7":{"start":{"line":24,"column":4},"end":{"line":31,"column":null}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},"9":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":null}},"11":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":null}},"13":{"start":{"line":35,"column":4},"end":{"line":63,"column":null}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":null}},"15":{"start":{"line":39,"column":23},"end":{"line":39,"column":null}},"16":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},"17":{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},"18":{"start":{"line":43,"column":8},"end":{"line":43,"column":null}},"19":{"start":{"line":44,"column":8},"end":{"line":44,"column":null}},"20":{"start":{"line":47,"column":26},"end":{"line":47,"column":null}},"21":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"22":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"23":{"start":{"line":54,"column":6},"end":{"line":54,"column":null}},"24":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"25":{"start":{"line":60,"column":6},"end":{"line":60,"column":null}},"26":{"start":{"line":62,"column":6},"end":{"line":62,"column":null}},"27":{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},"28":{"start":{"line":68,"column":6},"end":{"line":70,"column":null}},"29":{"start":{"line":71,"column":6},"end":{"line":73,"column":null}},"30":{"start":{"line":72,"column":8},"end":{"line":72,"column":null}},"31":{"start":{"line":79,"column":29},"end":{"line":85,"column":null}},"32":{"start":{"line":87,"column":4},"end":{"line":96,"column":null}},"33":{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},"34":{"start":{"line":89,"column":8},"end":{"line":91,"column":null}},"35":{"start":{"line":92,"column":8},"end":{"line":94,"column":null}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"37":{"start":{"line":101,"column":32},"end":{"line":104,"column":null}},"38":{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},"39":{"start":{"line":107,"column":6},"end":{"line":109,"column":null}},"40":{"start":{"line":110,"column":6},"end":{"line":112,"column":null}},"41":{"start":{"line":111,"column":8},"end":{"line":111,"column":null}},"42":{"start":{"line":117,"column":25},"end":{"line":120,"column":null}},"43":{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},"44":{"start":{"line":123,"column":6},"end":{"line":125,"column":null}},"45":{"start":{"line":126,"column":6},"end":{"line":128,"column":null}},"46":{"start":{"line":127,"column":8},"end":{"line":127,"column":null}},"47":{"start":{"line":133,"column":4},"end":{"line":136,"column":null}},"48":{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},"49":{"start":{"line":138,"column":6},"end":{"line":138,"column":null}},"50":{"start":{"line":139,"column":6},"end":{"line":139,"column":null}},"51":{"start":{"line":140,"column":6},"end":{"line":140,"column":null}},"52":{"start":{"line":143,"column":4},"end":{"line":148,"column":null}},"53":{"start":{"line":144,"column":6},"end":{"line":144,"column":null}},"54":{"start":{"line":145,"column":6},"end":{"line":145,"column":null}},"55":{"start":{"line":147,"column":6},"end":{"line":147,"column":null}},"56":{"start":{"line":152,"column":4},"end":{"line":152,"column":null}},"57":{"start":{"line":157,"column":4},"end":{"line":157,"column":null}},"58":{"start":{"line":161,"column":4},"end":{"line":161,"column":null}},"59":{"start":{"line":165,"column":4},"end":{"line":165,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":16}},"loc":{"start":{"line":13,"column":52},"end":{"line":15,"column":null}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":8},"end":{"line":17,"column":36}},"loc":{"start":{"line":17,"column":36},"end":{"line":32,"column":null}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":8},"end":{"line":34,"column":41}},"loc":{"start":{"line":34,"column":41},"end":{"line":64,"column":null}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":10},"end":{"line":66,"column":36}},"loc":{"start":{"line":66,"column":56},"end":{"line":75,"column":null}},"line":66},"4":{"name":"(anonymous_4)","decl":{"start":{"line":71,"column":60},"end":{"line":71,"column":66}},"loc":{"start":{"line":71,"column":66},"end":{"line":73,"column":7}},"line":71},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":10},"end":{"line":77,"column":35}},"loc":{"start":{"line":77,"column":55},"end":{"line":97,"column":null}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":49},"end":{"line":92,"column":55}},"loc":{"start":{"line":92,"column":55},"end":{"line":94,"column":9}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":99,"column":10},"end":{"line":99,"column":38}},"loc":{"start":{"line":99,"column":58},"end":{"line":114,"column":null}},"line":99},"8":{"name":"(anonymous_8)","decl":{"start":{"line":110,"column":60},"end":{"line":110,"column":66}},"loc":{"start":{"line":110,"column":66},"end":{"line":112,"column":7}},"line":110},"9":{"name":"(anonymous_9)","decl":{"start":{"line":116,"column":10},"end":{"line":116,"column":31}},"loc":{"start":{"line":116,"column":51},"end":{"line":130,"column":null}},"line":116},"10":{"name":"(anonymous_10)","decl":{"start":{"line":126,"column":53},"end":{"line":126,"column":59}},"loc":{"start":{"line":126,"column":59},"end":{"line":128,"column":7}},"line":126},"11":{"name":"(anonymous_11)","decl":{"start":{"line":132,"column":8},"end":{"line":132,"column":43}},"loc":{"start":{"line":132,"column":43},"end":{"line":149,"column":null}},"line":132},"12":{"name":"(anonymous_12)","decl":{"start":{"line":151,"column":2},"end":{"line":151,"column":18}},"loc":{"start":{"line":151,"column":18},"end":{"line":153,"column":null}},"line":151},"13":{"name":"(anonymous_13)","decl":{"start":{"line":156,"column":2},"end":{"line":156,"column":32}},"loc":{"start":{"line":156,"column":32},"end":{"line":158,"column":null}},"line":156},"14":{"name":"(anonymous_14)","decl":{"start":{"line":160,"column":2},"end":{"line":160,"column":21}},"loc":{"start":{"line":160,"column":51},"end":{"line":162,"column":null}},"line":160},"15":{"name":"(anonymous_15)","decl":{"start":{"line":164,"column":6},"end":{"line":164,"column":31}},"loc":{"start":{"line":164,"column":31},"end":{"line":166,"column":null}},"line":164}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":67},"3":{"loc":{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},"type":"if","locations":[{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},{"start":{},"end":{}}],"line":88},"4":{"loc":{"start":{"line":101,"column":32},"end":{"line":104,"column":null}},"type":"binary-expr","locations":[{"start":{"line":101,"column":32},"end":{"line":101,"column":61}},{"start":{"line":101,"column":61},"end":{"line":104,"column":null}}],"line":101},"5":{"loc":{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},{"start":{},"end":{}}],"line":106},"6":{"loc":{"start":{"line":117,"column":25},"end":{"line":120,"column":null}},"type":"binary-expr","locations":[{"start":{"line":117,"column":25},"end":{"line":117,"column":48}},{"start":{"line":117,"column":48},"end":{"line":120,"column":null}}],"line":117},"7":{"loc":{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},"type":"if","locations":[{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},{"start":{},"end":{}}],"line":122},"8":{"loc":{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},"type":"if","locations":[{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},{"start":{},"end":{}}],"line":137}},"s":{"0":5,"1":5,"2":0,"3":6,"4":6,"5":1,"6":1,"7":5,"8":5,"9":5,"10":5,"11":5,"12":0,"13":6,"14":6,"15":6,"16":6,"17":6,"18":5,"19":5,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":0,"27":1,"28":1,"29":1,"30":0,"31":1,"32":1,"33":5,"34":1,"35":1,"36":0,"37":1,"38":1,"39":0,"40":0,"41":0,"42":1,"43":1,"44":0,"45":0,"46":0,"47":1,"48":1,"49":0,"50":0,"51":0,"52":1,"53":1,"54":1,"55":0,"56":1,"57":0,"58":0,"59":2},"f":{"0":0,"1":6,"2":6,"3":1,"4":0,"5":1,"6":0,"7":1,"8":0,"9":1,"10":0,"11":1,"12":1,"13":0,"14":0,"15":2},"b":{"0":[1,5],"1":[5,1],"2":[1,0],"3":[1,4],"4":[1,0],"5":[0,1],"6":[1,0],"7":[0,1],"8":[0,1]},"meta":{"lastBranch":9,"lastFunction":16,"lastStatement":60,"seen":{"s:10:21:10:Infinity":0,"s:11:20:11:Infinity":1,"f:13:2:13:16":0,"s:14:4:14:Infinity":2,"f:17:8:17:36":1,"s:18:4:18:Infinity":3,"b:19:4:22:Infinity:undefined:undefined:undefined:undefined":0,"s:19:4:22:Infinity":4,"s:20:6:20:Infinity":5,"s:21:6:21:Infinity":6,"s:24:4:31:Infinity":7,"s:25:6:25:Infinity":8,"s:26:6:26:Infinity":9,"s:27:6:27:Infinity":10,"s:28:6:28:Infinity":11,"s:30:6:30:Infinity":12,"f:34:8:34:41":2,"s:35:4:63:Infinity":13,"s:37:6:37:Infinity":14,"s:39:23:39:Infinity":15,"s:40:6:40:Infinity":16,"b:42:6:45:Infinity:undefined:undefined:undefined:undefined":1,"s:42:6:45:Infinity":17,"s:43:8:43:Infinity":18,"s:44:8:44:Infinity":19,"s:47:26:47:Infinity":20,"s:48:6:48:Infinity":21,"s:51:6:51:Infinity":22,"s:54:6:54:Infinity":23,"s:57:6:57:Infinity":24,"s:60:6:60:Infinity":25,"s:62:6:62:Infinity":26,"f:66:10:66:36":3,"b:67:4:74:Infinity:undefined:undefined:undefined:undefined":2,"s:67:4:74:Infinity":27,"s:68:6:70:Infinity":28,"s:71:6:73:Infinity":29,"f:71:60:71:66":4,"s:72:8:72:Infinity":30,"f:77:10:77:35":5,"s:79:29:85:Infinity":31,"s:87:4:96:Infinity":32,"b:88:6:95:Infinity:undefined:undefined:undefined:undefined":3,"s:88:6:95:Infinity":33,"s:89:8:91:Infinity":34,"s:92:8:94:Infinity":35,"f:92:49:92:55":6,"s:93:10:93:Infinity":36,"f:99:10:99:38":7,"s:101:32:104:Infinity":37,"b:101:32:101:61:101:61:104:Infinity":4,"b:106:4:113:Infinity:undefined:undefined:undefined:undefined":5,"s:106:4:113:Infinity":38,"s:107:6:109:Infinity":39,"s:110:6:112:Infinity":40,"f:110:60:110:66":8,"s:111:8:111:Infinity":41,"f:116:10:116:31":9,"s:117:25:120:Infinity":42,"b:117:25:117:48:117:48:120:Infinity":6,"b:122:4:129:Infinity:undefined:undefined:undefined:undefined":7,"s:122:4:129:Infinity":43,"s:123:6:125:Infinity":44,"s:126:6:128:Infinity":45,"f:126:53:126:59":10,"s:127:8:127:Infinity":46,"f:132:8:132:43":11,"s:133:4:136:Infinity":47,"b:137:4:141:Infinity:undefined:undefined:undefined:undefined":8,"s:137:4:141:Infinity":48,"s:138:6:138:Infinity":49,"s:139:6:139:Infinity":50,"s:140:6:140:Infinity":51,"s:143:4:148:Infinity":52,"s:144:6:144:Infinity":53,"s:145:6:145:Infinity":54,"s:147:6:147:Infinity":55,"f:151:2:151:18":12,"s:152:4:152:Infinity":56,"f:156:2:156:32":13,"s:157:4:157:Infinity":57,"f:160:2:160:21":14,"s:161:4:161:Infinity":58,"f:164:6:164:31":15,"s:165:4:165:Infinity":59}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts","statementMap":{"0":{"start":{"line":8,"column":39},"end":{"line":11,"column":null}},"1":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"3":{"start":{"line":25,"column":4},"end":{"line":44,"column":null}},"4":{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},"5":{"start":{"line":28,"column":8},"end":{"line":28,"column":null}},"6":{"start":{"line":29,"column":8},"end":{"line":29,"column":null}},"7":{"start":{"line":32,"column":22},"end":{"line":32,"column":null}},"8":{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},"9":{"start":{"line":34,"column":8},"end":{"line":34,"column":null}},"10":{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},"11":{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},"12":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"13":{"start":{"line":39,"column":8},"end":{"line":39,"column":null}},"14":{"start":{"line":42,"column":6},"end":{"line":42,"column":null}},"15":{"start":{"line":43,"column":6},"end":{"line":43,"column":null}},"16":{"start":{"line":51,"column":4},"end":{"line":57,"column":null}},"17":{"start":{"line":52,"column":6},"end":{"line":56,"column":null}},"18":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"19":{"start":{"line":55,"column":8},"end":{"line":55,"column":null}},"20":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"21":{"start":{"line":65,"column":4},"end":{"line":65,"column":null}},"22":{"start":{"line":72,"column":4},"end":{"line":72,"column":null}},"23":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"24":{"start":{"line":80,"column":4},"end":{"line":80,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":6},"end":{"line":13,"column":31}},"loc":{"start":{"line":13,"column":31},"end":{"line":15,"column":null}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":17}},"loc":{"start":{"line":17,"column":39},"end":{"line":19,"column":null}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":17}},"loc":{"start":{"line":24,"column":69},"end":{"line":45,"column":null}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":31}},"loc":{"start":{"line":50,"column":31},"end":{"line":59,"column":null}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":38},"end":{"line":51,"column":39}},"loc":{"start":{"line":51,"column":55},"end":{"line":57,"column":5}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":64,"column":2},"end":{"line":64,"column":32}},"loc":{"start":{"line":64,"column":32},"end":{"line":66,"column":null}},"line":64},"6":{"name":"(anonymous_6)","decl":{"start":{"line":71,"column":2},"end":{"line":71,"column":21}},"loc":{"start":{"line":71,"column":51},"end":{"line":73,"column":null}},"line":71},"7":{"name":"(anonymous_7)","decl":{"start":{"line":78,"column":2},"end":{"line":78,"column":18}},"loc":{"start":{"line":78,"column":18},"end":{"line":81,"column":null}},"line":78}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},{"start":{},"end":{}}],"line":27},"1":{"loc":{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},{"start":{"line":37,"column":13},"end":{"line":40,"column":null}}],"line":33}},"s":{"0":13,"1":11,"2":6,"3":12,"4":12,"5":1,"6":1,"7":11,"8":11,"9":10,"10":10,"11":10,"12":1,"13":1,"14":0,"15":0,"16":9,"17":3,"18":3,"19":0,"20":9,"21":3,"22":2,"23":2,"24":2},"f":{"0":11,"1":6,"2":12,"3":9,"4":3,"5":3,"6":2,"7":2},"b":{"0":[1,11],"1":[10,1]},"meta":{"lastBranch":2,"lastFunction":8,"lastStatement":25,"seen":{"s:8:39:11:Infinity":0,"f:13:6:13:31":0,"s:14:4:14:Infinity":1,"f:17:2:17:17":1,"s:18:4:18:Infinity":2,"f:24:2:24:17":2,"s:25:4:44:Infinity":3,"b:27:6:30:Infinity:undefined:undefined:undefined:undefined":0,"s:27:6:30:Infinity":4,"s:28:8:28:Infinity":5,"s:29:8:29:Infinity":6,"s:32:22:32:Infinity":7,"b:33:6:40:Infinity:37:13:40:Infinity":1,"s:33:6:40:Infinity":8,"s:34:8:34:Infinity":9,"s:35:8:35:Infinity":10,"s:36:8:36:Infinity":11,"s:38:8:38:Infinity":12,"s:39:8:39:Infinity":13,"s:42:6:42:Infinity":14,"s:43:6:43:Infinity":15,"f:50:2:50:31":3,"s:51:4:57:Infinity":16,"f:51:38:51:39":4,"s:52:6:56:Infinity":17,"s:53:8:53:Infinity":18,"s:55:8:55:Infinity":19,"s:58:4:58:Infinity":20,"f:64:2:64:32":5,"s:65:4:65:Infinity":21,"f:71:2:71:21":6,"s:72:4:72:Infinity":22,"f:78:2:78:18":7,"s:79:4:79:Infinity":23,"s:80:4:80:Infinity":24}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts","statementMap":{"0":{"start":{"line":4,"column":55},"end":{"line":38,"column":null}},"1":{"start":{"line":40,"column":46},"end":{"line":52,"column":null}},"2":{"start":{"line":54,"column":37},"end":{"line":61,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":3,"seen":{"s:4:55:38:Infinity":0,"s:40:46:52:Infinity":1,"s:54:37:61:Infinity":2}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts","statementMap":{"0":{"start":{"line":8,"column":19},"end":{"line":8,"column":null}},"1":{"start":{"line":10,"column":2},"end":{"line":39,"column":null}},"2":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}},"3":{"start":{"line":15,"column":26},"end":{"line":15,"column":null}},"4":{"start":{"line":18,"column":4},"end":{"line":22,"column":null}},"5":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":null}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":null}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":null}},"9":{"start":{"line":31,"column":4},"end":{"line":35,"column":null}},"10":{"start":{"line":32,"column":6},"end":{"line":32,"column":null}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":null}},"12":{"start":{"line":38,"column":4},"end":{"line":38,"column":null}},"13":{"start":{"line":46,"column":2},"end":{"line":67,"column":null}},"14":{"start":{"line":48,"column":4},"end":{"line":48,"column":null}},"15":{"start":{"line":51,"column":26},"end":{"line":51,"column":null}},"16":{"start":{"line":54,"column":28},"end":{"line":54,"column":null}},"17":{"start":{"line":55,"column":21},"end":{"line":55,"column":null}},"18":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"19":{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},"20":{"start":{"line":62,"column":6},"end":{"line":62,"column":null}},"21":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"22":{"start":{"line":65,"column":6},"end":{"line":65,"column":null}},"23":{"start":{"line":74,"column":2},"end":{"line":74,"column":null}},"24":{"start":{"line":81,"column":2},"end":{"line":81,"column":null}}},"fnMap":{"0":{"name":"saveToFile","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":33}},"loc":{"start":{"line":7,"column":86},"end":{"line":40,"column":null}},"line":7},"1":{"name":"loadFromFile","decl":{"start":{"line":45,"column":22},"end":{"line":45,"column":35}},"loc":{"start":{"line":45,"column":76},"end":{"line":68,"column":null}},"line":45},"2":{"name":"ensureDataDirectory","decl":{"start":{"line":73,"column":22},"end":{"line":73,"column":42}},"loc":{"start":{"line":73,"column":75},"end":{"line":75,"column":null}},"line":73},"3":{"name":"isEncryptionAvailable","decl":{"start":{"line":80,"column":16},"end":{"line":80,"column":49}},"loc":{"start":{"line":80,"column":49},"end":{"line":82,"column":null}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},{"start":{"line":63,"column":11},"end":{"line":66,"column":null}}],"line":60}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":2,"14":2,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":0,"22":0,"23":1,"24":1},"f":{"0":2,"1":2,"2":1,"3":1},"b":{"0":[1,0]},"meta":{"lastBranch":1,"lastFunction":4,"lastStatement":25,"seen":{"f:7:22:7:33":0,"s:8:19:8:Infinity":0,"s:10:2:39:Infinity":1,"s:12:21:12:Infinity":2,"s:15:26:15:Infinity":3,"s:18:4:22:Infinity":4,"s:19:6:19:Infinity":5,"s:25:4:25:Infinity":6,"s:26:4:26:Infinity":7,"s:28:4:28:Infinity":8,"s:31:4:35:Infinity":9,"s:32:6:32:Infinity":10,"s:37:4:37:Infinity":11,"s:38:4:38:Infinity":12,"f:45:22:45:35":1,"s:46:2:67:Infinity":13,"s:48:4:48:Infinity":14,"s:51:26:51:Infinity":15,"s:54:28:54:Infinity":16,"s:55:21:55:Infinity":17,"s:58:4:58:Infinity":18,"b:60:4:66:Infinity:63:11:66:Infinity":0,"s:60:4:66:Infinity":19,"s:62:6:62:Infinity":20,"s:64:6:64:Infinity":21,"s:65:6:65:Infinity":22,"f:73:22:73:42":2,"s:74:2:74:Infinity":23,"f:80:16:80:49":3,"s:81:2:81:Infinity":24}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts","statementMap":{"0":{"start":{"line":9,"column":32},"end":{"line":9,"column":null}},"1":{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},"2":{"start":{"line":13,"column":4},"end":{"line":16,"column":null}},"3":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"4":{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},"5":{"start":{"line":21,"column":4},"end":{"line":24,"column":null}},"6":{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},"7":{"start":{"line":29,"column":4},"end":{"line":38,"column":null}},"8":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"9":{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},"10":{"start":{"line":43,"column":4},"end":{"line":53,"column":null}},"11":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"12":{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},"13":{"start":{"line":58,"column":4},"end":{"line":68,"column":null}},"14":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"15":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"16":{"start":{"line":73,"column":4},"end":{"line":73,"column":null}},"17":{"start":{"line":76,"column":2},"end":{"line":76,"column":null}}},"fnMap":{"0":{"name":"migrateData","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":48},"end":{"line":77,"column":null}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":6},"end":{"line":14,"column":7}},"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":6},"end":{"line":30,"column":7}},"loc":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":6},"end":{"line":44,"column":7}},"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":6},"end":{"line":59,"column":7}},"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":47}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":20}},{"start":{"line":12,"column":20},"end":{"line":12,"column":47}}],"line":12},"2":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":22}},{"start":{"line":15,"column":22},"end":{"line":15,"column":60}},{"start":{"line":15,"column":60},"end":{"line":15,"column":null}}],"line":15},"3":{"loc":{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},{"start":{},"end":{}}],"line":20},"4":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":58}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":23}},{"start":{"line":20,"column":23},"end":{"line":20,"column":58}}],"line":20},"5":{"loc":{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":28},"6":{"loc":{"start":{"line":28,"column":6},"end":{"line":28,"column":55}},"type":"binary-expr","locations":[{"start":{"line":28,"column":6},"end":{"line":28,"column":24}},{"start":{"line":28,"column":24},"end":{"line":28,"column":55}}],"line":28},"7":{"loc":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},{"start":{"line":32,"column":8},"end":{"line":32,"column":null}},{"start":{"line":33,"column":8},"end":{"line":33,"column":null}},{"start":{"line":34,"column":8},"end":{"line":34,"column":null}},{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},{"start":{"line":37,"column":8},"end":{"line":37,"column":null}}],"line":31},"8":{"loc":{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":42,"column":6},"end":{"line":42,"column":59}},"type":"binary-expr","locations":[{"start":{"line":42,"column":6},"end":{"line":42,"column":26}},{"start":{"line":42,"column":26},"end":{"line":42,"column":59}}],"line":42},"10":{"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":null}},{"start":{"line":46,"column":8},"end":{"line":46,"column":null}},{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},{"start":{"line":48,"column":8},"end":{"line":48,"column":null}},{"start":{"line":49,"column":8},"end":{"line":49,"column":null}},{"start":{"line":50,"column":8},"end":{"line":50,"column":null}},{"start":{"line":51,"column":8},"end":{"line":51,"column":null}},{"start":{"line":52,"column":8},"end":{"line":52,"column":null}}],"line":45},"11":{"loc":{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":57},"12":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":57}},"type":"binary-expr","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":25}},{"start":{"line":57,"column":25},"end":{"line":57,"column":57}}],"line":57},"13":{"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":null}},{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},{"start":{"line":62,"column":8},"end":{"line":62,"column":null}},{"start":{"line":63,"column":8},"end":{"line":63,"column":null}},{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},{"start":{"line":65,"column":8},"end":{"line":65,"column":null}},{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},{"start":{"line":67,"column":8},"end":{"line":67,"column":null}}],"line":60},"14":{"loc":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":72},"15":{"loc":{"start":{"line":72,"column":6},"end":{"line":72,"column":56}},"type":"binary-expr","locations":[{"start":{"line":72,"column":6},"end":{"line":72,"column":22}},{"start":{"line":72,"column":22},"end":{"line":72,"column":56}}],"line":72}},"s":{"0":11,"1":11,"2":2,"3":5,"4":11,"5":1,"6":11,"7":2,"8":3,"9":11,"10":1,"11":1,"12":11,"13":1,"14":1,"15":11,"16":1,"17":11},"f":{"0":11,"1":5,"2":3,"3":1,"4":1},"b":{"0":[2,9],"1":[11,3],"2":[5,3,2],"3":[1,10],"4":[11,1],"5":[2,9],"6":[11,2],"7":[3,3,2,2,2,2,2],"8":[1,10],"9":[11,1],"10":[1,1,1,1,1,1,1,1],"11":[1,10],"12":[11,1],"13":[1,1,1,1,1,1,1,1],"14":[1,10],"15":[11,1]},"meta":{"lastBranch":16,"lastFunction":5,"lastStatement":18,"seen":{"f:7:16:7:28":0,"s:9:32:9:Infinity":0,"b:12:2:17:Infinity:undefined:undefined:undefined:undefined":0,"s:12:2:17:Infinity":1,"b:12:6:12:20:12:20:12:47":1,"s:13:4:16:Infinity":2,"f:14:6:14:7":1,"s:15:8:15:Infinity":3,"b:15:8:15:22:15:22:15:60:15:60:15:Infinity":2,"b:20:2:25:Infinity:undefined:undefined:undefined:undefined":3,"s:20:2:25:Infinity":4,"b:20:6:20:23:20:23:20:58":4,"s:21:4:24:Infinity":5,"b:28:2:39:Infinity:undefined:undefined:undefined:undefined":5,"s:28:2:39:Infinity":6,"b:28:6:28:24:28:24:28:55":6,"s:29:4:38:Infinity":7,"f:30:6:30:7":2,"s:31:8:37:Infinity":8,"b:31:8:31:Infinity:32:8:32:Infinity:33:8:33:Infinity:34:8:34:Infinity:35:8:35:Infinity:36:8:36:Infinity:37:8:37:Infinity":7,"b:42:2:54:Infinity:undefined:undefined:undefined:undefined":8,"s:42:2:54:Infinity":9,"b:42:6:42:26:42:26:42:59":9,"s:43:4:53:Infinity":10,"f:44:6:44:7":3,"s:45:8:52:Infinity":11,"b:45:8:45:Infinity:46:8:46:Infinity:47:8:47:Infinity:48:8:48:Infinity:49:8:49:Infinity:50:8:50:Infinity:51:8:51:Infinity:52:8:52:Infinity":10,"b:57:2:69:Infinity:undefined:undefined:undefined:undefined":11,"s:57:2:69:Infinity":12,"b:57:6:57:25:57:25:57:57":12,"s:58:4:68:Infinity":13,"f:59:6:59:7":4,"s:60:8:67:Infinity":14,"b:60:8:60:Infinity:61:8:61:Infinity:62:8:62:Infinity:63:8:63:Infinity:64:8:64:Infinity:65:8:65:Infinity:66:8:66:Infinity:67:8:67:Infinity":13,"b:72:2:74:Infinity:undefined:undefined:undefined:undefined":14,"s:72:2:74:Infinity":15,"b:72:6:72:22:72:22:72:56":15,"s:73:4:73:Infinity":16,"s:76:2:76:Infinity":17}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"1":{"start":{"line":14,"column":2},"end":{"line":22,"column":null}},"2":{"start":{"line":32,"column":2},"end":{"line":36,"column":null}},"3":{"start":{"line":43,"column":2},"end":{"line":43,"column":null}},"4":{"start":{"line":43,"column":41},"end":{"line":43,"column":58}},"5":{"start":{"line":50,"column":2},"end":{"line":53,"column":null}},"6":{"start":{"line":50,"column":49},"end":{"line":53,"column":4}}},"fnMap":{"0":{"name":"generateId","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":37}},"loc":{"start":{"line":6,"column":37},"end":{"line":8,"column":null}},"line":6},"1":{"name":"createSearchTermObject","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":97},"end":{"line":23,"column":null}},"line":13},"2":{"name":"updateSearchTermObject","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":null}},"loc":{"start":{"line":31,"column":14},"end":{"line":37,"column":null}},"line":31},"3":{"name":"sortSearchTermsByOrder","decl":{"start":{"line":42,"column":16},"end":{"line":42,"column":39}},"loc":{"start":{"line":42,"column":80},"end":{"line":44,"column":null}},"line":42},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":31},"end":{"line":43,"column":32}},"loc":{"start":{"line":43,"column":41},"end":{"line":43,"column":58}},"line":43},"5":{"name":"reorderSearchTermsArray","decl":{"start":{"line":49,"column":16},"end":{"line":49,"column":40}},"loc":{"start":{"line":49,"column":81},"end":{"line":54,"column":null}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":25},"end":{"line":50,"column":26}},"loc":{"start":{"line":50,"column":49},"end":{"line":53,"column":4}},"line":50}},"branchMap":{},"s":{"0":1,"1":1,"2":0,"3":2,"4":5,"5":0,"6":0},"f":{"0":1,"1":1,"2":0,"3":2,"4":5,"5":0,"6":0},"b":{},"meta":{"lastBranch":0,"lastFunction":7,"lastStatement":7,"seen":{"f:6:16:6:37":0,"s:7:2:7:Infinity":0,"f:13:16:13:39":1,"s:14:2:22:Infinity":1,"f:28:16:28:Infinity":2,"s:32:2:36:Infinity":2,"f:42:16:42:39":3,"s:43:2:43:Infinity":3,"f:43:31:43:32":4,"s:43:41:43:58":4,"f:49:16:49:40":5,"s:50:2:53:Infinity":5,"f:50:25:50:26":6,"s:50:49:53:4":6}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"1":{"start":{"line":14,"column":2},"end":{"line":21,"column":null}},"2":{"start":{"line":28,"column":2},"end":{"line":32,"column":null}},"3":{"start":{"line":39,"column":2},"end":{"line":39,"column":null}},"4":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"5":{"start":{"line":46,"column":2},"end":{"line":49,"column":null}},"6":{"start":{"line":46,"column":45},"end":{"line":49,"column":4}},"7":{"start":{"line":59,"column":31},"end":{"line":59,"column":null}},"8":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"9":{"start":{"line":61,"column":21},"end":{"line":61,"column":null}},"10":{"start":{"line":64,"column":2},"end":{"line":71,"column":null}},"11":{"start":{"line":65,"column":18},"end":{"line":65,"column":null}},"12":{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},"13":{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},"14":{"start":{"line":67,"column":39},"end":{"line":67,"column":null}},"15":{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},"16":{"start":{"line":69,"column":34},"end":{"line":69,"column":null}},"17":{"start":{"line":73,"column":2},"end":{"line":73,"column":null}},"18":{"start":{"line":84,"column":15},"end":{"line":84,"column":null}},"19":{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},"20":{"start":{"line":88,"column":4},"end":{"line":91,"column":null}},"21":{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},"22":{"start":{"line":89,"column":36},"end":{"line":89,"column":null}},"23":{"start":{"line":90,"column":6},"end":{"line":90,"column":null}},"24":{"start":{"line":95,"column":2},"end":{"line":98,"column":null}},"25":{"start":{"line":96,"column":18},"end":{"line":96,"column":null}},"26":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}},"27":{"start":{"line":100,"column":2},"end":{"line":100,"column":null}}},"fnMap":{"0":{"name":"generateTemplateId","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":45}},"loc":{"start":{"line":6,"column":45},"end":{"line":8,"column":null}},"line":6},"1":{"name":"createTemplateObject","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":37}},"loc":{"start":{"line":13,"column":93},"end":{"line":22,"column":null}},"line":13},"2":{"name":"updateTemplateObject","decl":{"start":{"line":27,"column":16},"end":{"line":27,"column":37}},"loc":{"start":{"line":27,"column":95},"end":{"line":33,"column":null}},"line":27},"3":{"name":"sortTemplatesByOrder","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":37}},"loc":{"start":{"line":38,"column":72},"end":{"line":40,"column":null}},"line":38},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":29},"end":{"line":39,"column":30}},"loc":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"line":39},"5":{"name":"reorderTemplatesArray","decl":{"start":{"line":45,"column":16},"end":{"line":45,"column":38}},"loc":{"start":{"line":45,"column":73},"end":{"line":50,"column":null}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":23},"end":{"line":46,"column":24}},"loc":{"start":{"line":46,"column":45},"end":{"line":49,"column":4}},"line":46},"7":{"name":"extractTemplateTokens","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":38}},"loc":{"start":{"line":58,"column":2},"end":{"line":74,"column":null}},"line":58},"8":{"name":"generateTextFromTemplate","decl":{"start":{"line":79,"column":16},"end":{"line":79,"column":null}},"loc":{"start":{"line":83,"column":10},"end":{"line":101,"column":null}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":42},"end":{"line":88,"column":43}},"loc":{"start":{"line":88,"column":64},"end":{"line":91,"column":5}},"line":88},"10":{"name":"(anonymous_10)","decl":{"start":{"line":95,"column":41},"end":{"line":95,"column":42}},"loc":{"start":{"line":95,"column":63},"end":{"line":98,"column":3}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},{"start":{"line":68,"column":11},"end":{"line":70,"column":null}}],"line":66},"1":{"loc":{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},{"start":{},"end":{}}],"line":67},"2":{"loc":{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":69},"3":{"loc":{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},{"start":{},"end":{}}],"line":87},"4":{"loc":{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},{"start":{},"end":{}}],"line":89},"5":{"loc":{"start":{"line":90,"column":13},"end":{"line":90,"column":null}},"type":"cond-expr","locations":[{"start":{"line":90,"column":37},"end":{"line":90,"column":59}},{"start":{"line":90,"column":59},"end":{"line":90,"column":null}}],"line":90},"6":{"loc":{"start":{"line":97,"column":11},"end":{"line":97,"column":null}},"type":"cond-expr","locations":[{"start":{"line":97,"column":55},"end":{"line":97,"column":77}},{"start":{"line":97,"column":77},"end":{"line":97,"column":null}}],"line":97},"7":{"loc":{"start":{"line":97,"column":11},"end":{"line":97,"column":55}},"type":"binary-expr","locations":[{"start":{"line":97,"column":11},"end":{"line":97,"column":25}},{"start":{"line":97,"column":25},"end":{"line":97,"column":55}}],"line":97}},"s":{"0":1,"1":1,"2":0,"3":2,"4":5,"5":0,"6":0,"7":5,"8":5,"9":5,"10":5,"11":8,"12":8,"13":5,"14":4,"15":3,"16":3,"17":5,"18":6,"19":6,"20":2,"21":3,"22":1,"23":2,"24":6,"25":6,"26":6,"27":6},"f":{"0":1,"1":1,"2":0,"3":2,"4":5,"5":0,"6":0,"7":5,"8":6,"9":3,"10":6},"b":{"0":[5,3],"1":[4,1],"2":[3,0],"3":[2,4],"4":[1,2],"5":[2,0],"6":[5,1],"7":[6,6]},"meta":{"lastBranch":8,"lastFunction":11,"lastStatement":28,"seen":{"f:6:16:6:45":0,"s:7:2:7:Infinity":0,"f:13:16:13:37":1,"s:14:2:21:Infinity":1,"f:27:16:27:37":2,"s:28:2:32:Infinity":2,"f:38:16:38:37":3,"s:39:2:39:Infinity":3,"f:39:29:39:30":4,"s:39:39:39:56":4,"f:45:16:45:38":5,"s:46:2:49:Infinity":5,"f:46:23:46:24":6,"s:46:45:49:4":6,"f:55:16:55:38":7,"s:59:31:59:Infinity":7,"s:60:26:60:Infinity":8,"s:61:21:61:Infinity":9,"s:64:2:71:Infinity":10,"s:65:18:65:Infinity":11,"b:66:4:70:Infinity:68:11:70:Infinity":0,"s:66:4:70:Infinity":12,"b:67:6:67:Infinity:undefined:undefined:undefined:undefined":1,"s:67:6:67:Infinity":13,"s:67:39:67:Infinity":14,"b:69:6:69:Infinity:undefined:undefined:undefined:undefined":2,"s:69:6:69:Infinity":15,"s:69:34:69:Infinity":16,"s:73:2:73:Infinity":17,"f:79:16:79:Infinity":8,"s:84:15:84:Infinity":18,"b:87:2:92:Infinity:undefined:undefined:undefined:undefined":3,"s:87:2:92:Infinity":19,"s:88:4:91:Infinity":20,"f:88:42:88:43":9,"b:89:6:89:Infinity:undefined:undefined:undefined:undefined":4,"s:89:6:89:Infinity":21,"s:89:36:89:Infinity":22,"s:90:6:90:Infinity":23,"b:90:37:90:59:90:59:90:Infinity":5,"s:95:2:98:Infinity":24,"f:95:41:95:42":10,"s:96:18:96:Infinity":25,"s:97:4:97:Infinity":26,"b:97:55:97:77:97:77:97:Infinity":6,"b:97:11:97:25:97:25:97:55":7,"s:100:2:100:Infinity":27}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx","statementMap":{"0":{"start":{"line":10,"column":28},"end":{"line":21,"column":null}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"2":{"start":{"line":13,"column":2},"end":{"line":19,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":28},"end":{"line":10,"column":29}},"loc":{"start":{"line":10,"column":61},"end":{"line":21,"column":null}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":9},"end":{"line":17,"column":34}},"type":"binary-expr","locations":[{"start":{"line":17,"column":9},"end":{"line":17,"column":23}},{"start":{"line":17,"column":23},"end":{"line":17,"column":34}}],"line":17}},"s":{"0":1,"1":2,"2":2},"f":{"0":2},"b":{"0":[2,1]},"meta":{"lastBranch":1,"lastFunction":1,"lastStatement":3,"seen":{"s:10:28:21:Infinity":0,"f:10:28:10:29":0,"s:11:18:11:Infinity":1,"s:13:2:19:Infinity":2,"b:17:9:17:23:17:23:17:34":0}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":18,"column":null}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"2":{"start":{"line":12,"column":2},"end":{"line":16,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":53},"end":{"line":18,"column":null}},"line":10}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"meta":{"lastBranch":0,"lastFunction":1,"lastStatement":3,"seen":{"s:10:24:18:Infinity":0,"f:10:24:10:25":0,"s:11:18:11:Infinity":1,"s:12:2:16:Infinity":2}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx","statementMap":{"0":{"start":{"line":11,"column":25},"end":{"line":98,"column":null}},"1":{"start":{"line":12,"column":18},"end":{"line":12,"column":null}},"2":{"start":{"line":13,"column":8},"end":{"line":13,"column":null}},"3":{"start":{"line":15,"column":32},"end":{"line":54,"column":null}},"4":{"start":{"line":16,"column":20},"end":{"line":16,"column":null}},"5":{"start":{"line":17,"column":4},"end":{"line":53,"column":null}},"6":{"start":{"line":18,"column":19},"end":{"line":18,"column":null}},"7":{"start":{"line":19,"column":29},"end":{"line":19,"column":null}},"8":{"start":{"line":20,"column":28},"end":{"line":20,"column":null}},"9":{"start":{"line":21,"column":28},"end":{"line":21,"column":null}},"10":{"start":{"line":22,"column":27},"end":{"line":22,"column":null}},"11":{"start":{"line":25,"column":17},"end":{"line":25,"column":null}},"12":{"start":{"line":26,"column":16},"end":{"line":26,"column":null}},"13":{"start":{"line":29,"column":6},"end":{"line":32,"column":null}},"14":{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},"15":{"start":{"line":35,"column":6},"end":{"line":37,"column":null}},"16":{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},"17":{"start":{"line":40,"column":6},"end":{"line":43,"column":null}},"18":{"start":{"line":42,"column":8},"end":{"line":42,"column":null}},"19":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"20":{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},"21":{"start":{"line":50,"column":6},"end":{"line":50,"column":null}},"22":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"23":{"start":{"line":52,"column":6},"end":{"line":52,"column":null}},"24":{"start":{"line":56,"column":2},"end":{"line":96,"column":null}},"25":{"start":{"line":65,"column":25},"end":{"line":65,"column":null}},"26":{"start":{"line":66,"column":10},"end":{"line":66,"column":null}},"27":{"start":{"line":67,"column":27},"end":{"line":67,"column":null}},"28":{"start":{"line":68,"column":10},"end":{"line":68,"column":null}},"29":{"start":{"line":69,"column":10},"end":{"line":69,"column":null}},"30":{"start":{"line":70,"column":10},"end":{"line":70,"column":null}},"31":{"start":{"line":71,"column":10},"end":{"line":71,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":55},"end":{"line":98,"column":null}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":32},"end":{"line":15,"column":33}},"loc":{"start":{"line":15,"column":75},"end":{"line":54,"column":null}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":63,"column":17},"end":{"line":63,"column":18}},"loc":{"start":{"line":63,"column":24},"end":{"line":72,"column":null}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":53,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":53,"column":null}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":29,"column":6},"end":{"line":32,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":32,"column":null}},{"start":{},"end":{}}],"line":29},"2":{"loc":{"start":{"line":35,"column":6},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":35,"column":6},"end":{"line":37,"column":null}},{"start":{},"end":{}}],"line":35},"3":{"loc":{"start":{"line":40,"column":6},"end":{"line":43,"column":null}},"type":"if","locations":[{"start":{"line":40,"column":6},"end":{"line":43,"column":null}},{"start":{},"end":{}}],"line":40},"4":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},{"start":{},"end":{}}],"line":46},"5":{"loc":{"start":{"line":69,"column":33},"end":{"line":69,"column":null}},"type":"cond-expr","locations":[{"start":{"line":69,"column":43},"end":{"line":69,"column":55}},{"start":{"line":69,"column":55},"end":{"line":69,"column":null}}],"line":69},"6":{"loc":{"start":{"line":87,"column":11},"end":{"line":89,"column":31}},"type":"cond-expr","locations":[{"start":{"line":88,"column":14},"end":{"line":88,"column":null}},{"start":{"line":89,"column":14},"end":{"line":89,"column":31}}],"line":87}},"s":{"0":1,"1":3,"2":3,"3":3,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":3,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":3,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[3,0]},"meta":{"lastBranch":7,"lastFunction":3,"lastStatement":32,"seen":{"s:11:25:98:Infinity":0,"f:11:25:11:26":0,"s:12:18:12:Infinity":1,"s:13:8:13:Infinity":2,"s:15:32:54:Infinity":3,"f:15:32:15:33":1,"s:16:20:16:Infinity":4,"b:17:4:53:Infinity:undefined:undefined:undefined:undefined":0,"s:17:4:53:Infinity":5,"s:18:19:18:Infinity":6,"s:19:29:19:Infinity":7,"s:20:28:20:Infinity":8,"s:21:28:21:Infinity":9,"s:22:27:22:Infinity":10,"s:25:17:25:Infinity":11,"s:26:16:26:Infinity":12,"b:29:6:32:Infinity:undefined:undefined:undefined:undefined":1,"s:29:6:32:Infinity":13,"s:31:8:31:Infinity":14,"b:35:6:37:Infinity:undefined:undefined:undefined:undefined":2,"s:35:6:37:Infinity":15,"s:36:8:36:Infinity":16,"b:40:6:43:Infinity:undefined:undefined:undefined:undefined":3,"s:40:6:43:Infinity":17,"s:42:8:42:Infinity":18,"b:46:6:48:Infinity:undefined:undefined:undefined:undefined":4,"s:46:6:48:Infinity":19,"s:47:8:47:Infinity":20,"s:50:6:50:Infinity":21,"s:51:6:51:Infinity":22,"s:52:6:52:Infinity":23,"s:56:2:96:Infinity":24,"f:63:17:63:18":2,"s:65:25:65:Infinity":25,"s:66:10:66:Infinity":26,"s:67:27:67:Infinity":27,"s:68:10:68:Infinity":28,"s:69:10:69:Infinity":29,"b:69:43:69:55:69:55:69:Infinity":5,"s:70:10:70:Infinity":30,"s:71:10:71:Infinity":31,"b:88:14:88:Infinity:89:14:89:31":6}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx","statementMap":{"0":{"start":{"line":17,"column":24},"end":{"line":222,"column":null}},"1":{"start":{"line":18,"column":18},"end":{"line":18,"column":null}},"2":{"start":{"line":19,"column":33},"end":{"line":19,"column":null}},"3":{"start":{"line":22,"column":32},"end":{"line":22,"column":null}},"4":{"start":{"line":23,"column":32},"end":{"line":23,"column":null}},"5":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"6":{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},"7":{"start":{"line":28,"column":2},"end":{"line":41,"column":null}},"8":{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},"9":{"start":{"line":30,"column":23},"end":{"line":30,"column":null}},"10":{"start":{"line":31,"column":6},"end":{"line":31,"column":null}},"11":{"start":{"line":32,"column":24},"end":{"line":32,"column":null}},"12":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"13":{"start":{"line":36,"column":24},"end":{"line":36,"column":null}},"14":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"15":{"start":{"line":38,"column":9},"end":{"line":38,"column":null}},"16":{"start":{"line":44,"column":8},"end":{"line":57,"column":null}},"17":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"18":{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},"19":{"start":{"line":50,"column":6},"end":{"line":54,"column":null}},"20":{"start":{"line":51,"column":8},"end":{"line":53,"column":null}},"21":{"start":{"line":52,"column":10},"end":{"line":52,"column":null}},"22":{"start":{"line":60,"column":2},"end":{"line":66,"column":null}},"23":{"start":{"line":61,"column":4},"end":{"line":65,"column":null}},"24":{"start":{"line":62,"column":6},"end":{"line":64,"column":null}},"25":{"start":{"line":63,"column":8},"end":{"line":63,"column":null}},"26":{"start":{"line":68,"column":26},"end":{"line":74,"column":null}},"27":{"start":{"line":69,"column":4},"end":{"line":73,"column":null}},"28":{"start":{"line":70,"column":6},"end":{"line":70,"column":null}},"29":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"30":{"start":{"line":72,"column":6},"end":{"line":72,"column":null}},"31":{"start":{"line":76,"column":27},"end":{"line":80,"column":null}},"32":{"start":{"line":77,"column":21},"end":{"line":77,"column":null}},"33":{"start":{"line":78,"column":4},"end":{"line":78,"column":null}},"34":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"35":{"start":{"line":82,"column":25},"end":{"line":92,"column":null}},"36":{"start":{"line":83,"column":4},"end":{"line":83,"column":null}},"37":{"start":{"line":84,"column":4},"end":{"line":84,"column":null}},"38":{"start":{"line":86,"column":4},"end":{"line":91,"column":null}},"39":{"start":{"line":87,"column":6},"end":{"line":87,"column":null}},"40":{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},"41":{"start":{"line":89,"column":8},"end":{"line":89,"column":null}},"42":{"start":{"line":94,"column":28},"end":{"line":106,"column":null}},"43":{"start":{"line":95,"column":4},"end":{"line":105,"column":null}},"44":{"start":{"line":96,"column":6},"end":{"line":96,"column":null}},"45":{"start":{"line":97,"column":6},"end":{"line":97,"column":null}},"46":{"start":{"line":98,"column":4},"end":{"line":105,"column":null}},"47":{"start":{"line":99,"column":6},"end":{"line":99,"column":null}},"48":{"start":{"line":100,"column":6},"end":{"line":100,"column":null}},"49":{"start":{"line":101,"column":6},"end":{"line":101,"column":null}},"50":{"start":{"line":102,"column":6},"end":{"line":104,"column":null}},"51":{"start":{"line":103,"column":8},"end":{"line":103,"column":null}},"52":{"start":{"line":108,"column":2},"end":{"line":221,"column":null}},"53":{"start":{"line":110,"column":28},"end":{"line":110,"column":null}},"54":{"start":{"line":112,"column":4},"end":{"line":199,"column":null}},"55":{"start":{"line":113,"column":12},"end":{"line":113,"column":null}},"56":{"start":{"line":114,"column":26},"end":{"line":114,"column":null}},"57":{"start":{"line":115,"column":26},"end":{"line":115,"column":null}},"58":{"start":{"line":116,"column":30},"end":{"line":116,"column":null}},"59":{"start":{"line":118,"column":6},"end":{"line":176,"column":null}},"60":{"start":{"line":148,"column":16},"end":{"line":150,"column":null}},"61":{"start":{"line":180,"column":6},"end":{"line":197,"column":null}},"62":{"start":{"line":204,"column":6},"end":{"line":206,"column":null}},"63":{"start":{"line":208,"column":4},"end":{"line":219,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":25}},"loc":{"start":{"line":17,"column":80},"end":{"line":222,"column":null}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":12},"end":{"line":28,"column":18}},"loc":{"start":{"line":28,"column":18},"end":{"line":41,"column":5}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":28},"end":{"line":55,"column":null}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":39},"end":{"line":50,"column":45}},"loc":{"start":{"line":50,"column":45},"end":{"line":54,"column":9}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":12},"end":{"line":60,"column":18}},"loc":{"start":{"line":60,"column":18},"end":{"line":66,"column":5}},"line":60},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":11},"end":{"line":61,"column":17}},"loc":{"start":{"line":61,"column":17},"end":{"line":65,"column":null}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":68,"column":26},"end":{"line":68,"column":32}},"loc":{"start":{"line":68,"column":32},"end":{"line":74,"column":null}},"line":68},"7":{"name":"(anonymous_7)","decl":{"start":{"line":76,"column":27},"end":{"line":76,"column":28}},"loc":{"start":{"line":76,"column":74},"end":{"line":80,"column":null}},"line":76},"8":{"name":"(anonymous_8)","decl":{"start":{"line":82,"column":25},"end":{"line":82,"column":31}},"loc":{"start":{"line":82,"column":31},"end":{"line":92,"column":null}},"line":82},"9":{"name":"(anonymous_9)","decl":{"start":{"line":94,"column":28},"end":{"line":94,"column":29}},"loc":{"start":{"line":94,"column":77},"end":{"line":106,"column":null}},"line":94},"10":{"name":"(anonymous_10)","decl":{"start":{"line":147,"column":22},"end":{"line":147,"column":23}},"loc":{"start":{"line":148,"column":16},"end":{"line":150,"column":null}},"line":148}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},{"start":{},"end":{}}],"line":29},"1":{"loc":{"start":{"line":29,"column":8},"end":{"line":29,"column":42}},"type":"binary-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":21}},{"start":{"line":29,"column":21},"end":{"line":29,"column":42}}],"line":29},"2":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37},"3":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},{"start":{},"end":{}}],"line":46},"4":{"loc":{"start":{"line":51,"column":8},"end":{"line":53,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":53,"column":null}},{"start":{},"end":{}}],"line":51},"5":{"loc":{"start":{"line":62,"column":6},"end":{"line":64,"column":null}},"type":"if","locations":[{"start":{"line":62,"column":6},"end":{"line":64,"column":null}},{"start":{},"end":{}}],"line":62},"6":{"loc":{"start":{"line":69,"column":4},"end":{"line":73,"column":null}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":73,"column":null}},{"start":{},"end":{}}],"line":69},"7":{"loc":{"start":{"line":86,"column":4},"end":{"line":91,"column":null}},"type":"if","locations":[{"start":{"line":86,"column":4},"end":{"line":91,"column":null}},{"start":{},"end":{}}],"line":86},"8":{"loc":{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},"type":"if","locations":[{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},{"start":{},"end":{}}],"line":88},"9":{"loc":{"start":{"line":95,"column":4},"end":{"line":105,"column":null}},"type":"if","locations":[{"start":{"line":95,"column":4},"end":{"line":105,"column":null}},{"start":{"line":98,"column":4},"end":{"line":105,"column":null}}],"line":95},"10":{"loc":{"start":{"line":95,"column":8},"end":{"line":95,"column":42}},"type":"binary-expr","locations":[{"start":{"line":95,"column":8},"end":{"line":95,"column":29}},{"start":{"line":95,"column":29},"end":{"line":95,"column":42}}],"line":95},"11":{"loc":{"start":{"line":98,"column":4},"end":{"line":105,"column":null}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":105,"column":null}},{"start":{},"end":{}}],"line":98},"12":{"loc":{"start":{"line":102,"column":6},"end":{"line":104,"column":null}},"type":"if","locations":[{"start":{"line":102,"column":6},"end":{"line":104,"column":null}},{"start":{},"end":{}}],"line":102},"13":{"loc":{"start":{"line":108,"column":2},"end":{"line":221,"column":null}},"type":"if","locations":[{"start":{"line":108,"column":2},"end":{"line":221,"column":null}},{"start":{"line":200,"column":9},"end":{"line":221,"column":null}}],"line":108},"14":{"loc":{"start":{"line":110,"column":28},"end":{"line":110,"column":null}},"type":"binary-expr","locations":[{"start":{"line":110,"column":28},"end":{"line":110,"column":54}},{"start":{"line":110,"column":54},"end":{"line":110,"column":69}},{"start":{"line":110,"column":69},"end":{"line":110,"column":null}}],"line":110},"15":{"loc":{"start":{"line":112,"column":4},"end":{"line":199,"column":null}},"type":"if","locations":[{"start":{"line":112,"column":4},"end":{"line":199,"column":null}},{"start":{"line":178,"column":11},"end":{"line":199,"column":null}}],"line":112},"16":{"loc":{"start":{"line":114,"column":26},"end":{"line":114,"column":null}},"type":"cond-expr","locations":[{"start":{"line":114,"column":36},"end":{"line":114,"column":52}},{"start":{"line":114,"column":52},"end":{"line":114,"column":null}}],"line":114},"17":{"loc":{"start":{"line":115,"column":26},"end":{"line":115,"column":null}},"type":"cond-expr","locations":[{"start":{"line":115,"column":36},"end":{"line":115,"column":48}},{"start":{"line":115,"column":48},"end":{"line":115,"column":null}}],"line":115},"18":{"loc":{"start":{"line":116,"column":30},"end":{"line":116,"column":null}},"type":"cond-expr","locations":[{"start":{"line":116,"column":40},"end":{"line":116,"column":52}},{"start":{"line":116,"column":52},"end":{"line":116,"column":null}}],"line":116},"19":{"loc":{"start":{"line":171,"column":28},"end":{"line":171,"column":null}},"type":"cond-expr","locations":[{"start":{"line":171,"column":38},"end":{"line":171,"column":47}},{"start":{"line":171,"column":47},"end":{"line":171,"column":null}}],"line":171},"20":{"loc":{"start":{"line":204,"column":6},"end":{"line":206,"column":null}},"type":"cond-expr","locations":[{"start":{"line":205,"column":10},"end":{"line":205,"column":null}},{"start":{"line":206,"column":10},"end":{"line":206,"column":null}}],"line":204},"21":{"loc":{"start":{"line":216,"column":15},"end":{"line":216,"column":null}},"type":"cond-expr","locations":[{"start":{"line":216,"column":44},"end":{"line":216,"column":59}},{"start":{"line":216,"column":59},"end":{"line":216,"column":null}}],"line":216}},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":3,"17":0,"18":0,"19":0,"20":0,"21":0,"22":3,"23":3,"24":0,"25":0,"26":3,"27":0,"28":0,"29":0,"30":0,"31":3,"32":0,"33":0,"34":0,"35":3,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":3,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":3,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":3,"63":3},"f":{"0":3,"1":3,"2":0,"3":0,"4":3,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,3],"1":[3,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,3],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[1,2],"21":[1,2]},"meta":{"lastBranch":22,"lastFunction":11,"lastStatement":64,"seen":{"s:17:24:222:Infinity":0,"f:17:24:17:25":0,"s:18:18:18:Infinity":1,"s:19:33:19:Infinity":2,"s:22:32:22:Infinity":3,"s:23:32:23:Infinity":4,"s:24:8:24:Infinity":5,"s:25:8:25:Infinity":6,"s:28:2:41:Infinity":7,"f:28:12:28:18":1,"b:29:4:40:Infinity:undefined:undefined:undefined:undefined":0,"s:29:4:40:Infinity":8,"b:29:8:29:21:29:21:29:42":1,"s:30:23:30:Infinity":9,"s:31:6:31:Infinity":10,"s:32:24:32:Infinity":11,"s:33:6:33:Infinity":12,"s:36:24:36:Infinity":13,"b:37:6:39:Infinity:undefined:undefined:undefined:undefined":2,"s:37:6:39:Infinity":14,"s:38:9:38:Infinity":15,"s:44:8:57:Infinity":16,"f:45:4:45:5":2,"b:46:6:48:Infinity:undefined:undefined:undefined:undefined":3,"s:46:6:48:Infinity":17,"s:47:8:47:Infinity":18,"s:50:6:54:Infinity":19,"f:50:39:50:45":3,"b:51:8:53:Infinity:undefined:undefined:undefined:undefined":4,"s:51:8:53:Infinity":20,"s:52:10:52:Infinity":21,"s:60:2:66:Infinity":22,"f:60:12:60:18":4,"s:61:4:65:Infinity":23,"f:61:11:61:17":5,"b:62:6:64:Infinity:undefined:undefined:undefined:undefined":5,"s:62:6:64:Infinity":24,"s:63:8:63:Infinity":25,"s:68:26:74:Infinity":26,"f:68:26:68:32":6,"b:69:4:73:Infinity:undefined:undefined:undefined:undefined":6,"s:69:4:73:Infinity":27,"s:70:6:70:Infinity":28,"s:71:6:71:Infinity":29,"s:72:6:72:Infinity":30,"s:76:27:80:Infinity":31,"f:76:27:76:28":7,"s:77:21:77:Infinity":32,"s:78:4:78:Infinity":33,"s:79:4:79:Infinity":34,"s:82:25:92:Infinity":35,"f:82:25:82:31":8,"s:83:4:83:Infinity":36,"s:84:4:84:Infinity":37,"b:86:4:91:Infinity:undefined:undefined:undefined:undefined":7,"s:86:4:91:Infinity":38,"s:87:6:87:Infinity":39,"b:88:6:90:Infinity:undefined:undefined:undefined:undefined":8,"s:88:6:90:Infinity":40,"s:89:8:89:Infinity":41,"s:94:28:106:Infinity":42,"f:94:28:94:29":9,"b:95:4:105:Infinity:98:4:105:Infinity":9,"s:95:4:105:Infinity":43,"b:95:8:95:29:95:29:95:42":10,"s:96:6:96:Infinity":44,"s:97:6:97:Infinity":45,"b:98:4:105:Infinity:undefined:undefined:undefined:undefined":11,"s:98:4:105:Infinity":46,"s:99:6:99:Infinity":47,"s:100:6:100:Infinity":48,"s:101:6:101:Infinity":49,"b:102:6:104:Infinity:undefined:undefined:undefined:undefined":12,"s:102:6:104:Infinity":50,"s:103:8:103:Infinity":51,"b:108:2:221:Infinity:200:9:221:Infinity":13,"s:108:2:221:Infinity":52,"s:110:28:110:Infinity":53,"b:110:28:110:54:110:54:110:69:110:69:110:Infinity":14,"b:112:4:199:Infinity:178:11:199:Infinity":15,"s:112:4:199:Infinity":54,"s:113:12:113:Infinity":55,"s:114:26:114:Infinity":56,"b:114:36:114:52:114:52:114:Infinity":16,"s:115:26:115:Infinity":57,"b:115:36:115:48:115:48:115:Infinity":17,"s:116:30:116:Infinity":58,"b:116:40:116:52:116:52:116:Infinity":18,"s:118:6:176:Infinity":59,"f:147:22:147:23":10,"s:148:16:150:Infinity":60,"b:171:38:171:47:171:47:171:Infinity":19,"s:180:6:197:Infinity":61,"s:204:6:206:Infinity":62,"b:205:10:205:Infinity:206:10:206:Infinity":20,"s:208:4:219:Infinity":63,"b:216:44:216:59:216:59:216:Infinity":21}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts","statementMap":{"0":{"start":{"line":8,"column":36},"end":{"line":8,"column":null}},"1":{"start":{"line":9,"column":30},"end":{"line":9,"column":null}},"2":{"start":{"line":10,"column":28},"end":{"line":10,"column":null}},"3":{"start":{"line":12,"column":2},"end":{"line":50,"column":null}},"4":{"start":{"line":13,"column":22},"end":{"line":13,"column":null}},"5":{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},"6":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"7":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"9":{"start":{"line":21,"column":27},"end":{"line":41,"column":null}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},"11":{"start":{"line":23,"column":6},"end":{"line":40,"column":null}},"12":{"start":{"line":24,"column":24},"end":{"line":24,"column":null}},"13":{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},"14":{"start":{"line":27,"column":10},"end":{"line":27,"column":null}},"15":{"start":{"line":28,"column":10},"end":{"line":28,"column":null}},"16":{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},"17":{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},"18":{"start":{"line":33,"column":10},"end":{"line":33,"column":null}},"19":{"start":{"line":34,"column":10},"end":{"line":34,"column":null}},"20":{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},"21":{"start":{"line":38,"column":10},"end":{"line":38,"column":null}},"22":{"start":{"line":44,"column":22},"end":{"line":44,"column":null}},"23":{"start":{"line":46,"column":4},"end":{"line":49,"column":null}},"24":{"start":{"line":47,"column":6},"end":{"line":47,"column":null}},"25":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"26":{"start":{"line":52,"column":2},"end":{"line":56,"column":null}}},"fnMap":{"0":{"name":"usePatternDetection","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":36}},"loc":{"start":{"line":7,"column":53},"end":{"line":57,"column":null}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":12},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":18},"end":{"line":50,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":27},"end":{"line":21,"column":39}},"loc":{"start":{"line":21,"column":39},"end":{"line":41,"column":null}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":11},"end":{"line":46,"column":17}},"loc":{"start":{"line":46,"column":17},"end":{"line":49,"column":null}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":49}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":20}},{"start":{"line":15,"column":20},"end":{"line":15,"column":49}}],"line":15},"2":{"loc":{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},{"start":{},"end":{}}],"line":32},"4":{"loc":{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37}},"s":{"0":7,"1":7,"2":7,"3":7,"4":4,"5":4,"6":2,"7":2,"8":2,"9":2,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":0,"17":0,"18":0,"19":0,"20":1,"21":1,"22":2,"23":2,"24":0,"25":0,"26":7},"f":{"0":7,"1":4,"2":1,"3":0},"b":{"0":[2,2],"1":[4,3],"2":[1,0],"3":[0,0],"4":[1,0]},"meta":{"lastBranch":5,"lastFunction":4,"lastStatement":27,"seen":{"f:7:16:7:36":0,"s:8:36:8:Infinity":0,"s:9:30:9:Infinity":1,"s:10:28:10:Infinity":2,"s:12:2:50:Infinity":3,"f:12:12:12:18":1,"s:13:22:13:Infinity":4,"b:15:4:19:Infinity:undefined:undefined:undefined:undefined":0,"s:15:4:19:Infinity":5,"b:15:8:15:20:15:20:15:49":1,"s:16:6:16:Infinity":6,"s:17:6:17:Infinity":7,"s:18:6:18:Infinity":8,"s:21:27:41:Infinity":9,"f:21:27:21:39":2,"s:22:6:22:Infinity":10,"s:23:6:40:Infinity":11,"s:24:24:24:Infinity":12,"b:26:8:29:Infinity:undefined:undefined:undefined:undefined":2,"s:26:8:29:Infinity":13,"s:27:10:27:Infinity":14,"s:28:10:28:Infinity":15,"s:31:8:31:Infinity":16,"b:32:8:35:Infinity:undefined:undefined:undefined:undefined":3,"s:32:8:35:Infinity":17,"s:33:10:33:Infinity":18,"s:34:10:34:Infinity":19,"b:37:8:39:Infinity:undefined:undefined:undefined:undefined":4,"s:37:8:39:Infinity":20,"s:38:10:38:Infinity":21,"s:44:22:44:Infinity":22,"s:46:4:49:Infinity":23,"f:46:11:46:17":3,"s:47:6:47:Infinity":24,"s:48:6:48:Infinity":25,"s:52:2:56:Infinity":26}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx","statementMap":{"0":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"1":{"start":{"line":27,"column":59},"end":{"line":129,"column":null}},"2":{"start":{"line":28,"column":29},"end":{"line":28,"column":null}},"3":{"start":{"line":29,"column":42},"end":{"line":29,"column":null}},"4":{"start":{"line":32,"column":8},"end":{"line":51,"column":null}},"5":{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":null}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":null}},"8":{"start":{"line":41,"column":4},"end":{"line":41,"column":null}},"9":{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},"10":{"start":{"line":45,"column":6},"end":{"line":45,"column":null}},"11":{"start":{"line":46,"column":6},"end":{"line":46,"column":null}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"13":{"start":{"line":49,"column":6},"end":{"line":49,"column":null}},"14":{"start":{"line":54,"column":2},"end":{"line":71,"column":null}},"15":{"start":{"line":55,"column":22},"end":{"line":68,"column":null}},"16":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"17":{"start":{"line":56,"column":23},"end":{"line":56,"column":null}},"18":{"start":{"line":58,"column":6},"end":{"line":67,"column":null}},"19":{"start":{"line":59,"column":39},"end":{"line":59,"column":null}},"20":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"21":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"22":{"start":{"line":62,"column":8},"end":{"line":62,"column":null}},"23":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"24":{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},"25":{"start":{"line":70,"column":4},"end":{"line":70,"column":null}},"26":{"start":{"line":74,"column":2},"end":{"line":89,"column":null}},"27":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"28":{"start":{"line":75,"column":40},"end":{"line":75,"column":null}},"29":{"start":{"line":77,"column":33},"end":{"line":82,"column":null}},"30":{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},"31":{"start":{"line":79,"column":8},"end":{"line":79,"column":null}},"32":{"start":{"line":80,"column":8},"end":{"line":80,"column":null}},"33":{"start":{"line":85,"column":20},"end":{"line":85,"column":null}},"34":{"start":{"line":88,"column":4},"end":{"line":88,"column":null}},"35":{"start":{"line":92,"column":2},"end":{"line":100,"column":null}},"36":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"37":{"start":{"line":93,"column":28},"end":{"line":93,"column":null}},"38":{"start":{"line":95,"column":23},"end":{"line":95,"column":null}},"39":{"start":{"line":96,"column":25},"end":{"line":96,"column":null}},"40":{"start":{"line":96,"column":31},"end":{"line":96,"column":null}},"41":{"start":{"line":98,"column":4},"end":{"line":98,"column":null}},"42":{"start":{"line":99,"column":4},"end":{"line":99,"column":null}},"43":{"start":{"line":99,"column":17},"end":{"line":99,"column":null}},"44":{"start":{"line":102,"column":19},"end":{"line":118,"column":null}},"45":{"start":{"line":103,"column":4},"end":{"line":103,"column":null}},"46":{"start":{"line":104,"column":4},"end":{"line":104,"column":null}},"47":{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},"48":{"start":{"line":108,"column":6},"end":{"line":116,"column":null}},"49":{"start":{"line":109,"column":46},"end":{"line":109,"column":null}},"50":{"start":{"line":110,"column":8},"end":{"line":113,"column":null}},"51":{"start":{"line":115,"column":8},"end":{"line":115,"column":null}},"52":{"start":{"line":120,"column":41},"end":{"line":126,"column":null}},"53":{"start":{"line":128,"column":2},"end":{"line":128,"column":null}},"54":{"start":{"line":131,"column":24},"end":{"line":137,"column":null}},"55":{"start":{"line":132,"column":8},"end":{"line":132,"column":null}},"56":{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},"57":{"start":{"line":134,"column":4},"end":{"line":134,"column":null}},"58":{"start":{"line":136,"column":2},"end":{"line":136,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":59},"end":{"line":27,"column":60}},"loc":{"start":{"line":27,"column":77},"end":{"line":129,"column":null}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":43},"end":{"line":32,"column":44}},"loc":{"start":{"line":32,"column":71},"end":{"line":51,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":54,"column":12},"end":{"line":54,"column":18}},"loc":{"start":{"line":54,"column":18},"end":{"line":71,"column":5}},"line":54},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":22},"end":{"line":55,"column":34}},"loc":{"start":{"line":55,"column":34},"end":{"line":68,"column":null}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":74,"column":12},"end":{"line":74,"column":18}},"loc":{"start":{"line":74,"column":18},"end":{"line":89,"column":5}},"line":74},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":33},"end":{"line":77,"column":34}},"loc":{"start":{"line":77,"column":68},"end":{"line":82,"column":null}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":12},"end":{"line":92,"column":18}},"loc":{"start":{"line":92,"column":18},"end":{"line":100,"column":5}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":96,"column":25},"end":{"line":96,"column":31}},"loc":{"start":{"line":96,"column":31},"end":{"line":96,"column":null}},"line":96},"8":{"name":"(anonymous_8)","decl":{"start":{"line":99,"column":11},"end":{"line":99,"column":17}},"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":null}},"line":99},"9":{"name":"(anonymous_9)","decl":{"start":{"line":102,"column":19},"end":{"line":102,"column":26}},"loc":{"start":{"line":102,"column":46},"end":{"line":118,"column":null}},"line":102},"10":{"name":"(anonymous_10)","decl":{"start":{"line":131,"column":24},"end":{"line":131,"column":48}},"loc":{"start":{"line":131,"column":48},"end":{"line":137,"column":null}},"line":131}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},{"start":{"line":37,"column":11},"end":{"line":39,"column":null}}],"line":35},"1":{"loc":{"start":{"line":36,"column":22},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":36,"column":82},"end":{"line":36,"column":91}},{"start":{"line":36,"column":91},"end":{"line":36,"column":null}}],"line":36},"2":{"loc":{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},{"start":{"line":47,"column":11},"end":{"line":50,"column":null}}],"line":44},"3":{"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},{"start":{},"end":{}}],"line":56},"4":{"loc":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":26},"end":{"line":60,"column":45}},{"start":{"line":60,"column":45},"end":{"line":60,"column":null}}],"line":60},"5":{"loc":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},{"start":{},"end":{}}],"line":75},"6":{"loc":{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},"type":"if","locations":[{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},{"start":{},"end":{}}],"line":78},"7":{"loc":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"type":"if","locations":[{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},{"start":{},"end":{}}],"line":93},"8":{"loc":{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},{"start":{},"end":{}}],"line":107},"9":{"loc":{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},"type":"if","locations":[{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},{"start":{},"end":{}}],"line":133}},"s":{"0":1,"1":1,"2":5,"3":5,"4":5,"5":4,"6":3,"7":1,"8":4,"9":4,"10":4,"11":4,"12":0,"13":0,"14":5,"15":3,"16":3,"17":0,"18":3,"19":3,"20":3,"21":3,"22":3,"23":0,"24":0,"25":3,"26":5,"27":3,"28":0,"29":3,"30":0,"31":0,"32":0,"33":3,"34":3,"35":5,"36":5,"37":1,"38":4,"39":4,"40":0,"41":4,"42":4,"43":4,"44":5,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":0,"52":5,"53":5,"54":1,"55":8,"56":8,"57":2,"58":5},"f":{"0":5,"1":4,"2":3,"3":3,"4":3,"5":0,"6":5,"7":0,"8":4,"9":1,"10":8},"b":{"0":[3,1],"1":[0,3],"2":[4,0],"3":[0,3],"4":[3,0],"5":[0,3],"6":[0,0],"7":[1,4],"8":[1,0],"9":[2,6]},"meta":{"lastBranch":10,"lastFunction":11,"lastStatement":59,"seen":{"s:21:6:21:Infinity":0,"s:27:59:129:Infinity":1,"f:27:59:27:60":0,"s:28:29:28:Infinity":2,"s:29:42:29:Infinity":3,"s:32:8:51:Infinity":4,"f:32:43:32:44":1,"b:35:4:39:Infinity:37:11:39:Infinity":0,"s:35:4:39:Infinity":5,"s:36:6:36:Infinity":6,"b:36:82:36:91:36:91:36:Infinity":1,"s:38:6:38:Infinity":7,"s:41:4:41:Infinity":8,"b:44:4:50:Infinity:47:11:50:Infinity":2,"s:44:4:50:Infinity":9,"s:45:6:45:Infinity":10,"s:46:6:46:Infinity":11,"s:48:6:48:Infinity":12,"s:49:6:49:Infinity":13,"s:54:2:71:Infinity":14,"f:54:12:54:18":2,"s:55:22:68:Infinity":15,"f:55:22:55:34":3,"b:56:6:56:Infinity:undefined:undefined:undefined:undefined":3,"s:56:6:56:Infinity":16,"s:56:23:56:Infinity":17,"s:58:6:67:Infinity":18,"s:59:39:59:Infinity":19,"s:60:26:60:Infinity":20,"b:60:26:60:45:60:45:60:Infinity":4,"s:61:8:61:Infinity":21,"s:62:8:62:Infinity":22,"s:64:8:64:Infinity":23,"s:66:8:66:Infinity":24,"s:70:4:70:Infinity":25,"s:74:2:89:Infinity":26,"f:74:12:74:18":4,"b:75:4:75:Infinity:undefined:undefined:undefined:undefined":5,"s:75:4:75:Infinity":27,"s:75:40:75:Infinity":28,"s:77:33:82:Infinity":29,"f:77:33:77:34":5,"b:78:6:81:Infinity:undefined:undefined:undefined:undefined":6,"s:78:6:81:Infinity":30,"s:79:8:79:Infinity":31,"s:80:8:80:Infinity":32,"s:85:20:85:Infinity":33,"s:88:4:88:Infinity":34,"s:92:2:100:Infinity":35,"f:92:12:92:18":6,"b:93:4:93:Infinity:undefined:undefined:undefined:undefined":7,"s:93:4:93:Infinity":36,"s:93:28:93:Infinity":37,"s:95:23:95:Infinity":38,"s:96:25:96:Infinity":39,"f:96:25:96:31":7,"s:96:31:96:Infinity":40,"s:98:4:98:Infinity":41,"s:99:4:99:Infinity":42,"f:99:11:99:17":8,"s:99:17:99:Infinity":43,"s:102:19:118:Infinity":44,"f:102:19:102:26":9,"s:103:4:103:Infinity":45,"s:104:4:104:Infinity":46,"b:107:4:117:Infinity:undefined:undefined:undefined:undefined":8,"s:107:4:117:Infinity":47,"s:108:6:116:Infinity":48,"s:109:46:109:Infinity":49,"s:110:8:113:Infinity":50,"s:115:8:115:Infinity":51,"s:120:41:126:Infinity":52,"s:128:2:128:Infinity":53,"s:131:24:137:Infinity":54,"f:131:24:131:48":10,"s:132:8:132:Infinity":55,"b:133:2:135:Infinity:undefined:undefined:undefined:undefined":9,"s:133:2:135:Infinity":56,"s:134:4:134:Infinity":57,"s:136:2:136:Infinity":58}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts","statementMap":{"0":{"start":{"line":37,"column":45},"end":{"line":361,"column":null}},"1":{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},"2":{"start":{"line":371,"column":4},"end":{"line":371,"column":null}},"3":{"start":{"line":374,"column":41},"end":{"line":374,"column":null}},"4":{"start":{"line":377,"column":2},"end":{"line":379,"column":null}},"5":{"start":{"line":378,"column":4},"end":{"line":378,"column":null}},"6":{"start":{"line":381,"column":20},"end":{"line":381,"column":null}},"7":{"start":{"line":383,"column":2},"end":{"line":414,"column":null}},"8":{"start":{"line":384,"column":16},"end":{"line":384,"column":null}},"9":{"start":{"line":387,"column":4},"end":{"line":393,"column":null}},"10":{"start":{"line":388,"column":20},"end":{"line":388,"column":null}},"11":{"start":{"line":389,"column":22},"end":{"line":389,"column":null}},"12":{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},"13":{"start":{"line":391,"column":8},"end":{"line":391,"column":null}},"14":{"start":{"line":396,"column":4},"end":{"line":401,"column":null}},"15":{"start":{"line":397,"column":22},"end":{"line":397,"column":null}},"16":{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},"17":{"start":{"line":399,"column":8},"end":{"line":399,"column":null}},"18":{"start":{"line":404,"column":4},"end":{"line":408,"column":null}},"19":{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},"20":{"start":{"line":406,"column":8},"end":{"line":406,"column":null}},"21":{"start":{"line":411,"column":4},"end":{"line":411,"column":null}},"22":{"start":{"line":413,"column":4},"end":{"line":413,"column":null}},"23":{"start":{"line":417,"column":17},"end":{"line":417,"column":null}},"24":{"start":{"line":418,"column":40},"end":{"line":418,"column":null}},"25":{"start":{"line":420,"column":2},"end":{"line":426,"column":null}},"26":{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},"27":{"start":{"line":423,"column":6},"end":{"line":423,"column":null}},"28":{"start":{"line":424,"column":6},"end":{"line":424,"column":null}},"29":{"start":{"line":428,"column":2},"end":{"line":428,"column":null}},"30":{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},"31":{"start":{"line":439,"column":4},"end":{"line":439,"column":null}},"32":{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},"33":{"start":{"line":444,"column":4},"end":{"line":444,"column":null}},"34":{"start":{"line":448,"column":25},"end":{"line":474,"column":null}},"35":{"start":{"line":476,"column":23},"end":{"line":476,"column":null}},"36":{"start":{"line":477,"column":21},"end":{"line":477,"column":null}},"37":{"start":{"line":479,"column":2},"end":{"line":485,"column":null}},"38":{"start":{"line":480,"column":20},"end":{"line":480,"column":null}},"39":{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},"40":{"start":{"line":482,"column":6},"end":{"line":482,"column":null}},"41":{"start":{"line":483,"column":6},"end":{"line":483,"column":null}},"42":{"start":{"line":488,"column":21},"end":{"line":488,"column":null}},"43":{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},"44":{"start":{"line":492,"column":4},"end":{"line":492,"column":null}},"45":{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},"46":{"start":{"line":495,"column":4},"end":{"line":495,"column":null}},"47":{"start":{"line":498,"column":4},"end":{"line":498,"column":null}},"48":{"start":{"line":507,"column":27},"end":{"line":518,"column":null}},"49":{"start":{"line":520,"column":2},"end":{"line":520,"column":null}},"50":{"start":{"line":520,"column":44},"end":{"line":520,"column":62}},"51":{"start":{"line":527,"column":46},"end":{"line":542,"column":null}},"52":{"start":{"line":544,"column":2},"end":{"line":544,"column":null}}},"fnMap":{"0":{"name":"detectLanguage","decl":{"start":{"line":368,"column":16},"end":{"line":368,"column":31}},"loc":{"start":{"line":368,"column":60},"end":{"line":429,"column":null}},"line":368},"1":{"name":"(anonymous_1)","decl":{"start":{"line":377,"column":28},"end":{"line":377,"column":29}},"loc":{"start":{"line":377,"column":38},"end":{"line":379,"column":3}},"line":377},"2":{"name":"(anonymous_2)","decl":{"start":{"line":383,"column":28},"end":{"line":383,"column":29}},"loc":{"start":{"line":383,"column":38},"end":{"line":414,"column":3}},"line":383},"3":{"name":"(anonymous_3)","decl":{"start":{"line":387,"column":26},"end":{"line":387,"column":27}},"loc":{"start":{"line":387,"column":39},"end":{"line":393,"column":5}},"line":387},"4":{"name":"(anonymous_4)","decl":{"start":{"line":396,"column":26},"end":{"line":396,"column":27}},"loc":{"start":{"line":396,"column":39},"end":{"line":401,"column":5}},"line":396},"5":{"name":"(anonymous_5)","decl":{"start":{"line":404,"column":28},"end":{"line":404,"column":29}},"loc":{"start":{"line":404,"column":37},"end":{"line":408,"column":5}},"line":404},"6":{"name":"(anonymous_6)","decl":{"start":{"line":420,"column":33},"end":{"line":420,"column":34}},"loc":{"start":{"line":420,"column":52},"end":{"line":426,"column":3}},"line":420},"7":{"name":"isCode","decl":{"start":{"line":436,"column":16},"end":{"line":436,"column":23}},"loc":{"start":{"line":436,"column":46},"end":{"line":500,"column":null}},"line":436},"8":{"name":"(anonymous_8)","decl":{"start":{"line":479,"column":25},"end":{"line":479,"column":26}},"loc":{"start":{"line":479,"column":38},"end":{"line":485,"column":3}},"line":479},"9":{"name":"hasStrongCodeIndicators","decl":{"start":{"line":506,"column":9},"end":{"line":506,"column":33}},"loc":{"start":{"line":506,"column":56},"end":{"line":521,"column":null}},"line":506},"10":{"name":"(anonymous_10)","decl":{"start":{"line":520,"column":31},"end":{"line":520,"column":32}},"loc":{"start":{"line":520,"column":44},"end":{"line":520,"column":62}},"line":520},"11":{"name":"mapToSyntaxHighlighterLanguage","decl":{"start":{"line":526,"column":16},"end":{"line":526,"column":47}},"loc":{"start":{"line":526,"column":81},"end":{"line":545,"column":null}},"line":526}},"branchMap":{"0":{"loc":{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},"type":"if","locations":[{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},{"start":{},"end":{}}],"line":369},"1":{"loc":{"start":{"line":369,"column":6},"end":{"line":369,"column":39}},"type":"binary-expr","locations":[{"start":{"line":369,"column":6},"end":{"line":369,"column":15}},{"start":{"line":369,"column":15},"end":{"line":369,"column":39}}],"line":369},"2":{"loc":{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},"type":"if","locations":[{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},{"start":{},"end":{}}],"line":390},"3":{"loc":{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},"type":"if","locations":[{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},{"start":{},"end":{}}],"line":398},"4":{"loc":{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},"type":"if","locations":[{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},{"start":{},"end":{}}],"line":405},"5":{"loc":{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},"type":"if","locations":[{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},{"start":{},"end":{}}],"line":421},"6":{"loc":{"start":{"line":421,"column":8},"end":{"line":421,"column":39}},"type":"binary-expr","locations":[{"start":{"line":421,"column":8},"end":{"line":421,"column":28}},{"start":{"line":421,"column":28},"end":{"line":421,"column":39}}],"line":421},"7":{"loc":{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},"type":"if","locations":[{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},{"start":{},"end":{}}],"line":437},"8":{"loc":{"start":{"line":437,"column":6},"end":{"line":437,"column":39}},"type":"binary-expr","locations":[{"start":{"line":437,"column":6},"end":{"line":437,"column":15}},{"start":{"line":437,"column":15},"end":{"line":437,"column":39}}],"line":437},"9":{"loc":{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},"type":"if","locations":[{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},{"start":{},"end":{}}],"line":443},"10":{"loc":{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},"type":"if","locations":[{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},{"start":{},"end":{}}],"line":481},"11":{"loc":{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},"type":"if","locations":[{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},{"start":{"line":493,"column":2},"end":{"line":499,"column":null}}],"line":490},"12":{"loc":{"start":{"line":492,"column":11},"end":{"line":492,"column":null}},"type":"binary-expr","locations":[{"start":{"line":492,"column":11},"end":{"line":492,"column":34}},{"start":{"line":492,"column":34},"end":{"line":492,"column":null}}],"line":492},"13":{"loc":{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},"type":"if","locations":[{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},{"start":{"line":496,"column":9},"end":{"line":499,"column":null}}],"line":493},"14":{"loc":{"start":{"line":495,"column":11},"end":{"line":495,"column":null}},"type":"binary-expr","locations":[{"start":{"line":495,"column":11},"end":{"line":495,"column":34}},{"start":{"line":495,"column":34},"end":{"line":495,"column":null}}],"line":495},"15":{"loc":{"start":{"line":498,"column":11},"end":{"line":498,"column":null}},"type":"binary-expr","locations":[{"start":{"line":498,"column":11},"end":{"line":498,"column":34}},{"start":{"line":498,"column":34},"end":{"line":498,"column":null}}],"line":498},"16":{"loc":{"start":{"line":544,"column":9},"end":{"line":544,"column":null}},"type":"binary-expr","locations":[{"start":{"line":544,"column":9},"end":{"line":544,"column":42}},{"start":{"line":544,"column":42},"end":{"line":544,"column":null}}],"line":544}},"s":{"0":2,"1":8,"2":2,"3":6,"4":6,"5":84,"6":6,"7":6,"8":84,"9":84,"10":792,"11":792,"12":792,"13":21,"14":84,"15":606,"16":606,"17":23,"18":84,"19":156,"20":0,"21":84,"22":84,"23":6,"24":6,"25":6,"26":84,"27":9,"28":9,"29":6,"30":6,"31":2,"32":4,"33":3,"34":1,"35":1,"36":1,"37":1,"38":25,"39":25,"40":0,"41":0,"42":1,"43":1,"44":0,"45":1,"46":1,"47":0,"48":4,"49":4,"50":22,"51":16,"52":16},"f":{"0":8,"1":84,"2":84,"3":792,"4":606,"5":156,"6":84,"7":6,"8":25,"9":4,"10":22,"11":16},"b":{"0":[2,6],"1":[8,7],"2":[21,771],"3":[23,583],"4":[0,156],"5":[9,75],"6":[84,9],"7":[2,4],"8":[6,5],"9":[3,1],"10":[0,25],"11":[0,1],"12":[0,0],"13":[1,0],"14":[1,1],"15":[0,0],"16":[16,1]},"meta":{"lastBranch":17,"lastFunction":12,"lastStatement":53,"seen":{"s:37:45:361:Infinity":0,"f:368:16:368:31":0,"b:369:2:372:Infinity:undefined:undefined:undefined:undefined":0,"s:369:2:372:Infinity":1,"b:369:6:369:15:369:15:369:39":1,"s:371:4:371:Infinity":2,"s:374:41:374:Infinity":3,"s:377:2:379:Infinity":4,"f:377:28:377:29":1,"s:378:4:378:Infinity":5,"s:381:20:381:Infinity":6,"s:383:2:414:Infinity":7,"f:383:28:383:29":2,"s:384:16:384:Infinity":8,"s:387:4:393:Infinity":9,"f:387:26:387:27":3,"s:388:20:388:Infinity":10,"s:389:22:389:Infinity":11,"b:390:6:392:Infinity:undefined:undefined:undefined:undefined":2,"s:390:6:392:Infinity":12,"s:391:8:391:Infinity":13,"s:396:4:401:Infinity":14,"f:396:26:396:27":4,"s:397:22:397:Infinity":15,"b:398:6:400:Infinity:undefined:undefined:undefined:undefined":3,"s:398:6:400:Infinity":16,"s:399:8:399:Infinity":17,"s:404:4:408:Infinity":18,"f:404:28:404:29":5,"b:405:6:407:Infinity:undefined:undefined:undefined:undefined":4,"s:405:6:407:Infinity":19,"s:406:8:406:Infinity":20,"s:411:4:411:Infinity":21,"s:413:4:413:Infinity":22,"s:417:17:417:Infinity":23,"s:418:40:418:Infinity":24,"s:420:2:426:Infinity":25,"f:420:33:420:34":6,"b:421:4:425:Infinity:undefined:undefined:undefined:undefined":5,"s:421:4:425:Infinity":26,"b:421:8:421:28:421:28:421:39":6,"s:423:6:423:Infinity":27,"s:424:6:424:Infinity":28,"s:428:2:428:Infinity":29,"f:436:16:436:23":7,"b:437:2:440:Infinity:undefined:undefined:undefined:undefined":7,"s:437:2:440:Infinity":30,"b:437:6:437:15:437:15:437:39":8,"s:439:4:439:Infinity":31,"b:443:2:445:Infinity:undefined:undefined:undefined:undefined":9,"s:443:2:445:Infinity":32,"s:444:4:444:Infinity":33,"s:448:25:474:Infinity":34,"s:476:23:476:Infinity":35,"s:477:21:477:Infinity":36,"s:479:2:485:Infinity":37,"f:479:25:479:26":8,"s:480:20:480:Infinity":38,"b:481:4:484:Infinity:undefined:undefined:undefined:undefined":10,"s:481:4:484:Infinity":39,"s:482:6:482:Infinity":40,"s:483:6:483:Infinity":41,"s:488:21:488:Infinity":42,"b:490:2:499:Infinity:493:2:499:Infinity":11,"s:490:2:499:Infinity":43,"s:492:4:492:Infinity":44,"b:492:11:492:34:492:34:492:Infinity":12,"b:493:2:499:Infinity:496:9:499:Infinity":13,"s:493:2:499:Infinity":45,"s:495:4:495:Infinity":46,"b:495:11:495:34:495:34:495:Infinity":14,"s:498:4:498:Infinity":47,"b:498:11:498:34:498:34:498:Infinity":15,"f:506:9:506:33":9,"s:507:27:518:Infinity":48,"s:520:2:520:Infinity":49,"f:520:31:520:32":10,"s:520:44:520:62":50,"f:526:16:526:47":11,"s:527:46:542:Infinity":51,"s:544:2:544:Infinity":52,"b:544:9:544:42:544:42:544:Infinity":16}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":1,"column":36}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":1,"seen":{"s:1:33:1:36":0}}} +} diff --git a/coverage/favicon.png b/coverage/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1525b811a167671e9de1fa78aab9f5c0b61cef7 GIT binary patch literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 59.31% + Statements + 398/671 +
+ + +
+ 59.07% + Branches + 192/325 +
+ + +
+ 61.65% + Functions + 82/133 +
+ + +
+ 60.12% + Lines + 386/642 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
main/clipboard +
+
39.57%74/18750%31/6228.12%9/3241.04%71/173
main/hotkeys +
+
63.97%103/16160%42/7070.96%22/3164.15%102/159
main/storage +
+
90.12%73/8195.58%65/6877.77%21/2791.89%68/74
renderer/src/components/clips/clip +
+
29.41%30/10216.39%10/6137.5%6/1629.41%30/102
renderer/src/hooks +
+
77.77%21/2760%6/1075%3/477.77%21/27
renderer/src/providers +
+
81.35%48/5960%12/2081.81%9/1185.18%46/54
renderer/src/utils +
+
90.56%48/5376.47%26/34100%12/1290.38%47/52
shared +
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/clipboard/data.ts.html b/coverage/main/clipboard/data.ts.html new file mode 100644 index 0000000..150d038 --- /dev/null +++ b/coverage/main/clipboard/data.ts.html @@ -0,0 +1,382 @@ + + + + + + Code coverage report for main/clipboard/data.ts + + + + + + + + + +
+
+

All files / main/clipboard data.ts

+
+ +
+ 68% + Statements + 34/50 +
+ + +
+ 85% + Branches + 17/20 +
+ + +
+ 45.45% + Functions + 5/11 +
+ + +
+ 70.21% + Lines + 33/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100  +  +  +1x +  +6x +6x +2x +  +  +4x +4x +1x +  +  +3x +3x +1x +  +  +2x +2x +1x +  +  +1x +1x +1x +  +  +  +  +  +  +1x +  +  +  +1x +1x +1x +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +1x +  +  +1x +  +  +  +1x +  +  +  +1x +1x +  +1x +1x +  +  +  +  +  +  +1x +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  + 
import { clipboard, nativeImage } from 'electron';
+ 
+// Helper function to determine the current clipboard type and content
+export const getCurrentClipboardData = (): { type: string; content: string } | null => {
+  // Priority: text > rtf > html > image > bookmark
+  const text = clipboard.readText();
+  if (text && text.trim()) {
+    return { type: 'text', content: text };
+  }
+ 
+  const rtf = clipboard.readRTF();
+  if (rtf && rtf.trim()) {
+    return { type: 'rtf', content: rtf };
+  }
+ 
+  const html = clipboard.readHTML();
+  if (html && html.trim()) {
+    return { type: 'html', content: html };
+  }
+ 
+  const image = clipboard.readImage();
+  if (!image.isEmpty()) {
+    return { type: 'image', content: image.toDataURL() };
+  }
+ 
+  try {
+    const bookmark = clipboard.readBookmark();
+    Iif (bookmark && bookmark.url) {
+      return { type: 'bookmark', content: JSON.stringify(bookmark) };
+    }
+  } catch {
+    // Bookmark not available on all platforms
+  }
+ 
+  return null;
+};
+ 
+// Clipboard read operations
+export const getClipboardText = (): string => clipboard.readText();
+export const getClipboardHTML = (): string => clipboard.readHTML();
+export const getClipboardRTF = (): string => clipboard.readRTF();
+ 
+export const getClipboardImage = (): string | null => {
+  const image = clipboard.readImage();
+  if (!image.isEmpty()) {
+    return image.toDataURL();
+  }
+  return null;
+};
+ 
+export const getClipboardBookmark = (): { title: string; url: string } | null => {
+  try {
+    return clipboard.readBookmark();
+  } catch {
+    return null; // Not available on all platforms
+  }
+};
+ 
+// Clipboard write operations
+export const setClipboardText = (text: string): void => {
+  clipboard.writeText(text);
+};
+ 
+export const setClipboardHTML = (html: string): void => {
+  clipboard.writeHTML(html);
+};
+ 
+export const setClipboardRTF = (rtf: string): void => {
+  clipboard.writeRTF(rtf);
+};
+ 
+export const setClipboardImage = (imageData: string): void => {
+  try {
+    // Convert base64 data URL to NativeImage
+    const image = nativeImage.createFromDataURL(imageData);
+    clipboard.writeImage(image);
+  } catch (error) {
+    console.error('Failed to write image to clipboard:', error);
+    throw error;
+  }
+};
+ 
+export const setClipboardBookmark = (bookmarkData: {
+  text: string;
+  html: string;
+  title?: string;
+  url?: string;
+}): void => {
+  try {
+    // Write both text and HTML formats for maximum compatibility
+    clipboard.write({
+      text: bookmarkData.text,
+      html: bookmarkData.html,
+    });
+  } catch (error) {
+    console.error('Failed to write bookmark to clipboard:', error);
+    throw error;
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/clipboard/index.html b/coverage/main/clipboard/index.html new file mode 100644 index 0000000..fa01dbf --- /dev/null +++ b/coverage/main/clipboard/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for main/clipboard + + + + + + + + + +
+
+

All files main/clipboard

+
+ +
+ 39.57% + Statements + 74/187 +
+ + +
+ 50% + Branches + 31/62 +
+ + +
+ 28.12% + Functions + 9/32 +
+ + +
+ 41.04% + Lines + 71/173 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
data.ts +
+
68%34/5085%17/2045.45%5/1170.21%33/47
quick-clips.ts +
+
22.68%22/9726.31%10/3814.28%2/1424.13%21/87
quick-tools.ts +
+
45%18/40100%4/428.57%2/743.58%17/39
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/clipboard/quick-clips.ts.html b/coverage/main/clipboard/quick-clips.ts.html new file mode 100644 index 0000000..3d0fa5f --- /dev/null +++ b/coverage/main/clipboard/quick-clips.ts.html @@ -0,0 +1,643 @@ + + + + + + Code coverage report for main/clipboard/quick-clips.ts + + + + + + + + + +
+
+

All files / main/clipboard quick-clips.ts

+
+ +
+ 22.68% + Statements + 22/97 +
+ + +
+ 26.31% + Branches + 10/38 +
+ + +
+ 14.28% + Functions + 2/14 +
+ + +
+ 24.13% + Lines + 21/87 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187  +  +  +  +1x +8x +8x +8x +  +8x +8x +  +7x +7x +  +  +7x +7x +  +  +7x +5x +6x +6x +  +  +  +  +7x +5x +  +  +  +  +  +  +  +1x +  +  +  +  +8x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  + 
import { storage } from '../storage';
+import type { PatternMatch } from '../../shared/types';
+ 
+// Quick clips scanning functions
+export const scanTextForPatterns = async (text: string): Promise<PatternMatch[]> => {
+  try {
+    const searchTerms = await storage.getSearchTerms();
+    const matches: PatternMatch[] = [];
+ 
+    for (const searchTerm of searchTerms) {
+      if (!searchTerm.enabled) continue;
+ 
+      try {
+        const regex = new RegExp(searchTerm.pattern, 'g');
+        let match;
+ 
+        while ((match = regex.exec(text)) !== null) {
+          const captures: Record<string, string> = {};
+ 
+          // Extract named groups
+          if (match.groups) {
+            Object.entries(match.groups).forEach(([groupName, value]) => {
+              Eif (value !== undefined && value !== null && typeof value === 'string') {
+                captures[groupName] = value;
+              }
+            });
+          }
+ 
+          if (Object.keys(captures).length > 0) {
+            matches.push({
+              searchTermId: searchTerm.id,
+              searchTermName: searchTerm.name,
+              captures,
+            });
+          }
+        }
+      } catch (error) {
+        console.error(`Failed to test pattern for search term ${searchTerm.name}:`, error);
+        // Continue with other patterns
+      }
+    }
+ 
+    return matches;
+  } catch (error) {
+    console.error('Failed to scan text:', error);
+    throw error;
+  }
+};
+ 
+export const openToolsForMatches = async (matches: any[], toolIds: string[]) => {
+  try {
+    const { shell } = require('electron');
+    const tools = await storage.getQuickTools();
+ 
+    for (const toolId of toolIds) {
+      const tool = tools.find((t) => t.id === toolId);
+      if (!tool) continue;
+ 
+      // Find matches that contain capture groups needed by this tool
+      const applicableMatches = matches.filter((match) =>
+        tool.captureGroups.some((group) => group in match.captures)
+      );
+ 
+      if (applicableMatches.length === 0) continue;
+ 
+      // Parse the URL to find tokens with multiple capture groups (e.g., {email|domain|phone})
+      const multiTokenRegex = /\{([^}]+)\}/g;
+      const urlsToOpen = new Set<string>();
+ 
+      // Use the first applicable match to build the URL(s)
+      const match = applicableMatches[0];
+ 
+      // Find all tokens in the URL
+      const tokens = [...tool.url.matchAll(multiTokenRegex)];
+ 
+      if (tokens.length === 0) {
+        // No tokens, just open the URL as-is
+        urlsToOpen.add(tool.url);
+      } else {
+        // Process each token
+        const tokenReplacements: Array<{ token: string; values: string[]; isUrl: boolean }> = [];
+ 
+        for (const tokenMatch of tokens) {
+          const fullToken = tokenMatch[0]; // e.g., "{email|domain|phone}"
+          const tokenContent = tokenMatch[1]; // e.g., "email|domain|phone"
+          const captureGroups = tokenContent.split('|').map((g) => g.trim());
+ 
+          // Find values for this token from the matches
+          const values: string[] = [];
+          let isUrl = false;
+          for (const group of captureGroups) {
+            if (group in match.captures && match.captures[group]) {
+              values.push(match.captures[group]);
+              // Check if this is a URL capture group
+              if (group === 'url') {
+                isUrl = true;
+              }
+            }
+          }
+ 
+          tokenReplacements.push({ token: fullToken, values, isUrl });
+        }
+ 
+        // Generate URLs for each combination of values
+        if (tokenReplacements.every((tr) => tr.values.length > 0)) {
+          // Special case: if the tool URL is just a token that captures a URL, use it directly
+          if (
+            tokenReplacements.length === 1 &&
+            tokenReplacements[0].isUrl &&
+            tool.url === tokenReplacements[0].token
+          ) {
+            tokenReplacements[0].values.forEach((url) => urlsToOpen.add(url));
+          } else {
+            // Get all combinations of values
+            const generateCombinations = (replacements: typeof tokenReplacements): string[] => {
+              if (replacements.length === 0) return [''];
+              if (replacements.length === 1) {
+                const replacement = replacements[0];
+                return replacement.values.map((value) => {
+                  // Don't encode URLs if they're being used as direct replacements for URL tokens
+                  const encodedValue = replacement.isUrl ? value : encodeURIComponent(value);
+                  return tool.url.replace(replacement.token, encodedValue);
+                });
+              }
+ 
+              // For multiple tokens, generate all combinations
+              const [first, ...rest] = replacements;
+              const restCombinations = generateCombinations(rest);
+              const combinations: string[] = [];
+ 
+              for (const value of first.values) {
+                for (const restUrl of restCombinations) {
+                  // Don't encode URLs if they're being used as direct replacements for URL tokens
+                  const encodedValue = first.isUrl ? value : encodeURIComponent(value);
+                  const url = restUrl.replace(first.token, encodedValue);
+                  combinations.push(url);
+                }
+              }
+ 
+              return combinations;
+            };
+ 
+            const combinations = generateCombinations(tokenReplacements);
+            combinations.forEach((url) => urlsToOpen.add(url));
+          }
+        }
+      }
+ 
+      // Open all generated URLs
+      for (const url of urlsToOpen) {
+        await shell.openExternal(url);
+      }
+    }
+  } catch (error) {
+    console.error('Failed to open tools:', error);
+    throw error;
+  }
+};
+ 
+export const exportQuickClipsConfig = async () => {
+  try {
+    const searchTerms = await storage.getSearchTerms();
+    const tools = await storage.getQuickTools();
+    const templates = await storage.getTemplates();
+ 
+    return {
+      searchTerms,
+      tools,
+      templates,
+      version: '1.0.0',
+    };
+  } catch (error) {
+    console.error('Failed to export quick clips config:', error);
+    throw error;
+  }
+};
+ 
+export const importQuickClipsConfig = async (config: any) => {
+  try {
+    // Use the new batch import method to avoid race conditions
+    await storage.importQuickClipsConfig(config);
+  } catch (error) {
+    console.error('Failed to import quick clips config:', error);
+    throw error;
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/clipboard/quick-tools.ts.html b/coverage/main/clipboard/quick-tools.ts.html new file mode 100644 index 0000000..73d2ef6 --- /dev/null +++ b/coverage/main/clipboard/quick-tools.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for main/clipboard/quick-tools.ts + + + + + + + + + +
+
+

All files / main/clipboard quick-tools.ts

+
+ +
+ 45% + Statements + 18/40 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 28.57% + Functions + 2/7 +
+ + +
+ 43.58% + Lines + 17/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79  +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +6x +6x +  +  +6x +6x +  +1x +  +  +  +6x +6x +  +6x +6x +3x +  +  +  +6x +  +  +  +  +  +  +  +  + 
import { storage } from '../storage';
+ 
+// Quick tools management functions
+export const getAllQuickTools = async () => {
+  try {
+    return await storage.getQuickTools();
+  } catch (error) {
+    console.error('Failed to get quick tools:', error);
+    throw error;
+  }
+};
+ 
+export const createQuickTool = async (name: string, url: string, captureGroups: string[]) => {
+  try {
+    return await storage.createQuickTool(name, url, captureGroups);
+  } catch (error) {
+    console.error('Failed to create quick tool:', error);
+    throw error;
+  }
+};
+ 
+export const updateQuickTool = async (id: string, updates: any) => {
+  try {
+    return await storage.updateQuickTool(id, updates);
+  } catch (error) {
+    console.error('Failed to update quick tool:', error);
+    throw error;
+  }
+};
+ 
+export const deleteQuickTool = async (id: string) => {
+  try {
+    await storage.deleteQuickTool(id);
+  } catch (error) {
+    console.error('Failed to delete quick tool:', error);
+    throw error;
+  }
+};
+ 
+export const reorderQuickTools = async (tools: any[]) => {
+  try {
+    await storage.reorderQuickTools(tools);
+  } catch (error) {
+    console.error('Failed to reorder quick tools:', error);
+    throw error;
+  }
+};
+ 
+export const validateToolUrl = async (url: string, captureGroups: string[]) => {
+  try {
+    const errors: string[] = [];
+ 
+    // Check if URL is valid
+    try {
+      new URL(url.replace(/\{[^}]+\}/g, 'test')); // Replace tokens with test values
+    } catch {
+      errors.push('Invalid URL format');
+    }
+ 
+    // Check if all capture groups in URL are in the provided list
+    const urlTokens = url.match(/\{([^}]+)\}/g) || [];
+    const urlCaptureGroups = urlTokens.map((token) => token.slice(1, -1));
+ 
+    for (const group of urlCaptureGroups) {
+      if (!captureGroups.includes(group)) {
+        errors.push(`Token '{${group}}' is not in the selected capture groups`);
+      }
+    }
+ 
+    return {
+      isValid: errors.length === 0,
+      errors,
+    };
+  } catch (error) {
+    console.error('Failed to validate tool URL:', error);
+    throw error;
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/hotkeys/actions.ts.html b/coverage/main/hotkeys/actions.ts.html new file mode 100644 index 0000000..2902bd0 --- /dev/null +++ b/coverage/main/hotkeys/actions.ts.html @@ -0,0 +1,613 @@ + + + + + + Code coverage report for main/hotkeys/actions.ts + + + + + + + + + +
+
+

All files / main/hotkeys actions.ts

+
+ +
+ 50% + Statements + 38/76 +
+ + +
+ 54.16% + Branches + 26/48 +
+ + +
+ 71.42% + Functions + 5/7 +
+ + +
+ 50% + Lines + 37/74 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177  +  +  +  +  +  +  +  +15x +  +  +11x +  +  +  +  +  +  +4x +  +3x +  +3x +1x +1x +  +  +  +2x +1x +  +  +2x +2x +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +4x +4x +4x +1x +1x +  +  +3x +3x +  +  +  +  +  +3x +3x +  +  +  +3x +  +3x +3x +  +  +  +  +  +  +  +  +  +3x +  +2x +2x +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +2x +2x +1x +  +  +1x +1x +1x +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { BrowserWindow, clipboard, nativeImage } from 'electron';
+import { storage } from '../storage';
+import { showNotification } from '../notifications';
+ 
+/**
+ * Handles all hotkey action implementations
+ */
+export class HotkeyActions {
+  private mainWindow: BrowserWindow | null = null;
+ 
+  setMainWindow(window: BrowserWindow | null): void {
+    this.mainWindow = window;
+  }
+ 
+  /**
+   * Toggle window visibility - focus if hidden/minimized, hide if currently focused
+   */
+  focusWindow(): void {
+    if (!this.mainWindow) return;
+ 
+    try {
+      // If window is visible and focused, hide it
+      if (this.mainWindow.isVisible() && this.mainWindow.isFocused()) {
+        this.mainWindow.hide();
+        return;
+      }
+ 
+      // Otherwise, show and focus the window
+      if (this.mainWindow.isMinimized()) {
+        this.mainWindow.restore();
+      }
+ 
+      this.mainWindow.show();
+      this.mainWindow.focus();
+ 
+      // On macOS, we need to bring the app to front
+      Iif (process.platform === 'darwin') {
+        require('electron').app.focus();
+      }
+    } catch (error) {
+      console.error('Error toggling window visibility:', error);
+    }
+  }
+ 
+  /**
+   * Copy a quick clip to the clipboard by index
+   */
+  async copyQuickClip(index: number): Promise<void> {
+    try {
+      const clips = await storage.getClips();
+      if (!clips || clips.length <= index) {
+        console.warn(`No clip at index ${index}`);
+        return;
+      }
+ 
+      const clipToCopy = clips[index];
+      Iif (!clipToCopy) {
+        console.warn(`No clip found at index ${index}`);
+        return;
+      }
+ 
+      // Notify renderer BEFORE copying to clipboard so it can set up duplicate detection
+      Eif (this.mainWindow && !this.mainWindow.isDestroyed()) {
+        this.mainWindow.webContents.send('hotkey-clip-copied', index);
+      }
+ 
+      // Copy the clip content with the appropriate format based on its type
+      this.copyClipToClipboard(clipToCopy);
+ 
+      console.log(`Hotkey: Copied clip ${index + 1} to clipboard`);
+      showNotification('Clip Copied', `Clip ${index + 1} copied to clipboard`);
+    } catch (error) {
+      console.error(`Error copying quick clip ${index}:`, error);
+    }
+  }
+ 
+  /**
+   * Copy a clip to the system clipboard based on its type
+   */
+  private copyClipToClipboard(clipToCopy: any): void {
+    switch (clipToCopy.clip.type) {
+      case 'text':
+        clipboard.writeText(clipToCopy.clip.content);
+        break;
+      case 'html':
+        clipboard.writeHTML(clipToCopy.clip.content);
+        break;
+      case 'rtf':
+        clipboard.writeRTF(clipToCopy.clip.content);
+        break;
+      case 'bookmark':
+        if (clipToCopy.clip.url && clipToCopy.clip.title) {
+          clipboard.writeBookmark(clipToCopy.clip.title, clipToCopy.clip.url);
+        } else {
+          clipboard.writeText(clipToCopy.clip.content);
+        }
+        break;
+      case 'image':
+        this.copyImageClip(clipToCopy.clip.content);
+        break;
+      default:
+        clipboard.writeText(clipToCopy.clip.content);
+    }
+  }
+ 
+  /**
+   * Handle copying image clips with fallback
+   */
+  private copyImageClip(content: string): void {
+    try {
+      const image = nativeImage.createFromDataURL(content);
+      if (!image.isEmpty()) {
+        clipboard.writeImage(image);
+      } else {
+        // Fallback to copying data URL as text
+        clipboard.writeText(content);
+      }
+    } catch (error) {
+      console.error('Failed to copy image, falling back to text:', error);
+      clipboard.writeText(content);
+    }
+  }
+ 
+  /**
+   * Toggle search bar in the main window
+   */
+  toggleSearchBar(): void {
+    Iif (!this.mainWindow) return;
+ 
+    try {
+      if (!this.mainWindow.isVisible() || this.mainWindow.isMinimized()) {
+        Iif (this.mainWindow.isMinimized()) {
+          this.mainWindow.restore();
+        }
+        this.mainWindow.show();
+        this.mainWindow.focus();
+        Iif (process.platform === 'darwin') {
+          require('electron').app.focus();
+        }
+      }
+ 
+      this.mainWindow.webContents.send('toggle-search');
+    } catch (error) {
+      console.error('Error toggling search bar:', error);
+    }
+  }
+ 
+  /**
+   * Open tools launcher for the first (most recent) clip
+   */
+  async openToolsLauncher(): Promise<void> {
+    try {
+      const clips = await storage.getClips();
+      if (!clips || clips.length === 0) {
+        console.warn('No clips available for tools launcher');
+        return;
+      }
+ 
+      const firstClip = clips[0];
+      if (!firstClip) {
+        console.warn('No first clip found');
+        return;
+      }
+ 
+      // Import the createToolsLauncherWindow function
+      const { createToolsLauncherWindow } = await import('../window/creation.js');
+      
+      // Open the tools launcher with the first clip's content
+      createToolsLauncherWindow(firstClip.clip.content);
+ 
+      console.log('Hotkey: Opened tools launcher for first clip');
+    } catch (error) {
+      console.error('Error opening tools launcher:', error);
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/hotkeys/index.html b/coverage/main/hotkeys/index.html new file mode 100644 index 0000000..50a7b89 --- /dev/null +++ b/coverage/main/hotkeys/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for main/hotkeys + + + + + + + + + +
+
+

All files main/hotkeys

+
+ +
+ 63.97% + Statements + 103/161 +
+ + +
+ 60% + Branches + 42/70 +
+ + +
+ 70.96% + Functions + 22/31 +
+ + +
+ 64.15% + Lines + 102/159 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
actions.ts +
+
50%38/7654.16%26/4871.42%5/750%37/74
manager.ts +
+
71.66%43/6066.66%12/1856.25%9/1671.66%43/60
registry.ts +
+
88%22/25100%4/4100%8/888%22/25
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/hotkeys/manager.ts.html b/coverage/main/hotkeys/manager.ts.html new file mode 100644 index 0000000..7aae281 --- /dev/null +++ b/coverage/main/hotkeys/manager.ts.html @@ -0,0 +1,586 @@ + + + + + + Code coverage report for main/hotkeys/manager.ts + + + + + + + + + +
+
+

All files / main/hotkeys manager.ts

+
+ +
+ 71.66% + Statements + 43/60 +
+ + +
+ 66.66% + Branches + 12/18 +
+ + +
+ 56.25% + Functions + 9/16 +
+ + +
+ 71.66% + Lines + 43/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168  +  +  +  +  +  +  +  +  +5x +5x +  +  +  +  +  +  +6x +6x +1x +1x +  +  +5x +5x +5x +5x +5x +  +  +  +  +  +  +6x +  +6x +  +6x +6x +  +6x +5x +5x +  +  +1x +1x +  +  +1x +  +  +1x +  +  +1x +  +  +1x +  +  +  +  +  +  +1x +1x +  +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +1x +5x +1x +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +1x +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  + 
import { BrowserWindow } from 'electron';
+import { storage } from '../storage';
+import { HotkeyRegistry } from './registry';
+import { HotkeyActions } from './actions';
+ 
+/**
+ * Main hotkey manager that coordinates registration and actions
+ */
+export class HotkeyManager {
+  private registry = new HotkeyRegistry();
+  private actions = new HotkeyActions();
+ 
+  setMainWindow(window: BrowserWindow | null): void {
+    this.actions.setMainWindow(window);
+  }
+ 
+  async initialize(): Promise<void> {
+    console.log('Hotkey Manager: Initialize called');
+    if (this.registry.isInitialized) {
+      console.log('Hotkey Manager: Already initialized, skipping');
+      return;
+    }
+ 
+    try {
+      console.log('Hotkey Manager: Starting initialization...');
+      await this.registerHotkeys();
+      this.registry.setInitialized(true);
+      console.log('Hotkey Manager: Initialization completed successfully');
+    } catch (error) {
+      console.error('Failed to initialize hotkey manager:', error);
+    }
+  }
+ 
+  async registerHotkeys(): Promise<void> {
+    try {
+      // Clear existing hotkeys
+      this.registry.unregisterAllHotkeys();
+ 
+      const settings = await storage.getSettings();
+      console.log('Hotkey Manager: Loaded settings:', JSON.stringify(settings.hotkeys, null, 2));
+ 
+      if (!settings.hotkeys?.enabled) {
+        console.log('Hotkey Manager: Hotkeys are disabled in settings');
+        return;
+      }
+ 
+      const { hotkeys } = settings;
+      console.log('Hotkey Manager: Registering hotkeys...');
+ 
+      // Register focus window hotkey
+      this.registerFocusWindowHotkey(hotkeys);
+ 
+      // Register quick clip hotkeys
+      this.registerQuickClipHotkeys(hotkeys);
+ 
+      // Register tools launcher hotkey
+      this.registerToolsLauncherHotkey(hotkeys);
+ 
+      // Register search clips hotkey
+      this.registerSearchHotkey(hotkeys);
+    } catch (error) {
+      console.error('Failed to register hotkeys:', error);
+    }
+  }
+ 
+  private registerFocusWindowHotkey(hotkeys: any): void {
+    Eif (hotkeys.focusWindow.enabled) {
+      console.log(
+        `Hotkey Manager: Attempting to register focus window hotkey: ${hotkeys.focusWindow.key}`
+      );
+      this.registry.registerHotkey(hotkeys.focusWindow.key, () => {
+        this.actions.focusWindow();
+      });
+    }
+  }
+ 
+  private registerQuickClipHotkeys(hotkeys: any): void {
+    // Note: Quick clip hotkeys copy clips by their display number (1-5)
+    const quickClipHotkeys = [
+      { config: hotkeys.quickClip1, index: 0 }, // Copy 1st clip (position 1)
+      { config: hotkeys.quickClip2, index: 1 }, // Copy 2nd clip (position 2)
+      { config: hotkeys.quickClip3, index: 2 }, // Copy 3rd clip (position 3)
+      { config: hotkeys.quickClip4, index: 3 }, // Copy 4th clip (position 4)
+      { config: hotkeys.quickClip5, index: 4 }, // Copy 5th clip (position 5)
+    ];
+ 
+    for (const { config, index } of quickClipHotkeys) {
+      if (config.enabled) {
+        console.log(
+          `Hotkey Manager: Attempting to register quick clip ${index} hotkey: ${config.key}`
+        );
+        this.registry.registerHotkey(config.key, () => {
+          this.actions.copyQuickClip(index);
+        });
+      }
+    }
+  }
+ 
+  private registerToolsLauncherHotkey(hotkeys: any): void {
+    // Handle case where openToolsLauncher setting doesn't exist yet (new feature)
+    const toolsLauncherConfig = hotkeys.openToolsLauncher || {
+      enabled: true,
+      key: 'CommandOrControl+Shift+T',
+    };
+ 
+    Iif (toolsLauncherConfig.enabled) {
+      console.log(
+        `Hotkey Manager: Attempting to register tools launcher hotkey: ${toolsLauncherConfig.key}`
+      );
+      this.registry.registerHotkey(toolsLauncherConfig.key, () => {
+        this.actions.openToolsLauncher();
+      });
+    }
+  }
+ 
+  private registerSearchHotkey(hotkeys: any): void {
+    const searchConfig = hotkeys.searchClips || {
+      enabled: true,
+      key: 'CommandOrControl+Shift+F',
+    };
+ 
+    Iif (searchConfig.enabled) {
+      console.log(
+        `Hotkey Manager: Attempting to register search clips hotkey: ${searchConfig.key}`
+      );
+      this.registry.registerHotkey(searchConfig.key, () => {
+        this.actions.toggleSearchBar();
+      });
+    }
+  }
+ 
+  async onSettingsChanged(): Promise<void> {
+    console.log(
+      'Hotkey Manager: onSettingsChanged called, isInitialized:',
+      this.registry.isInitialized
+    );
+    Iif (!this.registry.isInitialized) {
+      console.log('Hotkey Manager: Not initialized yet, initializing now...');
+      await this.initialize();
+      return;
+    }
+ 
+    try {
+      console.log('Hotkey Manager: Re-registering hotkeys after settings change...');
+      await this.registerHotkeys();
+    } catch (error) {
+      console.error('Failed to update hotkeys after settings change:', error);
+    }
+  }
+ 
+  cleanup(): void {
+    this.registry.cleanup();
+  }
+ 
+  // Expose registry methods for testing or advanced use cases
+  getCurrentHotkeys(): string[] {
+    return this.registry.getCurrentHotkeys();
+  }
+ 
+  isHotkeyRegistered(accelerator: string): boolean {
+    return this.registry.isHotkeyRegistered(accelerator);
+  }
+ 
+  get isInitialized(): boolean {
+    return this.registry.isInitialized;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/hotkeys/registry.ts.html b/coverage/main/hotkeys/registry.ts.html new file mode 100644 index 0000000..2409a5a --- /dev/null +++ b/coverage/main/hotkeys/registry.ts.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for main/hotkeys/registry.ts + + + + + + + + + +
+
+

All files / main/hotkeys registry.ts

+
+ +
+ 88% + Statements + 22/25 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 88% + Lines + 22/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83  +  +  +  +  +  +  +13x +  +  +  +  +  +11x +  +  +  +6x +  +  +  +  +  +  +12x +  +12x +1x +1x +  +  +11x +11x +10x +10x +10x +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +9x +3x +3x +  +  +  +  +9x +  +  +  +  +  +  +3x +  +  +  +  +  +  +2x +  +  +  +  +  +  +2x +2x +  +  + 
import { globalShortcut } from 'electron';
+import type { HotkeyRegistryState } from './types';
+ 
+/**
+ * Handles low-level hotkey registration and unregistration
+ */
+export class HotkeyRegistry {
+  private state: HotkeyRegistryState = {
+    isInitialized: false,
+    currentHotkeys: new Set(),
+  };
+ 
+  get isInitialized(): boolean {
+    return this.state.isInitialized;
+  }
+ 
+  setInitialized(value: boolean): void {
+    this.state.isInitialized = value;
+  }
+ 
+  /**
+   * Register a single hotkey with the system
+   */
+  registerHotkey(accelerator: string, callback: () => void): boolean {
+    try {
+      // Check if hotkey is already registered
+      if (this.state.currentHotkeys.has(accelerator)) {
+        console.warn(`Hotkey ${accelerator} is already registered`);
+        return false;
+      }
+ 
+      const success = globalShortcut.register(accelerator, callback);
+      if (success) {
+        this.state.currentHotkeys.add(accelerator);
+        console.log(`Registered hotkey: ${accelerator}`);
+        return true;
+      } else {
+        console.warn(`Failed to register hotkey: ${accelerator}`);
+        return false;
+      }
+    } catch (error) {
+      console.error(`Error registering hotkey ${accelerator}:`, error);
+      return false;
+    }
+  }
+ 
+  /**
+   * Unregister all currently registered hotkeys
+   */
+  unregisterAllHotkeys(): void {
+    this.state.currentHotkeys.forEach((accelerator) => {
+      try {
+        globalShortcut.unregister(accelerator);
+      } catch (error) {
+        console.error(`Error unregistering hotkey ${accelerator}:`, error);
+      }
+    });
+    this.state.currentHotkeys.clear();
+  }
+ 
+  /**
+   * Get the list of currently registered hotkey accelerators
+   */
+  getCurrentHotkeys(): string[] {
+    return Array.from(this.state.currentHotkeys);
+  }
+ 
+  /**
+   * Check if a specific hotkey is currently registered
+   */
+  isHotkeyRegistered(accelerator: string): boolean {
+    return this.state.currentHotkeys.has(accelerator);
+  }
+ 
+  /**
+   * Clean up all hotkeys on shutdown
+   */
+  cleanup(): void {
+    this.unregisterAllHotkeys();
+    this.state.isInitialized = false;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/defaults.ts.html b/coverage/main/storage/defaults.ts.html new file mode 100644 index 0000000..5c39ffa --- /dev/null +++ b/coverage/main/storage/defaults.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for main/storage/defaults.ts + + + + + + + + + +
+
+

All files / main/storage defaults.ts

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  + 
import type { UserSettings, AppData, HotkeySettings } from '../../shared/types';
+import { DEFAULT_MAX_CLIPS } from '../../shared/constants';
+ 
+export const DEFAULT_HOTKEY_SETTINGS: HotkeySettings = {
+  enabled: false,
+  focusWindow: {
+    enabled: true,
+    key: 'CommandOrControl+Shift+V',
+  },
+  quickClip1: {
+    enabled: true,
+    key: 'CommandOrControl+Shift+1',
+  },
+  quickClip2: {
+    enabled: true,
+    key: 'CommandOrControl+Shift+2',
+  },
+  quickClip3: {
+    enabled: true,
+    key: 'CommandOrControl+Shift+3',
+  },
+  quickClip4: {
+    enabled: true,
+    key: 'CommandOrControl+Shift+4',
+  },
+  quickClip5: {
+    enabled: true,
+    key: 'CommandOrControl+Shift+5',
+  },
+  openToolsLauncher: {
+    enabled: true,
+    key: 'CommandOrControl+Shift+T',
+  },
+  searchClips: {
+    enabled: true,
+    key: 'CommandOrControl+Shift+F',
+  },
+};
+ 
+export const DEFAULT_SETTINGS: UserSettings = {
+  maxClips: DEFAULT_MAX_CLIPS,
+  startMinimized: false,
+  autoStart: false,
+  theme: 'system',
+  windowTransparency: 0,
+  transparencyEnabled: false,
+  opaqueWhenFocused: true,
+  alwaysOnTop: false,
+  rememberWindowPosition: true,
+  showNotifications: false,
+  hotkeys: DEFAULT_HOTKEY_SETTINGS,
+};
+ 
+export const DEFAULT_DATA: AppData = {
+  clips: [],
+  settings: DEFAULT_SETTINGS,
+  templates: [],
+  searchTerms: [],
+  quickTools: [],
+  version: __APP_VERSION__,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/file-operations.ts.html b/coverage/main/storage/file-operations.ts.html new file mode 100644 index 0000000..ca0e534 --- /dev/null +++ b/coverage/main/storage/file-operations.ts.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for main/storage/file-operations.ts + + + + + + + + + +
+
+

All files / main/storage file-operations.ts

+
+ +
+ 92% + Statements + 23/25 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 92% + Lines + 23/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83  +  +  +  +  +  +  +2x +  +2x +  +2x +  +  +2x +  +  +2x +2x +  +  +  +  +  +2x +1x +  +1x +  +  +1x +1x +  +  +  +  +1x +1x +  +  +  +  +  +  +  +2x +  +2x +  +  +1x +  +  +1x +1x +  +  +1x +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  + 
import { safeStorage } from 'electron';
+import { promises as fs } from 'fs';
+ 
+/**
+ * Save data to encrypted storage
+ */
+export async function saveToFile(data: any, encryptedDataPath: string): Promise<void> {
+  const tempPath = encryptedDataPath + '.tmp';
+ 
+  try {
+    // Serialize data
+    const jsonData = JSON.stringify(data, null, 2);
+ 
+    // Encrypt data
+    const encryptedData = safeStorage.encryptString(jsonData);
+ 
+    // Clean up any existing temp file first
+    try {
+      await fs.unlink(tempPath);
+    } catch {
+      // Ignore if temp file doesn't exist
+    }
+ 
+    // Write to file atomically
+    await fs.writeFile(tempPath, encryptedData);
+    await fs.rename(tempPath, encryptedDataPath);
+ 
+    console.log('Data saved to secure storage');
+  } catch (error) {
+    // Clean up temp file on error
+    try {
+      await fs.unlink(tempPath);
+    } catch {
+      // Ignore cleanup errors
+    }
+ 
+    console.error('Failed to save data to storage:', error);
+    throw error;
+  }
+}
+ 
+/**
+ * Load data from encrypted storage
+ */
+export async function loadFromFile(encryptedDataPath: string): Promise<any> {
+  try {
+    // Check if encrypted file exists
+    await fs.access(encryptedDataPath);
+ 
+    // Read encrypted data
+    const encryptedData = await fs.readFile(encryptedDataPath);
+ 
+    // Decrypt data
+    const decryptedBuffer = safeStorage.decryptString(encryptedData);
+    const jsonData = Buffer.from(decryptedBuffer).toString('utf8');
+ 
+    // Parse and return data
+    return JSON.parse(jsonData);
+  } catch (error) {
+    if ((error as any).code === 'ENOENT') {
+      // File doesn't exist
+      throw new Error('FILE_NOT_FOUND');
+    } else E{
+      console.error('Failed to load data from storage:', error);
+      throw error;
+    }
+  }
+}
+ 
+/**
+ * Ensure data directory exists
+ */
+export async function ensureDataDirectory(dataPath: string): Promise<void> {
+  await fs.mkdir(dataPath, { recursive: true });
+}
+ 
+/**
+ * Check if encryption is available
+ */
+export function isEncryptionAvailable(): boolean {
+  return safeStorage.isEncryptionAvailable();
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/index.html b/coverage/main/storage/index.html new file mode 100644 index 0000000..4ab8579 --- /dev/null +++ b/coverage/main/storage/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for main/storage + + + + + + + + + +
+
+

All files main/storage

+
+ +
+ 90.12% + Statements + 73/81 +
+ + +
+ 95.58% + Branches + 65/68 +
+ + +
+ 77.77% + Functions + 21/27 +
+ + +
+ 91.89% + Lines + 68/74 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
defaults.ts +
+
100%3/3100%0/0100%0/0100%3/3
file-operations.ts +
+
92%23/2550%1/2100%4/492%23/25
migration.ts +
+
100%18/18100%50/50100%5/5100%18/18
search-terms.ts +
+
57.14%4/7100%0/057.14%4/760%3/5
templates.ts +
+
89.28%25/2887.5%14/1672.72%8/1191.3%21/23
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/migration.ts.html b/coverage/main/storage/migration.ts.html new file mode 100644 index 0000000..94c7912 --- /dev/null +++ b/coverage/main/storage/migration.ts.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for main/storage/migration.ts + + + + + + + + + +
+
+

All files / main/storage migration.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 50/50 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78  +  +  +  +  +  +  +  +11x +  +  +11x +2x +  +5x +  +  +  +  +11x +1x +  +  +  +  +  +  +11x +2x +  +3x +  +  +  +  +  +  +  +  +  +  +11x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +11x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +11x +1x +  +  +11x +  + 
import type { AppData } from '../../shared/types';
+import { DEFAULT_DATA, DEFAULT_SETTINGS } from './defaults';
+ 
+/**
+ * Migrate data from older versions
+ */
+export function migrateData(data: any): AppData {
+  // Start with default data
+  const migratedData: AppData = { ...DEFAULT_DATA };
+ 
+  // Copy over valid clips
+  if (data.clips && Array.isArray(data.clips)) {
+    migratedData.clips = data.clips.filter(
+      (item: any) =>
+        item?.clip && typeof item.clip.type === 'string' && typeof item.clip.content === 'string'
+    );
+  }
+ 
+  // Copy over valid settings
+  if (data.settings && typeof data.settings === 'object') {
+    migratedData.settings = {
+      ...DEFAULT_SETTINGS,
+      ...data.settings,
+    };
+  }
+ 
+  // Copy over valid templates
+  if (data.templates && Array.isArray(data.templates)) {
+    migratedData.templates = data.templates.filter(
+      (template: any) =>
+        template &&
+        typeof template.id === 'string' &&
+        typeof template.name === 'string' &&
+        typeof template.content === 'string' &&
+        typeof template.createdAt === 'number' &&
+        typeof template.updatedAt === 'number' &&
+        typeof template.order === 'number'
+    );
+  }
+ 
+  // Copy over valid search terms
+  if (data.searchTerms && Array.isArray(data.searchTerms)) {
+    migratedData.searchTerms = data.searchTerms.filter(
+      (searchTerm: any) =>
+        searchTerm &&
+        typeof searchTerm.id === 'string' &&
+        typeof searchTerm.name === 'string' &&
+        typeof searchTerm.pattern === 'string' &&
+        typeof searchTerm.enabled === 'boolean' &&
+        typeof searchTerm.createdAt === 'number' &&
+        typeof searchTerm.updatedAt === 'number' &&
+        typeof searchTerm.order === 'number'
+    );
+  }
+ 
+  // Copy over valid quick tools
+  if (data.quickTools && Array.isArray(data.quickTools)) {
+    migratedData.quickTools = data.quickTools.filter(
+      (quickTool: any) =>
+        quickTool &&
+        typeof quickTool.id === 'string' &&
+        typeof quickTool.name === 'string' &&
+        typeof quickTool.url === 'string' &&
+        Array.isArray(quickTool.captureGroups) &&
+        typeof quickTool.createdAt === 'number' &&
+        typeof quickTool.updatedAt === 'number' &&
+        typeof quickTool.order === 'number'
+    );
+  }
+ 
+  // Preserve version
+  if (data.version && typeof data.version === 'string') {
+    migratedData.version = data.version;
+  }
+ 
+  return migratedData;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/search-terms.ts.html b/coverage/main/storage/search-terms.ts.html new file mode 100644 index 0000000..7e39b87 --- /dev/null +++ b/coverage/main/storage/search-terms.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for main/storage/search-terms.ts + + + + + + + + + +
+
+

All files / main/storage search-terms.ts

+
+ +
+ 57.14% + Statements + 4/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 57.14% + Functions + 4/7 +
+ + +
+ 60% + Lines + 3/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  + 
import type { SearchTerm } from '../../shared/types';
+ 
+/**
+ * Generate a unique ID for any entity
+ */
+export function generateId(): string {
+  return Date.now() + '-' + Math.random().toString(36).substr(2, 9);
+}
+ 
+/**
+ * Create a new search term object
+ */
+export function createSearchTermObject(name: string, pattern: string, order: number): SearchTerm {
+  return {
+    id: generateId(),
+    name,
+    pattern,
+    enabled: true,
+    createdAt: Date.now(),
+    updatedAt: Date.now(),
+    order,
+  };
+}
+ 
+/**
+ * Update an existing search term with new data
+ */
+export function updateSearchTermObject(
+  searchTerm: SearchTerm,
+  updates: Partial<SearchTerm>
+): SearchTerm {
+  return {
+    ...searchTerm,
+    ...updates,
+    updatedAt: Date.now(),
+  };
+}
+ 
+/**
+ * Sort search terms by order
+ */
+export function sortSearchTermsByOrder(searchTerms: SearchTerm[]): SearchTerm[] {
+  return [...searchTerms].sort((a, b) => a.order - b.order);
+}
+ 
+/**
+ * Reorder search terms array
+ */
+export function reorderSearchTermsArray(searchTerms: SearchTerm[]): SearchTerm[] {
+  return searchTerms.map((searchTerm, index) => ({
+    ...searchTerm,
+    order: index,
+  }));
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/templates.ts.html b/coverage/main/storage/templates.ts.html new file mode 100644 index 0000000..aae9cac --- /dev/null +++ b/coverage/main/storage/templates.ts.html @@ -0,0 +1,388 @@ + + + + + + Code coverage report for main/storage/templates.ts + + + + + + + + + +
+
+

All files / main/storage templates.ts

+
+ +
+ 89.28% + Statements + 25/28 +
+ + +
+ 87.5% + Branches + 14/16 +
+ + +
+ 72.72% + Functions + 8/11 +
+ + +
+ 91.3% + Lines + 21/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +5x +5x +  +  +5x +8x +8x +5x +  +3x +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +6x +  +  +6x +2x +3x +2x +  +  +  +  +6x +6x +6x +  +  +6x +  + 
import type { Template } from '../../shared/types';
+ 
+/**
+ * Generate a unique ID for templates
+ */
+export function generateTemplateId(): string {
+  return 'template-' + Date.now() + '-' + Math.random().toString(36).substr(2, 9);
+}
+ 
+/**
+ * Create a new template object
+ */
+export function createTemplateObject(name: string, content: string, order: number): Template {
+  return {
+    id: generateTemplateId(),
+    name,
+    content,
+    createdAt: Date.now(),
+    updatedAt: Date.now(),
+    order,
+  };
+}
+ 
+/**
+ * Update an existing template with new data
+ */
+export function updateTemplateObject(template: Template, updates: Partial<Template>): Template {
+  return {
+    ...template,
+    ...updates,
+    updatedAt: Date.now(),
+  };
+}
+ 
+/**
+ * Sort templates by order
+ */
+export function sortTemplatesByOrder(templates: Template[]): Template[] {
+  return [...templates].sort((a, b) => a.order - b.order);
+}
+ 
+/**
+ * Reorder templates array
+ */
+export function reorderTemplatesArray(templates: Template[]): Template[] {
+  return templates.map((template, index) => ({
+    ...template,
+    order: index,
+  }));
+}
+ 
+/**
+ * Extract template tokens into positional ({c1}) and named ({groupName}) categories.
+ */
+export function extractTemplateTokens(content: string): {
+  positional: string[];
+  named: string[];
+} {
+  const positional: string[] = [];
+  const named: string[] = [];
+  const tokenRegex = /\{(\w+)\}/g;
+  let match;
+ 
+  while ((match = tokenRegex.exec(content)) !== null) {
+    const token = match[1];
+    if (/^c\d+$/.test(token)) {
+      if (!positional.includes(token)) positional.push(token);
+    } else {
+      Eif (!named.includes(token)) named.push(token);
+    }
+  }
+ 
+  return { positional, named };
+}
+ 
+/**
+ * Generate text from template using clipboard contents and optional named captures.
+ */
+export function generateTextFromTemplate(
+  template: Template,
+  clipContents: string[],
+  captures?: Record<string, string>
+): string {
+  let result = template.content;
+ 
+  // First pass: replace named capture group tokens (skip positional {c\d+} tokens)
+  if (captures) {
+    result = result.replace(/\{(\w+)\}/g, (match, tokenName) => {
+      if (/^c\d+$/.test(tokenName)) return match; // skip positional
+      return tokenName in captures ? captures[tokenName] : match;
+    });
+  }
+ 
+  // Second pass: replace positional {c#} tokens with clip contents
+  result = result.replace(/\{c(\d+)\}/g, (match, clipIndex) => {
+    const index = parseInt(clipIndex) - 1; // Convert to 0-based index
+    return index >= 0 && index < clipContents.length ? clipContents[index] : match;
+  });
+ 
+  return result;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/prettify.css b/coverage/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/coverage/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/prettify.js b/coverage/prettify.js new file mode 100644 index 0000000..b322523 --- /dev/null +++ b/coverage/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html new file mode 100644 index 0000000..9b0a8d6 --- /dev/null +++ b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for renderer/src/components/clips/clip/BookmarkClip.tsx + + + + + + + + + +
+
+

All files / renderer/src/components/clips/clip BookmarkClip.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +1x +2x +  +2x +  +  +  +  +  +  +  +  + 
import classNames from 'classnames';
+import { ClipItem } from '../../../providers/clips';
+import { useTheme } from '../../../providers/theme';
+import styles from './Clip.module.css';
+ 
+interface BookmarkClipProps {
+  clip: ClipItem;
+}
+ 
+export const BookmarkClip = ({ clip }: BookmarkClipProps) => {
+  const { isLight } = useTheme();
+ 
+  return (
+    <div>
+      <span className={classNames(styles.typeLabel, { [styles.light]: isLight })}>Bookmark:</span>
+      <span>
+        {clip.title || 'Untitled'} - {clip.url}
+      </span>
+    </div>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html new file mode 100644 index 0000000..09b9b67 --- /dev/null +++ b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for renderer/src/components/clips/clip/HtmlClip.tsx + + + + + + + + + +
+
+

All files / renderer/src/components/clips/clip HtmlClip.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  + 
import classNames from 'classnames';
+import { ClipItem } from '../../../providers/clips';
+import { useTheme } from '../../../providers/theme';
+import styles from './Clip.module.css';
+ 
+interface HtmlClipProps {
+  clip: ClipItem;
+}
+ 
+export const HtmlClip = ({ clip }: HtmlClipProps) => {
+  const { isLight } = useTheme();
+  return (
+    <div>
+      <span className={classNames(styles.typeLabel, { [styles.light]: isLight })}>HTML:</span>
+      <span>{clip.content}</span>
+    </div>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html new file mode 100644 index 0000000..f2dc308 --- /dev/null +++ b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for renderer/src/components/clips/clip/ImageClip.tsx + + + + + + + + + +
+
+

All files / renderer/src/components/clips/clip ImageClip.tsx

+
+ +
+ 15.62% + Statements + 5/32 +
+ + +
+ 7.14% + Branches + 1/14 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 15.62% + Lines + 5/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99  +  +  +  +  +  +  +  +  +  +1x +3x +3x +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useRef } from 'react';
+import classNames from 'classnames';
+import { ClipItem } from '../../../providers/clips';
+import { useTheme } from '../../../providers/theme';
+import styles from './Clip.module.css';
+ 
+interface ImageClipProps {
+  clip: ClipItem;
+}
+ 
+export const ImageClip = ({ clip }: ImageClipProps) => {
+  const { isLight } = useTheme();
+  const popoverRef = useRef<HTMLDivElement>(null);
+ 
+  const handleImageMouseEnter = (e: React.MouseEvent<HTMLImageElement>) => {
+    const popover = popoverRef.current;
+    if (popover) {
+      const rect = e.currentTarget.getBoundingClientRect();
+      const viewportHeight = window.innerHeight;
+      const viewportWidth = window.innerWidth;
+      const popoverHeight = 320; // 20rem max-height
+      const popoverWidth = 320; // 20rem max-width
+ 
+      // Calculate preferred position (to the right of the image)
+      let left = rect.right + 16;
+      let top = rect.top + rect.height / 2 - popoverHeight / 2; // Center the popover vertically on the image
+ 
+      // Check if popover would extend beyond right edge of viewport
+      if (left + popoverWidth > viewportWidth) {
+        // Position to the left of the image instead
+        left = rect.left - popoverWidth - 16;
+      }
+ 
+      // Ensure popover doesn't go beyond left edge
+      if (left < 16) {
+        left = 16;
+      }
+ 
+      // Check if popover would extend beyond bottom of viewport
+      if (top + popoverHeight > viewportHeight) {
+        // Position at bottom edge of viewport with padding
+        top = viewportHeight - popoverHeight - 16;
+      }
+ 
+      // Check if popover would extend beyond top of viewport
+      if (top < 16) {
+        top = 16;
+      }
+ 
+      popover.style.left = `${left}px`;
+      popover.style.top = `${top}px`;
+      popover.style.transform = 'none'; // Always use none since we calculate exact position
+    }
+  };
+ 
+  return (
+    <div className={styles.imagePreviewContainer}>
+      <img
+        src={clip.content}
+        alt="Clipboard image preview"
+        className={classNames(styles.imagePreview, { [styles.light]: isLight })}
+        onMouseEnter={handleImageMouseEnter}
+        onError={(e) => {
+          // Fallback to text if image fails to load
+          const target = e.target as HTMLImageElement;
+          target.style.display = 'none';
+          const fallback = document.createElement('span');
+          fallback.textContent = 'Invalid image data';
+          fallback.style.color = isLight ? '#666666' : 'rgb(156 163 175)';
+          fallback.style.fontSize = '0.75rem';
+          target.parentNode?.appendChild(fallback);
+        }}
+      />
+      <div
+        ref={popoverRef}
+        className={classNames(styles.imagePopover, { [styles.light]: isLight })}
+      >
+        <img
+          src={clip.content}
+          alt="Large image preview"
+          className={classNames(styles.popoverImage, { [styles.light]: isLight })}
+        />
+      </div>
+      <div className={styles.imageInfo}>
+        <span className={classNames(styles.imageFilename, { [styles.light]: isLight })}>
+          Image (
+          {clip.content.startsWith('data:image/')
+            ? clip.content.split(';')[0].split('/')[1].toUpperCase()
+            : 'Unknown format'}
+          )
+        </span>
+        <span className={classNames(styles.imageSize, { [styles.light]: isLight })}>
+          {Math.round((clip.content.length * 0.75) / 1024)} KB
+        </span>
+      </div>
+    </div>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html new file mode 100644 index 0000000..a752421 --- /dev/null +++ b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html @@ -0,0 +1,751 @@ + + + + + + Code coverage report for renderer/src/components/clips/clip/TextClip.tsx + + + + + + + + + +
+
+

All files / renderer/src/components/clips/clip TextClip.tsx

+
+ +
+ 29.68% + Statements + 19/64 +
+ + +
+ 15.55% + Branches + 7/45 +
+ + +
+ 27.27% + Functions + 3/11 +
+ + +
+ 29.68% + Lines + 19/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +3x +3x +  +  +3x +3x +3x +3x +  +  +3x +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +3x +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +3x +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useRef, useState, useEffect, useCallback } from 'react';
+import classNames from 'classnames';
+import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
+import { materialDark, materialLight } from 'react-syntax-highlighter/dist/esm/styles/prism';
+import { ClipItem } from '../../../providers/clips';
+import { useTheme } from '../../../providers/theme';
+import { useLanguageDetection } from '../../../providers/languageDetection';
+import { mapToSyntaxHighlighterLanguage } from '../../../utils/languageDetection';
+import styles from './Clip.module.css';
+ 
+interface TextClipProps {
+  clip: ClipItem;
+  onUpdate: (newContent: string) => void;
+  onEditingChange?: (isEditing: boolean) => void;
+}
+ 
+export const TextClip = ({ clip, onUpdate, onEditingChange }: TextClipProps) => {
+  const { isLight } = useTheme();
+  const { isCodeDetectionEnabled } = useLanguageDetection();
+ 
+  // State for inline editing
+  const [isEditing, setIsEditing] = useState(false);
+  const [editValue, setEditValue] = useState('');
+  const debounceRef = useRef<NodeJS.Timeout | null>(null);
+  const textareaRef = useRef<HTMLTextAreaElement>(null);
+ 
+  // Auto-resize textarea
+  useEffect(() => {
+    Iif (isEditing && textareaRef.current) {
+      const textarea = textareaRef.current;
+      textarea.style.height = 'auto';
+      const newHeight = `${textarea.scrollHeight}px`;
+      textarea.style.height = newHeight;
+ 
+      // Also update the syntax highlighter container if it exists
+      const container = textarea.parentElement?.querySelector('.syntaxHighlightContainer');
+      if (container) {
+        (container as HTMLElement).style.height = newHeight;
+      }
+    }
+  }, [isEditing, editValue]);
+ 
+  // Debounced update function
+  const debouncedUpdate = useCallback(
+    (newContent: string) => {
+      if (debounceRef.current) {
+        clearTimeout(debounceRef.current);
+      }
+ 
+      debounceRef.current = setTimeout(() => {
+        if (newContent !== clip.content) {
+          onUpdate(newContent);
+        }
+      }, 500); // 500ms debounce
+    },
+    [clip.content, onUpdate]
+  );
+ 
+  // Clean up timeout on unmount
+  useEffect(() => {
+    return () => {
+      if (debounceRef.current) {
+        clearTimeout(debounceRef.current);
+      }
+    };
+  }, []);
+ 
+  const handleTextClick = () => {
+    if (clip.content.trim() !== '') {
+      setIsEditing(true);
+      setEditValue(clip.content);
+      onEditingChange?.(true);
+    }
+  };
+ 
+  const handleTextChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {
+    const newValue = e.target.value;
+    setEditValue(newValue);
+    debouncedUpdate(newValue);
+  };
+ 
+  const handleTextBlur = () => {
+    setIsEditing(false);
+    onEditingChange?.(false);
+    // Force immediate update on blur if there are pending changes
+    if (debounceRef.current) {
+      clearTimeout(debounceRef.current);
+      if (editValue !== clip.content) {
+        onUpdate(editValue);
+      }
+    }
+  };
+ 
+  const handleTextKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
+    if (e.key === 'Enter' && !e.shiftKey) {
+      e.preventDefault();
+      handleTextBlur();
+    } else if (e.key === 'Escape') {
+      setEditValue(clip.content); // Reset to original value
+      setIsEditing(false);
+      onEditingChange?.(false);
+      if (debounceRef.current) {
+        clearTimeout(debounceRef.current);
+      }
+    }
+  };
+ 
+  Iif (isEditing) {
+    // Check if syntax highlighting should be applied
+    const shouldHighlight = isCodeDetectionEnabled && clip.isCode && clip.language;
+ 
+    if (shouldHighlight) {
+      const syntaxLanguage = mapToSyntaxHighlighterLanguage(clip.language!);
+      const syntaxStyle = isLight ? materialLight : materialDark;
+      const borderColor = isLight ? '#d0d0d0' : '#404040';
+      const backgroundColor = isLight ? '#f8f8f8' : '#404040';
+ 
+      return (
+        <div className={styles.textEditorWrapper}>
+          <div className={styles.syntaxHighlightContainer}>
+            <SyntaxHighlighter
+              language={syntaxLanguage}
+              style={syntaxStyle}
+              customStyle={{
+                margin: 0,
+                padding: 0,
+                background: backgroundColor,
+                fontSize: 'inherit',
+                fontFamily: 'inherit',
+                lineHeight: 'inherit',
+                border: `1px solid ${borderColor}`,
+                borderRadius: '0.25rem',
+                overflow: 'hidden',
+                boxSizing: 'border-box',
+              }}
+              codeTagProps={{
+                style: {
+                  fontFamily: 'inherit',
+                  fontSize: 'inherit',
+                  lineHeight: 'inherit',
+                  background: 'transparent !important',
+                  padding: 0,
+                  margin: 0,
+                },
+              }}
+              preTag="pre"
+              PreTag={({ children, ...props }) => (
+                <pre {...props} style={{ ...props.style, margin: 0, padding: '0.125rem 0.25rem' }}>
+                  {children}
+                </pre>
+              )}
+            >
+              {editValue}
+            </SyntaxHighlighter>
+            <textarea
+              ref={textareaRef}
+              value={editValue}
+              onChange={handleTextChange}
+              onBlur={handleTextBlur}
+              onKeyDown={handleTextKeyDown}
+              className={classNames(styles.textEditor, styles.syntaxOverlay, {
+                [styles.light]: isLight,
+              })}
+              autoFocus
+              rows={1}
+              spellCheck={false}
+              style={{
+                resize: 'none',
+                minHeight: '1.2em',
+                color: 'transparent',
+                caretColor: isLight ? '#000' : '#fff',
+                lineHeight: 'inherit',
+              }}
+            />
+          </div>
+        </div>
+      );
+    } else {
+      // Regular textarea without syntax highlighting
+      return (
+        <div className={styles.textEditorWrapper}>
+          <textarea
+            ref={textareaRef}
+            value={editValue}
+            onChange={handleTextChange}
+            onBlur={handleTextBlur}
+            onKeyDown={handleTextKeyDown}
+            className={classNames(styles.textEditor, { [styles.light]: isLight })}
+            autoFocus
+            rows={1}
+            spellCheck={false}
+            style={{
+              resize: 'none',
+              minHeight: '1.2em',
+            }}
+          />
+        </div>
+      );
+    }
+  } else {
+    // Display mode - single line with no language indicators
+    // Convert multiline text to single line for display
+    const displayContent =
+      clip.content.trim() === ''
+        ? '(empty)'
+        : clip.content.replace(/\r?\n/g, ' ').replace(/\s+/g, ' ');
+ 
+    return (
+      <span
+        onClick={handleTextClick}
+        className={classNames(
+          styles.editableText,
+          { [styles.light]: isLight },
+          { [styles.emptyText]: clip.content.trim() === '' }
+        )}
+        title={clip.content.trim() === '' ? 'Empty clip' : 'Click to edit'}
+      >
+        {displayContent}
+      </span>
+    );
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/index.html b/coverage/renderer/src/components/clips/clip/index.html new file mode 100644 index 0000000..c6820f3 --- /dev/null +++ b/coverage/renderer/src/components/clips/clip/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for renderer/src/components/clips/clip + + + + + + + + + +
+
+

All files renderer/src/components/clips/clip

+
+ +
+ 29.41% + Statements + 30/102 +
+ + +
+ 16.39% + Branches + 10/61 +
+ + +
+ 37.5% + Functions + 6/16 +
+ + +
+ 29.41% + Lines + 30/102 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
BookmarkClip.tsx +
+
100%3/3100%2/2100%1/1100%3/3
HtmlClip.tsx +
+
100%3/3100%0/0100%1/1100%3/3
ImageClip.tsx +
+
15.62%5/327.14%1/1433.33%1/315.62%5/32
TextClip.tsx +
+
29.68%19/6415.55%7/4527.27%3/1129.68%19/64
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/hooks/index.html b/coverage/renderer/src/hooks/index.html new file mode 100644 index 0000000..988dad9 --- /dev/null +++ b/coverage/renderer/src/hooks/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for renderer/src/hooks + + + + + + + + + +
+
+

All files renderer/src/hooks

+
+ +
+ 77.77% + Statements + 21/27 +
+ + +
+ 60% + Branches + 6/10 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 77.77% + Lines + 21/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
usePatternDetection.ts +
+
77.77%21/2760%6/1075%3/477.77%21/27
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/hooks/usePatternDetection.ts.html b/coverage/renderer/src/hooks/usePatternDetection.ts.html new file mode 100644 index 0000000..80c34d7 --- /dev/null +++ b/coverage/renderer/src/hooks/usePatternDetection.ts.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for renderer/src/hooks/usePatternDetection.ts + + + + + + + + + +
+
+

All files / renderer/src/hooks usePatternDetection.ts

+
+ +
+ 77.77% + Statements + 21/27 +
+ + +
+ 60% + Branches + 6/10 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 77.77% + Lines + 21/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58  +  +  +  +  +  +  +7x +7x +7x +  +7x +4x +  +4x +2x +2x +2x +  +  +2x +1x +1x +1x +  +1x +1x +1x +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +2x +  +2x +  +  +  +  +  +7x +  +  +  +  +  + 
import { useState, useEffect } from 'react';
+import { PatternMatch } from '../../../shared/types';
+ 
+/**
+ * Hook to detect patterns in clip content using Quick Clips search terms
+ */
+export function usePatternDetection(content: string) {
+  const [hasPatterns, setHasPatterns] = useState(false);
+  const [patterns, setPatterns] = useState<PatternMatch[]>([]);
+  const [loading, setLoading] = useState(false);
+ 
+  useEffect(() => {
+    let isCancelled = false;
+ 
+    if (!content || content.trim().length === 0) {
+      setHasPatterns(false);
+      setPatterns([]);
+      return;
+    }
+ 
+    const detectPatterns = async () => {
+      setLoading(true);
+      try {
+        const matches = await window.api.quickClipsScanText(content);
+ 
+        Eif (!isCancelled) {
+          setPatterns(matches);
+          setHasPatterns(matches.length > 0);
+        }
+      } catch (error) {
+        console.error('Failed to scan for patterns:', error);
+        if (!isCancelled) {
+          setPatterns([]);
+          setHasPatterns(false);
+        }
+      } finally {
+        Eif (!isCancelled) {
+          setLoading(false);
+        }
+      }
+    };
+ 
+    // Debounce pattern detection to avoid excessive API calls
+    const timeoutId = setTimeout(detectPatterns, 300);
+ 
+    return () => {
+      isCancelled = true;
+      clearTimeout(timeoutId);
+    };
+  }, [content]);
+ 
+  return {
+    hasPatterns,
+    patterns,
+    loading,
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/providers/index.html b/coverage/renderer/src/providers/index.html new file mode 100644 index 0000000..300b0e5 --- /dev/null +++ b/coverage/renderer/src/providers/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for renderer/src/providers + + + + + + + + + +
+
+

All files renderer/src/providers

+
+ +
+ 81.35% + Statements + 48/59 +
+ + +
+ 60% + Branches + 12/20 +
+ + +
+ 81.81% + Functions + 9/11 +
+ + +
+ 85.18% + Lines + 46/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
theme.tsx +
+
81.35%48/5960%12/2081.81%9/1185.18%46/54
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/providers/theme.tsx.html b/coverage/renderer/src/providers/theme.tsx.html new file mode 100644 index 0000000..11d9ae0 --- /dev/null +++ b/coverage/renderer/src/providers/theme.tsx.html @@ -0,0 +1,496 @@ + + + + + + Code coverage report for renderer/src/providers/theme.tsx + + + + + + + + + +
+
+

All files / renderer/src/providers theme.tsx

+
+ +
+ 81.35% + Statements + 48/59 +
+ + +
+ 60% + Branches + 12/20 +
+ + +
+ 81.81% + Functions + 9/11 +
+ + +
+ 85.18% + Lines + 46/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +1x +5x +5x +  +  +5x +  +  +4x +3x +  +1x +  +  +4x +  +  +4x +4x +4x +  +  +  +  +  +  +  +5x +3x +3x +  +3x +3x +3x +3x +3x +  +  +  +  +  +  +  +3x +  +  +  +5x +3x +  +3x +  +  +  +  +  +  +  +3x +  +  +3x +  +  +  +5x +5x +  +4x +4x +  +4x +4x +  +  +5x +1x +1x +  +  +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +5x +  +  +1x +8x +8x +2x +  +5x +  + 
import React, {
+  createContext,
+  useContext,
+  useState,
+  useEffect,
+  useCallback,
+  ReactNode,
+} from 'react';
+import type { UserSettings } from '../../../shared/types';
+ 
+export type Theme = 'light' | 'dark' | 'system';
+ 
+interface ThemeContextType {
+  theme: Theme;
+  effectiveTheme: 'light' | 'dark';
+  setTheme: (theme: Theme) => void;
+  isLight: boolean;
+  isDark: boolean;
+}
+ 
+const ThemeContext = createContext<ThemeContextType | undefined>(undefined);
+ 
+interface ThemeProviderProps {
+  children: ReactNode;
+}
+ 
+export const ThemeProvider: React.FC<ThemeProviderProps> = ({ children }) => {
+  const [theme, setThemeState] = useState<Theme>('system');
+  const [effectiveTheme, setEffectiveTheme] = useState<'light' | 'dark'>('dark');
+ 
+  // Update effective theme based on user preference and system preference
+  const updateEffectiveTheme = useCallback((themePreference: Theme) => {
+    let resolvedTheme: 'light' | 'dark';
+ 
+    if (themePreference === 'system') {
+      resolvedTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
+    } else {
+      resolvedTheme = themePreference;
+    }
+ 
+    setEffectiveTheme(resolvedTheme);
+ 
+    // Apply theme to document body for global CSS
+    if (resolvedTheme === 'light') {
+      document.body.classList.add('light');
+      document.body.classList.remove('dark');
+    } else E{
+      document.body.classList.add('dark');
+      document.body.classList.remove('light');
+    }
+  }, []);
+ 
+  // Load theme from settings
+  useEffect(() => {
+    const loadTheme = async () => {
+      Iif (!window.api) return;
+ 
+      try {
+        const settings: UserSettings = await window.api.storageGetSettings();
+        const userTheme = settings?.theme || 'system';
+        setThemeState(userTheme);
+        updateEffectiveTheme(userTheme);
+      } catch (error) {
+        console.error('Failed to load theme settings:', error);
+        // Default to system theme
+        updateEffectiveTheme('system');
+      }
+    };
+ 
+    loadTheme();
+  }, []);
+ 
+  // Listen for settings changes from other windows
+  useEffect(() => {
+    Iif (!window.api?.onSettingsUpdated) return;
+ 
+    const handleSettingsUpdate = (updatedSettings: UserSettings) => {
+      if (updatedSettings.theme) {
+        setThemeState(updatedSettings.theme);
+        updateEffectiveTheme(updatedSettings.theme);
+      }
+    };
+ 
+    // onSettingsUpdated now returns a cleanup function
+    const cleanup = window.api.onSettingsUpdated(handleSettingsUpdate);
+ 
+    // Return the cleanup function to remove only this specific listener
+    return cleanup;
+  }, []); // Empty dependency array since we want this to run only once
+ 
+  // Listen for system theme changes when using system theme
+  useEffect(() => {
+    if (theme !== 'system') return;
+ 
+    const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
+    const handleChange = () => updateEffectiveTheme('system');
+ 
+    mediaQuery.addEventListener('change', handleChange);
+    return () => mediaQuery.removeEventListener('change', handleChange);
+  }, [theme]);
+ 
+  const setTheme = async (newTheme: Theme) => {
+    setThemeState(newTheme);
+    updateEffectiveTheme(newTheme);
+ 
+    // Save theme to settings
+    Eif (window.api) {
+      try {
+        const currentSettings: UserSettings = await window.api.storageGetSettings();
+        await window.api.storageSaveSettings({
+          ...currentSettings,
+          theme: newTheme,
+        });
+      } catch (error) {
+        console.error('Failed to save theme settings:', error);
+      }
+    }
+  };
+ 
+  const contextValue: ThemeContextType = {
+    theme,
+    effectiveTheme,
+    setTheme,
+    isLight: effectiveTheme === 'light',
+    isDark: effectiveTheme === 'dark',
+  };
+ 
+  return <ThemeContext.Provider value={contextValue}>{children}</ThemeContext.Provider>;
+};
+ 
+export const useTheme = (): ThemeContextType => {
+  const context = useContext(ThemeContext);
+  if (context === undefined) {
+    throw new Error('useTheme must be used within a ThemeProvider');
+  }
+  return context;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/utils/index.html b/coverage/renderer/src/utils/index.html new file mode 100644 index 0000000..06681cc --- /dev/null +++ b/coverage/renderer/src/utils/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for renderer/src/utils + + + + + + + + + +
+
+

All files renderer/src/utils

+
+ +
+ 90.56% + Statements + 48/53 +
+ + +
+ 76.47% + Branches + 26/34 +
+ + +
+ 100% + Functions + 12/12 +
+ + +
+ 90.38% + Lines + 47/52 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
languageDetection.ts +
+
90.56%48/5376.47%26/34100%12/1290.38%47/52
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/utils/languageDetection.ts.html b/coverage/renderer/src/utils/languageDetection.ts.html new file mode 100644 index 0000000..d8d652e --- /dev/null +++ b/coverage/renderer/src/utils/languageDetection.ts.html @@ -0,0 +1,1720 @@ + + + + + + Code coverage report for renderer/src/utils/languageDetection.ts + + + + + + + + + +
+
+

All files / renderer/src/utils languageDetection.ts

+
+ +
+ 90.56% + Statements + 48/53 +
+ + +
+ 76.47% + Branches + 26/34 +
+ + +
+ 100% + Functions + 12/12 +
+ + +
+ 90.38% + Lines + 47/52 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x +  +2x +  +  +6x +  +  +6x +84x +  +  +6x +  +6x +84x +  +  +84x +792x +792x +792x +21x +  +  +  +  +84x +606x +606x +23x +  +  +  +  +84x +156x +  +  +  +  +  +84x +  +84x +  +  +  +6x +6x +  +6x +84x +  +9x +9x +  +  +  +6x +  +  +  +  +  +  +  +  +6x +  +2x +  +  +  +4x +3x +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +1x +25x +25x +  +  +  +  +  +  +1x +  +1x +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +22x +  +  +  +  +  +  +16x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +16x +  + 
/**
+ * Language detection ut  {
+    name: 'typescript',
+    extensions: ['.ts', '.tsx'],
+    keywords: ['interface', 'type', 'enum', 'namespace', 'declare', 'readonly', 'private', 'public', 'protected', 'const', 'let'],
+    patterns: [
+      /interface\s+\w+/,
+      /type\s+\w+\s*=/,
+      /:\s*(string|number|boolean|void|any|unknown|object)/,
+      /enum\s+\w+/,
+      /<.*>/,
+      /React\.FC/,
+      /useState|useEffect|useCallback/,
+      /\w+\s*:\s*\w+\s*=>/,        // Arrow function with type annotation
+      /=>\s*\{/,                   // Arrow function body
+      /const\s+\w+\s*:\s*\w+/,     // Typed constants
+      /\w+\.\w+\s*\(/,             // Method calls like setThemeState()
+      /\(\w+:\s*\w+\)/,            // Function parameters with types
+      /\w+Settings/,               // Common TS naming patterns
+      /update\w+\(/,               // Update function patterns
+      /const\s+\w+\s*=\s*\(/,      // const functionName = (
+      /if\s*\(\w+\.\w+\)/,         // if (object.property)
+      /\w+\.\w+\);/,               // method calls with semicolon
+    ],
+    priority: 8  // Increased priority for better detection
+  },snippets
+ */
+ 
+interface LanguagePattern {
+  name: string;
+  extensions: string[];
+  keywords: string[];
+  patterns: RegExp[];
+  priority: number; // Higher priority wins in case of conflicts
+}
+ 
+const LANGUAGE_PATTERNS: LanguagePattern[] = [
+  {
+    name: 'javascript',
+    extensions: ['.js', '.jsx', '.mjs'],
+    keywords: [
+      'function',
+      'const',
+      'let',
+      'var',
+      'class',
+      'extends',
+      'import',
+      'export',
+      'async',
+      'await',
+      'console.log',
+      'if',
+      'else',
+    ],
+    patterns: [
+      /console\.log\s*\(/,
+      /function\s+\w+\s*\(/,
+      /=>\s*[{(]/,
+      /require\s*\(\s*['"`]/,
+      /import\s+.*\s+from\s+['"`]/,
+      /export\s+(default\s+)?/,
+      /\.addEventListener\s*\(/,
+      /document\.(getElementById|querySelector)/,
+      /const\s+\w+\s*=/,
+      /let\s+\w+\s*=/,
+      /var\s+\w+\s*=/,
+      /\w+\.\w+\s*\(/, // Method calls
+      /if\s*\(/, // Conditionals
+      /\{\s*\w+/, // Object literals
+    ],
+    priority: 6, // Increased priority
+  },
+  {
+    name: 'typescript',
+    extensions: ['.ts', '.tsx'],
+    keywords: [
+      'interface',
+      'type',
+      'enum',
+      'const',
+      'namespace',
+      'declare',
+      'readonly',
+      'private',
+      'public',
+      'protected',
+    ],
+    patterns: [
+      /interface\s+\w+/,
+      /type\s+\w+\s*=/,
+      /:\s*(string|number|boolean|void|any|unknown)/,
+      /enum\s+\w+/,
+      /<.*>/,
+      /React\.FC/,
+      /useState|useEffect|useCallback/,
+    ],
+    priority: 7,
+  },
+  {
+    name: 'python',
+    extensions: ['.py', '.pyw'],
+    keywords: [
+      'def',
+      'class',
+      'import',
+      'from',
+      'if',
+      'elif',
+      'else',
+      'for',
+      'while',
+      'try',
+      'except',
+      'finally',
+      'with',
+      'as',
+      'lambda',
+    ],
+    patterns: [
+      /def\s+\w+\s*\(/,
+      /class\s+\w+.*:/,
+      /if\s+__name__\s*==\s*['"]__main__['"]/,
+      /import\s+\w+/,
+      /from\s+\w+\s+import/,
+      /print\s*\(/,
+      /range\s*\(/,
+      /len\s*\(/,
+    ],
+    priority: 6,
+  },
+  {
+    name: 'java',
+    extensions: ['.java'],
+    keywords: [
+      'public',
+      'private',
+      'protected',
+      'static',
+      'final',
+      'abstract',
+      'class',
+      'interface',
+      'extends',
+      'implements',
+      'package',
+    ],
+    patterns: [
+      /public\s+static\s+void\s+main/,
+      /public\s+class\s+\w+/,
+      /System\.out\.println/,
+      /package\s+[\w.]+;/,
+      /import\s+[\w.]+;/,
+      /@Override/,
+      /new\s+\w+\s*\(/,
+    ],
+    priority: 6,
+  },
+  {
+    name: 'csharp',
+    extensions: ['.cs'],
+    keywords: [
+      'using',
+      'namespace',
+      'class',
+      'interface',
+      'struct',
+      'enum',
+      'public',
+      'private',
+      'protected',
+      'internal',
+      'static',
+      'readonly',
+    ],
+    patterns: [
+      /using\s+System/,
+      /namespace\s+\w+/,
+      /public\s+class\s+\w+/,
+      /Console\.WriteLine/,
+      /string\[\]\s+args/,
+      /\[.*Attribute.*\]/,
+      /var\s+\w+\s*=/,
+    ],
+    priority: 6,
+  },
+  {
+    name: 'cpp',
+    extensions: ['.cpp', '.cc', '.cxx', '.c++'],
+    keywords: [
+      '#include',
+      'using',
+      'namespace',
+      'class',
+      'struct',
+      'template',
+      'typename',
+      'public',
+      'private',
+      'protected',
+    ],
+    patterns: [
+      /#include\s*<.*>/,
+      /std::/,
+      /cout\s*<<|cin\s*>>/,
+      /using\s+namespace\s+std/,
+      /template\s*<.*>/,
+      /class\s+\w+.*{/,
+      /int\s+main\s*\(/,
+    ],
+    priority: 6,
+  },
+  {
+    name: 'c',
+    extensions: ['.c', '.h'],
+    keywords: [
+      '#include',
+      '#define',
+      'int',
+      'char',
+      'float',
+      'double',
+      'void',
+      'struct',
+      'typedef',
+      'static',
+      'extern',
+    ],
+    patterns: [
+      /#include\s*<stdio\.h>/,
+      /#include\s*<stdlib\.h>/,
+      /printf\s*\(/,
+      /scanf\s*\(/,
+      /malloc\s*\(/,
+      /free\s*\(/,
+      /int\s+main\s*\(/,
+    ],
+    priority: 5,
+  },
+  {
+    name: 'html',
+    extensions: ['.html', '.htm'],
+    keywords: ['<!DOCTYPE', '<html', '<head', '<body', '<div', '<span', '<p', '<a', '<img'],
+    patterns: [
+      /<!DOCTYPE\s+html>/i,
+      /<html.*>/,
+      /<\/?\w+.*>/,
+      /<\w+\s+.*=.*>/,
+      /<script.*>/,
+      /<style.*>/,
+    ],
+    priority: 8,
+  },
+  {
+    name: 'css',
+    extensions: ['.css'],
+    keywords: [
+      'color',
+      'background',
+      'margin',
+      'padding',
+      'border',
+      'font',
+      'display',
+      'position',
+      'width',
+      'height',
+    ],
+    patterns: [
+      /\w+\s*:\s*[^;]+;/,
+      /\.\w+\s*{/,
+      /#\w+\s*{/,
+      /@media.*{/,
+      /@import/,
+      /rgb\s*\(/,
+      /rgba\s*\(/,
+      /:\s*hover/,
+    ],
+    priority: 7,
+  },
+  {
+    name: 'json',
+    extensions: ['.json'],
+    keywords: [],
+    patterns: [
+      /^\s*\{[\s\S]*\}\s*$/,
+      /^\s*\[[\s\S]*\]\s*$/,
+      /"[^"]*"\s*:\s*"[^"]*"/,
+      /"[^"]*"\s*:\s*\d+/,
+      /"[^"]*"\s*:\s*(true|false|null)/,
+    ],
+    priority: 9,
+  },
+  {
+    name: 'xml',
+    extensions: ['.xml', '.xsd', '.xsl'],
+    keywords: ['<?xml', '</', '<!--'],
+    patterns: [/<\?xml.*\?>/, /<\/?\w+.*>/, /<!--.*-->/, /<\w+\s+.*=.*\/>/],
+    priority: 7,
+  },
+  {
+    name: 'sql',
+    extensions: ['.sql'],
+    keywords: [
+      'SELECT',
+      'FROM',
+      'WHERE',
+      'INSERT',
+      'UPDATE',
+      'DELETE',
+      'CREATE',
+      'DROP',
+      'ALTER',
+      'TABLE',
+      'INDEX',
+    ],
+    patterns: [
+      /SELECT\s+.*\s+FROM/i,
+      /INSERT\s+INTO/i,
+      /UPDATE\s+.*\s+SET/i,
+      /DELETE\s+FROM/i,
+      /CREATE\s+TABLE/i,
+      /DROP\s+TABLE/i,
+      /ALTER\s+TABLE/i,
+    ],
+    priority: 8,
+  },
+  {
+    name: 'bash',
+    extensions: ['.sh', '.bash'],
+    keywords: [
+      '#!/bin/bash',
+      '#!/bin/sh',
+      'echo',
+      'cd',
+      'ls',
+      'grep',
+      'awk',
+      'sed',
+      'chmod',
+      'chown',
+    ],
+    patterns: [/^#!/, /\$\w+/, /echo\s+/, /\|\s*grep/, /\|\s*awk/, /chmod\s+/, /cd\s+/],
+    priority: 6,
+  },
+  {
+    name: 'powershell',
+    extensions: ['.ps1'],
+    keywords: ['Get-', 'Set-', 'New-', 'Remove-', '$_', 'ForEach-Object', 'Where-Object'],
+    patterns: [
+      /Get-\w+/,
+      /Set-\w+/,
+      /New-\w+/,
+      /\$\w+/,
+      /\|\s*ForEach-Object/,
+      /\|\s*Where-Object/,
+      /Write-Host/,
+    ],
+    priority: 6,
+  },
+];
+ 
+/**
+ * Detects the programming language of a text snippet
+ * @param text The text to analyze
+ * @returns The detected language name or null if no language detected
+ */
+export function detectLanguage(text: string): string | null {
+  if (!text || text.trim().length < 5) {
+    // Reduced from 10 to 5
+    return null; // Too short to reliably detect
+  }
+ 
+  const scores: Record<string, number> = {};
+ 
+  // Initialize scores
+  LANGUAGE_PATTERNS.forEach((lang) => {
+    scores[lang.name] = 0;
+  });
+ 
+  const lowerText = text.toLowerCase();
+ 
+  LANGUAGE_PATTERNS.forEach((lang) => {
+    let score = 0;
+ 
+    // Check for keywords
+    lang.keywords.forEach((keyword) => {
+      const regex = new RegExp(`\\b${keyword.toLowerCase()}\\b`, 'g');
+      const matches = lowerText.match(regex);
+      if (matches) {
+        score += matches.length * 2; // Keywords are worth 2 points each
+      }
+    });
+ 
+    // Check for patterns
+    lang.patterns.forEach((pattern) => {
+      const matches = text.match(pattern);
+      if (matches) {
+        score += matches.length * 3; // Patterns are worth 3 points each
+      }
+    });
+ 
+    // Bonus for file extension mentions (if any)
+    lang.extensions.forEach((ext) => {
+      Iif (lowerText.includes(ext)) {
+        score += 5;
+      }
+    });
+ 
+    // Apply priority multiplier
+    score *= lang.priority;
+ 
+    scores[lang.name] = score;
+  });
+ 
+  // Find the language with the highest score
+  let maxScore = 0;
+  let detectedLanguage: string | null = null;
+ 
+  Object.entries(scores).forEach(([lang, score]) => {
+    if (score > maxScore && score > 6) {
+      // Reduced threshold from 10 to 6
+      maxScore = score;
+      detectedLanguage = lang;
+    }
+  });
+ 
+  return detectedLanguage;
+}
+ 
+/**
+ * Checks if text appears to be code (any programming language)
+ * @param text The text to analyze
+ * @returns true if the text appears to be code
+ */
+export function isCode(text: string): boolean {
+  if (!text || text.trim().length < 3) {
+    // Reduced from 5 to 3
+    return false;
+  }
+ 
+  // Check for strong code indicators first
+  if (hasStrongCodeIndicators(text)) {
+    return true;
+  }
+ 
+  // Enhanced code indicators with more patterns
+  const codeIndicators = [
+    /[{}();]/g, // Brackets, parentheses, semicolons
+    /\w+\s*=\s*\w+/g, // Assignments
+    /\w+\s*:\s*\w+/g, // Type annotations, object properties
+    /=>\s*[{(]/g, // Arrow functions
+    /function\s*\(/g, // Function declarations
+    /if\s*\(/g, // Conditional statements
+    /for\s*\(/g, // Loops
+    /while\s*\(/g, // While loops
+    /class\s+\w+/g, // Class declarations
+    /interface\s+\w+/g, // Interface declarations
+    /type\s+\w+\s*=/g, // Type definitions
+    /import\s+/g, // Import statements
+    /export\s+/g, // Export statements
+    /include\s*</g, // Include statements
+    /console\./g, // Console methods
+    /\$\w+/g, // Variables (shell, PHP, etc.)
+    /<\/?\w+.*>/g, // HTML/XML tags
+    /\w+\s*:\s*[^;]+;/g, // CSS properties
+    /SELECT\s+.*\s+FROM/gi, // SQL queries
+    /const\s+\w+/g, // const declarations
+    /let\s+\w+/g, // let declarations
+    /var\s+\w+/g, // var declarations
+    /\.\w+\(/g, // Method calls
+    /new\s+\w+/g, // Object instantiation
+    /\w+\[\w*\]/g, // Array/object access
+  ];
+ 
+  let indicatorCount = 0;
+  let totalMatches = 0;
+ 
+  codeIndicators.forEach((pattern) => {
+    const matches = text.match(pattern);
+    Iif (matches) {
+      indicatorCount += 1;
+      totalMatches += matches.length;
+    }
+  });
+ 
+  // More lenient detection for small snippets
+  const textLength = text.trim().length;
+ 
+  Iif (textLength < 20) {
+    // Very small snippets: need at least 1 strong indicator
+    return indicatorCount >= 1 && totalMatches >= 1;
+  } else if (textLength < 50) {
+    // Small snippets: need at least 2 indicators
+    return indicatorCount >= 2 || totalMatches >= 3;
+  } else E{
+    // Larger snippets: use original threshold
+    return indicatorCount >= 3 || totalMatches >= 4;
+  }
+}
+ 
+/**
+ * Enhanced code detection that specifically looks for common code patterns
+ * This supplements the main isCode function for better small snippet detection
+ */
+function hasStrongCodeIndicators(text: string): boolean {
+  const strongIndicators = [
+    /const\s+\w+\s*=\s*\(/, // const handleX = (
+    /\w+\s*:\s*\w+\s*\)\s*=>/, // parameter: Type) =>
+    /if\s*\(\s*\w+\.\w+/, // if (object.property
+    /\w+\.\w+\(/, // method calls
+    /setThemeState|updateEffectiveTheme/, // Specific React/state patterns
+    /updatedSettings\.\w+/, // Object property access
+    /\}\s*;?\s*$/, // Code block ending
+    /\w+Settings\s*:\s*\w+/, // Settings type patterns
+    /=>\s*\{/, // Arrow function with block
+    /\w+\s*:\s*\w+\s*\)\s*=>/, // Typed parameters in arrow functions
+  ];
+ 
+  return strongIndicators.some((pattern) => pattern.test(text));
+}
+ 
+/**
+ * Maps detected language names to react-syntax-highlighter language identifiers
+ */
+export function mapToSyntaxHighlighterLanguage(detectedLanguage: string): string {
+  const languageMap: Record<string, string> = {
+    javascript: 'javascript',
+    typescript: 'typescript',
+    python: 'python',
+    java: 'java',
+    csharp: 'csharp',
+    cpp: 'cpp',
+    c: 'c',
+    html: 'markup',
+    css: 'css',
+    json: 'json',
+    xml: 'xml',
+    sql: 'sql',
+    bash: 'bash',
+    powershell: 'powershell',
+  };
+ 
+  return languageMap[detectedLanguage] || 'text';
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/shared/constants.ts.html b/coverage/shared/constants.ts.html new file mode 100644 index 0000000..9a453ab --- /dev/null +++ b/coverage/shared/constants.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for shared/constants.ts + + + + + + + + + +
+
+

All files / shared constants.ts

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +21x + 
export const DEFAULT_MAX_CLIPS = 100;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/shared/index.html b/coverage/shared/index.html new file mode 100644 index 0000000..f40e450 --- /dev/null +++ b/coverage/shared/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for shared + + + + + + + + + +
+
+

All files shared

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
constants.ts +
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/sort-arrow-sprite.png b/coverage/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed68316eb3f65dec9063332d2f69bf3093bbfab GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc literal 0 HcmV?d00001 diff --git a/coverage/sorter.js b/coverage/sorter.js new file mode 100644 index 0000000..4ed70ae --- /dev/null +++ b/coverage/sorter.js @@ -0,0 +1,210 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + + // Try to create a RegExp from the searchValue. If it fails (invalid regex), + // it will be treated as a plain text search + let searchRegex; + try { + searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive + } catch (error) { + searchRegex = null; + } + + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + let isMatch = false; + + if (searchRegex) { + // If a valid regex was created, use it for matching + isMatch = searchRegex.test(row.textContent); + } else { + // Otherwise, fall back to the original plain text search + isMatch = row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()); + } + + row.style.display = isMatch ? '' : 'none'; + } + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/e2e/app-launch.spec.ts b/e2e/app-launch.spec.ts new file mode 100644 index 0000000..4e9ac23 --- /dev/null +++ b/e2e/app-launch.spec.ts @@ -0,0 +1,42 @@ +import { test, expect, _electron as electron } from '@playwright/test'; +import { resolve } from 'path'; + +test.describe('App Launch', () => { + test('app launches and main window is visible', async () => { + const app = await electron.launch({ + args: [resolve(__dirname, '../out/main/index.js')], + }); + + const window = await app.firstWindow(); + await window.waitForSelector('#root > *'); + expect(window).toBeTruthy(); + + const title = await window.title(); + expect(title).toBeTruthy(); + + const isVisible = await app.evaluate(({ BrowserWindow }) => { + const win = BrowserWindow.getAllWindows()[0]; + return win ? win.isVisible() : false; + }); + expect(isVisible).toBe(true); + + await app.close(); + }); + + test('app window has expected dimensions', async () => { + const app = await electron.launch({ + args: [resolve(__dirname, '../out/main/index.js')], + }); + + const window = await app.firstWindow(); + const { width, height } = await window.evaluate(() => ({ + width: window.innerWidth, + height: window.innerHeight, + })); + + expect(width).toBeGreaterThan(0); + expect(height).toBeGreaterThan(0); + + await app.close(); + }); +}); diff --git a/e2e/clipboard.spec.ts b/e2e/clipboard.spec.ts new file mode 100644 index 0000000..93fff4c --- /dev/null +++ b/e2e/clipboard.spec.ts @@ -0,0 +1,27 @@ +import { test, expect, _electron as electron } from '@playwright/test'; +import { resolve } from 'path'; + +test.describe('Clipboard', () => { + test('clip appears after copying text', async () => { + const app = await electron.launch({ + args: [resolve(__dirname, '../out/main/index.js')], + }); + + const window = await app.firstWindow(); + await window.waitForSelector('#root > *'); + + // Write text to clipboard via Electron + await app.evaluate(async ({ clipboard }) => { + clipboard.writeText('Test clipboard entry'); + }); + + // Wait for clip to appear (polling interval is 250ms) + await window.waitForTimeout(1000); + + // Check that the clip content appears in the window + const content = await window.textContent('body'); + expect(content).toContain('Test clipboard entry'); + + await app.close(); + }); +}); diff --git a/e2e/quick-clips.spec.ts b/e2e/quick-clips.spec.ts new file mode 100644 index 0000000..0aa992b --- /dev/null +++ b/e2e/quick-clips.spec.ts @@ -0,0 +1,32 @@ +import { test, expect, _electron as electron } from '@playwright/test'; +import { resolve } from 'path'; + +test.describe('Quick Clips', () => { + test('app launches without quick clips errors', async () => { + const app = await electron.launch({ + args: [resolve(__dirname, '../out/main/index.js')], + }); + + const window = await app.firstWindow(); + await window.waitForSelector('#root > *'); + + // Verify the app loaded successfully + const content = await window.textContent('body'); + expect(content).toBeTruthy(); + + // Check console for errors related to quick clips + const errors: string[] = []; + window.on('console', (msg) => { + if (msg.type() === 'error') { + errors.push(msg.text()); + } + }); + + await window.waitForTimeout(500); + + const quickClipErrors = errors.filter((e) => e.includes('quick clip') || e.includes('pattern')); + expect(quickClipErrors).toHaveLength(0); + + await app.close(); + }); +}); diff --git a/e2e/settings.spec.ts b/e2e/settings.spec.ts new file mode 100644 index 0000000..6e05980 --- /dev/null +++ b/e2e/settings.spec.ts @@ -0,0 +1,19 @@ +import { test, expect, _electron as electron } from '@playwright/test'; +import { resolve } from 'path'; + +test.describe('Settings', () => { + test('settings window can be opened', async () => { + const app = await electron.launch({ + args: [resolve(__dirname, '../out/main/index.js')], + }); + + const window = await app.firstWindow(); + + // Look for a settings button or tray action + // The settings window is opened via IPC, so we trigger it + const windowCount = app.windows().length; + expect(windowCount).toBeGreaterThanOrEqual(1); + + await app.close(); + }); +}); diff --git a/e2e/theme.spec.ts b/e2e/theme.spec.ts new file mode 100644 index 0000000..7c17a48 --- /dev/null +++ b/e2e/theme.spec.ts @@ -0,0 +1,21 @@ +import { test, expect, _electron as electron } from '@playwright/test'; +import { resolve } from 'path'; + +test.describe('Theme', () => { + test('app starts with default theme applied to body', async () => { + const app = await electron.launch({ + args: [resolve(__dirname, '../out/main/index.js')], + }); + + const window = await app.firstWindow(); + await window.waitForSelector('#root > *'); + + // Check that a theme class is applied to the body + // Theme is applied asynchronously after settings load + await window.waitForFunction(() => /light|dark/.test(document.body.className)); + const bodyClasses = await window.evaluate(() => document.body.className); + expect(bodyClasses).toMatch(/light|dark/); + + await app.close(); + }); +}); diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json new file mode 100644 index 0000000..e9b6927 --- /dev/null +++ b/e2e/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "ESNext", + "moduleResolution": "bundler", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true + }, + "include": ["./**/*.ts"] +} diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 0000000..6bf9abc --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from '@playwright/test'; + +export default defineConfig({ + testDir: './e2e', + timeout: 30000, + retries: 0, + workers: 1, + fullyParallel: false, + use: { + trace: 'on-first-retry', + }, +}); diff --git a/src/main/__mocks__/electron.ts b/src/main/__mocks__/electron.ts new file mode 100644 index 0000000..b2b71e1 --- /dev/null +++ b/src/main/__mocks__/electron.ts @@ -0,0 +1,59 @@ +import { vi } from 'vitest'; + +export const clipboard = { + readText: vi.fn().mockReturnValue(''), + readHTML: vi.fn().mockReturnValue(''), + readRTF: vi.fn().mockReturnValue(''), + readImage: vi.fn().mockReturnValue({ isEmpty: () => true, toDataURL: () => '' }), + readBookmark: vi.fn().mockReturnValue({ title: '', url: '' }), + writeText: vi.fn(), + writeHTML: vi.fn(), + writeRTF: vi.fn(), + writeImage: vi.fn(), + writeBookmark: vi.fn(), + write: vi.fn(), +}; + +export const safeStorage = { + isEncryptionAvailable: vi.fn().mockReturnValue(true), + encryptString: vi.fn((str: string) => Buffer.from(str)), + decryptString: vi.fn((buf: Buffer) => buf.toString()), +}; + +export const globalShortcut = { + register: vi.fn().mockReturnValue(true), + unregister: vi.fn(), + unregisterAll: vi.fn(), + isRegistered: vi.fn().mockReturnValue(false), +}; + +export const nativeImage = { + createFromDataURL: vi.fn().mockReturnValue({ + isEmpty: () => false, + toDataURL: () => 'data:image/png;base64,test', + getSize: () => ({ width: 100, height: 100 }), + }), +}; + +export const BrowserWindow = vi.fn().mockImplementation(() => ({ + isVisible: vi.fn().mockReturnValue(true), + isFocused: vi.fn().mockReturnValue(false), + isMinimized: vi.fn().mockReturnValue(false), + isDestroyed: vi.fn().mockReturnValue(false), + show: vi.fn(), + hide: vi.fn(), + focus: vi.fn(), + restore: vi.fn(), + webContents: { + send: vi.fn(), + }, +})); + +export const shell = { + openExternal: vi.fn().mockResolvedValue(undefined), +}; + +export const app = { + getPath: vi.fn().mockReturnValue('/mock/path'), + focus: vi.fn(), +}; diff --git a/src/main/clipboard/data.test.ts b/src/main/clipboard/data.test.ts new file mode 100644 index 0000000..920672d --- /dev/null +++ b/src/main/clipboard/data.test.ts @@ -0,0 +1,110 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; + +vi.mock('electron', () => ({ + clipboard: { + readText: vi.fn().mockReturnValue(''), + readHTML: vi.fn().mockReturnValue(''), + readRTF: vi.fn().mockReturnValue(''), + readImage: vi.fn().mockReturnValue({ isEmpty: () => true, toDataURL: () => '' }), + readBookmark: vi.fn().mockReturnValue({ title: '', url: '' }), + writeText: vi.fn(), + writeHTML: vi.fn(), + writeRTF: vi.fn(), + writeImage: vi.fn(), + write: vi.fn(), + }, + nativeImage: { + createFromDataURL: vi.fn().mockReturnValue({ + isEmpty: () => false, + toDataURL: () => 'data:image/png;base64,test', + }), + }, +})); + +import { + getCurrentClipboardData, + getClipboardText, + setClipboardText, + setClipboardImage, + setClipboardBookmark, +} from './data'; +import { clipboard, nativeImage } from 'electron'; + +describe('getCurrentClipboardData', () => { + beforeEach(() => { + vi.clearAllMocks(); + vi.mocked(clipboard.readText).mockReturnValue(''); + vi.mocked(clipboard.readRTF).mockReturnValue(''); + vi.mocked(clipboard.readHTML).mockReturnValue(''); + vi.mocked(clipboard.readImage).mockReturnValue({ isEmpty: () => true, toDataURL: () => '' } as any); + vi.mocked(clipboard.readBookmark).mockReturnValue({ title: '', url: '' }); + }); + + it('returns text type when text is available', () => { + vi.mocked(clipboard.readText).mockReturnValue('hello'); + const result = getCurrentClipboardData(); + expect(result).toEqual({ type: 'text', content: 'hello' }); + }); + + it('returns rtf type when only RTF is available', () => { + vi.mocked(clipboard.readRTF).mockReturnValue('{\\rtf1 hello}'); + const result = getCurrentClipboardData(); + expect(result).toEqual({ type: 'rtf', content: '{\\rtf1 hello}' }); + }); + + it('returns html type when only HTML is available', () => { + vi.mocked(clipboard.readHTML).mockReturnValue('

hello

'); + const result = getCurrentClipboardData(); + expect(result).toEqual({ type: 'html', content: '

hello

' }); + }); + + it('returns image type when only image is available', () => { + vi.mocked(clipboard.readImage).mockReturnValue({ + isEmpty: () => false, + toDataURL: () => 'data:image/png;base64,abc', + } as any); + const result = getCurrentClipboardData(); + expect(result).toEqual({ type: 'image', content: 'data:image/png;base64,abc' }); + }); + + it('returns null when clipboard is empty', () => { + const result = getCurrentClipboardData(); + expect(result).toBeNull(); + }); + + it('prioritizes text over other types', () => { + vi.mocked(clipboard.readText).mockReturnValue('text'); + vi.mocked(clipboard.readHTML).mockReturnValue('

html

'); + const result = getCurrentClipboardData(); + expect(result?.type).toBe('text'); + }); +}); + +describe('getClipboardText', () => { + it('returns clipboard text', () => { + vi.mocked(clipboard.readText).mockReturnValue('test'); + expect(getClipboardText()).toBe('test'); + }); +}); + +describe('setClipboardText', () => { + it('writes text to clipboard', () => { + setClipboardText('hello'); + expect(clipboard.writeText).toHaveBeenCalledWith('hello'); + }); +}); + +describe('setClipboardImage', () => { + it('converts data URL and writes image', () => { + setClipboardImage('data:image/png;base64,test'); + expect(nativeImage.createFromDataURL).toHaveBeenCalledWith('data:image/png;base64,test'); + expect(clipboard.writeImage).toHaveBeenCalled(); + }); +}); + +describe('setClipboardBookmark', () => { + it('writes bookmark data', () => { + setClipboardBookmark({ text: 'Example', html: 'Example', title: 'Ex', url: 'https://example.com' }); + expect(clipboard.write).toHaveBeenCalledWith({ text: 'Example', html: 'Example' }); + }); +}); diff --git a/src/main/clipboard/quick-clips.test.ts b/src/main/clipboard/quick-clips.test.ts new file mode 100644 index 0000000..84fee36 --- /dev/null +++ b/src/main/clipboard/quick-clips.test.ts @@ -0,0 +1,153 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; + +vi.mock('../storage', () => ({ + storage: { + getSearchTerms: vi.fn(), + }, +})); + +import { scanTextForPatterns } from './quick-clips'; +import { storage } from '../storage'; + +const mockedStorage = vi.mocked(storage); + +describe('scanTextForPatterns', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('returns empty array when no search terms exist', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([]); + const result = await scanTextForPatterns('hello world'); + expect(result).toEqual([]); + }); + + it('returns empty array when no patterns match', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([ + { + id: '1', + name: 'Email', + pattern: '(?[\\w.]+@[\\w.]+)', + enabled: true, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + const result = await scanTextForPatterns('no emails here'); + expect(result).toEqual([]); + }); + + it('matches named capture groups', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([ + { + id: '1', + name: 'Email', + pattern: '(?[\\w.]+@[\\w.]+)', + enabled: true, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + const result = await scanTextForPatterns('contact user@example.com for info'); + expect(result).toHaveLength(1); + expect(result[0].searchTermId).toBe('1'); + expect(result[0].searchTermName).toBe('Email'); + expect(result[0].captures.email).toBe('user@example.com'); + }); + + it('finds multiple matches in text', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([ + { + id: '1', + name: 'Email', + pattern: '(?[\\w.]+@[\\w.]+)', + enabled: true, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + const result = await scanTextForPatterns('a@b.com and c@d.com'); + expect(result).toHaveLength(2); + expect(result[0].captures.email).toBe('a@b.com'); + expect(result[1].captures.email).toBe('c@d.com'); + }); + + it('skips disabled search terms', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([ + { + id: '1', + name: 'Email', + pattern: '(?[\\w.]+@[\\w.]+)', + enabled: false, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + const result = await scanTextForPatterns('user@example.com'); + expect(result).toEqual([]); + }); + + it('skips patterns without named capture groups', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([ + { + id: '1', + name: 'NoGroups', + pattern: '\\d+', + enabled: true, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + const result = await scanTextForPatterns('123 456'); + expect(result).toEqual([]); + }); + + it('handles invalid regex gracefully', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([ + { + id: '1', + name: 'Bad', + pattern: '(?[', + enabled: true, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + { + id: '2', + name: 'Good', + pattern: '(?\\d+)', + enabled: true, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + const result = await scanTextForPatterns('test 123'); + expect(result).toHaveLength(1); + expect(result[0].captures.num).toBe('123'); + }); + + it('matches multiple capture groups in one pattern', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([ + { + id: '1', + name: 'NameEmail', + pattern: '(?\\w+)\\s+(?[\\w.]+@[\\w.]+)', + enabled: true, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + const result = await scanTextForPatterns('John user@example.com'); + expect(result).toHaveLength(1); + expect(result[0].captures.name).toBe('John'); + expect(result[0].captures.email).toBe('user@example.com'); + }); +}); diff --git a/src/main/clipboard/quick-tools.test.ts b/src/main/clipboard/quick-tools.test.ts new file mode 100644 index 0000000..9cc1abb --- /dev/null +++ b/src/main/clipboard/quick-tools.test.ts @@ -0,0 +1,46 @@ +import { describe, it, expect, vi } from 'vitest'; + +vi.mock('../storage', () => ({ + storage: {}, +})); + +import { validateToolUrl } from './quick-tools'; + +describe('validateToolUrl', () => { + it('returns valid for a proper URL with matching capture groups', async () => { + const result = await validateToolUrl('https://example.com/search?q={query}', ['query']); + expect(result.isValid).toBe(true); + expect(result.errors).toHaveLength(0); + }); + + it('returns error for invalid URL format', async () => { + const result = await validateToolUrl('not-a-url', []); + expect(result.isValid).toBe(false); + expect(result.errors).toContain('Invalid URL format'); + }); + + it('returns error when URL token is not in capture groups list', async () => { + const result = await validateToolUrl('https://example.com/{email}', ['phone']); + expect(result.isValid).toBe(false); + expect(result.errors.some((e) => e.includes("'{email}'"))).toBe(true); + }); + + it('accepts URL with no tokens', async () => { + const result = await validateToolUrl('https://example.com/page', []); + expect(result.isValid).toBe(true); + }); + + it('validates multiple tokens', async () => { + const result = await validateToolUrl('https://example.com/{name}/{email}', [ + 'name', + 'email', + ]); + expect(result.isValid).toBe(true); + }); + + it('reports all missing capture groups', async () => { + const result = await validateToolUrl('https://example.com/{a}/{b}', []); + expect(result.isValid).toBe(false); + expect(result.errors).toHaveLength(2); + }); +}); diff --git a/src/main/hotkeys/actions.test.ts b/src/main/hotkeys/actions.test.ts new file mode 100644 index 0000000..c8cb184 --- /dev/null +++ b/src/main/hotkeys/actions.test.ts @@ -0,0 +1,123 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; + +vi.mock('electron', () => ({ + BrowserWindow: vi.fn(), + clipboard: { + writeText: vi.fn(), + writeHTML: vi.fn(), + writeRTF: vi.fn(), + writeImage: vi.fn(), + writeBookmark: vi.fn(), + }, + nativeImage: { + createFromDataURL: vi.fn().mockReturnValue({ + isEmpty: () => false, + }), + }, +})); + +vi.mock('../storage', () => ({ + storage: { + getClips: vi.fn().mockResolvedValue([]), + }, +})); + +vi.mock('../notifications', () => ({ + showNotification: vi.fn(), +})); + +import { HotkeyActions } from './actions'; +import { clipboard } from 'electron'; +import { storage } from '../storage'; + +describe('HotkeyActions', () => { + let actions: HotkeyActions; + let mockWindow: any; + + beforeEach(() => { + vi.clearAllMocks(); + actions = new HotkeyActions(); + mockWindow = { + isVisible: vi.fn().mockReturnValue(true), + isFocused: vi.fn().mockReturnValue(false), + isMinimized: vi.fn().mockReturnValue(false), + isDestroyed: vi.fn().mockReturnValue(false), + show: vi.fn(), + hide: vi.fn(), + focus: vi.fn(), + restore: vi.fn(), + webContents: { send: vi.fn() }, + }; + actions.setMainWindow(mockWindow); + }); + + describe('focusWindow', () => { + it('hides window when visible and focused', () => { + mockWindow.isFocused.mockReturnValue(true); + actions.focusWindow(); + expect(mockWindow.hide).toHaveBeenCalled(); + }); + + it('shows and focuses window when not focused', () => { + actions.focusWindow(); + expect(mockWindow.show).toHaveBeenCalled(); + expect(mockWindow.focus).toHaveBeenCalled(); + }); + + it('restores minimized window', () => { + mockWindow.isMinimized.mockReturnValue(true); + actions.focusWindow(); + expect(mockWindow.restore).toHaveBeenCalled(); + }); + + it('does nothing when no window set', () => { + actions.setMainWindow(null); + expect(() => actions.focusWindow()).not.toThrow(); + }); + }); + + describe('copyQuickClip', () => { + it('copies text clip to clipboard', async () => { + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'text', content: 'hello' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeText).toHaveBeenCalledWith('hello'); + }); + + it('copies html clip to clipboard', async () => { + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'html', content: '

hi

' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeHTML).toHaveBeenCalledWith('

hi

'); + }); + + it('does nothing when index out of range', async () => { + vi.mocked(storage.getClips).mockResolvedValue([]); + await actions.copyQuickClip(5); + expect(clipboard.writeText).not.toHaveBeenCalled(); + }); + + it('sends hotkey-clip-copied event to renderer', async () => { + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'text', content: 'hello' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(mockWindow.webContents.send).toHaveBeenCalledWith('hotkey-clip-copied', 0); + }); + }); + + describe('toggleSearchBar', () => { + it('sends toggle-search event', () => { + actions.toggleSearchBar(); + expect(mockWindow.webContents.send).toHaveBeenCalledWith('toggle-search'); + }); + + it('shows window if hidden', () => { + mockWindow.isVisible.mockReturnValue(false); + actions.toggleSearchBar(); + expect(mockWindow.show).toHaveBeenCalled(); + }); + }); +}); diff --git a/src/main/hotkeys/manager.test.ts b/src/main/hotkeys/manager.test.ts new file mode 100644 index 0000000..6fed7b0 --- /dev/null +++ b/src/main/hotkeys/manager.test.ts @@ -0,0 +1,114 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; + +vi.mock('electron', () => ({ + BrowserWindow: vi.fn(), + globalShortcut: { + register: vi.fn().mockReturnValue(true), + unregister: vi.fn(), + }, + clipboard: { writeText: vi.fn() }, + nativeImage: { createFromDataURL: vi.fn() }, +})); + +vi.mock('../storage', () => ({ + storage: { + getSettings: vi.fn(), + getClips: vi.fn().mockResolvedValue([]), + }, +})); + +vi.mock('../notifications', () => ({ + showNotification: vi.fn(), +})); + +import { HotkeyManager } from './manager'; +import { storage } from '../storage'; +import { globalShortcut } from 'electron'; + +describe('HotkeyManager', () => { + let manager: HotkeyManager; + + beforeEach(() => { + vi.clearAllMocks(); + manager = new HotkeyManager(); + }); + + it('initializes and registers hotkeys when enabled', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { + enabled: true, + focusWindow: { enabled: true, key: 'Ctrl+Shift+V' }, + quickClip1: { enabled: true, key: 'Ctrl+Shift+1' }, + quickClip2: { enabled: false, key: 'Ctrl+Shift+2' }, + quickClip3: { enabled: false, key: 'Ctrl+Shift+3' }, + quickClip4: { enabled: false, key: 'Ctrl+Shift+4' }, + quickClip5: { enabled: false, key: 'Ctrl+Shift+5' }, + openToolsLauncher: { enabled: false, key: 'Ctrl+Shift+T' }, + searchClips: { enabled: false, key: 'Ctrl+Shift+F' }, + }, + }); + + await manager.initialize(); + + expect(manager.isInitialized).toBe(true); + expect(globalShortcut.register).toHaveBeenCalledTimes(2); // focusWindow + quickClip1 + }); + + it('does not register hotkeys when disabled', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { enabled: false } as any, + }); + + await manager.initialize(); + + expect(globalShortcut.register).not.toHaveBeenCalled(); + }); + + it('does not initialize twice', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { enabled: false } as any, + }); + + await manager.initialize(); + await manager.initialize(); + + expect(storage.getSettings).toHaveBeenCalledTimes(1); + }); + + it('re-registers hotkeys on settings change', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { enabled: false } as any, + }); + + await manager.initialize(); + await manager.onSettingsChanged(); + + expect(storage.getSettings).toHaveBeenCalledTimes(2); + }); + + it('cleanup resets state', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { enabled: false } as any, + }); + + await manager.initialize(); + manager.cleanup(); + + expect(manager.isInitialized).toBe(false); + }); +}); diff --git a/src/main/hotkeys/registry.test.ts b/src/main/hotkeys/registry.test.ts new file mode 100644 index 0000000..5e0e06b --- /dev/null +++ b/src/main/hotkeys/registry.test.ts @@ -0,0 +1,80 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; + +vi.mock('electron', () => ({ + globalShortcut: { + register: vi.fn().mockReturnValue(true), + unregister: vi.fn(), + }, +})); + +import { HotkeyRegistry } from './registry'; +import { globalShortcut } from 'electron'; + +describe('HotkeyRegistry', () => { + let registry: HotkeyRegistry; + + beforeEach(() => { + vi.clearAllMocks(); + registry = new HotkeyRegistry(); + }); + + describe('registerHotkey', () => { + it('registers a hotkey successfully', () => { + const callback = vi.fn(); + const result = registry.registerHotkey('Ctrl+A', callback); + expect(result).toBe(true); + expect(globalShortcut.register).toHaveBeenCalledWith('Ctrl+A', callback); + }); + + it('returns false for duplicate registration', () => { + registry.registerHotkey('Ctrl+A', vi.fn()); + const result = registry.registerHotkey('Ctrl+A', vi.fn()); + expect(result).toBe(false); + }); + + it('returns false when globalShortcut fails', () => { + vi.mocked(globalShortcut.register).mockReturnValueOnce(false); + const result = registry.registerHotkey('Ctrl+A', vi.fn()); + expect(result).toBe(false); + }); + }); + + describe('unregisterAllHotkeys', () => { + it('unregisters all registered hotkeys', () => { + registry.registerHotkey('Ctrl+A', vi.fn()); + registry.registerHotkey('Ctrl+B', vi.fn()); + registry.unregisterAllHotkeys(); + expect(globalShortcut.unregister).toHaveBeenCalledTimes(2); + expect(registry.getCurrentHotkeys()).toEqual([]); + }); + }); + + describe('getCurrentHotkeys', () => { + it('returns list of registered accelerators', () => { + registry.registerHotkey('Ctrl+A', vi.fn()); + registry.registerHotkey('Ctrl+B', vi.fn()); + expect(registry.getCurrentHotkeys()).toEqual(['Ctrl+A', 'Ctrl+B']); + }); + }); + + describe('isHotkeyRegistered', () => { + it('returns true for registered hotkey', () => { + registry.registerHotkey('Ctrl+A', vi.fn()); + expect(registry.isHotkeyRegistered('Ctrl+A')).toBe(true); + }); + + it('returns false for unregistered hotkey', () => { + expect(registry.isHotkeyRegistered('Ctrl+A')).toBe(false); + }); + }); + + describe('cleanup', () => { + it('unregisters all hotkeys and resets initialization', () => { + registry.setInitialized(true); + registry.registerHotkey('Ctrl+A', vi.fn()); + registry.cleanup(); + expect(registry.isInitialized).toBe(false); + expect(registry.getCurrentHotkeys()).toEqual([]); + }); + }); +}); diff --git a/src/main/storage/file-operations.test.ts b/src/main/storage/file-operations.test.ts new file mode 100644 index 0000000..71d4c87 --- /dev/null +++ b/src/main/storage/file-operations.test.ts @@ -0,0 +1,81 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; + +vi.mock('electron', () => ({ + safeStorage: { + isEncryptionAvailable: vi.fn().mockReturnValue(true), + encryptString: vi.fn((str: string) => Buffer.from(str)), + decryptString: vi.fn((buf: Buffer) => buf.toString()), + }, +})); + +vi.mock('fs', () => ({ + promises: { + writeFile: vi.fn().mockResolvedValue(undefined), + readFile: vi.fn(), + rename: vi.fn().mockResolvedValue(undefined), + unlink: vi.fn().mockResolvedValue(undefined), + access: vi.fn().mockResolvedValue(undefined), + mkdir: vi.fn().mockResolvedValue(undefined), + }, +})); + +import { saveToFile, loadFromFile, ensureDataDirectory, isEncryptionAvailable } from './file-operations'; +import { safeStorage } from 'electron'; +import { promises as fs } from 'fs'; + +describe('saveToFile', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('encrypts and writes data to file', async () => { + await saveToFile({ test: true }, '/path/data.enc'); + + expect(safeStorage.encryptString).toHaveBeenCalledWith(JSON.stringify({ test: true }, null, 2)); + expect(fs.writeFile).toHaveBeenCalledWith('/path/data.enc.tmp', expect.any(Buffer)); + expect(fs.rename).toHaveBeenCalledWith('/path/data.enc.tmp', '/path/data.enc'); + }); + + it('cleans up temp file on error', async () => { + vi.mocked(fs.writeFile).mockRejectedValueOnce(new Error('write failed')); + + await expect(saveToFile({ test: true }, '/path/data.enc')).rejects.toThrow('write failed'); + expect(fs.unlink).toHaveBeenCalledWith('/path/data.enc.tmp'); + }); +}); + +describe('loadFromFile', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('reads and decrypts data from file', async () => { + const testData = { test: true }; + const jsonStr = JSON.stringify(testData); + const buf = Buffer.from(jsonStr); + vi.mocked(fs.readFile).mockResolvedValue(buf); + vi.mocked(safeStorage.decryptString).mockReturnValue(jsonStr); + + const result = await loadFromFile('/path/data.enc'); + expect(result).toEqual(testData); + }); + + it('throws FILE_NOT_FOUND for missing file', async () => { + vi.mocked(fs.access).mockRejectedValueOnce(Object.assign(new Error(), { code: 'ENOENT' })); + + await expect(loadFromFile('/path/data.enc')).rejects.toThrow('FILE_NOT_FOUND'); + }); +}); + +describe('ensureDataDirectory', () => { + it('creates directory recursively', async () => { + await ensureDataDirectory('/path/to/data'); + expect(fs.mkdir).toHaveBeenCalledWith('/path/to/data', { recursive: true }); + }); +}); + +describe('isEncryptionAvailable', () => { + it('returns the result from safeStorage', () => { + expect(isEncryptionAvailable()).toBe(true); + }); +}); diff --git a/src/main/storage/migration.test.ts b/src/main/storage/migration.test.ts new file mode 100644 index 0000000..43fc1e1 --- /dev/null +++ b/src/main/storage/migration.test.ts @@ -0,0 +1,109 @@ +import { describe, it, expect } from 'vitest'; +import { migrateData } from './migration'; + +describe('migrateData', () => { + it('returns default structure for empty object', () => { + const result = migrateData({}); + expect(result.clips).toEqual([]); + expect(result.settings).toBeDefined(); + expect(result.templates).toEqual([]); + expect(result.searchTerms).toEqual([]); + expect(result.quickTools).toEqual([]); + }); + + it('preserves valid clips', () => { + const data = { + clips: [{ clip: { type: 'text', content: 'hello' }, isLocked: false, timestamp: 123 }], + }; + const result = migrateData(data); + expect(result.clips).toHaveLength(1); + expect(result.clips[0].clip.content).toBe('hello'); + }); + + it('filters out invalid clips', () => { + const data = { + clips: [ + { clip: { type: 'text', content: 'valid' }, isLocked: false, timestamp: 123 }, + { clip: { type: 123, content: 'invalid type' } }, + { clip: null }, + null, + ], + }; + const result = migrateData(data); + expect(result.clips).toHaveLength(1); + }); + + it('merges settings with defaults', () => { + const data = { + settings: { maxClips: 50 }, + }; + const result = migrateData(data); + expect(result.settings.maxClips).toBe(50); + expect(result.settings.startMinimized).toBe(false); + }); + + it('preserves valid templates', () => { + const data = { + templates: [ + { id: '1', name: 'T', content: 'c', createdAt: 1, updatedAt: 1, order: 0 }, + ], + }; + const result = migrateData(data); + expect(result.templates).toHaveLength(1); + }); + + it('filters invalid templates', () => { + const data = { + templates: [ + { id: '1', name: 'T', content: 'c', createdAt: 1, updatedAt: 1, order: 0 }, + { id: 123, name: 'Bad' }, + ], + }; + const result = migrateData(data); + expect(result.templates).toHaveLength(1); + }); + + it('preserves valid search terms', () => { + const data = { + searchTerms: [ + { id: '1', name: 'S', pattern: '.*', enabled: true, createdAt: 1, updatedAt: 1, order: 0 }, + ], + }; + const result = migrateData(data); + expect(result.searchTerms).toHaveLength(1); + }); + + it('preserves valid quick tools', () => { + const data = { + quickTools: [ + { + id: '1', + name: 'Tool', + url: 'https://example.com', + captureGroups: ['email'], + createdAt: 1, + updatedAt: 1, + order: 0, + }, + ], + }; + const result = migrateData(data); + expect(result.quickTools).toHaveLength(1); + }); + + it('preserves version string', () => { + const result = migrateData({ version: '2.0.0' }); + expect(result.version).toBe('2.0.0'); + }); + + it('handles non-array clips gracefully', () => { + const result = migrateData({ clips: 'not-an-array' }); + expect(result.clips).toEqual([]); + }); + + it('handles null data properties gracefully', () => { + const result = migrateData({ clips: null, settings: null, templates: null }); + expect(result.clips).toEqual([]); + expect(result.templates).toEqual([]); + }); +}); diff --git a/src/main/storage/search-terms.test.ts b/src/main/storage/search-terms.test.ts new file mode 100644 index 0000000..a2e570e --- /dev/null +++ b/src/main/storage/search-terms.test.ts @@ -0,0 +1,36 @@ +import { describe, it, expect } from 'vitest'; +import { createSearchTermObject, sortSearchTermsByOrder } from './search-terms'; + +describe('createSearchTermObject', () => { + it('creates a search term with correct fields', () => { + const term = createSearchTermObject('Email', '(?[\\w.]+@[\\w.]+)', 0); + expect(term.name).toBe('Email'); + expect(term.pattern).toBe('(?[\\w.]+@[\\w.]+)'); + expect(term.order).toBe(0); + expect(term.enabled).toBe(true); + expect(typeof term.id).toBe('string'); + expect(typeof term.createdAt).toBe('number'); + expect(typeof term.updatedAt).toBe('number'); + }); +}); + +describe('sortSearchTermsByOrder', () => { + it('sorts search terms by order ascending', () => { + const terms = [ + { id: '1', name: 'B', pattern: '', enabled: true, createdAt: 0, updatedAt: 0, order: 2 }, + { id: '2', name: 'A', pattern: '', enabled: true, createdAt: 0, updatedAt: 0, order: 0 }, + { id: '3', name: 'C', pattern: '', enabled: true, createdAt: 0, updatedAt: 0, order: 1 }, + ]; + const sorted = sortSearchTermsByOrder(terms); + expect(sorted.map((t) => t.name)).toEqual(['A', 'C', 'B']); + }); + + it('does not mutate the original array', () => { + const terms = [ + { id: '1', name: 'B', pattern: '', enabled: true, createdAt: 0, updatedAt: 0, order: 1 }, + { id: '2', name: 'A', pattern: '', enabled: true, createdAt: 0, updatedAt: 0, order: 0 }, + ]; + sortSearchTermsByOrder(terms); + expect(terms[0].name).toBe('B'); + }); +}); diff --git a/src/main/storage/templates.test.ts b/src/main/storage/templates.test.ts new file mode 100644 index 0000000..c15d87f --- /dev/null +++ b/src/main/storage/templates.test.ts @@ -0,0 +1,114 @@ +import { describe, it, expect } from 'vitest'; +import { + createTemplateObject, + sortTemplatesByOrder, + extractTemplateTokens, + generateTextFromTemplate, +} from './templates'; + +describe('createTemplateObject', () => { + it('creates a template with the correct fields', () => { + const template = createTemplateObject('Test', 'Hello {c1}', 0); + expect(template.name).toBe('Test'); + expect(template.content).toBe('Hello {c1}'); + expect(template.order).toBe(0); + expect(template.id).toMatch(/^template-/); + expect(typeof template.createdAt).toBe('number'); + expect(typeof template.updatedAt).toBe('number'); + }); +}); + +describe('sortTemplatesByOrder', () => { + it('sorts templates by order ascending', () => { + const templates = [ + { id: '1', name: 'B', content: '', createdAt: 0, updatedAt: 0, order: 2 }, + { id: '2', name: 'A', content: '', createdAt: 0, updatedAt: 0, order: 0 }, + { id: '3', name: 'C', content: '', createdAt: 0, updatedAt: 0, order: 1 }, + ]; + const sorted = sortTemplatesByOrder(templates); + expect(sorted.map((t) => t.name)).toEqual(['A', 'C', 'B']); + }); + + it('does not mutate the original array', () => { + const templates = [ + { id: '1', name: 'B', content: '', createdAt: 0, updatedAt: 0, order: 2 }, + { id: '2', name: 'A', content: '', createdAt: 0, updatedAt: 0, order: 0 }, + ]; + sortTemplatesByOrder(templates); + expect(templates[0].name).toBe('B'); + }); +}); + +describe('extractTemplateTokens', () => { + it('extracts positional tokens', () => { + const result = extractTemplateTokens('Hello {c1}, meet {c2}'); + expect(result.positional).toEqual(['c1', 'c2']); + expect(result.named).toEqual([]); + }); + + it('extracts named tokens', () => { + const result = extractTemplateTokens('Dear {name}, your email is {email}'); + expect(result.positional).toEqual([]); + expect(result.named).toEqual(['name', 'email']); + }); + + it('extracts both positional and named tokens', () => { + const result = extractTemplateTokens('{c1} by {author}'); + expect(result.positional).toEqual(['c1']); + expect(result.named).toEqual(['author']); + }); + + it('deduplicates tokens', () => { + const result = extractTemplateTokens('{c1} and {c1} again'); + expect(result.positional).toEqual(['c1']); + }); + + it('returns empty arrays for no tokens', () => { + const result = extractTemplateTokens('plain text'); + expect(result.positional).toEqual([]); + expect(result.named).toEqual([]); + }); +}); + +describe('generateTextFromTemplate', () => { + const makeTemplate = (content: string) => ({ + id: '1', + name: 'Test', + content, + createdAt: 0, + updatedAt: 0, + order: 0, + }); + + it('replaces positional tokens with clip contents', () => { + const result = generateTextFromTemplate(makeTemplate('{c1} and {c2}'), ['hello', 'world']); + expect(result).toBe('hello and world'); + }); + + it('replaces named tokens with captures', () => { + const result = generateTextFromTemplate(makeTemplate('Hi {name}'), [], { name: 'Alice' }); + expect(result).toBe('Hi Alice'); + }); + + it('replaces both positional and named tokens', () => { + const result = generateTextFromTemplate(makeTemplate('{c1} by {author}'), ['Book'], { + author: 'Bob', + }); + expect(result).toBe('Book by Bob'); + }); + + it('leaves unreplaced positional tokens intact', () => { + const result = generateTextFromTemplate(makeTemplate('{c1} and {c3}'), ['hello']); + expect(result).toBe('hello and {c3}'); + }); + + it('leaves unreplaced named tokens intact', () => { + const result = generateTextFromTemplate(makeTemplate('Hi {name}'), []); + expect(result).toBe('Hi {name}'); + }); + + it('uses 1-based indexing for clips', () => { + const result = generateTextFromTemplate(makeTemplate('{c1}'), ['first', 'second']); + expect(result).toBe('first'); + }); +}); diff --git a/src/renderer/src/components/clips/clip/BookmarkClip.test.tsx b/src/renderer/src/components/clips/clip/BookmarkClip.test.tsx new file mode 100644 index 0000000..fc2b620 --- /dev/null +++ b/src/renderer/src/components/clips/clip/BookmarkClip.test.tsx @@ -0,0 +1,33 @@ +import { describe, it, expect, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { BookmarkClip } from './BookmarkClip'; + +vi.mock('../../../providers/theme', () => ({ + useTheme: () => ({ isLight: false }), +})); + +vi.mock('./Clip.module.css', () => ({ + default: { typeLabel: 'typeLabel', light: 'light' }, +})); + +describe('BookmarkClip', () => { + it('renders bookmark label with title and url', () => { + const { container } = render( + + ); + expect(screen.getByText('Bookmark:')).toBeInTheDocument(); + expect(container.textContent).toContain('Example'); + expect(container.textContent).toContain('https://example.com'); + }); + + it('renders Untitled for missing title', () => { + const { container } = render( + + ); + expect(container.textContent).toContain('Untitled'); + }); +}); diff --git a/src/renderer/src/components/clips/clip/HtmlClip.test.tsx b/src/renderer/src/components/clips/clip/HtmlClip.test.tsx new file mode 100644 index 0000000..3ca3d03 --- /dev/null +++ b/src/renderer/src/components/clips/clip/HtmlClip.test.tsx @@ -0,0 +1,19 @@ +import { describe, it, expect, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { HtmlClip } from './HtmlClip'; + +vi.mock('../../../providers/theme', () => ({ + useTheme: () => ({ isLight: false }), +})); + +vi.mock('./Clip.module.css', () => ({ + default: { typeLabel: 'typeLabel', light: 'light' }, +})); + +describe('HtmlClip', () => { + it('renders HTML label and content', () => { + render(Hello

' }} />); + expect(screen.getByText('HTML:')).toBeInTheDocument(); + expect(screen.getByText('

Hello

')).toBeInTheDocument(); + }); +}); diff --git a/src/renderer/src/components/clips/clip/ImageClip.test.tsx b/src/renderer/src/components/clips/clip/ImageClip.test.tsx new file mode 100644 index 0000000..9f8978b --- /dev/null +++ b/src/renderer/src/components/clips/clip/ImageClip.test.tsx @@ -0,0 +1,46 @@ +import { describe, it, expect, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { ImageClip } from './ImageClip'; + +vi.mock('../../../providers/theme', () => ({ + useTheme: () => ({ isLight: false }), +})); + +vi.mock('./Clip.module.css', () => ({ + default: { + imagePreviewContainer: 'imagePreviewContainer', + imagePreview: 'imagePreview', + imagePopover: 'imagePopover', + popoverImage: 'popoverImage', + imageInfo: 'imageInfo', + imageFilename: 'imageFilename', + imageSize: 'imageSize', + light: 'light', + }, +})); + +describe('ImageClip', () => { + it('renders image with correct src', () => { + render( + + ); + const images = screen.getAllByRole('img'); + expect(images[0]).toHaveAttribute('src', 'data:image/png;base64,abc123'); + }); + + it('displays image format', () => { + render( + + ); + const pngElements = screen.getAllByText(/PNG/); + expect(pngElements.length).toBeGreaterThan(0); + }); + + it('displays approximate file size', () => { + render( + + ); + const kbElements = screen.getAllByText(/KB/); + expect(kbElements.length).toBeGreaterThan(0); + }); +}); diff --git a/src/renderer/src/components/clips/clip/TextClip.test.tsx b/src/renderer/src/components/clips/clip/TextClip.test.tsx new file mode 100644 index 0000000..47c7a4d --- /dev/null +++ b/src/renderer/src/components/clips/clip/TextClip.test.tsx @@ -0,0 +1,61 @@ +import { describe, it, expect, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { TextClip } from './TextClip'; + +// Mock providers +vi.mock('../../../providers/theme', () => ({ + useTheme: () => ({ isLight: false, isDark: true, theme: 'dark', effectiveTheme: 'dark', setTheme: vi.fn() }), +})); + +vi.mock('../../../providers/languageDetection', () => ({ + useLanguageDetection: () => ({ + isCodeDetectionEnabled: false, + settings: { codeDetectionEnabled: false }, + updateSettings: vi.fn(), + detectTextLanguage: vi.fn(), + }), +})); + +vi.mock('./Clip.module.css', () => ({ + default: { + editableText: 'editableText', + light: 'light', + emptyText: 'emptyText', + textEditorWrapper: 'textEditorWrapper', + textEditor: 'textEditor', + syntaxHighlightContainer: 'syntaxHighlightContainer', + syntaxOverlay: 'syntaxOverlay', + }, +})); + +describe('TextClip', () => { + it('renders text content in display mode', () => { + render( + + ); + expect(screen.getByText('Hello World')).toBeInTheDocument(); + }); + + it('renders (empty) for empty content', () => { + render( + + ); + expect(screen.getByText('(empty)')).toBeInTheDocument(); + }); + + it('collapses multiline text to single line in display mode', () => { + render( + + ); + expect(screen.getByText('line1 line2 line3')).toBeInTheDocument(); + }); +}); diff --git a/src/renderer/src/hooks/usePatternDetection.test.ts b/src/renderer/src/hooks/usePatternDetection.test.ts new file mode 100644 index 0000000..26a1728 --- /dev/null +++ b/src/renderer/src/hooks/usePatternDetection.test.ts @@ -0,0 +1,49 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; +import { renderHook, waitFor } from '@testing-library/react'; +import { usePatternDetection } from './usePatternDetection'; + +describe('usePatternDetection', () => { + beforeEach(() => { + vi.clearAllMocks(); + (window.api as any).quickClipsScanText = vi.fn().mockResolvedValue([]); + }); + + it('returns no patterns for empty content', () => { + const { result } = renderHook(() => usePatternDetection('')); + expect(result.current.hasPatterns).toBe(false); + expect(result.current.patterns).toEqual([]); + }); + + it('returns no patterns for whitespace-only content', () => { + const { result } = renderHook(() => usePatternDetection(' ')); + expect(result.current.hasPatterns).toBe(false); + }); + + it('detects patterns from API', async () => { + const mockMatches = [ + { searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }, + ]; + (window.api as any).quickClipsScanText = vi.fn().mockResolvedValue(mockMatches); + + const { result } = renderHook(() => usePatternDetection('test@example.com')); + + await waitFor(() => { + expect(result.current.hasPatterns).toBe(true); + }); + + expect(result.current.patterns).toEqual(mockMatches); + }); + + it('handles API errors gracefully', async () => { + (window.api as any).quickClipsScanText = vi.fn().mockRejectedValue(new Error('fail')); + + const { result } = renderHook(() => usePatternDetection('some text')); + + await waitFor(() => { + expect(result.current.loading).toBe(false); + }); + + expect(result.current.hasPatterns).toBe(false); + expect(result.current.patterns).toEqual([]); + }); +}); diff --git a/src/renderer/src/providers/theme.test.tsx b/src/renderer/src/providers/theme.test.tsx new file mode 100644 index 0000000..42084ca --- /dev/null +++ b/src/renderer/src/providers/theme.test.tsx @@ -0,0 +1,67 @@ +import { describe, it, expect, vi, afterEach } from 'vitest'; +import { render, screen, act, cleanup } from '@testing-library/react'; +import { ThemeProvider, useTheme } from './theme'; + +// Test component that displays theme info +function ThemeDisplay() { + const { theme, effectiveTheme, isLight, isDark, setTheme } = useTheme(); + return ( +
+ {theme} + {effectiveTheme} + {String(isLight)} + {String(isDark)} + + +
+ ); +} + +describe('ThemeProvider', () => { + afterEach(() => { + cleanup(); + }); + + it('provides default theme values', () => { + render( + + + + ); + expect(screen.getByTestId('theme').textContent).toBe('system'); + }); + + it('allows setting theme to light', async () => { + render( + + + + ); + + await act(async () => { + screen.getByText('Set Light').click(); + }); + + expect(screen.getByTestId('effective').textContent).toBe('light'); + expect(screen.getByTestId('isLight').textContent).toBe('true'); + expect(screen.getByTestId('isDark').textContent).toBe('false'); + }); + + it('resolves system theme to light when matchMedia prefers light', () => { + // matchMedia mock returns matches: false (light mode) + render( + + + + ); + + // system theme with matchMedia returning false → light + expect(screen.getByTestId('theme').textContent).toBe('system'); + }); + + it('throws when useTheme is used outside provider', () => { + const spy = vi.spyOn(console, 'error').mockImplementation(() => {}); + expect(() => render()).toThrow('useTheme must be used within a ThemeProvider'); + spy.mockRestore(); + }); +}); diff --git a/src/renderer/src/test-setup.ts b/src/renderer/src/test-setup.ts new file mode 100644 index 0000000..1467b8c --- /dev/null +++ b/src/renderer/src/test-setup.ts @@ -0,0 +1,45 @@ +import '@testing-library/jest-dom/vitest'; +import { vi } from 'vitest'; + +// Mock matchMedia for jsdom +Object.defineProperty(window, 'matchMedia', { + writable: true, + value: vi.fn().mockImplementation((query: string) => ({ + matches: false, + media: query, + onchange: null, + addListener: vi.fn(), + removeListener: vi.fn(), + addEventListener: vi.fn(), + removeEventListener: vi.fn(), + dispatchEvent: vi.fn(), + })), +}); + +// Mock window.api for renderer tests +const createMockApi = () => ({ + storageGetSettings: vi.fn().mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + theme: 'system', + windowTransparency: 0, + transparencyEnabled: false, + opaqueWhenFocused: true, + alwaysOnTop: false, + rememberWindowPosition: true, + showNotifications: false, + codeDetectionEnabled: true, + }), + storageSaveSettings: vi.fn().mockResolvedValue(undefined), + onSettingsUpdated: vi.fn().mockReturnValue(() => {}), + removeSettingsListeners: vi.fn(), + quickClipsScanText: vi.fn().mockResolvedValue([]), + onToggleSearch: vi.fn(), + removeToggleSearchListeners: vi.fn(), +}); + +Object.defineProperty(window, 'api', { + value: createMockApi(), + writable: true, +}); diff --git a/src/renderer/src/utils/languageDetection.test.ts b/src/renderer/src/utils/languageDetection.test.ts new file mode 100644 index 0000000..9dd41e7 --- /dev/null +++ b/src/renderer/src/utils/languageDetection.test.ts @@ -0,0 +1,123 @@ +import { describe, it, expect } from 'vitest'; +import { detectLanguage, isCode, mapToSyntaxHighlighterLanguage } from './languageDetection'; + +describe('detectLanguage', () => { + it('returns null for short text', () => { + expect(detectLanguage('hi')).toBeNull(); + }); + + it('returns null for empty string', () => { + expect(detectLanguage('')).toBeNull(); + }); + + it('detects JavaScript', () => { + const code = ` + const foo = require('bar'); + function hello() { + console.log("world"); + } + `; + expect(detectLanguage(code)).toBe('javascript'); + }); + + it('detects TypeScript', () => { + const code = ` + interface User { + name: string; + age: number; + } + type Greeting = string; + enum Role { Admin, User } + const greet = (user: User): void => {}; + `; + const result = detectLanguage(code); + // TypeScript and JavaScript are closely related; accept either + expect(['typescript', 'javascript']).toContain(result); + }); + + it('detects Python', () => { + const code = ` + def hello(): + print("hello world") + if __name__ == "__main__": + hello() + `; + expect(detectLanguage(code)).toBe('python'); + }); + + it('detects HTML', () => { + const code = `
Hello
`; + expect(detectLanguage(code)).toBe('html'); + }); + + it('detects SQL', () => { + const code = `SELECT name, email FROM users WHERE id = 1`; + expect(detectLanguage(code)).toBe('sql'); + }); + + it('returns null for plain text', () => { + const text = 'The weather is nice today and the sun is shining brightly.'; + expect(detectLanguage(text)).toBeNull(); + }); +}); + +describe('isCode', () => { + it('returns false for empty string', () => { + expect(isCode('')).toBe(false); + }); + + it('returns false for short non-code text', () => { + expect(isCode('hi')).toBe(false); + }); + + it('returns true for code with brackets and semicolons', () => { + expect(isCode('const x = 5; if (x > 3) { return true; }')).toBe(true); + }); + + it('returns true for arrow functions', () => { + expect(isCode('const fn = () => {')).toBe(true); + }); + + it('returns true for method calls', () => { + expect(isCode('object.method()')).toBe(true); + }); + + it('returns false for plain text', () => { + expect(isCode('Hello, this is a normal sentence.')).toBe(false); + }); +}); + +describe('mapToSyntaxHighlighterLanguage', () => { + it('maps javascript correctly', () => { + expect(mapToSyntaxHighlighterLanguage('javascript')).toBe('javascript'); + }); + + it('maps html to markup', () => { + expect(mapToSyntaxHighlighterLanguage('html')).toBe('markup'); + }); + + it('returns text for unknown language', () => { + expect(mapToSyntaxHighlighterLanguage('unknown')).toBe('text'); + }); + + it('maps all known languages', () => { + const known = [ + 'javascript', + 'typescript', + 'python', + 'java', + 'csharp', + 'cpp', + 'c', + 'css', + 'json', + 'xml', + 'sql', + 'bash', + 'powershell', + ]; + for (const lang of known) { + expect(mapToSyntaxHighlighterLanguage(lang)).not.toBe('text'); + } + }); +}); diff --git a/test-results/.last-run.json b/test-results/.last-run.json new file mode 100644 index 0000000..cbcc1fb --- /dev/null +++ b/test-results/.last-run.json @@ -0,0 +1,4 @@ +{ + "status": "passed", + "failedTests": [] +} \ No newline at end of file diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..c2175d8 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,35 @@ +import { defineConfig } from 'vitest/config'; +import { resolve } from 'path'; + +export default defineConfig({ + test: { + projects: [ + { + define: { + __APP_VERSION__: JSON.stringify('0.0.0-test'), + }, + test: { + name: 'node', + include: ['src/main/**/*.test.ts', 'src/preload/**/*.test.ts'], + environment: 'node', + }, + }, + { + define: { + __APP_VERSION__: JSON.stringify('0.0.0-test'), + }, + test: { + name: 'renderer', + include: ['src/renderer/**/*.test.ts', 'src/renderer/**/*.test.tsx'], + environment: 'jsdom', + setupFiles: ['src/renderer/src/test-setup.ts'], + }, + resolve: { + alias: { + '@renderer': resolve(__dirname, 'src/renderer/src'), + }, + }, + }, + ], + }, +}); From 3a98bb70999a3615d9851fda07096ff7f36fa4f1 Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 18:20:57 -0700 Subject: [PATCH 03/18] e2e tools testing + linting --- CLAUDE.md | 14 + coverage/base.css | 384 +- coverage/block-navigation.js | 131 +- coverage/coverage-final.json | 5072 ++++++++++++++++- coverage/index.html | 438 +- coverage/main/clipboard/data.ts.html | 132 +- coverage/main/clipboard/index.html | 271 +- coverage/main/clipboard/quick-clips.ts.html | 133 +- coverage/main/clipboard/quick-tools.ts.html | 133 +- coverage/main/hotkeys/actions.ts.html | 133 +- coverage/main/hotkeys/index.html | 273 +- coverage/main/hotkeys/manager.ts.html | 133 +- coverage/main/hotkeys/registry.ts.html | 133 +- coverage/main/storage/defaults.ts.html | 133 +- coverage/main/storage/file-operations.ts.html | 133 +- coverage/main/storage/index.html | 339 +- coverage/main/storage/migration.ts.html | 133 +- coverage/main/storage/search-terms.ts.html | 133 +- coverage/main/storage/templates.ts.html | 133 +- coverage/prettify.css | 102 +- coverage/prettify.js | 937 ++- .../clips/clip/BookmarkClip.tsx.html | 133 +- .../components/clips/clip/HtmlClip.tsx.html | 133 +- .../components/clips/clip/ImageClip.tsx.html | 133 +- .../components/clips/clip/TextClip.tsx.html | 133 +- .../src/components/clips/clip/index.html | 310 +- coverage/renderer/src/hooks/index.html | 205 +- .../src/hooks/usePatternDetection.ts.html | 133 +- coverage/renderer/src/providers/index.html | 205 +- .../renderer/src/providers/theme.tsx.html | 133 +- coverage/renderer/src/utils/index.html | 205 +- .../src/utils/languageDetection.ts.html | 133 +- coverage/shared/constants.ts.html | 132 +- coverage/shared/index.html | 205 +- coverage/sorter.js | 377 +- docs/TOOLS_LAUNCHER_HOTKEY_TESTING.md | 4 +- docs/TOOLS_LAUNCHER_IMPLEMENTATION.md | 10 + src/main/clipboard/data.test.ts | 12 +- src/main/clipboard/ipc.ts | 21 +- src/main/clipboard/quick-tools.test.ts | 5 +- src/main/hotkeys/actions.ts | 2 +- src/main/storage/file-operations.test.ts | 7 +- src/main/storage/migration.test.ts | 4 +- src/preload/index.ts | 3 +- src/renderer/src/ToolsLauncher.tsx | 24 +- .../components/clips/QuickClipsScanner.tsx | 6 +- .../clips/clip/BookmarkClip.test.tsx | 4 +- .../components/clips/clip/ImageClip.test.tsx | 12 +- .../components/clips/clip/TextClip.test.tsx | 29 +- .../components/settings/TemplateManager.tsx | 8 +- .../quickclips/SearchTermsSection.tsx | 3 +- src/renderer/src/hooks/useContextMenu.ts | 2 +- src/renderer/src/providers/clips/index.tsx | 10 +- test-results/.last-run.json | 2 +- 54 files changed, 9244 insertions(+), 2917 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 2b263d0..52068db 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,6 +16,7 @@ Clipless is an Electron clipboard manager built with React and TypeScript. It mo - `npm run build:win` / `build:mac` / `build:linux` — Platform-specific packaging ### Testing + - `npm test` / `npx vitest` — Unit tests (Vitest) - `npx playwright test` — E2E tests (Playwright with Electron) @@ -26,7 +27,9 @@ Clipless is an Electron clipboard manager built with React and TypeScript. It mo Electron three-process architecture using `electron-vite` as the build system and Tailwind CSS v4 for styling. ### Main Process (`src/main/`) + Node.js process handling system integration. Key modules: + - **`clipboard/`** — 250ms polling-based clipboard monitoring, Quick Clips pattern scanning, Quick Tools URL generation, templates - **`storage/`** — `SecureStorage` singleton using Electron's `safeStorage` (OS-native encryption: DPAPI/Keychain/Secret Service). Data stored as `data.enc` - **`hotkeys/`** — Global hotkey registration via `globalShortcut` with modular registry/actions/manager pattern @@ -35,12 +38,15 @@ Node.js process handling system integration. Key modules: - **`updater/`** — Auto-updates via electron-updater from GitHub releases ### Preload (`src/preload/`) + Context bridge exposing typed IPC APIs to renderer. All renderer↔main communication goes through `api.*` methods defined here. IPC channels are organized by domain: clipboard, settings, storage, templates, search-terms, quick-tools. ### Renderer (`src/renderer/`) + React 19 app with three entry points (`main.tsx`, `settings-main.tsx`, `tools-launcher-main.tsx`) and corresponding HTML files. State management uses React Context providers: + - **`providers/clips/`** — Clipboard state with hooks: `useClipsStorage`, `useClipboardOperations`, `useClipState`. Handles clip lifecycle, deduplication, and locking - **`providers/theme.tsx`** — Light/dark theme with system detection - **`providers/languageDetection.tsx`** — Code language detection toggle @@ -48,9 +54,11 @@ State management uses React Context providers: Clip types are rendered by type-specific components in `components/clips/clip/` (TextClip, HtmlClip, ImageClip, RtfClip, BookmarkClip). ### Shared (`src/shared/`) + TypeScript interfaces and constants used by all processes. ### Data Flow + User copies → main process detects via polling → reads clipboard → sends `clipboard-changed` IPC event → renderer updates state via ClipsProvider → saves back to encrypted storage via IPC. ## Linear Ticket Template @@ -61,21 +69,27 @@ When creating Linear tickets for this project, use team **Clipless** and the fol **Priority:** 1=Urgent, 2=High, 3=Normal, 4=Low ### Title + Short imperative description (e.g. "Add keyboard shortcut for clearing clips") ### Description format + ```markdown ## Summary + One or two sentences describing what needs to happen and why. ## Context + - What currently happens (for bugs) or what's missing (for features) - Any relevant user workflow or affected area (clipboard, storage, hotkeys, settings, etc.) ## Acceptance Criteria + - [ ] Specific, verifiable condition - [ ] Another condition ## Affected Areas + Which modules are likely involved: clipboard/, storage/, hotkeys/, window/, renderer components, preload API, shared types. ``` diff --git a/coverage/base.css b/coverage/base.css index f418035..8cd9700 100644 --- a/coverage/base.css +++ b/coverage/base.css @@ -1,71 +1,129 @@ -body, html { - margin:0; padding: 0; +body, +html { + margin: 0; + padding: 0; height: 100%; } body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } + font-family: + Helvetica Neue, + Helvetica, + Arial; + font-size: 14px; + color: #333; +} +.small { + font-size: 12px; +} +*, +*:after, +*:before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +h1 { + font-size: 20px; + margin: 0; +} +h2 { + font-size: 14px; +} pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } + font: + 12px/1.4 Consolas, + 'Liberation Mono', + Menlo, + Courier, + monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { + color: #0074d9; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +.strong { + font-weight: bold; +} +.space-top1 { + padding: 10px 0 0 0; +} +.pad2y { + padding: 20px 0; +} +.pad1y { + padding: 10px 0; +} +.pad2x { + padding: 0 20px; +} +.pad2 { + padding: 20px; +} +.pad1 { + padding: 10px; +} +.space-left2 { + padding-left: 55px; +} +.space-right2 { + padding-right: 20px; +} +.center { + text-align: center; +} +.clearfix { + display: block; +} .clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; + content: ''; + display: block; + height: 0; + clear: both; + visibility: hidden; +} +.fl { + float: left; +} +@media only screen and (max-width: 640px) { + .col3 { + width: 100%; + max-width: 100%; + } + .hide-mobile { + display: none !important; } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } } .quiet { color: #7f7f7f; - color: rgba(0,0,0,0.5); + color: rgba(0, 0, 0, 0.5); +} +.quiet a { + opacity: 0.7; } -.quiet a { opacity: 0.7; } .fraction { font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 10px; color: #555; - background: #E8E8E8; + background: #e8e8e8; padding: 4px 5px; border-radius: 3px; vertical-align: middle; } -div.path a:link, div.path a:visited { color: #333; } +div.path a:link, +div.path a:visited { + color: #333; +} table.coverage { border-collapse: collapse; margin: 10px 0 0 0; @@ -78,140 +136,219 @@ table.coverage td { vertical-align: top; } table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; + text-align: right; + padding: 0 5px 0 20px; } table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; + text-align: right; + padding-right: 10px; + min-width: 20px; } table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; + display: inline-block; + padding: 0 5px; + width: 100%; } .missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; } .skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; } -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; +.missing-if-branch .typ, +.skip-if-branch .typ { + color: inherit !important; } .coverage-summary { border-collapse: collapse; width: 100%; } -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } +.coverage-summary tr { + border-bottom: 1px solid #bbb; +} +.keyline-all { + border: 1px solid #ddd; +} +.coverage-summary td, +.coverage-summary th { + padding: 10px; +} +.coverage-summary tbody { + border: 1px solid #bbb; +} +.coverage-summary td { + border-right: 1px solid #bbb; +} +.coverage-summary td:last-child { + border-right: none; +} .coverage-summary th { text-align: left; font-weight: normal; white-space: nowrap; } -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } +.coverage-summary th.file { + border-right: none !important; +} +.coverage-summary th.pct { +} .coverage-summary th.pic, .coverage-summary th.abs, .coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } +.coverage-summary td.abs { + text-align: right; +} +.coverage-summary td.file { + white-space: nowrap; +} +.coverage-summary td.pic { + min-width: 120px !important; +} +.coverage-summary tfoot td { +} .coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; } .coverage-summary .sorted .sorter { - background-position: 0 -20px; + background-position: 0 -20px; } .coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; + background-position: 0 -10px; +} +.status-line { + height: 10px; } -.status-line { height: 10px; } /* yellow */ -.cbranch-no { background: yellow !important; color: #111; } +.cbranch-no { + background: yellow !important; + color: #111; +} /* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } +.red.solid, +.status-line.low, +.low .cover-fill { + background: #c21f39; +} +.low .chart { + border: 1px solid #c21f39; +} .highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; +.highlighted .cstat-no, +.highlighted .fstat-no, +.highlighted .cbranch-no { + background: #c21f39 !important; } /* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +.cstat-no, +.fstat-no, +.cbranch-no, +.cbranch-no { + background: #f6c6ce; +} /* light red */ -.low, .cline-no { background:#FCE1E5 } +.low, +.cline-no { + background: #fce1e5; +} /* light green */ -.high, .cline-yes { background:rgb(230,245,208) } +.high, +.cline-yes { + background: rgb(230, 245, 208); +} /* medium green */ -.cstat-yes { background:rgb(161,215,106) } +.cstat-yes { + background: rgb(161, 215, 106); +} /* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } +.status-line.high, +.high .cover-fill { + background: rgb(77, 146, 33); +} +.high .chart { + border: 1px solid rgb(77, 146, 33); +} /* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } +.status-line.medium, +.medium .cover-fill { + background: #f9cd0b; +} +.medium .chart { + border: 1px solid #f9cd0b; +} /* light yellow */ -.medium { background: #fff4c2; } +.medium { + background: #fff4c2; +} -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } +.cstat-skip { + background: #ddd; + color: #111; +} +.fstat-skip { + background: #ddd; + color: #111 !important; +} +.cbranch-skip { + background: #ddd !important; + color: #111; +} -span.cline-neutral { background: #eaeaea; } +span.cline-neutral { + background: #eaeaea; +} .coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; + opacity: 0.5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; } -.cover-fill, .cover-empty { - display:inline-block; +.cover-fill, +.cover-empty { + display: inline-block; height: 12px; } .chart { line-height: 0; } .cover-empty { - background: white; + background: white; } .cover-full { - border-right: none !important; + border-right: none !important; } pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { + color: #999 !important; +} +.ignore-none { + color: #999; + font-weight: normal; } -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } .wrapper { min-height: 100%; @@ -219,6 +356,7 @@ pre.prettyprint { height: 100%; margin: 0 auto -48px; } -.footer, .push { +.footer, +.push { height: 48px; } diff --git a/coverage/block-navigation.js b/coverage/block-navigation.js index 530d1ed..b7fa563 100644 --- a/coverage/block-navigation.js +++ b/coverage/block-navigation.js @@ -1,87 +1,82 @@ /* eslint-disable */ var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - // Selector that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + // Selector that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); - var currentIndex; + var currentIndex; - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } + function toggleClass(index) { + missingCoverageElements.item(currentIndex).classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center', + }); + } - makeCurrent(nextIndex); + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; } - function goToNext() { - var nextIndex = 0; + makeCurrent(nextIndex); + } - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } + function goToNext() { + var nextIndex = 0; - makeCurrent(nextIndex); + if (typeof currentIndex === 'number' && currentIndex < missingCoverageElements.length - 1) { + nextIndex = currentIndex + 1; } - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } + makeCurrent(nextIndex); + } - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; })(); window.addEventListener('keydown', jumpToCode); diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json index a85da96..1569783 100644 --- a/coverage/coverage-final.json +++ b/coverage/coverage-final.json @@ -1,20 +1,5054 @@ -{"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":36,"column":null}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":null}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"4":{"start":{"line":11,"column":14},"end":{"line":11,"column":null}},"5":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}},"7":{"start":{"line":16,"column":15},"end":{"line":16,"column":null}},"8":{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":21,"column":16},"end":{"line":21,"column":null}},"11":{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},"12":{"start":{"line":23,"column":4},"end":{"line":23,"column":null}},"13":{"start":{"line":26,"column":2},"end":{"line":33,"column":null}},"14":{"start":{"line":27,"column":21},"end":{"line":27,"column":null}},"15":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"16":{"start":{"line":29,"column":6},"end":{"line":29,"column":null}},"17":{"start":{"line":35,"column":2},"end":{"line":35,"column":null}},"18":{"start":{"line":39,"column":32},"end":{"line":39,"column":null}},"19":{"start":{"line":39,"column":46},"end":{"line":39,"column":null}},"20":{"start":{"line":40,"column":32},"end":{"line":40,"column":null}},"21":{"start":{"line":40,"column":46},"end":{"line":40,"column":null}},"22":{"start":{"line":41,"column":31},"end":{"line":41,"column":null}},"23":{"start":{"line":41,"column":45},"end":{"line":41,"column":null}},"24":{"start":{"line":43,"column":33},"end":{"line":49,"column":null}},"25":{"start":{"line":44,"column":16},"end":{"line":44,"column":null}},"26":{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},"27":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"28":{"start":{"line":48,"column":2},"end":{"line":48,"column":null}},"29":{"start":{"line":51,"column":36},"end":{"line":57,"column":null}},"30":{"start":{"line":52,"column":2},"end":{"line":56,"column":null}},"31":{"start":{"line":53,"column":4},"end":{"line":53,"column":null}},"32":{"start":{"line":55,"column":4},"end":{"line":55,"column":null}},"33":{"start":{"line":60,"column":32},"end":{"line":62,"column":null}},"34":{"start":{"line":61,"column":2},"end":{"line":61,"column":null}},"35":{"start":{"line":64,"column":32},"end":{"line":66,"column":null}},"36":{"start":{"line":65,"column":2},"end":{"line":65,"column":null}},"37":{"start":{"line":68,"column":31},"end":{"line":70,"column":null}},"38":{"start":{"line":69,"column":2},"end":{"line":69,"column":null}},"39":{"start":{"line":72,"column":33},"end":{"line":81,"column":null}},"40":{"start":{"line":73,"column":2},"end":{"line":80,"column":null}},"41":{"start":{"line":75,"column":18},"end":{"line":75,"column":null}},"42":{"start":{"line":76,"column":4},"end":{"line":76,"column":null}},"43":{"start":{"line":78,"column":4},"end":{"line":78,"column":null}},"44":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"45":{"start":{"line":83,"column":36},"end":{"line":99,"column":null}},"46":{"start":{"line":89,"column":2},"end":{"line":98,"column":null}},"47":{"start":{"line":91,"column":4},"end":{"line":94,"column":null}},"48":{"start":{"line":96,"column":4},"end":{"line":96,"column":null}},"49":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":39},"end":{"line":4,"column":87}},"loc":{"start":{"line":4,"column":87},"end":{"line":36,"column":null}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":32},"end":{"line":39,"column":46}},"loc":{"start":{"line":39,"column":46},"end":{"line":39,"column":null}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":32},"end":{"line":40,"column":46}},"loc":{"start":{"line":40,"column":46},"end":{"line":40,"column":null}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":31},"end":{"line":41,"column":45}},"loc":{"start":{"line":41,"column":45},"end":{"line":41,"column":null}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":33},"end":{"line":43,"column":54}},"loc":{"start":{"line":43,"column":54},"end":{"line":49,"column":null}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":36},"end":{"line":51,"column":81}},"loc":{"start":{"line":51,"column":81},"end":{"line":57,"column":null}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":60,"column":32},"end":{"line":60,"column":33}},"loc":{"start":{"line":60,"column":56},"end":{"line":62,"column":null}},"line":60},"7":{"name":"(anonymous_7)","decl":{"start":{"line":64,"column":32},"end":{"line":64,"column":33}},"loc":{"start":{"line":64,"column":56},"end":{"line":66,"column":null}},"line":64},"8":{"name":"(anonymous_8)","decl":{"start":{"line":68,"column":31},"end":{"line":68,"column":32}},"loc":{"start":{"line":68,"column":54},"end":{"line":70,"column":null}},"line":68},"9":{"name":"(anonymous_9)","decl":{"start":{"line":72,"column":33},"end":{"line":72,"column":34}},"loc":{"start":{"line":72,"column":62},"end":{"line":81,"column":null}},"line":72},"10":{"name":"(anonymous_10)","decl":{"start":{"line":83,"column":36},"end":{"line":83,"column":37}},"loc":{"start":{"line":88,"column":12},"end":{"line":99,"column":null}},"line":88}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":7,"column":6},"end":{"line":7,"column":27}},"type":"binary-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":7,"column":14}},{"start":{"line":7,"column":14},"end":{"line":7,"column":27}}],"line":7},"2":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},{"start":{},"end":{}}],"line":12},"3":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":25}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":13}},{"start":{"line":12,"column":13},"end":{"line":12,"column":25}}],"line":12},"4":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":17},"5":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":27}},"type":"binary-expr","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":14}},{"start":{"line":17,"column":14},"end":{"line":17,"column":27}}],"line":17},"6":{"loc":{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},{"start":{},"end":{}}],"line":22},"7":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},{"start":{},"end":{}}],"line":28},"8":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":34}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":20}},{"start":{"line":28,"column":20},"end":{"line":28,"column":34}}],"line":28},"9":{"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},{"start":{},"end":{}}],"line":45}},"s":{"0":1,"1":6,"2":6,"3":2,"4":4,"5":4,"6":1,"7":3,"8":3,"9":1,"10":2,"11":2,"12":1,"13":1,"14":1,"15":1,"16":0,"17":1,"18":1,"19":1,"20":1,"21":0,"22":1,"23":0,"24":1,"25":0,"26":0,"27":0,"28":0,"29":1,"30":0,"31":0,"32":0,"33":1,"34":1,"35":1,"36":0,"37":1,"38":0,"39":1,"40":1,"41":1,"42":1,"43":0,"44":0,"45":1,"46":1,"47":1,"48":0,"49":0},"f":{"0":6,"1":1,"2":0,"3":0,"4":0,"5":0,"6":1,"7":0,"8":0,"9":1,"10":1},"b":{"0":[2,4],"1":[6,2],"2":[1,3],"3":[4,1],"4":[1,2],"5":[3,1],"6":[1,1],"7":[0,1],"8":[1,1],"9":[0,0]},"meta":{"lastBranch":10,"lastFunction":11,"lastStatement":50,"seen":{"s:4:39:36:Infinity":0,"f:4:39:4:87":0,"s:6:15:6:Infinity":1,"b:7:2:9:Infinity:undefined:undefined:undefined:undefined":0,"s:7:2:9:Infinity":2,"b:7:6:7:14:7:14:7:27":1,"s:8:4:8:Infinity":3,"s:11:14:11:Infinity":4,"b:12:2:14:Infinity:undefined:undefined:undefined:undefined":2,"s:12:2:14:Infinity":5,"b:12:6:12:13:12:13:12:25":3,"s:13:4:13:Infinity":6,"s:16:15:16:Infinity":7,"b:17:2:19:Infinity:undefined:undefined:undefined:undefined":4,"s:17:2:19:Infinity":8,"b:17:6:17:14:17:14:17:27":5,"s:18:4:18:Infinity":9,"s:21:16:21:Infinity":10,"b:22:2:24:Infinity:undefined:undefined:undefined:undefined":6,"s:22:2:24:Infinity":11,"s:23:4:23:Infinity":12,"s:26:2:33:Infinity":13,"s:27:21:27:Infinity":14,"b:28:4:30:Infinity:undefined:undefined:undefined:undefined":7,"s:28:4:30:Infinity":15,"b:28:8:28:20:28:20:28:34":8,"s:29:6:29:Infinity":16,"s:35:2:35:Infinity":17,"s:39:32:39:Infinity":18,"f:39:32:39:46":1,"s:39:46:39:Infinity":19,"s:40:32:40:Infinity":20,"f:40:32:40:46":2,"s:40:46:40:Infinity":21,"s:41:31:41:Infinity":22,"f:41:31:41:45":3,"s:41:45:41:Infinity":23,"s:43:33:49:Infinity":24,"f:43:33:43:54":4,"s:44:16:44:Infinity":25,"b:45:2:47:Infinity:undefined:undefined:undefined:undefined":9,"s:45:2:47:Infinity":26,"s:46:4:46:Infinity":27,"s:48:2:48:Infinity":28,"s:51:36:57:Infinity":29,"f:51:36:51:81":5,"s:52:2:56:Infinity":30,"s:53:4:53:Infinity":31,"s:55:4:55:Infinity":32,"s:60:32:62:Infinity":33,"f:60:32:60:33":6,"s:61:2:61:Infinity":34,"s:64:32:66:Infinity":35,"f:64:32:64:33":7,"s:65:2:65:Infinity":36,"s:68:31:70:Infinity":37,"f:68:31:68:32":8,"s:69:2:69:Infinity":38,"s:72:33:81:Infinity":39,"f:72:33:72:34":9,"s:73:2:80:Infinity":40,"s:75:18:75:Infinity":41,"s:76:4:76:Infinity":42,"s:78:4:78:Infinity":43,"s:79:4:79:Infinity":44,"s:83:36:99:Infinity":45,"f:83:36:83:37":10,"s:89:2:98:Infinity":46,"s:91:4:94:Infinity":47,"s:96:4:96:Infinity":48,"s:97:4:97:Infinity":49}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts","statementMap":{"0":{"start":{"line":5,"column":35},"end":{"line":48,"column":null}},"1":{"start":{"line":6,"column":2},"end":{"line":47,"column":null}},"2":{"start":{"line":7,"column":24},"end":{"line":7,"column":null}},"3":{"start":{"line":8,"column":36},"end":{"line":8,"column":null}},"4":{"start":{"line":10,"column":4},"end":{"line":41,"column":null}},"5":{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},"6":{"start":{"line":11,"column":31},"end":{"line":11,"column":null}},"7":{"start":{"line":13,"column":6},"end":{"line":40,"column":null}},"8":{"start":{"line":14,"column":22},"end":{"line":14,"column":null}},"9":{"start":{"line":17,"column":8},"end":{"line":36,"column":null}},"10":{"start":{"line":18,"column":51},"end":{"line":18,"column":null}},"11":{"start":{"line":21,"column":10},"end":{"line":27,"column":null}},"12":{"start":{"line":22,"column":12},"end":{"line":26,"column":null}},"13":{"start":{"line":23,"column":14},"end":{"line":25,"column":null}},"14":{"start":{"line":24,"column":16},"end":{"line":24,"column":null}},"15":{"start":{"line":29,"column":10},"end":{"line":35,"column":null}},"16":{"start":{"line":30,"column":12},"end":{"line":34,"column":null}},"17":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"18":{"start":{"line":43,"column":4},"end":{"line":43,"column":null}},"19":{"start":{"line":45,"column":4},"end":{"line":45,"column":null}},"20":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"21":{"start":{"line":50,"column":35},"end":{"line":158,"column":null}},"22":{"start":{"line":51,"column":2},"end":{"line":157,"column":null}},"23":{"start":{"line":52,"column":22},"end":{"line":52,"column":null}},"24":{"start":{"line":53,"column":18},"end":{"line":53,"column":null}},"25":{"start":{"line":55,"column":4},"end":{"line":153,"column":null}},"26":{"start":{"line":56,"column":19},"end":{"line":56,"column":null}},"27":{"start":{"line":56,"column":37},"end":{"line":56,"column":52}},"28":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"29":{"start":{"line":57,"column":17},"end":{"line":57,"column":null}},"30":{"start":{"line":60,"column":32},"end":{"line":62,"column":null}},"31":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"32":{"start":{"line":61,"column":43},"end":{"line":61,"column":66}},"33":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"34":{"start":{"line":64,"column":42},"end":{"line":64,"column":null}},"35":{"start":{"line":67,"column":30},"end":{"line":67,"column":null}},"36":{"start":{"line":68,"column":25},"end":{"line":68,"column":null}},"37":{"start":{"line":71,"column":20},"end":{"line":71,"column":null}},"38":{"start":{"line":74,"column":21},"end":{"line":74,"column":null}},"39":{"start":{"line":76,"column":6},"end":{"line":147,"column":null}},"40":{"start":{"line":78,"column":8},"end":{"line":78,"column":null}},"41":{"start":{"line":81,"column":94},"end":{"line":81,"column":null}},"42":{"start":{"line":83,"column":8},"end":{"line":102,"column":null}},"43":{"start":{"line":84,"column":28},"end":{"line":84,"column":null}},"44":{"start":{"line":85,"column":31},"end":{"line":85,"column":null}},"45":{"start":{"line":86,"column":32},"end":{"line":86,"column":null}},"46":{"start":{"line":86,"column":67},"end":{"line":86,"column":75}},"47":{"start":{"line":89,"column":35},"end":{"line":89,"column":null}},"48":{"start":{"line":90,"column":22},"end":{"line":90,"column":null}},"49":{"start":{"line":91,"column":10},"end":{"line":99,"column":null}},"50":{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},"51":{"start":{"line":93,"column":14},"end":{"line":93,"column":null}},"52":{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},"53":{"start":{"line":96,"column":16},"end":{"line":96,"column":null}},"54":{"start":{"line":101,"column":10},"end":{"line":101,"column":null}},"55":{"start":{"line":105,"column":8},"end":{"line":146,"column":null}},"56":{"start":{"line":105,"column":44},"end":{"line":105,"column":64}},"57":{"start":{"line":107,"column":10},"end":{"line":145,"column":null}},"58":{"start":{"line":112,"column":12},"end":{"line":112,"column":null}},"59":{"start":{"line":112,"column":57},"end":{"line":112,"column":76}},"60":{"start":{"line":115,"column":41},"end":{"line":141,"column":null}},"61":{"start":{"line":116,"column":14},"end":{"line":116,"column":null}},"62":{"start":{"line":116,"column":45},"end":{"line":116,"column":null}},"63":{"start":{"line":117,"column":14},"end":{"line":124,"column":null}},"64":{"start":{"line":118,"column":36},"end":{"line":118,"column":null}},"65":{"start":{"line":119,"column":16},"end":{"line":123,"column":null}},"66":{"start":{"line":121,"column":39},"end":{"line":121,"column":null}},"67":{"start":{"line":122,"column":18},"end":{"line":122,"column":null}},"68":{"start":{"line":127,"column":39},"end":{"line":127,"column":null}},"69":{"start":{"line":128,"column":39},"end":{"line":128,"column":null}},"70":{"start":{"line":129,"column":45},"end":{"line":129,"column":null}},"71":{"start":{"line":131,"column":14},"end":{"line":138,"column":null}},"72":{"start":{"line":132,"column":16},"end":{"line":137,"column":null}},"73":{"start":{"line":134,"column":39},"end":{"line":134,"column":null}},"74":{"start":{"line":135,"column":30},"end":{"line":135,"column":null}},"75":{"start":{"line":136,"column":18},"end":{"line":136,"column":null}},"76":{"start":{"line":140,"column":14},"end":{"line":140,"column":null}},"77":{"start":{"line":143,"column":33},"end":{"line":143,"column":null}},"78":{"start":{"line":144,"column":12},"end":{"line":144,"column":null}},"79":{"start":{"line":144,"column":42},"end":{"line":144,"column":61}},"80":{"start":{"line":150,"column":6},"end":{"line":152,"column":null}},"81":{"start":{"line":151,"column":8},"end":{"line":151,"column":null}},"82":{"start":{"line":155,"column":4},"end":{"line":155,"column":null}},"83":{"start":{"line":156,"column":4},"end":{"line":156,"column":null}},"84":{"start":{"line":160,"column":38},"end":{"line":176,"column":null}},"85":{"start":{"line":161,"column":2},"end":{"line":175,"column":null}},"86":{"start":{"line":162,"column":24},"end":{"line":162,"column":null}},"87":{"start":{"line":163,"column":18},"end":{"line":163,"column":null}},"88":{"start":{"line":164,"column":22},"end":{"line":164,"column":null}},"89":{"start":{"line":166,"column":4},"end":{"line":171,"column":null}},"90":{"start":{"line":173,"column":4},"end":{"line":173,"column":null}},"91":{"start":{"line":174,"column":4},"end":{"line":174,"column":null}},"92":{"start":{"line":178,"column":38},"end":{"line":186,"column":null}},"93":{"start":{"line":179,"column":2},"end":{"line":185,"column":null}},"94":{"start":{"line":181,"column":4},"end":{"line":181,"column":null}},"95":{"start":{"line":183,"column":4},"end":{"line":183,"column":null}},"96":{"start":{"line":184,"column":4},"end":{"line":184,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":35},"end":{"line":5,"column":42}},"loc":{"start":{"line":5,"column":84},"end":{"line":48,"column":null}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":49},"end":{"line":22,"column":50}},"loc":{"start":{"line":22,"column":73},"end":{"line":26,"column":13}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":35},"end":{"line":50,"column":42}},"loc":{"start":{"line":50,"column":80},"end":{"line":158,"column":null}},"line":50},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":30},"end":{"line":56,"column":31}},"loc":{"start":{"line":56,"column":37},"end":{"line":56,"column":52}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":47},"end":{"line":60,"column":48}},"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":32},"end":{"line":61,"column":33}},"loc":{"start":{"line":61,"column":43},"end":{"line":61,"column":66}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":86,"column":60},"end":{"line":86,"column":61}},"loc":{"start":{"line":86,"column":67},"end":{"line":86,"column":75}},"line":86},"7":{"name":"(anonymous_7)","decl":{"start":{"line":105,"column":36},"end":{"line":105,"column":37}},"loc":{"start":{"line":105,"column":44},"end":{"line":105,"column":64}},"line":105},"8":{"name":"(anonymous_8)","decl":{"start":{"line":112,"column":48},"end":{"line":112,"column":49}},"loc":{"start":{"line":112,"column":57},"end":{"line":112,"column":76}},"line":112},"9":{"name":"(anonymous_9)","decl":{"start":{"line":115,"column":41},"end":{"line":115,"column":42}},"loc":{"start":{"line":115,"column":95},"end":{"line":141,"column":null}},"line":115},"10":{"name":"(anonymous_10)","decl":{"start":{"line":119,"column":46},"end":{"line":119,"column":47}},"loc":{"start":{"line":119,"column":57},"end":{"line":123,"column":17}},"line":119},"11":{"name":"(anonymous_11)","decl":{"start":{"line":144,"column":33},"end":{"line":144,"column":34}},"loc":{"start":{"line":144,"column":42},"end":{"line":144,"column":61}},"line":144},"12":{"name":"(anonymous_12)","decl":{"start":{"line":160,"column":38},"end":{"line":160,"column":50}},"loc":{"start":{"line":160,"column":50},"end":{"line":176,"column":null}},"line":160},"13":{"name":"(anonymous_13)","decl":{"start":{"line":178,"column":38},"end":{"line":178,"column":45}},"loc":{"start":{"line":178,"column":61},"end":{"line":186,"column":null}},"line":178}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},"type":"if","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":21,"column":10},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":21,"column":10},"end":{"line":27,"column":null}},{"start":{},"end":{}}],"line":21},"2":{"loc":{"start":{"line":23,"column":14},"end":{"line":25,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":14},"end":{"line":25,"column":null}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":23,"column":18},"end":{"line":23,"column":86}},"type":"binary-expr","locations":[{"start":{"line":23,"column":18},"end":{"line":23,"column":41}},{"start":{"line":23,"column":41},"end":{"line":23,"column":59}},{"start":{"line":23,"column":59},"end":{"line":23,"column":86}}],"line":23},"4":{"loc":{"start":{"line":29,"column":10},"end":{"line":35,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":10},"end":{"line":35,"column":null}},{"start":{},"end":{}}],"line":29},"5":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},{"start":{},"end":{}}],"line":57},"6":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},{"start":{},"end":{}}],"line":64},"7":{"loc":{"start":{"line":76,"column":6},"end":{"line":147,"column":null}},"type":"if","locations":[{"start":{"line":76,"column":6},"end":{"line":147,"column":null}},{"start":{"line":79,"column":13},"end":{"line":147,"column":null}}],"line":76},"8":{"loc":{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},{"start":{},"end":{}}],"line":92},"9":{"loc":{"start":{"line":92,"column":16},"end":{"line":92,"column":66}},"type":"binary-expr","locations":[{"start":{"line":92,"column":16},"end":{"line":92,"column":43}},{"start":{"line":92,"column":43},"end":{"line":92,"column":66}}],"line":92},"10":{"loc":{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},"type":"if","locations":[{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},{"start":{},"end":{}}],"line":95},"11":{"loc":{"start":{"line":105,"column":8},"end":{"line":146,"column":null}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":146,"column":null}},{"start":{},"end":{}}],"line":105},"12":{"loc":{"start":{"line":107,"column":10},"end":{"line":145,"column":null}},"type":"if","locations":[{"start":{"line":107,"column":10},"end":{"line":145,"column":null}},{"start":{"line":113,"column":17},"end":{"line":145,"column":null}}],"line":107},"13":{"loc":{"start":{"line":108,"column":12},"end":{"line":110,"column":null}},"type":"binary-expr","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":null}},{"start":{"line":109,"column":12},"end":{"line":109,"column":null}},{"start":{"line":110,"column":12},"end":{"line":110,"column":null}}],"line":108},"14":{"loc":{"start":{"line":116,"column":14},"end":{"line":116,"column":null}},"type":"if","locations":[{"start":{"line":116,"column":14},"end":{"line":116,"column":null}},{"start":{},"end":{}}],"line":116},"15":{"loc":{"start":{"line":117,"column":14},"end":{"line":124,"column":null}},"type":"if","locations":[{"start":{"line":117,"column":14},"end":{"line":124,"column":null}},{"start":{},"end":{}}],"line":117},"16":{"loc":{"start":{"line":121,"column":39},"end":{"line":121,"column":null}},"type":"cond-expr","locations":[{"start":{"line":121,"column":59},"end":{"line":121,"column":67}},{"start":{"line":121,"column":67},"end":{"line":121,"column":null}}],"line":121},"17":{"loc":{"start":{"line":134,"column":39},"end":{"line":134,"column":null}},"type":"cond-expr","locations":[{"start":{"line":134,"column":53},"end":{"line":134,"column":61}},{"start":{"line":134,"column":61},"end":{"line":134,"column":null}}],"line":134}},"s":{"0":1,"1":8,"2":8,"3":8,"4":8,"5":8,"6":1,"7":7,"8":7,"9":7,"10":7,"11":7,"12":5,"13":6,"14":6,"15":7,"16":5,"17":1,"18":8,"19":0,"20":0,"21":1,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":1,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":1,"93":0,"94":0,"95":0,"96":0},"f":{"0":8,"1":6,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[1,7],"1":[5,2],"2":[6,0],"3":[6,6,6],"4":[5,2],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0]},"meta":{"lastBranch":18,"lastFunction":14,"lastStatement":97,"seen":{"s:5:35:48:Infinity":0,"f:5:35:5:42":0,"s:6:2:47:Infinity":1,"s:7:24:7:Infinity":2,"s:8:36:8:Infinity":3,"s:10:4:41:Infinity":4,"b:11:6:11:Infinity:undefined:undefined:undefined:undefined":0,"s:11:6:11:Infinity":5,"s:11:31:11:Infinity":6,"s:13:6:40:Infinity":7,"s:14:22:14:Infinity":8,"s:17:8:36:Infinity":9,"s:18:51:18:Infinity":10,"b:21:10:27:Infinity:undefined:undefined:undefined:undefined":1,"s:21:10:27:Infinity":11,"s:22:12:26:Infinity":12,"f:22:49:22:50":1,"b:23:14:25:Infinity:undefined:undefined:undefined:undefined":2,"s:23:14:25:Infinity":13,"b:23:18:23:41:23:41:23:59:23:59:23:86":3,"s:24:16:24:Infinity":14,"b:29:10:35:Infinity:undefined:undefined:undefined:undefined":4,"s:29:10:35:Infinity":15,"s:30:12:34:Infinity":16,"s:38:8:38:Infinity":17,"s:43:4:43:Infinity":18,"s:45:4:45:Infinity":19,"s:46:4:46:Infinity":20,"s:50:35:158:Infinity":21,"f:50:35:50:42":2,"s:51:2:157:Infinity":22,"s:52:22:52:Infinity":23,"s:53:18:53:Infinity":24,"s:55:4:153:Infinity":25,"s:56:19:56:Infinity":26,"f:56:30:56:31":3,"s:56:37:56:52":27,"b:57:6:57:Infinity:undefined:undefined:undefined:undefined":5,"s:57:6:57:Infinity":28,"s:57:17:57:Infinity":29,"s:60:32:62:Infinity":30,"f:60:47:60:48":4,"s:61:8:61:Infinity":31,"f:61:32:61:33":5,"s:61:43:61:66":32,"b:64:6:64:Infinity:undefined:undefined:undefined:undefined":6,"s:64:6:64:Infinity":33,"s:64:42:64:Infinity":34,"s:67:30:67:Infinity":35,"s:68:25:68:Infinity":36,"s:71:20:71:Infinity":37,"s:74:21:74:Infinity":38,"b:76:6:147:Infinity:79:13:147:Infinity":7,"s:76:6:147:Infinity":39,"s:78:8:78:Infinity":40,"s:81:94:81:Infinity":41,"s:83:8:102:Infinity":42,"s:84:28:84:Infinity":43,"s:85:31:85:Infinity":44,"s:86:32:86:Infinity":45,"f:86:60:86:61":6,"s:86:67:86:75":46,"s:89:35:89:Infinity":47,"s:90:22:90:Infinity":48,"s:91:10:99:Infinity":49,"b:92:12:98:Infinity:undefined:undefined:undefined:undefined":8,"s:92:12:98:Infinity":50,"b:92:16:92:43:92:43:92:66":9,"s:93:14:93:Infinity":51,"b:95:14:97:Infinity:undefined:undefined:undefined:undefined":10,"s:95:14:97:Infinity":52,"s:96:16:96:Infinity":53,"s:101:10:101:Infinity":54,"b:105:8:146:Infinity:undefined:undefined:undefined:undefined":11,"s:105:8:146:Infinity":55,"f:105:36:105:37":7,"s:105:44:105:64":56,"b:107:10:145:Infinity:113:17:145:Infinity":12,"s:107:10:145:Infinity":57,"b:108:12:108:Infinity:109:12:109:Infinity:110:12:110:Infinity":13,"s:112:12:112:Infinity":58,"f:112:48:112:49":8,"s:112:57:112:76":59,"s:115:41:141:Infinity":60,"f:115:41:115:42":9,"b:116:14:116:Infinity:undefined:undefined:undefined:undefined":14,"s:116:14:116:Infinity":61,"s:116:45:116:Infinity":62,"b:117:14:124:Infinity:undefined:undefined:undefined:undefined":15,"s:117:14:124:Infinity":63,"s:118:36:118:Infinity":64,"s:119:16:123:Infinity":65,"f:119:46:119:47":10,"s:121:39:121:Infinity":66,"b:121:59:121:67:121:67:121:Infinity":16,"s:122:18:122:Infinity":67,"s:127:39:127:Infinity":68,"s:128:39:128:Infinity":69,"s:129:45:129:Infinity":70,"s:131:14:138:Infinity":71,"s:132:16:137:Infinity":72,"s:134:39:134:Infinity":73,"b:134:53:134:61:134:61:134:Infinity":17,"s:135:30:135:Infinity":74,"s:136:18:136:Infinity":75,"s:140:14:140:Infinity":76,"s:143:33:143:Infinity":77,"s:144:12:144:Infinity":78,"f:144:33:144:34":11,"s:144:42:144:61":79,"s:150:6:152:Infinity":80,"s:151:8:151:Infinity":81,"s:155:4:155:Infinity":82,"s:156:4:156:Infinity":83,"s:160:38:176:Infinity":84,"f:160:38:160:50":12,"s:161:2:175:Infinity":85,"s:162:24:162:Infinity":86,"s:163:18:163:Infinity":87,"s:164:22:164:Infinity":88,"s:166:4:171:Infinity":89,"s:173:4:173:Infinity":90,"s:174:4:174:Infinity":91,"s:178:38:186:Infinity":92,"f:178:38:178:45":13,"s:179:2:185:Infinity":93,"s:181:4:181:Infinity":94,"s:183:4:183:Infinity":95,"s:184:4:184:Infinity":96}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":11,"column":null}},"1":{"start":{"line":5,"column":2},"end":{"line":10,"column":null}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"5":{"start":{"line":13,"column":31},"end":{"line":20,"column":null}},"6":{"start":{"line":14,"column":2},"end":{"line":19,"column":null}},"7":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"8":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":22,"column":31},"end":{"line":29,"column":null}},"11":{"start":{"line":23,"column":2},"end":{"line":28,"column":null}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":null}},"13":{"start":{"line":26,"column":4},"end":{"line":26,"column":null}},"14":{"start":{"line":27,"column":4},"end":{"line":27,"column":null}},"15":{"start":{"line":31,"column":31},"end":{"line":38,"column":null}},"16":{"start":{"line":32,"column":2},"end":{"line":37,"column":null}},"17":{"start":{"line":33,"column":4},"end":{"line":33,"column":null}},"18":{"start":{"line":35,"column":4},"end":{"line":35,"column":null}},"19":{"start":{"line":36,"column":4},"end":{"line":36,"column":null}},"20":{"start":{"line":40,"column":33},"end":{"line":47,"column":null}},"21":{"start":{"line":41,"column":2},"end":{"line":46,"column":null}},"22":{"start":{"line":42,"column":4},"end":{"line":42,"column":null}},"23":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"24":{"start":{"line":45,"column":4},"end":{"line":45,"column":null}},"25":{"start":{"line":49,"column":31},"end":{"line":78,"column":null}},"26":{"start":{"line":50,"column":2},"end":{"line":77,"column":null}},"27":{"start":{"line":51,"column":29},"end":{"line":51,"column":null}},"28":{"start":{"line":54,"column":4},"end":{"line":58,"column":null}},"29":{"start":{"line":55,"column":6},"end":{"line":55,"column":null}},"30":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"31":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"32":{"start":{"line":62,"column":29},"end":{"line":62,"column":null}},"33":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}},"34":{"start":{"line":64,"column":4},"end":{"line":68,"column":null}},"35":{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},"36":{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},"37":{"start":{"line":70,"column":4},"end":{"line":73,"column":null}},"38":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"39":{"start":{"line":76,"column":4},"end":{"line":76,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":32},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":44},"end":{"line":11,"column":null}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":31},"end":{"line":13,"column":38}},"loc":{"start":{"line":13,"column":93},"end":{"line":20,"column":null}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":31},"end":{"line":22,"column":38}},"loc":{"start":{"line":22,"column":67},"end":{"line":29,"column":null}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":31},"end":{"line":31,"column":38}},"loc":{"start":{"line":31,"column":53},"end":{"line":38,"column":null}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":33},"end":{"line":40,"column":40}},"loc":{"start":{"line":40,"column":57},"end":{"line":47,"column":null}},"line":40},"5":{"name":"(anonymous_5)","decl":{"start":{"line":49,"column":31},"end":{"line":49,"column":38}},"loc":{"start":{"line":49,"column":79},"end":{"line":78,"column":null}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":62,"column":43},"end":{"line":62,"column":44}},"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"type":"binary-expr","locations":[{"start":{"line":61,"column":22},"end":{"line":61,"column":51}},{"start":{"line":61,"column":51},"end":{"line":61,"column":null}}],"line":61},"1":{"loc":{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},{"start":{},"end":{}}],"line":65}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":1,"6":0,"7":0,"8":0,"9":0,"10":1,"11":0,"12":0,"13":0,"14":0,"15":1,"16":0,"17":0,"18":0,"19":0,"20":1,"21":0,"22":0,"23":0,"24":0,"25":1,"26":6,"27":6,"28":6,"29":6,"30":1,"31":6,"32":6,"33":6,"34":6,"35":6,"36":3,"37":6,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":6,"6":6},"b":{"0":[6,2],"1":[3,3]},"meta":{"lastBranch":2,"lastFunction":7,"lastStatement":40,"seen":{"s:4:32:11:Infinity":0,"f:4:32:4:44":0,"s:5:2:10:Infinity":1,"s:6:4:6:Infinity":2,"s:8:4:8:Infinity":3,"s:9:4:9:Infinity":4,"s:13:31:20:Infinity":5,"f:13:31:13:38":1,"s:14:2:19:Infinity":6,"s:15:4:15:Infinity":7,"s:17:4:17:Infinity":8,"s:18:4:18:Infinity":9,"s:22:31:29:Infinity":10,"f:22:31:22:38":2,"s:23:2:28:Infinity":11,"s:24:4:24:Infinity":12,"s:26:4:26:Infinity":13,"s:27:4:27:Infinity":14,"s:31:31:38:Infinity":15,"f:31:31:31:38":3,"s:32:2:37:Infinity":16,"s:33:4:33:Infinity":17,"s:35:4:35:Infinity":18,"s:36:4:36:Infinity":19,"s:40:33:47:Infinity":20,"f:40:33:40:40":4,"s:41:2:46:Infinity":21,"s:42:4:42:Infinity":22,"s:44:4:44:Infinity":23,"s:45:4:45:Infinity":24,"s:49:31:78:Infinity":25,"f:49:31:49:38":5,"s:50:2:77:Infinity":26,"s:51:29:51:Infinity":27,"s:54:4:58:Infinity":28,"s:55:6:55:Infinity":29,"s:57:6:57:Infinity":30,"s:61:22:61:Infinity":31,"b:61:22:61:51:61:51:61:Infinity":0,"s:62:29:62:Infinity":32,"f:62:43:62:44":6,"s:62:54:62:72":33,"s:64:4:68:Infinity":34,"b:65:6:67:Infinity:undefined:undefined:undefined:undefined":1,"s:65:6:67:Infinity":35,"s:66:8:66:Infinity":36,"s:70:4:73:Infinity":37,"s:75:4:75:Infinity":38,"s:76:4:76:Infinity":39}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts","statementMap":{"0":{"start":{"line":9,"column":45},"end":{"line":9,"column":null}},"1":{"start":{"line":12,"column":4},"end":{"line":12,"column":null}},"2":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"3":{"start":{"line":19,"column":26},"end":{"line":19,"column":null}},"4":{"start":{"line":21,"column":4},"end":{"line":42,"column":null}},"5":{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"7":{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},"8":{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},"9":{"start":{"line":30,"column":8},"end":{"line":30,"column":null}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"11":{"start":{"line":34,"column":6},"end":{"line":34,"column":null}},"12":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"13":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"14":{"start":{"line":41,"column":6},"end":{"line":41,"column":null}},"15":{"start":{"line":49,"column":4},"end":{"line":74,"column":null}},"16":{"start":{"line":50,"column":20},"end":{"line":50,"column":null}},"17":{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},"18":{"start":{"line":52,"column":8},"end":{"line":52,"column":null}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"20":{"start":{"line":56,"column":25},"end":{"line":56,"column":null}},"21":{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},"22":{"start":{"line":58,"column":8},"end":{"line":58,"column":null}},"23":{"start":{"line":59,"column":8},"end":{"line":59,"column":null}},"24":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"25":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"26":{"start":{"line":68,"column":6},"end":{"line":68,"column":null}},"27":{"start":{"line":70,"column":6},"end":{"line":70,"column":null}},"28":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"29":{"start":{"line":73,"column":6},"end":{"line":73,"column":null}},"30":{"start":{"line":81,"column":4},"end":{"line":103,"column":null}},"31":{"start":{"line":83,"column":8},"end":{"line":83,"column":null}},"32":{"start":{"line":84,"column":8},"end":{"line":84,"column":null}},"33":{"start":{"line":86,"column":8},"end":{"line":86,"column":null}},"34":{"start":{"line":87,"column":8},"end":{"line":87,"column":null}},"35":{"start":{"line":89,"column":8},"end":{"line":89,"column":null}},"36":{"start":{"line":90,"column":8},"end":{"line":90,"column":null}},"37":{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},"38":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"39":{"start":{"line":95,"column":10},"end":{"line":95,"column":null}},"40":{"start":{"line":97,"column":8},"end":{"line":97,"column":null}},"41":{"start":{"line":99,"column":8},"end":{"line":99,"column":null}},"42":{"start":{"line":100,"column":8},"end":{"line":100,"column":null}},"43":{"start":{"line":102,"column":8},"end":{"line":102,"column":null}},"44":{"start":{"line":110,"column":4},"end":{"line":121,"column":null}},"45":{"start":{"line":111,"column":20},"end":{"line":111,"column":null}},"46":{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},"47":{"start":{"line":113,"column":8},"end":{"line":113,"column":null}},"48":{"start":{"line":116,"column":8},"end":{"line":116,"column":null}},"49":{"start":{"line":119,"column":6},"end":{"line":119,"column":null}},"50":{"start":{"line":120,"column":6},"end":{"line":120,"column":null}},"51":{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},"52":{"start":{"line":128,"column":26},"end":{"line":128,"column":null}},"53":{"start":{"line":130,"column":4},"end":{"line":145,"column":null}},"54":{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},"55":{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},"56":{"start":{"line":133,"column":10},"end":{"line":133,"column":null}},"57":{"start":{"line":135,"column":8},"end":{"line":135,"column":null}},"58":{"start":{"line":136,"column":8},"end":{"line":136,"column":null}},"59":{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},"60":{"start":{"line":138,"column":10},"end":{"line":138,"column":null}},"61":{"start":{"line":142,"column":6},"end":{"line":142,"column":null}},"62":{"start":{"line":144,"column":6},"end":{"line":144,"column":null}},"63":{"start":{"line":152,"column":4},"end":{"line":174,"column":null}},"64":{"start":{"line":153,"column":20},"end":{"line":153,"column":null}},"65":{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},"66":{"start":{"line":155,"column":8},"end":{"line":155,"column":null}},"67":{"start":{"line":156,"column":8},"end":{"line":156,"column":null}},"68":{"start":{"line":159,"column":24},"end":{"line":159,"column":null}},"69":{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},"70":{"start":{"line":161,"column":8},"end":{"line":161,"column":null}},"71":{"start":{"line":162,"column":8},"end":{"line":162,"column":null}},"72":{"start":{"line":166,"column":44},"end":{"line":166,"column":null}},"73":{"start":{"line":169,"column":6},"end":{"line":169,"column":null}},"74":{"start":{"line":171,"column":6},"end":{"line":171,"column":null}},"75":{"start":{"line":173,"column":6},"end":{"line":173,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":52},"end":{"line":13,"column":null}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":22}},"loc":{"start":{"line":18,"column":22},"end":{"line":43,"column":null}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":8},"end":{"line":48,"column":22}},"loc":{"start":{"line":48,"column":52},"end":{"line":75,"column":null}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":80,"column":10},"end":{"line":80,"column":30}},"loc":{"start":{"line":80,"column":53},"end":{"line":104,"column":null}},"line":80},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":10},"end":{"line":109,"column":24}},"loc":{"start":{"line":109,"column":47},"end":{"line":122,"column":null}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":127,"column":2},"end":{"line":127,"column":26}},"loc":{"start":{"line":127,"column":26},"end":{"line":146,"column":null}},"line":127},"6":{"name":"(anonymous_6)","decl":{"start":{"line":151,"column":8},"end":{"line":151,"column":43}},"loc":{"start":{"line":151,"column":43},"end":{"line":175,"column":null}},"line":151}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},{"start":{},"end":{}}],"line":23},"2":{"loc":{"start":{"line":23,"column":10},"end":{"line":23,"column":70}},"type":"binary-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":41}},{"start":{"line":23,"column":41},"end":{"line":23,"column":70}}],"line":23},"3":{"loc":{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37},"5":{"loc":{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},{"start":{},"end":{}}],"line":51},"6":{"loc":{"start":{"line":51,"column":10},"end":{"line":51,"column":43}},"type":"binary-expr","locations":[{"start":{"line":51,"column":10},"end":{"line":51,"column":20}},{"start":{"line":51,"column":20},"end":{"line":51,"column":43}}],"line":51},"7":{"loc":{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},{"start":{},"end":{}}],"line":57},"8":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":63,"column":10},"end":{"line":63,"column":61}},"type":"binary-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":63,"column":29}},{"start":{"line":63,"column":29},"end":{"line":63,"column":61}}],"line":63},"10":{"loc":{"start":{"line":81,"column":4},"end":{"line":103,"column":null}},"type":"switch","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":null}},{"start":{"line":85,"column":6},"end":{"line":87,"column":null}},{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},{"start":{"line":91,"column":6},"end":{"line":97,"column":null}},{"start":{"line":98,"column":6},"end":{"line":100,"column":null}},{"start":{"line":101,"column":6},"end":{"line":102,"column":null}}],"line":81},"11":{"loc":{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},{"start":{"line":94,"column":15},"end":{"line":96,"column":null}}],"line":92},"12":{"loc":{"start":{"line":92,"column":12},"end":{"line":92,"column":58}},"type":"binary-expr","locations":[{"start":{"line":92,"column":12},"end":{"line":92,"column":35}},{"start":{"line":92,"column":35},"end":{"line":92,"column":58}}],"line":92},"13":{"loc":{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},{"start":{"line":114,"column":13},"end":{"line":117,"column":null}}],"line":112},"14":{"loc":{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},{"start":{},"end":{}}],"line":128},"15":{"loc":{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},"type":"if","locations":[{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},{"start":{},"end":{}}],"line":131},"16":{"loc":{"start":{"line":131,"column":10},"end":{"line":131,"column":73}},"type":"binary-expr","locations":[{"start":{"line":131,"column":10},"end":{"line":131,"column":42}},{"start":{"line":131,"column":42},"end":{"line":131,"column":73}}],"line":131},"17":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},{"start":{},"end":{}}],"line":132},"18":{"loc":{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},"type":"if","locations":[{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},{"start":{},"end":{}}],"line":137},"19":{"loc":{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},"type":"if","locations":[{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},{"start":{},"end":{}}],"line":154},"20":{"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":40}},"type":"binary-expr","locations":[{"start":{"line":154,"column":10},"end":{"line":154,"column":20}},{"start":{"line":154,"column":20},"end":{"line":154,"column":40}}],"line":154},"21":{"loc":{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},"type":"if","locations":[{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},{"start":{},"end":{}}],"line":160}},"s":{"0":15,"1":11,"2":4,"3":1,"4":3,"5":3,"6":1,"7":1,"8":2,"9":1,"10":2,"11":2,"12":2,"13":0,"14":0,"15":4,"16":4,"17":4,"18":1,"19":1,"20":3,"21":3,"22":0,"23":0,"24":3,"25":3,"26":3,"27":3,"28":3,"29":0,"30":3,"31":2,"32":2,"33":1,"34":1,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":2,"52":0,"53":2,"54":2,"55":1,"56":0,"57":1,"58":1,"59":1,"60":0,"61":2,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0},"f":{"0":11,"1":4,"2":4,"3":3,"4":0,"5":2,"6":0},"b":{"0":[1,3],"1":[1,2],"2":[3,3],"3":[1,1],"4":[0,2],"5":[1,3],"6":[4,4],"7":[0,3],"8":[3,0],"9":[3,3],"10":[2,1,0,0,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,2],"15":[1,1],"16":[2,1],"17":[0,1],"18":[0,1],"19":[0,0],"20":[0,0],"21":[0,0]},"meta":{"lastBranch":22,"lastFunction":7,"lastStatement":76,"seen":{"s:9:45:9:Infinity":0,"f:11:2:11:16":0,"s:12:4:12:Infinity":1,"f:18:2:18:22":1,"b:19:4:19:Infinity:undefined:undefined:undefined:undefined":0,"s:19:4:19:Infinity":2,"s:19:26:19:Infinity":3,"s:21:4:42:Infinity":4,"b:23:6:26:Infinity:undefined:undefined:undefined:undefined":1,"s:23:6:26:Infinity":5,"b:23:10:23:41:23:41:23:70":2,"s:24:8:24:Infinity":6,"s:25:8:25:Infinity":7,"b:29:6:31:Infinity:undefined:undefined:undefined:undefined":3,"s:29:6:31:Infinity":8,"s:30:8:30:Infinity":9,"s:33:6:33:Infinity":10,"s:34:6:34:Infinity":11,"b:37:6:39:Infinity:undefined:undefined:undefined:undefined":4,"s:37:6:39:Infinity":12,"s:38:8:38:Infinity":13,"s:41:6:41:Infinity":14,"f:48:8:48:22":2,"s:49:4:74:Infinity":15,"s:50:20:50:Infinity":16,"b:51:6:54:Infinity:undefined:undefined:undefined:undefined":5,"s:51:6:54:Infinity":17,"b:51:10:51:20:51:20:51:43":6,"s:52:8:52:Infinity":18,"s:53:8:53:Infinity":19,"s:56:25:56:Infinity":20,"b:57:6:60:Infinity:undefined:undefined:undefined:undefined":7,"s:57:6:60:Infinity":21,"s:58:8:58:Infinity":22,"s:59:8:59:Infinity":23,"b:63:6:65:Infinity:undefined:undefined:undefined:undefined":8,"s:63:6:65:Infinity":24,"b:63:10:63:29:63:29:63:61":9,"s:64:8:64:Infinity":25,"s:68:6:68:Infinity":26,"s:70:6:70:Infinity":27,"s:71:6:71:Infinity":28,"s:73:6:73:Infinity":29,"f:80:10:80:30":3,"b:82:6:84:Infinity:85:6:87:Infinity:88:6:90:Infinity:91:6:97:Infinity:98:6:100:Infinity:101:6:102:Infinity":10,"s:81:4:103:Infinity":30,"s:83:8:83:Infinity":31,"s:84:8:84:Infinity":32,"s:86:8:86:Infinity":33,"s:87:8:87:Infinity":34,"s:89:8:89:Infinity":35,"s:90:8:90:Infinity":36,"b:92:8:96:Infinity:94:15:96:Infinity":11,"s:92:8:96:Infinity":37,"b:92:12:92:35:92:35:92:58":12,"s:93:10:93:Infinity":38,"s:95:10:95:Infinity":39,"s:97:8:97:Infinity":40,"s:99:8:99:Infinity":41,"s:100:8:100:Infinity":42,"s:102:8:102:Infinity":43,"f:109:10:109:24":4,"s:110:4:121:Infinity":44,"s:111:20:111:Infinity":45,"b:112:6:117:Infinity:114:13:117:Infinity":13,"s:112:6:117:Infinity":46,"s:113:8:113:Infinity":47,"s:116:8:116:Infinity":48,"s:119:6:119:Infinity":49,"s:120:6:120:Infinity":50,"f:127:2:127:26":5,"b:128:4:128:Infinity:undefined:undefined:undefined:undefined":14,"s:128:4:128:Infinity":51,"s:128:26:128:Infinity":52,"s:130:4:145:Infinity":53,"b:131:6:140:Infinity:undefined:undefined:undefined:undefined":15,"s:131:6:140:Infinity":54,"b:131:10:131:42:131:42:131:73":16,"b:132:8:134:Infinity:undefined:undefined:undefined:undefined":17,"s:132:8:134:Infinity":55,"s:133:10:133:Infinity":56,"s:135:8:135:Infinity":57,"s:136:8:136:Infinity":58,"b:137:8:139:Infinity:undefined:undefined:undefined:undefined":18,"s:137:8:139:Infinity":59,"s:138:10:138:Infinity":60,"s:142:6:142:Infinity":61,"s:144:6:144:Infinity":62,"f:151:8:151:43":6,"s:152:4:174:Infinity":63,"s:153:20:153:Infinity":64,"b:154:6:157:Infinity:undefined:undefined:undefined:undefined":19,"s:154:6:157:Infinity":65,"b:154:10:154:20:154:20:154:40":20,"s:155:8:155:Infinity":66,"s:156:8:156:Infinity":67,"s:159:24:159:Infinity":68,"b:160:6:163:Infinity:undefined:undefined:undefined:undefined":21,"s:160:6:163:Infinity":69,"s:161:8:161:Infinity":70,"s:162:8:162:Infinity":71,"s:166:44:166:Infinity":72,"s:169:6:169:Infinity":73,"s:171:6:171:Infinity":74,"s:173:6:173:Infinity":75}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts","statementMap":{"0":{"start":{"line":10,"column":21},"end":{"line":10,"column":null}},"1":{"start":{"line":11,"column":20},"end":{"line":11,"column":null}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"4":{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},"5":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"6":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"7":{"start":{"line":24,"column":4},"end":{"line":31,"column":null}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},"9":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":null}},"11":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":null}},"13":{"start":{"line":35,"column":4},"end":{"line":63,"column":null}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":null}},"15":{"start":{"line":39,"column":23},"end":{"line":39,"column":null}},"16":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},"17":{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},"18":{"start":{"line":43,"column":8},"end":{"line":43,"column":null}},"19":{"start":{"line":44,"column":8},"end":{"line":44,"column":null}},"20":{"start":{"line":47,"column":26},"end":{"line":47,"column":null}},"21":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"22":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"23":{"start":{"line":54,"column":6},"end":{"line":54,"column":null}},"24":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"25":{"start":{"line":60,"column":6},"end":{"line":60,"column":null}},"26":{"start":{"line":62,"column":6},"end":{"line":62,"column":null}},"27":{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},"28":{"start":{"line":68,"column":6},"end":{"line":70,"column":null}},"29":{"start":{"line":71,"column":6},"end":{"line":73,"column":null}},"30":{"start":{"line":72,"column":8},"end":{"line":72,"column":null}},"31":{"start":{"line":79,"column":29},"end":{"line":85,"column":null}},"32":{"start":{"line":87,"column":4},"end":{"line":96,"column":null}},"33":{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},"34":{"start":{"line":89,"column":8},"end":{"line":91,"column":null}},"35":{"start":{"line":92,"column":8},"end":{"line":94,"column":null}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"37":{"start":{"line":101,"column":32},"end":{"line":104,"column":null}},"38":{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},"39":{"start":{"line":107,"column":6},"end":{"line":109,"column":null}},"40":{"start":{"line":110,"column":6},"end":{"line":112,"column":null}},"41":{"start":{"line":111,"column":8},"end":{"line":111,"column":null}},"42":{"start":{"line":117,"column":25},"end":{"line":120,"column":null}},"43":{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},"44":{"start":{"line":123,"column":6},"end":{"line":125,"column":null}},"45":{"start":{"line":126,"column":6},"end":{"line":128,"column":null}},"46":{"start":{"line":127,"column":8},"end":{"line":127,"column":null}},"47":{"start":{"line":133,"column":4},"end":{"line":136,"column":null}},"48":{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},"49":{"start":{"line":138,"column":6},"end":{"line":138,"column":null}},"50":{"start":{"line":139,"column":6},"end":{"line":139,"column":null}},"51":{"start":{"line":140,"column":6},"end":{"line":140,"column":null}},"52":{"start":{"line":143,"column":4},"end":{"line":148,"column":null}},"53":{"start":{"line":144,"column":6},"end":{"line":144,"column":null}},"54":{"start":{"line":145,"column":6},"end":{"line":145,"column":null}},"55":{"start":{"line":147,"column":6},"end":{"line":147,"column":null}},"56":{"start":{"line":152,"column":4},"end":{"line":152,"column":null}},"57":{"start":{"line":157,"column":4},"end":{"line":157,"column":null}},"58":{"start":{"line":161,"column":4},"end":{"line":161,"column":null}},"59":{"start":{"line":165,"column":4},"end":{"line":165,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":16}},"loc":{"start":{"line":13,"column":52},"end":{"line":15,"column":null}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":8},"end":{"line":17,"column":36}},"loc":{"start":{"line":17,"column":36},"end":{"line":32,"column":null}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":8},"end":{"line":34,"column":41}},"loc":{"start":{"line":34,"column":41},"end":{"line":64,"column":null}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":10},"end":{"line":66,"column":36}},"loc":{"start":{"line":66,"column":56},"end":{"line":75,"column":null}},"line":66},"4":{"name":"(anonymous_4)","decl":{"start":{"line":71,"column":60},"end":{"line":71,"column":66}},"loc":{"start":{"line":71,"column":66},"end":{"line":73,"column":7}},"line":71},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":10},"end":{"line":77,"column":35}},"loc":{"start":{"line":77,"column":55},"end":{"line":97,"column":null}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":49},"end":{"line":92,"column":55}},"loc":{"start":{"line":92,"column":55},"end":{"line":94,"column":9}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":99,"column":10},"end":{"line":99,"column":38}},"loc":{"start":{"line":99,"column":58},"end":{"line":114,"column":null}},"line":99},"8":{"name":"(anonymous_8)","decl":{"start":{"line":110,"column":60},"end":{"line":110,"column":66}},"loc":{"start":{"line":110,"column":66},"end":{"line":112,"column":7}},"line":110},"9":{"name":"(anonymous_9)","decl":{"start":{"line":116,"column":10},"end":{"line":116,"column":31}},"loc":{"start":{"line":116,"column":51},"end":{"line":130,"column":null}},"line":116},"10":{"name":"(anonymous_10)","decl":{"start":{"line":126,"column":53},"end":{"line":126,"column":59}},"loc":{"start":{"line":126,"column":59},"end":{"line":128,"column":7}},"line":126},"11":{"name":"(anonymous_11)","decl":{"start":{"line":132,"column":8},"end":{"line":132,"column":43}},"loc":{"start":{"line":132,"column":43},"end":{"line":149,"column":null}},"line":132},"12":{"name":"(anonymous_12)","decl":{"start":{"line":151,"column":2},"end":{"line":151,"column":18}},"loc":{"start":{"line":151,"column":18},"end":{"line":153,"column":null}},"line":151},"13":{"name":"(anonymous_13)","decl":{"start":{"line":156,"column":2},"end":{"line":156,"column":32}},"loc":{"start":{"line":156,"column":32},"end":{"line":158,"column":null}},"line":156},"14":{"name":"(anonymous_14)","decl":{"start":{"line":160,"column":2},"end":{"line":160,"column":21}},"loc":{"start":{"line":160,"column":51},"end":{"line":162,"column":null}},"line":160},"15":{"name":"(anonymous_15)","decl":{"start":{"line":164,"column":6},"end":{"line":164,"column":31}},"loc":{"start":{"line":164,"column":31},"end":{"line":166,"column":null}},"line":164}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":67},"3":{"loc":{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},"type":"if","locations":[{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},{"start":{},"end":{}}],"line":88},"4":{"loc":{"start":{"line":101,"column":32},"end":{"line":104,"column":null}},"type":"binary-expr","locations":[{"start":{"line":101,"column":32},"end":{"line":101,"column":61}},{"start":{"line":101,"column":61},"end":{"line":104,"column":null}}],"line":101},"5":{"loc":{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},{"start":{},"end":{}}],"line":106},"6":{"loc":{"start":{"line":117,"column":25},"end":{"line":120,"column":null}},"type":"binary-expr","locations":[{"start":{"line":117,"column":25},"end":{"line":117,"column":48}},{"start":{"line":117,"column":48},"end":{"line":120,"column":null}}],"line":117},"7":{"loc":{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},"type":"if","locations":[{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},{"start":{},"end":{}}],"line":122},"8":{"loc":{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},"type":"if","locations":[{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},{"start":{},"end":{}}],"line":137}},"s":{"0":5,"1":5,"2":0,"3":6,"4":6,"5":1,"6":1,"7":5,"8":5,"9":5,"10":5,"11":5,"12":0,"13":6,"14":6,"15":6,"16":6,"17":6,"18":5,"19":5,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":0,"27":1,"28":1,"29":1,"30":0,"31":1,"32":1,"33":5,"34":1,"35":1,"36":0,"37":1,"38":1,"39":0,"40":0,"41":0,"42":1,"43":1,"44":0,"45":0,"46":0,"47":1,"48":1,"49":0,"50":0,"51":0,"52":1,"53":1,"54":1,"55":0,"56":1,"57":0,"58":0,"59":2},"f":{"0":0,"1":6,"2":6,"3":1,"4":0,"5":1,"6":0,"7":1,"8":0,"9":1,"10":0,"11":1,"12":1,"13":0,"14":0,"15":2},"b":{"0":[1,5],"1":[5,1],"2":[1,0],"3":[1,4],"4":[1,0],"5":[0,1],"6":[1,0],"7":[0,1],"8":[0,1]},"meta":{"lastBranch":9,"lastFunction":16,"lastStatement":60,"seen":{"s:10:21:10:Infinity":0,"s:11:20:11:Infinity":1,"f:13:2:13:16":0,"s:14:4:14:Infinity":2,"f:17:8:17:36":1,"s:18:4:18:Infinity":3,"b:19:4:22:Infinity:undefined:undefined:undefined:undefined":0,"s:19:4:22:Infinity":4,"s:20:6:20:Infinity":5,"s:21:6:21:Infinity":6,"s:24:4:31:Infinity":7,"s:25:6:25:Infinity":8,"s:26:6:26:Infinity":9,"s:27:6:27:Infinity":10,"s:28:6:28:Infinity":11,"s:30:6:30:Infinity":12,"f:34:8:34:41":2,"s:35:4:63:Infinity":13,"s:37:6:37:Infinity":14,"s:39:23:39:Infinity":15,"s:40:6:40:Infinity":16,"b:42:6:45:Infinity:undefined:undefined:undefined:undefined":1,"s:42:6:45:Infinity":17,"s:43:8:43:Infinity":18,"s:44:8:44:Infinity":19,"s:47:26:47:Infinity":20,"s:48:6:48:Infinity":21,"s:51:6:51:Infinity":22,"s:54:6:54:Infinity":23,"s:57:6:57:Infinity":24,"s:60:6:60:Infinity":25,"s:62:6:62:Infinity":26,"f:66:10:66:36":3,"b:67:4:74:Infinity:undefined:undefined:undefined:undefined":2,"s:67:4:74:Infinity":27,"s:68:6:70:Infinity":28,"s:71:6:73:Infinity":29,"f:71:60:71:66":4,"s:72:8:72:Infinity":30,"f:77:10:77:35":5,"s:79:29:85:Infinity":31,"s:87:4:96:Infinity":32,"b:88:6:95:Infinity:undefined:undefined:undefined:undefined":3,"s:88:6:95:Infinity":33,"s:89:8:91:Infinity":34,"s:92:8:94:Infinity":35,"f:92:49:92:55":6,"s:93:10:93:Infinity":36,"f:99:10:99:38":7,"s:101:32:104:Infinity":37,"b:101:32:101:61:101:61:104:Infinity":4,"b:106:4:113:Infinity:undefined:undefined:undefined:undefined":5,"s:106:4:113:Infinity":38,"s:107:6:109:Infinity":39,"s:110:6:112:Infinity":40,"f:110:60:110:66":8,"s:111:8:111:Infinity":41,"f:116:10:116:31":9,"s:117:25:120:Infinity":42,"b:117:25:117:48:117:48:120:Infinity":6,"b:122:4:129:Infinity:undefined:undefined:undefined:undefined":7,"s:122:4:129:Infinity":43,"s:123:6:125:Infinity":44,"s:126:6:128:Infinity":45,"f:126:53:126:59":10,"s:127:8:127:Infinity":46,"f:132:8:132:43":11,"s:133:4:136:Infinity":47,"b:137:4:141:Infinity:undefined:undefined:undefined:undefined":8,"s:137:4:141:Infinity":48,"s:138:6:138:Infinity":49,"s:139:6:139:Infinity":50,"s:140:6:140:Infinity":51,"s:143:4:148:Infinity":52,"s:144:6:144:Infinity":53,"s:145:6:145:Infinity":54,"s:147:6:147:Infinity":55,"f:151:2:151:18":12,"s:152:4:152:Infinity":56,"f:156:2:156:32":13,"s:157:4:157:Infinity":57,"f:160:2:160:21":14,"s:161:4:161:Infinity":58,"f:164:6:164:31":15,"s:165:4:165:Infinity":59}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts","statementMap":{"0":{"start":{"line":8,"column":39},"end":{"line":11,"column":null}},"1":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"3":{"start":{"line":25,"column":4},"end":{"line":44,"column":null}},"4":{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},"5":{"start":{"line":28,"column":8},"end":{"line":28,"column":null}},"6":{"start":{"line":29,"column":8},"end":{"line":29,"column":null}},"7":{"start":{"line":32,"column":22},"end":{"line":32,"column":null}},"8":{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},"9":{"start":{"line":34,"column":8},"end":{"line":34,"column":null}},"10":{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},"11":{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},"12":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"13":{"start":{"line":39,"column":8},"end":{"line":39,"column":null}},"14":{"start":{"line":42,"column":6},"end":{"line":42,"column":null}},"15":{"start":{"line":43,"column":6},"end":{"line":43,"column":null}},"16":{"start":{"line":51,"column":4},"end":{"line":57,"column":null}},"17":{"start":{"line":52,"column":6},"end":{"line":56,"column":null}},"18":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"19":{"start":{"line":55,"column":8},"end":{"line":55,"column":null}},"20":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"21":{"start":{"line":65,"column":4},"end":{"line":65,"column":null}},"22":{"start":{"line":72,"column":4},"end":{"line":72,"column":null}},"23":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"24":{"start":{"line":80,"column":4},"end":{"line":80,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":6},"end":{"line":13,"column":31}},"loc":{"start":{"line":13,"column":31},"end":{"line":15,"column":null}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":17}},"loc":{"start":{"line":17,"column":39},"end":{"line":19,"column":null}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":17}},"loc":{"start":{"line":24,"column":69},"end":{"line":45,"column":null}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":31}},"loc":{"start":{"line":50,"column":31},"end":{"line":59,"column":null}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":38},"end":{"line":51,"column":39}},"loc":{"start":{"line":51,"column":55},"end":{"line":57,"column":5}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":64,"column":2},"end":{"line":64,"column":32}},"loc":{"start":{"line":64,"column":32},"end":{"line":66,"column":null}},"line":64},"6":{"name":"(anonymous_6)","decl":{"start":{"line":71,"column":2},"end":{"line":71,"column":21}},"loc":{"start":{"line":71,"column":51},"end":{"line":73,"column":null}},"line":71},"7":{"name":"(anonymous_7)","decl":{"start":{"line":78,"column":2},"end":{"line":78,"column":18}},"loc":{"start":{"line":78,"column":18},"end":{"line":81,"column":null}},"line":78}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},{"start":{},"end":{}}],"line":27},"1":{"loc":{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},{"start":{"line":37,"column":13},"end":{"line":40,"column":null}}],"line":33}},"s":{"0":13,"1":11,"2":6,"3":12,"4":12,"5":1,"6":1,"7":11,"8":11,"9":10,"10":10,"11":10,"12":1,"13":1,"14":0,"15":0,"16":9,"17":3,"18":3,"19":0,"20":9,"21":3,"22":2,"23":2,"24":2},"f":{"0":11,"1":6,"2":12,"3":9,"4":3,"5":3,"6":2,"7":2},"b":{"0":[1,11],"1":[10,1]},"meta":{"lastBranch":2,"lastFunction":8,"lastStatement":25,"seen":{"s:8:39:11:Infinity":0,"f:13:6:13:31":0,"s:14:4:14:Infinity":1,"f:17:2:17:17":1,"s:18:4:18:Infinity":2,"f:24:2:24:17":2,"s:25:4:44:Infinity":3,"b:27:6:30:Infinity:undefined:undefined:undefined:undefined":0,"s:27:6:30:Infinity":4,"s:28:8:28:Infinity":5,"s:29:8:29:Infinity":6,"s:32:22:32:Infinity":7,"b:33:6:40:Infinity:37:13:40:Infinity":1,"s:33:6:40:Infinity":8,"s:34:8:34:Infinity":9,"s:35:8:35:Infinity":10,"s:36:8:36:Infinity":11,"s:38:8:38:Infinity":12,"s:39:8:39:Infinity":13,"s:42:6:42:Infinity":14,"s:43:6:43:Infinity":15,"f:50:2:50:31":3,"s:51:4:57:Infinity":16,"f:51:38:51:39":4,"s:52:6:56:Infinity":17,"s:53:8:53:Infinity":18,"s:55:8:55:Infinity":19,"s:58:4:58:Infinity":20,"f:64:2:64:32":5,"s:65:4:65:Infinity":21,"f:71:2:71:21":6,"s:72:4:72:Infinity":22,"f:78:2:78:18":7,"s:79:4:79:Infinity":23,"s:80:4:80:Infinity":24}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts","statementMap":{"0":{"start":{"line":4,"column":55},"end":{"line":38,"column":null}},"1":{"start":{"line":40,"column":46},"end":{"line":52,"column":null}},"2":{"start":{"line":54,"column":37},"end":{"line":61,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":3,"seen":{"s:4:55:38:Infinity":0,"s:40:46:52:Infinity":1,"s:54:37:61:Infinity":2}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts","statementMap":{"0":{"start":{"line":8,"column":19},"end":{"line":8,"column":null}},"1":{"start":{"line":10,"column":2},"end":{"line":39,"column":null}},"2":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}},"3":{"start":{"line":15,"column":26},"end":{"line":15,"column":null}},"4":{"start":{"line":18,"column":4},"end":{"line":22,"column":null}},"5":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":null}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":null}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":null}},"9":{"start":{"line":31,"column":4},"end":{"line":35,"column":null}},"10":{"start":{"line":32,"column":6},"end":{"line":32,"column":null}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":null}},"12":{"start":{"line":38,"column":4},"end":{"line":38,"column":null}},"13":{"start":{"line":46,"column":2},"end":{"line":67,"column":null}},"14":{"start":{"line":48,"column":4},"end":{"line":48,"column":null}},"15":{"start":{"line":51,"column":26},"end":{"line":51,"column":null}},"16":{"start":{"line":54,"column":28},"end":{"line":54,"column":null}},"17":{"start":{"line":55,"column":21},"end":{"line":55,"column":null}},"18":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"19":{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},"20":{"start":{"line":62,"column":6},"end":{"line":62,"column":null}},"21":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"22":{"start":{"line":65,"column":6},"end":{"line":65,"column":null}},"23":{"start":{"line":74,"column":2},"end":{"line":74,"column":null}},"24":{"start":{"line":81,"column":2},"end":{"line":81,"column":null}}},"fnMap":{"0":{"name":"saveToFile","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":33}},"loc":{"start":{"line":7,"column":86},"end":{"line":40,"column":null}},"line":7},"1":{"name":"loadFromFile","decl":{"start":{"line":45,"column":22},"end":{"line":45,"column":35}},"loc":{"start":{"line":45,"column":76},"end":{"line":68,"column":null}},"line":45},"2":{"name":"ensureDataDirectory","decl":{"start":{"line":73,"column":22},"end":{"line":73,"column":42}},"loc":{"start":{"line":73,"column":75},"end":{"line":75,"column":null}},"line":73},"3":{"name":"isEncryptionAvailable","decl":{"start":{"line":80,"column":16},"end":{"line":80,"column":49}},"loc":{"start":{"line":80,"column":49},"end":{"line":82,"column":null}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},{"start":{"line":63,"column":11},"end":{"line":66,"column":null}}],"line":60}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":2,"14":2,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":0,"22":0,"23":1,"24":1},"f":{"0":2,"1":2,"2":1,"3":1},"b":{"0":[1,0]},"meta":{"lastBranch":1,"lastFunction":4,"lastStatement":25,"seen":{"f:7:22:7:33":0,"s:8:19:8:Infinity":0,"s:10:2:39:Infinity":1,"s:12:21:12:Infinity":2,"s:15:26:15:Infinity":3,"s:18:4:22:Infinity":4,"s:19:6:19:Infinity":5,"s:25:4:25:Infinity":6,"s:26:4:26:Infinity":7,"s:28:4:28:Infinity":8,"s:31:4:35:Infinity":9,"s:32:6:32:Infinity":10,"s:37:4:37:Infinity":11,"s:38:4:38:Infinity":12,"f:45:22:45:35":1,"s:46:2:67:Infinity":13,"s:48:4:48:Infinity":14,"s:51:26:51:Infinity":15,"s:54:28:54:Infinity":16,"s:55:21:55:Infinity":17,"s:58:4:58:Infinity":18,"b:60:4:66:Infinity:63:11:66:Infinity":0,"s:60:4:66:Infinity":19,"s:62:6:62:Infinity":20,"s:64:6:64:Infinity":21,"s:65:6:65:Infinity":22,"f:73:22:73:42":2,"s:74:2:74:Infinity":23,"f:80:16:80:49":3,"s:81:2:81:Infinity":24}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts","statementMap":{"0":{"start":{"line":9,"column":32},"end":{"line":9,"column":null}},"1":{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},"2":{"start":{"line":13,"column":4},"end":{"line":16,"column":null}},"3":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"4":{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},"5":{"start":{"line":21,"column":4},"end":{"line":24,"column":null}},"6":{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},"7":{"start":{"line":29,"column":4},"end":{"line":38,"column":null}},"8":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"9":{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},"10":{"start":{"line":43,"column":4},"end":{"line":53,"column":null}},"11":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"12":{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},"13":{"start":{"line":58,"column":4},"end":{"line":68,"column":null}},"14":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"15":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"16":{"start":{"line":73,"column":4},"end":{"line":73,"column":null}},"17":{"start":{"line":76,"column":2},"end":{"line":76,"column":null}}},"fnMap":{"0":{"name":"migrateData","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":48},"end":{"line":77,"column":null}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":6},"end":{"line":14,"column":7}},"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":6},"end":{"line":30,"column":7}},"loc":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":6},"end":{"line":44,"column":7}},"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":6},"end":{"line":59,"column":7}},"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":47}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":20}},{"start":{"line":12,"column":20},"end":{"line":12,"column":47}}],"line":12},"2":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":22}},{"start":{"line":15,"column":22},"end":{"line":15,"column":60}},{"start":{"line":15,"column":60},"end":{"line":15,"column":null}}],"line":15},"3":{"loc":{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},{"start":{},"end":{}}],"line":20},"4":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":58}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":23}},{"start":{"line":20,"column":23},"end":{"line":20,"column":58}}],"line":20},"5":{"loc":{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":28},"6":{"loc":{"start":{"line":28,"column":6},"end":{"line":28,"column":55}},"type":"binary-expr","locations":[{"start":{"line":28,"column":6},"end":{"line":28,"column":24}},{"start":{"line":28,"column":24},"end":{"line":28,"column":55}}],"line":28},"7":{"loc":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},{"start":{"line":32,"column":8},"end":{"line":32,"column":null}},{"start":{"line":33,"column":8},"end":{"line":33,"column":null}},{"start":{"line":34,"column":8},"end":{"line":34,"column":null}},{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},{"start":{"line":37,"column":8},"end":{"line":37,"column":null}}],"line":31},"8":{"loc":{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":42,"column":6},"end":{"line":42,"column":59}},"type":"binary-expr","locations":[{"start":{"line":42,"column":6},"end":{"line":42,"column":26}},{"start":{"line":42,"column":26},"end":{"line":42,"column":59}}],"line":42},"10":{"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":null}},{"start":{"line":46,"column":8},"end":{"line":46,"column":null}},{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},{"start":{"line":48,"column":8},"end":{"line":48,"column":null}},{"start":{"line":49,"column":8},"end":{"line":49,"column":null}},{"start":{"line":50,"column":8},"end":{"line":50,"column":null}},{"start":{"line":51,"column":8},"end":{"line":51,"column":null}},{"start":{"line":52,"column":8},"end":{"line":52,"column":null}}],"line":45},"11":{"loc":{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":57},"12":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":57}},"type":"binary-expr","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":25}},{"start":{"line":57,"column":25},"end":{"line":57,"column":57}}],"line":57},"13":{"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":null}},{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},{"start":{"line":62,"column":8},"end":{"line":62,"column":null}},{"start":{"line":63,"column":8},"end":{"line":63,"column":null}},{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},{"start":{"line":65,"column":8},"end":{"line":65,"column":null}},{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},{"start":{"line":67,"column":8},"end":{"line":67,"column":null}}],"line":60},"14":{"loc":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":72},"15":{"loc":{"start":{"line":72,"column":6},"end":{"line":72,"column":56}},"type":"binary-expr","locations":[{"start":{"line":72,"column":6},"end":{"line":72,"column":22}},{"start":{"line":72,"column":22},"end":{"line":72,"column":56}}],"line":72}},"s":{"0":11,"1":11,"2":2,"3":5,"4":11,"5":1,"6":11,"7":2,"8":3,"9":11,"10":1,"11":1,"12":11,"13":1,"14":1,"15":11,"16":1,"17":11},"f":{"0":11,"1":5,"2":3,"3":1,"4":1},"b":{"0":[2,9],"1":[11,3],"2":[5,3,2],"3":[1,10],"4":[11,1],"5":[2,9],"6":[11,2],"7":[3,3,2,2,2,2,2],"8":[1,10],"9":[11,1],"10":[1,1,1,1,1,1,1,1],"11":[1,10],"12":[11,1],"13":[1,1,1,1,1,1,1,1],"14":[1,10],"15":[11,1]},"meta":{"lastBranch":16,"lastFunction":5,"lastStatement":18,"seen":{"f:7:16:7:28":0,"s:9:32:9:Infinity":0,"b:12:2:17:Infinity:undefined:undefined:undefined:undefined":0,"s:12:2:17:Infinity":1,"b:12:6:12:20:12:20:12:47":1,"s:13:4:16:Infinity":2,"f:14:6:14:7":1,"s:15:8:15:Infinity":3,"b:15:8:15:22:15:22:15:60:15:60:15:Infinity":2,"b:20:2:25:Infinity:undefined:undefined:undefined:undefined":3,"s:20:2:25:Infinity":4,"b:20:6:20:23:20:23:20:58":4,"s:21:4:24:Infinity":5,"b:28:2:39:Infinity:undefined:undefined:undefined:undefined":5,"s:28:2:39:Infinity":6,"b:28:6:28:24:28:24:28:55":6,"s:29:4:38:Infinity":7,"f:30:6:30:7":2,"s:31:8:37:Infinity":8,"b:31:8:31:Infinity:32:8:32:Infinity:33:8:33:Infinity:34:8:34:Infinity:35:8:35:Infinity:36:8:36:Infinity:37:8:37:Infinity":7,"b:42:2:54:Infinity:undefined:undefined:undefined:undefined":8,"s:42:2:54:Infinity":9,"b:42:6:42:26:42:26:42:59":9,"s:43:4:53:Infinity":10,"f:44:6:44:7":3,"s:45:8:52:Infinity":11,"b:45:8:45:Infinity:46:8:46:Infinity:47:8:47:Infinity:48:8:48:Infinity:49:8:49:Infinity:50:8:50:Infinity:51:8:51:Infinity:52:8:52:Infinity":10,"b:57:2:69:Infinity:undefined:undefined:undefined:undefined":11,"s:57:2:69:Infinity":12,"b:57:6:57:25:57:25:57:57":12,"s:58:4:68:Infinity":13,"f:59:6:59:7":4,"s:60:8:67:Infinity":14,"b:60:8:60:Infinity:61:8:61:Infinity:62:8:62:Infinity:63:8:63:Infinity:64:8:64:Infinity:65:8:65:Infinity:66:8:66:Infinity:67:8:67:Infinity":13,"b:72:2:74:Infinity:undefined:undefined:undefined:undefined":14,"s:72:2:74:Infinity":15,"b:72:6:72:22:72:22:72:56":15,"s:73:4:73:Infinity":16,"s:76:2:76:Infinity":17}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"1":{"start":{"line":14,"column":2},"end":{"line":22,"column":null}},"2":{"start":{"line":32,"column":2},"end":{"line":36,"column":null}},"3":{"start":{"line":43,"column":2},"end":{"line":43,"column":null}},"4":{"start":{"line":43,"column":41},"end":{"line":43,"column":58}},"5":{"start":{"line":50,"column":2},"end":{"line":53,"column":null}},"6":{"start":{"line":50,"column":49},"end":{"line":53,"column":4}}},"fnMap":{"0":{"name":"generateId","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":37}},"loc":{"start":{"line":6,"column":37},"end":{"line":8,"column":null}},"line":6},"1":{"name":"createSearchTermObject","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":97},"end":{"line":23,"column":null}},"line":13},"2":{"name":"updateSearchTermObject","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":null}},"loc":{"start":{"line":31,"column":14},"end":{"line":37,"column":null}},"line":31},"3":{"name":"sortSearchTermsByOrder","decl":{"start":{"line":42,"column":16},"end":{"line":42,"column":39}},"loc":{"start":{"line":42,"column":80},"end":{"line":44,"column":null}},"line":42},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":31},"end":{"line":43,"column":32}},"loc":{"start":{"line":43,"column":41},"end":{"line":43,"column":58}},"line":43},"5":{"name":"reorderSearchTermsArray","decl":{"start":{"line":49,"column":16},"end":{"line":49,"column":40}},"loc":{"start":{"line":49,"column":81},"end":{"line":54,"column":null}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":25},"end":{"line":50,"column":26}},"loc":{"start":{"line":50,"column":49},"end":{"line":53,"column":4}},"line":50}},"branchMap":{},"s":{"0":1,"1":1,"2":0,"3":2,"4":5,"5":0,"6":0},"f":{"0":1,"1":1,"2":0,"3":2,"4":5,"5":0,"6":0},"b":{},"meta":{"lastBranch":0,"lastFunction":7,"lastStatement":7,"seen":{"f:6:16:6:37":0,"s:7:2:7:Infinity":0,"f:13:16:13:39":1,"s:14:2:22:Infinity":1,"f:28:16:28:Infinity":2,"s:32:2:36:Infinity":2,"f:42:16:42:39":3,"s:43:2:43:Infinity":3,"f:43:31:43:32":4,"s:43:41:43:58":4,"f:49:16:49:40":5,"s:50:2:53:Infinity":5,"f:50:25:50:26":6,"s:50:49:53:4":6}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"1":{"start":{"line":14,"column":2},"end":{"line":21,"column":null}},"2":{"start":{"line":28,"column":2},"end":{"line":32,"column":null}},"3":{"start":{"line":39,"column":2},"end":{"line":39,"column":null}},"4":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"5":{"start":{"line":46,"column":2},"end":{"line":49,"column":null}},"6":{"start":{"line":46,"column":45},"end":{"line":49,"column":4}},"7":{"start":{"line":59,"column":31},"end":{"line":59,"column":null}},"8":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"9":{"start":{"line":61,"column":21},"end":{"line":61,"column":null}},"10":{"start":{"line":64,"column":2},"end":{"line":71,"column":null}},"11":{"start":{"line":65,"column":18},"end":{"line":65,"column":null}},"12":{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},"13":{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},"14":{"start":{"line":67,"column":39},"end":{"line":67,"column":null}},"15":{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},"16":{"start":{"line":69,"column":34},"end":{"line":69,"column":null}},"17":{"start":{"line":73,"column":2},"end":{"line":73,"column":null}},"18":{"start":{"line":84,"column":15},"end":{"line":84,"column":null}},"19":{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},"20":{"start":{"line":88,"column":4},"end":{"line":91,"column":null}},"21":{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},"22":{"start":{"line":89,"column":36},"end":{"line":89,"column":null}},"23":{"start":{"line":90,"column":6},"end":{"line":90,"column":null}},"24":{"start":{"line":95,"column":2},"end":{"line":98,"column":null}},"25":{"start":{"line":96,"column":18},"end":{"line":96,"column":null}},"26":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}},"27":{"start":{"line":100,"column":2},"end":{"line":100,"column":null}}},"fnMap":{"0":{"name":"generateTemplateId","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":45}},"loc":{"start":{"line":6,"column":45},"end":{"line":8,"column":null}},"line":6},"1":{"name":"createTemplateObject","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":37}},"loc":{"start":{"line":13,"column":93},"end":{"line":22,"column":null}},"line":13},"2":{"name":"updateTemplateObject","decl":{"start":{"line":27,"column":16},"end":{"line":27,"column":37}},"loc":{"start":{"line":27,"column":95},"end":{"line":33,"column":null}},"line":27},"3":{"name":"sortTemplatesByOrder","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":37}},"loc":{"start":{"line":38,"column":72},"end":{"line":40,"column":null}},"line":38},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":29},"end":{"line":39,"column":30}},"loc":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"line":39},"5":{"name":"reorderTemplatesArray","decl":{"start":{"line":45,"column":16},"end":{"line":45,"column":38}},"loc":{"start":{"line":45,"column":73},"end":{"line":50,"column":null}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":23},"end":{"line":46,"column":24}},"loc":{"start":{"line":46,"column":45},"end":{"line":49,"column":4}},"line":46},"7":{"name":"extractTemplateTokens","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":38}},"loc":{"start":{"line":58,"column":2},"end":{"line":74,"column":null}},"line":58},"8":{"name":"generateTextFromTemplate","decl":{"start":{"line":79,"column":16},"end":{"line":79,"column":null}},"loc":{"start":{"line":83,"column":10},"end":{"line":101,"column":null}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":42},"end":{"line":88,"column":43}},"loc":{"start":{"line":88,"column":64},"end":{"line":91,"column":5}},"line":88},"10":{"name":"(anonymous_10)","decl":{"start":{"line":95,"column":41},"end":{"line":95,"column":42}},"loc":{"start":{"line":95,"column":63},"end":{"line":98,"column":3}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},{"start":{"line":68,"column":11},"end":{"line":70,"column":null}}],"line":66},"1":{"loc":{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},{"start":{},"end":{}}],"line":67},"2":{"loc":{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":69},"3":{"loc":{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},{"start":{},"end":{}}],"line":87},"4":{"loc":{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},{"start":{},"end":{}}],"line":89},"5":{"loc":{"start":{"line":90,"column":13},"end":{"line":90,"column":null}},"type":"cond-expr","locations":[{"start":{"line":90,"column":37},"end":{"line":90,"column":59}},{"start":{"line":90,"column":59},"end":{"line":90,"column":null}}],"line":90},"6":{"loc":{"start":{"line":97,"column":11},"end":{"line":97,"column":null}},"type":"cond-expr","locations":[{"start":{"line":97,"column":55},"end":{"line":97,"column":77}},{"start":{"line":97,"column":77},"end":{"line":97,"column":null}}],"line":97},"7":{"loc":{"start":{"line":97,"column":11},"end":{"line":97,"column":55}},"type":"binary-expr","locations":[{"start":{"line":97,"column":11},"end":{"line":97,"column":25}},{"start":{"line":97,"column":25},"end":{"line":97,"column":55}}],"line":97}},"s":{"0":1,"1":1,"2":0,"3":2,"4":5,"5":0,"6":0,"7":5,"8":5,"9":5,"10":5,"11":8,"12":8,"13":5,"14":4,"15":3,"16":3,"17":5,"18":6,"19":6,"20":2,"21":3,"22":1,"23":2,"24":6,"25":6,"26":6,"27":6},"f":{"0":1,"1":1,"2":0,"3":2,"4":5,"5":0,"6":0,"7":5,"8":6,"9":3,"10":6},"b":{"0":[5,3],"1":[4,1],"2":[3,0],"3":[2,4],"4":[1,2],"5":[2,0],"6":[5,1],"7":[6,6]},"meta":{"lastBranch":8,"lastFunction":11,"lastStatement":28,"seen":{"f:6:16:6:45":0,"s:7:2:7:Infinity":0,"f:13:16:13:37":1,"s:14:2:21:Infinity":1,"f:27:16:27:37":2,"s:28:2:32:Infinity":2,"f:38:16:38:37":3,"s:39:2:39:Infinity":3,"f:39:29:39:30":4,"s:39:39:39:56":4,"f:45:16:45:38":5,"s:46:2:49:Infinity":5,"f:46:23:46:24":6,"s:46:45:49:4":6,"f:55:16:55:38":7,"s:59:31:59:Infinity":7,"s:60:26:60:Infinity":8,"s:61:21:61:Infinity":9,"s:64:2:71:Infinity":10,"s:65:18:65:Infinity":11,"b:66:4:70:Infinity:68:11:70:Infinity":0,"s:66:4:70:Infinity":12,"b:67:6:67:Infinity:undefined:undefined:undefined:undefined":1,"s:67:6:67:Infinity":13,"s:67:39:67:Infinity":14,"b:69:6:69:Infinity:undefined:undefined:undefined:undefined":2,"s:69:6:69:Infinity":15,"s:69:34:69:Infinity":16,"s:73:2:73:Infinity":17,"f:79:16:79:Infinity":8,"s:84:15:84:Infinity":18,"b:87:2:92:Infinity:undefined:undefined:undefined:undefined":3,"s:87:2:92:Infinity":19,"s:88:4:91:Infinity":20,"f:88:42:88:43":9,"b:89:6:89:Infinity:undefined:undefined:undefined:undefined":4,"s:89:6:89:Infinity":21,"s:89:36:89:Infinity":22,"s:90:6:90:Infinity":23,"b:90:37:90:59:90:59:90:Infinity":5,"s:95:2:98:Infinity":24,"f:95:41:95:42":10,"s:96:18:96:Infinity":25,"s:97:4:97:Infinity":26,"b:97:55:97:77:97:77:97:Infinity":6,"b:97:11:97:25:97:25:97:55":7,"s:100:2:100:Infinity":27}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx","statementMap":{"0":{"start":{"line":10,"column":28},"end":{"line":21,"column":null}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"2":{"start":{"line":13,"column":2},"end":{"line":19,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":28},"end":{"line":10,"column":29}},"loc":{"start":{"line":10,"column":61},"end":{"line":21,"column":null}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":9},"end":{"line":17,"column":34}},"type":"binary-expr","locations":[{"start":{"line":17,"column":9},"end":{"line":17,"column":23}},{"start":{"line":17,"column":23},"end":{"line":17,"column":34}}],"line":17}},"s":{"0":1,"1":2,"2":2},"f":{"0":2},"b":{"0":[2,1]},"meta":{"lastBranch":1,"lastFunction":1,"lastStatement":3,"seen":{"s:10:28:21:Infinity":0,"f:10:28:10:29":0,"s:11:18:11:Infinity":1,"s:13:2:19:Infinity":2,"b:17:9:17:23:17:23:17:34":0}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":18,"column":null}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"2":{"start":{"line":12,"column":2},"end":{"line":16,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":53},"end":{"line":18,"column":null}},"line":10}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"meta":{"lastBranch":0,"lastFunction":1,"lastStatement":3,"seen":{"s:10:24:18:Infinity":0,"f:10:24:10:25":0,"s:11:18:11:Infinity":1,"s:12:2:16:Infinity":2}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx","statementMap":{"0":{"start":{"line":11,"column":25},"end":{"line":98,"column":null}},"1":{"start":{"line":12,"column":18},"end":{"line":12,"column":null}},"2":{"start":{"line":13,"column":8},"end":{"line":13,"column":null}},"3":{"start":{"line":15,"column":32},"end":{"line":54,"column":null}},"4":{"start":{"line":16,"column":20},"end":{"line":16,"column":null}},"5":{"start":{"line":17,"column":4},"end":{"line":53,"column":null}},"6":{"start":{"line":18,"column":19},"end":{"line":18,"column":null}},"7":{"start":{"line":19,"column":29},"end":{"line":19,"column":null}},"8":{"start":{"line":20,"column":28},"end":{"line":20,"column":null}},"9":{"start":{"line":21,"column":28},"end":{"line":21,"column":null}},"10":{"start":{"line":22,"column":27},"end":{"line":22,"column":null}},"11":{"start":{"line":25,"column":17},"end":{"line":25,"column":null}},"12":{"start":{"line":26,"column":16},"end":{"line":26,"column":null}},"13":{"start":{"line":29,"column":6},"end":{"line":32,"column":null}},"14":{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},"15":{"start":{"line":35,"column":6},"end":{"line":37,"column":null}},"16":{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},"17":{"start":{"line":40,"column":6},"end":{"line":43,"column":null}},"18":{"start":{"line":42,"column":8},"end":{"line":42,"column":null}},"19":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"20":{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},"21":{"start":{"line":50,"column":6},"end":{"line":50,"column":null}},"22":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"23":{"start":{"line":52,"column":6},"end":{"line":52,"column":null}},"24":{"start":{"line":56,"column":2},"end":{"line":96,"column":null}},"25":{"start":{"line":65,"column":25},"end":{"line":65,"column":null}},"26":{"start":{"line":66,"column":10},"end":{"line":66,"column":null}},"27":{"start":{"line":67,"column":27},"end":{"line":67,"column":null}},"28":{"start":{"line":68,"column":10},"end":{"line":68,"column":null}},"29":{"start":{"line":69,"column":10},"end":{"line":69,"column":null}},"30":{"start":{"line":70,"column":10},"end":{"line":70,"column":null}},"31":{"start":{"line":71,"column":10},"end":{"line":71,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":55},"end":{"line":98,"column":null}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":32},"end":{"line":15,"column":33}},"loc":{"start":{"line":15,"column":75},"end":{"line":54,"column":null}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":63,"column":17},"end":{"line":63,"column":18}},"loc":{"start":{"line":63,"column":24},"end":{"line":72,"column":null}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":53,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":53,"column":null}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":29,"column":6},"end":{"line":32,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":32,"column":null}},{"start":{},"end":{}}],"line":29},"2":{"loc":{"start":{"line":35,"column":6},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":35,"column":6},"end":{"line":37,"column":null}},{"start":{},"end":{}}],"line":35},"3":{"loc":{"start":{"line":40,"column":6},"end":{"line":43,"column":null}},"type":"if","locations":[{"start":{"line":40,"column":6},"end":{"line":43,"column":null}},{"start":{},"end":{}}],"line":40},"4":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},{"start":{},"end":{}}],"line":46},"5":{"loc":{"start":{"line":69,"column":33},"end":{"line":69,"column":null}},"type":"cond-expr","locations":[{"start":{"line":69,"column":43},"end":{"line":69,"column":55}},{"start":{"line":69,"column":55},"end":{"line":69,"column":null}}],"line":69},"6":{"loc":{"start":{"line":87,"column":11},"end":{"line":89,"column":31}},"type":"cond-expr","locations":[{"start":{"line":88,"column":14},"end":{"line":88,"column":null}},{"start":{"line":89,"column":14},"end":{"line":89,"column":31}}],"line":87}},"s":{"0":1,"1":3,"2":3,"3":3,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":3,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":3,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[3,0]},"meta":{"lastBranch":7,"lastFunction":3,"lastStatement":32,"seen":{"s:11:25:98:Infinity":0,"f:11:25:11:26":0,"s:12:18:12:Infinity":1,"s:13:8:13:Infinity":2,"s:15:32:54:Infinity":3,"f:15:32:15:33":1,"s:16:20:16:Infinity":4,"b:17:4:53:Infinity:undefined:undefined:undefined:undefined":0,"s:17:4:53:Infinity":5,"s:18:19:18:Infinity":6,"s:19:29:19:Infinity":7,"s:20:28:20:Infinity":8,"s:21:28:21:Infinity":9,"s:22:27:22:Infinity":10,"s:25:17:25:Infinity":11,"s:26:16:26:Infinity":12,"b:29:6:32:Infinity:undefined:undefined:undefined:undefined":1,"s:29:6:32:Infinity":13,"s:31:8:31:Infinity":14,"b:35:6:37:Infinity:undefined:undefined:undefined:undefined":2,"s:35:6:37:Infinity":15,"s:36:8:36:Infinity":16,"b:40:6:43:Infinity:undefined:undefined:undefined:undefined":3,"s:40:6:43:Infinity":17,"s:42:8:42:Infinity":18,"b:46:6:48:Infinity:undefined:undefined:undefined:undefined":4,"s:46:6:48:Infinity":19,"s:47:8:47:Infinity":20,"s:50:6:50:Infinity":21,"s:51:6:51:Infinity":22,"s:52:6:52:Infinity":23,"s:56:2:96:Infinity":24,"f:63:17:63:18":2,"s:65:25:65:Infinity":25,"s:66:10:66:Infinity":26,"s:67:27:67:Infinity":27,"s:68:10:68:Infinity":28,"s:69:10:69:Infinity":29,"b:69:43:69:55:69:55:69:Infinity":5,"s:70:10:70:Infinity":30,"s:71:10:71:Infinity":31,"b:88:14:88:Infinity:89:14:89:31":6}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx","statementMap":{"0":{"start":{"line":17,"column":24},"end":{"line":222,"column":null}},"1":{"start":{"line":18,"column":18},"end":{"line":18,"column":null}},"2":{"start":{"line":19,"column":33},"end":{"line":19,"column":null}},"3":{"start":{"line":22,"column":32},"end":{"line":22,"column":null}},"4":{"start":{"line":23,"column":32},"end":{"line":23,"column":null}},"5":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"6":{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},"7":{"start":{"line":28,"column":2},"end":{"line":41,"column":null}},"8":{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},"9":{"start":{"line":30,"column":23},"end":{"line":30,"column":null}},"10":{"start":{"line":31,"column":6},"end":{"line":31,"column":null}},"11":{"start":{"line":32,"column":24},"end":{"line":32,"column":null}},"12":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"13":{"start":{"line":36,"column":24},"end":{"line":36,"column":null}},"14":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"15":{"start":{"line":38,"column":9},"end":{"line":38,"column":null}},"16":{"start":{"line":44,"column":8},"end":{"line":57,"column":null}},"17":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"18":{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},"19":{"start":{"line":50,"column":6},"end":{"line":54,"column":null}},"20":{"start":{"line":51,"column":8},"end":{"line":53,"column":null}},"21":{"start":{"line":52,"column":10},"end":{"line":52,"column":null}},"22":{"start":{"line":60,"column":2},"end":{"line":66,"column":null}},"23":{"start":{"line":61,"column":4},"end":{"line":65,"column":null}},"24":{"start":{"line":62,"column":6},"end":{"line":64,"column":null}},"25":{"start":{"line":63,"column":8},"end":{"line":63,"column":null}},"26":{"start":{"line":68,"column":26},"end":{"line":74,"column":null}},"27":{"start":{"line":69,"column":4},"end":{"line":73,"column":null}},"28":{"start":{"line":70,"column":6},"end":{"line":70,"column":null}},"29":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"30":{"start":{"line":72,"column":6},"end":{"line":72,"column":null}},"31":{"start":{"line":76,"column":27},"end":{"line":80,"column":null}},"32":{"start":{"line":77,"column":21},"end":{"line":77,"column":null}},"33":{"start":{"line":78,"column":4},"end":{"line":78,"column":null}},"34":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"35":{"start":{"line":82,"column":25},"end":{"line":92,"column":null}},"36":{"start":{"line":83,"column":4},"end":{"line":83,"column":null}},"37":{"start":{"line":84,"column":4},"end":{"line":84,"column":null}},"38":{"start":{"line":86,"column":4},"end":{"line":91,"column":null}},"39":{"start":{"line":87,"column":6},"end":{"line":87,"column":null}},"40":{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},"41":{"start":{"line":89,"column":8},"end":{"line":89,"column":null}},"42":{"start":{"line":94,"column":28},"end":{"line":106,"column":null}},"43":{"start":{"line":95,"column":4},"end":{"line":105,"column":null}},"44":{"start":{"line":96,"column":6},"end":{"line":96,"column":null}},"45":{"start":{"line":97,"column":6},"end":{"line":97,"column":null}},"46":{"start":{"line":98,"column":4},"end":{"line":105,"column":null}},"47":{"start":{"line":99,"column":6},"end":{"line":99,"column":null}},"48":{"start":{"line":100,"column":6},"end":{"line":100,"column":null}},"49":{"start":{"line":101,"column":6},"end":{"line":101,"column":null}},"50":{"start":{"line":102,"column":6},"end":{"line":104,"column":null}},"51":{"start":{"line":103,"column":8},"end":{"line":103,"column":null}},"52":{"start":{"line":108,"column":2},"end":{"line":221,"column":null}},"53":{"start":{"line":110,"column":28},"end":{"line":110,"column":null}},"54":{"start":{"line":112,"column":4},"end":{"line":199,"column":null}},"55":{"start":{"line":113,"column":12},"end":{"line":113,"column":null}},"56":{"start":{"line":114,"column":26},"end":{"line":114,"column":null}},"57":{"start":{"line":115,"column":26},"end":{"line":115,"column":null}},"58":{"start":{"line":116,"column":30},"end":{"line":116,"column":null}},"59":{"start":{"line":118,"column":6},"end":{"line":176,"column":null}},"60":{"start":{"line":148,"column":16},"end":{"line":150,"column":null}},"61":{"start":{"line":180,"column":6},"end":{"line":197,"column":null}},"62":{"start":{"line":204,"column":6},"end":{"line":206,"column":null}},"63":{"start":{"line":208,"column":4},"end":{"line":219,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":25}},"loc":{"start":{"line":17,"column":80},"end":{"line":222,"column":null}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":12},"end":{"line":28,"column":18}},"loc":{"start":{"line":28,"column":18},"end":{"line":41,"column":5}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":28},"end":{"line":55,"column":null}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":39},"end":{"line":50,"column":45}},"loc":{"start":{"line":50,"column":45},"end":{"line":54,"column":9}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":12},"end":{"line":60,"column":18}},"loc":{"start":{"line":60,"column":18},"end":{"line":66,"column":5}},"line":60},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":11},"end":{"line":61,"column":17}},"loc":{"start":{"line":61,"column":17},"end":{"line":65,"column":null}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":68,"column":26},"end":{"line":68,"column":32}},"loc":{"start":{"line":68,"column":32},"end":{"line":74,"column":null}},"line":68},"7":{"name":"(anonymous_7)","decl":{"start":{"line":76,"column":27},"end":{"line":76,"column":28}},"loc":{"start":{"line":76,"column":74},"end":{"line":80,"column":null}},"line":76},"8":{"name":"(anonymous_8)","decl":{"start":{"line":82,"column":25},"end":{"line":82,"column":31}},"loc":{"start":{"line":82,"column":31},"end":{"line":92,"column":null}},"line":82},"9":{"name":"(anonymous_9)","decl":{"start":{"line":94,"column":28},"end":{"line":94,"column":29}},"loc":{"start":{"line":94,"column":77},"end":{"line":106,"column":null}},"line":94},"10":{"name":"(anonymous_10)","decl":{"start":{"line":147,"column":22},"end":{"line":147,"column":23}},"loc":{"start":{"line":148,"column":16},"end":{"line":150,"column":null}},"line":148}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},{"start":{},"end":{}}],"line":29},"1":{"loc":{"start":{"line":29,"column":8},"end":{"line":29,"column":42}},"type":"binary-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":21}},{"start":{"line":29,"column":21},"end":{"line":29,"column":42}}],"line":29},"2":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37},"3":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},{"start":{},"end":{}}],"line":46},"4":{"loc":{"start":{"line":51,"column":8},"end":{"line":53,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":53,"column":null}},{"start":{},"end":{}}],"line":51},"5":{"loc":{"start":{"line":62,"column":6},"end":{"line":64,"column":null}},"type":"if","locations":[{"start":{"line":62,"column":6},"end":{"line":64,"column":null}},{"start":{},"end":{}}],"line":62},"6":{"loc":{"start":{"line":69,"column":4},"end":{"line":73,"column":null}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":73,"column":null}},{"start":{},"end":{}}],"line":69},"7":{"loc":{"start":{"line":86,"column":4},"end":{"line":91,"column":null}},"type":"if","locations":[{"start":{"line":86,"column":4},"end":{"line":91,"column":null}},{"start":{},"end":{}}],"line":86},"8":{"loc":{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},"type":"if","locations":[{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},{"start":{},"end":{}}],"line":88},"9":{"loc":{"start":{"line":95,"column":4},"end":{"line":105,"column":null}},"type":"if","locations":[{"start":{"line":95,"column":4},"end":{"line":105,"column":null}},{"start":{"line":98,"column":4},"end":{"line":105,"column":null}}],"line":95},"10":{"loc":{"start":{"line":95,"column":8},"end":{"line":95,"column":42}},"type":"binary-expr","locations":[{"start":{"line":95,"column":8},"end":{"line":95,"column":29}},{"start":{"line":95,"column":29},"end":{"line":95,"column":42}}],"line":95},"11":{"loc":{"start":{"line":98,"column":4},"end":{"line":105,"column":null}},"type":"if","locations":[{"start":{"line":98,"column":4},"end":{"line":105,"column":null}},{"start":{},"end":{}}],"line":98},"12":{"loc":{"start":{"line":102,"column":6},"end":{"line":104,"column":null}},"type":"if","locations":[{"start":{"line":102,"column":6},"end":{"line":104,"column":null}},{"start":{},"end":{}}],"line":102},"13":{"loc":{"start":{"line":108,"column":2},"end":{"line":221,"column":null}},"type":"if","locations":[{"start":{"line":108,"column":2},"end":{"line":221,"column":null}},{"start":{"line":200,"column":9},"end":{"line":221,"column":null}}],"line":108},"14":{"loc":{"start":{"line":110,"column":28},"end":{"line":110,"column":null}},"type":"binary-expr","locations":[{"start":{"line":110,"column":28},"end":{"line":110,"column":54}},{"start":{"line":110,"column":54},"end":{"line":110,"column":69}},{"start":{"line":110,"column":69},"end":{"line":110,"column":null}}],"line":110},"15":{"loc":{"start":{"line":112,"column":4},"end":{"line":199,"column":null}},"type":"if","locations":[{"start":{"line":112,"column":4},"end":{"line":199,"column":null}},{"start":{"line":178,"column":11},"end":{"line":199,"column":null}}],"line":112},"16":{"loc":{"start":{"line":114,"column":26},"end":{"line":114,"column":null}},"type":"cond-expr","locations":[{"start":{"line":114,"column":36},"end":{"line":114,"column":52}},{"start":{"line":114,"column":52},"end":{"line":114,"column":null}}],"line":114},"17":{"loc":{"start":{"line":115,"column":26},"end":{"line":115,"column":null}},"type":"cond-expr","locations":[{"start":{"line":115,"column":36},"end":{"line":115,"column":48}},{"start":{"line":115,"column":48},"end":{"line":115,"column":null}}],"line":115},"18":{"loc":{"start":{"line":116,"column":30},"end":{"line":116,"column":null}},"type":"cond-expr","locations":[{"start":{"line":116,"column":40},"end":{"line":116,"column":52}},{"start":{"line":116,"column":52},"end":{"line":116,"column":null}}],"line":116},"19":{"loc":{"start":{"line":171,"column":28},"end":{"line":171,"column":null}},"type":"cond-expr","locations":[{"start":{"line":171,"column":38},"end":{"line":171,"column":47}},{"start":{"line":171,"column":47},"end":{"line":171,"column":null}}],"line":171},"20":{"loc":{"start":{"line":204,"column":6},"end":{"line":206,"column":null}},"type":"cond-expr","locations":[{"start":{"line":205,"column":10},"end":{"line":205,"column":null}},{"start":{"line":206,"column":10},"end":{"line":206,"column":null}}],"line":204},"21":{"loc":{"start":{"line":216,"column":15},"end":{"line":216,"column":null}},"type":"cond-expr","locations":[{"start":{"line":216,"column":44},"end":{"line":216,"column":59}},{"start":{"line":216,"column":59},"end":{"line":216,"column":null}}],"line":216}},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":3,"17":0,"18":0,"19":0,"20":0,"21":0,"22":3,"23":3,"24":0,"25":0,"26":3,"27":0,"28":0,"29":0,"30":0,"31":3,"32":0,"33":0,"34":0,"35":3,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":3,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":3,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":3,"63":3},"f":{"0":3,"1":3,"2":0,"3":0,"4":3,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,3],"1":[3,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,3],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[1,2],"21":[1,2]},"meta":{"lastBranch":22,"lastFunction":11,"lastStatement":64,"seen":{"s:17:24:222:Infinity":0,"f:17:24:17:25":0,"s:18:18:18:Infinity":1,"s:19:33:19:Infinity":2,"s:22:32:22:Infinity":3,"s:23:32:23:Infinity":4,"s:24:8:24:Infinity":5,"s:25:8:25:Infinity":6,"s:28:2:41:Infinity":7,"f:28:12:28:18":1,"b:29:4:40:Infinity:undefined:undefined:undefined:undefined":0,"s:29:4:40:Infinity":8,"b:29:8:29:21:29:21:29:42":1,"s:30:23:30:Infinity":9,"s:31:6:31:Infinity":10,"s:32:24:32:Infinity":11,"s:33:6:33:Infinity":12,"s:36:24:36:Infinity":13,"b:37:6:39:Infinity:undefined:undefined:undefined:undefined":2,"s:37:6:39:Infinity":14,"s:38:9:38:Infinity":15,"s:44:8:57:Infinity":16,"f:45:4:45:5":2,"b:46:6:48:Infinity:undefined:undefined:undefined:undefined":3,"s:46:6:48:Infinity":17,"s:47:8:47:Infinity":18,"s:50:6:54:Infinity":19,"f:50:39:50:45":3,"b:51:8:53:Infinity:undefined:undefined:undefined:undefined":4,"s:51:8:53:Infinity":20,"s:52:10:52:Infinity":21,"s:60:2:66:Infinity":22,"f:60:12:60:18":4,"s:61:4:65:Infinity":23,"f:61:11:61:17":5,"b:62:6:64:Infinity:undefined:undefined:undefined:undefined":5,"s:62:6:64:Infinity":24,"s:63:8:63:Infinity":25,"s:68:26:74:Infinity":26,"f:68:26:68:32":6,"b:69:4:73:Infinity:undefined:undefined:undefined:undefined":6,"s:69:4:73:Infinity":27,"s:70:6:70:Infinity":28,"s:71:6:71:Infinity":29,"s:72:6:72:Infinity":30,"s:76:27:80:Infinity":31,"f:76:27:76:28":7,"s:77:21:77:Infinity":32,"s:78:4:78:Infinity":33,"s:79:4:79:Infinity":34,"s:82:25:92:Infinity":35,"f:82:25:82:31":8,"s:83:4:83:Infinity":36,"s:84:4:84:Infinity":37,"b:86:4:91:Infinity:undefined:undefined:undefined:undefined":7,"s:86:4:91:Infinity":38,"s:87:6:87:Infinity":39,"b:88:6:90:Infinity:undefined:undefined:undefined:undefined":8,"s:88:6:90:Infinity":40,"s:89:8:89:Infinity":41,"s:94:28:106:Infinity":42,"f:94:28:94:29":9,"b:95:4:105:Infinity:98:4:105:Infinity":9,"s:95:4:105:Infinity":43,"b:95:8:95:29:95:29:95:42":10,"s:96:6:96:Infinity":44,"s:97:6:97:Infinity":45,"b:98:4:105:Infinity:undefined:undefined:undefined:undefined":11,"s:98:4:105:Infinity":46,"s:99:6:99:Infinity":47,"s:100:6:100:Infinity":48,"s:101:6:101:Infinity":49,"b:102:6:104:Infinity:undefined:undefined:undefined:undefined":12,"s:102:6:104:Infinity":50,"s:103:8:103:Infinity":51,"b:108:2:221:Infinity:200:9:221:Infinity":13,"s:108:2:221:Infinity":52,"s:110:28:110:Infinity":53,"b:110:28:110:54:110:54:110:69:110:69:110:Infinity":14,"b:112:4:199:Infinity:178:11:199:Infinity":15,"s:112:4:199:Infinity":54,"s:113:12:113:Infinity":55,"s:114:26:114:Infinity":56,"b:114:36:114:52:114:52:114:Infinity":16,"s:115:26:115:Infinity":57,"b:115:36:115:48:115:48:115:Infinity":17,"s:116:30:116:Infinity":58,"b:116:40:116:52:116:52:116:Infinity":18,"s:118:6:176:Infinity":59,"f:147:22:147:23":10,"s:148:16:150:Infinity":60,"b:171:38:171:47:171:47:171:Infinity":19,"s:180:6:197:Infinity":61,"s:204:6:206:Infinity":62,"b:205:10:205:Infinity:206:10:206:Infinity":20,"s:208:4:219:Infinity":63,"b:216:44:216:59:216:59:216:Infinity":21}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts","statementMap":{"0":{"start":{"line":8,"column":36},"end":{"line":8,"column":null}},"1":{"start":{"line":9,"column":30},"end":{"line":9,"column":null}},"2":{"start":{"line":10,"column":28},"end":{"line":10,"column":null}},"3":{"start":{"line":12,"column":2},"end":{"line":50,"column":null}},"4":{"start":{"line":13,"column":22},"end":{"line":13,"column":null}},"5":{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},"6":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"7":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"9":{"start":{"line":21,"column":27},"end":{"line":41,"column":null}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},"11":{"start":{"line":23,"column":6},"end":{"line":40,"column":null}},"12":{"start":{"line":24,"column":24},"end":{"line":24,"column":null}},"13":{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},"14":{"start":{"line":27,"column":10},"end":{"line":27,"column":null}},"15":{"start":{"line":28,"column":10},"end":{"line":28,"column":null}},"16":{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},"17":{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},"18":{"start":{"line":33,"column":10},"end":{"line":33,"column":null}},"19":{"start":{"line":34,"column":10},"end":{"line":34,"column":null}},"20":{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},"21":{"start":{"line":38,"column":10},"end":{"line":38,"column":null}},"22":{"start":{"line":44,"column":22},"end":{"line":44,"column":null}},"23":{"start":{"line":46,"column":4},"end":{"line":49,"column":null}},"24":{"start":{"line":47,"column":6},"end":{"line":47,"column":null}},"25":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"26":{"start":{"line":52,"column":2},"end":{"line":56,"column":null}}},"fnMap":{"0":{"name":"usePatternDetection","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":36}},"loc":{"start":{"line":7,"column":53},"end":{"line":57,"column":null}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":12},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":18},"end":{"line":50,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":27},"end":{"line":21,"column":39}},"loc":{"start":{"line":21,"column":39},"end":{"line":41,"column":null}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":11},"end":{"line":46,"column":17}},"loc":{"start":{"line":46,"column":17},"end":{"line":49,"column":null}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":49}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":20}},{"start":{"line":15,"column":20},"end":{"line":15,"column":49}}],"line":15},"2":{"loc":{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},{"start":{},"end":{}}],"line":32},"4":{"loc":{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37}},"s":{"0":7,"1":7,"2":7,"3":7,"4":4,"5":4,"6":2,"7":2,"8":2,"9":2,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":0,"17":0,"18":0,"19":0,"20":1,"21":1,"22":2,"23":2,"24":0,"25":0,"26":7},"f":{"0":7,"1":4,"2":1,"3":0},"b":{"0":[2,2],"1":[4,3],"2":[1,0],"3":[0,0],"4":[1,0]},"meta":{"lastBranch":5,"lastFunction":4,"lastStatement":27,"seen":{"f:7:16:7:36":0,"s:8:36:8:Infinity":0,"s:9:30:9:Infinity":1,"s:10:28:10:Infinity":2,"s:12:2:50:Infinity":3,"f:12:12:12:18":1,"s:13:22:13:Infinity":4,"b:15:4:19:Infinity:undefined:undefined:undefined:undefined":0,"s:15:4:19:Infinity":5,"b:15:8:15:20:15:20:15:49":1,"s:16:6:16:Infinity":6,"s:17:6:17:Infinity":7,"s:18:6:18:Infinity":8,"s:21:27:41:Infinity":9,"f:21:27:21:39":2,"s:22:6:22:Infinity":10,"s:23:6:40:Infinity":11,"s:24:24:24:Infinity":12,"b:26:8:29:Infinity:undefined:undefined:undefined:undefined":2,"s:26:8:29:Infinity":13,"s:27:10:27:Infinity":14,"s:28:10:28:Infinity":15,"s:31:8:31:Infinity":16,"b:32:8:35:Infinity:undefined:undefined:undefined:undefined":3,"s:32:8:35:Infinity":17,"s:33:10:33:Infinity":18,"s:34:10:34:Infinity":19,"b:37:8:39:Infinity:undefined:undefined:undefined:undefined":4,"s:37:8:39:Infinity":20,"s:38:10:38:Infinity":21,"s:44:22:44:Infinity":22,"s:46:4:49:Infinity":23,"f:46:11:46:17":3,"s:47:6:47:Infinity":24,"s:48:6:48:Infinity":25,"s:52:2:56:Infinity":26}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx","statementMap":{"0":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"1":{"start":{"line":27,"column":59},"end":{"line":129,"column":null}},"2":{"start":{"line":28,"column":29},"end":{"line":28,"column":null}},"3":{"start":{"line":29,"column":42},"end":{"line":29,"column":null}},"4":{"start":{"line":32,"column":8},"end":{"line":51,"column":null}},"5":{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":null}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":null}},"8":{"start":{"line":41,"column":4},"end":{"line":41,"column":null}},"9":{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},"10":{"start":{"line":45,"column":6},"end":{"line":45,"column":null}},"11":{"start":{"line":46,"column":6},"end":{"line":46,"column":null}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"13":{"start":{"line":49,"column":6},"end":{"line":49,"column":null}},"14":{"start":{"line":54,"column":2},"end":{"line":71,"column":null}},"15":{"start":{"line":55,"column":22},"end":{"line":68,"column":null}},"16":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"17":{"start":{"line":56,"column":23},"end":{"line":56,"column":null}},"18":{"start":{"line":58,"column":6},"end":{"line":67,"column":null}},"19":{"start":{"line":59,"column":39},"end":{"line":59,"column":null}},"20":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"21":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"22":{"start":{"line":62,"column":8},"end":{"line":62,"column":null}},"23":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"24":{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},"25":{"start":{"line":70,"column":4},"end":{"line":70,"column":null}},"26":{"start":{"line":74,"column":2},"end":{"line":89,"column":null}},"27":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"28":{"start":{"line":75,"column":40},"end":{"line":75,"column":null}},"29":{"start":{"line":77,"column":33},"end":{"line":82,"column":null}},"30":{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},"31":{"start":{"line":79,"column":8},"end":{"line":79,"column":null}},"32":{"start":{"line":80,"column":8},"end":{"line":80,"column":null}},"33":{"start":{"line":85,"column":20},"end":{"line":85,"column":null}},"34":{"start":{"line":88,"column":4},"end":{"line":88,"column":null}},"35":{"start":{"line":92,"column":2},"end":{"line":100,"column":null}},"36":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"37":{"start":{"line":93,"column":28},"end":{"line":93,"column":null}},"38":{"start":{"line":95,"column":23},"end":{"line":95,"column":null}},"39":{"start":{"line":96,"column":25},"end":{"line":96,"column":null}},"40":{"start":{"line":96,"column":31},"end":{"line":96,"column":null}},"41":{"start":{"line":98,"column":4},"end":{"line":98,"column":null}},"42":{"start":{"line":99,"column":4},"end":{"line":99,"column":null}},"43":{"start":{"line":99,"column":17},"end":{"line":99,"column":null}},"44":{"start":{"line":102,"column":19},"end":{"line":118,"column":null}},"45":{"start":{"line":103,"column":4},"end":{"line":103,"column":null}},"46":{"start":{"line":104,"column":4},"end":{"line":104,"column":null}},"47":{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},"48":{"start":{"line":108,"column":6},"end":{"line":116,"column":null}},"49":{"start":{"line":109,"column":46},"end":{"line":109,"column":null}},"50":{"start":{"line":110,"column":8},"end":{"line":113,"column":null}},"51":{"start":{"line":115,"column":8},"end":{"line":115,"column":null}},"52":{"start":{"line":120,"column":41},"end":{"line":126,"column":null}},"53":{"start":{"line":128,"column":2},"end":{"line":128,"column":null}},"54":{"start":{"line":131,"column":24},"end":{"line":137,"column":null}},"55":{"start":{"line":132,"column":8},"end":{"line":132,"column":null}},"56":{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},"57":{"start":{"line":134,"column":4},"end":{"line":134,"column":null}},"58":{"start":{"line":136,"column":2},"end":{"line":136,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":59},"end":{"line":27,"column":60}},"loc":{"start":{"line":27,"column":77},"end":{"line":129,"column":null}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":43},"end":{"line":32,"column":44}},"loc":{"start":{"line":32,"column":71},"end":{"line":51,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":54,"column":12},"end":{"line":54,"column":18}},"loc":{"start":{"line":54,"column":18},"end":{"line":71,"column":5}},"line":54},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":22},"end":{"line":55,"column":34}},"loc":{"start":{"line":55,"column":34},"end":{"line":68,"column":null}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":74,"column":12},"end":{"line":74,"column":18}},"loc":{"start":{"line":74,"column":18},"end":{"line":89,"column":5}},"line":74},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":33},"end":{"line":77,"column":34}},"loc":{"start":{"line":77,"column":68},"end":{"line":82,"column":null}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":12},"end":{"line":92,"column":18}},"loc":{"start":{"line":92,"column":18},"end":{"line":100,"column":5}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":96,"column":25},"end":{"line":96,"column":31}},"loc":{"start":{"line":96,"column":31},"end":{"line":96,"column":null}},"line":96},"8":{"name":"(anonymous_8)","decl":{"start":{"line":99,"column":11},"end":{"line":99,"column":17}},"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":null}},"line":99},"9":{"name":"(anonymous_9)","decl":{"start":{"line":102,"column":19},"end":{"line":102,"column":26}},"loc":{"start":{"line":102,"column":46},"end":{"line":118,"column":null}},"line":102},"10":{"name":"(anonymous_10)","decl":{"start":{"line":131,"column":24},"end":{"line":131,"column":48}},"loc":{"start":{"line":131,"column":48},"end":{"line":137,"column":null}},"line":131}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},{"start":{"line":37,"column":11},"end":{"line":39,"column":null}}],"line":35},"1":{"loc":{"start":{"line":36,"column":22},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":36,"column":82},"end":{"line":36,"column":91}},{"start":{"line":36,"column":91},"end":{"line":36,"column":null}}],"line":36},"2":{"loc":{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},{"start":{"line":47,"column":11},"end":{"line":50,"column":null}}],"line":44},"3":{"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},{"start":{},"end":{}}],"line":56},"4":{"loc":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":26},"end":{"line":60,"column":45}},{"start":{"line":60,"column":45},"end":{"line":60,"column":null}}],"line":60},"5":{"loc":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},{"start":{},"end":{}}],"line":75},"6":{"loc":{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},"type":"if","locations":[{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},{"start":{},"end":{}}],"line":78},"7":{"loc":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"type":"if","locations":[{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},{"start":{},"end":{}}],"line":93},"8":{"loc":{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},{"start":{},"end":{}}],"line":107},"9":{"loc":{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},"type":"if","locations":[{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},{"start":{},"end":{}}],"line":133}},"s":{"0":1,"1":1,"2":5,"3":5,"4":5,"5":4,"6":3,"7":1,"8":4,"9":4,"10":4,"11":4,"12":0,"13":0,"14":5,"15":3,"16":3,"17":0,"18":3,"19":3,"20":3,"21":3,"22":3,"23":0,"24":0,"25":3,"26":5,"27":3,"28":0,"29":3,"30":0,"31":0,"32":0,"33":3,"34":3,"35":5,"36":5,"37":1,"38":4,"39":4,"40":0,"41":4,"42":4,"43":4,"44":5,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":0,"52":5,"53":5,"54":1,"55":8,"56":8,"57":2,"58":5},"f":{"0":5,"1":4,"2":3,"3":3,"4":3,"5":0,"6":5,"7":0,"8":4,"9":1,"10":8},"b":{"0":[3,1],"1":[0,3],"2":[4,0],"3":[0,3],"4":[3,0],"5":[0,3],"6":[0,0],"7":[1,4],"8":[1,0],"9":[2,6]},"meta":{"lastBranch":10,"lastFunction":11,"lastStatement":59,"seen":{"s:21:6:21:Infinity":0,"s:27:59:129:Infinity":1,"f:27:59:27:60":0,"s:28:29:28:Infinity":2,"s:29:42:29:Infinity":3,"s:32:8:51:Infinity":4,"f:32:43:32:44":1,"b:35:4:39:Infinity:37:11:39:Infinity":0,"s:35:4:39:Infinity":5,"s:36:6:36:Infinity":6,"b:36:82:36:91:36:91:36:Infinity":1,"s:38:6:38:Infinity":7,"s:41:4:41:Infinity":8,"b:44:4:50:Infinity:47:11:50:Infinity":2,"s:44:4:50:Infinity":9,"s:45:6:45:Infinity":10,"s:46:6:46:Infinity":11,"s:48:6:48:Infinity":12,"s:49:6:49:Infinity":13,"s:54:2:71:Infinity":14,"f:54:12:54:18":2,"s:55:22:68:Infinity":15,"f:55:22:55:34":3,"b:56:6:56:Infinity:undefined:undefined:undefined:undefined":3,"s:56:6:56:Infinity":16,"s:56:23:56:Infinity":17,"s:58:6:67:Infinity":18,"s:59:39:59:Infinity":19,"s:60:26:60:Infinity":20,"b:60:26:60:45:60:45:60:Infinity":4,"s:61:8:61:Infinity":21,"s:62:8:62:Infinity":22,"s:64:8:64:Infinity":23,"s:66:8:66:Infinity":24,"s:70:4:70:Infinity":25,"s:74:2:89:Infinity":26,"f:74:12:74:18":4,"b:75:4:75:Infinity:undefined:undefined:undefined:undefined":5,"s:75:4:75:Infinity":27,"s:75:40:75:Infinity":28,"s:77:33:82:Infinity":29,"f:77:33:77:34":5,"b:78:6:81:Infinity:undefined:undefined:undefined:undefined":6,"s:78:6:81:Infinity":30,"s:79:8:79:Infinity":31,"s:80:8:80:Infinity":32,"s:85:20:85:Infinity":33,"s:88:4:88:Infinity":34,"s:92:2:100:Infinity":35,"f:92:12:92:18":6,"b:93:4:93:Infinity:undefined:undefined:undefined:undefined":7,"s:93:4:93:Infinity":36,"s:93:28:93:Infinity":37,"s:95:23:95:Infinity":38,"s:96:25:96:Infinity":39,"f:96:25:96:31":7,"s:96:31:96:Infinity":40,"s:98:4:98:Infinity":41,"s:99:4:99:Infinity":42,"f:99:11:99:17":8,"s:99:17:99:Infinity":43,"s:102:19:118:Infinity":44,"f:102:19:102:26":9,"s:103:4:103:Infinity":45,"s:104:4:104:Infinity":46,"b:107:4:117:Infinity:undefined:undefined:undefined:undefined":8,"s:107:4:117:Infinity":47,"s:108:6:116:Infinity":48,"s:109:46:109:Infinity":49,"s:110:8:113:Infinity":50,"s:115:8:115:Infinity":51,"s:120:41:126:Infinity":52,"s:128:2:128:Infinity":53,"s:131:24:137:Infinity":54,"f:131:24:131:48":10,"s:132:8:132:Infinity":55,"b:133:2:135:Infinity:undefined:undefined:undefined:undefined":9,"s:133:2:135:Infinity":56,"s:134:4:134:Infinity":57,"s:136:2:136:Infinity":58}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts","statementMap":{"0":{"start":{"line":37,"column":45},"end":{"line":361,"column":null}},"1":{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},"2":{"start":{"line":371,"column":4},"end":{"line":371,"column":null}},"3":{"start":{"line":374,"column":41},"end":{"line":374,"column":null}},"4":{"start":{"line":377,"column":2},"end":{"line":379,"column":null}},"5":{"start":{"line":378,"column":4},"end":{"line":378,"column":null}},"6":{"start":{"line":381,"column":20},"end":{"line":381,"column":null}},"7":{"start":{"line":383,"column":2},"end":{"line":414,"column":null}},"8":{"start":{"line":384,"column":16},"end":{"line":384,"column":null}},"9":{"start":{"line":387,"column":4},"end":{"line":393,"column":null}},"10":{"start":{"line":388,"column":20},"end":{"line":388,"column":null}},"11":{"start":{"line":389,"column":22},"end":{"line":389,"column":null}},"12":{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},"13":{"start":{"line":391,"column":8},"end":{"line":391,"column":null}},"14":{"start":{"line":396,"column":4},"end":{"line":401,"column":null}},"15":{"start":{"line":397,"column":22},"end":{"line":397,"column":null}},"16":{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},"17":{"start":{"line":399,"column":8},"end":{"line":399,"column":null}},"18":{"start":{"line":404,"column":4},"end":{"line":408,"column":null}},"19":{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},"20":{"start":{"line":406,"column":8},"end":{"line":406,"column":null}},"21":{"start":{"line":411,"column":4},"end":{"line":411,"column":null}},"22":{"start":{"line":413,"column":4},"end":{"line":413,"column":null}},"23":{"start":{"line":417,"column":17},"end":{"line":417,"column":null}},"24":{"start":{"line":418,"column":40},"end":{"line":418,"column":null}},"25":{"start":{"line":420,"column":2},"end":{"line":426,"column":null}},"26":{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},"27":{"start":{"line":423,"column":6},"end":{"line":423,"column":null}},"28":{"start":{"line":424,"column":6},"end":{"line":424,"column":null}},"29":{"start":{"line":428,"column":2},"end":{"line":428,"column":null}},"30":{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},"31":{"start":{"line":439,"column":4},"end":{"line":439,"column":null}},"32":{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},"33":{"start":{"line":444,"column":4},"end":{"line":444,"column":null}},"34":{"start":{"line":448,"column":25},"end":{"line":474,"column":null}},"35":{"start":{"line":476,"column":23},"end":{"line":476,"column":null}},"36":{"start":{"line":477,"column":21},"end":{"line":477,"column":null}},"37":{"start":{"line":479,"column":2},"end":{"line":485,"column":null}},"38":{"start":{"line":480,"column":20},"end":{"line":480,"column":null}},"39":{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},"40":{"start":{"line":482,"column":6},"end":{"line":482,"column":null}},"41":{"start":{"line":483,"column":6},"end":{"line":483,"column":null}},"42":{"start":{"line":488,"column":21},"end":{"line":488,"column":null}},"43":{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},"44":{"start":{"line":492,"column":4},"end":{"line":492,"column":null}},"45":{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},"46":{"start":{"line":495,"column":4},"end":{"line":495,"column":null}},"47":{"start":{"line":498,"column":4},"end":{"line":498,"column":null}},"48":{"start":{"line":507,"column":27},"end":{"line":518,"column":null}},"49":{"start":{"line":520,"column":2},"end":{"line":520,"column":null}},"50":{"start":{"line":520,"column":44},"end":{"line":520,"column":62}},"51":{"start":{"line":527,"column":46},"end":{"line":542,"column":null}},"52":{"start":{"line":544,"column":2},"end":{"line":544,"column":null}}},"fnMap":{"0":{"name":"detectLanguage","decl":{"start":{"line":368,"column":16},"end":{"line":368,"column":31}},"loc":{"start":{"line":368,"column":60},"end":{"line":429,"column":null}},"line":368},"1":{"name":"(anonymous_1)","decl":{"start":{"line":377,"column":28},"end":{"line":377,"column":29}},"loc":{"start":{"line":377,"column":38},"end":{"line":379,"column":3}},"line":377},"2":{"name":"(anonymous_2)","decl":{"start":{"line":383,"column":28},"end":{"line":383,"column":29}},"loc":{"start":{"line":383,"column":38},"end":{"line":414,"column":3}},"line":383},"3":{"name":"(anonymous_3)","decl":{"start":{"line":387,"column":26},"end":{"line":387,"column":27}},"loc":{"start":{"line":387,"column":39},"end":{"line":393,"column":5}},"line":387},"4":{"name":"(anonymous_4)","decl":{"start":{"line":396,"column":26},"end":{"line":396,"column":27}},"loc":{"start":{"line":396,"column":39},"end":{"line":401,"column":5}},"line":396},"5":{"name":"(anonymous_5)","decl":{"start":{"line":404,"column":28},"end":{"line":404,"column":29}},"loc":{"start":{"line":404,"column":37},"end":{"line":408,"column":5}},"line":404},"6":{"name":"(anonymous_6)","decl":{"start":{"line":420,"column":33},"end":{"line":420,"column":34}},"loc":{"start":{"line":420,"column":52},"end":{"line":426,"column":3}},"line":420},"7":{"name":"isCode","decl":{"start":{"line":436,"column":16},"end":{"line":436,"column":23}},"loc":{"start":{"line":436,"column":46},"end":{"line":500,"column":null}},"line":436},"8":{"name":"(anonymous_8)","decl":{"start":{"line":479,"column":25},"end":{"line":479,"column":26}},"loc":{"start":{"line":479,"column":38},"end":{"line":485,"column":3}},"line":479},"9":{"name":"hasStrongCodeIndicators","decl":{"start":{"line":506,"column":9},"end":{"line":506,"column":33}},"loc":{"start":{"line":506,"column":56},"end":{"line":521,"column":null}},"line":506},"10":{"name":"(anonymous_10)","decl":{"start":{"line":520,"column":31},"end":{"line":520,"column":32}},"loc":{"start":{"line":520,"column":44},"end":{"line":520,"column":62}},"line":520},"11":{"name":"mapToSyntaxHighlighterLanguage","decl":{"start":{"line":526,"column":16},"end":{"line":526,"column":47}},"loc":{"start":{"line":526,"column":81},"end":{"line":545,"column":null}},"line":526}},"branchMap":{"0":{"loc":{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},"type":"if","locations":[{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},{"start":{},"end":{}}],"line":369},"1":{"loc":{"start":{"line":369,"column":6},"end":{"line":369,"column":39}},"type":"binary-expr","locations":[{"start":{"line":369,"column":6},"end":{"line":369,"column":15}},{"start":{"line":369,"column":15},"end":{"line":369,"column":39}}],"line":369},"2":{"loc":{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},"type":"if","locations":[{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},{"start":{},"end":{}}],"line":390},"3":{"loc":{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},"type":"if","locations":[{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},{"start":{},"end":{}}],"line":398},"4":{"loc":{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},"type":"if","locations":[{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},{"start":{},"end":{}}],"line":405},"5":{"loc":{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},"type":"if","locations":[{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},{"start":{},"end":{}}],"line":421},"6":{"loc":{"start":{"line":421,"column":8},"end":{"line":421,"column":39}},"type":"binary-expr","locations":[{"start":{"line":421,"column":8},"end":{"line":421,"column":28}},{"start":{"line":421,"column":28},"end":{"line":421,"column":39}}],"line":421},"7":{"loc":{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},"type":"if","locations":[{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},{"start":{},"end":{}}],"line":437},"8":{"loc":{"start":{"line":437,"column":6},"end":{"line":437,"column":39}},"type":"binary-expr","locations":[{"start":{"line":437,"column":6},"end":{"line":437,"column":15}},{"start":{"line":437,"column":15},"end":{"line":437,"column":39}}],"line":437},"9":{"loc":{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},"type":"if","locations":[{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},{"start":{},"end":{}}],"line":443},"10":{"loc":{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},"type":"if","locations":[{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},{"start":{},"end":{}}],"line":481},"11":{"loc":{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},"type":"if","locations":[{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},{"start":{"line":493,"column":2},"end":{"line":499,"column":null}}],"line":490},"12":{"loc":{"start":{"line":492,"column":11},"end":{"line":492,"column":null}},"type":"binary-expr","locations":[{"start":{"line":492,"column":11},"end":{"line":492,"column":34}},{"start":{"line":492,"column":34},"end":{"line":492,"column":null}}],"line":492},"13":{"loc":{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},"type":"if","locations":[{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},{"start":{"line":496,"column":9},"end":{"line":499,"column":null}}],"line":493},"14":{"loc":{"start":{"line":495,"column":11},"end":{"line":495,"column":null}},"type":"binary-expr","locations":[{"start":{"line":495,"column":11},"end":{"line":495,"column":34}},{"start":{"line":495,"column":34},"end":{"line":495,"column":null}}],"line":495},"15":{"loc":{"start":{"line":498,"column":11},"end":{"line":498,"column":null}},"type":"binary-expr","locations":[{"start":{"line":498,"column":11},"end":{"line":498,"column":34}},{"start":{"line":498,"column":34},"end":{"line":498,"column":null}}],"line":498},"16":{"loc":{"start":{"line":544,"column":9},"end":{"line":544,"column":null}},"type":"binary-expr","locations":[{"start":{"line":544,"column":9},"end":{"line":544,"column":42}},{"start":{"line":544,"column":42},"end":{"line":544,"column":null}}],"line":544}},"s":{"0":2,"1":8,"2":2,"3":6,"4":6,"5":84,"6":6,"7":6,"8":84,"9":84,"10":792,"11":792,"12":792,"13":21,"14":84,"15":606,"16":606,"17":23,"18":84,"19":156,"20":0,"21":84,"22":84,"23":6,"24":6,"25":6,"26":84,"27":9,"28":9,"29":6,"30":6,"31":2,"32":4,"33":3,"34":1,"35":1,"36":1,"37":1,"38":25,"39":25,"40":0,"41":0,"42":1,"43":1,"44":0,"45":1,"46":1,"47":0,"48":4,"49":4,"50":22,"51":16,"52":16},"f":{"0":8,"1":84,"2":84,"3":792,"4":606,"5":156,"6":84,"7":6,"8":25,"9":4,"10":22,"11":16},"b":{"0":[2,6],"1":[8,7],"2":[21,771],"3":[23,583],"4":[0,156],"5":[9,75],"6":[84,9],"7":[2,4],"8":[6,5],"9":[3,1],"10":[0,25],"11":[0,1],"12":[0,0],"13":[1,0],"14":[1,1],"15":[0,0],"16":[16,1]},"meta":{"lastBranch":17,"lastFunction":12,"lastStatement":53,"seen":{"s:37:45:361:Infinity":0,"f:368:16:368:31":0,"b:369:2:372:Infinity:undefined:undefined:undefined:undefined":0,"s:369:2:372:Infinity":1,"b:369:6:369:15:369:15:369:39":1,"s:371:4:371:Infinity":2,"s:374:41:374:Infinity":3,"s:377:2:379:Infinity":4,"f:377:28:377:29":1,"s:378:4:378:Infinity":5,"s:381:20:381:Infinity":6,"s:383:2:414:Infinity":7,"f:383:28:383:29":2,"s:384:16:384:Infinity":8,"s:387:4:393:Infinity":9,"f:387:26:387:27":3,"s:388:20:388:Infinity":10,"s:389:22:389:Infinity":11,"b:390:6:392:Infinity:undefined:undefined:undefined:undefined":2,"s:390:6:392:Infinity":12,"s:391:8:391:Infinity":13,"s:396:4:401:Infinity":14,"f:396:26:396:27":4,"s:397:22:397:Infinity":15,"b:398:6:400:Infinity:undefined:undefined:undefined:undefined":3,"s:398:6:400:Infinity":16,"s:399:8:399:Infinity":17,"s:404:4:408:Infinity":18,"f:404:28:404:29":5,"b:405:6:407:Infinity:undefined:undefined:undefined:undefined":4,"s:405:6:407:Infinity":19,"s:406:8:406:Infinity":20,"s:411:4:411:Infinity":21,"s:413:4:413:Infinity":22,"s:417:17:417:Infinity":23,"s:418:40:418:Infinity":24,"s:420:2:426:Infinity":25,"f:420:33:420:34":6,"b:421:4:425:Infinity:undefined:undefined:undefined:undefined":5,"s:421:4:425:Infinity":26,"b:421:8:421:28:421:28:421:39":6,"s:423:6:423:Infinity":27,"s:424:6:424:Infinity":28,"s:428:2:428:Infinity":29,"f:436:16:436:23":7,"b:437:2:440:Infinity:undefined:undefined:undefined:undefined":7,"s:437:2:440:Infinity":30,"b:437:6:437:15:437:15:437:39":8,"s:439:4:439:Infinity":31,"b:443:2:445:Infinity:undefined:undefined:undefined:undefined":9,"s:443:2:445:Infinity":32,"s:444:4:444:Infinity":33,"s:448:25:474:Infinity":34,"s:476:23:476:Infinity":35,"s:477:21:477:Infinity":36,"s:479:2:485:Infinity":37,"f:479:25:479:26":8,"s:480:20:480:Infinity":38,"b:481:4:484:Infinity:undefined:undefined:undefined:undefined":10,"s:481:4:484:Infinity":39,"s:482:6:482:Infinity":40,"s:483:6:483:Infinity":41,"s:488:21:488:Infinity":42,"b:490:2:499:Infinity:493:2:499:Infinity":11,"s:490:2:499:Infinity":43,"s:492:4:492:Infinity":44,"b:492:11:492:34:492:34:492:Infinity":12,"b:493:2:499:Infinity:496:9:499:Infinity":13,"s:493:2:499:Infinity":45,"s:495:4:495:Infinity":46,"b:495:11:495:34:495:34:495:Infinity":14,"s:498:4:498:Infinity":47,"b:498:11:498:34:498:34:498:Infinity":15,"f:506:9:506:33":9,"s:507:27:518:Infinity":48,"s:520:2:520:Infinity":49,"f:520:31:520:32":10,"s:520:44:520:62":50,"f:526:16:526:47":11,"s:527:46:542:Infinity":51,"s:544:2:544:Infinity":52,"b:544:9:544:42:544:42:544:Infinity":16}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":1,"column":36}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":1,"seen":{"s:1:33:1:36":0}}} +{ + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts", + "statementMap": { + "0": { "start": { "line": 4, "column": 39 }, "end": { "line": 36, "column": null } }, + "1": { "start": { "line": 6, "column": 15 }, "end": { "line": 6, "column": null } }, + "2": { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, + "3": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": null } }, + "4": { "start": { "line": 11, "column": 14 }, "end": { "line": 11, "column": null } }, + "5": { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, + "6": { "start": { "line": 13, "column": 4 }, "end": { "line": 13, "column": null } }, + "7": { "start": { "line": 16, "column": 15 }, "end": { "line": 16, "column": null } }, + "8": { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, + "9": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, + "10": { "start": { "line": 21, "column": 16 }, "end": { "line": 21, "column": null } }, + "11": { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, + "12": { "start": { "line": 23, "column": 4 }, "end": { "line": 23, "column": null } }, + "13": { "start": { "line": 26, "column": 2 }, "end": { "line": 33, "column": null } }, + "14": { "start": { "line": 27, "column": 21 }, "end": { "line": 27, "column": null } }, + "15": { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, + "16": { "start": { "line": 29, "column": 6 }, "end": { "line": 29, "column": null } }, + "17": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": null } }, + "18": { "start": { "line": 39, "column": 32 }, "end": { "line": 39, "column": null } }, + "19": { "start": { "line": 39, "column": 46 }, "end": { "line": 39, "column": null } }, + "20": { "start": { "line": 40, "column": 32 }, "end": { "line": 40, "column": null } }, + "21": { "start": { "line": 40, "column": 46 }, "end": { "line": 40, "column": null } }, + "22": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": null } }, + "23": { "start": { "line": 41, "column": 45 }, "end": { "line": 41, "column": null } }, + "24": { "start": { "line": 43, "column": 33 }, "end": { "line": 49, "column": null } }, + "25": { "start": { "line": 44, "column": 16 }, "end": { "line": 44, "column": null } }, + "26": { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, + "27": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": null } }, + "28": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": null } }, + "29": { "start": { "line": 51, "column": 36 }, "end": { "line": 57, "column": null } }, + "30": { "start": { "line": 52, "column": 2 }, "end": { "line": 56, "column": null } }, + "31": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": null } }, + "32": { "start": { "line": 55, "column": 4 }, "end": { "line": 55, "column": null } }, + "33": { "start": { "line": 60, "column": 32 }, "end": { "line": 62, "column": null } }, + "34": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": null } }, + "35": { "start": { "line": 64, "column": 32 }, "end": { "line": 66, "column": null } }, + "36": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": null } }, + "37": { "start": { "line": 68, "column": 31 }, "end": { "line": 70, "column": null } }, + "38": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": null } }, + "39": { "start": { "line": 72, "column": 33 }, "end": { "line": 81, "column": null } }, + "40": { "start": { "line": 73, "column": 2 }, "end": { "line": 80, "column": null } }, + "41": { "start": { "line": 75, "column": 18 }, "end": { "line": 75, "column": null } }, + "42": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": null } }, + "43": { "start": { "line": 78, "column": 4 }, "end": { "line": 78, "column": null } }, + "44": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, + "45": { "start": { "line": 83, "column": 36 }, "end": { "line": 99, "column": null } }, + "46": { "start": { "line": 89, "column": 2 }, "end": { "line": 98, "column": null } }, + "47": { "start": { "line": 91, "column": 4 }, "end": { "line": 94, "column": null } }, + "48": { "start": { "line": 96, "column": 4 }, "end": { "line": 96, "column": null } }, + "49": { "start": { "line": 97, "column": 4 }, "end": { "line": 97, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 4, "column": 39 }, "end": { "line": 4, "column": 87 } }, + "loc": { "start": { "line": 4, "column": 87 }, "end": { "line": 36, "column": null } }, + "line": 4 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 39, "column": 32 }, "end": { "line": 39, "column": 46 } }, + "loc": { "start": { "line": 39, "column": 46 }, "end": { "line": 39, "column": null } }, + "line": 39 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 40, "column": 32 }, "end": { "line": 40, "column": 46 } }, + "loc": { "start": { "line": 40, "column": 46 }, "end": { "line": 40, "column": null } }, + "line": 40 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": 45 } }, + "loc": { "start": { "line": 41, "column": 45 }, "end": { "line": 41, "column": null } }, + "line": 41 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 43, "column": 33 }, "end": { "line": 43, "column": 54 } }, + "loc": { "start": { "line": 43, "column": 54 }, "end": { "line": 49, "column": null } }, + "line": 43 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 51, "column": 36 }, "end": { "line": 51, "column": 81 } }, + "loc": { "start": { "line": 51, "column": 81 }, "end": { "line": 57, "column": null } }, + "line": 51 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 60, "column": 32 }, "end": { "line": 60, "column": 33 } }, + "loc": { "start": { "line": 60, "column": 56 }, "end": { "line": 62, "column": null } }, + "line": 60 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 64, "column": 32 }, "end": { "line": 64, "column": 33 } }, + "loc": { "start": { "line": 64, "column": 56 }, "end": { "line": 66, "column": null } }, + "line": 64 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 68, "column": 31 }, "end": { "line": 68, "column": 32 } }, + "loc": { "start": { "line": 68, "column": 54 }, "end": { "line": 70, "column": null } }, + "line": 68 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 72, "column": 33 }, "end": { "line": 72, "column": 34 } }, + "loc": { "start": { "line": 72, "column": 62 }, "end": { "line": 81, "column": null } }, + "line": 72 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 83, "column": 36 }, "end": { "line": 83, "column": 37 } }, + "loc": { "start": { "line": 88, "column": 12 }, "end": { "line": 99, "column": null } }, + "line": 88 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 7 + }, + "1": { + "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 27 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 14 } }, + { "start": { "line": 7, "column": 14 }, "end": { "line": 7, "column": 27 } } + ], + "line": 7 + }, + "2": { + "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 12 + }, + "3": { + "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 25 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 13 } }, + { "start": { "line": 12, "column": 13 }, "end": { "line": 12, "column": 25 } } + ], + "line": 12 + }, + "4": { + "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 17 + }, + "5": { + "loc": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 27 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 14 } }, + { "start": { "line": 17, "column": 14 }, "end": { "line": 17, "column": 27 } } + ], + "line": 17 + }, + "6": { + "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 22 + }, + "7": { + "loc": { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 28 + }, + "8": { + "loc": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 34 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 20 } }, + { "start": { "line": 28, "column": 20 }, "end": { "line": 28, "column": 34 } } + ], + "line": 28 + }, + "9": { + "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 45 + } + }, + "s": { + "0": 1, + "1": 6, + "2": 6, + "3": 2, + "4": 4, + "5": 4, + "6": 1, + "7": 3, + "8": 3, + "9": 1, + "10": 2, + "11": 2, + "12": 1, + "13": 1, + "14": 1, + "15": 1, + "16": 0, + "17": 1, + "18": 1, + "19": 1, + "20": 1, + "21": 0, + "22": 1, + "23": 0, + "24": 1, + "25": 0, + "26": 0, + "27": 0, + "28": 0, + "29": 1, + "30": 0, + "31": 0, + "32": 0, + "33": 1, + "34": 1, + "35": 1, + "36": 0, + "37": 1, + "38": 0, + "39": 1, + "40": 1, + "41": 1, + "42": 1, + "43": 0, + "44": 0, + "45": 1, + "46": 1, + "47": 1, + "48": 0, + "49": 0 + }, + "f": { + "0": 6, + "1": 1, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 1, + "7": 0, + "8": 0, + "9": 1, + "10": 1 + }, + "b": { + "0": [2, 4], + "1": [6, 2], + "2": [1, 3], + "3": [4, 1], + "4": [1, 2], + "5": [3, 1], + "6": [1, 1], + "7": [0, 1], + "8": [1, 1], + "9": [0, 0] + }, + "meta": { + "lastBranch": 10, + "lastFunction": 11, + "lastStatement": 50, + "seen": { + "s:4:39:36:Infinity": 0, + "f:4:39:4:87": 0, + "s:6:15:6:Infinity": 1, + "b:7:2:9:Infinity:undefined:undefined:undefined:undefined": 0, + "s:7:2:9:Infinity": 2, + "b:7:6:7:14:7:14:7:27": 1, + "s:8:4:8:Infinity": 3, + "s:11:14:11:Infinity": 4, + "b:12:2:14:Infinity:undefined:undefined:undefined:undefined": 2, + "s:12:2:14:Infinity": 5, + "b:12:6:12:13:12:13:12:25": 3, + "s:13:4:13:Infinity": 6, + "s:16:15:16:Infinity": 7, + "b:17:2:19:Infinity:undefined:undefined:undefined:undefined": 4, + "s:17:2:19:Infinity": 8, + "b:17:6:17:14:17:14:17:27": 5, + "s:18:4:18:Infinity": 9, + "s:21:16:21:Infinity": 10, + "b:22:2:24:Infinity:undefined:undefined:undefined:undefined": 6, + "s:22:2:24:Infinity": 11, + "s:23:4:23:Infinity": 12, + "s:26:2:33:Infinity": 13, + "s:27:21:27:Infinity": 14, + "b:28:4:30:Infinity:undefined:undefined:undefined:undefined": 7, + "s:28:4:30:Infinity": 15, + "b:28:8:28:20:28:20:28:34": 8, + "s:29:6:29:Infinity": 16, + "s:35:2:35:Infinity": 17, + "s:39:32:39:Infinity": 18, + "f:39:32:39:46": 1, + "s:39:46:39:Infinity": 19, + "s:40:32:40:Infinity": 20, + "f:40:32:40:46": 2, + "s:40:46:40:Infinity": 21, + "s:41:31:41:Infinity": 22, + "f:41:31:41:45": 3, + "s:41:45:41:Infinity": 23, + "s:43:33:49:Infinity": 24, + "f:43:33:43:54": 4, + "s:44:16:44:Infinity": 25, + "b:45:2:47:Infinity:undefined:undefined:undefined:undefined": 9, + "s:45:2:47:Infinity": 26, + "s:46:4:46:Infinity": 27, + "s:48:2:48:Infinity": 28, + "s:51:36:57:Infinity": 29, + "f:51:36:51:81": 5, + "s:52:2:56:Infinity": 30, + "s:53:4:53:Infinity": 31, + "s:55:4:55:Infinity": 32, + "s:60:32:62:Infinity": 33, + "f:60:32:60:33": 6, + "s:61:2:61:Infinity": 34, + "s:64:32:66:Infinity": 35, + "f:64:32:64:33": 7, + "s:65:2:65:Infinity": 36, + "s:68:31:70:Infinity": 37, + "f:68:31:68:32": 8, + "s:69:2:69:Infinity": 38, + "s:72:33:81:Infinity": 39, + "f:72:33:72:34": 9, + "s:73:2:80:Infinity": 40, + "s:75:18:75:Infinity": 41, + "s:76:4:76:Infinity": 42, + "s:78:4:78:Infinity": 43, + "s:79:4:79:Infinity": 44, + "s:83:36:99:Infinity": 45, + "f:83:36:83:37": 10, + "s:89:2:98:Infinity": 46, + "s:91:4:94:Infinity": 47, + "s:96:4:96:Infinity": 48, + "s:97:4:97:Infinity": 49 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts", + "statementMap": { + "0": { "start": { "line": 5, "column": 35 }, "end": { "line": 48, "column": null } }, + "1": { "start": { "line": 6, "column": 2 }, "end": { "line": 47, "column": null } }, + "2": { "start": { "line": 7, "column": 24 }, "end": { "line": 7, "column": null } }, + "3": { "start": { "line": 8, "column": 36 }, "end": { "line": 8, "column": null } }, + "4": { "start": { "line": 10, "column": 4 }, "end": { "line": 41, "column": null } }, + "5": { "start": { "line": 11, "column": 6 }, "end": { "line": 11, "column": null } }, + "6": { "start": { "line": 11, "column": 31 }, "end": { "line": 11, "column": null } }, + "7": { "start": { "line": 13, "column": 6 }, "end": { "line": 40, "column": null } }, + "8": { "start": { "line": 14, "column": 22 }, "end": { "line": 14, "column": null } }, + "9": { "start": { "line": 17, "column": 8 }, "end": { "line": 36, "column": null } }, + "10": { "start": { "line": 18, "column": 51 }, "end": { "line": 18, "column": null } }, + "11": { "start": { "line": 21, "column": 10 }, "end": { "line": 27, "column": null } }, + "12": { "start": { "line": 22, "column": 12 }, "end": { "line": 26, "column": null } }, + "13": { "start": { "line": 23, "column": 14 }, "end": { "line": 25, "column": null } }, + "14": { "start": { "line": 24, "column": 16 }, "end": { "line": 24, "column": null } }, + "15": { "start": { "line": 29, "column": 10 }, "end": { "line": 35, "column": null } }, + "16": { "start": { "line": 30, "column": 12 }, "end": { "line": 34, "column": null } }, + "17": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, + "18": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": null } }, + "19": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": null } }, + "20": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": null } }, + "21": { "start": { "line": 50, "column": 35 }, "end": { "line": 158, "column": null } }, + "22": { "start": { "line": 51, "column": 2 }, "end": { "line": 157, "column": null } }, + "23": { "start": { "line": 52, "column": 22 }, "end": { "line": 52, "column": null } }, + "24": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": null } }, + "25": { "start": { "line": 55, "column": 4 }, "end": { "line": 153, "column": null } }, + "26": { "start": { "line": 56, "column": 19 }, "end": { "line": 56, "column": null } }, + "27": { "start": { "line": 56, "column": 37 }, "end": { "line": 56, "column": 52 } }, + "28": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + "29": { "start": { "line": 57, "column": 17 }, "end": { "line": 57, "column": null } }, + "30": { "start": { "line": 60, "column": 32 }, "end": { "line": 62, "column": null } }, + "31": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, + "32": { "start": { "line": 61, "column": 43 }, "end": { "line": 61, "column": 66 } }, + "33": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, + "34": { "start": { "line": 64, "column": 42 }, "end": { "line": 64, "column": null } }, + "35": { "start": { "line": 67, "column": 30 }, "end": { "line": 67, "column": null } }, + "36": { "start": { "line": 68, "column": 25 }, "end": { "line": 68, "column": null } }, + "37": { "start": { "line": 71, "column": 20 }, "end": { "line": 71, "column": null } }, + "38": { "start": { "line": 74, "column": 21 }, "end": { "line": 74, "column": null } }, + "39": { "start": { "line": 76, "column": 6 }, "end": { "line": 147, "column": null } }, + "40": { "start": { "line": 78, "column": 8 }, "end": { "line": 78, "column": null } }, + "41": { "start": { "line": 81, "column": 94 }, "end": { "line": 81, "column": null } }, + "42": { "start": { "line": 83, "column": 8 }, "end": { "line": 102, "column": null } }, + "43": { "start": { "line": 84, "column": 28 }, "end": { "line": 84, "column": null } }, + "44": { "start": { "line": 85, "column": 31 }, "end": { "line": 85, "column": null } }, + "45": { "start": { "line": 86, "column": 32 }, "end": { "line": 86, "column": null } }, + "46": { "start": { "line": 86, "column": 67 }, "end": { "line": 86, "column": 75 } }, + "47": { "start": { "line": 89, "column": 35 }, "end": { "line": 89, "column": null } }, + "48": { "start": { "line": 90, "column": 22 }, "end": { "line": 90, "column": null } }, + "49": { "start": { "line": 91, "column": 10 }, "end": { "line": 99, "column": null } }, + "50": { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, + "51": { "start": { "line": 93, "column": 14 }, "end": { "line": 93, "column": null } }, + "52": { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, + "53": { "start": { "line": 96, "column": 16 }, "end": { "line": 96, "column": null } }, + "54": { "start": { "line": 101, "column": 10 }, "end": { "line": 101, "column": null } }, + "55": { "start": { "line": 105, "column": 8 }, "end": { "line": 146, "column": null } }, + "56": { "start": { "line": 105, "column": 44 }, "end": { "line": 105, "column": 64 } }, + "57": { "start": { "line": 107, "column": 10 }, "end": { "line": 145, "column": null } }, + "58": { "start": { "line": 112, "column": 12 }, "end": { "line": 112, "column": null } }, + "59": { "start": { "line": 112, "column": 57 }, "end": { "line": 112, "column": 76 } }, + "60": { "start": { "line": 115, "column": 41 }, "end": { "line": 141, "column": null } }, + "61": { "start": { "line": 116, "column": 14 }, "end": { "line": 116, "column": null } }, + "62": { "start": { "line": 116, "column": 45 }, "end": { "line": 116, "column": null } }, + "63": { "start": { "line": 117, "column": 14 }, "end": { "line": 124, "column": null } }, + "64": { "start": { "line": 118, "column": 36 }, "end": { "line": 118, "column": null } }, + "65": { "start": { "line": 119, "column": 16 }, "end": { "line": 123, "column": null } }, + "66": { "start": { "line": 121, "column": 39 }, "end": { "line": 121, "column": null } }, + "67": { "start": { "line": 122, "column": 18 }, "end": { "line": 122, "column": null } }, + "68": { "start": { "line": 127, "column": 39 }, "end": { "line": 127, "column": null } }, + "69": { "start": { "line": 128, "column": 39 }, "end": { "line": 128, "column": null } }, + "70": { "start": { "line": 129, "column": 45 }, "end": { "line": 129, "column": null } }, + "71": { "start": { "line": 131, "column": 14 }, "end": { "line": 138, "column": null } }, + "72": { "start": { "line": 132, "column": 16 }, "end": { "line": 137, "column": null } }, + "73": { "start": { "line": 134, "column": 39 }, "end": { "line": 134, "column": null } }, + "74": { "start": { "line": 135, "column": 30 }, "end": { "line": 135, "column": null } }, + "75": { "start": { "line": 136, "column": 18 }, "end": { "line": 136, "column": null } }, + "76": { "start": { "line": 140, "column": 14 }, "end": { "line": 140, "column": null } }, + "77": { "start": { "line": 143, "column": 33 }, "end": { "line": 143, "column": null } }, + "78": { "start": { "line": 144, "column": 12 }, "end": { "line": 144, "column": null } }, + "79": { "start": { "line": 144, "column": 42 }, "end": { "line": 144, "column": 61 } }, + "80": { "start": { "line": 150, "column": 6 }, "end": { "line": 152, "column": null } }, + "81": { "start": { "line": 151, "column": 8 }, "end": { "line": 151, "column": null } }, + "82": { "start": { "line": 155, "column": 4 }, "end": { "line": 155, "column": null } }, + "83": { "start": { "line": 156, "column": 4 }, "end": { "line": 156, "column": null } }, + "84": { "start": { "line": 160, "column": 38 }, "end": { "line": 176, "column": null } }, + "85": { "start": { "line": 161, "column": 2 }, "end": { "line": 175, "column": null } }, + "86": { "start": { "line": 162, "column": 24 }, "end": { "line": 162, "column": null } }, + "87": { "start": { "line": 163, "column": 18 }, "end": { "line": 163, "column": null } }, + "88": { "start": { "line": 164, "column": 22 }, "end": { "line": 164, "column": null } }, + "89": { "start": { "line": 166, "column": 4 }, "end": { "line": 171, "column": null } }, + "90": { "start": { "line": 173, "column": 4 }, "end": { "line": 173, "column": null } }, + "91": { "start": { "line": 174, "column": 4 }, "end": { "line": 174, "column": null } }, + "92": { "start": { "line": 178, "column": 38 }, "end": { "line": 186, "column": null } }, + "93": { "start": { "line": 179, "column": 2 }, "end": { "line": 185, "column": null } }, + "94": { "start": { "line": 181, "column": 4 }, "end": { "line": 181, "column": null } }, + "95": { "start": { "line": 183, "column": 4 }, "end": { "line": 183, "column": null } }, + "96": { "start": { "line": 184, "column": 4 }, "end": { "line": 184, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 5, "column": 35 }, "end": { "line": 5, "column": 42 } }, + "loc": { "start": { "line": 5, "column": 84 }, "end": { "line": 48, "column": null } }, + "line": 5 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 22, "column": 49 }, "end": { "line": 22, "column": 50 } }, + "loc": { "start": { "line": 22, "column": 73 }, "end": { "line": 26, "column": 13 } }, + "line": 22 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 50, "column": 35 }, "end": { "line": 50, "column": 42 } }, + "loc": { "start": { "line": 50, "column": 80 }, "end": { "line": 158, "column": null } }, + "line": 50 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 56, "column": 30 }, "end": { "line": 56, "column": 31 } }, + "loc": { "start": { "line": 56, "column": 37 }, "end": { "line": 56, "column": 52 } }, + "line": 56 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 60, "column": 47 }, "end": { "line": 60, "column": 48 } }, + "loc": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, + "line": 61 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 61, "column": 32 }, "end": { "line": 61, "column": 33 } }, + "loc": { "start": { "line": 61, "column": 43 }, "end": { "line": 61, "column": 66 } }, + "line": 61 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 86, "column": 60 }, "end": { "line": 86, "column": 61 } }, + "loc": { "start": { "line": 86, "column": 67 }, "end": { "line": 86, "column": 75 } }, + "line": 86 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 105, "column": 36 }, "end": { "line": 105, "column": 37 } }, + "loc": { "start": { "line": 105, "column": 44 }, "end": { "line": 105, "column": 64 } }, + "line": 105 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 112, "column": 48 }, "end": { "line": 112, "column": 49 } }, + "loc": { "start": { "line": 112, "column": 57 }, "end": { "line": 112, "column": 76 } }, + "line": 112 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 115, "column": 41 }, "end": { "line": 115, "column": 42 } }, + "loc": { "start": { "line": 115, "column": 95 }, "end": { "line": 141, "column": null } }, + "line": 115 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 119, "column": 46 }, "end": { "line": 119, "column": 47 } }, + "loc": { "start": { "line": 119, "column": 57 }, "end": { "line": 123, "column": 17 } }, + "line": 119 + }, + "11": { + "name": "(anonymous_11)", + "decl": { "start": { "line": 144, "column": 33 }, "end": { "line": 144, "column": 34 } }, + "loc": { "start": { "line": 144, "column": 42 }, "end": { "line": 144, "column": 61 } }, + "line": 144 + }, + "12": { + "name": "(anonymous_12)", + "decl": { "start": { "line": 160, "column": 38 }, "end": { "line": 160, "column": 50 } }, + "loc": { "start": { "line": 160, "column": 50 }, "end": { "line": 176, "column": null } }, + "line": 160 + }, + "13": { + "name": "(anonymous_13)", + "decl": { "start": { "line": 178, "column": 38 }, "end": { "line": 178, "column": 45 } }, + "loc": { "start": { "line": 178, "column": 61 }, "end": { "line": 186, "column": null } }, + "line": 178 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 11, "column": 6 }, "end": { "line": 11, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 11, "column": 6 }, "end": { "line": 11, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 11 + }, + "1": { + "loc": { "start": { "line": 21, "column": 10 }, "end": { "line": 27, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 21, "column": 10 }, "end": { "line": 27, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 21 + }, + "2": { + "loc": { "start": { "line": 23, "column": 14 }, "end": { "line": 25, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 23, "column": 14 }, "end": { "line": 25, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 23 + }, + "3": { + "loc": { "start": { "line": 23, "column": 18 }, "end": { "line": 23, "column": 86 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 23, "column": 18 }, "end": { "line": 23, "column": 41 } }, + { "start": { "line": 23, "column": 41 }, "end": { "line": 23, "column": 59 } }, + { "start": { "line": 23, "column": 59 }, "end": { "line": 23, "column": 86 } } + ], + "line": 23 + }, + "4": { + "loc": { "start": { "line": 29, "column": 10 }, "end": { "line": 35, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 29, "column": 10 }, "end": { "line": 35, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 29 + }, + "5": { + "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 57 + }, + "6": { + "loc": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 64 + }, + "7": { + "loc": { "start": { "line": 76, "column": 6 }, "end": { "line": 147, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 76, "column": 6 }, "end": { "line": 147, "column": null } }, + { "start": { "line": 79, "column": 13 }, "end": { "line": 147, "column": null } } + ], + "line": 76 + }, + "8": { + "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 92 + }, + "9": { + "loc": { "start": { "line": 92, "column": 16 }, "end": { "line": 92, "column": 66 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 92, "column": 16 }, "end": { "line": 92, "column": 43 } }, + { "start": { "line": 92, "column": 43 }, "end": { "line": 92, "column": 66 } } + ], + "line": 92 + }, + "10": { + "loc": { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 95 + }, + "11": { + "loc": { "start": { "line": 105, "column": 8 }, "end": { "line": 146, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 105, "column": 8 }, "end": { "line": 146, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 105 + }, + "12": { + "loc": { "start": { "line": 107, "column": 10 }, "end": { "line": 145, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 107, "column": 10 }, "end": { "line": 145, "column": null } }, + { "start": { "line": 113, "column": 17 }, "end": { "line": 145, "column": null } } + ], + "line": 107 + }, + "13": { + "loc": { "start": { "line": 108, "column": 12 }, "end": { "line": 110, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 108, "column": 12 }, "end": { "line": 108, "column": null } }, + { "start": { "line": 109, "column": 12 }, "end": { "line": 109, "column": null } }, + { "start": { "line": 110, "column": 12 }, "end": { "line": 110, "column": null } } + ], + "line": 108 + }, + "14": { + "loc": { "start": { "line": 116, "column": 14 }, "end": { "line": 116, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 116, "column": 14 }, "end": { "line": 116, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 116 + }, + "15": { + "loc": { "start": { "line": 117, "column": 14 }, "end": { "line": 124, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 117, "column": 14 }, "end": { "line": 124, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 117 + }, + "16": { + "loc": { "start": { "line": 121, "column": 39 }, "end": { "line": 121, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 121, "column": 59 }, "end": { "line": 121, "column": 67 } }, + { "start": { "line": 121, "column": 67 }, "end": { "line": 121, "column": null } } + ], + "line": 121 + }, + "17": { + "loc": { "start": { "line": 134, "column": 39 }, "end": { "line": 134, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 134, "column": 53 }, "end": { "line": 134, "column": 61 } }, + { "start": { "line": 134, "column": 61 }, "end": { "line": 134, "column": null } } + ], + "line": 134 + } + }, + "s": { + "0": 1, + "1": 8, + "2": 8, + "3": 8, + "4": 8, + "5": 8, + "6": 1, + "7": 7, + "8": 7, + "9": 7, + "10": 7, + "11": 7, + "12": 5, + "13": 6, + "14": 6, + "15": 7, + "16": 5, + "17": 1, + "18": 8, + "19": 0, + "20": 0, + "21": 1, + "22": 0, + "23": 0, + "24": 0, + "25": 0, + "26": 0, + "27": 0, + "28": 0, + "29": 0, + "30": 0, + "31": 0, + "32": 0, + "33": 0, + "34": 0, + "35": 0, + "36": 0, + "37": 0, + "38": 0, + "39": 0, + "40": 0, + "41": 0, + "42": 0, + "43": 0, + "44": 0, + "45": 0, + "46": 0, + "47": 0, + "48": 0, + "49": 0, + "50": 0, + "51": 0, + "52": 0, + "53": 0, + "54": 0, + "55": 0, + "56": 0, + "57": 0, + "58": 0, + "59": 0, + "60": 0, + "61": 0, + "62": 0, + "63": 0, + "64": 0, + "65": 0, + "66": 0, + "67": 0, + "68": 0, + "69": 0, + "70": 0, + "71": 0, + "72": 0, + "73": 0, + "74": 0, + "75": 0, + "76": 0, + "77": 0, + "78": 0, + "79": 0, + "80": 0, + "81": 0, + "82": 0, + "83": 0, + "84": 1, + "85": 0, + "86": 0, + "87": 0, + "88": 0, + "89": 0, + "90": 0, + "91": 0, + "92": 1, + "93": 0, + "94": 0, + "95": 0, + "96": 0 + }, + "f": { + "0": 8, + "1": 6, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 0, + "11": 0, + "12": 0, + "13": 0 + }, + "b": { + "0": [1, 7], + "1": [5, 2], + "2": [6, 0], + "3": [6, 6, 6], + "4": [5, 2], + "5": [0, 0], + "6": [0, 0], + "7": [0, 0], + "8": [0, 0], + "9": [0, 0], + "10": [0, 0], + "11": [0, 0], + "12": [0, 0], + "13": [0, 0, 0], + "14": [0, 0], + "15": [0, 0], + "16": [0, 0], + "17": [0, 0] + }, + "meta": { + "lastBranch": 18, + "lastFunction": 14, + "lastStatement": 97, + "seen": { + "s:5:35:48:Infinity": 0, + "f:5:35:5:42": 0, + "s:6:2:47:Infinity": 1, + "s:7:24:7:Infinity": 2, + "s:8:36:8:Infinity": 3, + "s:10:4:41:Infinity": 4, + "b:11:6:11:Infinity:undefined:undefined:undefined:undefined": 0, + "s:11:6:11:Infinity": 5, + "s:11:31:11:Infinity": 6, + "s:13:6:40:Infinity": 7, + "s:14:22:14:Infinity": 8, + "s:17:8:36:Infinity": 9, + "s:18:51:18:Infinity": 10, + "b:21:10:27:Infinity:undefined:undefined:undefined:undefined": 1, + "s:21:10:27:Infinity": 11, + "s:22:12:26:Infinity": 12, + "f:22:49:22:50": 1, + "b:23:14:25:Infinity:undefined:undefined:undefined:undefined": 2, + "s:23:14:25:Infinity": 13, + "b:23:18:23:41:23:41:23:59:23:59:23:86": 3, + "s:24:16:24:Infinity": 14, + "b:29:10:35:Infinity:undefined:undefined:undefined:undefined": 4, + "s:29:10:35:Infinity": 15, + "s:30:12:34:Infinity": 16, + "s:38:8:38:Infinity": 17, + "s:43:4:43:Infinity": 18, + "s:45:4:45:Infinity": 19, + "s:46:4:46:Infinity": 20, + "s:50:35:158:Infinity": 21, + "f:50:35:50:42": 2, + "s:51:2:157:Infinity": 22, + "s:52:22:52:Infinity": 23, + "s:53:18:53:Infinity": 24, + "s:55:4:153:Infinity": 25, + "s:56:19:56:Infinity": 26, + "f:56:30:56:31": 3, + "s:56:37:56:52": 27, + "b:57:6:57:Infinity:undefined:undefined:undefined:undefined": 5, + "s:57:6:57:Infinity": 28, + "s:57:17:57:Infinity": 29, + "s:60:32:62:Infinity": 30, + "f:60:47:60:48": 4, + "s:61:8:61:Infinity": 31, + "f:61:32:61:33": 5, + "s:61:43:61:66": 32, + "b:64:6:64:Infinity:undefined:undefined:undefined:undefined": 6, + "s:64:6:64:Infinity": 33, + "s:64:42:64:Infinity": 34, + "s:67:30:67:Infinity": 35, + "s:68:25:68:Infinity": 36, + "s:71:20:71:Infinity": 37, + "s:74:21:74:Infinity": 38, + "b:76:6:147:Infinity:79:13:147:Infinity": 7, + "s:76:6:147:Infinity": 39, + "s:78:8:78:Infinity": 40, + "s:81:94:81:Infinity": 41, + "s:83:8:102:Infinity": 42, + "s:84:28:84:Infinity": 43, + "s:85:31:85:Infinity": 44, + "s:86:32:86:Infinity": 45, + "f:86:60:86:61": 6, + "s:86:67:86:75": 46, + "s:89:35:89:Infinity": 47, + "s:90:22:90:Infinity": 48, + "s:91:10:99:Infinity": 49, + "b:92:12:98:Infinity:undefined:undefined:undefined:undefined": 8, + "s:92:12:98:Infinity": 50, + "b:92:16:92:43:92:43:92:66": 9, + "s:93:14:93:Infinity": 51, + "b:95:14:97:Infinity:undefined:undefined:undefined:undefined": 10, + "s:95:14:97:Infinity": 52, + "s:96:16:96:Infinity": 53, + "s:101:10:101:Infinity": 54, + "b:105:8:146:Infinity:undefined:undefined:undefined:undefined": 11, + "s:105:8:146:Infinity": 55, + "f:105:36:105:37": 7, + "s:105:44:105:64": 56, + "b:107:10:145:Infinity:113:17:145:Infinity": 12, + "s:107:10:145:Infinity": 57, + "b:108:12:108:Infinity:109:12:109:Infinity:110:12:110:Infinity": 13, + "s:112:12:112:Infinity": 58, + "f:112:48:112:49": 8, + "s:112:57:112:76": 59, + "s:115:41:141:Infinity": 60, + "f:115:41:115:42": 9, + "b:116:14:116:Infinity:undefined:undefined:undefined:undefined": 14, + "s:116:14:116:Infinity": 61, + "s:116:45:116:Infinity": 62, + "b:117:14:124:Infinity:undefined:undefined:undefined:undefined": 15, + "s:117:14:124:Infinity": 63, + "s:118:36:118:Infinity": 64, + "s:119:16:123:Infinity": 65, + "f:119:46:119:47": 10, + "s:121:39:121:Infinity": 66, + "b:121:59:121:67:121:67:121:Infinity": 16, + "s:122:18:122:Infinity": 67, + "s:127:39:127:Infinity": 68, + "s:128:39:128:Infinity": 69, + "s:129:45:129:Infinity": 70, + "s:131:14:138:Infinity": 71, + "s:132:16:137:Infinity": 72, + "s:134:39:134:Infinity": 73, + "b:134:53:134:61:134:61:134:Infinity": 17, + "s:135:30:135:Infinity": 74, + "s:136:18:136:Infinity": 75, + "s:140:14:140:Infinity": 76, + "s:143:33:143:Infinity": 77, + "s:144:12:144:Infinity": 78, + "f:144:33:144:34": 11, + "s:144:42:144:61": 79, + "s:150:6:152:Infinity": 80, + "s:151:8:151:Infinity": 81, + "s:155:4:155:Infinity": 82, + "s:156:4:156:Infinity": 83, + "s:160:38:176:Infinity": 84, + "f:160:38:160:50": 12, + "s:161:2:175:Infinity": 85, + "s:162:24:162:Infinity": 86, + "s:163:18:163:Infinity": 87, + "s:164:22:164:Infinity": 88, + "s:166:4:171:Infinity": 89, + "s:173:4:173:Infinity": 90, + "s:174:4:174:Infinity": 91, + "s:178:38:186:Infinity": 92, + "f:178:38:178:45": 13, + "s:179:2:185:Infinity": 93, + "s:181:4:181:Infinity": 94, + "s:183:4:183:Infinity": 95, + "s:184:4:184:Infinity": 96 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts", + "statementMap": { + "0": { "start": { "line": 4, "column": 32 }, "end": { "line": 11, "column": null } }, + "1": { "start": { "line": 5, "column": 2 }, "end": { "line": 10, "column": null } }, + "2": { "start": { "line": 6, "column": 4 }, "end": { "line": 6, "column": null } }, + "3": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": null } }, + "4": { "start": { "line": 9, "column": 4 }, "end": { "line": 9, "column": null } }, + "5": { "start": { "line": 13, "column": 31 }, "end": { "line": 20, "column": null } }, + "6": { "start": { "line": 14, "column": 2 }, "end": { "line": 19, "column": null } }, + "7": { "start": { "line": 15, "column": 4 }, "end": { "line": 15, "column": null } }, + "8": { "start": { "line": 17, "column": 4 }, "end": { "line": 17, "column": null } }, + "9": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, + "10": { "start": { "line": 22, "column": 31 }, "end": { "line": 29, "column": null } }, + "11": { "start": { "line": 23, "column": 2 }, "end": { "line": 28, "column": null } }, + "12": { "start": { "line": 24, "column": 4 }, "end": { "line": 24, "column": null } }, + "13": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": null } }, + "14": { "start": { "line": 27, "column": 4 }, "end": { "line": 27, "column": null } }, + "15": { "start": { "line": 31, "column": 31 }, "end": { "line": 38, "column": null } }, + "16": { "start": { "line": 32, "column": 2 }, "end": { "line": 37, "column": null } }, + "17": { "start": { "line": 33, "column": 4 }, "end": { "line": 33, "column": null } }, + "18": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": null } }, + "19": { "start": { "line": 36, "column": 4 }, "end": { "line": 36, "column": null } }, + "20": { "start": { "line": 40, "column": 33 }, "end": { "line": 47, "column": null } }, + "21": { "start": { "line": 41, "column": 2 }, "end": { "line": 46, "column": null } }, + "22": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": null } }, + "23": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": null } }, + "24": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": null } }, + "25": { "start": { "line": 49, "column": 31 }, "end": { "line": 78, "column": null } }, + "26": { "start": { "line": 50, "column": 2 }, "end": { "line": 77, "column": null } }, + "27": { "start": { "line": 51, "column": 29 }, "end": { "line": 51, "column": null } }, + "28": { "start": { "line": 54, "column": 4 }, "end": { "line": 58, "column": null } }, + "29": { "start": { "line": 55, "column": 6 }, "end": { "line": 55, "column": null } }, + "30": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + "31": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": null } }, + "32": { "start": { "line": 62, "column": 29 }, "end": { "line": 62, "column": null } }, + "33": { "start": { "line": 62, "column": 54 }, "end": { "line": 62, "column": 72 } }, + "34": { "start": { "line": 64, "column": 4 }, "end": { "line": 68, "column": null } }, + "35": { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, + "36": { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, + "37": { "start": { "line": 70, "column": 4 }, "end": { "line": 73, "column": null } }, + "38": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, + "39": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 4, "column": 32 }, "end": { "line": 4, "column": 44 } }, + "loc": { "start": { "line": 4, "column": 44 }, "end": { "line": 11, "column": null } }, + "line": 4 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 13, "column": 31 }, "end": { "line": 13, "column": 38 } }, + "loc": { "start": { "line": 13, "column": 93 }, "end": { "line": 20, "column": null } }, + "line": 13 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 22, "column": 31 }, "end": { "line": 22, "column": 38 } }, + "loc": { "start": { "line": 22, "column": 67 }, "end": { "line": 29, "column": null } }, + "line": 22 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 31, "column": 31 }, "end": { "line": 31, "column": 38 } }, + "loc": { "start": { "line": 31, "column": 53 }, "end": { "line": 38, "column": null } }, + "line": 31 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 40, "column": 33 }, "end": { "line": 40, "column": 40 } }, + "loc": { "start": { "line": 40, "column": 57 }, "end": { "line": 47, "column": null } }, + "line": 40 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 49, "column": 31 }, "end": { "line": 49, "column": 38 } }, + "loc": { "start": { "line": 49, "column": 79 }, "end": { "line": 78, "column": null } }, + "line": 49 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 62, "column": 43 }, "end": { "line": 62, "column": 44 } }, + "loc": { "start": { "line": 62, "column": 54 }, "end": { "line": 62, "column": 72 } }, + "line": 62 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": 51 } }, + { "start": { "line": 61, "column": 51 }, "end": { "line": 61, "column": null } } + ], + "line": 61 + }, + "1": { + "loc": { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 65 + } + }, + "s": { + "0": 1, + "1": 0, + "2": 0, + "3": 0, + "4": 0, + "5": 1, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 1, + "11": 0, + "12": 0, + "13": 0, + "14": 0, + "15": 1, + "16": 0, + "17": 0, + "18": 0, + "19": 0, + "20": 1, + "21": 0, + "22": 0, + "23": 0, + "24": 0, + "25": 1, + "26": 6, + "27": 6, + "28": 6, + "29": 6, + "30": 1, + "31": 6, + "32": 6, + "33": 6, + "34": 6, + "35": 6, + "36": 3, + "37": 6, + "38": 0, + "39": 0 + }, + "f": { "0": 0, "1": 0, "2": 0, "3": 0, "4": 0, "5": 6, "6": 6 }, + "b": { "0": [6, 2], "1": [3, 3] }, + "meta": { + "lastBranch": 2, + "lastFunction": 7, + "lastStatement": 40, + "seen": { + "s:4:32:11:Infinity": 0, + "f:4:32:4:44": 0, + "s:5:2:10:Infinity": 1, + "s:6:4:6:Infinity": 2, + "s:8:4:8:Infinity": 3, + "s:9:4:9:Infinity": 4, + "s:13:31:20:Infinity": 5, + "f:13:31:13:38": 1, + "s:14:2:19:Infinity": 6, + "s:15:4:15:Infinity": 7, + "s:17:4:17:Infinity": 8, + "s:18:4:18:Infinity": 9, + "s:22:31:29:Infinity": 10, + "f:22:31:22:38": 2, + "s:23:2:28:Infinity": 11, + "s:24:4:24:Infinity": 12, + "s:26:4:26:Infinity": 13, + "s:27:4:27:Infinity": 14, + "s:31:31:38:Infinity": 15, + "f:31:31:31:38": 3, + "s:32:2:37:Infinity": 16, + "s:33:4:33:Infinity": 17, + "s:35:4:35:Infinity": 18, + "s:36:4:36:Infinity": 19, + "s:40:33:47:Infinity": 20, + "f:40:33:40:40": 4, + "s:41:2:46:Infinity": 21, + "s:42:4:42:Infinity": 22, + "s:44:4:44:Infinity": 23, + "s:45:4:45:Infinity": 24, + "s:49:31:78:Infinity": 25, + "f:49:31:49:38": 5, + "s:50:2:77:Infinity": 26, + "s:51:29:51:Infinity": 27, + "s:54:4:58:Infinity": 28, + "s:55:6:55:Infinity": 29, + "s:57:6:57:Infinity": 30, + "s:61:22:61:Infinity": 31, + "b:61:22:61:51:61:51:61:Infinity": 0, + "s:62:29:62:Infinity": 32, + "f:62:43:62:44": 6, + "s:62:54:62:72": 33, + "s:64:4:68:Infinity": 34, + "b:65:6:67:Infinity:undefined:undefined:undefined:undefined": 1, + "s:65:6:67:Infinity": 35, + "s:66:8:66:Infinity": 36, + "s:70:4:73:Infinity": 37, + "s:75:4:75:Infinity": 38, + "s:76:4:76:Infinity": 39 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts", + "statementMap": { + "0": { "start": { "line": 9, "column": 45 }, "end": { "line": 9, "column": null } }, + "1": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": null } }, + "2": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, + "3": { "start": { "line": 19, "column": 26 }, "end": { "line": 19, "column": null } }, + "4": { "start": { "line": 21, "column": 4 }, "end": { "line": 42, "column": null } }, + "5": { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, + "6": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": null } }, + "7": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": null } }, + "8": { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, + "9": { "start": { "line": 30, "column": 8 }, "end": { "line": 30, "column": null } }, + "10": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": null } }, + "11": { "start": { "line": 34, "column": 6 }, "end": { "line": 34, "column": null } }, + "12": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + "13": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, + "14": { "start": { "line": 41, "column": 6 }, "end": { "line": 41, "column": null } }, + "15": { "start": { "line": 49, "column": 4 }, "end": { "line": 74, "column": null } }, + "16": { "start": { "line": 50, "column": 20 }, "end": { "line": 50, "column": null } }, + "17": { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, + "18": { "start": { "line": 52, "column": 8 }, "end": { "line": 52, "column": null } }, + "19": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": null } }, + "20": { "start": { "line": 56, "column": 25 }, "end": { "line": 56, "column": null } }, + "21": { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, + "22": { "start": { "line": 58, "column": 8 }, "end": { "line": 58, "column": null } }, + "23": { "start": { "line": 59, "column": 8 }, "end": { "line": 59, "column": null } }, + "24": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + "25": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, + "26": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": null } }, + "27": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": null } }, + "28": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": null } }, + "29": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": null } }, + "30": { "start": { "line": 81, "column": 4 }, "end": { "line": 103, "column": null } }, + "31": { "start": { "line": 83, "column": 8 }, "end": { "line": 83, "column": null } }, + "32": { "start": { "line": 84, "column": 8 }, "end": { "line": 84, "column": null } }, + "33": { "start": { "line": 86, "column": 8 }, "end": { "line": 86, "column": null } }, + "34": { "start": { "line": 87, "column": 8 }, "end": { "line": 87, "column": null } }, + "35": { "start": { "line": 89, "column": 8 }, "end": { "line": 89, "column": null } }, + "36": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": null } }, + "37": { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, + "38": { "start": { "line": 93, "column": 10 }, "end": { "line": 93, "column": null } }, + "39": { "start": { "line": 95, "column": 10 }, "end": { "line": 95, "column": null } }, + "40": { "start": { "line": 97, "column": 8 }, "end": { "line": 97, "column": null } }, + "41": { "start": { "line": 99, "column": 8 }, "end": { "line": 99, "column": null } }, + "42": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": null } }, + "43": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": null } }, + "44": { "start": { "line": 110, "column": 4 }, "end": { "line": 121, "column": null } }, + "45": { "start": { "line": 111, "column": 20 }, "end": { "line": 111, "column": null } }, + "46": { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, + "47": { "start": { "line": 113, "column": 8 }, "end": { "line": 113, "column": null } }, + "48": { "start": { "line": 116, "column": 8 }, "end": { "line": 116, "column": null } }, + "49": { "start": { "line": 119, "column": 6 }, "end": { "line": 119, "column": null } }, + "50": { "start": { "line": 120, "column": 6 }, "end": { "line": 120, "column": null } }, + "51": { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, + "52": { "start": { "line": 128, "column": 26 }, "end": { "line": 128, "column": null } }, + "53": { "start": { "line": 130, "column": 4 }, "end": { "line": 145, "column": null } }, + "54": { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, + "55": { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, + "56": { "start": { "line": 133, "column": 10 }, "end": { "line": 133, "column": null } }, + "57": { "start": { "line": 135, "column": 8 }, "end": { "line": 135, "column": null } }, + "58": { "start": { "line": 136, "column": 8 }, "end": { "line": 136, "column": null } }, + "59": { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, + "60": { "start": { "line": 138, "column": 10 }, "end": { "line": 138, "column": null } }, + "61": { "start": { "line": 142, "column": 6 }, "end": { "line": 142, "column": null } }, + "62": { "start": { "line": 144, "column": 6 }, "end": { "line": 144, "column": null } }, + "63": { "start": { "line": 152, "column": 4 }, "end": { "line": 174, "column": null } }, + "64": { "start": { "line": 153, "column": 20 }, "end": { "line": 153, "column": null } }, + "65": { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, + "66": { "start": { "line": 155, "column": 8 }, "end": { "line": 155, "column": null } }, + "67": { "start": { "line": 156, "column": 8 }, "end": { "line": 156, "column": null } }, + "68": { "start": { "line": 159, "column": 24 }, "end": { "line": 159, "column": null } }, + "69": { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, + "70": { "start": { "line": 161, "column": 8 }, "end": { "line": 161, "column": null } }, + "71": { "start": { "line": 162, "column": 8 }, "end": { "line": 162, "column": null } }, + "72": { "start": { "line": 166, "column": 44 }, "end": { "line": 166, "column": null } }, + "73": { "start": { "line": 169, "column": 6 }, "end": { "line": 169, "column": null } }, + "74": { "start": { "line": 171, "column": 6 }, "end": { "line": 171, "column": null } }, + "75": { "start": { "line": 173, "column": 6 }, "end": { "line": 173, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 11, "column": 2 }, "end": { "line": 11, "column": 16 } }, + "loc": { "start": { "line": 11, "column": 52 }, "end": { "line": 13, "column": null } }, + "line": 11 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 22 } }, + "loc": { "start": { "line": 18, "column": 22 }, "end": { "line": 43, "column": null } }, + "line": 18 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": 22 } }, + "loc": { "start": { "line": 48, "column": 52 }, "end": { "line": 75, "column": null } }, + "line": 48 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 80, "column": 10 }, "end": { "line": 80, "column": 30 } }, + "loc": { "start": { "line": 80, "column": 53 }, "end": { "line": 104, "column": null } }, + "line": 80 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 109, "column": 10 }, "end": { "line": 109, "column": 24 } }, + "loc": { "start": { "line": 109, "column": 47 }, "end": { "line": 122, "column": null } }, + "line": 109 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 127, "column": 2 }, "end": { "line": 127, "column": 26 } }, + "loc": { "start": { "line": 127, "column": 26 }, "end": { "line": 146, "column": null } }, + "line": 127 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 151, "column": 8 }, "end": { "line": 151, "column": 43 } }, + "loc": { "start": { "line": 151, "column": 43 }, "end": { "line": 175, "column": null } }, + "line": 151 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 19 + }, + "1": { + "loc": { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 23 + }, + "2": { + "loc": { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 70 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 41 } }, + { "start": { "line": 23, "column": 41 }, "end": { "line": 23, "column": 70 } } + ], + "line": 23 + }, + "3": { + "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 29 + }, + "4": { + "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 37 + }, + "5": { + "loc": { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 51 + }, + "6": { + "loc": { "start": { "line": 51, "column": 10 }, "end": { "line": 51, "column": 43 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 51, "column": 10 }, "end": { "line": 51, "column": 20 } }, + { "start": { "line": 51, "column": 20 }, "end": { "line": 51, "column": 43 } } + ], + "line": 51 + }, + "7": { + "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 57 + }, + "8": { + "loc": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 63 + }, + "9": { + "loc": { "start": { "line": 63, "column": 10 }, "end": { "line": 63, "column": 61 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 63, "column": 10 }, "end": { "line": 63, "column": 29 } }, + { "start": { "line": 63, "column": 29 }, "end": { "line": 63, "column": 61 } } + ], + "line": 63 + }, + "10": { + "loc": { "start": { "line": 81, "column": 4 }, "end": { "line": 103, "column": null } }, + "type": "switch", + "locations": [ + { "start": { "line": 82, "column": 6 }, "end": { "line": 84, "column": null } }, + { "start": { "line": 85, "column": 6 }, "end": { "line": 87, "column": null } }, + { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, + { "start": { "line": 91, "column": 6 }, "end": { "line": 97, "column": null } }, + { "start": { "line": 98, "column": 6 }, "end": { "line": 100, "column": null } }, + { "start": { "line": 101, "column": 6 }, "end": { "line": 102, "column": null } } + ], + "line": 81 + }, + "11": { + "loc": { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, + { "start": { "line": 94, "column": 15 }, "end": { "line": 96, "column": null } } + ], + "line": 92 + }, + "12": { + "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 58 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 35 } }, + { "start": { "line": 92, "column": 35 }, "end": { "line": 92, "column": 58 } } + ], + "line": 92 + }, + "13": { + "loc": { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, + { "start": { "line": 114, "column": 13 }, "end": { "line": 117, "column": null } } + ], + "line": 112 + }, + "14": { + "loc": { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 128 + }, + "15": { + "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 131 + }, + "16": { + "loc": { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 73 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 42 } }, + { "start": { "line": 131, "column": 42 }, "end": { "line": 131, "column": 73 } } + ], + "line": 131 + }, + "17": { + "loc": { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 132 + }, + "18": { + "loc": { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 137 + }, + "19": { + "loc": { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 154 + }, + "20": { + "loc": { "start": { "line": 154, "column": 10 }, "end": { "line": 154, "column": 40 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 154, "column": 10 }, "end": { "line": 154, "column": 20 } }, + { "start": { "line": 154, "column": 20 }, "end": { "line": 154, "column": 40 } } + ], + "line": 154 + }, + "21": { + "loc": { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 160 + } + }, + "s": { + "0": 15, + "1": 11, + "2": 4, + "3": 1, + "4": 3, + "5": 3, + "6": 1, + "7": 1, + "8": 2, + "9": 1, + "10": 2, + "11": 2, + "12": 2, + "13": 0, + "14": 0, + "15": 4, + "16": 4, + "17": 4, + "18": 1, + "19": 1, + "20": 3, + "21": 3, + "22": 0, + "23": 0, + "24": 3, + "25": 3, + "26": 3, + "27": 3, + "28": 3, + "29": 0, + "30": 3, + "31": 2, + "32": 2, + "33": 1, + "34": 1, + "35": 0, + "36": 0, + "37": 0, + "38": 0, + "39": 0, + "40": 0, + "41": 0, + "42": 0, + "43": 0, + "44": 0, + "45": 0, + "46": 0, + "47": 0, + "48": 0, + "49": 0, + "50": 0, + "51": 2, + "52": 0, + "53": 2, + "54": 2, + "55": 1, + "56": 0, + "57": 1, + "58": 1, + "59": 1, + "60": 0, + "61": 2, + "62": 0, + "63": 0, + "64": 0, + "65": 0, + "66": 0, + "67": 0, + "68": 0, + "69": 0, + "70": 0, + "71": 0, + "72": 0, + "73": 0, + "74": 0, + "75": 0 + }, + "f": { "0": 11, "1": 4, "2": 4, "3": 3, "4": 0, "5": 2, "6": 0 }, + "b": { + "0": [1, 3], + "1": [1, 2], + "2": [3, 3], + "3": [1, 1], + "4": [0, 2], + "5": [1, 3], + "6": [4, 4], + "7": [0, 3], + "8": [3, 0], + "9": [3, 3], + "10": [2, 1, 0, 0, 0, 0], + "11": [0, 0], + "12": [0, 0], + "13": [0, 0], + "14": [0, 2], + "15": [1, 1], + "16": [2, 1], + "17": [0, 1], + "18": [0, 1], + "19": [0, 0], + "20": [0, 0], + "21": [0, 0] + }, + "meta": { + "lastBranch": 22, + "lastFunction": 7, + "lastStatement": 76, + "seen": { + "s:9:45:9:Infinity": 0, + "f:11:2:11:16": 0, + "s:12:4:12:Infinity": 1, + "f:18:2:18:22": 1, + "b:19:4:19:Infinity:undefined:undefined:undefined:undefined": 0, + "s:19:4:19:Infinity": 2, + "s:19:26:19:Infinity": 3, + "s:21:4:42:Infinity": 4, + "b:23:6:26:Infinity:undefined:undefined:undefined:undefined": 1, + "s:23:6:26:Infinity": 5, + "b:23:10:23:41:23:41:23:70": 2, + "s:24:8:24:Infinity": 6, + "s:25:8:25:Infinity": 7, + "b:29:6:31:Infinity:undefined:undefined:undefined:undefined": 3, + "s:29:6:31:Infinity": 8, + "s:30:8:30:Infinity": 9, + "s:33:6:33:Infinity": 10, + "s:34:6:34:Infinity": 11, + "b:37:6:39:Infinity:undefined:undefined:undefined:undefined": 4, + "s:37:6:39:Infinity": 12, + "s:38:8:38:Infinity": 13, + "s:41:6:41:Infinity": 14, + "f:48:8:48:22": 2, + "s:49:4:74:Infinity": 15, + "s:50:20:50:Infinity": 16, + "b:51:6:54:Infinity:undefined:undefined:undefined:undefined": 5, + "s:51:6:54:Infinity": 17, + "b:51:10:51:20:51:20:51:43": 6, + "s:52:8:52:Infinity": 18, + "s:53:8:53:Infinity": 19, + "s:56:25:56:Infinity": 20, + "b:57:6:60:Infinity:undefined:undefined:undefined:undefined": 7, + "s:57:6:60:Infinity": 21, + "s:58:8:58:Infinity": 22, + "s:59:8:59:Infinity": 23, + "b:63:6:65:Infinity:undefined:undefined:undefined:undefined": 8, + "s:63:6:65:Infinity": 24, + "b:63:10:63:29:63:29:63:61": 9, + "s:64:8:64:Infinity": 25, + "s:68:6:68:Infinity": 26, + "s:70:6:70:Infinity": 27, + "s:71:6:71:Infinity": 28, + "s:73:6:73:Infinity": 29, + "f:80:10:80:30": 3, + "b:82:6:84:Infinity:85:6:87:Infinity:88:6:90:Infinity:91:6:97:Infinity:98:6:100:Infinity:101:6:102:Infinity": 10, + "s:81:4:103:Infinity": 30, + "s:83:8:83:Infinity": 31, + "s:84:8:84:Infinity": 32, + "s:86:8:86:Infinity": 33, + "s:87:8:87:Infinity": 34, + "s:89:8:89:Infinity": 35, + "s:90:8:90:Infinity": 36, + "b:92:8:96:Infinity:94:15:96:Infinity": 11, + "s:92:8:96:Infinity": 37, + "b:92:12:92:35:92:35:92:58": 12, + "s:93:10:93:Infinity": 38, + "s:95:10:95:Infinity": 39, + "s:97:8:97:Infinity": 40, + "s:99:8:99:Infinity": 41, + "s:100:8:100:Infinity": 42, + "s:102:8:102:Infinity": 43, + "f:109:10:109:24": 4, + "s:110:4:121:Infinity": 44, + "s:111:20:111:Infinity": 45, + "b:112:6:117:Infinity:114:13:117:Infinity": 13, + "s:112:6:117:Infinity": 46, + "s:113:8:113:Infinity": 47, + "s:116:8:116:Infinity": 48, + "s:119:6:119:Infinity": 49, + "s:120:6:120:Infinity": 50, + "f:127:2:127:26": 5, + "b:128:4:128:Infinity:undefined:undefined:undefined:undefined": 14, + "s:128:4:128:Infinity": 51, + "s:128:26:128:Infinity": 52, + "s:130:4:145:Infinity": 53, + "b:131:6:140:Infinity:undefined:undefined:undefined:undefined": 15, + "s:131:6:140:Infinity": 54, + "b:131:10:131:42:131:42:131:73": 16, + "b:132:8:134:Infinity:undefined:undefined:undefined:undefined": 17, + "s:132:8:134:Infinity": 55, + "s:133:10:133:Infinity": 56, + "s:135:8:135:Infinity": 57, + "s:136:8:136:Infinity": 58, + "b:137:8:139:Infinity:undefined:undefined:undefined:undefined": 18, + "s:137:8:139:Infinity": 59, + "s:138:10:138:Infinity": 60, + "s:142:6:142:Infinity": 61, + "s:144:6:144:Infinity": 62, + "f:151:8:151:43": 6, + "s:152:4:174:Infinity": 63, + "s:153:20:153:Infinity": 64, + "b:154:6:157:Infinity:undefined:undefined:undefined:undefined": 19, + "s:154:6:157:Infinity": 65, + "b:154:10:154:20:154:20:154:40": 20, + "s:155:8:155:Infinity": 66, + "s:156:8:156:Infinity": 67, + "s:159:24:159:Infinity": 68, + "b:160:6:163:Infinity:undefined:undefined:undefined:undefined": 21, + "s:160:6:163:Infinity": 69, + "s:161:8:161:Infinity": 70, + "s:162:8:162:Infinity": 71, + "s:166:44:166:Infinity": 72, + "s:169:6:169:Infinity": 73, + "s:171:6:171:Infinity": 74, + "s:173:6:173:Infinity": 75 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts", + "statementMap": { + "0": { "start": { "line": 10, "column": 21 }, "end": { "line": 10, "column": null } }, + "1": { "start": { "line": 11, "column": 20 }, "end": { "line": 11, "column": null } }, + "2": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": null } }, + "3": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, + "4": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, + "5": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": null } }, + "6": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": null } }, + "7": { "start": { "line": 24, "column": 4 }, "end": { "line": 31, "column": null } }, + "8": { "start": { "line": 25, "column": 6 }, "end": { "line": 25, "column": null } }, + "9": { "start": { "line": 26, "column": 6 }, "end": { "line": 26, "column": null } }, + "10": { "start": { "line": 27, "column": 6 }, "end": { "line": 27, "column": null } }, + "11": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": null } }, + "12": { "start": { "line": 30, "column": 6 }, "end": { "line": 30, "column": null } }, + "13": { "start": { "line": 35, "column": 4 }, "end": { "line": 63, "column": null } }, + "14": { "start": { "line": 37, "column": 6 }, "end": { "line": 37, "column": null } }, + "15": { "start": { "line": 39, "column": 23 }, "end": { "line": 39, "column": null } }, + "16": { "start": { "line": 40, "column": 6 }, "end": { "line": 40, "column": null } }, + "17": { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, + "18": { "start": { "line": 43, "column": 8 }, "end": { "line": 43, "column": null } }, + "19": { "start": { "line": 44, "column": 8 }, "end": { "line": 44, "column": null } }, + "20": { "start": { "line": 47, "column": 26 }, "end": { "line": 47, "column": null } }, + "21": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, + "22": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": null } }, + "23": { "start": { "line": 54, "column": 6 }, "end": { "line": 54, "column": null } }, + "24": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + "25": { "start": { "line": 60, "column": 6 }, "end": { "line": 60, "column": null } }, + "26": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": null } }, + "27": { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, + "28": { "start": { "line": 68, "column": 6 }, "end": { "line": 70, "column": null } }, + "29": { "start": { "line": 71, "column": 6 }, "end": { "line": 73, "column": null } }, + "30": { "start": { "line": 72, "column": 8 }, "end": { "line": 72, "column": null } }, + "31": { "start": { "line": 79, "column": 29 }, "end": { "line": 85, "column": null } }, + "32": { "start": { "line": 87, "column": 4 }, "end": { "line": 96, "column": null } }, + "33": { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, + "34": { "start": { "line": 89, "column": 8 }, "end": { "line": 91, "column": null } }, + "35": { "start": { "line": 92, "column": 8 }, "end": { "line": 94, "column": null } }, + "36": { "start": { "line": 93, "column": 10 }, "end": { "line": 93, "column": null } }, + "37": { "start": { "line": 101, "column": 32 }, "end": { "line": 104, "column": null } }, + "38": { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, + "39": { "start": { "line": 107, "column": 6 }, "end": { "line": 109, "column": null } }, + "40": { "start": { "line": 110, "column": 6 }, "end": { "line": 112, "column": null } }, + "41": { "start": { "line": 111, "column": 8 }, "end": { "line": 111, "column": null } }, + "42": { "start": { "line": 117, "column": 25 }, "end": { "line": 120, "column": null } }, + "43": { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, + "44": { "start": { "line": 123, "column": 6 }, "end": { "line": 125, "column": null } }, + "45": { "start": { "line": 126, "column": 6 }, "end": { "line": 128, "column": null } }, + "46": { "start": { "line": 127, "column": 8 }, "end": { "line": 127, "column": null } }, + "47": { "start": { "line": 133, "column": 4 }, "end": { "line": 136, "column": null } }, + "48": { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, + "49": { "start": { "line": 138, "column": 6 }, "end": { "line": 138, "column": null } }, + "50": { "start": { "line": 139, "column": 6 }, "end": { "line": 139, "column": null } }, + "51": { "start": { "line": 140, "column": 6 }, "end": { "line": 140, "column": null } }, + "52": { "start": { "line": 143, "column": 4 }, "end": { "line": 148, "column": null } }, + "53": { "start": { "line": 144, "column": 6 }, "end": { "line": 144, "column": null } }, + "54": { "start": { "line": 145, "column": 6 }, "end": { "line": 145, "column": null } }, + "55": { "start": { "line": 147, "column": 6 }, "end": { "line": 147, "column": null } }, + "56": { "start": { "line": 152, "column": 4 }, "end": { "line": 152, "column": null } }, + "57": { "start": { "line": 157, "column": 4 }, "end": { "line": 157, "column": null } }, + "58": { "start": { "line": 161, "column": 4 }, "end": { "line": 161, "column": null } }, + "59": { "start": { "line": 165, "column": 4 }, "end": { "line": 165, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 13, "column": 2 }, "end": { "line": 13, "column": 16 } }, + "loc": { "start": { "line": 13, "column": 52 }, "end": { "line": 15, "column": null } }, + "line": 13 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 17, "column": 8 }, "end": { "line": 17, "column": 36 } }, + "loc": { "start": { "line": 17, "column": 36 }, "end": { "line": 32, "column": null } }, + "line": 17 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": 41 } }, + "loc": { "start": { "line": 34, "column": 41 }, "end": { "line": 64, "column": null } }, + "line": 34 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 66, "column": 10 }, "end": { "line": 66, "column": 36 } }, + "loc": { "start": { "line": 66, "column": 56 }, "end": { "line": 75, "column": null } }, + "line": 66 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 71, "column": 60 }, "end": { "line": 71, "column": 66 } }, + "loc": { "start": { "line": 71, "column": 66 }, "end": { "line": 73, "column": 7 } }, + "line": 71 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 77, "column": 10 }, "end": { "line": 77, "column": 35 } }, + "loc": { "start": { "line": 77, "column": 55 }, "end": { "line": 97, "column": null } }, + "line": 77 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 92, "column": 49 }, "end": { "line": 92, "column": 55 } }, + "loc": { "start": { "line": 92, "column": 55 }, "end": { "line": 94, "column": 9 } }, + "line": 92 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 99, "column": 10 }, "end": { "line": 99, "column": 38 } }, + "loc": { "start": { "line": 99, "column": 58 }, "end": { "line": 114, "column": null } }, + "line": 99 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 110, "column": 60 }, "end": { "line": 110, "column": 66 } }, + "loc": { "start": { "line": 110, "column": 66 }, "end": { "line": 112, "column": 7 } }, + "line": 110 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 116, "column": 10 }, "end": { "line": 116, "column": 31 } }, + "loc": { "start": { "line": 116, "column": 51 }, "end": { "line": 130, "column": null } }, + "line": 116 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 126, "column": 53 }, "end": { "line": 126, "column": 59 } }, + "loc": { "start": { "line": 126, "column": 59 }, "end": { "line": 128, "column": 7 } }, + "line": 126 + }, + "11": { + "name": "(anonymous_11)", + "decl": { "start": { "line": 132, "column": 8 }, "end": { "line": 132, "column": 43 } }, + "loc": { "start": { "line": 132, "column": 43 }, "end": { "line": 149, "column": null } }, + "line": 132 + }, + "12": { + "name": "(anonymous_12)", + "decl": { "start": { "line": 151, "column": 2 }, "end": { "line": 151, "column": 18 } }, + "loc": { "start": { "line": 151, "column": 18 }, "end": { "line": 153, "column": null } }, + "line": 151 + }, + "13": { + "name": "(anonymous_13)", + "decl": { "start": { "line": 156, "column": 2 }, "end": { "line": 156, "column": 32 } }, + "loc": { "start": { "line": 156, "column": 32 }, "end": { "line": 158, "column": null } }, + "line": 156 + }, + "14": { + "name": "(anonymous_14)", + "decl": { "start": { "line": 160, "column": 2 }, "end": { "line": 160, "column": 21 } }, + "loc": { "start": { "line": 160, "column": 51 }, "end": { "line": 162, "column": null } }, + "line": 160 + }, + "15": { + "name": "(anonymous_15)", + "decl": { "start": { "line": 164, "column": 6 }, "end": { "line": 164, "column": 31 } }, + "loc": { "start": { "line": 164, "column": 31 }, "end": { "line": 166, "column": null } }, + "line": 164 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 19 + }, + "1": { + "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 42 + }, + "2": { + "loc": { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 67 + }, + "3": { + "loc": { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 88 + }, + "4": { + "loc": { "start": { "line": 101, "column": 32 }, "end": { "line": 104, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 101, "column": 32 }, "end": { "line": 101, "column": 61 } }, + { "start": { "line": 101, "column": 61 }, "end": { "line": 104, "column": null } } + ], + "line": 101 + }, + "5": { + "loc": { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 106 + }, + "6": { + "loc": { "start": { "line": 117, "column": 25 }, "end": { "line": 120, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 117, "column": 25 }, "end": { "line": 117, "column": 48 } }, + { "start": { "line": 117, "column": 48 }, "end": { "line": 120, "column": null } } + ], + "line": 117 + }, + "7": { + "loc": { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 122 + }, + "8": { + "loc": { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 137 + } + }, + "s": { + "0": 5, + "1": 5, + "2": 0, + "3": 6, + "4": 6, + "5": 1, + "6": 1, + "7": 5, + "8": 5, + "9": 5, + "10": 5, + "11": 5, + "12": 0, + "13": 6, + "14": 6, + "15": 6, + "16": 6, + "17": 6, + "18": 5, + "19": 5, + "20": 1, + "21": 1, + "22": 1, + "23": 1, + "24": 1, + "25": 1, + "26": 0, + "27": 1, + "28": 1, + "29": 1, + "30": 0, + "31": 1, + "32": 1, + "33": 5, + "34": 1, + "35": 1, + "36": 0, + "37": 1, + "38": 1, + "39": 0, + "40": 0, + "41": 0, + "42": 1, + "43": 1, + "44": 0, + "45": 0, + "46": 0, + "47": 1, + "48": 1, + "49": 0, + "50": 0, + "51": 0, + "52": 1, + "53": 1, + "54": 1, + "55": 0, + "56": 1, + "57": 0, + "58": 0, + "59": 2 + }, + "f": { + "0": 0, + "1": 6, + "2": 6, + "3": 1, + "4": 0, + "5": 1, + "6": 0, + "7": 1, + "8": 0, + "9": 1, + "10": 0, + "11": 1, + "12": 1, + "13": 0, + "14": 0, + "15": 2 + }, + "b": { + "0": [1, 5], + "1": [5, 1], + "2": [1, 0], + "3": [1, 4], + "4": [1, 0], + "5": [0, 1], + "6": [1, 0], + "7": [0, 1], + "8": [0, 1] + }, + "meta": { + "lastBranch": 9, + "lastFunction": 16, + "lastStatement": 60, + "seen": { + "s:10:21:10:Infinity": 0, + "s:11:20:11:Infinity": 1, + "f:13:2:13:16": 0, + "s:14:4:14:Infinity": 2, + "f:17:8:17:36": 1, + "s:18:4:18:Infinity": 3, + "b:19:4:22:Infinity:undefined:undefined:undefined:undefined": 0, + "s:19:4:22:Infinity": 4, + "s:20:6:20:Infinity": 5, + "s:21:6:21:Infinity": 6, + "s:24:4:31:Infinity": 7, + "s:25:6:25:Infinity": 8, + "s:26:6:26:Infinity": 9, + "s:27:6:27:Infinity": 10, + "s:28:6:28:Infinity": 11, + "s:30:6:30:Infinity": 12, + "f:34:8:34:41": 2, + "s:35:4:63:Infinity": 13, + "s:37:6:37:Infinity": 14, + "s:39:23:39:Infinity": 15, + "s:40:6:40:Infinity": 16, + "b:42:6:45:Infinity:undefined:undefined:undefined:undefined": 1, + "s:42:6:45:Infinity": 17, + "s:43:8:43:Infinity": 18, + "s:44:8:44:Infinity": 19, + "s:47:26:47:Infinity": 20, + "s:48:6:48:Infinity": 21, + "s:51:6:51:Infinity": 22, + "s:54:6:54:Infinity": 23, + "s:57:6:57:Infinity": 24, + "s:60:6:60:Infinity": 25, + "s:62:6:62:Infinity": 26, + "f:66:10:66:36": 3, + "b:67:4:74:Infinity:undefined:undefined:undefined:undefined": 2, + "s:67:4:74:Infinity": 27, + "s:68:6:70:Infinity": 28, + "s:71:6:73:Infinity": 29, + "f:71:60:71:66": 4, + "s:72:8:72:Infinity": 30, + "f:77:10:77:35": 5, + "s:79:29:85:Infinity": 31, + "s:87:4:96:Infinity": 32, + "b:88:6:95:Infinity:undefined:undefined:undefined:undefined": 3, + "s:88:6:95:Infinity": 33, + "s:89:8:91:Infinity": 34, + "s:92:8:94:Infinity": 35, + "f:92:49:92:55": 6, + "s:93:10:93:Infinity": 36, + "f:99:10:99:38": 7, + "s:101:32:104:Infinity": 37, + "b:101:32:101:61:101:61:104:Infinity": 4, + "b:106:4:113:Infinity:undefined:undefined:undefined:undefined": 5, + "s:106:4:113:Infinity": 38, + "s:107:6:109:Infinity": 39, + "s:110:6:112:Infinity": 40, + "f:110:60:110:66": 8, + "s:111:8:111:Infinity": 41, + "f:116:10:116:31": 9, + "s:117:25:120:Infinity": 42, + "b:117:25:117:48:117:48:120:Infinity": 6, + "b:122:4:129:Infinity:undefined:undefined:undefined:undefined": 7, + "s:122:4:129:Infinity": 43, + "s:123:6:125:Infinity": 44, + "s:126:6:128:Infinity": 45, + "f:126:53:126:59": 10, + "s:127:8:127:Infinity": 46, + "f:132:8:132:43": 11, + "s:133:4:136:Infinity": 47, + "b:137:4:141:Infinity:undefined:undefined:undefined:undefined": 8, + "s:137:4:141:Infinity": 48, + "s:138:6:138:Infinity": 49, + "s:139:6:139:Infinity": 50, + "s:140:6:140:Infinity": 51, + "s:143:4:148:Infinity": 52, + "s:144:6:144:Infinity": 53, + "s:145:6:145:Infinity": 54, + "s:147:6:147:Infinity": 55, + "f:151:2:151:18": 12, + "s:152:4:152:Infinity": 56, + "f:156:2:156:32": 13, + "s:157:4:157:Infinity": 57, + "f:160:2:160:21": 14, + "s:161:4:161:Infinity": 58, + "f:164:6:164:31": 15, + "s:165:4:165:Infinity": 59 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts", + "statementMap": { + "0": { "start": { "line": 8, "column": 39 }, "end": { "line": 11, "column": null } }, + "1": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": null } }, + "2": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, + "3": { "start": { "line": 25, "column": 4 }, "end": { "line": 44, "column": null } }, + "4": { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, + "5": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": null } }, + "6": { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": null } }, + "7": { "start": { "line": 32, "column": 22 }, "end": { "line": 32, "column": null } }, + "8": { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, + "9": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": null } }, + "10": { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": null } }, + "11": { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, + "12": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, + "13": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": null } }, + "14": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": null } }, + "15": { "start": { "line": 43, "column": 6 }, "end": { "line": 43, "column": null } }, + "16": { "start": { "line": 51, "column": 4 }, "end": { "line": 57, "column": null } }, + "17": { "start": { "line": 52, "column": 6 }, "end": { "line": 56, "column": null } }, + "18": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": null } }, + "19": { "start": { "line": 55, "column": 8 }, "end": { "line": 55, "column": null } }, + "20": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": null } }, + "21": { "start": { "line": 65, "column": 4 }, "end": { "line": 65, "column": null } }, + "22": { "start": { "line": 72, "column": 4 }, "end": { "line": 72, "column": null } }, + "23": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, + "24": { "start": { "line": 80, "column": 4 }, "end": { "line": 80, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 13, "column": 6 }, "end": { "line": 13, "column": 31 } }, + "loc": { "start": { "line": 13, "column": 31 }, "end": { "line": 15, "column": null } }, + "line": 13 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } }, + "loc": { "start": { "line": 17, "column": 39 }, "end": { "line": 19, "column": null } }, + "line": 17 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 24, "column": 2 }, "end": { "line": 24, "column": 17 } }, + "loc": { "start": { "line": 24, "column": 69 }, "end": { "line": 45, "column": null } }, + "line": 24 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 31 } }, + "loc": { "start": { "line": 50, "column": 31 }, "end": { "line": 59, "column": null } }, + "line": 50 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 51, "column": 38 }, "end": { "line": 51, "column": 39 } }, + "loc": { "start": { "line": 51, "column": 55 }, "end": { "line": 57, "column": 5 } }, + "line": 51 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 32 } }, + "loc": { "start": { "line": 64, "column": 32 }, "end": { "line": 66, "column": null } }, + "line": 64 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 21 } }, + "loc": { "start": { "line": 71, "column": 51 }, "end": { "line": 73, "column": null } }, + "line": 71 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 78, "column": 2 }, "end": { "line": 78, "column": 18 } }, + "loc": { "start": { "line": 78, "column": 18 }, "end": { "line": 81, "column": null } }, + "line": 78 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 27 + }, + "1": { + "loc": { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, + { "start": { "line": 37, "column": 13 }, "end": { "line": 40, "column": null } } + ], + "line": 33 + } + }, + "s": { + "0": 13, + "1": 11, + "2": 6, + "3": 12, + "4": 12, + "5": 1, + "6": 1, + "7": 11, + "8": 11, + "9": 10, + "10": 10, + "11": 10, + "12": 1, + "13": 1, + "14": 0, + "15": 0, + "16": 9, + "17": 3, + "18": 3, + "19": 0, + "20": 9, + "21": 3, + "22": 2, + "23": 2, + "24": 2 + }, + "f": { "0": 11, "1": 6, "2": 12, "3": 9, "4": 3, "5": 3, "6": 2, "7": 2 }, + "b": { "0": [1, 11], "1": [10, 1] }, + "meta": { + "lastBranch": 2, + "lastFunction": 8, + "lastStatement": 25, + "seen": { + "s:8:39:11:Infinity": 0, + "f:13:6:13:31": 0, + "s:14:4:14:Infinity": 1, + "f:17:2:17:17": 1, + "s:18:4:18:Infinity": 2, + "f:24:2:24:17": 2, + "s:25:4:44:Infinity": 3, + "b:27:6:30:Infinity:undefined:undefined:undefined:undefined": 0, + "s:27:6:30:Infinity": 4, + "s:28:8:28:Infinity": 5, + "s:29:8:29:Infinity": 6, + "s:32:22:32:Infinity": 7, + "b:33:6:40:Infinity:37:13:40:Infinity": 1, + "s:33:6:40:Infinity": 8, + "s:34:8:34:Infinity": 9, + "s:35:8:35:Infinity": 10, + "s:36:8:36:Infinity": 11, + "s:38:8:38:Infinity": 12, + "s:39:8:39:Infinity": 13, + "s:42:6:42:Infinity": 14, + "s:43:6:43:Infinity": 15, + "f:50:2:50:31": 3, + "s:51:4:57:Infinity": 16, + "f:51:38:51:39": 4, + "s:52:6:56:Infinity": 17, + "s:53:8:53:Infinity": 18, + "s:55:8:55:Infinity": 19, + "s:58:4:58:Infinity": 20, + "f:64:2:64:32": 5, + "s:65:4:65:Infinity": 21, + "f:71:2:71:21": 6, + "s:72:4:72:Infinity": 22, + "f:78:2:78:18": 7, + "s:79:4:79:Infinity": 23, + "s:80:4:80:Infinity": 24 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts", + "statementMap": { + "0": { "start": { "line": 4, "column": 55 }, "end": { "line": 38, "column": null } }, + "1": { "start": { "line": 40, "column": 46 }, "end": { "line": 52, "column": null } }, + "2": { "start": { "line": 54, "column": 37 }, "end": { "line": 61, "column": null } } + }, + "fnMap": {}, + "branchMap": {}, + "s": { "0": 1, "1": 1, "2": 1 }, + "f": {}, + "b": {}, + "meta": { + "lastBranch": 0, + "lastFunction": 0, + "lastStatement": 3, + "seen": { "s:4:55:38:Infinity": 0, "s:40:46:52:Infinity": 1, "s:54:37:61:Infinity": 2 } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts", + "statementMap": { + "0": { "start": { "line": 8, "column": 19 }, "end": { "line": 8, "column": null } }, + "1": { "start": { "line": 10, "column": 2 }, "end": { "line": 39, "column": null } }, + "2": { "start": { "line": 12, "column": 21 }, "end": { "line": 12, "column": null } }, + "3": { "start": { "line": 15, "column": 26 }, "end": { "line": 15, "column": null } }, + "4": { "start": { "line": 18, "column": 4 }, "end": { "line": 22, "column": null } }, + "5": { "start": { "line": 19, "column": 6 }, "end": { "line": 19, "column": null } }, + "6": { "start": { "line": 25, "column": 4 }, "end": { "line": 25, "column": null } }, + "7": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": null } }, + "8": { "start": { "line": 28, "column": 4 }, "end": { "line": 28, "column": null } }, + "9": { "start": { "line": 31, "column": 4 }, "end": { "line": 35, "column": null } }, + "10": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": null } }, + "11": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": null } }, + "12": { "start": { "line": 38, "column": 4 }, "end": { "line": 38, "column": null } }, + "13": { "start": { "line": 46, "column": 2 }, "end": { "line": 67, "column": null } }, + "14": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": null } }, + "15": { "start": { "line": 51, "column": 26 }, "end": { "line": 51, "column": null } }, + "16": { "start": { "line": 54, "column": 28 }, "end": { "line": 54, "column": null } }, + "17": { "start": { "line": 55, "column": 21 }, "end": { "line": 55, "column": null } }, + "18": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": null } }, + "19": { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, + "20": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": null } }, + "21": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, + "22": { "start": { "line": 65, "column": 6 }, "end": { "line": 65, "column": null } }, + "23": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": null } }, + "24": { "start": { "line": 81, "column": 2 }, "end": { "line": 81, "column": null } } + }, + "fnMap": { + "0": { + "name": "saveToFile", + "decl": { "start": { "line": 7, "column": 22 }, "end": { "line": 7, "column": 33 } }, + "loc": { "start": { "line": 7, "column": 86 }, "end": { "line": 40, "column": null } }, + "line": 7 + }, + "1": { + "name": "loadFromFile", + "decl": { "start": { "line": 45, "column": 22 }, "end": { "line": 45, "column": 35 } }, + "loc": { "start": { "line": 45, "column": 76 }, "end": { "line": 68, "column": null } }, + "line": 45 + }, + "2": { + "name": "ensureDataDirectory", + "decl": { "start": { "line": 73, "column": 22 }, "end": { "line": 73, "column": 42 } }, + "loc": { "start": { "line": 73, "column": 75 }, "end": { "line": 75, "column": null } }, + "line": 73 + }, + "3": { + "name": "isEncryptionAvailable", + "decl": { "start": { "line": 80, "column": 16 }, "end": { "line": 80, "column": 49 } }, + "loc": { "start": { "line": 80, "column": 49 }, "end": { "line": 82, "column": null } }, + "line": 80 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, + { "start": { "line": 63, "column": 11 }, "end": { "line": 66, "column": null } } + ], + "line": 60 + } + }, + "s": { + "0": 2, + "1": 2, + "2": 2, + "3": 2, + "4": 2, + "5": 2, + "6": 2, + "7": 1, + "8": 1, + "9": 1, + "10": 1, + "11": 1, + "12": 1, + "13": 2, + "14": 2, + "15": 1, + "16": 1, + "17": 1, + "18": 1, + "19": 1, + "20": 1, + "21": 0, + "22": 0, + "23": 1, + "24": 1 + }, + "f": { "0": 2, "1": 2, "2": 1, "3": 1 }, + "b": { "0": [1, 0] }, + "meta": { + "lastBranch": 1, + "lastFunction": 4, + "lastStatement": 25, + "seen": { + "f:7:22:7:33": 0, + "s:8:19:8:Infinity": 0, + "s:10:2:39:Infinity": 1, + "s:12:21:12:Infinity": 2, + "s:15:26:15:Infinity": 3, + "s:18:4:22:Infinity": 4, + "s:19:6:19:Infinity": 5, + "s:25:4:25:Infinity": 6, + "s:26:4:26:Infinity": 7, + "s:28:4:28:Infinity": 8, + "s:31:4:35:Infinity": 9, + "s:32:6:32:Infinity": 10, + "s:37:4:37:Infinity": 11, + "s:38:4:38:Infinity": 12, + "f:45:22:45:35": 1, + "s:46:2:67:Infinity": 13, + "s:48:4:48:Infinity": 14, + "s:51:26:51:Infinity": 15, + "s:54:28:54:Infinity": 16, + "s:55:21:55:Infinity": 17, + "s:58:4:58:Infinity": 18, + "b:60:4:66:Infinity:63:11:66:Infinity": 0, + "s:60:4:66:Infinity": 19, + "s:62:6:62:Infinity": 20, + "s:64:6:64:Infinity": 21, + "s:65:6:65:Infinity": 22, + "f:73:22:73:42": 2, + "s:74:2:74:Infinity": 23, + "f:80:16:80:49": 3, + "s:81:2:81:Infinity": 24 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts", + "statementMap": { + "0": { "start": { "line": 9, "column": 32 }, "end": { "line": 9, "column": null } }, + "1": { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, + "2": { "start": { "line": 13, "column": 4 }, "end": { "line": 16, "column": null } }, + "3": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, + "4": { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, + "5": { "start": { "line": 21, "column": 4 }, "end": { "line": 24, "column": null } }, + "6": { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, + "7": { "start": { "line": 29, "column": 4 }, "end": { "line": 38, "column": null } }, + "8": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, + "9": { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, + "10": { "start": { "line": 43, "column": 4 }, "end": { "line": 53, "column": null } }, + "11": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, + "12": { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, + "13": { "start": { "line": 58, "column": 4 }, "end": { "line": 68, "column": null } }, + "14": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, + "15": { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, + "16": { "start": { "line": 73, "column": 4 }, "end": { "line": 73, "column": null } }, + "17": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": null } } + }, + "fnMap": { + "0": { + "name": "migrateData", + "decl": { "start": { "line": 7, "column": 16 }, "end": { "line": 7, "column": 28 } }, + "loc": { "start": { "line": 7, "column": 48 }, "end": { "line": 77, "column": null } }, + "line": 7 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 14, "column": 6 }, "end": { "line": 14, "column": 7 } }, + "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, + "line": 15 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 30, "column": 6 }, "end": { "line": 30, "column": 7 } }, + "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, + "line": 31 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 44, "column": 6 }, "end": { "line": 44, "column": 7 } }, + "loc": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, + "line": 45 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 59, "column": 6 }, "end": { "line": 59, "column": 7 } }, + "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, + "line": 60 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 12 + }, + "1": { + "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 47 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 20 } }, + { "start": { "line": 12, "column": 20 }, "end": { "line": 12, "column": 47 } } + ], + "line": 12 + }, + "2": { + "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 22 } }, + { "start": { "line": 15, "column": 22 }, "end": { "line": 15, "column": 60 } }, + { "start": { "line": 15, "column": 60 }, "end": { "line": 15, "column": null } } + ], + "line": 15 + }, + "3": { + "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 20 + }, + "4": { + "loc": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 58 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 23 } }, + { "start": { "line": 20, "column": 23 }, "end": { "line": 20, "column": 58 } } + ], + "line": 20 + }, + "5": { + "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 28 + }, + "6": { + "loc": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 55 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 24 } }, + { "start": { "line": 28, "column": 24 }, "end": { "line": 28, "column": 55 } } + ], + "line": 28 + }, + "7": { + "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, + { "start": { "line": 32, "column": 8 }, "end": { "line": 32, "column": null } }, + { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": null } }, + { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": null } }, + { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": null } }, + { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, + { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": null } } + ], + "line": 31 + }, + "8": { + "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 42 + }, + "9": { + "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 59 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 26 } }, + { "start": { "line": 42, "column": 26 }, "end": { "line": 42, "column": 59 } } + ], + "line": 42 + }, + "10": { + "loc": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 45, "column": 8 }, "end": { "line": 45, "column": null } }, + { "start": { "line": 46, "column": 8 }, "end": { "line": 46, "column": null } }, + { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, + { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": null } }, + { "start": { "line": 49, "column": 8 }, "end": { "line": 49, "column": null } }, + { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": null } }, + { "start": { "line": 51, "column": 8 }, "end": { "line": 51, "column": null } }, + { "start": { "line": 52, "column": 8 }, "end": { "line": 52, "column": null } } + ], + "line": 45 + }, + "11": { + "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 57 + }, + "12": { + "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 57 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 25 } }, + { "start": { "line": 57, "column": 25 }, "end": { "line": 57, "column": 57 } } + ], + "line": 57 + }, + "13": { + "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": null } }, + { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, + { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": null } }, + { "start": { "line": 63, "column": 8 }, "end": { "line": 63, "column": null } }, + { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, + { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": null } }, + { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, + { "start": { "line": 67, "column": 8 }, "end": { "line": 67, "column": null } } + ], + "line": 60 + }, + "14": { + "loc": { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 72 + }, + "15": { + "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 56 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 22 } }, + { "start": { "line": 72, "column": 22 }, "end": { "line": 72, "column": 56 } } + ], + "line": 72 + } + }, + "s": { + "0": 11, + "1": 11, + "2": 2, + "3": 5, + "4": 11, + "5": 1, + "6": 11, + "7": 2, + "8": 3, + "9": 11, + "10": 1, + "11": 1, + "12": 11, + "13": 1, + "14": 1, + "15": 11, + "16": 1, + "17": 11 + }, + "f": { "0": 11, "1": 5, "2": 3, "3": 1, "4": 1 }, + "b": { + "0": [2, 9], + "1": [11, 3], + "2": [5, 3, 2], + "3": [1, 10], + "4": [11, 1], + "5": [2, 9], + "6": [11, 2], + "7": [3, 3, 2, 2, 2, 2, 2], + "8": [1, 10], + "9": [11, 1], + "10": [1, 1, 1, 1, 1, 1, 1, 1], + "11": [1, 10], + "12": [11, 1], + "13": [1, 1, 1, 1, 1, 1, 1, 1], + "14": [1, 10], + "15": [11, 1] + }, + "meta": { + "lastBranch": 16, + "lastFunction": 5, + "lastStatement": 18, + "seen": { + "f:7:16:7:28": 0, + "s:9:32:9:Infinity": 0, + "b:12:2:17:Infinity:undefined:undefined:undefined:undefined": 0, + "s:12:2:17:Infinity": 1, + "b:12:6:12:20:12:20:12:47": 1, + "s:13:4:16:Infinity": 2, + "f:14:6:14:7": 1, + "s:15:8:15:Infinity": 3, + "b:15:8:15:22:15:22:15:60:15:60:15:Infinity": 2, + "b:20:2:25:Infinity:undefined:undefined:undefined:undefined": 3, + "s:20:2:25:Infinity": 4, + "b:20:6:20:23:20:23:20:58": 4, + "s:21:4:24:Infinity": 5, + "b:28:2:39:Infinity:undefined:undefined:undefined:undefined": 5, + "s:28:2:39:Infinity": 6, + "b:28:6:28:24:28:24:28:55": 6, + "s:29:4:38:Infinity": 7, + "f:30:6:30:7": 2, + "s:31:8:37:Infinity": 8, + "b:31:8:31:Infinity:32:8:32:Infinity:33:8:33:Infinity:34:8:34:Infinity:35:8:35:Infinity:36:8:36:Infinity:37:8:37:Infinity": 7, + "b:42:2:54:Infinity:undefined:undefined:undefined:undefined": 8, + "s:42:2:54:Infinity": 9, + "b:42:6:42:26:42:26:42:59": 9, + "s:43:4:53:Infinity": 10, + "f:44:6:44:7": 3, + "s:45:8:52:Infinity": 11, + "b:45:8:45:Infinity:46:8:46:Infinity:47:8:47:Infinity:48:8:48:Infinity:49:8:49:Infinity:50:8:50:Infinity:51:8:51:Infinity:52:8:52:Infinity": 10, + "b:57:2:69:Infinity:undefined:undefined:undefined:undefined": 11, + "s:57:2:69:Infinity": 12, + "b:57:6:57:25:57:25:57:57": 12, + "s:58:4:68:Infinity": 13, + "f:59:6:59:7": 4, + "s:60:8:67:Infinity": 14, + "b:60:8:60:Infinity:61:8:61:Infinity:62:8:62:Infinity:63:8:63:Infinity:64:8:64:Infinity:65:8:65:Infinity:66:8:66:Infinity:67:8:67:Infinity": 13, + "b:72:2:74:Infinity:undefined:undefined:undefined:undefined": 14, + "s:72:2:74:Infinity": 15, + "b:72:6:72:22:72:22:72:56": 15, + "s:73:4:73:Infinity": 16, + "s:76:2:76:Infinity": 17 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts", + "statementMap": { + "0": { "start": { "line": 7, "column": 2 }, "end": { "line": 7, "column": null } }, + "1": { "start": { "line": 14, "column": 2 }, "end": { "line": 22, "column": null } }, + "2": { "start": { "line": 32, "column": 2 }, "end": { "line": 36, "column": null } }, + "3": { "start": { "line": 43, "column": 2 }, "end": { "line": 43, "column": null } }, + "4": { "start": { "line": 43, "column": 41 }, "end": { "line": 43, "column": 58 } }, + "5": { "start": { "line": 50, "column": 2 }, "end": { "line": 53, "column": null } }, + "6": { "start": { "line": 50, "column": 49 }, "end": { "line": 53, "column": 4 } } + }, + "fnMap": { + "0": { + "name": "generateId", + "decl": { "start": { "line": 6, "column": 16 }, "end": { "line": 6, "column": 37 } }, + "loc": { "start": { "line": 6, "column": 37 }, "end": { "line": 8, "column": null } }, + "line": 6 + }, + "1": { + "name": "createSearchTermObject", + "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 39 } }, + "loc": { "start": { "line": 13, "column": 97 }, "end": { "line": 23, "column": null } }, + "line": 13 + }, + "2": { + "name": "updateSearchTermObject", + "decl": { "start": { "line": 28, "column": 16 }, "end": { "line": 28, "column": null } }, + "loc": { "start": { "line": 31, "column": 14 }, "end": { "line": 37, "column": null } }, + "line": 31 + }, + "3": { + "name": "sortSearchTermsByOrder", + "decl": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 39 } }, + "loc": { "start": { "line": 42, "column": 80 }, "end": { "line": 44, "column": null } }, + "line": 42 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 43, "column": 31 }, "end": { "line": 43, "column": 32 } }, + "loc": { "start": { "line": 43, "column": 41 }, "end": { "line": 43, "column": 58 } }, + "line": 43 + }, + "5": { + "name": "reorderSearchTermsArray", + "decl": { "start": { "line": 49, "column": 16 }, "end": { "line": 49, "column": 40 } }, + "loc": { "start": { "line": 49, "column": 81 }, "end": { "line": 54, "column": null } }, + "line": 49 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 50, "column": 25 }, "end": { "line": 50, "column": 26 } }, + "loc": { "start": { "line": 50, "column": 49 }, "end": { "line": 53, "column": 4 } }, + "line": 50 + } + }, + "branchMap": {}, + "s": { "0": 1, "1": 1, "2": 0, "3": 2, "4": 5, "5": 0, "6": 0 }, + "f": { "0": 1, "1": 1, "2": 0, "3": 2, "4": 5, "5": 0, "6": 0 }, + "b": {}, + "meta": { + "lastBranch": 0, + "lastFunction": 7, + "lastStatement": 7, + "seen": { + "f:6:16:6:37": 0, + "s:7:2:7:Infinity": 0, + "f:13:16:13:39": 1, + "s:14:2:22:Infinity": 1, + "f:28:16:28:Infinity": 2, + "s:32:2:36:Infinity": 2, + "f:42:16:42:39": 3, + "s:43:2:43:Infinity": 3, + "f:43:31:43:32": 4, + "s:43:41:43:58": 4, + "f:49:16:49:40": 5, + "s:50:2:53:Infinity": 5, + "f:50:25:50:26": 6, + "s:50:49:53:4": 6 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts", + "statementMap": { + "0": { "start": { "line": 7, "column": 2 }, "end": { "line": 7, "column": null } }, + "1": { "start": { "line": 14, "column": 2 }, "end": { "line": 21, "column": null } }, + "2": { "start": { "line": 28, "column": 2 }, "end": { "line": 32, "column": null } }, + "3": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": null } }, + "4": { "start": { "line": 39, "column": 39 }, "end": { "line": 39, "column": 56 } }, + "5": { "start": { "line": 46, "column": 2 }, "end": { "line": 49, "column": null } }, + "6": { "start": { "line": 46, "column": 45 }, "end": { "line": 49, "column": 4 } }, + "7": { "start": { "line": 59, "column": 31 }, "end": { "line": 59, "column": null } }, + "8": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, + "9": { "start": { "line": 61, "column": 21 }, "end": { "line": 61, "column": null } }, + "10": { "start": { "line": 64, "column": 2 }, "end": { "line": 71, "column": null } }, + "11": { "start": { "line": 65, "column": 18 }, "end": { "line": 65, "column": null } }, + "12": { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, + "13": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, + "14": { "start": { "line": 67, "column": 39 }, "end": { "line": 67, "column": null } }, + "15": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, + "16": { "start": { "line": 69, "column": 34 }, "end": { "line": 69, "column": null } }, + "17": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": null } }, + "18": { "start": { "line": 84, "column": 15 }, "end": { "line": 84, "column": null } }, + "19": { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, + "20": { "start": { "line": 88, "column": 4 }, "end": { "line": 91, "column": null } }, + "21": { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, + "22": { "start": { "line": 89, "column": 36 }, "end": { "line": 89, "column": null } }, + "23": { "start": { "line": 90, "column": 6 }, "end": { "line": 90, "column": null } }, + "24": { "start": { "line": 95, "column": 2 }, "end": { "line": 98, "column": null } }, + "25": { "start": { "line": 96, "column": 18 }, "end": { "line": 96, "column": null } }, + "26": { "start": { "line": 97, "column": 4 }, "end": { "line": 97, "column": null } }, + "27": { "start": { "line": 100, "column": 2 }, "end": { "line": 100, "column": null } } + }, + "fnMap": { + "0": { + "name": "generateTemplateId", + "decl": { "start": { "line": 6, "column": 16 }, "end": { "line": 6, "column": 45 } }, + "loc": { "start": { "line": 6, "column": 45 }, "end": { "line": 8, "column": null } }, + "line": 6 + }, + "1": { + "name": "createTemplateObject", + "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 37 } }, + "loc": { "start": { "line": 13, "column": 93 }, "end": { "line": 22, "column": null } }, + "line": 13 + }, + "2": { + "name": "updateTemplateObject", + "decl": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": 37 } }, + "loc": { "start": { "line": 27, "column": 95 }, "end": { "line": 33, "column": null } }, + "line": 27 + }, + "3": { + "name": "sortTemplatesByOrder", + "decl": { "start": { "line": 38, "column": 16 }, "end": { "line": 38, "column": 37 } }, + "loc": { "start": { "line": 38, "column": 72 }, "end": { "line": 40, "column": null } }, + "line": 38 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 39, "column": 29 }, "end": { "line": 39, "column": 30 } }, + "loc": { "start": { "line": 39, "column": 39 }, "end": { "line": 39, "column": 56 } }, + "line": 39 + }, + "5": { + "name": "reorderTemplatesArray", + "decl": { "start": { "line": 45, "column": 16 }, "end": { "line": 45, "column": 38 } }, + "loc": { "start": { "line": 45, "column": 73 }, "end": { "line": 50, "column": null } }, + "line": 45 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 46, "column": 23 }, "end": { "line": 46, "column": 24 } }, + "loc": { "start": { "line": 46, "column": 45 }, "end": { "line": 49, "column": 4 } }, + "line": 46 + }, + "7": { + "name": "extractTemplateTokens", + "decl": { "start": { "line": 55, "column": 16 }, "end": { "line": 55, "column": 38 } }, + "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 74, "column": null } }, + "line": 58 + }, + "8": { + "name": "generateTextFromTemplate", + "decl": { "start": { "line": 79, "column": 16 }, "end": { "line": 79, "column": null } }, + "loc": { "start": { "line": 83, "column": 10 }, "end": { "line": 101, "column": null } }, + "line": 83 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 88, "column": 42 }, "end": { "line": 88, "column": 43 } }, + "loc": { "start": { "line": 88, "column": 64 }, "end": { "line": 91, "column": 5 } }, + "line": 88 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 95, "column": 41 }, "end": { "line": 95, "column": 42 } }, + "loc": { "start": { "line": 95, "column": 63 }, "end": { "line": 98, "column": 3 } }, + "line": 95 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, + { "start": { "line": 68, "column": 11 }, "end": { "line": 70, "column": null } } + ], + "line": 66 + }, + "1": { + "loc": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 67 + }, + "2": { + "loc": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 69 + }, + "3": { + "loc": { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 87 + }, + "4": { + "loc": { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 89 + }, + "5": { + "loc": { "start": { "line": 90, "column": 13 }, "end": { "line": 90, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 90, "column": 37 }, "end": { "line": 90, "column": 59 } }, + { "start": { "line": 90, "column": 59 }, "end": { "line": 90, "column": null } } + ], + "line": 90 + }, + "6": { + "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 97, "column": 55 }, "end": { "line": 97, "column": 77 } }, + { "start": { "line": 97, "column": 77 }, "end": { "line": 97, "column": null } } + ], + "line": 97 + }, + "7": { + "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 55 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 25 } }, + { "start": { "line": 97, "column": 25 }, "end": { "line": 97, "column": 55 } } + ], + "line": 97 + } + }, + "s": { + "0": 1, + "1": 1, + "2": 0, + "3": 2, + "4": 5, + "5": 0, + "6": 0, + "7": 5, + "8": 5, + "9": 5, + "10": 5, + "11": 8, + "12": 8, + "13": 5, + "14": 4, + "15": 3, + "16": 3, + "17": 5, + "18": 6, + "19": 6, + "20": 2, + "21": 3, + "22": 1, + "23": 2, + "24": 6, + "25": 6, + "26": 6, + "27": 6 + }, + "f": { + "0": 1, + "1": 1, + "2": 0, + "3": 2, + "4": 5, + "5": 0, + "6": 0, + "7": 5, + "8": 6, + "9": 3, + "10": 6 + }, + "b": { + "0": [5, 3], + "1": [4, 1], + "2": [3, 0], + "3": [2, 4], + "4": [1, 2], + "5": [2, 0], + "6": [5, 1], + "7": [6, 6] + }, + "meta": { + "lastBranch": 8, + "lastFunction": 11, + "lastStatement": 28, + "seen": { + "f:6:16:6:45": 0, + "s:7:2:7:Infinity": 0, + "f:13:16:13:37": 1, + "s:14:2:21:Infinity": 1, + "f:27:16:27:37": 2, + "s:28:2:32:Infinity": 2, + "f:38:16:38:37": 3, + "s:39:2:39:Infinity": 3, + "f:39:29:39:30": 4, + "s:39:39:39:56": 4, + "f:45:16:45:38": 5, + "s:46:2:49:Infinity": 5, + "f:46:23:46:24": 6, + "s:46:45:49:4": 6, + "f:55:16:55:38": 7, + "s:59:31:59:Infinity": 7, + "s:60:26:60:Infinity": 8, + "s:61:21:61:Infinity": 9, + "s:64:2:71:Infinity": 10, + "s:65:18:65:Infinity": 11, + "b:66:4:70:Infinity:68:11:70:Infinity": 0, + "s:66:4:70:Infinity": 12, + "b:67:6:67:Infinity:undefined:undefined:undefined:undefined": 1, + "s:67:6:67:Infinity": 13, + "s:67:39:67:Infinity": 14, + "b:69:6:69:Infinity:undefined:undefined:undefined:undefined": 2, + "s:69:6:69:Infinity": 15, + "s:69:34:69:Infinity": 16, + "s:73:2:73:Infinity": 17, + "f:79:16:79:Infinity": 8, + "s:84:15:84:Infinity": 18, + "b:87:2:92:Infinity:undefined:undefined:undefined:undefined": 3, + "s:87:2:92:Infinity": 19, + "s:88:4:91:Infinity": 20, + "f:88:42:88:43": 9, + "b:89:6:89:Infinity:undefined:undefined:undefined:undefined": 4, + "s:89:6:89:Infinity": 21, + "s:89:36:89:Infinity": 22, + "s:90:6:90:Infinity": 23, + "b:90:37:90:59:90:59:90:Infinity": 5, + "s:95:2:98:Infinity": 24, + "f:95:41:95:42": 10, + "s:96:18:96:Infinity": 25, + "s:97:4:97:Infinity": 26, + "b:97:55:97:77:97:77:97:Infinity": 6, + "b:97:11:97:25:97:25:97:55": 7, + "s:100:2:100:Infinity": 27 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx", + "statementMap": { + "0": { "start": { "line": 10, "column": 28 }, "end": { "line": 21, "column": null } }, + "1": { "start": { "line": 11, "column": 18 }, "end": { "line": 11, "column": null } }, + "2": { "start": { "line": 13, "column": 2 }, "end": { "line": 19, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": 29 } }, + "loc": { "start": { "line": 10, "column": 61 }, "end": { "line": 21, "column": null } }, + "line": 10 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 34 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 23 } }, + { "start": { "line": 17, "column": 23 }, "end": { "line": 17, "column": 34 } } + ], + "line": 17 + } + }, + "s": { "0": 1, "1": 2, "2": 2 }, + "f": { "0": 2 }, + "b": { "0": [2, 1] }, + "meta": { + "lastBranch": 1, + "lastFunction": 1, + "lastStatement": 3, + "seen": { + "s:10:28:21:Infinity": 0, + "f:10:28:10:29": 0, + "s:11:18:11:Infinity": 1, + "s:13:2:19:Infinity": 2, + "b:17:9:17:23:17:23:17:34": 0 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx", + "statementMap": { + "0": { "start": { "line": 10, "column": 24 }, "end": { "line": 18, "column": null } }, + "1": { "start": { "line": 11, "column": 18 }, "end": { "line": 11, "column": null } }, + "2": { "start": { "line": 12, "column": 2 }, "end": { "line": 16, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 10, "column": 24 }, "end": { "line": 10, "column": 25 } }, + "loc": { "start": { "line": 10, "column": 53 }, "end": { "line": 18, "column": null } }, + "line": 10 + } + }, + "branchMap": {}, + "s": { "0": 1, "1": 1, "2": 1 }, + "f": { "0": 1 }, + "b": {}, + "meta": { + "lastBranch": 0, + "lastFunction": 1, + "lastStatement": 3, + "seen": { + "s:10:24:18:Infinity": 0, + "f:10:24:10:25": 0, + "s:11:18:11:Infinity": 1, + "s:12:2:16:Infinity": 2 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx", + "statementMap": { + "0": { "start": { "line": 11, "column": 25 }, "end": { "line": 98, "column": null } }, + "1": { "start": { "line": 12, "column": 18 }, "end": { "line": 12, "column": null } }, + "2": { "start": { "line": 13, "column": 8 }, "end": { "line": 13, "column": null } }, + "3": { "start": { "line": 15, "column": 32 }, "end": { "line": 54, "column": null } }, + "4": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": null } }, + "5": { "start": { "line": 17, "column": 4 }, "end": { "line": 53, "column": null } }, + "6": { "start": { "line": 18, "column": 19 }, "end": { "line": 18, "column": null } }, + "7": { "start": { "line": 19, "column": 29 }, "end": { "line": 19, "column": null } }, + "8": { "start": { "line": 20, "column": 28 }, "end": { "line": 20, "column": null } }, + "9": { "start": { "line": 21, "column": 28 }, "end": { "line": 21, "column": null } }, + "10": { "start": { "line": 22, "column": 27 }, "end": { "line": 22, "column": null } }, + "11": { "start": { "line": 25, "column": 17 }, "end": { "line": 25, "column": null } }, + "12": { "start": { "line": 26, "column": 16 }, "end": { "line": 26, "column": null } }, + "13": { "start": { "line": 29, "column": 6 }, "end": { "line": 32, "column": null } }, + "14": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, + "15": { "start": { "line": 35, "column": 6 }, "end": { "line": 37, "column": null } }, + "16": { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, + "17": { "start": { "line": 40, "column": 6 }, "end": { "line": 43, "column": null } }, + "18": { "start": { "line": 42, "column": 8 }, "end": { "line": 42, "column": null } }, + "19": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + "20": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, + "21": { "start": { "line": 50, "column": 6 }, "end": { "line": 50, "column": null } }, + "22": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": null } }, + "23": { "start": { "line": 52, "column": 6 }, "end": { "line": 52, "column": null } }, + "24": { "start": { "line": 56, "column": 2 }, "end": { "line": 96, "column": null } }, + "25": { "start": { "line": 65, "column": 25 }, "end": { "line": 65, "column": null } }, + "26": { "start": { "line": 66, "column": 10 }, "end": { "line": 66, "column": null } }, + "27": { "start": { "line": 67, "column": 27 }, "end": { "line": 67, "column": null } }, + "28": { "start": { "line": 68, "column": 10 }, "end": { "line": 68, "column": null } }, + "29": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": null } }, + "30": { "start": { "line": 70, "column": 10 }, "end": { "line": 70, "column": null } }, + "31": { "start": { "line": 71, "column": 10 }, "end": { "line": 71, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 11, "column": 25 }, "end": { "line": 11, "column": 26 } }, + "loc": { "start": { "line": 11, "column": 55 }, "end": { "line": 98, "column": null } }, + "line": 11 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 15, "column": 32 }, "end": { "line": 15, "column": 33 } }, + "loc": { "start": { "line": 15, "column": 75 }, "end": { "line": 54, "column": null } }, + "line": 15 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 63, "column": 17 }, "end": { "line": 63, "column": 18 } }, + "loc": { "start": { "line": 63, "column": 24 }, "end": { "line": 72, "column": null } }, + "line": 63 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 17, "column": 4 }, "end": { "line": 53, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 17, "column": 4 }, "end": { "line": 53, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 17 + }, + "1": { + "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 32, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 29, "column": 6 }, "end": { "line": 32, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 29 + }, + "2": { + "loc": { "start": { "line": 35, "column": 6 }, "end": { "line": 37, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 35, "column": 6 }, "end": { "line": 37, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 35 + }, + "3": { + "loc": { "start": { "line": 40, "column": 6 }, "end": { "line": 43, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 40, "column": 6 }, "end": { "line": 43, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 40 + }, + "4": { + "loc": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 46 + }, + "5": { + "loc": { "start": { "line": 69, "column": 33 }, "end": { "line": 69, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 69, "column": 43 }, "end": { "line": 69, "column": 55 } }, + { "start": { "line": 69, "column": 55 }, "end": { "line": 69, "column": null } } + ], + "line": 69 + }, + "6": { + "loc": { "start": { "line": 87, "column": 11 }, "end": { "line": 89, "column": 31 } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 88, "column": 14 }, "end": { "line": 88, "column": null } }, + { "start": { "line": 89, "column": 14 }, "end": { "line": 89, "column": 31 } } + ], + "line": 87 + } + }, + "s": { + "0": 1, + "1": 3, + "2": 3, + "3": 3, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 0, + "11": 0, + "12": 0, + "13": 0, + "14": 0, + "15": 0, + "16": 0, + "17": 0, + "18": 0, + "19": 0, + "20": 0, + "21": 0, + "22": 0, + "23": 0, + "24": 3, + "25": 0, + "26": 0, + "27": 0, + "28": 0, + "29": 0, + "30": 0, + "31": 0 + }, + "f": { "0": 3, "1": 0, "2": 0 }, + "b": { + "0": [0, 0], + "1": [0, 0], + "2": [0, 0], + "3": [0, 0], + "4": [0, 0], + "5": [0, 0], + "6": [3, 0] + }, + "meta": { + "lastBranch": 7, + "lastFunction": 3, + "lastStatement": 32, + "seen": { + "s:11:25:98:Infinity": 0, + "f:11:25:11:26": 0, + "s:12:18:12:Infinity": 1, + "s:13:8:13:Infinity": 2, + "s:15:32:54:Infinity": 3, + "f:15:32:15:33": 1, + "s:16:20:16:Infinity": 4, + "b:17:4:53:Infinity:undefined:undefined:undefined:undefined": 0, + "s:17:4:53:Infinity": 5, + "s:18:19:18:Infinity": 6, + "s:19:29:19:Infinity": 7, + "s:20:28:20:Infinity": 8, + "s:21:28:21:Infinity": 9, + "s:22:27:22:Infinity": 10, + "s:25:17:25:Infinity": 11, + "s:26:16:26:Infinity": 12, + "b:29:6:32:Infinity:undefined:undefined:undefined:undefined": 1, + "s:29:6:32:Infinity": 13, + "s:31:8:31:Infinity": 14, + "b:35:6:37:Infinity:undefined:undefined:undefined:undefined": 2, + "s:35:6:37:Infinity": 15, + "s:36:8:36:Infinity": 16, + "b:40:6:43:Infinity:undefined:undefined:undefined:undefined": 3, + "s:40:6:43:Infinity": 17, + "s:42:8:42:Infinity": 18, + "b:46:6:48:Infinity:undefined:undefined:undefined:undefined": 4, + "s:46:6:48:Infinity": 19, + "s:47:8:47:Infinity": 20, + "s:50:6:50:Infinity": 21, + "s:51:6:51:Infinity": 22, + "s:52:6:52:Infinity": 23, + "s:56:2:96:Infinity": 24, + "f:63:17:63:18": 2, + "s:65:25:65:Infinity": 25, + "s:66:10:66:Infinity": 26, + "s:67:27:67:Infinity": 27, + "s:68:10:68:Infinity": 28, + "s:69:10:69:Infinity": 29, + "b:69:43:69:55:69:55:69:Infinity": 5, + "s:70:10:70:Infinity": 30, + "s:71:10:71:Infinity": 31, + "b:88:14:88:Infinity:89:14:89:31": 6 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx", + "statementMap": { + "0": { "start": { "line": 17, "column": 24 }, "end": { "line": 222, "column": null } }, + "1": { "start": { "line": 18, "column": 18 }, "end": { "line": 18, "column": null } }, + "2": { "start": { "line": 19, "column": 33 }, "end": { "line": 19, "column": null } }, + "3": { "start": { "line": 22, "column": 32 }, "end": { "line": 22, "column": null } }, + "4": { "start": { "line": 23, "column": 32 }, "end": { "line": 23, "column": null } }, + "5": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": null } }, + "6": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": null } }, + "7": { "start": { "line": 28, "column": 2 }, "end": { "line": 41, "column": null } }, + "8": { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, + "9": { "start": { "line": 30, "column": 23 }, "end": { "line": 30, "column": null } }, + "10": { "start": { "line": 31, "column": 6 }, "end": { "line": 31, "column": null } }, + "11": { "start": { "line": 32, "column": 24 }, "end": { "line": 32, "column": null } }, + "12": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": null } }, + "13": { "start": { "line": 36, "column": 24 }, "end": { "line": 36, "column": null } }, + "14": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + "15": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": null } }, + "16": { "start": { "line": 44, "column": 8 }, "end": { "line": 57, "column": null } }, + "17": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + "18": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, + "19": { "start": { "line": 50, "column": 6 }, "end": { "line": 54, "column": null } }, + "20": { "start": { "line": 51, "column": 8 }, "end": { "line": 53, "column": null } }, + "21": { "start": { "line": 52, "column": 10 }, "end": { "line": 52, "column": null } }, + "22": { "start": { "line": 60, "column": 2 }, "end": { "line": 66, "column": null } }, + "23": { "start": { "line": 61, "column": 4 }, "end": { "line": 65, "column": null } }, + "24": { "start": { "line": 62, "column": 6 }, "end": { "line": 64, "column": null } }, + "25": { "start": { "line": 63, "column": 8 }, "end": { "line": 63, "column": null } }, + "26": { "start": { "line": 68, "column": 26 }, "end": { "line": 74, "column": null } }, + "27": { "start": { "line": 69, "column": 4 }, "end": { "line": 73, "column": null } }, + "28": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": null } }, + "29": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": null } }, + "30": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": null } }, + "31": { "start": { "line": 76, "column": 27 }, "end": { "line": 80, "column": null } }, + "32": { "start": { "line": 77, "column": 21 }, "end": { "line": 77, "column": null } }, + "33": { "start": { "line": 78, "column": 4 }, "end": { "line": 78, "column": null } }, + "34": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, + "35": { "start": { "line": 82, "column": 25 }, "end": { "line": 92, "column": null } }, + "36": { "start": { "line": 83, "column": 4 }, "end": { "line": 83, "column": null } }, + "37": { "start": { "line": 84, "column": 4 }, "end": { "line": 84, "column": null } }, + "38": { "start": { "line": 86, "column": 4 }, "end": { "line": 91, "column": null } }, + "39": { "start": { "line": 87, "column": 6 }, "end": { "line": 87, "column": null } }, + "40": { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, + "41": { "start": { "line": 89, "column": 8 }, "end": { "line": 89, "column": null } }, + "42": { "start": { "line": 94, "column": 28 }, "end": { "line": 106, "column": null } }, + "43": { "start": { "line": 95, "column": 4 }, "end": { "line": 105, "column": null } }, + "44": { "start": { "line": 96, "column": 6 }, "end": { "line": 96, "column": null } }, + "45": { "start": { "line": 97, "column": 6 }, "end": { "line": 97, "column": null } }, + "46": { "start": { "line": 98, "column": 4 }, "end": { "line": 105, "column": null } }, + "47": { "start": { "line": 99, "column": 6 }, "end": { "line": 99, "column": null } }, + "48": { "start": { "line": 100, "column": 6 }, "end": { "line": 100, "column": null } }, + "49": { "start": { "line": 101, "column": 6 }, "end": { "line": 101, "column": null } }, + "50": { "start": { "line": 102, "column": 6 }, "end": { "line": 104, "column": null } }, + "51": { "start": { "line": 103, "column": 8 }, "end": { "line": 103, "column": null } }, + "52": { "start": { "line": 108, "column": 2 }, "end": { "line": 221, "column": null } }, + "53": { "start": { "line": 110, "column": 28 }, "end": { "line": 110, "column": null } }, + "54": { "start": { "line": 112, "column": 4 }, "end": { "line": 199, "column": null } }, + "55": { "start": { "line": 113, "column": 12 }, "end": { "line": 113, "column": null } }, + "56": { "start": { "line": 114, "column": 26 }, "end": { "line": 114, "column": null } }, + "57": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": null } }, + "58": { "start": { "line": 116, "column": 30 }, "end": { "line": 116, "column": null } }, + "59": { "start": { "line": 118, "column": 6 }, "end": { "line": 176, "column": null } }, + "60": { "start": { "line": 148, "column": 16 }, "end": { "line": 150, "column": null } }, + "61": { "start": { "line": 180, "column": 6 }, "end": { "line": 197, "column": null } }, + "62": { "start": { "line": 204, "column": 6 }, "end": { "line": 206, "column": null } }, + "63": { "start": { "line": 208, "column": 4 }, "end": { "line": 219, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 17, "column": 24 }, "end": { "line": 17, "column": 25 } }, + "loc": { "start": { "line": 17, "column": 80 }, "end": { "line": 222, "column": null } }, + "line": 17 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 28, "column": 12 }, "end": { "line": 28, "column": 18 } }, + "loc": { "start": { "line": 28, "column": 18 }, "end": { "line": 41, "column": 5 } }, + "line": 28 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 5 } }, + "loc": { "start": { "line": 45, "column": 28 }, "end": { "line": 55, "column": null } }, + "line": 45 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 50, "column": 39 }, "end": { "line": 50, "column": 45 } }, + "loc": { "start": { "line": 50, "column": 45 }, "end": { "line": 54, "column": 9 } }, + "line": 50 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 60, "column": 12 }, "end": { "line": 60, "column": 18 } }, + "loc": { "start": { "line": 60, "column": 18 }, "end": { "line": 66, "column": 5 } }, + "line": 60 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 61, "column": 11 }, "end": { "line": 61, "column": 17 } }, + "loc": { "start": { "line": 61, "column": 17 }, "end": { "line": 65, "column": null } }, + "line": 61 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 68, "column": 26 }, "end": { "line": 68, "column": 32 } }, + "loc": { "start": { "line": 68, "column": 32 }, "end": { "line": 74, "column": null } }, + "line": 68 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 76, "column": 27 }, "end": { "line": 76, "column": 28 } }, + "loc": { "start": { "line": 76, "column": 74 }, "end": { "line": 80, "column": null } }, + "line": 76 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 82, "column": 25 }, "end": { "line": 82, "column": 31 } }, + "loc": { "start": { "line": 82, "column": 31 }, "end": { "line": 92, "column": null } }, + "line": 82 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 94, "column": 28 }, "end": { "line": 94, "column": 29 } }, + "loc": { "start": { "line": 94, "column": 77 }, "end": { "line": 106, "column": null } }, + "line": 94 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 147, "column": 22 }, "end": { "line": 147, "column": 23 } }, + "loc": { "start": { "line": 148, "column": 16 }, "end": { "line": 150, "column": null } }, + "line": 148 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 29 + }, + "1": { + "loc": { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": 42 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": 21 } }, + { "start": { "line": 29, "column": 21 }, "end": { "line": 29, "column": 42 } } + ], + "line": 29 + }, + "2": { + "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 37 + }, + "3": { + "loc": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 46 + }, + "4": { + "loc": { "start": { "line": 51, "column": 8 }, "end": { "line": 53, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 51, "column": 8 }, "end": { "line": 53, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 51 + }, + "5": { + "loc": { "start": { "line": 62, "column": 6 }, "end": { "line": 64, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 62, "column": 6 }, "end": { "line": 64, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 62 + }, + "6": { + "loc": { "start": { "line": 69, "column": 4 }, "end": { "line": 73, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 69, "column": 4 }, "end": { "line": 73, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 69 + }, + "7": { + "loc": { "start": { "line": 86, "column": 4 }, "end": { "line": 91, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 86, "column": 4 }, "end": { "line": 91, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 86 + }, + "8": { + "loc": { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 88 + }, + "9": { + "loc": { "start": { "line": 95, "column": 4 }, "end": { "line": 105, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 95, "column": 4 }, "end": { "line": 105, "column": null } }, + { "start": { "line": 98, "column": 4 }, "end": { "line": 105, "column": null } } + ], + "line": 95 + }, + "10": { + "loc": { "start": { "line": 95, "column": 8 }, "end": { "line": 95, "column": 42 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 95, "column": 8 }, "end": { "line": 95, "column": 29 } }, + { "start": { "line": 95, "column": 29 }, "end": { "line": 95, "column": 42 } } + ], + "line": 95 + }, + "11": { + "loc": { "start": { "line": 98, "column": 4 }, "end": { "line": 105, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 98, "column": 4 }, "end": { "line": 105, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 98 + }, + "12": { + "loc": { "start": { "line": 102, "column": 6 }, "end": { "line": 104, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 102, "column": 6 }, "end": { "line": 104, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 102 + }, + "13": { + "loc": { "start": { "line": 108, "column": 2 }, "end": { "line": 221, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 108, "column": 2 }, "end": { "line": 221, "column": null } }, + { "start": { "line": 200, "column": 9 }, "end": { "line": 221, "column": null } } + ], + "line": 108 + }, + "14": { + "loc": { "start": { "line": 110, "column": 28 }, "end": { "line": 110, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 110, "column": 28 }, "end": { "line": 110, "column": 54 } }, + { "start": { "line": 110, "column": 54 }, "end": { "line": 110, "column": 69 } }, + { "start": { "line": 110, "column": 69 }, "end": { "line": 110, "column": null } } + ], + "line": 110 + }, + "15": { + "loc": { "start": { "line": 112, "column": 4 }, "end": { "line": 199, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 112, "column": 4 }, "end": { "line": 199, "column": null } }, + { "start": { "line": 178, "column": 11 }, "end": { "line": 199, "column": null } } + ], + "line": 112 + }, + "16": { + "loc": { "start": { "line": 114, "column": 26 }, "end": { "line": 114, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 114, "column": 36 }, "end": { "line": 114, "column": 52 } }, + { "start": { "line": 114, "column": 52 }, "end": { "line": 114, "column": null } } + ], + "line": 114 + }, + "17": { + "loc": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 115, "column": 36 }, "end": { "line": 115, "column": 48 } }, + { "start": { "line": 115, "column": 48 }, "end": { "line": 115, "column": null } } + ], + "line": 115 + }, + "18": { + "loc": { "start": { "line": 116, "column": 30 }, "end": { "line": 116, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 116, "column": 40 }, "end": { "line": 116, "column": 52 } }, + { "start": { "line": 116, "column": 52 }, "end": { "line": 116, "column": null } } + ], + "line": 116 + }, + "19": { + "loc": { "start": { "line": 171, "column": 28 }, "end": { "line": 171, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 171, "column": 38 }, "end": { "line": 171, "column": 47 } }, + { "start": { "line": 171, "column": 47 }, "end": { "line": 171, "column": null } } + ], + "line": 171 + }, + "20": { + "loc": { "start": { "line": 204, "column": 6 }, "end": { "line": 206, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 205, "column": 10 }, "end": { "line": 205, "column": null } }, + { "start": { "line": 206, "column": 10 }, "end": { "line": 206, "column": null } } + ], + "line": 204 + }, + "21": { + "loc": { "start": { "line": 216, "column": 15 }, "end": { "line": 216, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 216, "column": 44 }, "end": { "line": 216, "column": 59 } }, + { "start": { "line": 216, "column": 59 }, "end": { "line": 216, "column": null } } + ], + "line": 216 + } + }, + "s": { + "0": 1, + "1": 3, + "2": 3, + "3": 3, + "4": 3, + "5": 3, + "6": 3, + "7": 3, + "8": 3, + "9": 0, + "10": 0, + "11": 0, + "12": 0, + "13": 0, + "14": 0, + "15": 0, + "16": 3, + "17": 0, + "18": 0, + "19": 0, + "20": 0, + "21": 0, + "22": 3, + "23": 3, + "24": 0, + "25": 0, + "26": 3, + "27": 0, + "28": 0, + "29": 0, + "30": 0, + "31": 3, + "32": 0, + "33": 0, + "34": 0, + "35": 3, + "36": 0, + "37": 0, + "38": 0, + "39": 0, + "40": 0, + "41": 0, + "42": 3, + "43": 0, + "44": 0, + "45": 0, + "46": 0, + "47": 0, + "48": 0, + "49": 0, + "50": 0, + "51": 0, + "52": 3, + "53": 0, + "54": 0, + "55": 0, + "56": 0, + "57": 0, + "58": 0, + "59": 0, + "60": 0, + "61": 0, + "62": 3, + "63": 3 + }, + "f": { + "0": 3, + "1": 3, + "2": 0, + "3": 0, + "4": 3, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 0 + }, + "b": { + "0": [0, 3], + "1": [3, 0], + "2": [0, 0], + "3": [0, 0], + "4": [0, 0], + "5": [0, 0], + "6": [0, 0], + "7": [0, 0], + "8": [0, 0], + "9": [0, 0], + "10": [0, 0], + "11": [0, 0], + "12": [0, 0], + "13": [0, 3], + "14": [0, 0, 0], + "15": [0, 0], + "16": [0, 0], + "17": [0, 0], + "18": [0, 0], + "19": [0, 0], + "20": [1, 2], + "21": [1, 2] + }, + "meta": { + "lastBranch": 22, + "lastFunction": 11, + "lastStatement": 64, + "seen": { + "s:17:24:222:Infinity": 0, + "f:17:24:17:25": 0, + "s:18:18:18:Infinity": 1, + "s:19:33:19:Infinity": 2, + "s:22:32:22:Infinity": 3, + "s:23:32:23:Infinity": 4, + "s:24:8:24:Infinity": 5, + "s:25:8:25:Infinity": 6, + "s:28:2:41:Infinity": 7, + "f:28:12:28:18": 1, + "b:29:4:40:Infinity:undefined:undefined:undefined:undefined": 0, + "s:29:4:40:Infinity": 8, + "b:29:8:29:21:29:21:29:42": 1, + "s:30:23:30:Infinity": 9, + "s:31:6:31:Infinity": 10, + "s:32:24:32:Infinity": 11, + "s:33:6:33:Infinity": 12, + "s:36:24:36:Infinity": 13, + "b:37:6:39:Infinity:undefined:undefined:undefined:undefined": 2, + "s:37:6:39:Infinity": 14, + "s:38:9:38:Infinity": 15, + "s:44:8:57:Infinity": 16, + "f:45:4:45:5": 2, + "b:46:6:48:Infinity:undefined:undefined:undefined:undefined": 3, + "s:46:6:48:Infinity": 17, + "s:47:8:47:Infinity": 18, + "s:50:6:54:Infinity": 19, + "f:50:39:50:45": 3, + "b:51:8:53:Infinity:undefined:undefined:undefined:undefined": 4, + "s:51:8:53:Infinity": 20, + "s:52:10:52:Infinity": 21, + "s:60:2:66:Infinity": 22, + "f:60:12:60:18": 4, + "s:61:4:65:Infinity": 23, + "f:61:11:61:17": 5, + "b:62:6:64:Infinity:undefined:undefined:undefined:undefined": 5, + "s:62:6:64:Infinity": 24, + "s:63:8:63:Infinity": 25, + "s:68:26:74:Infinity": 26, + "f:68:26:68:32": 6, + "b:69:4:73:Infinity:undefined:undefined:undefined:undefined": 6, + "s:69:4:73:Infinity": 27, + "s:70:6:70:Infinity": 28, + "s:71:6:71:Infinity": 29, + "s:72:6:72:Infinity": 30, + "s:76:27:80:Infinity": 31, + "f:76:27:76:28": 7, + "s:77:21:77:Infinity": 32, + "s:78:4:78:Infinity": 33, + "s:79:4:79:Infinity": 34, + "s:82:25:92:Infinity": 35, + "f:82:25:82:31": 8, + "s:83:4:83:Infinity": 36, + "s:84:4:84:Infinity": 37, + "b:86:4:91:Infinity:undefined:undefined:undefined:undefined": 7, + "s:86:4:91:Infinity": 38, + "s:87:6:87:Infinity": 39, + "b:88:6:90:Infinity:undefined:undefined:undefined:undefined": 8, + "s:88:6:90:Infinity": 40, + "s:89:8:89:Infinity": 41, + "s:94:28:106:Infinity": 42, + "f:94:28:94:29": 9, + "b:95:4:105:Infinity:98:4:105:Infinity": 9, + "s:95:4:105:Infinity": 43, + "b:95:8:95:29:95:29:95:42": 10, + "s:96:6:96:Infinity": 44, + "s:97:6:97:Infinity": 45, + "b:98:4:105:Infinity:undefined:undefined:undefined:undefined": 11, + "s:98:4:105:Infinity": 46, + "s:99:6:99:Infinity": 47, + "s:100:6:100:Infinity": 48, + "s:101:6:101:Infinity": 49, + "b:102:6:104:Infinity:undefined:undefined:undefined:undefined": 12, + "s:102:6:104:Infinity": 50, + "s:103:8:103:Infinity": 51, + "b:108:2:221:Infinity:200:9:221:Infinity": 13, + "s:108:2:221:Infinity": 52, + "s:110:28:110:Infinity": 53, + "b:110:28:110:54:110:54:110:69:110:69:110:Infinity": 14, + "b:112:4:199:Infinity:178:11:199:Infinity": 15, + "s:112:4:199:Infinity": 54, + "s:113:12:113:Infinity": 55, + "s:114:26:114:Infinity": 56, + "b:114:36:114:52:114:52:114:Infinity": 16, + "s:115:26:115:Infinity": 57, + "b:115:36:115:48:115:48:115:Infinity": 17, + "s:116:30:116:Infinity": 58, + "b:116:40:116:52:116:52:116:Infinity": 18, + "s:118:6:176:Infinity": 59, + "f:147:22:147:23": 10, + "s:148:16:150:Infinity": 60, + "b:171:38:171:47:171:47:171:Infinity": 19, + "s:180:6:197:Infinity": 61, + "s:204:6:206:Infinity": 62, + "b:205:10:205:Infinity:206:10:206:Infinity": 20, + "s:208:4:219:Infinity": 63, + "b:216:44:216:59:216:59:216:Infinity": 21 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts", + "statementMap": { + "0": { "start": { "line": 8, "column": 36 }, "end": { "line": 8, "column": null } }, + "1": { "start": { "line": 9, "column": 30 }, "end": { "line": 9, "column": null } }, + "2": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": null } }, + "3": { "start": { "line": 12, "column": 2 }, "end": { "line": 50, "column": null } }, + "4": { "start": { "line": 13, "column": 22 }, "end": { "line": 13, "column": null } }, + "5": { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, + "6": { "start": { "line": 16, "column": 6 }, "end": { "line": 16, "column": null } }, + "7": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": null } }, + "8": { "start": { "line": 18, "column": 6 }, "end": { "line": 18, "column": null } }, + "9": { "start": { "line": 21, "column": 27 }, "end": { "line": 41, "column": null } }, + "10": { "start": { "line": 22, "column": 6 }, "end": { "line": 22, "column": null } }, + "11": { "start": { "line": 23, "column": 6 }, "end": { "line": 40, "column": null } }, + "12": { "start": { "line": 24, "column": 24 }, "end": { "line": 24, "column": null } }, + "13": { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, + "14": { "start": { "line": 27, "column": 10 }, "end": { "line": 27, "column": null } }, + "15": { "start": { "line": 28, "column": 10 }, "end": { "line": 28, "column": null } }, + "16": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, + "17": { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, + "18": { "start": { "line": 33, "column": 10 }, "end": { "line": 33, "column": null } }, + "19": { "start": { "line": 34, "column": 10 }, "end": { "line": 34, "column": null } }, + "20": { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, + "21": { "start": { "line": 38, "column": 10 }, "end": { "line": 38, "column": null } }, + "22": { "start": { "line": 44, "column": 22 }, "end": { "line": 44, "column": null } }, + "23": { "start": { "line": 46, "column": 4 }, "end": { "line": 49, "column": null } }, + "24": { "start": { "line": 47, "column": 6 }, "end": { "line": 47, "column": null } }, + "25": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, + "26": { "start": { "line": 52, "column": 2 }, "end": { "line": 56, "column": null } } + }, + "fnMap": { + "0": { + "name": "usePatternDetection", + "decl": { "start": { "line": 7, "column": 16 }, "end": { "line": 7, "column": 36 } }, + "loc": { "start": { "line": 7, "column": 53 }, "end": { "line": 57, "column": null } }, + "line": 7 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 12, "column": 12 }, "end": { "line": 12, "column": 18 } }, + "loc": { "start": { "line": 12, "column": 18 }, "end": { "line": 50, "column": 5 } }, + "line": 12 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 21, "column": 27 }, "end": { "line": 21, "column": 39 } }, + "loc": { "start": { "line": 21, "column": 39 }, "end": { "line": 41, "column": null } }, + "line": 21 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 46, "column": 11 }, "end": { "line": 46, "column": 17 } }, + "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 49, "column": null } }, + "line": 46 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 15 + }, + "1": { + "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 49 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 20 } }, + { "start": { "line": 15, "column": 20 }, "end": { "line": 15, "column": 49 } } + ], + "line": 15 + }, + "2": { + "loc": { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 26 + }, + "3": { + "loc": { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 32 + }, + "4": { + "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 37 + } + }, + "s": { + "0": 7, + "1": 7, + "2": 7, + "3": 7, + "4": 4, + "5": 4, + "6": 2, + "7": 2, + "8": 2, + "9": 2, + "10": 1, + "11": 1, + "12": 1, + "13": 1, + "14": 1, + "15": 1, + "16": 0, + "17": 0, + "18": 0, + "19": 0, + "20": 1, + "21": 1, + "22": 2, + "23": 2, + "24": 0, + "25": 0, + "26": 7 + }, + "f": { "0": 7, "1": 4, "2": 1, "3": 0 }, + "b": { "0": [2, 2], "1": [4, 3], "2": [1, 0], "3": [0, 0], "4": [1, 0] }, + "meta": { + "lastBranch": 5, + "lastFunction": 4, + "lastStatement": 27, + "seen": { + "f:7:16:7:36": 0, + "s:8:36:8:Infinity": 0, + "s:9:30:9:Infinity": 1, + "s:10:28:10:Infinity": 2, + "s:12:2:50:Infinity": 3, + "f:12:12:12:18": 1, + "s:13:22:13:Infinity": 4, + "b:15:4:19:Infinity:undefined:undefined:undefined:undefined": 0, + "s:15:4:19:Infinity": 5, + "b:15:8:15:20:15:20:15:49": 1, + "s:16:6:16:Infinity": 6, + "s:17:6:17:Infinity": 7, + "s:18:6:18:Infinity": 8, + "s:21:27:41:Infinity": 9, + "f:21:27:21:39": 2, + "s:22:6:22:Infinity": 10, + "s:23:6:40:Infinity": 11, + "s:24:24:24:Infinity": 12, + "b:26:8:29:Infinity:undefined:undefined:undefined:undefined": 2, + "s:26:8:29:Infinity": 13, + "s:27:10:27:Infinity": 14, + "s:28:10:28:Infinity": 15, + "s:31:8:31:Infinity": 16, + "b:32:8:35:Infinity:undefined:undefined:undefined:undefined": 3, + "s:32:8:35:Infinity": 17, + "s:33:10:33:Infinity": 18, + "s:34:10:34:Infinity": 19, + "b:37:8:39:Infinity:undefined:undefined:undefined:undefined": 4, + "s:37:8:39:Infinity": 20, + "s:38:10:38:Infinity": 21, + "s:44:22:44:Infinity": 22, + "s:46:4:49:Infinity": 23, + "f:46:11:46:17": 3, + "s:47:6:47:Infinity": 24, + "s:48:6:48:Infinity": 25, + "s:52:2:56:Infinity": 26 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx", + "statementMap": { + "0": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": null } }, + "1": { "start": { "line": 27, "column": 59 }, "end": { "line": 129, "column": null } }, + "2": { "start": { "line": 28, "column": 29 }, "end": { "line": 28, "column": null } }, + "3": { "start": { "line": 29, "column": 42 }, "end": { "line": 29, "column": null } }, + "4": { "start": { "line": 32, "column": 8 }, "end": { "line": 51, "column": null } }, + "5": { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, + "6": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": null } }, + "7": { "start": { "line": 38, "column": 6 }, "end": { "line": 38, "column": null } }, + "8": { "start": { "line": 41, "column": 4 }, "end": { "line": 41, "column": null } }, + "9": { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, + "10": { "start": { "line": 45, "column": 6 }, "end": { "line": 45, "column": null } }, + "11": { "start": { "line": 46, "column": 6 }, "end": { "line": 46, "column": null } }, + "12": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, + "13": { "start": { "line": 49, "column": 6 }, "end": { "line": 49, "column": null } }, + "14": { "start": { "line": 54, "column": 2 }, "end": { "line": 71, "column": null } }, + "15": { "start": { "line": 55, "column": 22 }, "end": { "line": 68, "column": null } }, + "16": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, + "17": { "start": { "line": 56, "column": 23 }, "end": { "line": 56, "column": null } }, + "18": { "start": { "line": 58, "column": 6 }, "end": { "line": 67, "column": null } }, + "19": { "start": { "line": 59, "column": 39 }, "end": { "line": 59, "column": null } }, + "20": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, + "21": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, + "22": { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": null } }, + "23": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, + "24": { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, + "25": { "start": { "line": 70, "column": 4 }, "end": { "line": 70, "column": null } }, + "26": { "start": { "line": 74, "column": 2 }, "end": { "line": 89, "column": null } }, + "27": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, + "28": { "start": { "line": 75, "column": 40 }, "end": { "line": 75, "column": null } }, + "29": { "start": { "line": 77, "column": 33 }, "end": { "line": 82, "column": null } }, + "30": { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, + "31": { "start": { "line": 79, "column": 8 }, "end": { "line": 79, "column": null } }, + "32": { "start": { "line": 80, "column": 8 }, "end": { "line": 80, "column": null } }, + "33": { "start": { "line": 85, "column": 20 }, "end": { "line": 85, "column": null } }, + "34": { "start": { "line": 88, "column": 4 }, "end": { "line": 88, "column": null } }, + "35": { "start": { "line": 92, "column": 2 }, "end": { "line": 100, "column": null } }, + "36": { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, + "37": { "start": { "line": 93, "column": 28 }, "end": { "line": 93, "column": null } }, + "38": { "start": { "line": 95, "column": 23 }, "end": { "line": 95, "column": null } }, + "39": { "start": { "line": 96, "column": 25 }, "end": { "line": 96, "column": null } }, + "40": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": null } }, + "41": { "start": { "line": 98, "column": 4 }, "end": { "line": 98, "column": null } }, + "42": { "start": { "line": 99, "column": 4 }, "end": { "line": 99, "column": null } }, + "43": { "start": { "line": 99, "column": 17 }, "end": { "line": 99, "column": null } }, + "44": { "start": { "line": 102, "column": 19 }, "end": { "line": 118, "column": null } }, + "45": { "start": { "line": 103, "column": 4 }, "end": { "line": 103, "column": null } }, + "46": { "start": { "line": 104, "column": 4 }, "end": { "line": 104, "column": null } }, + "47": { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, + "48": { "start": { "line": 108, "column": 6 }, "end": { "line": 116, "column": null } }, + "49": { "start": { "line": 109, "column": 46 }, "end": { "line": 109, "column": null } }, + "50": { "start": { "line": 110, "column": 8 }, "end": { "line": 113, "column": null } }, + "51": { "start": { "line": 115, "column": 8 }, "end": { "line": 115, "column": null } }, + "52": { "start": { "line": 120, "column": 41 }, "end": { "line": 126, "column": null } }, + "53": { "start": { "line": 128, "column": 2 }, "end": { "line": 128, "column": null } }, + "54": { "start": { "line": 131, "column": 24 }, "end": { "line": 137, "column": null } }, + "55": { "start": { "line": 132, "column": 8 }, "end": { "line": 132, "column": null } }, + "56": { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, + "57": { "start": { "line": 134, "column": 4 }, "end": { "line": 134, "column": null } }, + "58": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 27, "column": 59 }, "end": { "line": 27, "column": 60 } }, + "loc": { "start": { "line": 27, "column": 77 }, "end": { "line": 129, "column": null } }, + "line": 27 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 32, "column": 43 }, "end": { "line": 32, "column": 44 } }, + "loc": { "start": { "line": 32, "column": 71 }, "end": { "line": 51, "column": 5 } }, + "line": 32 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 54, "column": 12 }, "end": { "line": 54, "column": 18 } }, + "loc": { "start": { "line": 54, "column": 18 }, "end": { "line": 71, "column": 5 } }, + "line": 54 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 55, "column": 22 }, "end": { "line": 55, "column": 34 } }, + "loc": { "start": { "line": 55, "column": 34 }, "end": { "line": 68, "column": null } }, + "line": 55 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 74, "column": 12 }, "end": { "line": 74, "column": 18 } }, + "loc": { "start": { "line": 74, "column": 18 }, "end": { "line": 89, "column": 5 } }, + "line": 74 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 77, "column": 33 }, "end": { "line": 77, "column": 34 } }, + "loc": { "start": { "line": 77, "column": 68 }, "end": { "line": 82, "column": null } }, + "line": 77 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 18 } }, + "loc": { "start": { "line": 92, "column": 18 }, "end": { "line": 100, "column": 5 } }, + "line": 92 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 96, "column": 25 }, "end": { "line": 96, "column": 31 } }, + "loc": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": null } }, + "line": 96 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 99, "column": 11 }, "end": { "line": 99, "column": 17 } }, + "loc": { "start": { "line": 99, "column": 17 }, "end": { "line": 99, "column": null } }, + "line": 99 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 102, "column": 19 }, "end": { "line": 102, "column": 26 } }, + "loc": { "start": { "line": 102, "column": 46 }, "end": { "line": 118, "column": null } }, + "line": 102 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 131, "column": 24 }, "end": { "line": 131, "column": 48 } }, + "loc": { "start": { "line": 131, "column": 48 }, "end": { "line": 137, "column": null } }, + "line": 131 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, + { "start": { "line": 37, "column": 11 }, "end": { "line": 39, "column": null } } + ], + "line": 35 + }, + "1": { + "loc": { "start": { "line": 36, "column": 22 }, "end": { "line": 36, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 36, "column": 82 }, "end": { "line": 36, "column": 91 } }, + { "start": { "line": 36, "column": 91 }, "end": { "line": 36, "column": null } } + ], + "line": 36 + }, + "2": { + "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, + { "start": { "line": 47, "column": 11 }, "end": { "line": 50, "column": null } } + ], + "line": 44 + }, + "3": { + "loc": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 56 + }, + "4": { + "loc": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": 45 } }, + { "start": { "line": 60, "column": 45 }, "end": { "line": 60, "column": null } } + ], + "line": 60 + }, + "5": { + "loc": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 75 + }, + "6": { + "loc": { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 78 + }, + "7": { + "loc": { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 93 + }, + "8": { + "loc": { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 107 + }, + "9": { + "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 133 + } + }, + "s": { + "0": 1, + "1": 1, + "2": 5, + "3": 5, + "4": 5, + "5": 4, + "6": 3, + "7": 1, + "8": 4, + "9": 4, + "10": 4, + "11": 4, + "12": 0, + "13": 0, + "14": 5, + "15": 3, + "16": 3, + "17": 0, + "18": 3, + "19": 3, + "20": 3, + "21": 3, + "22": 3, + "23": 0, + "24": 0, + "25": 3, + "26": 5, + "27": 3, + "28": 0, + "29": 3, + "30": 0, + "31": 0, + "32": 0, + "33": 3, + "34": 3, + "35": 5, + "36": 5, + "37": 1, + "38": 4, + "39": 4, + "40": 0, + "41": 4, + "42": 4, + "43": 4, + "44": 5, + "45": 1, + "46": 1, + "47": 1, + "48": 1, + "49": 1, + "50": 1, + "51": 0, + "52": 5, + "53": 5, + "54": 1, + "55": 8, + "56": 8, + "57": 2, + "58": 5 + }, + "f": { + "0": 5, + "1": 4, + "2": 3, + "3": 3, + "4": 3, + "5": 0, + "6": 5, + "7": 0, + "8": 4, + "9": 1, + "10": 8 + }, + "b": { + "0": [3, 1], + "1": [0, 3], + "2": [4, 0], + "3": [0, 3], + "4": [3, 0], + "5": [0, 3], + "6": [0, 0], + "7": [1, 4], + "8": [1, 0], + "9": [2, 6] + }, + "meta": { + "lastBranch": 10, + "lastFunction": 11, + "lastStatement": 59, + "seen": { + "s:21:6:21:Infinity": 0, + "s:27:59:129:Infinity": 1, + "f:27:59:27:60": 0, + "s:28:29:28:Infinity": 2, + "s:29:42:29:Infinity": 3, + "s:32:8:51:Infinity": 4, + "f:32:43:32:44": 1, + "b:35:4:39:Infinity:37:11:39:Infinity": 0, + "s:35:4:39:Infinity": 5, + "s:36:6:36:Infinity": 6, + "b:36:82:36:91:36:91:36:Infinity": 1, + "s:38:6:38:Infinity": 7, + "s:41:4:41:Infinity": 8, + "b:44:4:50:Infinity:47:11:50:Infinity": 2, + "s:44:4:50:Infinity": 9, + "s:45:6:45:Infinity": 10, + "s:46:6:46:Infinity": 11, + "s:48:6:48:Infinity": 12, + "s:49:6:49:Infinity": 13, + "s:54:2:71:Infinity": 14, + "f:54:12:54:18": 2, + "s:55:22:68:Infinity": 15, + "f:55:22:55:34": 3, + "b:56:6:56:Infinity:undefined:undefined:undefined:undefined": 3, + "s:56:6:56:Infinity": 16, + "s:56:23:56:Infinity": 17, + "s:58:6:67:Infinity": 18, + "s:59:39:59:Infinity": 19, + "s:60:26:60:Infinity": 20, + "b:60:26:60:45:60:45:60:Infinity": 4, + "s:61:8:61:Infinity": 21, + "s:62:8:62:Infinity": 22, + "s:64:8:64:Infinity": 23, + "s:66:8:66:Infinity": 24, + "s:70:4:70:Infinity": 25, + "s:74:2:89:Infinity": 26, + "f:74:12:74:18": 4, + "b:75:4:75:Infinity:undefined:undefined:undefined:undefined": 5, + "s:75:4:75:Infinity": 27, + "s:75:40:75:Infinity": 28, + "s:77:33:82:Infinity": 29, + "f:77:33:77:34": 5, + "b:78:6:81:Infinity:undefined:undefined:undefined:undefined": 6, + "s:78:6:81:Infinity": 30, + "s:79:8:79:Infinity": 31, + "s:80:8:80:Infinity": 32, + "s:85:20:85:Infinity": 33, + "s:88:4:88:Infinity": 34, + "s:92:2:100:Infinity": 35, + "f:92:12:92:18": 6, + "b:93:4:93:Infinity:undefined:undefined:undefined:undefined": 7, + "s:93:4:93:Infinity": 36, + "s:93:28:93:Infinity": 37, + "s:95:23:95:Infinity": 38, + "s:96:25:96:Infinity": 39, + "f:96:25:96:31": 7, + "s:96:31:96:Infinity": 40, + "s:98:4:98:Infinity": 41, + "s:99:4:99:Infinity": 42, + "f:99:11:99:17": 8, + "s:99:17:99:Infinity": 43, + "s:102:19:118:Infinity": 44, + "f:102:19:102:26": 9, + "s:103:4:103:Infinity": 45, + "s:104:4:104:Infinity": 46, + "b:107:4:117:Infinity:undefined:undefined:undefined:undefined": 8, + "s:107:4:117:Infinity": 47, + "s:108:6:116:Infinity": 48, + "s:109:46:109:Infinity": 49, + "s:110:8:113:Infinity": 50, + "s:115:8:115:Infinity": 51, + "s:120:41:126:Infinity": 52, + "s:128:2:128:Infinity": 53, + "s:131:24:137:Infinity": 54, + "f:131:24:131:48": 10, + "s:132:8:132:Infinity": 55, + "b:133:2:135:Infinity:undefined:undefined:undefined:undefined": 9, + "s:133:2:135:Infinity": 56, + "s:134:4:134:Infinity": 57, + "s:136:2:136:Infinity": 58 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts", + "statementMap": { + "0": { "start": { "line": 37, "column": 45 }, "end": { "line": 361, "column": null } }, + "1": { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, + "2": { "start": { "line": 371, "column": 4 }, "end": { "line": 371, "column": null } }, + "3": { "start": { "line": 374, "column": 41 }, "end": { "line": 374, "column": null } }, + "4": { "start": { "line": 377, "column": 2 }, "end": { "line": 379, "column": null } }, + "5": { "start": { "line": 378, "column": 4 }, "end": { "line": 378, "column": null } }, + "6": { "start": { "line": 381, "column": 20 }, "end": { "line": 381, "column": null } }, + "7": { "start": { "line": 383, "column": 2 }, "end": { "line": 414, "column": null } }, + "8": { "start": { "line": 384, "column": 16 }, "end": { "line": 384, "column": null } }, + "9": { "start": { "line": 387, "column": 4 }, "end": { "line": 393, "column": null } }, + "10": { "start": { "line": 388, "column": 20 }, "end": { "line": 388, "column": null } }, + "11": { "start": { "line": 389, "column": 22 }, "end": { "line": 389, "column": null } }, + "12": { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, + "13": { "start": { "line": 391, "column": 8 }, "end": { "line": 391, "column": null } }, + "14": { "start": { "line": 396, "column": 4 }, "end": { "line": 401, "column": null } }, + "15": { "start": { "line": 397, "column": 22 }, "end": { "line": 397, "column": null } }, + "16": { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, + "17": { "start": { "line": 399, "column": 8 }, "end": { "line": 399, "column": null } }, + "18": { "start": { "line": 404, "column": 4 }, "end": { "line": 408, "column": null } }, + "19": { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, + "20": { "start": { "line": 406, "column": 8 }, "end": { "line": 406, "column": null } }, + "21": { "start": { "line": 411, "column": 4 }, "end": { "line": 411, "column": null } }, + "22": { "start": { "line": 413, "column": 4 }, "end": { "line": 413, "column": null } }, + "23": { "start": { "line": 417, "column": 17 }, "end": { "line": 417, "column": null } }, + "24": { "start": { "line": 418, "column": 40 }, "end": { "line": 418, "column": null } }, + "25": { "start": { "line": 420, "column": 2 }, "end": { "line": 426, "column": null } }, + "26": { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, + "27": { "start": { "line": 423, "column": 6 }, "end": { "line": 423, "column": null } }, + "28": { "start": { "line": 424, "column": 6 }, "end": { "line": 424, "column": null } }, + "29": { "start": { "line": 428, "column": 2 }, "end": { "line": 428, "column": null } }, + "30": { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, + "31": { "start": { "line": 439, "column": 4 }, "end": { "line": 439, "column": null } }, + "32": { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, + "33": { "start": { "line": 444, "column": 4 }, "end": { "line": 444, "column": null } }, + "34": { "start": { "line": 448, "column": 25 }, "end": { "line": 474, "column": null } }, + "35": { "start": { "line": 476, "column": 23 }, "end": { "line": 476, "column": null } }, + "36": { "start": { "line": 477, "column": 21 }, "end": { "line": 477, "column": null } }, + "37": { "start": { "line": 479, "column": 2 }, "end": { "line": 485, "column": null } }, + "38": { "start": { "line": 480, "column": 20 }, "end": { "line": 480, "column": null } }, + "39": { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, + "40": { "start": { "line": 482, "column": 6 }, "end": { "line": 482, "column": null } }, + "41": { "start": { "line": 483, "column": 6 }, "end": { "line": 483, "column": null } }, + "42": { "start": { "line": 488, "column": 21 }, "end": { "line": 488, "column": null } }, + "43": { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, + "44": { "start": { "line": 492, "column": 4 }, "end": { "line": 492, "column": null } }, + "45": { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, + "46": { "start": { "line": 495, "column": 4 }, "end": { "line": 495, "column": null } }, + "47": { "start": { "line": 498, "column": 4 }, "end": { "line": 498, "column": null } }, + "48": { "start": { "line": 507, "column": 27 }, "end": { "line": 518, "column": null } }, + "49": { "start": { "line": 520, "column": 2 }, "end": { "line": 520, "column": null } }, + "50": { "start": { "line": 520, "column": 44 }, "end": { "line": 520, "column": 62 } }, + "51": { "start": { "line": 527, "column": 46 }, "end": { "line": 542, "column": null } }, + "52": { "start": { "line": 544, "column": 2 }, "end": { "line": 544, "column": null } } + }, + "fnMap": { + "0": { + "name": "detectLanguage", + "decl": { "start": { "line": 368, "column": 16 }, "end": { "line": 368, "column": 31 } }, + "loc": { "start": { "line": 368, "column": 60 }, "end": { "line": 429, "column": null } }, + "line": 368 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 377, "column": 28 }, "end": { "line": 377, "column": 29 } }, + "loc": { "start": { "line": 377, "column": 38 }, "end": { "line": 379, "column": 3 } }, + "line": 377 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 383, "column": 28 }, "end": { "line": 383, "column": 29 } }, + "loc": { "start": { "line": 383, "column": 38 }, "end": { "line": 414, "column": 3 } }, + "line": 383 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 387, "column": 26 }, "end": { "line": 387, "column": 27 } }, + "loc": { "start": { "line": 387, "column": 39 }, "end": { "line": 393, "column": 5 } }, + "line": 387 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 396, "column": 26 }, "end": { "line": 396, "column": 27 } }, + "loc": { "start": { "line": 396, "column": 39 }, "end": { "line": 401, "column": 5 } }, + "line": 396 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 404, "column": 28 }, "end": { "line": 404, "column": 29 } }, + "loc": { "start": { "line": 404, "column": 37 }, "end": { "line": 408, "column": 5 } }, + "line": 404 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 420, "column": 33 }, "end": { "line": 420, "column": 34 } }, + "loc": { "start": { "line": 420, "column": 52 }, "end": { "line": 426, "column": 3 } }, + "line": 420 + }, + "7": { + "name": "isCode", + "decl": { "start": { "line": 436, "column": 16 }, "end": { "line": 436, "column": 23 } }, + "loc": { "start": { "line": 436, "column": 46 }, "end": { "line": 500, "column": null } }, + "line": 436 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 479, "column": 25 }, "end": { "line": 479, "column": 26 } }, + "loc": { "start": { "line": 479, "column": 38 }, "end": { "line": 485, "column": 3 } }, + "line": 479 + }, + "9": { + "name": "hasStrongCodeIndicators", + "decl": { "start": { "line": 506, "column": 9 }, "end": { "line": 506, "column": 33 } }, + "loc": { "start": { "line": 506, "column": 56 }, "end": { "line": 521, "column": null } }, + "line": 506 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 520, "column": 31 }, "end": { "line": 520, "column": 32 } }, + "loc": { "start": { "line": 520, "column": 44 }, "end": { "line": 520, "column": 62 } }, + "line": 520 + }, + "11": { + "name": "mapToSyntaxHighlighterLanguage", + "decl": { "start": { "line": 526, "column": 16 }, "end": { "line": 526, "column": 47 } }, + "loc": { "start": { "line": 526, "column": 81 }, "end": { "line": 545, "column": null } }, + "line": 526 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 369 + }, + "1": { + "loc": { "start": { "line": 369, "column": 6 }, "end": { "line": 369, "column": 39 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 369, "column": 6 }, "end": { "line": 369, "column": 15 } }, + { "start": { "line": 369, "column": 15 }, "end": { "line": 369, "column": 39 } } + ], + "line": 369 + }, + "2": { + "loc": { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 390 + }, + "3": { + "loc": { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 398 + }, + "4": { + "loc": { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 405 + }, + "5": { + "loc": { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 421 + }, + "6": { + "loc": { "start": { "line": 421, "column": 8 }, "end": { "line": 421, "column": 39 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 421, "column": 8 }, "end": { "line": 421, "column": 28 } }, + { "start": { "line": 421, "column": 28 }, "end": { "line": 421, "column": 39 } } + ], + "line": 421 + }, + "7": { + "loc": { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 437 + }, + "8": { + "loc": { "start": { "line": 437, "column": 6 }, "end": { "line": 437, "column": 39 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 437, "column": 6 }, "end": { "line": 437, "column": 15 } }, + { "start": { "line": 437, "column": 15 }, "end": { "line": 437, "column": 39 } } + ], + "line": 437 + }, + "9": { + "loc": { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 443 + }, + "10": { + "loc": { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 481 + }, + "11": { + "loc": { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, + { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } } + ], + "line": 490 + }, + "12": { + "loc": { "start": { "line": 492, "column": 11 }, "end": { "line": 492, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 492, "column": 11 }, "end": { "line": 492, "column": 34 } }, + { "start": { "line": 492, "column": 34 }, "end": { "line": 492, "column": null } } + ], + "line": 492 + }, + "13": { + "loc": { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, + { "start": { "line": 496, "column": 9 }, "end": { "line": 499, "column": null } } + ], + "line": 493 + }, + "14": { + "loc": { "start": { "line": 495, "column": 11 }, "end": { "line": 495, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 495, "column": 11 }, "end": { "line": 495, "column": 34 } }, + { "start": { "line": 495, "column": 34 }, "end": { "line": 495, "column": null } } + ], + "line": 495 + }, + "15": { + "loc": { "start": { "line": 498, "column": 11 }, "end": { "line": 498, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 498, "column": 11 }, "end": { "line": 498, "column": 34 } }, + { "start": { "line": 498, "column": 34 }, "end": { "line": 498, "column": null } } + ], + "line": 498 + }, + "16": { + "loc": { "start": { "line": 544, "column": 9 }, "end": { "line": 544, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 544, "column": 9 }, "end": { "line": 544, "column": 42 } }, + { "start": { "line": 544, "column": 42 }, "end": { "line": 544, "column": null } } + ], + "line": 544 + } + }, + "s": { + "0": 2, + "1": 8, + "2": 2, + "3": 6, + "4": 6, + "5": 84, + "6": 6, + "7": 6, + "8": 84, + "9": 84, + "10": 792, + "11": 792, + "12": 792, + "13": 21, + "14": 84, + "15": 606, + "16": 606, + "17": 23, + "18": 84, + "19": 156, + "20": 0, + "21": 84, + "22": 84, + "23": 6, + "24": 6, + "25": 6, + "26": 84, + "27": 9, + "28": 9, + "29": 6, + "30": 6, + "31": 2, + "32": 4, + "33": 3, + "34": 1, + "35": 1, + "36": 1, + "37": 1, + "38": 25, + "39": 25, + "40": 0, + "41": 0, + "42": 1, + "43": 1, + "44": 0, + "45": 1, + "46": 1, + "47": 0, + "48": 4, + "49": 4, + "50": 22, + "51": 16, + "52": 16 + }, + "f": { + "0": 8, + "1": 84, + "2": 84, + "3": 792, + "4": 606, + "5": 156, + "6": 84, + "7": 6, + "8": 25, + "9": 4, + "10": 22, + "11": 16 + }, + "b": { + "0": [2, 6], + "1": [8, 7], + "2": [21, 771], + "3": [23, 583], + "4": [0, 156], + "5": [9, 75], + "6": [84, 9], + "7": [2, 4], + "8": [6, 5], + "9": [3, 1], + "10": [0, 25], + "11": [0, 1], + "12": [0, 0], + "13": [1, 0], + "14": [1, 1], + "15": [0, 0], + "16": [16, 1] + }, + "meta": { + "lastBranch": 17, + "lastFunction": 12, + "lastStatement": 53, + "seen": { + "s:37:45:361:Infinity": 0, + "f:368:16:368:31": 0, + "b:369:2:372:Infinity:undefined:undefined:undefined:undefined": 0, + "s:369:2:372:Infinity": 1, + "b:369:6:369:15:369:15:369:39": 1, + "s:371:4:371:Infinity": 2, + "s:374:41:374:Infinity": 3, + "s:377:2:379:Infinity": 4, + "f:377:28:377:29": 1, + "s:378:4:378:Infinity": 5, + "s:381:20:381:Infinity": 6, + "s:383:2:414:Infinity": 7, + "f:383:28:383:29": 2, + "s:384:16:384:Infinity": 8, + "s:387:4:393:Infinity": 9, + "f:387:26:387:27": 3, + "s:388:20:388:Infinity": 10, + "s:389:22:389:Infinity": 11, + "b:390:6:392:Infinity:undefined:undefined:undefined:undefined": 2, + "s:390:6:392:Infinity": 12, + "s:391:8:391:Infinity": 13, + "s:396:4:401:Infinity": 14, + "f:396:26:396:27": 4, + "s:397:22:397:Infinity": 15, + "b:398:6:400:Infinity:undefined:undefined:undefined:undefined": 3, + "s:398:6:400:Infinity": 16, + "s:399:8:399:Infinity": 17, + "s:404:4:408:Infinity": 18, + "f:404:28:404:29": 5, + "b:405:6:407:Infinity:undefined:undefined:undefined:undefined": 4, + "s:405:6:407:Infinity": 19, + "s:406:8:406:Infinity": 20, + "s:411:4:411:Infinity": 21, + "s:413:4:413:Infinity": 22, + "s:417:17:417:Infinity": 23, + "s:418:40:418:Infinity": 24, + "s:420:2:426:Infinity": 25, + "f:420:33:420:34": 6, + "b:421:4:425:Infinity:undefined:undefined:undefined:undefined": 5, + "s:421:4:425:Infinity": 26, + "b:421:8:421:28:421:28:421:39": 6, + "s:423:6:423:Infinity": 27, + "s:424:6:424:Infinity": 28, + "s:428:2:428:Infinity": 29, + "f:436:16:436:23": 7, + "b:437:2:440:Infinity:undefined:undefined:undefined:undefined": 7, + "s:437:2:440:Infinity": 30, + "b:437:6:437:15:437:15:437:39": 8, + "s:439:4:439:Infinity": 31, + "b:443:2:445:Infinity:undefined:undefined:undefined:undefined": 9, + "s:443:2:445:Infinity": 32, + "s:444:4:444:Infinity": 33, + "s:448:25:474:Infinity": 34, + "s:476:23:476:Infinity": 35, + "s:477:21:477:Infinity": 36, + "s:479:2:485:Infinity": 37, + "f:479:25:479:26": 8, + "s:480:20:480:Infinity": 38, + "b:481:4:484:Infinity:undefined:undefined:undefined:undefined": 10, + "s:481:4:484:Infinity": 39, + "s:482:6:482:Infinity": 40, + "s:483:6:483:Infinity": 41, + "s:488:21:488:Infinity": 42, + "b:490:2:499:Infinity:493:2:499:Infinity": 11, + "s:490:2:499:Infinity": 43, + "s:492:4:492:Infinity": 44, + "b:492:11:492:34:492:34:492:Infinity": 12, + "b:493:2:499:Infinity:496:9:499:Infinity": 13, + "s:493:2:499:Infinity": 45, + "s:495:4:495:Infinity": 46, + "b:495:11:495:34:495:34:495:Infinity": 14, + "s:498:4:498:Infinity": 47, + "b:498:11:498:34:498:34:498:Infinity": 15, + "f:506:9:506:33": 9, + "s:507:27:518:Infinity": 48, + "s:520:2:520:Infinity": 49, + "f:520:31:520:32": 10, + "s:520:44:520:62": 50, + "f:526:16:526:47": 11, + "s:527:46:542:Infinity": 51, + "s:544:2:544:Infinity": 52, + "b:544:9:544:42:544:42:544:Infinity": 16 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts", + "statementMap": { + "0": { "start": { "line": 1, "column": 33 }, "end": { "line": 1, "column": 36 } } + }, + "fnMap": {}, + "branchMap": {}, + "s": { "0": 1 }, + "f": {}, + "b": {}, + "meta": { "lastBranch": 0, "lastFunction": 0, "lastStatement": 1, "seen": { "s:1:33:1:36": 0 } } + } } diff --git a/coverage/index.html b/coverage/index.html index 8a8da31..f53cec0 100644 --- a/coverage/index.html +++ b/coverage/index.html @@ -1,221 +1,263 @@ - - - + Code coverage report for All files - - - - -
-
+ + + +
+

All files

-
- -
- 59.31% - Statements - 398/671 -
- - -
- 59.07% - Branches - 192/325 -
- - -
- 61.65% - Functions - 82/133 -
- - -
- 60.12% - Lines - 386/642 -
- - +
+
+ 59.31% + Statements + 398/671 +
+ +
+ 59.07% + Branches + 192/325 +
+ +
+ 61.65% + Functions + 82/133 +
+ +
+ 60.12% + Lines + 386/642 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
main/clipboard -
-
39.57%74/18750%31/6228.12%9/3241.04%71/173
main/hotkeys -
-
63.97%103/16160%42/7070.96%22/3164.15%102/159
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
+ main/clipboard + +
+
+
+
+
39.57%74/18750%31/6228.12%9/3241.04%71/173
main/storage -
-
90.12%73/8195.58%65/6877.77%21/2791.89%68/74
+ main/hotkeys + +
+
+
+
+
63.97%103/16160%42/7070.96%22/3164.15%102/159
renderer/src/components/clips/clip -
-
29.41%30/10216.39%10/6137.5%6/1629.41%30/102
+ main/storage + +
+
+
+
+
90.12%73/8195.58%65/6877.77%21/2791.89%68/74
renderer/src/hooks -
-
77.77%21/2760%6/1075%3/477.77%21/27
+ renderer/src/components/clips/clip + +
+
+
+
+
29.41%30/10216.39%10/6137.5%6/1629.41%30/102
renderer/src/providers -
-
81.35%48/5960%12/2081.81%9/1185.18%46/54
+ renderer/src/hooks + +
+
+
+
+
77.77%21/2760%6/1075%3/477.77%21/27
renderer/src/utils -
-
90.56%48/5376.47%26/34100%12/1290.38%47/52
+ renderer/src/providers + +
+
+
+
+
81.35%48/5960%12/2081.81%9/1185.18%46/54
shared -
-
100%1/1100%0/0100%0/0100%1/1
+ renderer/src/utils + +
+
+
+
+
90.56%48/5376.47%26/34100%12/1290.38%47/52
-
-
-
- - - - - - + + shared + +
+
+
+
+ + 100% + 1/1 + 100% + 0/0 + 100% + 0/0 + 100% + 1/1 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/clipboard/data.ts.html b/coverage/main/clipboard/data.ts.html index 150d038..6b9a818 100644 --- a/coverage/main/clipboard/data.ts.html +++ b/coverage/main/clipboard/data.ts.html @@ -1,68 +1,63 @@ - - - + Code coverage report for main/clipboard/data.ts - - - - -
-
-

All files / main/clipboard data.ts

-
- -
- 68% - Statements - 34/50 -
- - -
- 85% - Branches - 17/20 -
- - -
- 45.45% - Functions - 5/11 -
- - -
- 70.21% - Lines - 33/47 -
- - + + + +
+
+

+ All files / main/clipboard data.ts +

+
+
+ 68% + Statements + 34/50 +
+ +
+ 85% + Branches + 17/20 +
+ +
+ 45.45% + Functions + 5/11 +
+ +
+ 70.21% + Lines + 33/47 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -362,21 +357,22 @@

All files / main/clipboa };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/clipboard/index.html b/coverage/main/clipboard/index.html index fa01dbf..27a138a 100644 --- a/coverage/main/clipboard/index.html +++ b/coverage/main/clipboard/index.html @@ -1,146 +1,161 @@ - - - + Code coverage report for main/clipboard - - - - -
-
+ + + +
+

All files main/clipboard

-
- -
- 39.57% - Statements - 74/187 -
- - -
- 50% - Branches - 31/62 -
- - -
- 28.12% - Functions - 9/32 -
- - -
- 41.04% - Lines - 71/173 -
- - +
+
+ 39.57% + Statements + 74/187 +
+ +
+ 50% + Branches + 31/62 +
+ +
+ 28.12% + Functions + 9/32 +
+ +
+ 41.04% + Lines + 71/173 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
data.ts -
-
68%34/5085%17/2045.45%5/1170.21%33/47
quick-clips.ts -
-
22.68%22/9726.31%10/3814.28%2/1424.13%21/87
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
data.ts +
+
+
+
+
68%34/5085%17/2045.45%5/1170.21%33/47
quick-tools.ts -
-
45%18/40100%4/428.57%2/743.58%17/39
+ quick-clips.ts + +
+
+
+
+
22.68%22/9726.31%10/3814.28%2/1424.13%21/87
-
-
-
- - - - - - + + + quick-tools.ts + + +
+
+
+
+ + 45% + 18/40 + 100% + 4/4 + 28.57% + 2/7 + 43.58% + 17/39 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/clipboard/quick-clips.ts.html b/coverage/main/clipboard/quick-clips.ts.html index 3d0fa5f..e838c0e 100644 --- a/coverage/main/clipboard/quick-clips.ts.html +++ b/coverage/main/clipboard/quick-clips.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/clipboard/quick-clips.ts - - - - -
-
-

All files / main/clipboard quick-clips.ts

-
- -
- 22.68% - Statements - 22/97 -
- - -
- 26.31% - Branches - 10/38 -
- - -
- 14.28% - Functions - 2/14 -
- - -
- 24.13% - Lines - 21/87 -
- - + + + +
+
+

+ All files / + main/clipboard quick-clips.ts +

+
+
+ 22.68% + Statements + 22/97 +
+ +
+ 26.31% + Branches + 10/38 +
+ +
+ 14.28% + Functions + 2/14 +
+ +
+ 24.13% + Lines + 21/87 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -623,21 +619,22 @@

All files / main/clipboa };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/clipboard/quick-tools.ts.html b/coverage/main/clipboard/quick-tools.ts.html index 73d2ef6..dd8c8a4 100644 --- a/coverage/main/clipboard/quick-tools.ts.html +++ b/coverage/main/clipboard/quick-tools.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/clipboard/quick-tools.ts - - - - -
-
-

All files / main/clipboard quick-tools.ts

-
- -
- 45% - Statements - 18/40 -
- - -
- 100% - Branches - 4/4 -
- - -
- 28.57% - Functions - 2/7 -
- - -
- 43.58% - Lines - 17/39 -
- - + + + +
+
+

+ All files / + main/clipboard quick-tools.ts +

+
+
+ 45% + Statements + 18/40 +
+ +
+ 100% + Branches + 4/4 +
+ +
+ 28.57% + Functions + 2/7 +
+ +
+ 43.58% + Lines + 17/39 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -299,21 +295,22 @@

All files / main/clipboa };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/hotkeys/actions.ts.html b/coverage/main/hotkeys/actions.ts.html index 2902bd0..a32b057 100644 --- a/coverage/main/hotkeys/actions.ts.html +++ b/coverage/main/hotkeys/actions.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/hotkeys/actions.ts - - - - -
-
-

All files / main/hotkeys actions.ts

-
- -
- 50% - Statements - 38/76 -
- - -
- 54.16% - Branches - 26/48 -
- - -
- 71.42% - Functions - 5/7 -
- - -
- 50% - Lines - 37/74 -
- - + + + +
+
+

+ All files / + main/hotkeys actions.ts +

+
+
+ 50% + Statements + 38/76 +
+ +
+ 54.16% + Branches + 26/48 +
+ +
+ 71.42% + Functions + 5/7 +
+ +
+ 50% + Lines + 37/74 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -593,21 +589,22 @@

All files / main/hotkeys }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/hotkeys/index.html b/coverage/main/hotkeys/index.html index 50a7b89..e9658a4 100644 --- a/coverage/main/hotkeys/index.html +++ b/coverage/main/hotkeys/index.html @@ -1,146 +1,163 @@ - - - + Code coverage report for main/hotkeys - - - - -
-
+ + + +
+

All files main/hotkeys

-
- -
- 63.97% - Statements - 103/161 -
- - -
- 60% - Branches - 42/70 -
- - -
- 70.96% - Functions - 22/31 -
- - -
- 64.15% - Lines - 102/159 -
- - +
+
+ 63.97% + Statements + 103/161 +
+ +
+ 60% + Branches + 42/70 +
+ +
+ 70.96% + Functions + 22/31 +
+ +
+ 64.15% + Lines + 102/159 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
actions.ts -
-
50%38/7654.16%26/4871.42%5/750%37/74
manager.ts -
-
71.66%43/6066.66%12/1856.25%9/1671.66%43/60
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
+ actions.ts + +
+
+
+
+
50%38/7654.16%26/4871.42%5/750%37/74
registry.ts -
-
88%22/25100%4/4100%8/888%22/25
+ manager.ts + +
+
+
+
+
71.66%43/6066.66%12/1856.25%9/1671.66%43/60
-
-
-
- - - - - - + + + registry.ts + + +
+
+
+
+ + 88% + 22/25 + 100% + 4/4 + 100% + 8/8 + 88% + 22/25 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/hotkeys/manager.ts.html b/coverage/main/hotkeys/manager.ts.html index 7aae281..193041f 100644 --- a/coverage/main/hotkeys/manager.ts.html +++ b/coverage/main/hotkeys/manager.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/hotkeys/manager.ts - - - - -
-
-

All files / main/hotkeys manager.ts

-
- -
- 71.66% - Statements - 43/60 -
- - -
- 66.66% - Branches - 12/18 -
- - -
- 56.25% - Functions - 9/16 -
- - -
- 71.66% - Lines - 43/60 -
- - + + + +
+
+

+ All files / + main/hotkeys manager.ts +

+
+
+ 71.66% + Statements + 43/60 +
+ +
+ 66.66% + Branches + 12/18 +
+ +
+ 56.25% + Functions + 9/16 +
+ +
+ 71.66% + Lines + 43/60 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -566,21 +562,22 @@

All files / main/hotkeys }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/hotkeys/registry.ts.html b/coverage/main/hotkeys/registry.ts.html index 2409a5a..ba60956 100644 --- a/coverage/main/hotkeys/registry.ts.html +++ b/coverage/main/hotkeys/registry.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/hotkeys/registry.ts - - - - -
-
-

All files / main/hotkeys registry.ts

-
- -
- 88% - Statements - 22/25 -
- - -
- 100% - Branches - 4/4 -
- - -
- 100% - Functions - 8/8 -
- - -
- 88% - Lines - 22/25 -
- - + + + +
+
+

+ All files / + main/hotkeys registry.ts +

+
+
+ 88% + Statements + 22/25 +
+ +
+ 100% + Branches + 4/4 +
+ +
+ 100% + Functions + 8/8 +
+ +
+ 88% + Lines + 22/25 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -311,21 +307,22 @@

All files / main/hotkeys }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/defaults.ts.html b/coverage/main/storage/defaults.ts.html index 5c39ffa..0eff01a 100644 --- a/coverage/main/storage/defaults.ts.html +++ b/coverage/main/storage/defaults.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/defaults.ts - - - - -
-
-

All files / main/storage defaults.ts

-
- -
- 100% - Statements - 3/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 3/3 -
- - + + + +
+
+

+ All files / + main/storage defaults.ts +

+
+
+ 100% + Statements + 3/3 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 0/0 +
+ +
+ 100% + Lines + 3/3 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -248,21 +244,22 @@

All files / main/storage };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/file-operations.ts.html b/coverage/main/storage/file-operations.ts.html index ca0e534..5af5b5a 100644 --- a/coverage/main/storage/file-operations.ts.html +++ b/coverage/main/storage/file-operations.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/file-operations.ts - - - - -
-
-

All files / main/storage file-operations.ts

-
- -
- 92% - Statements - 23/25 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 4/4 -
- - -
- 92% - Lines - 23/25 -
- - + + + +
+
+

+ All files / + main/storage file-operations.ts +

+
+
+ 92% + Statements + 23/25 +
+ +
+ 50% + Branches + 1/2 +
+ +
+ 100% + Functions + 4/4 +
+ +
+ 92% + Lines + 23/25 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -311,21 +307,22 @@

All files / main/storage }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/index.html b/coverage/main/storage/index.html index 4ab8579..9a62781 100644 --- a/coverage/main/storage/index.html +++ b/coverage/main/storage/index.html @@ -1,176 +1,203 @@ - - - + Code coverage report for main/storage - - - - -
-
+ + + +
+

All files main/storage

-
- -
- 90.12% - Statements - 73/81 -
- - -
- 95.58% - Branches - 65/68 -
- - -
- 77.77% - Functions - 21/27 -
- - -
- 91.89% - Lines - 68/74 -
- - +
+
+ 90.12% + Statements + 73/81 +
+ +
+ 95.58% + Branches + 65/68 +
+ +
+ 77.77% + Functions + 21/27 +
+ +
+ 91.89% + Lines + 68/74 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
defaults.ts -
-
100%3/3100%0/0100%0/0100%3/3
file-operations.ts -
-
92%23/2550%1/2100%4/492%23/25
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
+ defaults.ts + +
+
+
+
+
100%3/3100%0/0100%0/0100%3/3
migration.ts -
-
100%18/18100%50/50100%5/5100%18/18
+ file-operations.ts + +
+
+
+
+
92%23/2550%1/2100%4/492%23/25
search-terms.ts -
-
57.14%4/7100%0/057.14%4/760%3/5
+ migration.ts + +
+
+
+
+
100%18/18100%50/50100%5/5100%18/18
templates.ts -
-
89.28%25/2887.5%14/1672.72%8/1191.3%21/23
+ search-terms.ts + +
+
+
+
+
57.14%4/7100%0/057.14%4/760%3/5
-
-
-
- - - - - - + + + templates.ts + + +
+
+
+
+ + 89.28% + 25/28 + 87.5% + 14/16 + 72.72% + 8/11 + 91.3% + 21/23 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/migration.ts.html b/coverage/main/storage/migration.ts.html index 94c7912..c3d88b1 100644 --- a/coverage/main/storage/migration.ts.html +++ b/coverage/main/storage/migration.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/migration.ts - - - - -
-
-

All files / main/storage migration.ts

-
- -
- 100% - Statements - 18/18 -
- - -
- 100% - Branches - 50/50 -
- - -
- 100% - Functions - 5/5 -
- - -
- 100% - Lines - 18/18 -
- - + + + +
+
+

+ All files / + main/storage migration.ts +

+
+
+ 100% + Statements + 18/18 +
+ +
+ 100% + Branches + 50/50 +
+ +
+ 100% + Functions + 5/5 +
+ +
+ 100% + Lines + 18/18 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -296,21 +292,22 @@

All files / main/storage }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/search-terms.ts.html b/coverage/main/storage/search-terms.ts.html index 7e39b87..07a3721 100644 --- a/coverage/main/storage/search-terms.ts.html +++ b/coverage/main/storage/search-terms.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/search-terms.ts - - - - -
-
-

All files / main/storage search-terms.ts

-
- -
- 57.14% - Statements - 4/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 57.14% - Functions - 4/7 -
- - -
- 60% - Lines - 3/5 -
- - + + + +
+
+

+ All files / + main/storage search-terms.ts +

+
+
+ 57.14% + Statements + 4/7 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 57.14% + Functions + 4/7 +
+ +
+ 60% + Lines + 3/5 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -227,21 +223,22 @@

All files / main/storage }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/templates.ts.html b/coverage/main/storage/templates.ts.html index aae9cac..4c5f2e4 100644 --- a/coverage/main/storage/templates.ts.html +++ b/coverage/main/storage/templates.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/templates.ts - - - - -
-
-

All files / main/storage templates.ts

-
- -
- 89.28% - Statements - 25/28 -
- - -
- 87.5% - Branches - 14/16 -
- - -
- 72.72% - Functions - 8/11 -
- - -
- 91.3% - Lines - 21/23 -
- - + + + +
+
+

+ All files / + main/storage templates.ts +

+
+
+ 89.28% + Statements + 25/28 +
+ +
+ 87.5% + Branches + 14/16 +
+ +
+ 72.72% + Functions + 8/11 +
+ +
+ 91.3% + Lines + 21/23 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -368,21 +364,22 @@

All files / main/storage }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/prettify.css b/coverage/prettify.css index b317a7c..006492c 100644 --- a/coverage/prettify.css +++ b/coverage/prettify.css @@ -1 +1,101 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} +.pln { + color: #000; +} +@media screen { + .str { + color: #080; + } + .kwd { + color: #008; + } + .com { + color: #800; + } + .typ { + color: #606; + } + .lit { + color: #066; + } + .pun, + .opn, + .clo { + color: #660; + } + .tag { + color: #008; + } + .atn { + color: #606; + } + .atv { + color: #080; + } + .dec, + .var { + color: #606; + } + .fun { + color: red; + } +} +@media print, projection { + .str { + color: #060; + } + .kwd { + color: #006; + font-weight: bold; + } + .com { + color: #600; + font-style: italic; + } + .typ { + color: #404; + font-weight: bold; + } + .lit { + color: #044; + } + .pun, + .opn, + .clo { + color: #440; + } + .tag { + color: #006; + font-weight: bold; + } + .atn { + color: #404; + } + .atv { + color: #060; + } +} +pre.prettyprint { + padding: 2px; + border: 1px solid #888; +} +ol.linenums { + margin-top: 0; + margin-bottom: 0; +} +li.L0, +li.L1, +li.L2, +li.L3, +li.L5, +li.L6, +li.L7, +li.L8 { + list-style-type: none; +} +li.L1, +li.L3, +li.L5, +li.L7, +li.L9 { + background: #eee; +} diff --git a/coverage/prettify.js b/coverage/prettify.js index b322523..4b5985a 100644 --- a/coverage/prettify.js +++ b/coverage/prettify.js @@ -1,2 +1,937 @@ /* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); +window.PR_SHOULD_USE_CONTINUATION = true; +(function () { + var h = ['break,continue,do,else,for,if,return,while']; + var u = [ + h, + 'auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile', + ]; + var p = [ + u, + 'catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof', + ]; + var l = [ + p, + 'alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where', + ]; + var x = [ + p, + 'abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient', + ]; + var R = [ + x, + 'as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var', + ]; + var r = + 'all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes'; + var w = [p, 'debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN']; + var s = + 'caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END'; + var I = [ + h, + 'and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None', + ]; + var f = [ + h, + 'alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END', + ]; + var H = [h, 'case,done,elif,esac,eval,fi,function,in,local,set,then,until']; + var A = [l, R, w, s + I, f, H]; + var e = + /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/; + var C = 'str'; + var z = 'kwd'; + var j = 'com'; + var O = 'typ'; + var G = 'lit'; + var L = 'pun'; + var F = 'pln'; + var m = 'tag'; + var E = 'dec'; + var J = 'src'; + var P = 'atn'; + var n = 'atv'; + var N = 'nocode'; + var M = + '(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*'; + function k(Z) { + var ad = 0; + var S = false; + var ac = false; + for (var V = 0, U = Z.length; V < U; ++V) { + var ae = Z[V]; + if (ae.ignoreCase) { + ac = true; + } else { + if (/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) { + S = true; + ac = false; + break; + } + } + } + var Y = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 }; + function ab(ah) { + var ag = ah.charCodeAt(0); + if (ag !== 92) { + return ag; + } + var af = ah.charAt(1); + ag = Y[af]; + if (ag) { + return ag; + } else { + if ('0' <= af && af <= '7') { + return parseInt(ah.substring(1), 8); + } else { + if (af === 'u' || af === 'x') { + return parseInt(ah.substring(2), 16); + } else { + return ah.charCodeAt(1); + } + } + } + } + function T(af) { + if (af < 32) { + return (af < 16 ? '\\x0' : '\\x') + af.toString(16); + } + var ag = String.fromCharCode(af); + if (ag === '\\' || ag === '-' || ag === '[' || ag === ']') { + ag = '\\' + ag; + } + return ag; + } + function X(am) { + var aq = am + .substring(1, am.length - 1) + .match( + new RegExp( + '\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]', + 'g' + ) + ); + var ak = []; + var af = []; + var ao = aq[0] === '^'; + for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) { + var ah = aq[ar]; + if (/\\[bdsw]/i.test(ah)) { + ak.push(ah); + } else { + var ag = ab(ah); + var al; + if (ar + 2 < aj && '-' === aq[ar + 1]) { + al = ab(aq[ar + 2]); + ar += 2; + } else { + al = ag; + } + af.push([ag, al]); + if (!(al < 65 || ag > 122)) { + if (!(al < 65 || ag > 90)) { + af.push([Math.max(65, ag) | 32, Math.min(al, 90) | 32]); + } + if (!(al < 97 || ag > 122)) { + af.push([Math.max(97, ag) & ~32, Math.min(al, 122) & ~32]); + } + } + } + } + af.sort(function (av, au) { + return av[0] - au[0] || au[1] - av[1]; + }); + var ai = []; + var ap = [NaN, NaN]; + for (var ar = 0; ar < af.length; ++ar) { + var at = af[ar]; + if (at[0] <= ap[1] + 1) { + ap[1] = Math.max(ap[1], at[1]); + } else { + ai.push((ap = at)); + } + } + var an = ['[']; + if (ao) { + an.push('^'); + } + an.push.apply(an, ak); + for (var ar = 0; ar < ai.length; ++ar) { + var at = ai[ar]; + an.push(T(at[0])); + if (at[1] > at[0]) { + if (at[1] + 1 > at[0]) { + an.push('-'); + } + an.push(T(at[1])); + } + } + an.push(']'); + return an.join(''); + } + function W(al) { + var aj = al.source.match( + new RegExp( + '(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)', + 'g' + ) + ); + var ah = aj.length; + var an = []; + for (var ak = 0, am = 0; ak < ah; ++ak) { + var ag = aj[ak]; + if (ag === '(') { + ++am; + } else { + if ('\\' === ag.charAt(0)) { + var af = +ag.substring(1); + if (af && af <= am) { + an[af] = -1; + } + } + } + } + for (var ak = 1; ak < an.length; ++ak) { + if (-1 === an[ak]) { + an[ak] = ++ad; + } + } + for (var ak = 0, am = 0; ak < ah; ++ak) { + var ag = aj[ak]; + if (ag === '(') { + ++am; + if (an[am] === undefined) { + aj[ak] = '(?:'; + } + } else { + if ('\\' === ag.charAt(0)) { + var af = +ag.substring(1); + if (af && af <= am) { + aj[ak] = '\\' + an[am]; + } + } + } + } + for (var ak = 0, am = 0; ak < ah; ++ak) { + if ('^' === aj[ak] && '^' !== aj[ak + 1]) { + aj[ak] = ''; + } + } + if (al.ignoreCase && S) { + for (var ak = 0; ak < ah; ++ak) { + var ag = aj[ak]; + var ai = ag.charAt(0); + if (ag.length >= 2 && ai === '[') { + aj[ak] = X(ag); + } else { + if (ai !== '\\') { + aj[ak] = ag.replace(/[a-zA-Z]/g, function (ao) { + var ap = ao.charCodeAt(0); + return '[' + String.fromCharCode(ap & ~32, ap | 32) + ']'; + }); + } + } + } + } + return aj.join(''); + } + var aa = []; + for (var V = 0, U = Z.length; V < U; ++V) { + var ae = Z[V]; + if (ae.global || ae.multiline) { + throw new Error('' + ae); + } + aa.push('(?:' + W(ae) + ')'); + } + return new RegExp(aa.join('|'), ac ? 'gi' : 'g'); + } + function a(V) { + var U = /(?:^|\s)nocode(?:\s|$)/; + var X = []; + var T = 0; + var Z = []; + var W = 0; + var S; + if (V.currentStyle) { + S = V.currentStyle.whiteSpace; + } else { + if (window.getComputedStyle) { + S = document.defaultView.getComputedStyle(V, null).getPropertyValue('white-space'); + } + } + var Y = S && 'pre' === S.substring(0, 3); + function aa(ab) { + switch (ab.nodeType) { + case 1: + if (U.test(ab.className)) { + return; + } + for (var ae = ab.firstChild; ae; ae = ae.nextSibling) { + aa(ae); + } + var ad = ab.nodeName; + if ('BR' === ad || 'LI' === ad) { + X[W] = '\n'; + Z[W << 1] = T++; + Z[(W++ << 1) | 1] = ab; + } + break; + case 3: + case 4: + var ac = ab.nodeValue; + if (ac.length) { + if (!Y) { + ac = ac.replace(/[ \t\r\n]+/g, ' '); + } else { + ac = ac.replace(/\r\n?/g, '\n'); + } + X[W] = ac; + Z[W << 1] = T; + T += ac.length; + Z[(W++ << 1) | 1] = ab; + } + break; + } + } + aa(V); + return { sourceCode: X.join('').replace(/\n$/, ''), spans: Z }; + } + function B(S, U, W, T) { + if (!U) { + return; + } + var V = { sourceCode: U, basePos: S }; + W(V); + T.push.apply(T, V.decorations); + } + var v = /\S/; + function o(S) { + var V = undefined; + for (var U = S.firstChild; U; U = U.nextSibling) { + var T = U.nodeType; + V = T === 1 ? (V ? S : U) : T === 3 ? (v.test(U.nodeValue) ? S : V) : V; + } + return V === S ? undefined : V; + } + function g(U, T) { + var S = {}; + var V; + (function () { + var ad = U.concat(T); + var ah = []; + var ag = {}; + for (var ab = 0, Z = ad.length; ab < Z; ++ab) { + var Y = ad[ab]; + var ac = Y[3]; + if (ac) { + for (var ae = ac.length; --ae >= 0; ) { + S[ac.charAt(ae)] = Y; + } + } + var af = Y[1]; + var aa = '' + af; + if (!ag.hasOwnProperty(aa)) { + ah.push(af); + ag[aa] = null; + } + } + ah.push(/[\0-\uffff]/); + V = k(ah); + })(); + var X = T.length; + var W = function (ah) { + var Z = ah.sourceCode, + Y = ah.basePos; + var ad = [Y, F]; + var af = 0; + var an = Z.match(V) || []; + var aj = {}; + for (var ae = 0, aq = an.length; ae < aq; ++ae) { + var ag = an[ae]; + var ap = aj[ag]; + var ai = void 0; + var am; + if (typeof ap === 'string') { + am = false; + } else { + var aa = S[ag.charAt(0)]; + if (aa) { + ai = ag.match(aa[1]); + ap = aa[0]; + } else { + for (var ao = 0; ao < X; ++ao) { + aa = T[ao]; + ai = ag.match(aa[1]); + if (ai) { + ap = aa[0]; + break; + } + } + if (!ai) { + ap = F; + } + } + am = ap.length >= 5 && 'lang-' === ap.substring(0, 5); + if (am && !(ai && typeof ai[1] === 'string')) { + am = false; + ap = J; + } + if (!am) { + aj[ag] = ap; + } + } + var ab = af; + af += ag.length; + if (!am) { + ad.push(Y + ab, ap); + } else { + var al = ai[1]; + var ak = ag.indexOf(al); + var ac = ak + al.length; + if (ai[2]) { + ac = ag.length - ai[2].length; + ak = ac - al.length; + } + var ar = ap.substring(5); + B(Y + ab, ag.substring(0, ak), W, ad); + B(Y + ab + ak, al, q(ar, al), ad); + B(Y + ab + ac, ag.substring(ac), W, ad); + } + } + ah.decorations = ad; + }; + return W; + } + function i(T) { + var W = [], + S = []; + if (T.tripleQuotedStrings) { + W.push([ + C, + /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, + null, + '\'"', + ]); + } else { + if (T.multiLineStrings) { + W.push([ + C, + /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, + null, + '\'"`', + ]); + } else { + W.push([ + C, + /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, + null, + '"\'', + ]); + } + } + if (T.verbatimStrings) { + S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]); + } + var Y = T.hashComments; + if (Y) { + if (T.cStyleComments) { + if (Y > 1) { + W.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']); + } else { + W.push([ + j, + /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/, + null, + '#', + ]); + } + S.push([C, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, null]); + } else { + W.push([j, /^#[^\r\n]*/, null, '#']); + } + } + if (T.cStyleComments) { + S.push([j, /^\/\/[^\r\n]*/, null]); + S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]); + } + if (T.regexLiterals) { + var X = + '/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/'; + S.push(['lang-regex', new RegExp('^' + M + '(' + X + ')')]); + } + var V = T.types; + if (V) { + S.push([O, V]); + } + var U = ('' + T.keywords).replace(/^ | $/g, ''); + if (U.length) { + S.push([z, new RegExp('^(?:' + U.replace(/[\s,]+/g, '|') + ')\\b'), null]); + } + W.push([F, /^\s+/, null, ' \r\n\t\xA0']); + S.push( + [G, /^@[a-z_$][a-z_$@0-9]*/i, null], + [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], + [F, /^[a-z_$][a-z_$@0-9]*/i, null], + [ + G, + new RegExp( + '^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*', + 'i' + ), + null, + '0123456789', + ], + [F, /^\\[\s\S]?/, null], + [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null] + ); + return g(W, S); + } + var K = i({ + keywords: A, + hashComments: true, + cStyleComments: true, + multiLineStrings: true, + regexLiterals: true, + }); + function Q(V, ag) { + var U = /(?:^|\s)nocode(?:\s|$)/; + var ab = /\r\n?|\n/; + var ac = V.ownerDocument; + var S; + if (V.currentStyle) { + S = V.currentStyle.whiteSpace; + } else { + if (window.getComputedStyle) { + S = ac.defaultView.getComputedStyle(V, null).getPropertyValue('white-space'); + } + } + var Z = S && 'pre' === S.substring(0, 3); + var af = ac.createElement('LI'); + while (V.firstChild) { + af.appendChild(V.firstChild); + } + var W = [af]; + function ae(al) { + switch (al.nodeType) { + case 1: + if (U.test(al.className)) { + break; + } + if ('BR' === al.nodeName) { + ad(al); + if (al.parentNode) { + al.parentNode.removeChild(al); + } + } else { + for (var an = al.firstChild; an; an = an.nextSibling) { + ae(an); + } + } + break; + case 3: + case 4: + if (Z) { + var am = al.nodeValue; + var aj = am.match(ab); + if (aj) { + var ai = am.substring(0, aj.index); + al.nodeValue = ai; + var ah = am.substring(aj.index + aj[0].length); + if (ah) { + var ak = al.parentNode; + ak.insertBefore(ac.createTextNode(ah), al.nextSibling); + } + ad(al); + if (!ai) { + al.parentNode.removeChild(al); + } + } + } + break; + } + } + function ad(ak) { + while (!ak.nextSibling) { + ak = ak.parentNode; + if (!ak) { + return; + } + } + function ai(al, ar) { + var aq = ar ? al.cloneNode(false) : al; + var ao = al.parentNode; + if (ao) { + var ap = ai(ao, 1); + var an = al.nextSibling; + ap.appendChild(aq); + for (var am = an; am; am = an) { + an = am.nextSibling; + ap.appendChild(am); + } + } + return aq; + } + var ah = ai(ak.nextSibling, 0); + for (var aj; (aj = ah.parentNode) && aj.nodeType === 1; ) { + ah = aj; + } + W.push(ah); + } + for (var Y = 0; Y < W.length; ++Y) { + ae(W[Y]); + } + if (ag === (ag | 0)) { + W[0].setAttribute('value', ag); + } + var aa = ac.createElement('OL'); + aa.className = 'linenums'; + var X = Math.max(0, (ag - 1) | 0) || 0; + for (var Y = 0, T = W.length; Y < T; ++Y) { + af = W[Y]; + af.className = 'L' + ((Y + X) % 10); + if (!af.firstChild) { + af.appendChild(ac.createTextNode('\xA0')); + } + aa.appendChild(af); + } + V.appendChild(aa); + } + function D(ac) { + var aj = /\bMSIE\b/.test(navigator.userAgent); + var am = /\n/g; + var al = ac.sourceCode; + var an = al.length; + var V = 0; + var aa = ac.spans; + var T = aa.length; + var ah = 0; + var X = ac.decorations; + var Y = X.length; + var Z = 0; + X[Y] = an; + var ar, aq; + for (aq = ar = 0; aq < Y; ) { + if (X[aq] !== X[aq + 2]) { + X[ar++] = X[aq++]; + X[ar++] = X[aq++]; + } else { + aq += 2; + } + } + Y = ar; + for (aq = ar = 0; aq < Y; ) { + var at = X[aq]; + var ab = X[aq + 1]; + var W = aq + 2; + while (W + 2 <= Y && X[W + 1] === ab) { + W += 2; + } + X[ar++] = at; + X[ar++] = ab; + aq = W; + } + Y = X.length = ar; + var ae = null; + while (ah < T) { + var af = aa[ah]; + var S = aa[ah + 2] || an; + var ag = X[Z]; + var ap = X[Z + 2] || an; + var W = Math.min(S, ap); + var ak = aa[ah + 1]; + var U; + if (ak.nodeType !== 1 && (U = al.substring(V, W))) { + if (aj) { + U = U.replace(am, '\r'); + } + ak.nodeValue = U; + var ai = ak.ownerDocument; + var ao = ai.createElement('SPAN'); + ao.className = X[Z + 1]; + var ad = ak.parentNode; + ad.replaceChild(ao, ak); + ao.appendChild(ak); + if (V < S) { + aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S)); + ad.insertBefore(ak, ao.nextSibling); + } + } + V = W; + if (V >= S) { + ah += 2; + } + if (V >= ap) { + Z += 2; + } + } + } + var t = {}; + function c(U, V) { + for (var S = V.length; --S >= 0; ) { + var T = V[S]; + if (!t.hasOwnProperty(T)) { + t[T] = U; + } else { + if (window.console) { + console.warn('cannot override language handler %s', T); + } + } + } + } + function q(T, S) { + if (!(T && t.hasOwnProperty(T))) { + T = /^\s*]*(?:>|$)/], + [j, /^<\!--[\s\S]*?(?:-\->|$)/], + ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], + ['lang-', /^<%([\s\S]+?)(?:%>|$)/], + [L, /^(?:<[%?]|[%?]>)/], + ['lang-', /^]*>([\s\S]+?)<\/xmp\b[^>]*>/i], + ['lang-js', /^]*>([\s\S]*?)(<\/script\b[^>]*>)/i], + ['lang-css', /^]*>([\s\S]*?)(<\/style\b[^>]*>)/i], + ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], + ] + ), + ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl'] + ); + c( + g( + [ + [F, /^[\s]+/, null, ' \t\r\n'], + [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '"\''], + ], + [ + [m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], + [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], + ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], + [L, /^[=<>\/]+/], + ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i], + ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i], + ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i], + ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i], + ['lang-css', /^style\s*=\s*\'([^\']+)\'/i], + ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i], + ] + ), + ['in.tag'] + ); + c(g([], [[n, /^[\s\S]+/]]), ['uq.val']); + c(i({ keywords: l, hashComments: true, cStyleComments: true, types: e }), [ + 'c', + 'cc', + 'cpp', + 'cxx', + 'cyc', + 'm', + ]); + c(i({ keywords: 'null,true,false' }), ['json']); + c(i({ keywords: R, hashComments: true, cStyleComments: true, verbatimStrings: true, types: e }), [ + 'cs', + ]); + c(i({ keywords: x, cStyleComments: true }), ['java']); + c(i({ keywords: H, hashComments: true, multiLineStrings: true }), ['bsh', 'csh', 'sh']); + c(i({ keywords: I, hashComments: true, multiLineStrings: true, tripleQuotedStrings: true }), [ + 'cv', + 'py', + ]); + c(i({ keywords: s, hashComments: true, multiLineStrings: true, regexLiterals: true }), [ + 'perl', + 'pl', + 'pm', + ]); + c(i({ keywords: f, hashComments: true, multiLineStrings: true, regexLiterals: true }), ['rb']); + c(i({ keywords: w, cStyleComments: true, regexLiterals: true }), ['js']); + c( + i({ + keywords: r, + hashComments: 3, + cStyleComments: true, + multilineStrings: true, + tripleQuotedStrings: true, + regexLiterals: true, + }), + ['coffee'] + ); + c(g([], [[C, /^[\s\S]+/]]), ['regex']); + function d(V) { + var U = V.langExtension; + try { + var S = a(V.sourceNode); + var T = S.sourceCode; + V.sourceCode = T; + V.spans = S.spans; + V.basePos = 0; + q(U, T)(V); + D(V); + } catch (W) { + if ('console' in window) { + console.log(W && W.stack ? W.stack : W); + } + } + } + function y(W, V, U) { + var S = document.createElement('PRE'); + S.innerHTML = W; + if (U) { + Q(S, U); + } + var T = { langExtension: V, numberLines: U, sourceNode: S }; + d(T); + return S.innerHTML; + } + function b(ad) { + function Y(af) { + return document.getElementsByTagName(af); + } + var ac = [Y('pre'), Y('code'), Y('xmp')]; + var T = []; + for (var aa = 0; aa < ac.length; ++aa) { + for (var Z = 0, V = ac[aa].length; Z < V; ++Z) { + T.push(ac[aa][Z]); + } + } + ac = null; + var W = Date; + if (!W.now) { + W = { + now: function () { + return +new Date(); + }, + }; + } + var X = 0; + var S; + var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/; + var ae = /\bprettyprint\b/; + function U() { + var ag = window.PR_SHOULD_USE_CONTINUATION ? W.now() + 250 : Infinity; + for (; X < T.length && W.now() < ag; X++) { + var aj = T[X]; + var ai = aj.className; + if (ai.indexOf('prettyprint') >= 0) { + var ah = ai.match(ab); + var am; + if (!ah && (am = o(aj)) && 'CODE' === am.tagName) { + ah = am.className.match(ab); + } + if (ah) { + ah = ah[1]; + } + var al = false; + for (var ak = aj.parentNode; ak; ak = ak.parentNode) { + if ( + (ak.tagName === 'pre' || ak.tagName === 'code' || ak.tagName === 'xmp') && + ak.className && + ak.className.indexOf('prettyprint') >= 0 + ) { + al = true; + break; + } + } + if (!al) { + var af = aj.className.match(/\blinenums\b(?::(\d+))?/); + af = af ? (af[1] && af[1].length ? +af[1] : true) : false; + if (af) { + Q(aj, af); + } + S = { langExtension: ah, sourceNode: aj, numberLines: af }; + d(S); + } + } + } + if (X < T.length) { + setTimeout(U, 250); + } else { + if (ad) { + ad(); + } + } + } + U(); + } + window.prettyPrintOne = y; + window.prettyPrint = b; + window.PR = { + createSimpleLexer: g, + registerLangHandler: c, + sourceDecorator: i, + PR_ATTRIB_NAME: P, + PR_ATTRIB_VALUE: n, + PR_COMMENT: j, + PR_DECLARATION: E, + PR_KEYWORD: z, + PR_LITERAL: G, + PR_NOCODE: N, + PR_PLAIN: F, + PR_PUNCTUATION: L, + PR_SOURCE: J, + PR_STRING: C, + PR_TAG: m, + PR_TYPE: O, + }; +})(); +PR.registerLangHandler( + PR.createSimpleLexer( + [], + [ + [PR.PR_DECLARATION, /^]*(?:>|$)/], + [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], + [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], + ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], + ['lang-', /^<%([\s\S]+?)(?:%>|$)/], + ['lang-', /^]*>([\s\S]+?)<\/xmp\b[^>]*>/i], + [ + 'lang-handlebars', + /^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i, + ], + ['lang-js', /^]*>([\s\S]*?)(<\/script\b[^>]*>)/i], + ['lang-css', /^]*>([\s\S]*?)(<\/style\b[^>]*>)/i], + ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], + [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/], + [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/], + [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/], + [PR.PR_COMMENT, /^{{![^}]*}}/], + ] + ), + ['handlebars', 'hbs'] +); +PR.registerLangHandler( + PR.createSimpleLexer( + [[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, ' \t\r\n\f']], + [ + [PR.PR_STRING, /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null], + [PR.PR_STRING, /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null], + ['lang-css-str', /^url\(([^\)\"\']*)\)/i], + [ + PR.PR_KEYWORD, + /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i, + null, + ], + ['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i], + [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], + [PR.PR_COMMENT, /^(?:)/], + [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], + [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i], + [PR.PR_PLAIN, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i], + [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/], + ] + ), + ['css'] +); +PR.registerLangHandler( + PR.createSimpleLexer( + [], + [[PR.PR_KEYWORD, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]] + ), + ['css-kw'] +); +PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]), ['css-str']); diff --git a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html index 9b0a8d6..bad86f5 100644 --- a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/components/clips/clip/BookmarkClip.tsx - - - - -
-
-

All files / renderer/src/components/clips/clip BookmarkClip.tsx

-
- -
- 100% - Statements - 3/3 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 3/3 -
- - + + + +
+
+

+ All files / + renderer/src/components/clips/clip BookmarkClip.tsx +

+
+
+ 100% + Statements + 3/3 +
+ +
+ 100% + Branches + 2/2 +
+ +
+ 100% + Functions + 1/1 +
+ +
+ 100% + Lines + 3/3 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -128,21 +124,22 @@

All files / ren };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html index 09b9b67..3db982a 100644 --- a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/components/clips/clip/HtmlClip.tsx - - - - -
-
-

All files / renderer/src/components/clips/clip HtmlClip.tsx

-
- -
- 100% - Statements - 3/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 3/3 -
- - + + + +
+
+

+ All files / + renderer/src/components/clips/clip HtmlClip.tsx +

+
+
+ 100% + Statements + 3/3 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 1/1 +
+ +
+ 100% + Lines + 3/3 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -119,21 +115,22 @@

All files / ren };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html index f2dc308..4681315 100644 --- a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/components/clips/clip/ImageClip.tsx - - - - -
-
-

All files / renderer/src/components/clips/clip ImageClip.tsx

-
- -
- 15.62% - Statements - 5/32 -
- - -
- 7.14% - Branches - 1/14 -
- - -
- 33.33% - Functions - 1/3 -
- - -
- 15.62% - Lines - 5/32 -
- - + + + +
+
+

+ All files / + renderer/src/components/clips/clip ImageClip.tsx +

+
+
+ 15.62% + Statements + 5/32 +
+ +
+ 7.14% + Branches + 1/14 +
+ +
+ 33.33% + Functions + 1/3 +
+ +
+ 15.62% + Lines + 5/32 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -359,21 +355,22 @@

All files / ren };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html index a752421..2d086b1 100644 --- a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/components/clips/clip/TextClip.tsx - - - - -
-
-

All files / renderer/src/components/clips/clip TextClip.tsx

-
- -
- 29.68% - Statements - 19/64 -
- - -
- 15.55% - Branches - 7/45 -
- - -
- 27.27% - Functions - 3/11 -
- - -
- 29.68% - Lines - 19/64 -
- - + + + +
+
+

+ All files / + renderer/src/components/clips/clip TextClip.tsx +

+
+
+ 29.68% + Statements + 19/64 +
+ +
+ 15.55% + Branches + 7/45 +
+ +
+ 27.27% + Functions + 3/11 +
+ +
+ 29.68% + Lines + 19/64 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -731,21 +727,22 @@

All files / ren };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/index.html b/coverage/renderer/src/components/clips/clip/index.html index c6820f3..09f7ac0 100644 --- a/coverage/renderer/src/components/clips/clip/index.html +++ b/coverage/renderer/src/components/clips/clip/index.html @@ -1,161 +1,185 @@ - - - + Code coverage report for renderer/src/components/clips/clip - - - - -
-
-

All files renderer/src/components/clips/clip

-
- -
- 29.41% - Statements - 30/102 -
- - -
- 16.39% - Branches - 10/61 -
- - -
- 37.5% - Functions - 6/16 -
- - -
- 29.41% - Lines - 30/102 -
- - + + + +
+
+

+ All files renderer/src/components/clips/clip +

+
+
+ 29.41% + Statements + 30/102 +
+ +
+ 16.39% + Branches + 10/61 +
+ +
+ 37.5% + Functions + 6/16 +
+ +
+ 29.41% + Lines + 30/102 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
BookmarkClip.tsx -
-
100%3/3100%2/2100%1/1100%3/3
HtmlClip.tsx -
-
100%3/3100%0/0100%1/1100%3/3
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
+ BookmarkClip.tsx + +
+
+
+
+
100%3/3100%2/2100%1/1100%3/3
ImageClip.tsx -
-
15.62%5/327.14%1/1433.33%1/315.62%5/32
+ HtmlClip.tsx + +
+
+
+
+
100%3/3100%0/0100%1/1100%3/3
TextClip.tsx -
-
29.68%19/6415.55%7/4527.27%3/1129.68%19/64
+ ImageClip.tsx + +
+
+
+
+
15.62%5/327.14%1/1433.33%1/315.62%5/32
-
-
-
- - - - - - + + + TextClip.tsx + + +
+
+
+
+ + 29.68% + 19/64 + 15.55% + 7/45 + 27.27% + 3/11 + 29.68% + 19/64 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/hooks/index.html b/coverage/renderer/src/hooks/index.html index 988dad9..5d573ae 100644 --- a/coverage/renderer/src/hooks/index.html +++ b/coverage/renderer/src/hooks/index.html @@ -1,116 +1,123 @@ - - - + Code coverage report for renderer/src/hooks - - - - -
-
+ + + +
+

All files renderer/src/hooks

-
- -
- 77.77% - Statements - 21/27 -
- - -
- 60% - Branches - 6/10 -
- - -
- 75% - Functions - 3/4 -
- - -
- 77.77% - Lines - 21/27 -
- - +
+
+ 77.77% + Statements + 21/27 +
+ +
+ 60% + Branches + 6/10 +
+ +
+ 75% + Functions + 3/4 +
+ +
+ 77.77% + Lines + 21/27 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File + Statements + BranchesFunctionsLines
+ usePatternDetection.ts + +
+
+
+
+
77.77%21/2760%6/1075%3/477.77%21/27
+
+
+
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
usePatternDetection.ts -
-
77.77%21/2760%6/1075%3/477.77%21/27
-
-
-
- - - - - - + + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/hooks/usePatternDetection.ts.html b/coverage/renderer/src/hooks/usePatternDetection.ts.html index 80c34d7..671c2b1 100644 --- a/coverage/renderer/src/hooks/usePatternDetection.ts.html +++ b/coverage/renderer/src/hooks/usePatternDetection.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/hooks/usePatternDetection.ts - - - - -
-
-

All files / renderer/src/hooks usePatternDetection.ts

-
- -
- 77.77% - Statements - 21/27 -
- - -
- 60% - Branches - 6/10 -
- - -
- 75% - Functions - 3/4 -
- - -
- 77.77% - Lines - 21/27 -
- - + + + +
+
+

+ All files / + renderer/src/hooks usePatternDetection.ts +

+
+
+ 77.77% + Statements + 21/27 +
+ +
+ 60% + Branches + 6/10 +
+ +
+ 75% + Functions + 3/4 +
+ +
+ 77.77% + Lines + 21/27 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -236,21 +232,22 @@

All files / renderer/ }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/providers/index.html b/coverage/renderer/src/providers/index.html index 300b0e5..825d2b8 100644 --- a/coverage/renderer/src/providers/index.html +++ b/coverage/renderer/src/providers/index.html @@ -1,116 +1,123 @@ - - - + Code coverage report for renderer/src/providers - - - - -
-
+ + + +
+

All files renderer/src/providers

-
- -
- 81.35% - Statements - 48/59 -
- - -
- 60% - Branches - 12/20 -
- - -
- 81.81% - Functions - 9/11 -
- - -
- 85.18% - Lines - 46/54 -
- - +
+
+ 81.35% + Statements + 48/59 +
+ +
+ 60% + Branches + 12/20 +
+ +
+ 81.81% + Functions + 9/11 +
+ +
+ 85.18% + Lines + 46/54 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File + Statements + BranchesFunctionsLines
+ theme.tsx + +
+
+
+
+
81.35%48/5960%12/2081.81%9/1185.18%46/54
+
+
+
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
theme.tsx -
-
81.35%48/5960%12/2081.81%9/1185.18%46/54
-
-
-
- - - - - - + + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/providers/theme.tsx.html b/coverage/renderer/src/providers/theme.tsx.html index 11d9ae0..e9e764c 100644 --- a/coverage/renderer/src/providers/theme.tsx.html +++ b/coverage/renderer/src/providers/theme.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/providers/theme.tsx - - - - -
-
-

All files / renderer/src/providers theme.tsx

-
- -
- 81.35% - Statements - 48/59 -
- - -
- 60% - Branches - 12/20 -
- - -
- 81.81% - Functions - 9/11 -
- - -
- 85.18% - Lines - 46/54 -
- - + + + +
+
+

+ All files / + renderer/src/providers theme.tsx +

+
+
+ 81.35% + Statements + 48/59 +
+ +
+ 60% + Branches + 12/20 +
+ +
+ 81.81% + Functions + 9/11 +
+ +
+ 85.18% + Lines + 46/54 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -476,21 +472,22 @@

All files / renderer/ };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/utils/index.html b/coverage/renderer/src/utils/index.html index 06681cc..3a71685 100644 --- a/coverage/renderer/src/utils/index.html +++ b/coverage/renderer/src/utils/index.html @@ -1,116 +1,123 @@ - - - + Code coverage report for renderer/src/utils - - - - -
-
+ + + +
+

All files renderer/src/utils

-
- -
- 90.56% - Statements - 48/53 -
- - -
- 76.47% - Branches - 26/34 -
- - -
- 100% - Functions - 12/12 -
- - -
- 90.38% - Lines - 47/52 -
- - +
+
+ 90.56% + Statements + 48/53 +
+ +
+ 76.47% + Branches + 26/34 +
+ +
+ 100% + Functions + 12/12 +
+ +
+ 90.38% + Lines + 47/52 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File + Statements + BranchesFunctionsLines
+ languageDetection.ts + +
+
+
+
+
90.56%48/5376.47%26/34100%12/1290.38%47/52
+
+
+
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
languageDetection.ts -
-
90.56%48/5376.47%26/34100%12/1290.38%47/52
-
-
-
- - - - - - + + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/utils/languageDetection.ts.html b/coverage/renderer/src/utils/languageDetection.ts.html index d8d652e..074f518 100644 --- a/coverage/renderer/src/utils/languageDetection.ts.html +++ b/coverage/renderer/src/utils/languageDetection.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/utils/languageDetection.ts - - - - -
-
-

All files / renderer/src/utils languageDetection.ts

-
- -
- 90.56% - Statements - 48/53 -
- - -
- 76.47% - Branches - 26/34 -
- - -
- 100% - Functions - 12/12 -
- - -
- 90.38% - Lines - 47/52 -
- - + + + +
+
+

+ All files / + renderer/src/utils languageDetection.ts +

+
+
+ 90.56% + Statements + 48/53 +
+ +
+ 76.47% + Branches + 26/34 +
+ +
+ 100% + Functions + 12/12 +
+ +
+ 90.38% + Lines + 47/52 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -1700,21 +1696,22 @@

All files / renderer/ }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/shared/constants.ts.html b/coverage/shared/constants.ts.html index 9a453ab..41ed966 100644 --- a/coverage/shared/constants.ts.html +++ b/coverage/shared/constants.ts.html @@ -1,88 +1,84 @@ - - - + Code coverage report for shared/constants.ts - - - - -
-
-

All files / shared constants.ts

-
- -
- 100% - Statements - 1/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 1/1 -
- - + + + +
+
+

+ All files / shared constants.ts +

+
+
+ 100% + Statements + 1/1 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 0/0 +
+ +
+ 100% + Lines + 1/1 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 21x  
export const DEFAULT_MAX_CLIPS = 100;
  
-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/shared/index.html b/coverage/shared/index.html index f40e450..6ddc888 100644 --- a/coverage/shared/index.html +++ b/coverage/shared/index.html @@ -1,116 +1,123 @@ - - - + Code coverage report for shared - - - - -
-
+ + + +
+

All files shared

-
- -
- 100% - Statements - 1/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 1/1 -
- - +
+
+ 100% + Statements + 1/1 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 0/0 +
+ +
+ 100% + Lines + 1/1 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File + Statements + BranchesFunctionsLines
+ constants.ts + +
+
+
+
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
constants.ts -
-
100%1/1100%0/0100%0/0100%1/1
-
-
-
- - - - - - + + + + + + + - \ No newline at end of file diff --git a/coverage/sorter.js b/coverage/sorter.js index 4ed70ae..b73cd86 100644 --- a/coverage/sorter.js +++ b/coverage/sorter.js @@ -1,210 +1,205 @@ /* eslint-disable */ -var addSorting = (function() { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false - }; +var addSorting = (function () { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false, + }; - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + + // Try to create a RegExp from the searchValue. If it fails (invalid regex), + // it will be treated as a plain text search + let searchRegex; + try { + searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive + } catch (error) { + searchRegex = null; } - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - - // Try to create a RegExp from the searchValue. If it fails (invalid regex), - // it will be treated as a plain text search - let searchRegex; - try { - searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive - } catch (error) { - searchRegex = null; - } + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + let isMatch = false; - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - let isMatch = false; - - if (searchRegex) { - // If a valid regex was created, use it for matching - isMatch = searchRegex.test(row.textContent); - } else { - // Otherwise, fall back to the original plain text search - isMatch = row.textContent - .toLowerCase() - .includes(searchValue.toLowerCase()); - } - - row.style.display = isMatch ? '' : 'none'; - } - } + if (searchRegex) { + // If a valid regex was created, use it for matching + isMatch = searchRegex.test(row.textContent); + } else { + // Otherwise, fall back to the original plain text search + isMatch = row.textContent.toLowerCase().includes(searchValue.toLowerCase()); + } - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); + row.style.display = isMatch ? '' : 'none'; } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = - colNode.innerHTML + ''; - } - } - return cols; + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string', + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = colNode.innerHTML + ''; + } } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); } + } } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; })(); window.addEventListener('load', addSorting); diff --git a/docs/TOOLS_LAUNCHER_HOTKEY_TESTING.md b/docs/TOOLS_LAUNCHER_HOTKEY_TESTING.md index 0c3c565..9fb9ee8 100644 --- a/docs/TOOLS_LAUNCHER_HOTKEY_TESTING.md +++ b/docs/TOOLS_LAUNCHER_HOTKEY_TESTING.md @@ -4,7 +4,7 @@ ### Test Steps: -1. **Enable Hotkeys**: +1. **Enable Hotkeys**: - Open Clipless Settings (gear icon or Ctrl+Shift+V) - Go to "Hotkeys" tab - Ensure "Enable Global Hotkeys" is checked @@ -29,6 +29,7 @@ - You should be able to select patterns and tools to launch ### Expected Behavior: + - Hotkey works even when main window is hidden/minimized - Opens tools launcher with the first (most recent) clip content - Automatically scans for patterns and displays results @@ -36,6 +37,7 @@ - After launching tools, window closes automatically ### Configuration: + - Default hotkey: `CommandOrControl+Shift+T` - Can be customized in Settings > Hotkeys - Can be enabled/disabled individually diff --git a/docs/TOOLS_LAUNCHER_IMPLEMENTATION.md b/docs/TOOLS_LAUNCHER_IMPLEMENTATION.md index e41022f..9211d64 100644 --- a/docs/TOOLS_LAUNCHER_IMPLEMENTATION.md +++ b/docs/TOOLS_LAUNCHER_IMPLEMENTATION.md @@ -7,20 +7,24 @@ The QuickClipsScanner functionality has been extracted from the main window into ## Changes Made ### 1. Configuration Updates + - **electron.vite.config.ts**: Added `tools-launcher` entry point to build configuration - **HTML File**: Created `src/renderer/tools-launcher.html` for the tools launcher window - **Entry Point**: Created `src/renderer/src/tools-launcher-main.tsx` to bootstrap the launcher ### 2. New Components + - **ToolsLauncher**: New React component that wraps the QuickClipsScanner in a window context - **Updated QuickClipsScanner**: Modified to work both as a modal (legacy) and standalone window ### 3. Window Management + - **createToolsLauncherWindow()**: New function in `src/main/window/creation.ts` - **Window positioning**: Similar to settings window, positioned relative to main window - **Window properties**: 1000x700px, non-resizable, modal parent relationship ### 4. IPC Integration + - **open-tools-launcher**: Opens tools launcher window with clip content - **close-tools-launcher**: Closes the tools launcher window - **tools-launcher-ready**: Signals when window is ready for data @@ -28,10 +32,12 @@ The QuickClipsScanner functionality has been extracted from the main window into - **onToolsLauncherInitialize**: Listener for initialization data ### 5. CSS Updates + - **Standalone Mode**: Added `.standalone` style for full-window display - **Removed Overlay**: No overlay needed when used as dedicated window ### 6. Hotkey Integration + - **New Hotkey**: `CommandOrControl+Shift+T` to open tools launcher for the first (most recent) clip - **Global Access**: Works even when main window is hidden/minimized - **Settings Integration**: Configurable in Settings > Hotkeys section @@ -39,14 +45,18 @@ The QuickClipsScanner functionality has been extracted from the main window into ## Usage ### Via Scan Button + When users click the scan button (🔍) on any clip: + 1. A new tools-launcher window opens with the clip content 2. The window automatically scans for patterns and displays results 3. Users can select patterns and tools, then launch them 4. Window closes automatically after tools are launched or when cancelled ### Via Hotkey + Users can press `Ctrl+Shift+T` (or `Cmd+Shift+T` on Mac): + 1. Opens tools launcher with the most recent (first) clip content 2. Works even when the main window is hidden or minimized 3. Provides quick access to tools without navigating the UI diff --git a/src/main/clipboard/data.test.ts b/src/main/clipboard/data.test.ts index 920672d..be4ef99 100644 --- a/src/main/clipboard/data.test.ts +++ b/src/main/clipboard/data.test.ts @@ -36,7 +36,10 @@ describe('getCurrentClipboardData', () => { vi.mocked(clipboard.readText).mockReturnValue(''); vi.mocked(clipboard.readRTF).mockReturnValue(''); vi.mocked(clipboard.readHTML).mockReturnValue(''); - vi.mocked(clipboard.readImage).mockReturnValue({ isEmpty: () => true, toDataURL: () => '' } as any); + vi.mocked(clipboard.readImage).mockReturnValue({ + isEmpty: () => true, + toDataURL: () => '', + } as any); vi.mocked(clipboard.readBookmark).mockReturnValue({ title: '', url: '' }); }); @@ -104,7 +107,12 @@ describe('setClipboardImage', () => { describe('setClipboardBookmark', () => { it('writes bookmark data', () => { - setClipboardBookmark({ text: 'Example', html: 'Example', title: 'Ex', url: 'https://example.com' }); + setClipboardBookmark({ + text: 'Example', + html: 'Example', + title: 'Ex', + url: 'https://example.com', + }); expect(clipboard.write).toHaveBeenCalledWith({ text: 'Example', html: 'Example' }); }); }); diff --git a/src/main/clipboard/ipc.ts b/src/main/clipboard/ipc.ts index ee2a50c..86bf69a 100644 --- a/src/main/clipboard/ipc.ts +++ b/src/main/clipboard/ipc.ts @@ -114,7 +114,9 @@ export function setupClipboardIPC(mainWindow: BrowserWindow | null): void { saveClips(clips, lockedIndices) ); ipcMain.handle('storage-get-settings', async () => getSettings()); - ipcMain.handle('storage-save-settings', async (_event, settings: UserSettings) => saveSettings(settings)); + ipcMain.handle('storage-save-settings', async (_event, settings: UserSettings) => + saveSettings(settings) + ); ipcMain.handle('storage-get-stats', async () => getStorageStats()); ipcMain.handle('storage-export-data', async () => exportData()); ipcMain.handle('storage-import-data', async (_event, jsonData: string) => importData(jsonData)); @@ -134,7 +136,12 @@ export function setupClipboardIPC(mainWindow: BrowserWindow | null): void { ); ipcMain.handle( 'templates-generate-text', - async (_event, templateId: string, clipContents: string[], captures?: Record) => { + async ( + _event, + templateId: string, + clipContents: string[], + captures?: Record + ) => { const templates = await getAllTemplates(); const template = templates.find((t) => t.id === templateId); const templateName = template?.name || 'Unknown'; @@ -171,7 +178,9 @@ export function setupClipboardIPC(mainWindow: BrowserWindow | null): void { updateQuickTool(id, updates) ); ipcMain.handle('quick-tools-delete', async (_event, id: string) => deleteQuickTool(id)); - ipcMain.handle('quick-tools-reorder', async (_event, tools: QuickTool[]) => reorderQuickTools(tools)); + ipcMain.handle('quick-tools-reorder', async (_event, tools: QuickTool[]) => + reorderQuickTools(tools) + ); ipcMain.handle('quick-tools-validate-url', async (_event, url: string, captureGroups: string[]) => validateToolUrl(url, captureGroups) ); @@ -180,8 +189,10 @@ export function setupClipboardIPC(mainWindow: BrowserWindow | null): void { ipcMain.handle('quick-clips-scan-text', async (_event, text: string) => scanTextForPatterns(text) ); - ipcMain.handle('quick-clips-open-tools', async (_event, matches: PatternMatch[], toolIds: string[]) => - openToolsForMatches(matches, toolIds) + ipcMain.handle( + 'quick-clips-open-tools', + async (_event, matches: PatternMatch[], toolIds: string[]) => + openToolsForMatches(matches, toolIds) ); ipcMain.handle('quick-clips-export-config', async () => exportQuickClipsConfig()); ipcMain.handle('quick-clips-import-config', async (_event, config: QuickClipsConfig) => diff --git a/src/main/clipboard/quick-tools.test.ts b/src/main/clipboard/quick-tools.test.ts index 9cc1abb..732a608 100644 --- a/src/main/clipboard/quick-tools.test.ts +++ b/src/main/clipboard/quick-tools.test.ts @@ -31,10 +31,7 @@ describe('validateToolUrl', () => { }); it('validates multiple tokens', async () => { - const result = await validateToolUrl('https://example.com/{name}/{email}', [ - 'name', - 'email', - ]); + const result = await validateToolUrl('https://example.com/{name}/{email}', ['name', 'email']); expect(result.isValid).toBe(true); }); diff --git a/src/main/hotkeys/actions.ts b/src/main/hotkeys/actions.ts index eca9be2..3cb4f46 100644 --- a/src/main/hotkeys/actions.ts +++ b/src/main/hotkeys/actions.ts @@ -164,7 +164,7 @@ export class HotkeyActions { // Import the createToolsLauncherWindow function const { createToolsLauncherWindow } = await import('../window/creation.js'); - + // Open the tools launcher with the first clip's content createToolsLauncherWindow(firstClip.clip.content); diff --git a/src/main/storage/file-operations.test.ts b/src/main/storage/file-operations.test.ts index 71d4c87..abc16b8 100644 --- a/src/main/storage/file-operations.test.ts +++ b/src/main/storage/file-operations.test.ts @@ -19,7 +19,12 @@ vi.mock('fs', () => ({ }, })); -import { saveToFile, loadFromFile, ensureDataDirectory, isEncryptionAvailable } from './file-operations'; +import { + saveToFile, + loadFromFile, + ensureDataDirectory, + isEncryptionAvailable, +} from './file-operations'; import { safeStorage } from 'electron'; import { promises as fs } from 'fs'; diff --git a/src/main/storage/migration.test.ts b/src/main/storage/migration.test.ts index 43fc1e1..78d9b73 100644 --- a/src/main/storage/migration.test.ts +++ b/src/main/storage/migration.test.ts @@ -44,9 +44,7 @@ describe('migrateData', () => { it('preserves valid templates', () => { const data = { - templates: [ - { id: '1', name: 'T', content: 'c', createdAt: 1, updatedAt: 1, order: 0 }, - ], + templates: [{ id: '1', name: 'T', content: 'c', createdAt: 1, updatedAt: 1, order: 0 }], }; const result = migrateData(data); expect(result.templates).toHaveLength(1); diff --git a/src/preload/index.ts b/src/preload/index.ts index 4ca1204..efc40bd 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -71,7 +71,8 @@ const api = { templateId: string, clipContents: string[], captures?: Record - ) => electronAPI.ipcRenderer.invoke('templates-generate-text', templateId, clipContents, captures), + ) => + electronAPI.ipcRenderer.invoke('templates-generate-text', templateId, clipContents, captures), // Quick Clips - Search Terms APIs searchTermsGetAll: () => electronAPI.ipcRenderer.invoke('search-terms-get-all'), diff --git a/src/renderer/src/ToolsLauncher.tsx b/src/renderer/src/ToolsLauncher.tsx index a7543f4..2d86435 100644 --- a/src/renderer/src/ToolsLauncher.tsx +++ b/src/renderer/src/ToolsLauncher.tsx @@ -33,14 +33,16 @@ export default function ToolsLauncher(): React.JSX.Element { if (!isReady) { return ( -
+
Loading...
@@ -50,11 +52,7 @@ export default function ToolsLauncher(): React.JSX.Element { return (
- +
); diff --git a/src/renderer/src/components/clips/QuickClipsScanner.tsx b/src/renderer/src/components/clips/QuickClipsScanner.tsx index 73f6842..010744f 100644 --- a/src/renderer/src/components/clips/QuickClipsScanner.tsx +++ b/src/renderer/src/components/clips/QuickClipsScanner.tsx @@ -396,12 +396,10 @@ export function QuickClipsScanner({
{loading ? ( diff --git a/src/renderer/src/components/clips/clip/BookmarkClip.test.tsx b/src/renderer/src/components/clips/clip/BookmarkClip.test.tsx index fc2b620..15dad45 100644 --- a/src/renderer/src/components/clips/clip/BookmarkClip.test.tsx +++ b/src/renderer/src/components/clips/clip/BookmarkClip.test.tsx @@ -24,9 +24,7 @@ describe('BookmarkClip', () => { it('renders Untitled for missing title', () => { const { container } = render( - + ); expect(container.textContent).toContain('Untitled'); }); diff --git a/src/renderer/src/components/clips/clip/ImageClip.test.tsx b/src/renderer/src/components/clips/clip/ImageClip.test.tsx index 9f8978b..5a02836 100644 --- a/src/renderer/src/components/clips/clip/ImageClip.test.tsx +++ b/src/renderer/src/components/clips/clip/ImageClip.test.tsx @@ -21,25 +21,19 @@ vi.mock('./Clip.module.css', () => ({ describe('ImageClip', () => { it('renders image with correct src', () => { - render( - - ); + render(); const images = screen.getAllByRole('img'); expect(images[0]).toHaveAttribute('src', 'data:image/png;base64,abc123'); }); it('displays image format', () => { - render( - - ); + render(); const pngElements = screen.getAllByText(/PNG/); expect(pngElements.length).toBeGreaterThan(0); }); it('displays approximate file size', () => { - render( - - ); + render(); const kbElements = screen.getAllByText(/KB/); expect(kbElements.length).toBeGreaterThan(0); }); diff --git a/src/renderer/src/components/clips/clip/TextClip.test.tsx b/src/renderer/src/components/clips/clip/TextClip.test.tsx index 47c7a4d..0835643 100644 --- a/src/renderer/src/components/clips/clip/TextClip.test.tsx +++ b/src/renderer/src/components/clips/clip/TextClip.test.tsx @@ -4,7 +4,13 @@ import { TextClip } from './TextClip'; // Mock providers vi.mock('../../../providers/theme', () => ({ - useTheme: () => ({ isLight: false, isDark: true, theme: 'dark', effectiveTheme: 'dark', setTheme: vi.fn() }), + useTheme: () => ({ + isLight: false, + isDark: true, + theme: 'dark', + effectiveTheme: 'dark', + setTheme: vi.fn(), + }), })); vi.mock('../../../providers/languageDetection', () => ({ @@ -30,32 +36,17 @@ vi.mock('./Clip.module.css', () => ({ describe('TextClip', () => { it('renders text content in display mode', () => { - render( - - ); + render(); expect(screen.getByText('Hello World')).toBeInTheDocument(); }); it('renders (empty) for empty content', () => { - render( - - ); + render(); expect(screen.getByText('(empty)')).toBeInTheDocument(); }); it('collapses multiline text to single line in display mode', () => { - render( - - ); + render(); expect(screen.getByText('line1 line2 line3')).toBeInTheDocument(); }); }); diff --git a/src/renderer/src/components/settings/TemplateManager.tsx b/src/renderer/src/components/settings/TemplateManager.tsx index ccdb818..0331da7 100644 --- a/src/renderer/src/components/settings/TemplateManager.tsx +++ b/src/renderer/src/components/settings/TemplateManager.tsx @@ -325,13 +325,17 @@ export function TemplateManager(): React.JSX.Element {
{expandedId === template.id && ( -
+
                         {template.content}
                       
-
+
void; } -const SAMPLE_TEXT = - 'The quick brown fox jumps over the lazy dog. Hello world! Test 123 abc xyz.'; +const SAMPLE_TEXT = 'The quick brown fox jumps over the lazy dog. Hello world! Test 123 abc xyz.'; function validatePattern(pattern: string): string | null { if (!pattern.trim()) { diff --git a/src/renderer/src/hooks/useContextMenu.ts b/src/renderer/src/hooks/useContextMenu.ts index 0b3497b..73911ae 100644 --- a/src/renderer/src/hooks/useContextMenu.ts +++ b/src/renderer/src/hooks/useContextMenu.ts @@ -17,7 +17,7 @@ export function useContextMenu() { const openContextMenu = useCallback((event: React.MouseEvent, targetIndex?: number) => { event.preventDefault(); event.stopPropagation(); - + setContextMenu({ isOpen: true, x: event.clientX, diff --git a/src/renderer/src/providers/clips/index.tsx b/src/renderer/src/providers/clips/index.tsx index 4741b3e..e62e9a3 100644 --- a/src/renderer/src/providers/clips/index.tsx +++ b/src/renderer/src/providers/clips/index.tsx @@ -1,4 +1,12 @@ -import { createContext, useContext, useMemo, useState, useRef, useEffect, useCallback } from 'react'; +import { + createContext, + useContext, + useMemo, + useState, + useRef, + useEffect, + useCallback, +} from 'react'; import { DEFAULT_MAX_CLIPS } from '../constants'; import { useLanguageDetection } from '../languageDetection'; import { ClipItem, ClipsContextType, ClipboardState } from './types'; diff --git a/test-results/.last-run.json b/test-results/.last-run.json index cbcc1fb..f740f7c 100644 --- a/test-results/.last-run.json +++ b/test-results/.last-run.json @@ -1,4 +1,4 @@ { "status": "passed", "failedTests": [] -} \ No newline at end of file +} From 520edf0ca1658874f9ab0fa72fdb6c3d4499bb94 Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 18:22:19 -0700 Subject: [PATCH 04/18] remove unnecessary files and add file missed --- .gitignore | 1 + e2e/tools.spec.ts | 361 ++++++++++++++++++++++++++++++++++++ test-results/.last-run.json | 4 - 3 files changed, 362 insertions(+), 4 deletions(-) create mode 100644 e2e/tools.spec.ts delete mode 100644 test-results/.last-run.json diff --git a/.gitignore b/.gitignore index 836febd..f64ded8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ out electron.vite.config.*.mjs .cursor/rules/user .claude/ +test-results/ diff --git a/e2e/tools.spec.ts b/e2e/tools.spec.ts new file mode 100644 index 0000000..1fca1a0 --- /dev/null +++ b/e2e/tools.spec.ts @@ -0,0 +1,361 @@ +import { test, expect, _electron as electron, ElectronApplication, Page } from '@playwright/test'; +import { resolve } from 'path'; + +const appPath = resolve(__dirname, '../out/main/index.js'); + +// Use unique suffixes to avoid collisions with persistent storage +const UNIQUE = Date.now().toString(36); + +async function launchApp() { + const app = await electron.launch({ args: [appPath] }); + const window = await app.firstWindow(); + await window.waitForSelector('#root > *'); + return { app, window }; +} + +async function findWindowByUrl( + app: ElectronApplication, + urlFragment: string, + timeoutMs = 15000 +): Promise { + const deadline = Date.now() + timeoutMs; + while (Date.now() < deadline) { + const windows = app.windows(); + for (const w of windows) { + try { + const url = w.url(); + if (url.includes(urlFragment)) return w; + } catch { + // Window may be closing + } + } + await new Promise((r) => setTimeout(r, 500)); + } + const urls = app.windows().map((w) => { + try { + return w.url(); + } catch { + return 'closed'; + } + }); + throw new Error(`Window with "${urlFragment}" not found. URLs: ${urls.join(', ')}`); +} + +async function openSettingsToolsTab(app: ElectronApplication, mainWindow: Page): Promise { + await mainWindow.evaluate(async () => { + const api = (window as any).api; + await api.openSettings('tools'); + }); + + // Wait for settings window to appear - retry if needed + let settingsPage: Page | null = null; + for (let attempt = 0; attempt < 3; attempt++) { + try { + settingsPage = await findWindowByUrl(app, 'settings.html'); + break; + } catch { + // Settings window may not have opened yet, retry + await new Promise((r) => setTimeout(r, 1000)); + await mainWindow.evaluate(async () => { + const api = (window as any).api; + await api.openSettings('tools'); + }); + } + } + if (!settingsPage) throw new Error('Could not open settings window'); + + await settingsPage.waitForSelector('#root > *'); + // Wait for the tools tab content to load + await settingsPage.waitForSelector('button:has-text("Search Terms")', { timeout: 10000 }); + return settingsPage; +} + +async function cleanupAllData(window: Page): Promise { + await window.evaluate(async () => { + const api = (window as any).api; + const terms = await api.searchTermsGetAll(); + for (const t of terms) await api.searchTermsDelete(t.id); + const tools = await api.quickToolsGetAll(); + for (const t of tools) await api.quickToolsDelete(t.id); + const templates = await api.templatesGetAll(); + for (const t of templates) await api.templatesDelete(t.id); + }); +} + +/** Click Delete on a card item and confirm in the dialog */ +async function deleteItemByName(page: Page, name: string): Promise { + // Click Delete button in the item header + const itemHeader = page.locator(`h4:has-text("${name}")`).locator('..'); + await itemHeader.locator('button:has-text("Delete")').click(); + + // Wait for and click the confirm dialog's Delete button + const confirmBtn = page.locator('button:has-text("Delete")').last(); + await confirmBtn.waitFor({ state: 'visible', timeout: 3000 }); + await confirmBtn.click(); +} + +test.describe('Settings — Search Terms CRUD', () => { + let app: ElectronApplication; + let settings: Page; + + test.beforeAll(async () => { + const result = await launchApp(); + app = result.app; + await cleanupAllData(result.window); + settings = await openSettingsToolsTab(app, result.window); + }); + + test.afterAll(async () => { + await app.close(); + }); + + test('create, edit, and delete a search term', async () => { + const name = `ST-${UNIQUE}`; + const nameUpdated = `ST-Upd-${UNIQUE}`; + + // Navigate to Search Terms sub-tab + await settings.click('button:has-text("Search Terms")'); + + // Create + await settings.click('button:has-text("Create Search Term")'); + await settings.fill('input[placeholder="Search term name"]', name); + await settings.fill( + 'textarea[placeholder*="Regular expression"]', + '(?[\\w.+-]+@[\\w-]+\\.[\\w.]+)' + ); + await settings.click('button:has-text("Save")'); + + // Verify appears + await expect(settings.locator('h4', { hasText: name })).toBeVisible(); + + // Edit + const header = settings.locator(`h4:has-text("${name}")`).locator('..'); + await header.locator('button:has-text("Edit")').click(); + await settings.fill('input[placeholder="Search term name"]', nameUpdated); + await settings.click('button:has-text("Save")'); + + await expect(settings.locator('h4', { hasText: nameUpdated })).toBeVisible(); + + // Delete with confirm + await deleteItemByName(settings, nameUpdated); + await expect(settings.locator('h4', { hasText: nameUpdated })).toBeHidden({ timeout: 5000 }); + }); +}); + +test.describe('Settings — Quick Tools CRUD', () => { + let app: ElectronApplication; + let settings: Page; + + test.beforeAll(async () => { + const result = await launchApp(); + app = result.app; + await cleanupAllData(result.window); + + // Seed a search term so capture groups exist + await result.window.evaluate(async () => { + const api = (window as any).api; + await api.searchTermsCreate('Email Finder', '(?[\\w.+-]+@[\\w-]+\\.[\\w.]+)'); + }); + + settings = await openSettingsToolsTab(app, result.window); + }); + + test.afterAll(async () => { + await app.close(); + }); + + test('create, edit, and delete a quick tool', async () => { + const name = `QT-${UNIQUE}`; + + // Navigate to Tools sub-tab (not the top-level "Tools" tab which is already active) + // The second "Tools" button is the sub-tab + await settings.locator('button:has-text("Tools")').nth(1).click(); + + // Create + await settings.click('button:has-text("Create Tool")'); + await settings.fill('input[placeholder="Tool name"]', name); + await settings.fill('input[type="url"]', 'https://example.com/search?q={email}'); + await settings.click('button:has-text("Save")'); + + // Verify appears + await expect(settings.locator('h4', { hasText: name })).toBeVisible(); + + // Edit + const header = settings.locator(`h4:has-text("${name}")`).locator('..'); + await header.locator('button:has-text("Edit")').click(); + await settings.fill('input[type="url"]', 'https://example.com/lookup?email={email}'); + await settings.click('button:has-text("Save")'); + + await expect(settings.locator('h4', { hasText: name })).toBeVisible(); + + // Delete with confirm + await deleteItemByName(settings, name); + await expect(settings.locator('h4', { hasText: name })).toBeHidden({ timeout: 5000 }); + }); +}); + +test.describe('Settings — Templates CRUD', () => { + let app: ElectronApplication; + let settings: Page; + + test.beforeAll(async () => { + const result = await launchApp(); + app = result.app; + await cleanupAllData(result.window); + settings = await openSettingsToolsTab(app, result.window); + }); + + test.afterAll(async () => { + await app.close(); + }); + + test('create, edit, and delete a template', async () => { + const name = `TPL-${UNIQUE}`; + const nameUpdated = `TPL-Upd-${UNIQUE}`; + + // Navigate to Templates sub-tab + await settings.click('button:has-text("Templates")'); + + // Create + await settings.click('button:has-text("Create Template")'); + await settings.fill('input[placeholder="Template name"]', name); + await settings.fill( + 'textarea[placeholder*="Template content"]', + 'Hello {c1}, your email is {email}' + ); + await settings.click('button:has-text("Save")'); + + // Verify appears (templates use h3, not h4) + await expect(settings.locator('h3', { hasText: name })).toBeVisible(); + + // Expand the template to reveal Edit/Delete buttons + await settings.locator('h3', { hasText: name }).click(); + await expect(settings.locator('button:has-text("Edit")')).toBeVisible({ timeout: 3000 }); + + // Edit + await settings.locator('button:has-text("Edit")').click(); + await settings.fill('input[placeholder="Template name"]', nameUpdated); + await settings.click('button:has-text("Save")'); + + await expect(settings.locator('h3', { hasText: nameUpdated })).toBeVisible(); + + // After save from edit, template should still be expanded (expandedId set by handleStartEdit) + // Delete button should be visible + await expect(settings.locator('button:has-text("Delete")')).toBeVisible({ timeout: 3000 }); + + // Delete — click Delete in the template actions + await settings.locator('button:has-text("Delete")').click(); + + // Confirm in the delete dialog + const confirmBtn = settings.locator('button:has-text("Delete")').last(); + await confirmBtn.waitFor({ state: 'visible', timeout: 3000 }); + await confirmBtn.click(); + + await expect(settings.locator('h3', { hasText: nameUpdated })).toBeHidden({ timeout: 5000 }); + }); +}); + +test.describe('Tools Launcher — Pattern Scanning', () => { + let app: ElectronApplication; + + test.beforeAll(async () => { + const result = await launchApp(); + app = result.app; + await cleanupAllData(result.window); + + // Seed search term, tool, and template + await result.window.evaluate(async () => { + const api = (window as any).api; + await api.searchTermsCreate('Email Pattern', '(?[\\w.+-]+@[\\w-]+\\.[\\w.]+)'); + await api.quickToolsCreate('Email Lookup', 'https://example.com/search?q={email}', ['email']); + await api.templatesCreate('Email Template', 'Contact: {email}'); + }); + }); + + test.afterAll(async () => { + await app.close(); + }); + + test('tools launcher shows patterns, tools, and templates for matching text', async () => { + const mainWindow = await app.firstWindow(); + + // Open tools launcher with text containing an email + await mainWindow.evaluate(async () => { + const api = (window as any).api; + await api.openToolsLauncher('Contact us at test@example.com for info'); + }); + + const launcher = await findWindowByUrl(app, 'tools-launcher'); + await launcher.waitForSelector('#root > *'); + + // Wait for scanning to complete + await launcher.waitForSelector('text=test@example.com', { timeout: 10000 }); + + // Verify pattern found + await expect(launcher.locator('text=test@example.com')).toBeVisible(); + + // Wait for content to fully load + await launcher.waitForTimeout(2000); + + // Check if tools section is expanded; if not, expand it + const toolsVisible = await launcher + .locator('text=Email Lookup') + .isVisible() + .catch(() => false); + if (!toolsVisible) { + // Click "Available Tools" to expand + await launcher.locator('text=Available Tools').click(); + } + await expect(launcher.locator('text=Email Lookup')).toBeVisible({ timeout: 5000 }); + + // Check if templates section is expanded; if not, expand it + const templateVisible = await launcher + .getByText('Email Template') + .isVisible() + .catch(() => false); + if (!templateVisible) { + await launcher.locator('span:has-text("Matched Templates")').click(); + } + await expect(launcher.getByText('Email Template')).toBeVisible({ timeout: 5000 }); + }); +}); + +test.describe('Tools Launcher — Clip Templates', () => { + let app: ElectronApplication; + + test.beforeAll(async () => { + const result = await launchApp(); + app = result.app; + await cleanupAllData(result.window); + + // Seed a positional-only template + await result.window.evaluate(async () => { + const api = (window as any).api; + await api.templatesCreate('Positional Template', 'First: {c1}, Second: {c2}'); + }); + }); + + test.afterAll(async () => { + await app.close(); + }); + + test('tools launcher shows clip templates', async () => { + const mainWindow = await app.firstWindow(); + + // Open tools launcher + await mainWindow.evaluate(async () => { + const api = (window as any).api; + await api.openToolsLauncher('Some clipboard text'); + }); + + const launcher = await findWindowByUrl(app, 'tools-launcher'); + await launcher.waitForSelector('#root > *'); + + // Wait for content to load + await launcher.waitForTimeout(2000); + + // Verify clip template section appears + await expect(launcher.locator('text=Clip Templates')).toBeVisible({ timeout: 10000 }); + await expect(launcher.locator('text=Positional Template').first()).toBeVisible(); + }); +}); diff --git a/test-results/.last-run.json b/test-results/.last-run.json deleted file mode 100644 index f740f7c..0000000 --- a/test-results/.last-run.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "status": "passed", - "failedTests": [] -} From 0fc242cdbf1cba73a835f36fba28556588b99b4b Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 18:22:30 -0700 Subject: [PATCH 05/18] 1.7.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8984e55..ae069c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "clipless", - "version": "1.7.0", + "version": "1.7.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "clipless", - "version": "1.7.0", + "version": "1.7.1", "hasInstallScript": true, "dependencies": { "@electron-toolkit/preload": "^3.0.1", diff --git a/package.json b/package.json index f5bfbbc..b923753 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "clipless", - "version": "1.7.0", + "version": "1.7.1", "description": "An Electron application with React and TypeScript", "main": "./out/main/index.js", "author": "Daniel Essig", From b2f076db1f6e41f6a82213a2dc553694953f6223 Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 20:25:09 -0700 Subject: [PATCH 06/18] 100% code coverage --- coverage/base.css | 384 +- coverage/block-navigation.js | 131 +- coverage/clover.xml | 1152 ++-- coverage/coverage-final.json | 5072 +---------------- coverage/index.html | 438 +- coverage/main/clipboard/data.ts.html | 232 +- coverage/main/clipboard/index.html | 271 +- coverage/main/clipboard/quick-clips.ts.html | 436 +- coverage/main/clipboard/quick-tools.ts.html | 247 +- coverage/main/hotkeys/actions.ts.html | 367 +- coverage/main/hotkeys/index.html | 273 +- coverage/main/hotkeys/manager.ts.html | 293 +- coverage/main/hotkeys/registry.ts.html | 177 +- coverage/main/storage/defaults.ts.html | 133 +- coverage/main/storage/file-operations.ts.html | 169 +- coverage/main/storage/index.html | 339 +- coverage/main/storage/migration.ts.html | 133 +- coverage/main/storage/search-terms.ts.html | 147 +- coverage/main/storage/templates.ts.html | 183 +- coverage/prettify.css | 102 +- coverage/prettify.js | 937 +-- .../clips/clip/BookmarkClip.tsx.html | 133 +- .../components/clips/clip/HtmlClip.tsx.html | 133 +- .../components/clips/clip/ImageClip.tsx.html | 260 +- .../components/clips/clip/TextClip.tsx.html | 370 +- .../src/components/clips/clip/index.html | 310 +- coverage/renderer/src/hooks/index.html | 205 +- .../src/hooks/usePatternDetection.ts.html | 203 +- coverage/renderer/src/providers/index.html | 205 +- .../renderer/src/providers/theme.tsx.html | 261 +- coverage/renderer/src/utils/index.html | 205 +- .../src/utils/languageDetection.ts.html | 249 +- coverage/shared/constants.ts.html | 132 +- coverage/shared/index.html | 205 +- coverage/sorter.js | 377 +- src/main/clipboard/data.test.ts | 101 + src/main/clipboard/quick-clips.test.ts | 357 +- src/main/clipboard/quick-clips.ts | 3 +- src/main/clipboard/quick-tools.test.ts | 105 +- src/main/hotkeys/actions.test.ts | 186 +- src/main/hotkeys/actions.ts | 6 +- src/main/hotkeys/manager.test.ts | 189 + src/main/hotkeys/registry.test.ts | 22 + src/main/storage/file-operations.test.ts | 22 + src/main/storage/search-terms.test.ts | 48 +- src/main/storage/templates.test.ts | 56 + .../components/clips/clip/ImageClip.test.tsx | 168 +- .../src/components/clips/clip/ImageClip.tsx | 1 + .../components/clips/clip/TextClip.test.tsx | 344 +- .../src/components/clips/clip/TextClip.tsx | 3 +- .../src/hooks/usePatternDetection.test.ts | 109 + src/renderer/src/providers/theme.test.tsx | 254 +- .../src/utils/languageDetection.test.ts | 62 +- 53 files changed, 6295 insertions(+), 10605 deletions(-) diff --git a/coverage/base.css b/coverage/base.css index 8cd9700..f418035 100644 --- a/coverage/base.css +++ b/coverage/base.css @@ -1,129 +1,71 @@ -body, -html { - margin: 0; - padding: 0; +body, html { + margin:0; padding: 0; height: 100%; } body { - font-family: - Helvetica Neue, - Helvetica, - Arial; - font-size: 14px; - color: #333; -} -.small { - font-size: 12px; -} -*, -*:after, -*:before { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -h1 { - font-size: 20px; - margin: 0; -} -h2 { - font-size: 14px; -} + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } pre { - font: - 12px/1.4 Consolas, - 'Liberation Mono', - Menlo, - Courier, - monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { - color: #0074d9; - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -.strong { - font-weight: bold; -} -.space-top1 { - padding: 10px 0 0 0; -} -.pad2y { - padding: 20px 0; -} -.pad1y { - padding: 10px 0; -} -.pad2x { - padding: 0 20px; -} -.pad2 { - padding: 20px; -} -.pad1 { - padding: 10px; -} -.space-left2 { - padding-left: 55px; -} -.space-right2 { - padding-right: 20px; -} -.center { - text-align: center; -} -.clearfix { - display: block; -} + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } .clearfix:after { - content: ''; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -.fl { - float: left; -} -@media only screen and (max-width: 640px) { - .col3 { - width: 100%; - max-width: 100%; - } - .hide-mobile { - display: none !important; + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } } .quiet { color: #7f7f7f; - color: rgba(0, 0, 0, 0.5); -} -.quiet a { - opacity: 0.7; + color: rgba(0,0,0,0.5); } +.quiet a { opacity: 0.7; } .fraction { font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 10px; color: #555; - background: #e8e8e8; + background: #E8E8E8; padding: 4px 5px; border-radius: 3px; vertical-align: middle; } -div.path a:link, -div.path a:visited { - color: #333; -} +div.path a:link, div.path a:visited { color: #333; } table.coverage { border-collapse: collapse; margin: 10px 0 0 0; @@ -136,219 +78,140 @@ table.coverage td { vertical-align: top; } table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; + text-align: right; + padding: 0 5px 0 20px; } table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width: 20px; + text-align: right; + padding-right: 10px; + min-width:20px; } table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; + display: inline-block; + padding: 0 5px; + width: 100%; } .missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; } .skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; } -.missing-if-branch .typ, -.skip-if-branch .typ { - color: inherit !important; +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; } .coverage-summary { border-collapse: collapse; width: 100%; } -.coverage-summary tr { - border-bottom: 1px solid #bbb; -} -.keyline-all { - border: 1px solid #ddd; -} -.coverage-summary td, -.coverage-summary th { - padding: 10px; -} -.coverage-summary tbody { - border: 1px solid #bbb; -} -.coverage-summary td { - border-right: 1px solid #bbb; -} -.coverage-summary td:last-child { - border-right: none; -} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } .coverage-summary th { text-align: left; font-weight: normal; white-space: nowrap; } -.coverage-summary th.file { - border-right: none !important; -} -.coverage-summary th.pct { -} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } .coverage-summary th.pic, .coverage-summary th.abs, .coverage-summary td.pct, -.coverage-summary td.abs { - text-align: right; -} -.coverage-summary td.file { - white-space: nowrap; -} -.coverage-summary td.pic { - min-width: 120px !important; -} -.coverage-summary tfoot td { -} +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } .coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; } .coverage-summary .sorted .sorter { - background-position: 0 -20px; + background-position: 0 -20px; } .coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { - height: 10px; + background-position: 0 -10px; } +.status-line { height: 10px; } /* yellow */ -.cbranch-no { - background: yellow !important; - color: #111; -} +.cbranch-no { background: yellow !important; color: #111; } /* dark red */ -.red.solid, -.status-line.low, -.low .cover-fill { - background: #c21f39; -} -.low .chart { - border: 1px solid #c21f39; -} +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } .highlighted, -.highlighted .cstat-no, -.highlighted .fstat-no, -.highlighted .cbranch-no { - background: #c21f39 !important; +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; } /* medium red */ -.cstat-no, -.fstat-no, -.cbranch-no, -.cbranch-no { - background: #f6c6ce; -} +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } /* light red */ -.low, -.cline-no { - background: #fce1e5; -} +.low, .cline-no { background:#FCE1E5 } /* light green */ -.high, -.cline-yes { - background: rgb(230, 245, 208); -} +.high, .cline-yes { background:rgb(230,245,208) } /* medium green */ -.cstat-yes { - background: rgb(161, 215, 106); -} +.cstat-yes { background:rgb(161,215,106) } /* dark green */ -.status-line.high, -.high .cover-fill { - background: rgb(77, 146, 33); -} -.high .chart { - border: 1px solid rgb(77, 146, 33); -} +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } /* dark yellow (gold) */ -.status-line.medium, -.medium .cover-fill { - background: #f9cd0b; -} -.medium .chart { - border: 1px solid #f9cd0b; -} +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } /* light yellow */ -.medium { - background: #fff4c2; -} +.medium { background: #fff4c2; } -.cstat-skip { - background: #ddd; - color: #111; -} -.fstat-skip { - background: #ddd; - color: #111 !important; -} -.cbranch-skip { - background: #ddd !important; - color: #111; -} +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } -span.cline-neutral { - background: #eaeaea; -} +span.cline-neutral { background: #eaeaea; } .coverage-summary td.empty { - opacity: 0.5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; } -.cover-fill, -.cover-empty { - display: inline-block; +.cover-fill, .cover-empty { + display:inline-block; height: 12px; } .chart { line-height: 0; } .cover-empty { - background: white; + background: white; } .cover-full { - border-right: none !important; + border-right: none !important; } pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { - color: #999 !important; -} -.ignore-none { - color: #999; - font-weight: normal; + border: none !important; + padding: 0 !important; + margin: 0 !important; } +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } .wrapper { min-height: 100%; @@ -356,7 +219,6 @@ pre.prettyprint { height: 100%; margin: 0 auto -48px; } -.footer, -.push { +.footer, .push { height: 48px; } diff --git a/coverage/block-navigation.js b/coverage/block-navigation.js index b7fa563..530d1ed 100644 --- a/coverage/block-navigation.js +++ b/coverage/block-navigation.js @@ -1,82 +1,87 @@ /* eslint-disable */ var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - // Selector that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + // Selector that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); - var currentIndex; + var currentIndex; - function toggleClass(index) { - missingCoverageElements.item(currentIndex).classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center', - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); } - makeCurrent(nextIndex); - } + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } - function goToNext() { - var nextIndex = 0; + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } - if (typeof currentIndex === 'number' && currentIndex < missingCoverageElements.length - 1) { - nextIndex = currentIndex + 1; + makeCurrent(nextIndex); } - makeCurrent(nextIndex); - } + function goToNext() { + var nextIndex = 0; - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; + makeCurrent(nextIndex); } - }; + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; })(); window.addEventListener('keydown', jumpToCode); diff --git a/coverage/clover.xml b/coverage/clover.xml index caff243..31636b4 100644 --- a/coverage/clover.xml +++ b/coverage/clover.xml @@ -1,365 +1,363 @@ - - - + + + - + - + - - + + - - + + - - + + - - + + - - - - - + + + + + - - - - + + + + - - - + + + - + - + - - - - - + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - + + + + + + + + - - + + - + - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - - + + + + + + + + + - + @@ -367,32 +365,32 @@ - - - - - - - - - - + + + + + + + + + + - - - + + + - + - - + + - + @@ -416,42 +414,42 @@ - - + + - + - + - - + + - + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - + @@ -465,255 +463,255 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json index 1569783..2c9d41a 100644 --- a/coverage/coverage-final.json +++ b/coverage/coverage-final.json @@ -1,5054 +1,20 @@ -{ - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts", - "statementMap": { - "0": { "start": { "line": 4, "column": 39 }, "end": { "line": 36, "column": null } }, - "1": { "start": { "line": 6, "column": 15 }, "end": { "line": 6, "column": null } }, - "2": { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, - "3": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": null } }, - "4": { "start": { "line": 11, "column": 14 }, "end": { "line": 11, "column": null } }, - "5": { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, - "6": { "start": { "line": 13, "column": 4 }, "end": { "line": 13, "column": null } }, - "7": { "start": { "line": 16, "column": 15 }, "end": { "line": 16, "column": null } }, - "8": { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, - "9": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, - "10": { "start": { "line": 21, "column": 16 }, "end": { "line": 21, "column": null } }, - "11": { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, - "12": { "start": { "line": 23, "column": 4 }, "end": { "line": 23, "column": null } }, - "13": { "start": { "line": 26, "column": 2 }, "end": { "line": 33, "column": null } }, - "14": { "start": { "line": 27, "column": 21 }, "end": { "line": 27, "column": null } }, - "15": { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, - "16": { "start": { "line": 29, "column": 6 }, "end": { "line": 29, "column": null } }, - "17": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": null } }, - "18": { "start": { "line": 39, "column": 32 }, "end": { "line": 39, "column": null } }, - "19": { "start": { "line": 39, "column": 46 }, "end": { "line": 39, "column": null } }, - "20": { "start": { "line": 40, "column": 32 }, "end": { "line": 40, "column": null } }, - "21": { "start": { "line": 40, "column": 46 }, "end": { "line": 40, "column": null } }, - "22": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": null } }, - "23": { "start": { "line": 41, "column": 45 }, "end": { "line": 41, "column": null } }, - "24": { "start": { "line": 43, "column": 33 }, "end": { "line": 49, "column": null } }, - "25": { "start": { "line": 44, "column": 16 }, "end": { "line": 44, "column": null } }, - "26": { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, - "27": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": null } }, - "28": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": null } }, - "29": { "start": { "line": 51, "column": 36 }, "end": { "line": 57, "column": null } }, - "30": { "start": { "line": 52, "column": 2 }, "end": { "line": 56, "column": null } }, - "31": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": null } }, - "32": { "start": { "line": 55, "column": 4 }, "end": { "line": 55, "column": null } }, - "33": { "start": { "line": 60, "column": 32 }, "end": { "line": 62, "column": null } }, - "34": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": null } }, - "35": { "start": { "line": 64, "column": 32 }, "end": { "line": 66, "column": null } }, - "36": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": null } }, - "37": { "start": { "line": 68, "column": 31 }, "end": { "line": 70, "column": null } }, - "38": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": null } }, - "39": { "start": { "line": 72, "column": 33 }, "end": { "line": 81, "column": null } }, - "40": { "start": { "line": 73, "column": 2 }, "end": { "line": 80, "column": null } }, - "41": { "start": { "line": 75, "column": 18 }, "end": { "line": 75, "column": null } }, - "42": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": null } }, - "43": { "start": { "line": 78, "column": 4 }, "end": { "line": 78, "column": null } }, - "44": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, - "45": { "start": { "line": 83, "column": 36 }, "end": { "line": 99, "column": null } }, - "46": { "start": { "line": 89, "column": 2 }, "end": { "line": 98, "column": null } }, - "47": { "start": { "line": 91, "column": 4 }, "end": { "line": 94, "column": null } }, - "48": { "start": { "line": 96, "column": 4 }, "end": { "line": 96, "column": null } }, - "49": { "start": { "line": 97, "column": 4 }, "end": { "line": 97, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 4, "column": 39 }, "end": { "line": 4, "column": 87 } }, - "loc": { "start": { "line": 4, "column": 87 }, "end": { "line": 36, "column": null } }, - "line": 4 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 39, "column": 32 }, "end": { "line": 39, "column": 46 } }, - "loc": { "start": { "line": 39, "column": 46 }, "end": { "line": 39, "column": null } }, - "line": 39 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 40, "column": 32 }, "end": { "line": 40, "column": 46 } }, - "loc": { "start": { "line": 40, "column": 46 }, "end": { "line": 40, "column": null } }, - "line": 40 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": 45 } }, - "loc": { "start": { "line": 41, "column": 45 }, "end": { "line": 41, "column": null } }, - "line": 41 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 43, "column": 33 }, "end": { "line": 43, "column": 54 } }, - "loc": { "start": { "line": 43, "column": 54 }, "end": { "line": 49, "column": null } }, - "line": 43 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 51, "column": 36 }, "end": { "line": 51, "column": 81 } }, - "loc": { "start": { "line": 51, "column": 81 }, "end": { "line": 57, "column": null } }, - "line": 51 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 60, "column": 32 }, "end": { "line": 60, "column": 33 } }, - "loc": { "start": { "line": 60, "column": 56 }, "end": { "line": 62, "column": null } }, - "line": 60 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 64, "column": 32 }, "end": { "line": 64, "column": 33 } }, - "loc": { "start": { "line": 64, "column": 56 }, "end": { "line": 66, "column": null } }, - "line": 64 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 68, "column": 31 }, "end": { "line": 68, "column": 32 } }, - "loc": { "start": { "line": 68, "column": 54 }, "end": { "line": 70, "column": null } }, - "line": 68 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 72, "column": 33 }, "end": { "line": 72, "column": 34 } }, - "loc": { "start": { "line": 72, "column": 62 }, "end": { "line": 81, "column": null } }, - "line": 72 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 83, "column": 36 }, "end": { "line": 83, "column": 37 } }, - "loc": { "start": { "line": 88, "column": 12 }, "end": { "line": 99, "column": null } }, - "line": 88 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 7 - }, - "1": { - "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 27 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 14 } }, - { "start": { "line": 7, "column": 14 }, "end": { "line": 7, "column": 27 } } - ], - "line": 7 - }, - "2": { - "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 12 - }, - "3": { - "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 25 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 13 } }, - { "start": { "line": 12, "column": 13 }, "end": { "line": 12, "column": 25 } } - ], - "line": 12 - }, - "4": { - "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 17 - }, - "5": { - "loc": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 27 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 14 } }, - { "start": { "line": 17, "column": 14 }, "end": { "line": 17, "column": 27 } } - ], - "line": 17 - }, - "6": { - "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 22 - }, - "7": { - "loc": { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 28 - }, - "8": { - "loc": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 34 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 20 } }, - { "start": { "line": 28, "column": 20 }, "end": { "line": 28, "column": 34 } } - ], - "line": 28 - }, - "9": { - "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 45 - } - }, - "s": { - "0": 1, - "1": 6, - "2": 6, - "3": 2, - "4": 4, - "5": 4, - "6": 1, - "7": 3, - "8": 3, - "9": 1, - "10": 2, - "11": 2, - "12": 1, - "13": 1, - "14": 1, - "15": 1, - "16": 0, - "17": 1, - "18": 1, - "19": 1, - "20": 1, - "21": 0, - "22": 1, - "23": 0, - "24": 1, - "25": 0, - "26": 0, - "27": 0, - "28": 0, - "29": 1, - "30": 0, - "31": 0, - "32": 0, - "33": 1, - "34": 1, - "35": 1, - "36": 0, - "37": 1, - "38": 0, - "39": 1, - "40": 1, - "41": 1, - "42": 1, - "43": 0, - "44": 0, - "45": 1, - "46": 1, - "47": 1, - "48": 0, - "49": 0 - }, - "f": { - "0": 6, - "1": 1, - "2": 0, - "3": 0, - "4": 0, - "5": 0, - "6": 1, - "7": 0, - "8": 0, - "9": 1, - "10": 1 - }, - "b": { - "0": [2, 4], - "1": [6, 2], - "2": [1, 3], - "3": [4, 1], - "4": [1, 2], - "5": [3, 1], - "6": [1, 1], - "7": [0, 1], - "8": [1, 1], - "9": [0, 0] - }, - "meta": { - "lastBranch": 10, - "lastFunction": 11, - "lastStatement": 50, - "seen": { - "s:4:39:36:Infinity": 0, - "f:4:39:4:87": 0, - "s:6:15:6:Infinity": 1, - "b:7:2:9:Infinity:undefined:undefined:undefined:undefined": 0, - "s:7:2:9:Infinity": 2, - "b:7:6:7:14:7:14:7:27": 1, - "s:8:4:8:Infinity": 3, - "s:11:14:11:Infinity": 4, - "b:12:2:14:Infinity:undefined:undefined:undefined:undefined": 2, - "s:12:2:14:Infinity": 5, - "b:12:6:12:13:12:13:12:25": 3, - "s:13:4:13:Infinity": 6, - "s:16:15:16:Infinity": 7, - "b:17:2:19:Infinity:undefined:undefined:undefined:undefined": 4, - "s:17:2:19:Infinity": 8, - "b:17:6:17:14:17:14:17:27": 5, - "s:18:4:18:Infinity": 9, - "s:21:16:21:Infinity": 10, - "b:22:2:24:Infinity:undefined:undefined:undefined:undefined": 6, - "s:22:2:24:Infinity": 11, - "s:23:4:23:Infinity": 12, - "s:26:2:33:Infinity": 13, - "s:27:21:27:Infinity": 14, - "b:28:4:30:Infinity:undefined:undefined:undefined:undefined": 7, - "s:28:4:30:Infinity": 15, - "b:28:8:28:20:28:20:28:34": 8, - "s:29:6:29:Infinity": 16, - "s:35:2:35:Infinity": 17, - "s:39:32:39:Infinity": 18, - "f:39:32:39:46": 1, - "s:39:46:39:Infinity": 19, - "s:40:32:40:Infinity": 20, - "f:40:32:40:46": 2, - "s:40:46:40:Infinity": 21, - "s:41:31:41:Infinity": 22, - "f:41:31:41:45": 3, - "s:41:45:41:Infinity": 23, - "s:43:33:49:Infinity": 24, - "f:43:33:43:54": 4, - "s:44:16:44:Infinity": 25, - "b:45:2:47:Infinity:undefined:undefined:undefined:undefined": 9, - "s:45:2:47:Infinity": 26, - "s:46:4:46:Infinity": 27, - "s:48:2:48:Infinity": 28, - "s:51:36:57:Infinity": 29, - "f:51:36:51:81": 5, - "s:52:2:56:Infinity": 30, - "s:53:4:53:Infinity": 31, - "s:55:4:55:Infinity": 32, - "s:60:32:62:Infinity": 33, - "f:60:32:60:33": 6, - "s:61:2:61:Infinity": 34, - "s:64:32:66:Infinity": 35, - "f:64:32:64:33": 7, - "s:65:2:65:Infinity": 36, - "s:68:31:70:Infinity": 37, - "f:68:31:68:32": 8, - "s:69:2:69:Infinity": 38, - "s:72:33:81:Infinity": 39, - "f:72:33:72:34": 9, - "s:73:2:80:Infinity": 40, - "s:75:18:75:Infinity": 41, - "s:76:4:76:Infinity": 42, - "s:78:4:78:Infinity": 43, - "s:79:4:79:Infinity": 44, - "s:83:36:99:Infinity": 45, - "f:83:36:83:37": 10, - "s:89:2:98:Infinity": 46, - "s:91:4:94:Infinity": 47, - "s:96:4:96:Infinity": 48, - "s:97:4:97:Infinity": 49 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts", - "statementMap": { - "0": { "start": { "line": 5, "column": 35 }, "end": { "line": 48, "column": null } }, - "1": { "start": { "line": 6, "column": 2 }, "end": { "line": 47, "column": null } }, - "2": { "start": { "line": 7, "column": 24 }, "end": { "line": 7, "column": null } }, - "3": { "start": { "line": 8, "column": 36 }, "end": { "line": 8, "column": null } }, - "4": { "start": { "line": 10, "column": 4 }, "end": { "line": 41, "column": null } }, - "5": { "start": { "line": 11, "column": 6 }, "end": { "line": 11, "column": null } }, - "6": { "start": { "line": 11, "column": 31 }, "end": { "line": 11, "column": null } }, - "7": { "start": { "line": 13, "column": 6 }, "end": { "line": 40, "column": null } }, - "8": { "start": { "line": 14, "column": 22 }, "end": { "line": 14, "column": null } }, - "9": { "start": { "line": 17, "column": 8 }, "end": { "line": 36, "column": null } }, - "10": { "start": { "line": 18, "column": 51 }, "end": { "line": 18, "column": null } }, - "11": { "start": { "line": 21, "column": 10 }, "end": { "line": 27, "column": null } }, - "12": { "start": { "line": 22, "column": 12 }, "end": { "line": 26, "column": null } }, - "13": { "start": { "line": 23, "column": 14 }, "end": { "line": 25, "column": null } }, - "14": { "start": { "line": 24, "column": 16 }, "end": { "line": 24, "column": null } }, - "15": { "start": { "line": 29, "column": 10 }, "end": { "line": 35, "column": null } }, - "16": { "start": { "line": 30, "column": 12 }, "end": { "line": 34, "column": null } }, - "17": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, - "18": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": null } }, - "19": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": null } }, - "20": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": null } }, - "21": { "start": { "line": 50, "column": 35 }, "end": { "line": 158, "column": null } }, - "22": { "start": { "line": 51, "column": 2 }, "end": { "line": 157, "column": null } }, - "23": { "start": { "line": 52, "column": 22 }, "end": { "line": 52, "column": null } }, - "24": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": null } }, - "25": { "start": { "line": 55, "column": 4 }, "end": { "line": 153, "column": null } }, - "26": { "start": { "line": 56, "column": 19 }, "end": { "line": 56, "column": null } }, - "27": { "start": { "line": 56, "column": 37 }, "end": { "line": 56, "column": 52 } }, - "28": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - "29": { "start": { "line": 57, "column": 17 }, "end": { "line": 57, "column": null } }, - "30": { "start": { "line": 60, "column": 32 }, "end": { "line": 62, "column": null } }, - "31": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, - "32": { "start": { "line": 61, "column": 43 }, "end": { "line": 61, "column": 66 } }, - "33": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, - "34": { "start": { "line": 64, "column": 42 }, "end": { "line": 64, "column": null } }, - "35": { "start": { "line": 67, "column": 30 }, "end": { "line": 67, "column": null } }, - "36": { "start": { "line": 68, "column": 25 }, "end": { "line": 68, "column": null } }, - "37": { "start": { "line": 71, "column": 20 }, "end": { "line": 71, "column": null } }, - "38": { "start": { "line": 74, "column": 21 }, "end": { "line": 74, "column": null } }, - "39": { "start": { "line": 76, "column": 6 }, "end": { "line": 147, "column": null } }, - "40": { "start": { "line": 78, "column": 8 }, "end": { "line": 78, "column": null } }, - "41": { "start": { "line": 81, "column": 94 }, "end": { "line": 81, "column": null } }, - "42": { "start": { "line": 83, "column": 8 }, "end": { "line": 102, "column": null } }, - "43": { "start": { "line": 84, "column": 28 }, "end": { "line": 84, "column": null } }, - "44": { "start": { "line": 85, "column": 31 }, "end": { "line": 85, "column": null } }, - "45": { "start": { "line": 86, "column": 32 }, "end": { "line": 86, "column": null } }, - "46": { "start": { "line": 86, "column": 67 }, "end": { "line": 86, "column": 75 } }, - "47": { "start": { "line": 89, "column": 35 }, "end": { "line": 89, "column": null } }, - "48": { "start": { "line": 90, "column": 22 }, "end": { "line": 90, "column": null } }, - "49": { "start": { "line": 91, "column": 10 }, "end": { "line": 99, "column": null } }, - "50": { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, - "51": { "start": { "line": 93, "column": 14 }, "end": { "line": 93, "column": null } }, - "52": { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, - "53": { "start": { "line": 96, "column": 16 }, "end": { "line": 96, "column": null } }, - "54": { "start": { "line": 101, "column": 10 }, "end": { "line": 101, "column": null } }, - "55": { "start": { "line": 105, "column": 8 }, "end": { "line": 146, "column": null } }, - "56": { "start": { "line": 105, "column": 44 }, "end": { "line": 105, "column": 64 } }, - "57": { "start": { "line": 107, "column": 10 }, "end": { "line": 145, "column": null } }, - "58": { "start": { "line": 112, "column": 12 }, "end": { "line": 112, "column": null } }, - "59": { "start": { "line": 112, "column": 57 }, "end": { "line": 112, "column": 76 } }, - "60": { "start": { "line": 115, "column": 41 }, "end": { "line": 141, "column": null } }, - "61": { "start": { "line": 116, "column": 14 }, "end": { "line": 116, "column": null } }, - "62": { "start": { "line": 116, "column": 45 }, "end": { "line": 116, "column": null } }, - "63": { "start": { "line": 117, "column": 14 }, "end": { "line": 124, "column": null } }, - "64": { "start": { "line": 118, "column": 36 }, "end": { "line": 118, "column": null } }, - "65": { "start": { "line": 119, "column": 16 }, "end": { "line": 123, "column": null } }, - "66": { "start": { "line": 121, "column": 39 }, "end": { "line": 121, "column": null } }, - "67": { "start": { "line": 122, "column": 18 }, "end": { "line": 122, "column": null } }, - "68": { "start": { "line": 127, "column": 39 }, "end": { "line": 127, "column": null } }, - "69": { "start": { "line": 128, "column": 39 }, "end": { "line": 128, "column": null } }, - "70": { "start": { "line": 129, "column": 45 }, "end": { "line": 129, "column": null } }, - "71": { "start": { "line": 131, "column": 14 }, "end": { "line": 138, "column": null } }, - "72": { "start": { "line": 132, "column": 16 }, "end": { "line": 137, "column": null } }, - "73": { "start": { "line": 134, "column": 39 }, "end": { "line": 134, "column": null } }, - "74": { "start": { "line": 135, "column": 30 }, "end": { "line": 135, "column": null } }, - "75": { "start": { "line": 136, "column": 18 }, "end": { "line": 136, "column": null } }, - "76": { "start": { "line": 140, "column": 14 }, "end": { "line": 140, "column": null } }, - "77": { "start": { "line": 143, "column": 33 }, "end": { "line": 143, "column": null } }, - "78": { "start": { "line": 144, "column": 12 }, "end": { "line": 144, "column": null } }, - "79": { "start": { "line": 144, "column": 42 }, "end": { "line": 144, "column": 61 } }, - "80": { "start": { "line": 150, "column": 6 }, "end": { "line": 152, "column": null } }, - "81": { "start": { "line": 151, "column": 8 }, "end": { "line": 151, "column": null } }, - "82": { "start": { "line": 155, "column": 4 }, "end": { "line": 155, "column": null } }, - "83": { "start": { "line": 156, "column": 4 }, "end": { "line": 156, "column": null } }, - "84": { "start": { "line": 160, "column": 38 }, "end": { "line": 176, "column": null } }, - "85": { "start": { "line": 161, "column": 2 }, "end": { "line": 175, "column": null } }, - "86": { "start": { "line": 162, "column": 24 }, "end": { "line": 162, "column": null } }, - "87": { "start": { "line": 163, "column": 18 }, "end": { "line": 163, "column": null } }, - "88": { "start": { "line": 164, "column": 22 }, "end": { "line": 164, "column": null } }, - "89": { "start": { "line": 166, "column": 4 }, "end": { "line": 171, "column": null } }, - "90": { "start": { "line": 173, "column": 4 }, "end": { "line": 173, "column": null } }, - "91": { "start": { "line": 174, "column": 4 }, "end": { "line": 174, "column": null } }, - "92": { "start": { "line": 178, "column": 38 }, "end": { "line": 186, "column": null } }, - "93": { "start": { "line": 179, "column": 2 }, "end": { "line": 185, "column": null } }, - "94": { "start": { "line": 181, "column": 4 }, "end": { "line": 181, "column": null } }, - "95": { "start": { "line": 183, "column": 4 }, "end": { "line": 183, "column": null } }, - "96": { "start": { "line": 184, "column": 4 }, "end": { "line": 184, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 5, "column": 35 }, "end": { "line": 5, "column": 42 } }, - "loc": { "start": { "line": 5, "column": 84 }, "end": { "line": 48, "column": null } }, - "line": 5 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 22, "column": 49 }, "end": { "line": 22, "column": 50 } }, - "loc": { "start": { "line": 22, "column": 73 }, "end": { "line": 26, "column": 13 } }, - "line": 22 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 50, "column": 35 }, "end": { "line": 50, "column": 42 } }, - "loc": { "start": { "line": 50, "column": 80 }, "end": { "line": 158, "column": null } }, - "line": 50 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 56, "column": 30 }, "end": { "line": 56, "column": 31 } }, - "loc": { "start": { "line": 56, "column": 37 }, "end": { "line": 56, "column": 52 } }, - "line": 56 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 60, "column": 47 }, "end": { "line": 60, "column": 48 } }, - "loc": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, - "line": 61 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 61, "column": 32 }, "end": { "line": 61, "column": 33 } }, - "loc": { "start": { "line": 61, "column": 43 }, "end": { "line": 61, "column": 66 } }, - "line": 61 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 86, "column": 60 }, "end": { "line": 86, "column": 61 } }, - "loc": { "start": { "line": 86, "column": 67 }, "end": { "line": 86, "column": 75 } }, - "line": 86 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 105, "column": 36 }, "end": { "line": 105, "column": 37 } }, - "loc": { "start": { "line": 105, "column": 44 }, "end": { "line": 105, "column": 64 } }, - "line": 105 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 112, "column": 48 }, "end": { "line": 112, "column": 49 } }, - "loc": { "start": { "line": 112, "column": 57 }, "end": { "line": 112, "column": 76 } }, - "line": 112 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 115, "column": 41 }, "end": { "line": 115, "column": 42 } }, - "loc": { "start": { "line": 115, "column": 95 }, "end": { "line": 141, "column": null } }, - "line": 115 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 119, "column": 46 }, "end": { "line": 119, "column": 47 } }, - "loc": { "start": { "line": 119, "column": 57 }, "end": { "line": 123, "column": 17 } }, - "line": 119 - }, - "11": { - "name": "(anonymous_11)", - "decl": { "start": { "line": 144, "column": 33 }, "end": { "line": 144, "column": 34 } }, - "loc": { "start": { "line": 144, "column": 42 }, "end": { "line": 144, "column": 61 } }, - "line": 144 - }, - "12": { - "name": "(anonymous_12)", - "decl": { "start": { "line": 160, "column": 38 }, "end": { "line": 160, "column": 50 } }, - "loc": { "start": { "line": 160, "column": 50 }, "end": { "line": 176, "column": null } }, - "line": 160 - }, - "13": { - "name": "(anonymous_13)", - "decl": { "start": { "line": 178, "column": 38 }, "end": { "line": 178, "column": 45 } }, - "loc": { "start": { "line": 178, "column": 61 }, "end": { "line": 186, "column": null } }, - "line": 178 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 11, "column": 6 }, "end": { "line": 11, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 11, "column": 6 }, "end": { "line": 11, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 11 - }, - "1": { - "loc": { "start": { "line": 21, "column": 10 }, "end": { "line": 27, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 21, "column": 10 }, "end": { "line": 27, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 21 - }, - "2": { - "loc": { "start": { "line": 23, "column": 14 }, "end": { "line": 25, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 23, "column": 14 }, "end": { "line": 25, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 23 - }, - "3": { - "loc": { "start": { "line": 23, "column": 18 }, "end": { "line": 23, "column": 86 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 23, "column": 18 }, "end": { "line": 23, "column": 41 } }, - { "start": { "line": 23, "column": 41 }, "end": { "line": 23, "column": 59 } }, - { "start": { "line": 23, "column": 59 }, "end": { "line": 23, "column": 86 } } - ], - "line": 23 - }, - "4": { - "loc": { "start": { "line": 29, "column": 10 }, "end": { "line": 35, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 29, "column": 10 }, "end": { "line": 35, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 29 - }, - "5": { - "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 57 - }, - "6": { - "loc": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 64 - }, - "7": { - "loc": { "start": { "line": 76, "column": 6 }, "end": { "line": 147, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 76, "column": 6 }, "end": { "line": 147, "column": null } }, - { "start": { "line": 79, "column": 13 }, "end": { "line": 147, "column": null } } - ], - "line": 76 - }, - "8": { - "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 92 - }, - "9": { - "loc": { "start": { "line": 92, "column": 16 }, "end": { "line": 92, "column": 66 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 92, "column": 16 }, "end": { "line": 92, "column": 43 } }, - { "start": { "line": 92, "column": 43 }, "end": { "line": 92, "column": 66 } } - ], - "line": 92 - }, - "10": { - "loc": { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 95 - }, - "11": { - "loc": { "start": { "line": 105, "column": 8 }, "end": { "line": 146, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 105, "column": 8 }, "end": { "line": 146, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 105 - }, - "12": { - "loc": { "start": { "line": 107, "column": 10 }, "end": { "line": 145, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 107, "column": 10 }, "end": { "line": 145, "column": null } }, - { "start": { "line": 113, "column": 17 }, "end": { "line": 145, "column": null } } - ], - "line": 107 - }, - "13": { - "loc": { "start": { "line": 108, "column": 12 }, "end": { "line": 110, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 108, "column": 12 }, "end": { "line": 108, "column": null } }, - { "start": { "line": 109, "column": 12 }, "end": { "line": 109, "column": null } }, - { "start": { "line": 110, "column": 12 }, "end": { "line": 110, "column": null } } - ], - "line": 108 - }, - "14": { - "loc": { "start": { "line": 116, "column": 14 }, "end": { "line": 116, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 116, "column": 14 }, "end": { "line": 116, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 116 - }, - "15": { - "loc": { "start": { "line": 117, "column": 14 }, "end": { "line": 124, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 117, "column": 14 }, "end": { "line": 124, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 117 - }, - "16": { - "loc": { "start": { "line": 121, "column": 39 }, "end": { "line": 121, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 121, "column": 59 }, "end": { "line": 121, "column": 67 } }, - { "start": { "line": 121, "column": 67 }, "end": { "line": 121, "column": null } } - ], - "line": 121 - }, - "17": { - "loc": { "start": { "line": 134, "column": 39 }, "end": { "line": 134, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 134, "column": 53 }, "end": { "line": 134, "column": 61 } }, - { "start": { "line": 134, "column": 61 }, "end": { "line": 134, "column": null } } - ], - "line": 134 - } - }, - "s": { - "0": 1, - "1": 8, - "2": 8, - "3": 8, - "4": 8, - "5": 8, - "6": 1, - "7": 7, - "8": 7, - "9": 7, - "10": 7, - "11": 7, - "12": 5, - "13": 6, - "14": 6, - "15": 7, - "16": 5, - "17": 1, - "18": 8, - "19": 0, - "20": 0, - "21": 1, - "22": 0, - "23": 0, - "24": 0, - "25": 0, - "26": 0, - "27": 0, - "28": 0, - "29": 0, - "30": 0, - "31": 0, - "32": 0, - "33": 0, - "34": 0, - "35": 0, - "36": 0, - "37": 0, - "38": 0, - "39": 0, - "40": 0, - "41": 0, - "42": 0, - "43": 0, - "44": 0, - "45": 0, - "46": 0, - "47": 0, - "48": 0, - "49": 0, - "50": 0, - "51": 0, - "52": 0, - "53": 0, - "54": 0, - "55": 0, - "56": 0, - "57": 0, - "58": 0, - "59": 0, - "60": 0, - "61": 0, - "62": 0, - "63": 0, - "64": 0, - "65": 0, - "66": 0, - "67": 0, - "68": 0, - "69": 0, - "70": 0, - "71": 0, - "72": 0, - "73": 0, - "74": 0, - "75": 0, - "76": 0, - "77": 0, - "78": 0, - "79": 0, - "80": 0, - "81": 0, - "82": 0, - "83": 0, - "84": 1, - "85": 0, - "86": 0, - "87": 0, - "88": 0, - "89": 0, - "90": 0, - "91": 0, - "92": 1, - "93": 0, - "94": 0, - "95": 0, - "96": 0 - }, - "f": { - "0": 8, - "1": 6, - "2": 0, - "3": 0, - "4": 0, - "5": 0, - "6": 0, - "7": 0, - "8": 0, - "9": 0, - "10": 0, - "11": 0, - "12": 0, - "13": 0 - }, - "b": { - "0": [1, 7], - "1": [5, 2], - "2": [6, 0], - "3": [6, 6, 6], - "4": [5, 2], - "5": [0, 0], - "6": [0, 0], - "7": [0, 0], - "8": [0, 0], - "9": [0, 0], - "10": [0, 0], - "11": [0, 0], - "12": [0, 0], - "13": [0, 0, 0], - "14": [0, 0], - "15": [0, 0], - "16": [0, 0], - "17": [0, 0] - }, - "meta": { - "lastBranch": 18, - "lastFunction": 14, - "lastStatement": 97, - "seen": { - "s:5:35:48:Infinity": 0, - "f:5:35:5:42": 0, - "s:6:2:47:Infinity": 1, - "s:7:24:7:Infinity": 2, - "s:8:36:8:Infinity": 3, - "s:10:4:41:Infinity": 4, - "b:11:6:11:Infinity:undefined:undefined:undefined:undefined": 0, - "s:11:6:11:Infinity": 5, - "s:11:31:11:Infinity": 6, - "s:13:6:40:Infinity": 7, - "s:14:22:14:Infinity": 8, - "s:17:8:36:Infinity": 9, - "s:18:51:18:Infinity": 10, - "b:21:10:27:Infinity:undefined:undefined:undefined:undefined": 1, - "s:21:10:27:Infinity": 11, - "s:22:12:26:Infinity": 12, - "f:22:49:22:50": 1, - "b:23:14:25:Infinity:undefined:undefined:undefined:undefined": 2, - "s:23:14:25:Infinity": 13, - "b:23:18:23:41:23:41:23:59:23:59:23:86": 3, - "s:24:16:24:Infinity": 14, - "b:29:10:35:Infinity:undefined:undefined:undefined:undefined": 4, - "s:29:10:35:Infinity": 15, - "s:30:12:34:Infinity": 16, - "s:38:8:38:Infinity": 17, - "s:43:4:43:Infinity": 18, - "s:45:4:45:Infinity": 19, - "s:46:4:46:Infinity": 20, - "s:50:35:158:Infinity": 21, - "f:50:35:50:42": 2, - "s:51:2:157:Infinity": 22, - "s:52:22:52:Infinity": 23, - "s:53:18:53:Infinity": 24, - "s:55:4:153:Infinity": 25, - "s:56:19:56:Infinity": 26, - "f:56:30:56:31": 3, - "s:56:37:56:52": 27, - "b:57:6:57:Infinity:undefined:undefined:undefined:undefined": 5, - "s:57:6:57:Infinity": 28, - "s:57:17:57:Infinity": 29, - "s:60:32:62:Infinity": 30, - "f:60:47:60:48": 4, - "s:61:8:61:Infinity": 31, - "f:61:32:61:33": 5, - "s:61:43:61:66": 32, - "b:64:6:64:Infinity:undefined:undefined:undefined:undefined": 6, - "s:64:6:64:Infinity": 33, - "s:64:42:64:Infinity": 34, - "s:67:30:67:Infinity": 35, - "s:68:25:68:Infinity": 36, - "s:71:20:71:Infinity": 37, - "s:74:21:74:Infinity": 38, - "b:76:6:147:Infinity:79:13:147:Infinity": 7, - "s:76:6:147:Infinity": 39, - "s:78:8:78:Infinity": 40, - "s:81:94:81:Infinity": 41, - "s:83:8:102:Infinity": 42, - "s:84:28:84:Infinity": 43, - "s:85:31:85:Infinity": 44, - "s:86:32:86:Infinity": 45, - "f:86:60:86:61": 6, - "s:86:67:86:75": 46, - "s:89:35:89:Infinity": 47, - "s:90:22:90:Infinity": 48, - "s:91:10:99:Infinity": 49, - "b:92:12:98:Infinity:undefined:undefined:undefined:undefined": 8, - "s:92:12:98:Infinity": 50, - "b:92:16:92:43:92:43:92:66": 9, - "s:93:14:93:Infinity": 51, - "b:95:14:97:Infinity:undefined:undefined:undefined:undefined": 10, - "s:95:14:97:Infinity": 52, - "s:96:16:96:Infinity": 53, - "s:101:10:101:Infinity": 54, - "b:105:8:146:Infinity:undefined:undefined:undefined:undefined": 11, - "s:105:8:146:Infinity": 55, - "f:105:36:105:37": 7, - "s:105:44:105:64": 56, - "b:107:10:145:Infinity:113:17:145:Infinity": 12, - "s:107:10:145:Infinity": 57, - "b:108:12:108:Infinity:109:12:109:Infinity:110:12:110:Infinity": 13, - "s:112:12:112:Infinity": 58, - "f:112:48:112:49": 8, - "s:112:57:112:76": 59, - "s:115:41:141:Infinity": 60, - "f:115:41:115:42": 9, - "b:116:14:116:Infinity:undefined:undefined:undefined:undefined": 14, - "s:116:14:116:Infinity": 61, - "s:116:45:116:Infinity": 62, - "b:117:14:124:Infinity:undefined:undefined:undefined:undefined": 15, - "s:117:14:124:Infinity": 63, - "s:118:36:118:Infinity": 64, - "s:119:16:123:Infinity": 65, - "f:119:46:119:47": 10, - "s:121:39:121:Infinity": 66, - "b:121:59:121:67:121:67:121:Infinity": 16, - "s:122:18:122:Infinity": 67, - "s:127:39:127:Infinity": 68, - "s:128:39:128:Infinity": 69, - "s:129:45:129:Infinity": 70, - "s:131:14:138:Infinity": 71, - "s:132:16:137:Infinity": 72, - "s:134:39:134:Infinity": 73, - "b:134:53:134:61:134:61:134:Infinity": 17, - "s:135:30:135:Infinity": 74, - "s:136:18:136:Infinity": 75, - "s:140:14:140:Infinity": 76, - "s:143:33:143:Infinity": 77, - "s:144:12:144:Infinity": 78, - "f:144:33:144:34": 11, - "s:144:42:144:61": 79, - "s:150:6:152:Infinity": 80, - "s:151:8:151:Infinity": 81, - "s:155:4:155:Infinity": 82, - "s:156:4:156:Infinity": 83, - "s:160:38:176:Infinity": 84, - "f:160:38:160:50": 12, - "s:161:2:175:Infinity": 85, - "s:162:24:162:Infinity": 86, - "s:163:18:163:Infinity": 87, - "s:164:22:164:Infinity": 88, - "s:166:4:171:Infinity": 89, - "s:173:4:173:Infinity": 90, - "s:174:4:174:Infinity": 91, - "s:178:38:186:Infinity": 92, - "f:178:38:178:45": 13, - "s:179:2:185:Infinity": 93, - "s:181:4:181:Infinity": 94, - "s:183:4:183:Infinity": 95, - "s:184:4:184:Infinity": 96 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts", - "statementMap": { - "0": { "start": { "line": 4, "column": 32 }, "end": { "line": 11, "column": null } }, - "1": { "start": { "line": 5, "column": 2 }, "end": { "line": 10, "column": null } }, - "2": { "start": { "line": 6, "column": 4 }, "end": { "line": 6, "column": null } }, - "3": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": null } }, - "4": { "start": { "line": 9, "column": 4 }, "end": { "line": 9, "column": null } }, - "5": { "start": { "line": 13, "column": 31 }, "end": { "line": 20, "column": null } }, - "6": { "start": { "line": 14, "column": 2 }, "end": { "line": 19, "column": null } }, - "7": { "start": { "line": 15, "column": 4 }, "end": { "line": 15, "column": null } }, - "8": { "start": { "line": 17, "column": 4 }, "end": { "line": 17, "column": null } }, - "9": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, - "10": { "start": { "line": 22, "column": 31 }, "end": { "line": 29, "column": null } }, - "11": { "start": { "line": 23, "column": 2 }, "end": { "line": 28, "column": null } }, - "12": { "start": { "line": 24, "column": 4 }, "end": { "line": 24, "column": null } }, - "13": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": null } }, - "14": { "start": { "line": 27, "column": 4 }, "end": { "line": 27, "column": null } }, - "15": { "start": { "line": 31, "column": 31 }, "end": { "line": 38, "column": null } }, - "16": { "start": { "line": 32, "column": 2 }, "end": { "line": 37, "column": null } }, - "17": { "start": { "line": 33, "column": 4 }, "end": { "line": 33, "column": null } }, - "18": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": null } }, - "19": { "start": { "line": 36, "column": 4 }, "end": { "line": 36, "column": null } }, - "20": { "start": { "line": 40, "column": 33 }, "end": { "line": 47, "column": null } }, - "21": { "start": { "line": 41, "column": 2 }, "end": { "line": 46, "column": null } }, - "22": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": null } }, - "23": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": null } }, - "24": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": null } }, - "25": { "start": { "line": 49, "column": 31 }, "end": { "line": 78, "column": null } }, - "26": { "start": { "line": 50, "column": 2 }, "end": { "line": 77, "column": null } }, - "27": { "start": { "line": 51, "column": 29 }, "end": { "line": 51, "column": null } }, - "28": { "start": { "line": 54, "column": 4 }, "end": { "line": 58, "column": null } }, - "29": { "start": { "line": 55, "column": 6 }, "end": { "line": 55, "column": null } }, - "30": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - "31": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": null } }, - "32": { "start": { "line": 62, "column": 29 }, "end": { "line": 62, "column": null } }, - "33": { "start": { "line": 62, "column": 54 }, "end": { "line": 62, "column": 72 } }, - "34": { "start": { "line": 64, "column": 4 }, "end": { "line": 68, "column": null } }, - "35": { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, - "36": { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, - "37": { "start": { "line": 70, "column": 4 }, "end": { "line": 73, "column": null } }, - "38": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, - "39": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 4, "column": 32 }, "end": { "line": 4, "column": 44 } }, - "loc": { "start": { "line": 4, "column": 44 }, "end": { "line": 11, "column": null } }, - "line": 4 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 13, "column": 31 }, "end": { "line": 13, "column": 38 } }, - "loc": { "start": { "line": 13, "column": 93 }, "end": { "line": 20, "column": null } }, - "line": 13 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 22, "column": 31 }, "end": { "line": 22, "column": 38 } }, - "loc": { "start": { "line": 22, "column": 67 }, "end": { "line": 29, "column": null } }, - "line": 22 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 31, "column": 31 }, "end": { "line": 31, "column": 38 } }, - "loc": { "start": { "line": 31, "column": 53 }, "end": { "line": 38, "column": null } }, - "line": 31 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 40, "column": 33 }, "end": { "line": 40, "column": 40 } }, - "loc": { "start": { "line": 40, "column": 57 }, "end": { "line": 47, "column": null } }, - "line": 40 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 49, "column": 31 }, "end": { "line": 49, "column": 38 } }, - "loc": { "start": { "line": 49, "column": 79 }, "end": { "line": 78, "column": null } }, - "line": 49 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 62, "column": 43 }, "end": { "line": 62, "column": 44 } }, - "loc": { "start": { "line": 62, "column": 54 }, "end": { "line": 62, "column": 72 } }, - "line": 62 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": 51 } }, - { "start": { "line": 61, "column": 51 }, "end": { "line": 61, "column": null } } - ], - "line": 61 - }, - "1": { - "loc": { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 65 - } - }, - "s": { - "0": 1, - "1": 0, - "2": 0, - "3": 0, - "4": 0, - "5": 1, - "6": 0, - "7": 0, - "8": 0, - "9": 0, - "10": 1, - "11": 0, - "12": 0, - "13": 0, - "14": 0, - "15": 1, - "16": 0, - "17": 0, - "18": 0, - "19": 0, - "20": 1, - "21": 0, - "22": 0, - "23": 0, - "24": 0, - "25": 1, - "26": 6, - "27": 6, - "28": 6, - "29": 6, - "30": 1, - "31": 6, - "32": 6, - "33": 6, - "34": 6, - "35": 6, - "36": 3, - "37": 6, - "38": 0, - "39": 0 - }, - "f": { "0": 0, "1": 0, "2": 0, "3": 0, "4": 0, "5": 6, "6": 6 }, - "b": { "0": [6, 2], "1": [3, 3] }, - "meta": { - "lastBranch": 2, - "lastFunction": 7, - "lastStatement": 40, - "seen": { - "s:4:32:11:Infinity": 0, - "f:4:32:4:44": 0, - "s:5:2:10:Infinity": 1, - "s:6:4:6:Infinity": 2, - "s:8:4:8:Infinity": 3, - "s:9:4:9:Infinity": 4, - "s:13:31:20:Infinity": 5, - "f:13:31:13:38": 1, - "s:14:2:19:Infinity": 6, - "s:15:4:15:Infinity": 7, - "s:17:4:17:Infinity": 8, - "s:18:4:18:Infinity": 9, - "s:22:31:29:Infinity": 10, - "f:22:31:22:38": 2, - "s:23:2:28:Infinity": 11, - "s:24:4:24:Infinity": 12, - "s:26:4:26:Infinity": 13, - "s:27:4:27:Infinity": 14, - "s:31:31:38:Infinity": 15, - "f:31:31:31:38": 3, - "s:32:2:37:Infinity": 16, - "s:33:4:33:Infinity": 17, - "s:35:4:35:Infinity": 18, - "s:36:4:36:Infinity": 19, - "s:40:33:47:Infinity": 20, - "f:40:33:40:40": 4, - "s:41:2:46:Infinity": 21, - "s:42:4:42:Infinity": 22, - "s:44:4:44:Infinity": 23, - "s:45:4:45:Infinity": 24, - "s:49:31:78:Infinity": 25, - "f:49:31:49:38": 5, - "s:50:2:77:Infinity": 26, - "s:51:29:51:Infinity": 27, - "s:54:4:58:Infinity": 28, - "s:55:6:55:Infinity": 29, - "s:57:6:57:Infinity": 30, - "s:61:22:61:Infinity": 31, - "b:61:22:61:51:61:51:61:Infinity": 0, - "s:62:29:62:Infinity": 32, - "f:62:43:62:44": 6, - "s:62:54:62:72": 33, - "s:64:4:68:Infinity": 34, - "b:65:6:67:Infinity:undefined:undefined:undefined:undefined": 1, - "s:65:6:67:Infinity": 35, - "s:66:8:66:Infinity": 36, - "s:70:4:73:Infinity": 37, - "s:75:4:75:Infinity": 38, - "s:76:4:76:Infinity": 39 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts", - "statementMap": { - "0": { "start": { "line": 9, "column": 45 }, "end": { "line": 9, "column": null } }, - "1": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": null } }, - "2": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, - "3": { "start": { "line": 19, "column": 26 }, "end": { "line": 19, "column": null } }, - "4": { "start": { "line": 21, "column": 4 }, "end": { "line": 42, "column": null } }, - "5": { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, - "6": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": null } }, - "7": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": null } }, - "8": { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, - "9": { "start": { "line": 30, "column": 8 }, "end": { "line": 30, "column": null } }, - "10": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": null } }, - "11": { "start": { "line": 34, "column": 6 }, "end": { "line": 34, "column": null } }, - "12": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - "13": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, - "14": { "start": { "line": 41, "column": 6 }, "end": { "line": 41, "column": null } }, - "15": { "start": { "line": 49, "column": 4 }, "end": { "line": 74, "column": null } }, - "16": { "start": { "line": 50, "column": 20 }, "end": { "line": 50, "column": null } }, - "17": { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, - "18": { "start": { "line": 52, "column": 8 }, "end": { "line": 52, "column": null } }, - "19": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": null } }, - "20": { "start": { "line": 56, "column": 25 }, "end": { "line": 56, "column": null } }, - "21": { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, - "22": { "start": { "line": 58, "column": 8 }, "end": { "line": 58, "column": null } }, - "23": { "start": { "line": 59, "column": 8 }, "end": { "line": 59, "column": null } }, - "24": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - "25": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, - "26": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": null } }, - "27": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": null } }, - "28": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": null } }, - "29": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": null } }, - "30": { "start": { "line": 81, "column": 4 }, "end": { "line": 103, "column": null } }, - "31": { "start": { "line": 83, "column": 8 }, "end": { "line": 83, "column": null } }, - "32": { "start": { "line": 84, "column": 8 }, "end": { "line": 84, "column": null } }, - "33": { "start": { "line": 86, "column": 8 }, "end": { "line": 86, "column": null } }, - "34": { "start": { "line": 87, "column": 8 }, "end": { "line": 87, "column": null } }, - "35": { "start": { "line": 89, "column": 8 }, "end": { "line": 89, "column": null } }, - "36": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": null } }, - "37": { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, - "38": { "start": { "line": 93, "column": 10 }, "end": { "line": 93, "column": null } }, - "39": { "start": { "line": 95, "column": 10 }, "end": { "line": 95, "column": null } }, - "40": { "start": { "line": 97, "column": 8 }, "end": { "line": 97, "column": null } }, - "41": { "start": { "line": 99, "column": 8 }, "end": { "line": 99, "column": null } }, - "42": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": null } }, - "43": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": null } }, - "44": { "start": { "line": 110, "column": 4 }, "end": { "line": 121, "column": null } }, - "45": { "start": { "line": 111, "column": 20 }, "end": { "line": 111, "column": null } }, - "46": { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, - "47": { "start": { "line": 113, "column": 8 }, "end": { "line": 113, "column": null } }, - "48": { "start": { "line": 116, "column": 8 }, "end": { "line": 116, "column": null } }, - "49": { "start": { "line": 119, "column": 6 }, "end": { "line": 119, "column": null } }, - "50": { "start": { "line": 120, "column": 6 }, "end": { "line": 120, "column": null } }, - "51": { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, - "52": { "start": { "line": 128, "column": 26 }, "end": { "line": 128, "column": null } }, - "53": { "start": { "line": 130, "column": 4 }, "end": { "line": 145, "column": null } }, - "54": { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, - "55": { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, - "56": { "start": { "line": 133, "column": 10 }, "end": { "line": 133, "column": null } }, - "57": { "start": { "line": 135, "column": 8 }, "end": { "line": 135, "column": null } }, - "58": { "start": { "line": 136, "column": 8 }, "end": { "line": 136, "column": null } }, - "59": { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, - "60": { "start": { "line": 138, "column": 10 }, "end": { "line": 138, "column": null } }, - "61": { "start": { "line": 142, "column": 6 }, "end": { "line": 142, "column": null } }, - "62": { "start": { "line": 144, "column": 6 }, "end": { "line": 144, "column": null } }, - "63": { "start": { "line": 152, "column": 4 }, "end": { "line": 174, "column": null } }, - "64": { "start": { "line": 153, "column": 20 }, "end": { "line": 153, "column": null } }, - "65": { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, - "66": { "start": { "line": 155, "column": 8 }, "end": { "line": 155, "column": null } }, - "67": { "start": { "line": 156, "column": 8 }, "end": { "line": 156, "column": null } }, - "68": { "start": { "line": 159, "column": 24 }, "end": { "line": 159, "column": null } }, - "69": { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, - "70": { "start": { "line": 161, "column": 8 }, "end": { "line": 161, "column": null } }, - "71": { "start": { "line": 162, "column": 8 }, "end": { "line": 162, "column": null } }, - "72": { "start": { "line": 166, "column": 44 }, "end": { "line": 166, "column": null } }, - "73": { "start": { "line": 169, "column": 6 }, "end": { "line": 169, "column": null } }, - "74": { "start": { "line": 171, "column": 6 }, "end": { "line": 171, "column": null } }, - "75": { "start": { "line": 173, "column": 6 }, "end": { "line": 173, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 11, "column": 2 }, "end": { "line": 11, "column": 16 } }, - "loc": { "start": { "line": 11, "column": 52 }, "end": { "line": 13, "column": null } }, - "line": 11 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 22 } }, - "loc": { "start": { "line": 18, "column": 22 }, "end": { "line": 43, "column": null } }, - "line": 18 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": 22 } }, - "loc": { "start": { "line": 48, "column": 52 }, "end": { "line": 75, "column": null } }, - "line": 48 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 80, "column": 10 }, "end": { "line": 80, "column": 30 } }, - "loc": { "start": { "line": 80, "column": 53 }, "end": { "line": 104, "column": null } }, - "line": 80 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 109, "column": 10 }, "end": { "line": 109, "column": 24 } }, - "loc": { "start": { "line": 109, "column": 47 }, "end": { "line": 122, "column": null } }, - "line": 109 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 127, "column": 2 }, "end": { "line": 127, "column": 26 } }, - "loc": { "start": { "line": 127, "column": 26 }, "end": { "line": 146, "column": null } }, - "line": 127 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 151, "column": 8 }, "end": { "line": 151, "column": 43 } }, - "loc": { "start": { "line": 151, "column": 43 }, "end": { "line": 175, "column": null } }, - "line": 151 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 19 - }, - "1": { - "loc": { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 23 - }, - "2": { - "loc": { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 70 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 41 } }, - { "start": { "line": 23, "column": 41 }, "end": { "line": 23, "column": 70 } } - ], - "line": 23 - }, - "3": { - "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 29 - }, - "4": { - "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 37 - }, - "5": { - "loc": { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 51 - }, - "6": { - "loc": { "start": { "line": 51, "column": 10 }, "end": { "line": 51, "column": 43 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 51, "column": 10 }, "end": { "line": 51, "column": 20 } }, - { "start": { "line": 51, "column": 20 }, "end": { "line": 51, "column": 43 } } - ], - "line": 51 - }, - "7": { - "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 57 - }, - "8": { - "loc": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 63 - }, - "9": { - "loc": { "start": { "line": 63, "column": 10 }, "end": { "line": 63, "column": 61 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 63, "column": 10 }, "end": { "line": 63, "column": 29 } }, - { "start": { "line": 63, "column": 29 }, "end": { "line": 63, "column": 61 } } - ], - "line": 63 - }, - "10": { - "loc": { "start": { "line": 81, "column": 4 }, "end": { "line": 103, "column": null } }, - "type": "switch", - "locations": [ - { "start": { "line": 82, "column": 6 }, "end": { "line": 84, "column": null } }, - { "start": { "line": 85, "column": 6 }, "end": { "line": 87, "column": null } }, - { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, - { "start": { "line": 91, "column": 6 }, "end": { "line": 97, "column": null } }, - { "start": { "line": 98, "column": 6 }, "end": { "line": 100, "column": null } }, - { "start": { "line": 101, "column": 6 }, "end": { "line": 102, "column": null } } - ], - "line": 81 - }, - "11": { - "loc": { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, - { "start": { "line": 94, "column": 15 }, "end": { "line": 96, "column": null } } - ], - "line": 92 - }, - "12": { - "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 58 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 35 } }, - { "start": { "line": 92, "column": 35 }, "end": { "line": 92, "column": 58 } } - ], - "line": 92 - }, - "13": { - "loc": { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, - { "start": { "line": 114, "column": 13 }, "end": { "line": 117, "column": null } } - ], - "line": 112 - }, - "14": { - "loc": { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 128 - }, - "15": { - "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 131 - }, - "16": { - "loc": { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 73 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 42 } }, - { "start": { "line": 131, "column": 42 }, "end": { "line": 131, "column": 73 } } - ], - "line": 131 - }, - "17": { - "loc": { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 132 - }, - "18": { - "loc": { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 137 - }, - "19": { - "loc": { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 154 - }, - "20": { - "loc": { "start": { "line": 154, "column": 10 }, "end": { "line": 154, "column": 40 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 154, "column": 10 }, "end": { "line": 154, "column": 20 } }, - { "start": { "line": 154, "column": 20 }, "end": { "line": 154, "column": 40 } } - ], - "line": 154 - }, - "21": { - "loc": { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 160 - } - }, - "s": { - "0": 15, - "1": 11, - "2": 4, - "3": 1, - "4": 3, - "5": 3, - "6": 1, - "7": 1, - "8": 2, - "9": 1, - "10": 2, - "11": 2, - "12": 2, - "13": 0, - "14": 0, - "15": 4, - "16": 4, - "17": 4, - "18": 1, - "19": 1, - "20": 3, - "21": 3, - "22": 0, - "23": 0, - "24": 3, - "25": 3, - "26": 3, - "27": 3, - "28": 3, - "29": 0, - "30": 3, - "31": 2, - "32": 2, - "33": 1, - "34": 1, - "35": 0, - "36": 0, - "37": 0, - "38": 0, - "39": 0, - "40": 0, - "41": 0, - "42": 0, - "43": 0, - "44": 0, - "45": 0, - "46": 0, - "47": 0, - "48": 0, - "49": 0, - "50": 0, - "51": 2, - "52": 0, - "53": 2, - "54": 2, - "55": 1, - "56": 0, - "57": 1, - "58": 1, - "59": 1, - "60": 0, - "61": 2, - "62": 0, - "63": 0, - "64": 0, - "65": 0, - "66": 0, - "67": 0, - "68": 0, - "69": 0, - "70": 0, - "71": 0, - "72": 0, - "73": 0, - "74": 0, - "75": 0 - }, - "f": { "0": 11, "1": 4, "2": 4, "3": 3, "4": 0, "5": 2, "6": 0 }, - "b": { - "0": [1, 3], - "1": [1, 2], - "2": [3, 3], - "3": [1, 1], - "4": [0, 2], - "5": [1, 3], - "6": [4, 4], - "7": [0, 3], - "8": [3, 0], - "9": [3, 3], - "10": [2, 1, 0, 0, 0, 0], - "11": [0, 0], - "12": [0, 0], - "13": [0, 0], - "14": [0, 2], - "15": [1, 1], - "16": [2, 1], - "17": [0, 1], - "18": [0, 1], - "19": [0, 0], - "20": [0, 0], - "21": [0, 0] - }, - "meta": { - "lastBranch": 22, - "lastFunction": 7, - "lastStatement": 76, - "seen": { - "s:9:45:9:Infinity": 0, - "f:11:2:11:16": 0, - "s:12:4:12:Infinity": 1, - "f:18:2:18:22": 1, - "b:19:4:19:Infinity:undefined:undefined:undefined:undefined": 0, - "s:19:4:19:Infinity": 2, - "s:19:26:19:Infinity": 3, - "s:21:4:42:Infinity": 4, - "b:23:6:26:Infinity:undefined:undefined:undefined:undefined": 1, - "s:23:6:26:Infinity": 5, - "b:23:10:23:41:23:41:23:70": 2, - "s:24:8:24:Infinity": 6, - "s:25:8:25:Infinity": 7, - "b:29:6:31:Infinity:undefined:undefined:undefined:undefined": 3, - "s:29:6:31:Infinity": 8, - "s:30:8:30:Infinity": 9, - "s:33:6:33:Infinity": 10, - "s:34:6:34:Infinity": 11, - "b:37:6:39:Infinity:undefined:undefined:undefined:undefined": 4, - "s:37:6:39:Infinity": 12, - "s:38:8:38:Infinity": 13, - "s:41:6:41:Infinity": 14, - "f:48:8:48:22": 2, - "s:49:4:74:Infinity": 15, - "s:50:20:50:Infinity": 16, - "b:51:6:54:Infinity:undefined:undefined:undefined:undefined": 5, - "s:51:6:54:Infinity": 17, - "b:51:10:51:20:51:20:51:43": 6, - "s:52:8:52:Infinity": 18, - "s:53:8:53:Infinity": 19, - "s:56:25:56:Infinity": 20, - "b:57:6:60:Infinity:undefined:undefined:undefined:undefined": 7, - "s:57:6:60:Infinity": 21, - "s:58:8:58:Infinity": 22, - "s:59:8:59:Infinity": 23, - "b:63:6:65:Infinity:undefined:undefined:undefined:undefined": 8, - "s:63:6:65:Infinity": 24, - "b:63:10:63:29:63:29:63:61": 9, - "s:64:8:64:Infinity": 25, - "s:68:6:68:Infinity": 26, - "s:70:6:70:Infinity": 27, - "s:71:6:71:Infinity": 28, - "s:73:6:73:Infinity": 29, - "f:80:10:80:30": 3, - "b:82:6:84:Infinity:85:6:87:Infinity:88:6:90:Infinity:91:6:97:Infinity:98:6:100:Infinity:101:6:102:Infinity": 10, - "s:81:4:103:Infinity": 30, - "s:83:8:83:Infinity": 31, - "s:84:8:84:Infinity": 32, - "s:86:8:86:Infinity": 33, - "s:87:8:87:Infinity": 34, - "s:89:8:89:Infinity": 35, - "s:90:8:90:Infinity": 36, - "b:92:8:96:Infinity:94:15:96:Infinity": 11, - "s:92:8:96:Infinity": 37, - "b:92:12:92:35:92:35:92:58": 12, - "s:93:10:93:Infinity": 38, - "s:95:10:95:Infinity": 39, - "s:97:8:97:Infinity": 40, - "s:99:8:99:Infinity": 41, - "s:100:8:100:Infinity": 42, - "s:102:8:102:Infinity": 43, - "f:109:10:109:24": 4, - "s:110:4:121:Infinity": 44, - "s:111:20:111:Infinity": 45, - "b:112:6:117:Infinity:114:13:117:Infinity": 13, - "s:112:6:117:Infinity": 46, - "s:113:8:113:Infinity": 47, - "s:116:8:116:Infinity": 48, - "s:119:6:119:Infinity": 49, - "s:120:6:120:Infinity": 50, - "f:127:2:127:26": 5, - "b:128:4:128:Infinity:undefined:undefined:undefined:undefined": 14, - "s:128:4:128:Infinity": 51, - "s:128:26:128:Infinity": 52, - "s:130:4:145:Infinity": 53, - "b:131:6:140:Infinity:undefined:undefined:undefined:undefined": 15, - "s:131:6:140:Infinity": 54, - "b:131:10:131:42:131:42:131:73": 16, - "b:132:8:134:Infinity:undefined:undefined:undefined:undefined": 17, - "s:132:8:134:Infinity": 55, - "s:133:10:133:Infinity": 56, - "s:135:8:135:Infinity": 57, - "s:136:8:136:Infinity": 58, - "b:137:8:139:Infinity:undefined:undefined:undefined:undefined": 18, - "s:137:8:139:Infinity": 59, - "s:138:10:138:Infinity": 60, - "s:142:6:142:Infinity": 61, - "s:144:6:144:Infinity": 62, - "f:151:8:151:43": 6, - "s:152:4:174:Infinity": 63, - "s:153:20:153:Infinity": 64, - "b:154:6:157:Infinity:undefined:undefined:undefined:undefined": 19, - "s:154:6:157:Infinity": 65, - "b:154:10:154:20:154:20:154:40": 20, - "s:155:8:155:Infinity": 66, - "s:156:8:156:Infinity": 67, - "s:159:24:159:Infinity": 68, - "b:160:6:163:Infinity:undefined:undefined:undefined:undefined": 21, - "s:160:6:163:Infinity": 69, - "s:161:8:161:Infinity": 70, - "s:162:8:162:Infinity": 71, - "s:166:44:166:Infinity": 72, - "s:169:6:169:Infinity": 73, - "s:171:6:171:Infinity": 74, - "s:173:6:173:Infinity": 75 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts", - "statementMap": { - "0": { "start": { "line": 10, "column": 21 }, "end": { "line": 10, "column": null } }, - "1": { "start": { "line": 11, "column": 20 }, "end": { "line": 11, "column": null } }, - "2": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": null } }, - "3": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, - "4": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, - "5": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": null } }, - "6": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": null } }, - "7": { "start": { "line": 24, "column": 4 }, "end": { "line": 31, "column": null } }, - "8": { "start": { "line": 25, "column": 6 }, "end": { "line": 25, "column": null } }, - "9": { "start": { "line": 26, "column": 6 }, "end": { "line": 26, "column": null } }, - "10": { "start": { "line": 27, "column": 6 }, "end": { "line": 27, "column": null } }, - "11": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": null } }, - "12": { "start": { "line": 30, "column": 6 }, "end": { "line": 30, "column": null } }, - "13": { "start": { "line": 35, "column": 4 }, "end": { "line": 63, "column": null } }, - "14": { "start": { "line": 37, "column": 6 }, "end": { "line": 37, "column": null } }, - "15": { "start": { "line": 39, "column": 23 }, "end": { "line": 39, "column": null } }, - "16": { "start": { "line": 40, "column": 6 }, "end": { "line": 40, "column": null } }, - "17": { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, - "18": { "start": { "line": 43, "column": 8 }, "end": { "line": 43, "column": null } }, - "19": { "start": { "line": 44, "column": 8 }, "end": { "line": 44, "column": null } }, - "20": { "start": { "line": 47, "column": 26 }, "end": { "line": 47, "column": null } }, - "21": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, - "22": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": null } }, - "23": { "start": { "line": 54, "column": 6 }, "end": { "line": 54, "column": null } }, - "24": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - "25": { "start": { "line": 60, "column": 6 }, "end": { "line": 60, "column": null } }, - "26": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": null } }, - "27": { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, - "28": { "start": { "line": 68, "column": 6 }, "end": { "line": 70, "column": null } }, - "29": { "start": { "line": 71, "column": 6 }, "end": { "line": 73, "column": null } }, - "30": { "start": { "line": 72, "column": 8 }, "end": { "line": 72, "column": null } }, - "31": { "start": { "line": 79, "column": 29 }, "end": { "line": 85, "column": null } }, - "32": { "start": { "line": 87, "column": 4 }, "end": { "line": 96, "column": null } }, - "33": { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, - "34": { "start": { "line": 89, "column": 8 }, "end": { "line": 91, "column": null } }, - "35": { "start": { "line": 92, "column": 8 }, "end": { "line": 94, "column": null } }, - "36": { "start": { "line": 93, "column": 10 }, "end": { "line": 93, "column": null } }, - "37": { "start": { "line": 101, "column": 32 }, "end": { "line": 104, "column": null } }, - "38": { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, - "39": { "start": { "line": 107, "column": 6 }, "end": { "line": 109, "column": null } }, - "40": { "start": { "line": 110, "column": 6 }, "end": { "line": 112, "column": null } }, - "41": { "start": { "line": 111, "column": 8 }, "end": { "line": 111, "column": null } }, - "42": { "start": { "line": 117, "column": 25 }, "end": { "line": 120, "column": null } }, - "43": { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, - "44": { "start": { "line": 123, "column": 6 }, "end": { "line": 125, "column": null } }, - "45": { "start": { "line": 126, "column": 6 }, "end": { "line": 128, "column": null } }, - "46": { "start": { "line": 127, "column": 8 }, "end": { "line": 127, "column": null } }, - "47": { "start": { "line": 133, "column": 4 }, "end": { "line": 136, "column": null } }, - "48": { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, - "49": { "start": { "line": 138, "column": 6 }, "end": { "line": 138, "column": null } }, - "50": { "start": { "line": 139, "column": 6 }, "end": { "line": 139, "column": null } }, - "51": { "start": { "line": 140, "column": 6 }, "end": { "line": 140, "column": null } }, - "52": { "start": { "line": 143, "column": 4 }, "end": { "line": 148, "column": null } }, - "53": { "start": { "line": 144, "column": 6 }, "end": { "line": 144, "column": null } }, - "54": { "start": { "line": 145, "column": 6 }, "end": { "line": 145, "column": null } }, - "55": { "start": { "line": 147, "column": 6 }, "end": { "line": 147, "column": null } }, - "56": { "start": { "line": 152, "column": 4 }, "end": { "line": 152, "column": null } }, - "57": { "start": { "line": 157, "column": 4 }, "end": { "line": 157, "column": null } }, - "58": { "start": { "line": 161, "column": 4 }, "end": { "line": 161, "column": null } }, - "59": { "start": { "line": 165, "column": 4 }, "end": { "line": 165, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 13, "column": 2 }, "end": { "line": 13, "column": 16 } }, - "loc": { "start": { "line": 13, "column": 52 }, "end": { "line": 15, "column": null } }, - "line": 13 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 17, "column": 8 }, "end": { "line": 17, "column": 36 } }, - "loc": { "start": { "line": 17, "column": 36 }, "end": { "line": 32, "column": null } }, - "line": 17 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": 41 } }, - "loc": { "start": { "line": 34, "column": 41 }, "end": { "line": 64, "column": null } }, - "line": 34 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 66, "column": 10 }, "end": { "line": 66, "column": 36 } }, - "loc": { "start": { "line": 66, "column": 56 }, "end": { "line": 75, "column": null } }, - "line": 66 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 71, "column": 60 }, "end": { "line": 71, "column": 66 } }, - "loc": { "start": { "line": 71, "column": 66 }, "end": { "line": 73, "column": 7 } }, - "line": 71 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 77, "column": 10 }, "end": { "line": 77, "column": 35 } }, - "loc": { "start": { "line": 77, "column": 55 }, "end": { "line": 97, "column": null } }, - "line": 77 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 92, "column": 49 }, "end": { "line": 92, "column": 55 } }, - "loc": { "start": { "line": 92, "column": 55 }, "end": { "line": 94, "column": 9 } }, - "line": 92 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 99, "column": 10 }, "end": { "line": 99, "column": 38 } }, - "loc": { "start": { "line": 99, "column": 58 }, "end": { "line": 114, "column": null } }, - "line": 99 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 110, "column": 60 }, "end": { "line": 110, "column": 66 } }, - "loc": { "start": { "line": 110, "column": 66 }, "end": { "line": 112, "column": 7 } }, - "line": 110 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 116, "column": 10 }, "end": { "line": 116, "column": 31 } }, - "loc": { "start": { "line": 116, "column": 51 }, "end": { "line": 130, "column": null } }, - "line": 116 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 126, "column": 53 }, "end": { "line": 126, "column": 59 } }, - "loc": { "start": { "line": 126, "column": 59 }, "end": { "line": 128, "column": 7 } }, - "line": 126 - }, - "11": { - "name": "(anonymous_11)", - "decl": { "start": { "line": 132, "column": 8 }, "end": { "line": 132, "column": 43 } }, - "loc": { "start": { "line": 132, "column": 43 }, "end": { "line": 149, "column": null } }, - "line": 132 - }, - "12": { - "name": "(anonymous_12)", - "decl": { "start": { "line": 151, "column": 2 }, "end": { "line": 151, "column": 18 } }, - "loc": { "start": { "line": 151, "column": 18 }, "end": { "line": 153, "column": null } }, - "line": 151 - }, - "13": { - "name": "(anonymous_13)", - "decl": { "start": { "line": 156, "column": 2 }, "end": { "line": 156, "column": 32 } }, - "loc": { "start": { "line": 156, "column": 32 }, "end": { "line": 158, "column": null } }, - "line": 156 - }, - "14": { - "name": "(anonymous_14)", - "decl": { "start": { "line": 160, "column": 2 }, "end": { "line": 160, "column": 21 } }, - "loc": { "start": { "line": 160, "column": 51 }, "end": { "line": 162, "column": null } }, - "line": 160 - }, - "15": { - "name": "(anonymous_15)", - "decl": { "start": { "line": 164, "column": 6 }, "end": { "line": 164, "column": 31 } }, - "loc": { "start": { "line": 164, "column": 31 }, "end": { "line": 166, "column": null } }, - "line": 164 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 19 - }, - "1": { - "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 42 - }, - "2": { - "loc": { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 67 - }, - "3": { - "loc": { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 88 - }, - "4": { - "loc": { "start": { "line": 101, "column": 32 }, "end": { "line": 104, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 101, "column": 32 }, "end": { "line": 101, "column": 61 } }, - { "start": { "line": 101, "column": 61 }, "end": { "line": 104, "column": null } } - ], - "line": 101 - }, - "5": { - "loc": { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 106 - }, - "6": { - "loc": { "start": { "line": 117, "column": 25 }, "end": { "line": 120, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 117, "column": 25 }, "end": { "line": 117, "column": 48 } }, - { "start": { "line": 117, "column": 48 }, "end": { "line": 120, "column": null } } - ], - "line": 117 - }, - "7": { - "loc": { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 122 - }, - "8": { - "loc": { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 137 - } - }, - "s": { - "0": 5, - "1": 5, - "2": 0, - "3": 6, - "4": 6, - "5": 1, - "6": 1, - "7": 5, - "8": 5, - "9": 5, - "10": 5, - "11": 5, - "12": 0, - "13": 6, - "14": 6, - "15": 6, - "16": 6, - "17": 6, - "18": 5, - "19": 5, - "20": 1, - "21": 1, - "22": 1, - "23": 1, - "24": 1, - "25": 1, - "26": 0, - "27": 1, - "28": 1, - "29": 1, - "30": 0, - "31": 1, - "32": 1, - "33": 5, - "34": 1, - "35": 1, - "36": 0, - "37": 1, - "38": 1, - "39": 0, - "40": 0, - "41": 0, - "42": 1, - "43": 1, - "44": 0, - "45": 0, - "46": 0, - "47": 1, - "48": 1, - "49": 0, - "50": 0, - "51": 0, - "52": 1, - "53": 1, - "54": 1, - "55": 0, - "56": 1, - "57": 0, - "58": 0, - "59": 2 - }, - "f": { - "0": 0, - "1": 6, - "2": 6, - "3": 1, - "4": 0, - "5": 1, - "6": 0, - "7": 1, - "8": 0, - "9": 1, - "10": 0, - "11": 1, - "12": 1, - "13": 0, - "14": 0, - "15": 2 - }, - "b": { - "0": [1, 5], - "1": [5, 1], - "2": [1, 0], - "3": [1, 4], - "4": [1, 0], - "5": [0, 1], - "6": [1, 0], - "7": [0, 1], - "8": [0, 1] - }, - "meta": { - "lastBranch": 9, - "lastFunction": 16, - "lastStatement": 60, - "seen": { - "s:10:21:10:Infinity": 0, - "s:11:20:11:Infinity": 1, - "f:13:2:13:16": 0, - "s:14:4:14:Infinity": 2, - "f:17:8:17:36": 1, - "s:18:4:18:Infinity": 3, - "b:19:4:22:Infinity:undefined:undefined:undefined:undefined": 0, - "s:19:4:22:Infinity": 4, - "s:20:6:20:Infinity": 5, - "s:21:6:21:Infinity": 6, - "s:24:4:31:Infinity": 7, - "s:25:6:25:Infinity": 8, - "s:26:6:26:Infinity": 9, - "s:27:6:27:Infinity": 10, - "s:28:6:28:Infinity": 11, - "s:30:6:30:Infinity": 12, - "f:34:8:34:41": 2, - "s:35:4:63:Infinity": 13, - "s:37:6:37:Infinity": 14, - "s:39:23:39:Infinity": 15, - "s:40:6:40:Infinity": 16, - "b:42:6:45:Infinity:undefined:undefined:undefined:undefined": 1, - "s:42:6:45:Infinity": 17, - "s:43:8:43:Infinity": 18, - "s:44:8:44:Infinity": 19, - "s:47:26:47:Infinity": 20, - "s:48:6:48:Infinity": 21, - "s:51:6:51:Infinity": 22, - "s:54:6:54:Infinity": 23, - "s:57:6:57:Infinity": 24, - "s:60:6:60:Infinity": 25, - "s:62:6:62:Infinity": 26, - "f:66:10:66:36": 3, - "b:67:4:74:Infinity:undefined:undefined:undefined:undefined": 2, - "s:67:4:74:Infinity": 27, - "s:68:6:70:Infinity": 28, - "s:71:6:73:Infinity": 29, - "f:71:60:71:66": 4, - "s:72:8:72:Infinity": 30, - "f:77:10:77:35": 5, - "s:79:29:85:Infinity": 31, - "s:87:4:96:Infinity": 32, - "b:88:6:95:Infinity:undefined:undefined:undefined:undefined": 3, - "s:88:6:95:Infinity": 33, - "s:89:8:91:Infinity": 34, - "s:92:8:94:Infinity": 35, - "f:92:49:92:55": 6, - "s:93:10:93:Infinity": 36, - "f:99:10:99:38": 7, - "s:101:32:104:Infinity": 37, - "b:101:32:101:61:101:61:104:Infinity": 4, - "b:106:4:113:Infinity:undefined:undefined:undefined:undefined": 5, - "s:106:4:113:Infinity": 38, - "s:107:6:109:Infinity": 39, - "s:110:6:112:Infinity": 40, - "f:110:60:110:66": 8, - "s:111:8:111:Infinity": 41, - "f:116:10:116:31": 9, - "s:117:25:120:Infinity": 42, - "b:117:25:117:48:117:48:120:Infinity": 6, - "b:122:4:129:Infinity:undefined:undefined:undefined:undefined": 7, - "s:122:4:129:Infinity": 43, - "s:123:6:125:Infinity": 44, - "s:126:6:128:Infinity": 45, - "f:126:53:126:59": 10, - "s:127:8:127:Infinity": 46, - "f:132:8:132:43": 11, - "s:133:4:136:Infinity": 47, - "b:137:4:141:Infinity:undefined:undefined:undefined:undefined": 8, - "s:137:4:141:Infinity": 48, - "s:138:6:138:Infinity": 49, - "s:139:6:139:Infinity": 50, - "s:140:6:140:Infinity": 51, - "s:143:4:148:Infinity": 52, - "s:144:6:144:Infinity": 53, - "s:145:6:145:Infinity": 54, - "s:147:6:147:Infinity": 55, - "f:151:2:151:18": 12, - "s:152:4:152:Infinity": 56, - "f:156:2:156:32": 13, - "s:157:4:157:Infinity": 57, - "f:160:2:160:21": 14, - "s:161:4:161:Infinity": 58, - "f:164:6:164:31": 15, - "s:165:4:165:Infinity": 59 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts", - "statementMap": { - "0": { "start": { "line": 8, "column": 39 }, "end": { "line": 11, "column": null } }, - "1": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": null } }, - "2": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, - "3": { "start": { "line": 25, "column": 4 }, "end": { "line": 44, "column": null } }, - "4": { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, - "5": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": null } }, - "6": { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": null } }, - "7": { "start": { "line": 32, "column": 22 }, "end": { "line": 32, "column": null } }, - "8": { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, - "9": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": null } }, - "10": { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": null } }, - "11": { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, - "12": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, - "13": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": null } }, - "14": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": null } }, - "15": { "start": { "line": 43, "column": 6 }, "end": { "line": 43, "column": null } }, - "16": { "start": { "line": 51, "column": 4 }, "end": { "line": 57, "column": null } }, - "17": { "start": { "line": 52, "column": 6 }, "end": { "line": 56, "column": null } }, - "18": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": null } }, - "19": { "start": { "line": 55, "column": 8 }, "end": { "line": 55, "column": null } }, - "20": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": null } }, - "21": { "start": { "line": 65, "column": 4 }, "end": { "line": 65, "column": null } }, - "22": { "start": { "line": 72, "column": 4 }, "end": { "line": 72, "column": null } }, - "23": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, - "24": { "start": { "line": 80, "column": 4 }, "end": { "line": 80, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 13, "column": 6 }, "end": { "line": 13, "column": 31 } }, - "loc": { "start": { "line": 13, "column": 31 }, "end": { "line": 15, "column": null } }, - "line": 13 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } }, - "loc": { "start": { "line": 17, "column": 39 }, "end": { "line": 19, "column": null } }, - "line": 17 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 24, "column": 2 }, "end": { "line": 24, "column": 17 } }, - "loc": { "start": { "line": 24, "column": 69 }, "end": { "line": 45, "column": null } }, - "line": 24 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 31 } }, - "loc": { "start": { "line": 50, "column": 31 }, "end": { "line": 59, "column": null } }, - "line": 50 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 51, "column": 38 }, "end": { "line": 51, "column": 39 } }, - "loc": { "start": { "line": 51, "column": 55 }, "end": { "line": 57, "column": 5 } }, - "line": 51 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 32 } }, - "loc": { "start": { "line": 64, "column": 32 }, "end": { "line": 66, "column": null } }, - "line": 64 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 21 } }, - "loc": { "start": { "line": 71, "column": 51 }, "end": { "line": 73, "column": null } }, - "line": 71 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 78, "column": 2 }, "end": { "line": 78, "column": 18 } }, - "loc": { "start": { "line": 78, "column": 18 }, "end": { "line": 81, "column": null } }, - "line": 78 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 27 - }, - "1": { - "loc": { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, - { "start": { "line": 37, "column": 13 }, "end": { "line": 40, "column": null } } - ], - "line": 33 - } - }, - "s": { - "0": 13, - "1": 11, - "2": 6, - "3": 12, - "4": 12, - "5": 1, - "6": 1, - "7": 11, - "8": 11, - "9": 10, - "10": 10, - "11": 10, - "12": 1, - "13": 1, - "14": 0, - "15": 0, - "16": 9, - "17": 3, - "18": 3, - "19": 0, - "20": 9, - "21": 3, - "22": 2, - "23": 2, - "24": 2 - }, - "f": { "0": 11, "1": 6, "2": 12, "3": 9, "4": 3, "5": 3, "6": 2, "7": 2 }, - "b": { "0": [1, 11], "1": [10, 1] }, - "meta": { - "lastBranch": 2, - "lastFunction": 8, - "lastStatement": 25, - "seen": { - "s:8:39:11:Infinity": 0, - "f:13:6:13:31": 0, - "s:14:4:14:Infinity": 1, - "f:17:2:17:17": 1, - "s:18:4:18:Infinity": 2, - "f:24:2:24:17": 2, - "s:25:4:44:Infinity": 3, - "b:27:6:30:Infinity:undefined:undefined:undefined:undefined": 0, - "s:27:6:30:Infinity": 4, - "s:28:8:28:Infinity": 5, - "s:29:8:29:Infinity": 6, - "s:32:22:32:Infinity": 7, - "b:33:6:40:Infinity:37:13:40:Infinity": 1, - "s:33:6:40:Infinity": 8, - "s:34:8:34:Infinity": 9, - "s:35:8:35:Infinity": 10, - "s:36:8:36:Infinity": 11, - "s:38:8:38:Infinity": 12, - "s:39:8:39:Infinity": 13, - "s:42:6:42:Infinity": 14, - "s:43:6:43:Infinity": 15, - "f:50:2:50:31": 3, - "s:51:4:57:Infinity": 16, - "f:51:38:51:39": 4, - "s:52:6:56:Infinity": 17, - "s:53:8:53:Infinity": 18, - "s:55:8:55:Infinity": 19, - "s:58:4:58:Infinity": 20, - "f:64:2:64:32": 5, - "s:65:4:65:Infinity": 21, - "f:71:2:71:21": 6, - "s:72:4:72:Infinity": 22, - "f:78:2:78:18": 7, - "s:79:4:79:Infinity": 23, - "s:80:4:80:Infinity": 24 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts", - "statementMap": { - "0": { "start": { "line": 4, "column": 55 }, "end": { "line": 38, "column": null } }, - "1": { "start": { "line": 40, "column": 46 }, "end": { "line": 52, "column": null } }, - "2": { "start": { "line": 54, "column": 37 }, "end": { "line": 61, "column": null } } - }, - "fnMap": {}, - "branchMap": {}, - "s": { "0": 1, "1": 1, "2": 1 }, - "f": {}, - "b": {}, - "meta": { - "lastBranch": 0, - "lastFunction": 0, - "lastStatement": 3, - "seen": { "s:4:55:38:Infinity": 0, "s:40:46:52:Infinity": 1, "s:54:37:61:Infinity": 2 } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts", - "statementMap": { - "0": { "start": { "line": 8, "column": 19 }, "end": { "line": 8, "column": null } }, - "1": { "start": { "line": 10, "column": 2 }, "end": { "line": 39, "column": null } }, - "2": { "start": { "line": 12, "column": 21 }, "end": { "line": 12, "column": null } }, - "3": { "start": { "line": 15, "column": 26 }, "end": { "line": 15, "column": null } }, - "4": { "start": { "line": 18, "column": 4 }, "end": { "line": 22, "column": null } }, - "5": { "start": { "line": 19, "column": 6 }, "end": { "line": 19, "column": null } }, - "6": { "start": { "line": 25, "column": 4 }, "end": { "line": 25, "column": null } }, - "7": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": null } }, - "8": { "start": { "line": 28, "column": 4 }, "end": { "line": 28, "column": null } }, - "9": { "start": { "line": 31, "column": 4 }, "end": { "line": 35, "column": null } }, - "10": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": null } }, - "11": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": null } }, - "12": { "start": { "line": 38, "column": 4 }, "end": { "line": 38, "column": null } }, - "13": { "start": { "line": 46, "column": 2 }, "end": { "line": 67, "column": null } }, - "14": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": null } }, - "15": { "start": { "line": 51, "column": 26 }, "end": { "line": 51, "column": null } }, - "16": { "start": { "line": 54, "column": 28 }, "end": { "line": 54, "column": null } }, - "17": { "start": { "line": 55, "column": 21 }, "end": { "line": 55, "column": null } }, - "18": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": null } }, - "19": { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, - "20": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": null } }, - "21": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, - "22": { "start": { "line": 65, "column": 6 }, "end": { "line": 65, "column": null } }, - "23": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": null } }, - "24": { "start": { "line": 81, "column": 2 }, "end": { "line": 81, "column": null } } - }, - "fnMap": { - "0": { - "name": "saveToFile", - "decl": { "start": { "line": 7, "column": 22 }, "end": { "line": 7, "column": 33 } }, - "loc": { "start": { "line": 7, "column": 86 }, "end": { "line": 40, "column": null } }, - "line": 7 - }, - "1": { - "name": "loadFromFile", - "decl": { "start": { "line": 45, "column": 22 }, "end": { "line": 45, "column": 35 } }, - "loc": { "start": { "line": 45, "column": 76 }, "end": { "line": 68, "column": null } }, - "line": 45 - }, - "2": { - "name": "ensureDataDirectory", - "decl": { "start": { "line": 73, "column": 22 }, "end": { "line": 73, "column": 42 } }, - "loc": { "start": { "line": 73, "column": 75 }, "end": { "line": 75, "column": null } }, - "line": 73 - }, - "3": { - "name": "isEncryptionAvailable", - "decl": { "start": { "line": 80, "column": 16 }, "end": { "line": 80, "column": 49 } }, - "loc": { "start": { "line": 80, "column": 49 }, "end": { "line": 82, "column": null } }, - "line": 80 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, - { "start": { "line": 63, "column": 11 }, "end": { "line": 66, "column": null } } - ], - "line": 60 - } - }, - "s": { - "0": 2, - "1": 2, - "2": 2, - "3": 2, - "4": 2, - "5": 2, - "6": 2, - "7": 1, - "8": 1, - "9": 1, - "10": 1, - "11": 1, - "12": 1, - "13": 2, - "14": 2, - "15": 1, - "16": 1, - "17": 1, - "18": 1, - "19": 1, - "20": 1, - "21": 0, - "22": 0, - "23": 1, - "24": 1 - }, - "f": { "0": 2, "1": 2, "2": 1, "3": 1 }, - "b": { "0": [1, 0] }, - "meta": { - "lastBranch": 1, - "lastFunction": 4, - "lastStatement": 25, - "seen": { - "f:7:22:7:33": 0, - "s:8:19:8:Infinity": 0, - "s:10:2:39:Infinity": 1, - "s:12:21:12:Infinity": 2, - "s:15:26:15:Infinity": 3, - "s:18:4:22:Infinity": 4, - "s:19:6:19:Infinity": 5, - "s:25:4:25:Infinity": 6, - "s:26:4:26:Infinity": 7, - "s:28:4:28:Infinity": 8, - "s:31:4:35:Infinity": 9, - "s:32:6:32:Infinity": 10, - "s:37:4:37:Infinity": 11, - "s:38:4:38:Infinity": 12, - "f:45:22:45:35": 1, - "s:46:2:67:Infinity": 13, - "s:48:4:48:Infinity": 14, - "s:51:26:51:Infinity": 15, - "s:54:28:54:Infinity": 16, - "s:55:21:55:Infinity": 17, - "s:58:4:58:Infinity": 18, - "b:60:4:66:Infinity:63:11:66:Infinity": 0, - "s:60:4:66:Infinity": 19, - "s:62:6:62:Infinity": 20, - "s:64:6:64:Infinity": 21, - "s:65:6:65:Infinity": 22, - "f:73:22:73:42": 2, - "s:74:2:74:Infinity": 23, - "f:80:16:80:49": 3, - "s:81:2:81:Infinity": 24 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts", - "statementMap": { - "0": { "start": { "line": 9, "column": 32 }, "end": { "line": 9, "column": null } }, - "1": { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, - "2": { "start": { "line": 13, "column": 4 }, "end": { "line": 16, "column": null } }, - "3": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, - "4": { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, - "5": { "start": { "line": 21, "column": 4 }, "end": { "line": 24, "column": null } }, - "6": { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, - "7": { "start": { "line": 29, "column": 4 }, "end": { "line": 38, "column": null } }, - "8": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, - "9": { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, - "10": { "start": { "line": 43, "column": 4 }, "end": { "line": 53, "column": null } }, - "11": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, - "12": { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, - "13": { "start": { "line": 58, "column": 4 }, "end": { "line": 68, "column": null } }, - "14": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, - "15": { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, - "16": { "start": { "line": 73, "column": 4 }, "end": { "line": 73, "column": null } }, - "17": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": null } } - }, - "fnMap": { - "0": { - "name": "migrateData", - "decl": { "start": { "line": 7, "column": 16 }, "end": { "line": 7, "column": 28 } }, - "loc": { "start": { "line": 7, "column": 48 }, "end": { "line": 77, "column": null } }, - "line": 7 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 14, "column": 6 }, "end": { "line": 14, "column": 7 } }, - "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, - "line": 15 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 30, "column": 6 }, "end": { "line": 30, "column": 7 } }, - "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, - "line": 31 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 44, "column": 6 }, "end": { "line": 44, "column": 7 } }, - "loc": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, - "line": 45 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 59, "column": 6 }, "end": { "line": 59, "column": 7 } }, - "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, - "line": 60 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 12 - }, - "1": { - "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 47 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 20 } }, - { "start": { "line": 12, "column": 20 }, "end": { "line": 12, "column": 47 } } - ], - "line": 12 - }, - "2": { - "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 22 } }, - { "start": { "line": 15, "column": 22 }, "end": { "line": 15, "column": 60 } }, - { "start": { "line": 15, "column": 60 }, "end": { "line": 15, "column": null } } - ], - "line": 15 - }, - "3": { - "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 20 - }, - "4": { - "loc": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 58 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 23 } }, - { "start": { "line": 20, "column": 23 }, "end": { "line": 20, "column": 58 } } - ], - "line": 20 - }, - "5": { - "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 28 - }, - "6": { - "loc": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 55 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 24 } }, - { "start": { "line": 28, "column": 24 }, "end": { "line": 28, "column": 55 } } - ], - "line": 28 - }, - "7": { - "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, - { "start": { "line": 32, "column": 8 }, "end": { "line": 32, "column": null } }, - { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": null } }, - { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": null } }, - { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": null } }, - { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, - { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": null } } - ], - "line": 31 - }, - "8": { - "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 42 - }, - "9": { - "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 59 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 26 } }, - { "start": { "line": 42, "column": 26 }, "end": { "line": 42, "column": 59 } } - ], - "line": 42 - }, - "10": { - "loc": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 45, "column": 8 }, "end": { "line": 45, "column": null } }, - { "start": { "line": 46, "column": 8 }, "end": { "line": 46, "column": null } }, - { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, - { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": null } }, - { "start": { "line": 49, "column": 8 }, "end": { "line": 49, "column": null } }, - { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": null } }, - { "start": { "line": 51, "column": 8 }, "end": { "line": 51, "column": null } }, - { "start": { "line": 52, "column": 8 }, "end": { "line": 52, "column": null } } - ], - "line": 45 - }, - "11": { - "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 57 - }, - "12": { - "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 57 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 25 } }, - { "start": { "line": 57, "column": 25 }, "end": { "line": 57, "column": 57 } } - ], - "line": 57 - }, - "13": { - "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": null } }, - { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, - { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": null } }, - { "start": { "line": 63, "column": 8 }, "end": { "line": 63, "column": null } }, - { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, - { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": null } }, - { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, - { "start": { "line": 67, "column": 8 }, "end": { "line": 67, "column": null } } - ], - "line": 60 - }, - "14": { - "loc": { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 72 - }, - "15": { - "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 56 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 22 } }, - { "start": { "line": 72, "column": 22 }, "end": { "line": 72, "column": 56 } } - ], - "line": 72 - } - }, - "s": { - "0": 11, - "1": 11, - "2": 2, - "3": 5, - "4": 11, - "5": 1, - "6": 11, - "7": 2, - "8": 3, - "9": 11, - "10": 1, - "11": 1, - "12": 11, - "13": 1, - "14": 1, - "15": 11, - "16": 1, - "17": 11 - }, - "f": { "0": 11, "1": 5, "2": 3, "3": 1, "4": 1 }, - "b": { - "0": [2, 9], - "1": [11, 3], - "2": [5, 3, 2], - "3": [1, 10], - "4": [11, 1], - "5": [2, 9], - "6": [11, 2], - "7": [3, 3, 2, 2, 2, 2, 2], - "8": [1, 10], - "9": [11, 1], - "10": [1, 1, 1, 1, 1, 1, 1, 1], - "11": [1, 10], - "12": [11, 1], - "13": [1, 1, 1, 1, 1, 1, 1, 1], - "14": [1, 10], - "15": [11, 1] - }, - "meta": { - "lastBranch": 16, - "lastFunction": 5, - "lastStatement": 18, - "seen": { - "f:7:16:7:28": 0, - "s:9:32:9:Infinity": 0, - "b:12:2:17:Infinity:undefined:undefined:undefined:undefined": 0, - "s:12:2:17:Infinity": 1, - "b:12:6:12:20:12:20:12:47": 1, - "s:13:4:16:Infinity": 2, - "f:14:6:14:7": 1, - "s:15:8:15:Infinity": 3, - "b:15:8:15:22:15:22:15:60:15:60:15:Infinity": 2, - "b:20:2:25:Infinity:undefined:undefined:undefined:undefined": 3, - "s:20:2:25:Infinity": 4, - "b:20:6:20:23:20:23:20:58": 4, - "s:21:4:24:Infinity": 5, - "b:28:2:39:Infinity:undefined:undefined:undefined:undefined": 5, - "s:28:2:39:Infinity": 6, - "b:28:6:28:24:28:24:28:55": 6, - "s:29:4:38:Infinity": 7, - "f:30:6:30:7": 2, - "s:31:8:37:Infinity": 8, - "b:31:8:31:Infinity:32:8:32:Infinity:33:8:33:Infinity:34:8:34:Infinity:35:8:35:Infinity:36:8:36:Infinity:37:8:37:Infinity": 7, - "b:42:2:54:Infinity:undefined:undefined:undefined:undefined": 8, - "s:42:2:54:Infinity": 9, - "b:42:6:42:26:42:26:42:59": 9, - "s:43:4:53:Infinity": 10, - "f:44:6:44:7": 3, - "s:45:8:52:Infinity": 11, - "b:45:8:45:Infinity:46:8:46:Infinity:47:8:47:Infinity:48:8:48:Infinity:49:8:49:Infinity:50:8:50:Infinity:51:8:51:Infinity:52:8:52:Infinity": 10, - "b:57:2:69:Infinity:undefined:undefined:undefined:undefined": 11, - "s:57:2:69:Infinity": 12, - "b:57:6:57:25:57:25:57:57": 12, - "s:58:4:68:Infinity": 13, - "f:59:6:59:7": 4, - "s:60:8:67:Infinity": 14, - "b:60:8:60:Infinity:61:8:61:Infinity:62:8:62:Infinity:63:8:63:Infinity:64:8:64:Infinity:65:8:65:Infinity:66:8:66:Infinity:67:8:67:Infinity": 13, - "b:72:2:74:Infinity:undefined:undefined:undefined:undefined": 14, - "s:72:2:74:Infinity": 15, - "b:72:6:72:22:72:22:72:56": 15, - "s:73:4:73:Infinity": 16, - "s:76:2:76:Infinity": 17 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts", - "statementMap": { - "0": { "start": { "line": 7, "column": 2 }, "end": { "line": 7, "column": null } }, - "1": { "start": { "line": 14, "column": 2 }, "end": { "line": 22, "column": null } }, - "2": { "start": { "line": 32, "column": 2 }, "end": { "line": 36, "column": null } }, - "3": { "start": { "line": 43, "column": 2 }, "end": { "line": 43, "column": null } }, - "4": { "start": { "line": 43, "column": 41 }, "end": { "line": 43, "column": 58 } }, - "5": { "start": { "line": 50, "column": 2 }, "end": { "line": 53, "column": null } }, - "6": { "start": { "line": 50, "column": 49 }, "end": { "line": 53, "column": 4 } } - }, - "fnMap": { - "0": { - "name": "generateId", - "decl": { "start": { "line": 6, "column": 16 }, "end": { "line": 6, "column": 37 } }, - "loc": { "start": { "line": 6, "column": 37 }, "end": { "line": 8, "column": null } }, - "line": 6 - }, - "1": { - "name": "createSearchTermObject", - "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 39 } }, - "loc": { "start": { "line": 13, "column": 97 }, "end": { "line": 23, "column": null } }, - "line": 13 - }, - "2": { - "name": "updateSearchTermObject", - "decl": { "start": { "line": 28, "column": 16 }, "end": { "line": 28, "column": null } }, - "loc": { "start": { "line": 31, "column": 14 }, "end": { "line": 37, "column": null } }, - "line": 31 - }, - "3": { - "name": "sortSearchTermsByOrder", - "decl": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 39 } }, - "loc": { "start": { "line": 42, "column": 80 }, "end": { "line": 44, "column": null } }, - "line": 42 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 43, "column": 31 }, "end": { "line": 43, "column": 32 } }, - "loc": { "start": { "line": 43, "column": 41 }, "end": { "line": 43, "column": 58 } }, - "line": 43 - }, - "5": { - "name": "reorderSearchTermsArray", - "decl": { "start": { "line": 49, "column": 16 }, "end": { "line": 49, "column": 40 } }, - "loc": { "start": { "line": 49, "column": 81 }, "end": { "line": 54, "column": null } }, - "line": 49 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 50, "column": 25 }, "end": { "line": 50, "column": 26 } }, - "loc": { "start": { "line": 50, "column": 49 }, "end": { "line": 53, "column": 4 } }, - "line": 50 - } - }, - "branchMap": {}, - "s": { "0": 1, "1": 1, "2": 0, "3": 2, "4": 5, "5": 0, "6": 0 }, - "f": { "0": 1, "1": 1, "2": 0, "3": 2, "4": 5, "5": 0, "6": 0 }, - "b": {}, - "meta": { - "lastBranch": 0, - "lastFunction": 7, - "lastStatement": 7, - "seen": { - "f:6:16:6:37": 0, - "s:7:2:7:Infinity": 0, - "f:13:16:13:39": 1, - "s:14:2:22:Infinity": 1, - "f:28:16:28:Infinity": 2, - "s:32:2:36:Infinity": 2, - "f:42:16:42:39": 3, - "s:43:2:43:Infinity": 3, - "f:43:31:43:32": 4, - "s:43:41:43:58": 4, - "f:49:16:49:40": 5, - "s:50:2:53:Infinity": 5, - "f:50:25:50:26": 6, - "s:50:49:53:4": 6 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts", - "statementMap": { - "0": { "start": { "line": 7, "column": 2 }, "end": { "line": 7, "column": null } }, - "1": { "start": { "line": 14, "column": 2 }, "end": { "line": 21, "column": null } }, - "2": { "start": { "line": 28, "column": 2 }, "end": { "line": 32, "column": null } }, - "3": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": null } }, - "4": { "start": { "line": 39, "column": 39 }, "end": { "line": 39, "column": 56 } }, - "5": { "start": { "line": 46, "column": 2 }, "end": { "line": 49, "column": null } }, - "6": { "start": { "line": 46, "column": 45 }, "end": { "line": 49, "column": 4 } }, - "7": { "start": { "line": 59, "column": 31 }, "end": { "line": 59, "column": null } }, - "8": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, - "9": { "start": { "line": 61, "column": 21 }, "end": { "line": 61, "column": null } }, - "10": { "start": { "line": 64, "column": 2 }, "end": { "line": 71, "column": null } }, - "11": { "start": { "line": 65, "column": 18 }, "end": { "line": 65, "column": null } }, - "12": { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, - "13": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, - "14": { "start": { "line": 67, "column": 39 }, "end": { "line": 67, "column": null } }, - "15": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, - "16": { "start": { "line": 69, "column": 34 }, "end": { "line": 69, "column": null } }, - "17": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": null } }, - "18": { "start": { "line": 84, "column": 15 }, "end": { "line": 84, "column": null } }, - "19": { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, - "20": { "start": { "line": 88, "column": 4 }, "end": { "line": 91, "column": null } }, - "21": { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, - "22": { "start": { "line": 89, "column": 36 }, "end": { "line": 89, "column": null } }, - "23": { "start": { "line": 90, "column": 6 }, "end": { "line": 90, "column": null } }, - "24": { "start": { "line": 95, "column": 2 }, "end": { "line": 98, "column": null } }, - "25": { "start": { "line": 96, "column": 18 }, "end": { "line": 96, "column": null } }, - "26": { "start": { "line": 97, "column": 4 }, "end": { "line": 97, "column": null } }, - "27": { "start": { "line": 100, "column": 2 }, "end": { "line": 100, "column": null } } - }, - "fnMap": { - "0": { - "name": "generateTemplateId", - "decl": { "start": { "line": 6, "column": 16 }, "end": { "line": 6, "column": 45 } }, - "loc": { "start": { "line": 6, "column": 45 }, "end": { "line": 8, "column": null } }, - "line": 6 - }, - "1": { - "name": "createTemplateObject", - "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 37 } }, - "loc": { "start": { "line": 13, "column": 93 }, "end": { "line": 22, "column": null } }, - "line": 13 - }, - "2": { - "name": "updateTemplateObject", - "decl": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": 37 } }, - "loc": { "start": { "line": 27, "column": 95 }, "end": { "line": 33, "column": null } }, - "line": 27 - }, - "3": { - "name": "sortTemplatesByOrder", - "decl": { "start": { "line": 38, "column": 16 }, "end": { "line": 38, "column": 37 } }, - "loc": { "start": { "line": 38, "column": 72 }, "end": { "line": 40, "column": null } }, - "line": 38 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 39, "column": 29 }, "end": { "line": 39, "column": 30 } }, - "loc": { "start": { "line": 39, "column": 39 }, "end": { "line": 39, "column": 56 } }, - "line": 39 - }, - "5": { - "name": "reorderTemplatesArray", - "decl": { "start": { "line": 45, "column": 16 }, "end": { "line": 45, "column": 38 } }, - "loc": { "start": { "line": 45, "column": 73 }, "end": { "line": 50, "column": null } }, - "line": 45 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 46, "column": 23 }, "end": { "line": 46, "column": 24 } }, - "loc": { "start": { "line": 46, "column": 45 }, "end": { "line": 49, "column": 4 } }, - "line": 46 - }, - "7": { - "name": "extractTemplateTokens", - "decl": { "start": { "line": 55, "column": 16 }, "end": { "line": 55, "column": 38 } }, - "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 74, "column": null } }, - "line": 58 - }, - "8": { - "name": "generateTextFromTemplate", - "decl": { "start": { "line": 79, "column": 16 }, "end": { "line": 79, "column": null } }, - "loc": { "start": { "line": 83, "column": 10 }, "end": { "line": 101, "column": null } }, - "line": 83 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 88, "column": 42 }, "end": { "line": 88, "column": 43 } }, - "loc": { "start": { "line": 88, "column": 64 }, "end": { "line": 91, "column": 5 } }, - "line": 88 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 95, "column": 41 }, "end": { "line": 95, "column": 42 } }, - "loc": { "start": { "line": 95, "column": 63 }, "end": { "line": 98, "column": 3 } }, - "line": 95 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, - { "start": { "line": 68, "column": 11 }, "end": { "line": 70, "column": null } } - ], - "line": 66 - }, - "1": { - "loc": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 67 - }, - "2": { - "loc": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 69 - }, - "3": { - "loc": { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 87 - }, - "4": { - "loc": { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 89 - }, - "5": { - "loc": { "start": { "line": 90, "column": 13 }, "end": { "line": 90, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 90, "column": 37 }, "end": { "line": 90, "column": 59 } }, - { "start": { "line": 90, "column": 59 }, "end": { "line": 90, "column": null } } - ], - "line": 90 - }, - "6": { - "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 97, "column": 55 }, "end": { "line": 97, "column": 77 } }, - { "start": { "line": 97, "column": 77 }, "end": { "line": 97, "column": null } } - ], - "line": 97 - }, - "7": { - "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 55 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 25 } }, - { "start": { "line": 97, "column": 25 }, "end": { "line": 97, "column": 55 } } - ], - "line": 97 - } - }, - "s": { - "0": 1, - "1": 1, - "2": 0, - "3": 2, - "4": 5, - "5": 0, - "6": 0, - "7": 5, - "8": 5, - "9": 5, - "10": 5, - "11": 8, - "12": 8, - "13": 5, - "14": 4, - "15": 3, - "16": 3, - "17": 5, - "18": 6, - "19": 6, - "20": 2, - "21": 3, - "22": 1, - "23": 2, - "24": 6, - "25": 6, - "26": 6, - "27": 6 - }, - "f": { - "0": 1, - "1": 1, - "2": 0, - "3": 2, - "4": 5, - "5": 0, - "6": 0, - "7": 5, - "8": 6, - "9": 3, - "10": 6 - }, - "b": { - "0": [5, 3], - "1": [4, 1], - "2": [3, 0], - "3": [2, 4], - "4": [1, 2], - "5": [2, 0], - "6": [5, 1], - "7": [6, 6] - }, - "meta": { - "lastBranch": 8, - "lastFunction": 11, - "lastStatement": 28, - "seen": { - "f:6:16:6:45": 0, - "s:7:2:7:Infinity": 0, - "f:13:16:13:37": 1, - "s:14:2:21:Infinity": 1, - "f:27:16:27:37": 2, - "s:28:2:32:Infinity": 2, - "f:38:16:38:37": 3, - "s:39:2:39:Infinity": 3, - "f:39:29:39:30": 4, - "s:39:39:39:56": 4, - "f:45:16:45:38": 5, - "s:46:2:49:Infinity": 5, - "f:46:23:46:24": 6, - "s:46:45:49:4": 6, - "f:55:16:55:38": 7, - "s:59:31:59:Infinity": 7, - "s:60:26:60:Infinity": 8, - "s:61:21:61:Infinity": 9, - "s:64:2:71:Infinity": 10, - "s:65:18:65:Infinity": 11, - "b:66:4:70:Infinity:68:11:70:Infinity": 0, - "s:66:4:70:Infinity": 12, - "b:67:6:67:Infinity:undefined:undefined:undefined:undefined": 1, - "s:67:6:67:Infinity": 13, - "s:67:39:67:Infinity": 14, - "b:69:6:69:Infinity:undefined:undefined:undefined:undefined": 2, - "s:69:6:69:Infinity": 15, - "s:69:34:69:Infinity": 16, - "s:73:2:73:Infinity": 17, - "f:79:16:79:Infinity": 8, - "s:84:15:84:Infinity": 18, - "b:87:2:92:Infinity:undefined:undefined:undefined:undefined": 3, - "s:87:2:92:Infinity": 19, - "s:88:4:91:Infinity": 20, - "f:88:42:88:43": 9, - "b:89:6:89:Infinity:undefined:undefined:undefined:undefined": 4, - "s:89:6:89:Infinity": 21, - "s:89:36:89:Infinity": 22, - "s:90:6:90:Infinity": 23, - "b:90:37:90:59:90:59:90:Infinity": 5, - "s:95:2:98:Infinity": 24, - "f:95:41:95:42": 10, - "s:96:18:96:Infinity": 25, - "s:97:4:97:Infinity": 26, - "b:97:55:97:77:97:77:97:Infinity": 6, - "b:97:11:97:25:97:25:97:55": 7, - "s:100:2:100:Infinity": 27 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx", - "statementMap": { - "0": { "start": { "line": 10, "column": 28 }, "end": { "line": 21, "column": null } }, - "1": { "start": { "line": 11, "column": 18 }, "end": { "line": 11, "column": null } }, - "2": { "start": { "line": 13, "column": 2 }, "end": { "line": 19, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": 29 } }, - "loc": { "start": { "line": 10, "column": 61 }, "end": { "line": 21, "column": null } }, - "line": 10 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 34 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 23 } }, - { "start": { "line": 17, "column": 23 }, "end": { "line": 17, "column": 34 } } - ], - "line": 17 - } - }, - "s": { "0": 1, "1": 2, "2": 2 }, - "f": { "0": 2 }, - "b": { "0": [2, 1] }, - "meta": { - "lastBranch": 1, - "lastFunction": 1, - "lastStatement": 3, - "seen": { - "s:10:28:21:Infinity": 0, - "f:10:28:10:29": 0, - "s:11:18:11:Infinity": 1, - "s:13:2:19:Infinity": 2, - "b:17:9:17:23:17:23:17:34": 0 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx", - "statementMap": { - "0": { "start": { "line": 10, "column": 24 }, "end": { "line": 18, "column": null } }, - "1": { "start": { "line": 11, "column": 18 }, "end": { "line": 11, "column": null } }, - "2": { "start": { "line": 12, "column": 2 }, "end": { "line": 16, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 10, "column": 24 }, "end": { "line": 10, "column": 25 } }, - "loc": { "start": { "line": 10, "column": 53 }, "end": { "line": 18, "column": null } }, - "line": 10 - } - }, - "branchMap": {}, - "s": { "0": 1, "1": 1, "2": 1 }, - "f": { "0": 1 }, - "b": {}, - "meta": { - "lastBranch": 0, - "lastFunction": 1, - "lastStatement": 3, - "seen": { - "s:10:24:18:Infinity": 0, - "f:10:24:10:25": 0, - "s:11:18:11:Infinity": 1, - "s:12:2:16:Infinity": 2 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx", - "statementMap": { - "0": { "start": { "line": 11, "column": 25 }, "end": { "line": 98, "column": null } }, - "1": { "start": { "line": 12, "column": 18 }, "end": { "line": 12, "column": null } }, - "2": { "start": { "line": 13, "column": 8 }, "end": { "line": 13, "column": null } }, - "3": { "start": { "line": 15, "column": 32 }, "end": { "line": 54, "column": null } }, - "4": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": null } }, - "5": { "start": { "line": 17, "column": 4 }, "end": { "line": 53, "column": null } }, - "6": { "start": { "line": 18, "column": 19 }, "end": { "line": 18, "column": null } }, - "7": { "start": { "line": 19, "column": 29 }, "end": { "line": 19, "column": null } }, - "8": { "start": { "line": 20, "column": 28 }, "end": { "line": 20, "column": null } }, - "9": { "start": { "line": 21, "column": 28 }, "end": { "line": 21, "column": null } }, - "10": { "start": { "line": 22, "column": 27 }, "end": { "line": 22, "column": null } }, - "11": { "start": { "line": 25, "column": 17 }, "end": { "line": 25, "column": null } }, - "12": { "start": { "line": 26, "column": 16 }, "end": { "line": 26, "column": null } }, - "13": { "start": { "line": 29, "column": 6 }, "end": { "line": 32, "column": null } }, - "14": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, - "15": { "start": { "line": 35, "column": 6 }, "end": { "line": 37, "column": null } }, - "16": { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, - "17": { "start": { "line": 40, "column": 6 }, "end": { "line": 43, "column": null } }, - "18": { "start": { "line": 42, "column": 8 }, "end": { "line": 42, "column": null } }, - "19": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - "20": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, - "21": { "start": { "line": 50, "column": 6 }, "end": { "line": 50, "column": null } }, - "22": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": null } }, - "23": { "start": { "line": 52, "column": 6 }, "end": { "line": 52, "column": null } }, - "24": { "start": { "line": 56, "column": 2 }, "end": { "line": 96, "column": null } }, - "25": { "start": { "line": 65, "column": 25 }, "end": { "line": 65, "column": null } }, - "26": { "start": { "line": 66, "column": 10 }, "end": { "line": 66, "column": null } }, - "27": { "start": { "line": 67, "column": 27 }, "end": { "line": 67, "column": null } }, - "28": { "start": { "line": 68, "column": 10 }, "end": { "line": 68, "column": null } }, - "29": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": null } }, - "30": { "start": { "line": 70, "column": 10 }, "end": { "line": 70, "column": null } }, - "31": { "start": { "line": 71, "column": 10 }, "end": { "line": 71, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 11, "column": 25 }, "end": { "line": 11, "column": 26 } }, - "loc": { "start": { "line": 11, "column": 55 }, "end": { "line": 98, "column": null } }, - "line": 11 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 15, "column": 32 }, "end": { "line": 15, "column": 33 } }, - "loc": { "start": { "line": 15, "column": 75 }, "end": { "line": 54, "column": null } }, - "line": 15 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 63, "column": 17 }, "end": { "line": 63, "column": 18 } }, - "loc": { "start": { "line": 63, "column": 24 }, "end": { "line": 72, "column": null } }, - "line": 63 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 17, "column": 4 }, "end": { "line": 53, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 17, "column": 4 }, "end": { "line": 53, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 17 - }, - "1": { - "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 32, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 29, "column": 6 }, "end": { "line": 32, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 29 - }, - "2": { - "loc": { "start": { "line": 35, "column": 6 }, "end": { "line": 37, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 35, "column": 6 }, "end": { "line": 37, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 35 - }, - "3": { - "loc": { "start": { "line": 40, "column": 6 }, "end": { "line": 43, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 40, "column": 6 }, "end": { "line": 43, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 40 - }, - "4": { - "loc": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 46 - }, - "5": { - "loc": { "start": { "line": 69, "column": 33 }, "end": { "line": 69, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 69, "column": 43 }, "end": { "line": 69, "column": 55 } }, - { "start": { "line": 69, "column": 55 }, "end": { "line": 69, "column": null } } - ], - "line": 69 - }, - "6": { - "loc": { "start": { "line": 87, "column": 11 }, "end": { "line": 89, "column": 31 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 88, "column": 14 }, "end": { "line": 88, "column": null } }, - { "start": { "line": 89, "column": 14 }, "end": { "line": 89, "column": 31 } } - ], - "line": 87 - } - }, - "s": { - "0": 1, - "1": 3, - "2": 3, - "3": 3, - "4": 0, - "5": 0, - "6": 0, - "7": 0, - "8": 0, - "9": 0, - "10": 0, - "11": 0, - "12": 0, - "13": 0, - "14": 0, - "15": 0, - "16": 0, - "17": 0, - "18": 0, - "19": 0, - "20": 0, - "21": 0, - "22": 0, - "23": 0, - "24": 3, - "25": 0, - "26": 0, - "27": 0, - "28": 0, - "29": 0, - "30": 0, - "31": 0 - }, - "f": { "0": 3, "1": 0, "2": 0 }, - "b": { - "0": [0, 0], - "1": [0, 0], - "2": [0, 0], - "3": [0, 0], - "4": [0, 0], - "5": [0, 0], - "6": [3, 0] - }, - "meta": { - "lastBranch": 7, - "lastFunction": 3, - "lastStatement": 32, - "seen": { - "s:11:25:98:Infinity": 0, - "f:11:25:11:26": 0, - "s:12:18:12:Infinity": 1, - "s:13:8:13:Infinity": 2, - "s:15:32:54:Infinity": 3, - "f:15:32:15:33": 1, - "s:16:20:16:Infinity": 4, - "b:17:4:53:Infinity:undefined:undefined:undefined:undefined": 0, - "s:17:4:53:Infinity": 5, - "s:18:19:18:Infinity": 6, - "s:19:29:19:Infinity": 7, - "s:20:28:20:Infinity": 8, - "s:21:28:21:Infinity": 9, - "s:22:27:22:Infinity": 10, - "s:25:17:25:Infinity": 11, - "s:26:16:26:Infinity": 12, - "b:29:6:32:Infinity:undefined:undefined:undefined:undefined": 1, - "s:29:6:32:Infinity": 13, - "s:31:8:31:Infinity": 14, - "b:35:6:37:Infinity:undefined:undefined:undefined:undefined": 2, - "s:35:6:37:Infinity": 15, - "s:36:8:36:Infinity": 16, - "b:40:6:43:Infinity:undefined:undefined:undefined:undefined": 3, - "s:40:6:43:Infinity": 17, - "s:42:8:42:Infinity": 18, - "b:46:6:48:Infinity:undefined:undefined:undefined:undefined": 4, - "s:46:6:48:Infinity": 19, - "s:47:8:47:Infinity": 20, - "s:50:6:50:Infinity": 21, - "s:51:6:51:Infinity": 22, - "s:52:6:52:Infinity": 23, - "s:56:2:96:Infinity": 24, - "f:63:17:63:18": 2, - "s:65:25:65:Infinity": 25, - "s:66:10:66:Infinity": 26, - "s:67:27:67:Infinity": 27, - "s:68:10:68:Infinity": 28, - "s:69:10:69:Infinity": 29, - "b:69:43:69:55:69:55:69:Infinity": 5, - "s:70:10:70:Infinity": 30, - "s:71:10:71:Infinity": 31, - "b:88:14:88:Infinity:89:14:89:31": 6 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx", - "statementMap": { - "0": { "start": { "line": 17, "column": 24 }, "end": { "line": 222, "column": null } }, - "1": { "start": { "line": 18, "column": 18 }, "end": { "line": 18, "column": null } }, - "2": { "start": { "line": 19, "column": 33 }, "end": { "line": 19, "column": null } }, - "3": { "start": { "line": 22, "column": 32 }, "end": { "line": 22, "column": null } }, - "4": { "start": { "line": 23, "column": 32 }, "end": { "line": 23, "column": null } }, - "5": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": null } }, - "6": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": null } }, - "7": { "start": { "line": 28, "column": 2 }, "end": { "line": 41, "column": null } }, - "8": { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, - "9": { "start": { "line": 30, "column": 23 }, "end": { "line": 30, "column": null } }, - "10": { "start": { "line": 31, "column": 6 }, "end": { "line": 31, "column": null } }, - "11": { "start": { "line": 32, "column": 24 }, "end": { "line": 32, "column": null } }, - "12": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": null } }, - "13": { "start": { "line": 36, "column": 24 }, "end": { "line": 36, "column": null } }, - "14": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - "15": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": null } }, - "16": { "start": { "line": 44, "column": 8 }, "end": { "line": 57, "column": null } }, - "17": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - "18": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, - "19": { "start": { "line": 50, "column": 6 }, "end": { "line": 54, "column": null } }, - "20": { "start": { "line": 51, "column": 8 }, "end": { "line": 53, "column": null } }, - "21": { "start": { "line": 52, "column": 10 }, "end": { "line": 52, "column": null } }, - "22": { "start": { "line": 60, "column": 2 }, "end": { "line": 66, "column": null } }, - "23": { "start": { "line": 61, "column": 4 }, "end": { "line": 65, "column": null } }, - "24": { "start": { "line": 62, "column": 6 }, "end": { "line": 64, "column": null } }, - "25": { "start": { "line": 63, "column": 8 }, "end": { "line": 63, "column": null } }, - "26": { "start": { "line": 68, "column": 26 }, "end": { "line": 74, "column": null } }, - "27": { "start": { "line": 69, "column": 4 }, "end": { "line": 73, "column": null } }, - "28": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": null } }, - "29": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": null } }, - "30": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": null } }, - "31": { "start": { "line": 76, "column": 27 }, "end": { "line": 80, "column": null } }, - "32": { "start": { "line": 77, "column": 21 }, "end": { "line": 77, "column": null } }, - "33": { "start": { "line": 78, "column": 4 }, "end": { "line": 78, "column": null } }, - "34": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, - "35": { "start": { "line": 82, "column": 25 }, "end": { "line": 92, "column": null } }, - "36": { "start": { "line": 83, "column": 4 }, "end": { "line": 83, "column": null } }, - "37": { "start": { "line": 84, "column": 4 }, "end": { "line": 84, "column": null } }, - "38": { "start": { "line": 86, "column": 4 }, "end": { "line": 91, "column": null } }, - "39": { "start": { "line": 87, "column": 6 }, "end": { "line": 87, "column": null } }, - "40": { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, - "41": { "start": { "line": 89, "column": 8 }, "end": { "line": 89, "column": null } }, - "42": { "start": { "line": 94, "column": 28 }, "end": { "line": 106, "column": null } }, - "43": { "start": { "line": 95, "column": 4 }, "end": { "line": 105, "column": null } }, - "44": { "start": { "line": 96, "column": 6 }, "end": { "line": 96, "column": null } }, - "45": { "start": { "line": 97, "column": 6 }, "end": { "line": 97, "column": null } }, - "46": { "start": { "line": 98, "column": 4 }, "end": { "line": 105, "column": null } }, - "47": { "start": { "line": 99, "column": 6 }, "end": { "line": 99, "column": null } }, - "48": { "start": { "line": 100, "column": 6 }, "end": { "line": 100, "column": null } }, - "49": { "start": { "line": 101, "column": 6 }, "end": { "line": 101, "column": null } }, - "50": { "start": { "line": 102, "column": 6 }, "end": { "line": 104, "column": null } }, - "51": { "start": { "line": 103, "column": 8 }, "end": { "line": 103, "column": null } }, - "52": { "start": { "line": 108, "column": 2 }, "end": { "line": 221, "column": null } }, - "53": { "start": { "line": 110, "column": 28 }, "end": { "line": 110, "column": null } }, - "54": { "start": { "line": 112, "column": 4 }, "end": { "line": 199, "column": null } }, - "55": { "start": { "line": 113, "column": 12 }, "end": { "line": 113, "column": null } }, - "56": { "start": { "line": 114, "column": 26 }, "end": { "line": 114, "column": null } }, - "57": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": null } }, - "58": { "start": { "line": 116, "column": 30 }, "end": { "line": 116, "column": null } }, - "59": { "start": { "line": 118, "column": 6 }, "end": { "line": 176, "column": null } }, - "60": { "start": { "line": 148, "column": 16 }, "end": { "line": 150, "column": null } }, - "61": { "start": { "line": 180, "column": 6 }, "end": { "line": 197, "column": null } }, - "62": { "start": { "line": 204, "column": 6 }, "end": { "line": 206, "column": null } }, - "63": { "start": { "line": 208, "column": 4 }, "end": { "line": 219, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 17, "column": 24 }, "end": { "line": 17, "column": 25 } }, - "loc": { "start": { "line": 17, "column": 80 }, "end": { "line": 222, "column": null } }, - "line": 17 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 28, "column": 12 }, "end": { "line": 28, "column": 18 } }, - "loc": { "start": { "line": 28, "column": 18 }, "end": { "line": 41, "column": 5 } }, - "line": 28 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 5 } }, - "loc": { "start": { "line": 45, "column": 28 }, "end": { "line": 55, "column": null } }, - "line": 45 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 50, "column": 39 }, "end": { "line": 50, "column": 45 } }, - "loc": { "start": { "line": 50, "column": 45 }, "end": { "line": 54, "column": 9 } }, - "line": 50 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 60, "column": 12 }, "end": { "line": 60, "column": 18 } }, - "loc": { "start": { "line": 60, "column": 18 }, "end": { "line": 66, "column": 5 } }, - "line": 60 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 61, "column": 11 }, "end": { "line": 61, "column": 17 } }, - "loc": { "start": { "line": 61, "column": 17 }, "end": { "line": 65, "column": null } }, - "line": 61 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 68, "column": 26 }, "end": { "line": 68, "column": 32 } }, - "loc": { "start": { "line": 68, "column": 32 }, "end": { "line": 74, "column": null } }, - "line": 68 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 76, "column": 27 }, "end": { "line": 76, "column": 28 } }, - "loc": { "start": { "line": 76, "column": 74 }, "end": { "line": 80, "column": null } }, - "line": 76 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 82, "column": 25 }, "end": { "line": 82, "column": 31 } }, - "loc": { "start": { "line": 82, "column": 31 }, "end": { "line": 92, "column": null } }, - "line": 82 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 94, "column": 28 }, "end": { "line": 94, "column": 29 } }, - "loc": { "start": { "line": 94, "column": 77 }, "end": { "line": 106, "column": null } }, - "line": 94 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 147, "column": 22 }, "end": { "line": 147, "column": 23 } }, - "loc": { "start": { "line": 148, "column": 16 }, "end": { "line": 150, "column": null } }, - "line": 148 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 29 - }, - "1": { - "loc": { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": 42 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": 21 } }, - { "start": { "line": 29, "column": 21 }, "end": { "line": 29, "column": 42 } } - ], - "line": 29 - }, - "2": { - "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 37 - }, - "3": { - "loc": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 46 - }, - "4": { - "loc": { "start": { "line": 51, "column": 8 }, "end": { "line": 53, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 51, "column": 8 }, "end": { "line": 53, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 51 - }, - "5": { - "loc": { "start": { "line": 62, "column": 6 }, "end": { "line": 64, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 62, "column": 6 }, "end": { "line": 64, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 62 - }, - "6": { - "loc": { "start": { "line": 69, "column": 4 }, "end": { "line": 73, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 69, "column": 4 }, "end": { "line": 73, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 69 - }, - "7": { - "loc": { "start": { "line": 86, "column": 4 }, "end": { "line": 91, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 86, "column": 4 }, "end": { "line": 91, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 86 - }, - "8": { - "loc": { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 88 - }, - "9": { - "loc": { "start": { "line": 95, "column": 4 }, "end": { "line": 105, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 95, "column": 4 }, "end": { "line": 105, "column": null } }, - { "start": { "line": 98, "column": 4 }, "end": { "line": 105, "column": null } } - ], - "line": 95 - }, - "10": { - "loc": { "start": { "line": 95, "column": 8 }, "end": { "line": 95, "column": 42 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 95, "column": 8 }, "end": { "line": 95, "column": 29 } }, - { "start": { "line": 95, "column": 29 }, "end": { "line": 95, "column": 42 } } - ], - "line": 95 - }, - "11": { - "loc": { "start": { "line": 98, "column": 4 }, "end": { "line": 105, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 98, "column": 4 }, "end": { "line": 105, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 98 - }, - "12": { - "loc": { "start": { "line": 102, "column": 6 }, "end": { "line": 104, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 102, "column": 6 }, "end": { "line": 104, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 102 - }, - "13": { - "loc": { "start": { "line": 108, "column": 2 }, "end": { "line": 221, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 108, "column": 2 }, "end": { "line": 221, "column": null } }, - { "start": { "line": 200, "column": 9 }, "end": { "line": 221, "column": null } } - ], - "line": 108 - }, - "14": { - "loc": { "start": { "line": 110, "column": 28 }, "end": { "line": 110, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 110, "column": 28 }, "end": { "line": 110, "column": 54 } }, - { "start": { "line": 110, "column": 54 }, "end": { "line": 110, "column": 69 } }, - { "start": { "line": 110, "column": 69 }, "end": { "line": 110, "column": null } } - ], - "line": 110 - }, - "15": { - "loc": { "start": { "line": 112, "column": 4 }, "end": { "line": 199, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 112, "column": 4 }, "end": { "line": 199, "column": null } }, - { "start": { "line": 178, "column": 11 }, "end": { "line": 199, "column": null } } - ], - "line": 112 - }, - "16": { - "loc": { "start": { "line": 114, "column": 26 }, "end": { "line": 114, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 114, "column": 36 }, "end": { "line": 114, "column": 52 } }, - { "start": { "line": 114, "column": 52 }, "end": { "line": 114, "column": null } } - ], - "line": 114 - }, - "17": { - "loc": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 115, "column": 36 }, "end": { "line": 115, "column": 48 } }, - { "start": { "line": 115, "column": 48 }, "end": { "line": 115, "column": null } } - ], - "line": 115 - }, - "18": { - "loc": { "start": { "line": 116, "column": 30 }, "end": { "line": 116, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 116, "column": 40 }, "end": { "line": 116, "column": 52 } }, - { "start": { "line": 116, "column": 52 }, "end": { "line": 116, "column": null } } - ], - "line": 116 - }, - "19": { - "loc": { "start": { "line": 171, "column": 28 }, "end": { "line": 171, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 171, "column": 38 }, "end": { "line": 171, "column": 47 } }, - { "start": { "line": 171, "column": 47 }, "end": { "line": 171, "column": null } } - ], - "line": 171 - }, - "20": { - "loc": { "start": { "line": 204, "column": 6 }, "end": { "line": 206, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 205, "column": 10 }, "end": { "line": 205, "column": null } }, - { "start": { "line": 206, "column": 10 }, "end": { "line": 206, "column": null } } - ], - "line": 204 - }, - "21": { - "loc": { "start": { "line": 216, "column": 15 }, "end": { "line": 216, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 216, "column": 44 }, "end": { "line": 216, "column": 59 } }, - { "start": { "line": 216, "column": 59 }, "end": { "line": 216, "column": null } } - ], - "line": 216 - } - }, - "s": { - "0": 1, - "1": 3, - "2": 3, - "3": 3, - "4": 3, - "5": 3, - "6": 3, - "7": 3, - "8": 3, - "9": 0, - "10": 0, - "11": 0, - "12": 0, - "13": 0, - "14": 0, - "15": 0, - "16": 3, - "17": 0, - "18": 0, - "19": 0, - "20": 0, - "21": 0, - "22": 3, - "23": 3, - "24": 0, - "25": 0, - "26": 3, - "27": 0, - "28": 0, - "29": 0, - "30": 0, - "31": 3, - "32": 0, - "33": 0, - "34": 0, - "35": 3, - "36": 0, - "37": 0, - "38": 0, - "39": 0, - "40": 0, - "41": 0, - "42": 3, - "43": 0, - "44": 0, - "45": 0, - "46": 0, - "47": 0, - "48": 0, - "49": 0, - "50": 0, - "51": 0, - "52": 3, - "53": 0, - "54": 0, - "55": 0, - "56": 0, - "57": 0, - "58": 0, - "59": 0, - "60": 0, - "61": 0, - "62": 3, - "63": 3 - }, - "f": { - "0": 3, - "1": 3, - "2": 0, - "3": 0, - "4": 3, - "5": 0, - "6": 0, - "7": 0, - "8": 0, - "9": 0, - "10": 0 - }, - "b": { - "0": [0, 3], - "1": [3, 0], - "2": [0, 0], - "3": [0, 0], - "4": [0, 0], - "5": [0, 0], - "6": [0, 0], - "7": [0, 0], - "8": [0, 0], - "9": [0, 0], - "10": [0, 0], - "11": [0, 0], - "12": [0, 0], - "13": [0, 3], - "14": [0, 0, 0], - "15": [0, 0], - "16": [0, 0], - "17": [0, 0], - "18": [0, 0], - "19": [0, 0], - "20": [1, 2], - "21": [1, 2] - }, - "meta": { - "lastBranch": 22, - "lastFunction": 11, - "lastStatement": 64, - "seen": { - "s:17:24:222:Infinity": 0, - "f:17:24:17:25": 0, - "s:18:18:18:Infinity": 1, - "s:19:33:19:Infinity": 2, - "s:22:32:22:Infinity": 3, - "s:23:32:23:Infinity": 4, - "s:24:8:24:Infinity": 5, - "s:25:8:25:Infinity": 6, - "s:28:2:41:Infinity": 7, - "f:28:12:28:18": 1, - "b:29:4:40:Infinity:undefined:undefined:undefined:undefined": 0, - "s:29:4:40:Infinity": 8, - "b:29:8:29:21:29:21:29:42": 1, - "s:30:23:30:Infinity": 9, - "s:31:6:31:Infinity": 10, - "s:32:24:32:Infinity": 11, - "s:33:6:33:Infinity": 12, - "s:36:24:36:Infinity": 13, - "b:37:6:39:Infinity:undefined:undefined:undefined:undefined": 2, - "s:37:6:39:Infinity": 14, - "s:38:9:38:Infinity": 15, - "s:44:8:57:Infinity": 16, - "f:45:4:45:5": 2, - "b:46:6:48:Infinity:undefined:undefined:undefined:undefined": 3, - "s:46:6:48:Infinity": 17, - "s:47:8:47:Infinity": 18, - "s:50:6:54:Infinity": 19, - "f:50:39:50:45": 3, - "b:51:8:53:Infinity:undefined:undefined:undefined:undefined": 4, - "s:51:8:53:Infinity": 20, - "s:52:10:52:Infinity": 21, - "s:60:2:66:Infinity": 22, - "f:60:12:60:18": 4, - "s:61:4:65:Infinity": 23, - "f:61:11:61:17": 5, - "b:62:6:64:Infinity:undefined:undefined:undefined:undefined": 5, - "s:62:6:64:Infinity": 24, - "s:63:8:63:Infinity": 25, - "s:68:26:74:Infinity": 26, - "f:68:26:68:32": 6, - "b:69:4:73:Infinity:undefined:undefined:undefined:undefined": 6, - "s:69:4:73:Infinity": 27, - "s:70:6:70:Infinity": 28, - "s:71:6:71:Infinity": 29, - "s:72:6:72:Infinity": 30, - "s:76:27:80:Infinity": 31, - "f:76:27:76:28": 7, - "s:77:21:77:Infinity": 32, - "s:78:4:78:Infinity": 33, - "s:79:4:79:Infinity": 34, - "s:82:25:92:Infinity": 35, - "f:82:25:82:31": 8, - "s:83:4:83:Infinity": 36, - "s:84:4:84:Infinity": 37, - "b:86:4:91:Infinity:undefined:undefined:undefined:undefined": 7, - "s:86:4:91:Infinity": 38, - "s:87:6:87:Infinity": 39, - "b:88:6:90:Infinity:undefined:undefined:undefined:undefined": 8, - "s:88:6:90:Infinity": 40, - "s:89:8:89:Infinity": 41, - "s:94:28:106:Infinity": 42, - "f:94:28:94:29": 9, - "b:95:4:105:Infinity:98:4:105:Infinity": 9, - "s:95:4:105:Infinity": 43, - "b:95:8:95:29:95:29:95:42": 10, - "s:96:6:96:Infinity": 44, - "s:97:6:97:Infinity": 45, - "b:98:4:105:Infinity:undefined:undefined:undefined:undefined": 11, - "s:98:4:105:Infinity": 46, - "s:99:6:99:Infinity": 47, - "s:100:6:100:Infinity": 48, - "s:101:6:101:Infinity": 49, - "b:102:6:104:Infinity:undefined:undefined:undefined:undefined": 12, - "s:102:6:104:Infinity": 50, - "s:103:8:103:Infinity": 51, - "b:108:2:221:Infinity:200:9:221:Infinity": 13, - "s:108:2:221:Infinity": 52, - "s:110:28:110:Infinity": 53, - "b:110:28:110:54:110:54:110:69:110:69:110:Infinity": 14, - "b:112:4:199:Infinity:178:11:199:Infinity": 15, - "s:112:4:199:Infinity": 54, - "s:113:12:113:Infinity": 55, - "s:114:26:114:Infinity": 56, - "b:114:36:114:52:114:52:114:Infinity": 16, - "s:115:26:115:Infinity": 57, - "b:115:36:115:48:115:48:115:Infinity": 17, - "s:116:30:116:Infinity": 58, - "b:116:40:116:52:116:52:116:Infinity": 18, - "s:118:6:176:Infinity": 59, - "f:147:22:147:23": 10, - "s:148:16:150:Infinity": 60, - "b:171:38:171:47:171:47:171:Infinity": 19, - "s:180:6:197:Infinity": 61, - "s:204:6:206:Infinity": 62, - "b:205:10:205:Infinity:206:10:206:Infinity": 20, - "s:208:4:219:Infinity": 63, - "b:216:44:216:59:216:59:216:Infinity": 21 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts", - "statementMap": { - "0": { "start": { "line": 8, "column": 36 }, "end": { "line": 8, "column": null } }, - "1": { "start": { "line": 9, "column": 30 }, "end": { "line": 9, "column": null } }, - "2": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": null } }, - "3": { "start": { "line": 12, "column": 2 }, "end": { "line": 50, "column": null } }, - "4": { "start": { "line": 13, "column": 22 }, "end": { "line": 13, "column": null } }, - "5": { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, - "6": { "start": { "line": 16, "column": 6 }, "end": { "line": 16, "column": null } }, - "7": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": null } }, - "8": { "start": { "line": 18, "column": 6 }, "end": { "line": 18, "column": null } }, - "9": { "start": { "line": 21, "column": 27 }, "end": { "line": 41, "column": null } }, - "10": { "start": { "line": 22, "column": 6 }, "end": { "line": 22, "column": null } }, - "11": { "start": { "line": 23, "column": 6 }, "end": { "line": 40, "column": null } }, - "12": { "start": { "line": 24, "column": 24 }, "end": { "line": 24, "column": null } }, - "13": { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, - "14": { "start": { "line": 27, "column": 10 }, "end": { "line": 27, "column": null } }, - "15": { "start": { "line": 28, "column": 10 }, "end": { "line": 28, "column": null } }, - "16": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, - "17": { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, - "18": { "start": { "line": 33, "column": 10 }, "end": { "line": 33, "column": null } }, - "19": { "start": { "line": 34, "column": 10 }, "end": { "line": 34, "column": null } }, - "20": { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, - "21": { "start": { "line": 38, "column": 10 }, "end": { "line": 38, "column": null } }, - "22": { "start": { "line": 44, "column": 22 }, "end": { "line": 44, "column": null } }, - "23": { "start": { "line": 46, "column": 4 }, "end": { "line": 49, "column": null } }, - "24": { "start": { "line": 47, "column": 6 }, "end": { "line": 47, "column": null } }, - "25": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, - "26": { "start": { "line": 52, "column": 2 }, "end": { "line": 56, "column": null } } - }, - "fnMap": { - "0": { - "name": "usePatternDetection", - "decl": { "start": { "line": 7, "column": 16 }, "end": { "line": 7, "column": 36 } }, - "loc": { "start": { "line": 7, "column": 53 }, "end": { "line": 57, "column": null } }, - "line": 7 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 12, "column": 12 }, "end": { "line": 12, "column": 18 } }, - "loc": { "start": { "line": 12, "column": 18 }, "end": { "line": 50, "column": 5 } }, - "line": 12 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 21, "column": 27 }, "end": { "line": 21, "column": 39 } }, - "loc": { "start": { "line": 21, "column": 39 }, "end": { "line": 41, "column": null } }, - "line": 21 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 46, "column": 11 }, "end": { "line": 46, "column": 17 } }, - "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 49, "column": null } }, - "line": 46 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 15 - }, - "1": { - "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 49 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 20 } }, - { "start": { "line": 15, "column": 20 }, "end": { "line": 15, "column": 49 } } - ], - "line": 15 - }, - "2": { - "loc": { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 26 - }, - "3": { - "loc": { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 32 - }, - "4": { - "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 37 - } - }, - "s": { - "0": 7, - "1": 7, - "2": 7, - "3": 7, - "4": 4, - "5": 4, - "6": 2, - "7": 2, - "8": 2, - "9": 2, - "10": 1, - "11": 1, - "12": 1, - "13": 1, - "14": 1, - "15": 1, - "16": 0, - "17": 0, - "18": 0, - "19": 0, - "20": 1, - "21": 1, - "22": 2, - "23": 2, - "24": 0, - "25": 0, - "26": 7 - }, - "f": { "0": 7, "1": 4, "2": 1, "3": 0 }, - "b": { "0": [2, 2], "1": [4, 3], "2": [1, 0], "3": [0, 0], "4": [1, 0] }, - "meta": { - "lastBranch": 5, - "lastFunction": 4, - "lastStatement": 27, - "seen": { - "f:7:16:7:36": 0, - "s:8:36:8:Infinity": 0, - "s:9:30:9:Infinity": 1, - "s:10:28:10:Infinity": 2, - "s:12:2:50:Infinity": 3, - "f:12:12:12:18": 1, - "s:13:22:13:Infinity": 4, - "b:15:4:19:Infinity:undefined:undefined:undefined:undefined": 0, - "s:15:4:19:Infinity": 5, - "b:15:8:15:20:15:20:15:49": 1, - "s:16:6:16:Infinity": 6, - "s:17:6:17:Infinity": 7, - "s:18:6:18:Infinity": 8, - "s:21:27:41:Infinity": 9, - "f:21:27:21:39": 2, - "s:22:6:22:Infinity": 10, - "s:23:6:40:Infinity": 11, - "s:24:24:24:Infinity": 12, - "b:26:8:29:Infinity:undefined:undefined:undefined:undefined": 2, - "s:26:8:29:Infinity": 13, - "s:27:10:27:Infinity": 14, - "s:28:10:28:Infinity": 15, - "s:31:8:31:Infinity": 16, - "b:32:8:35:Infinity:undefined:undefined:undefined:undefined": 3, - "s:32:8:35:Infinity": 17, - "s:33:10:33:Infinity": 18, - "s:34:10:34:Infinity": 19, - "b:37:8:39:Infinity:undefined:undefined:undefined:undefined": 4, - "s:37:8:39:Infinity": 20, - "s:38:10:38:Infinity": 21, - "s:44:22:44:Infinity": 22, - "s:46:4:49:Infinity": 23, - "f:46:11:46:17": 3, - "s:47:6:47:Infinity": 24, - "s:48:6:48:Infinity": 25, - "s:52:2:56:Infinity": 26 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx", - "statementMap": { - "0": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": null } }, - "1": { "start": { "line": 27, "column": 59 }, "end": { "line": 129, "column": null } }, - "2": { "start": { "line": 28, "column": 29 }, "end": { "line": 28, "column": null } }, - "3": { "start": { "line": 29, "column": 42 }, "end": { "line": 29, "column": null } }, - "4": { "start": { "line": 32, "column": 8 }, "end": { "line": 51, "column": null } }, - "5": { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, - "6": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": null } }, - "7": { "start": { "line": 38, "column": 6 }, "end": { "line": 38, "column": null } }, - "8": { "start": { "line": 41, "column": 4 }, "end": { "line": 41, "column": null } }, - "9": { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, - "10": { "start": { "line": 45, "column": 6 }, "end": { "line": 45, "column": null } }, - "11": { "start": { "line": 46, "column": 6 }, "end": { "line": 46, "column": null } }, - "12": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, - "13": { "start": { "line": 49, "column": 6 }, "end": { "line": 49, "column": null } }, - "14": { "start": { "line": 54, "column": 2 }, "end": { "line": 71, "column": null } }, - "15": { "start": { "line": 55, "column": 22 }, "end": { "line": 68, "column": null } }, - "16": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, - "17": { "start": { "line": 56, "column": 23 }, "end": { "line": 56, "column": null } }, - "18": { "start": { "line": 58, "column": 6 }, "end": { "line": 67, "column": null } }, - "19": { "start": { "line": 59, "column": 39 }, "end": { "line": 59, "column": null } }, - "20": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, - "21": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, - "22": { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": null } }, - "23": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, - "24": { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, - "25": { "start": { "line": 70, "column": 4 }, "end": { "line": 70, "column": null } }, - "26": { "start": { "line": 74, "column": 2 }, "end": { "line": 89, "column": null } }, - "27": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, - "28": { "start": { "line": 75, "column": 40 }, "end": { "line": 75, "column": null } }, - "29": { "start": { "line": 77, "column": 33 }, "end": { "line": 82, "column": null } }, - "30": { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, - "31": { "start": { "line": 79, "column": 8 }, "end": { "line": 79, "column": null } }, - "32": { "start": { "line": 80, "column": 8 }, "end": { "line": 80, "column": null } }, - "33": { "start": { "line": 85, "column": 20 }, "end": { "line": 85, "column": null } }, - "34": { "start": { "line": 88, "column": 4 }, "end": { "line": 88, "column": null } }, - "35": { "start": { "line": 92, "column": 2 }, "end": { "line": 100, "column": null } }, - "36": { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, - "37": { "start": { "line": 93, "column": 28 }, "end": { "line": 93, "column": null } }, - "38": { "start": { "line": 95, "column": 23 }, "end": { "line": 95, "column": null } }, - "39": { "start": { "line": 96, "column": 25 }, "end": { "line": 96, "column": null } }, - "40": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": null } }, - "41": { "start": { "line": 98, "column": 4 }, "end": { "line": 98, "column": null } }, - "42": { "start": { "line": 99, "column": 4 }, "end": { "line": 99, "column": null } }, - "43": { "start": { "line": 99, "column": 17 }, "end": { "line": 99, "column": null } }, - "44": { "start": { "line": 102, "column": 19 }, "end": { "line": 118, "column": null } }, - "45": { "start": { "line": 103, "column": 4 }, "end": { "line": 103, "column": null } }, - "46": { "start": { "line": 104, "column": 4 }, "end": { "line": 104, "column": null } }, - "47": { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, - "48": { "start": { "line": 108, "column": 6 }, "end": { "line": 116, "column": null } }, - "49": { "start": { "line": 109, "column": 46 }, "end": { "line": 109, "column": null } }, - "50": { "start": { "line": 110, "column": 8 }, "end": { "line": 113, "column": null } }, - "51": { "start": { "line": 115, "column": 8 }, "end": { "line": 115, "column": null } }, - "52": { "start": { "line": 120, "column": 41 }, "end": { "line": 126, "column": null } }, - "53": { "start": { "line": 128, "column": 2 }, "end": { "line": 128, "column": null } }, - "54": { "start": { "line": 131, "column": 24 }, "end": { "line": 137, "column": null } }, - "55": { "start": { "line": 132, "column": 8 }, "end": { "line": 132, "column": null } }, - "56": { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, - "57": { "start": { "line": 134, "column": 4 }, "end": { "line": 134, "column": null } }, - "58": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 27, "column": 59 }, "end": { "line": 27, "column": 60 } }, - "loc": { "start": { "line": 27, "column": 77 }, "end": { "line": 129, "column": null } }, - "line": 27 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 32, "column": 43 }, "end": { "line": 32, "column": 44 } }, - "loc": { "start": { "line": 32, "column": 71 }, "end": { "line": 51, "column": 5 } }, - "line": 32 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 54, "column": 12 }, "end": { "line": 54, "column": 18 } }, - "loc": { "start": { "line": 54, "column": 18 }, "end": { "line": 71, "column": 5 } }, - "line": 54 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 55, "column": 22 }, "end": { "line": 55, "column": 34 } }, - "loc": { "start": { "line": 55, "column": 34 }, "end": { "line": 68, "column": null } }, - "line": 55 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 74, "column": 12 }, "end": { "line": 74, "column": 18 } }, - "loc": { "start": { "line": 74, "column": 18 }, "end": { "line": 89, "column": 5 } }, - "line": 74 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 77, "column": 33 }, "end": { "line": 77, "column": 34 } }, - "loc": { "start": { "line": 77, "column": 68 }, "end": { "line": 82, "column": null } }, - "line": 77 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 18 } }, - "loc": { "start": { "line": 92, "column": 18 }, "end": { "line": 100, "column": 5 } }, - "line": 92 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 96, "column": 25 }, "end": { "line": 96, "column": 31 } }, - "loc": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": null } }, - "line": 96 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 99, "column": 11 }, "end": { "line": 99, "column": 17 } }, - "loc": { "start": { "line": 99, "column": 17 }, "end": { "line": 99, "column": null } }, - "line": 99 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 102, "column": 19 }, "end": { "line": 102, "column": 26 } }, - "loc": { "start": { "line": 102, "column": 46 }, "end": { "line": 118, "column": null } }, - "line": 102 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 131, "column": 24 }, "end": { "line": 131, "column": 48 } }, - "loc": { "start": { "line": 131, "column": 48 }, "end": { "line": 137, "column": null } }, - "line": 131 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, - { "start": { "line": 37, "column": 11 }, "end": { "line": 39, "column": null } } - ], - "line": 35 - }, - "1": { - "loc": { "start": { "line": 36, "column": 22 }, "end": { "line": 36, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 36, "column": 82 }, "end": { "line": 36, "column": 91 } }, - { "start": { "line": 36, "column": 91 }, "end": { "line": 36, "column": null } } - ], - "line": 36 - }, - "2": { - "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, - { "start": { "line": 47, "column": 11 }, "end": { "line": 50, "column": null } } - ], - "line": 44 - }, - "3": { - "loc": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 56 - }, - "4": { - "loc": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": 45 } }, - { "start": { "line": 60, "column": 45 }, "end": { "line": 60, "column": null } } - ], - "line": 60 - }, - "5": { - "loc": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 75 - }, - "6": { - "loc": { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 78 - }, - "7": { - "loc": { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 93 - }, - "8": { - "loc": { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 107 - }, - "9": { - "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 133 - } - }, - "s": { - "0": 1, - "1": 1, - "2": 5, - "3": 5, - "4": 5, - "5": 4, - "6": 3, - "7": 1, - "8": 4, - "9": 4, - "10": 4, - "11": 4, - "12": 0, - "13": 0, - "14": 5, - "15": 3, - "16": 3, - "17": 0, - "18": 3, - "19": 3, - "20": 3, - "21": 3, - "22": 3, - "23": 0, - "24": 0, - "25": 3, - "26": 5, - "27": 3, - "28": 0, - "29": 3, - "30": 0, - "31": 0, - "32": 0, - "33": 3, - "34": 3, - "35": 5, - "36": 5, - "37": 1, - "38": 4, - "39": 4, - "40": 0, - "41": 4, - "42": 4, - "43": 4, - "44": 5, - "45": 1, - "46": 1, - "47": 1, - "48": 1, - "49": 1, - "50": 1, - "51": 0, - "52": 5, - "53": 5, - "54": 1, - "55": 8, - "56": 8, - "57": 2, - "58": 5 - }, - "f": { - "0": 5, - "1": 4, - "2": 3, - "3": 3, - "4": 3, - "5": 0, - "6": 5, - "7": 0, - "8": 4, - "9": 1, - "10": 8 - }, - "b": { - "0": [3, 1], - "1": [0, 3], - "2": [4, 0], - "3": [0, 3], - "4": [3, 0], - "5": [0, 3], - "6": [0, 0], - "7": [1, 4], - "8": [1, 0], - "9": [2, 6] - }, - "meta": { - "lastBranch": 10, - "lastFunction": 11, - "lastStatement": 59, - "seen": { - "s:21:6:21:Infinity": 0, - "s:27:59:129:Infinity": 1, - "f:27:59:27:60": 0, - "s:28:29:28:Infinity": 2, - "s:29:42:29:Infinity": 3, - "s:32:8:51:Infinity": 4, - "f:32:43:32:44": 1, - "b:35:4:39:Infinity:37:11:39:Infinity": 0, - "s:35:4:39:Infinity": 5, - "s:36:6:36:Infinity": 6, - "b:36:82:36:91:36:91:36:Infinity": 1, - "s:38:6:38:Infinity": 7, - "s:41:4:41:Infinity": 8, - "b:44:4:50:Infinity:47:11:50:Infinity": 2, - "s:44:4:50:Infinity": 9, - "s:45:6:45:Infinity": 10, - "s:46:6:46:Infinity": 11, - "s:48:6:48:Infinity": 12, - "s:49:6:49:Infinity": 13, - "s:54:2:71:Infinity": 14, - "f:54:12:54:18": 2, - "s:55:22:68:Infinity": 15, - "f:55:22:55:34": 3, - "b:56:6:56:Infinity:undefined:undefined:undefined:undefined": 3, - "s:56:6:56:Infinity": 16, - "s:56:23:56:Infinity": 17, - "s:58:6:67:Infinity": 18, - "s:59:39:59:Infinity": 19, - "s:60:26:60:Infinity": 20, - "b:60:26:60:45:60:45:60:Infinity": 4, - "s:61:8:61:Infinity": 21, - "s:62:8:62:Infinity": 22, - "s:64:8:64:Infinity": 23, - "s:66:8:66:Infinity": 24, - "s:70:4:70:Infinity": 25, - "s:74:2:89:Infinity": 26, - "f:74:12:74:18": 4, - "b:75:4:75:Infinity:undefined:undefined:undefined:undefined": 5, - "s:75:4:75:Infinity": 27, - "s:75:40:75:Infinity": 28, - "s:77:33:82:Infinity": 29, - "f:77:33:77:34": 5, - "b:78:6:81:Infinity:undefined:undefined:undefined:undefined": 6, - "s:78:6:81:Infinity": 30, - "s:79:8:79:Infinity": 31, - "s:80:8:80:Infinity": 32, - "s:85:20:85:Infinity": 33, - "s:88:4:88:Infinity": 34, - "s:92:2:100:Infinity": 35, - "f:92:12:92:18": 6, - "b:93:4:93:Infinity:undefined:undefined:undefined:undefined": 7, - "s:93:4:93:Infinity": 36, - "s:93:28:93:Infinity": 37, - "s:95:23:95:Infinity": 38, - "s:96:25:96:Infinity": 39, - "f:96:25:96:31": 7, - "s:96:31:96:Infinity": 40, - "s:98:4:98:Infinity": 41, - "s:99:4:99:Infinity": 42, - "f:99:11:99:17": 8, - "s:99:17:99:Infinity": 43, - "s:102:19:118:Infinity": 44, - "f:102:19:102:26": 9, - "s:103:4:103:Infinity": 45, - "s:104:4:104:Infinity": 46, - "b:107:4:117:Infinity:undefined:undefined:undefined:undefined": 8, - "s:107:4:117:Infinity": 47, - "s:108:6:116:Infinity": 48, - "s:109:46:109:Infinity": 49, - "s:110:8:113:Infinity": 50, - "s:115:8:115:Infinity": 51, - "s:120:41:126:Infinity": 52, - "s:128:2:128:Infinity": 53, - "s:131:24:137:Infinity": 54, - "f:131:24:131:48": 10, - "s:132:8:132:Infinity": 55, - "b:133:2:135:Infinity:undefined:undefined:undefined:undefined": 9, - "s:133:2:135:Infinity": 56, - "s:134:4:134:Infinity": 57, - "s:136:2:136:Infinity": 58 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts", - "statementMap": { - "0": { "start": { "line": 37, "column": 45 }, "end": { "line": 361, "column": null } }, - "1": { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, - "2": { "start": { "line": 371, "column": 4 }, "end": { "line": 371, "column": null } }, - "3": { "start": { "line": 374, "column": 41 }, "end": { "line": 374, "column": null } }, - "4": { "start": { "line": 377, "column": 2 }, "end": { "line": 379, "column": null } }, - "5": { "start": { "line": 378, "column": 4 }, "end": { "line": 378, "column": null } }, - "6": { "start": { "line": 381, "column": 20 }, "end": { "line": 381, "column": null } }, - "7": { "start": { "line": 383, "column": 2 }, "end": { "line": 414, "column": null } }, - "8": { "start": { "line": 384, "column": 16 }, "end": { "line": 384, "column": null } }, - "9": { "start": { "line": 387, "column": 4 }, "end": { "line": 393, "column": null } }, - "10": { "start": { "line": 388, "column": 20 }, "end": { "line": 388, "column": null } }, - "11": { "start": { "line": 389, "column": 22 }, "end": { "line": 389, "column": null } }, - "12": { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, - "13": { "start": { "line": 391, "column": 8 }, "end": { "line": 391, "column": null } }, - "14": { "start": { "line": 396, "column": 4 }, "end": { "line": 401, "column": null } }, - "15": { "start": { "line": 397, "column": 22 }, "end": { "line": 397, "column": null } }, - "16": { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, - "17": { "start": { "line": 399, "column": 8 }, "end": { "line": 399, "column": null } }, - "18": { "start": { "line": 404, "column": 4 }, "end": { "line": 408, "column": null } }, - "19": { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, - "20": { "start": { "line": 406, "column": 8 }, "end": { "line": 406, "column": null } }, - "21": { "start": { "line": 411, "column": 4 }, "end": { "line": 411, "column": null } }, - "22": { "start": { "line": 413, "column": 4 }, "end": { "line": 413, "column": null } }, - "23": { "start": { "line": 417, "column": 17 }, "end": { "line": 417, "column": null } }, - "24": { "start": { "line": 418, "column": 40 }, "end": { "line": 418, "column": null } }, - "25": { "start": { "line": 420, "column": 2 }, "end": { "line": 426, "column": null } }, - "26": { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, - "27": { "start": { "line": 423, "column": 6 }, "end": { "line": 423, "column": null } }, - "28": { "start": { "line": 424, "column": 6 }, "end": { "line": 424, "column": null } }, - "29": { "start": { "line": 428, "column": 2 }, "end": { "line": 428, "column": null } }, - "30": { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, - "31": { "start": { "line": 439, "column": 4 }, "end": { "line": 439, "column": null } }, - "32": { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, - "33": { "start": { "line": 444, "column": 4 }, "end": { "line": 444, "column": null } }, - "34": { "start": { "line": 448, "column": 25 }, "end": { "line": 474, "column": null } }, - "35": { "start": { "line": 476, "column": 23 }, "end": { "line": 476, "column": null } }, - "36": { "start": { "line": 477, "column": 21 }, "end": { "line": 477, "column": null } }, - "37": { "start": { "line": 479, "column": 2 }, "end": { "line": 485, "column": null } }, - "38": { "start": { "line": 480, "column": 20 }, "end": { "line": 480, "column": null } }, - "39": { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, - "40": { "start": { "line": 482, "column": 6 }, "end": { "line": 482, "column": null } }, - "41": { "start": { "line": 483, "column": 6 }, "end": { "line": 483, "column": null } }, - "42": { "start": { "line": 488, "column": 21 }, "end": { "line": 488, "column": null } }, - "43": { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, - "44": { "start": { "line": 492, "column": 4 }, "end": { "line": 492, "column": null } }, - "45": { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, - "46": { "start": { "line": 495, "column": 4 }, "end": { "line": 495, "column": null } }, - "47": { "start": { "line": 498, "column": 4 }, "end": { "line": 498, "column": null } }, - "48": { "start": { "line": 507, "column": 27 }, "end": { "line": 518, "column": null } }, - "49": { "start": { "line": 520, "column": 2 }, "end": { "line": 520, "column": null } }, - "50": { "start": { "line": 520, "column": 44 }, "end": { "line": 520, "column": 62 } }, - "51": { "start": { "line": 527, "column": 46 }, "end": { "line": 542, "column": null } }, - "52": { "start": { "line": 544, "column": 2 }, "end": { "line": 544, "column": null } } - }, - "fnMap": { - "0": { - "name": "detectLanguage", - "decl": { "start": { "line": 368, "column": 16 }, "end": { "line": 368, "column": 31 } }, - "loc": { "start": { "line": 368, "column": 60 }, "end": { "line": 429, "column": null } }, - "line": 368 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 377, "column": 28 }, "end": { "line": 377, "column": 29 } }, - "loc": { "start": { "line": 377, "column": 38 }, "end": { "line": 379, "column": 3 } }, - "line": 377 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 383, "column": 28 }, "end": { "line": 383, "column": 29 } }, - "loc": { "start": { "line": 383, "column": 38 }, "end": { "line": 414, "column": 3 } }, - "line": 383 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 387, "column": 26 }, "end": { "line": 387, "column": 27 } }, - "loc": { "start": { "line": 387, "column": 39 }, "end": { "line": 393, "column": 5 } }, - "line": 387 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 396, "column": 26 }, "end": { "line": 396, "column": 27 } }, - "loc": { "start": { "line": 396, "column": 39 }, "end": { "line": 401, "column": 5 } }, - "line": 396 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 404, "column": 28 }, "end": { "line": 404, "column": 29 } }, - "loc": { "start": { "line": 404, "column": 37 }, "end": { "line": 408, "column": 5 } }, - "line": 404 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 420, "column": 33 }, "end": { "line": 420, "column": 34 } }, - "loc": { "start": { "line": 420, "column": 52 }, "end": { "line": 426, "column": 3 } }, - "line": 420 - }, - "7": { - "name": "isCode", - "decl": { "start": { "line": 436, "column": 16 }, "end": { "line": 436, "column": 23 } }, - "loc": { "start": { "line": 436, "column": 46 }, "end": { "line": 500, "column": null } }, - "line": 436 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 479, "column": 25 }, "end": { "line": 479, "column": 26 } }, - "loc": { "start": { "line": 479, "column": 38 }, "end": { "line": 485, "column": 3 } }, - "line": 479 - }, - "9": { - "name": "hasStrongCodeIndicators", - "decl": { "start": { "line": 506, "column": 9 }, "end": { "line": 506, "column": 33 } }, - "loc": { "start": { "line": 506, "column": 56 }, "end": { "line": 521, "column": null } }, - "line": 506 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 520, "column": 31 }, "end": { "line": 520, "column": 32 } }, - "loc": { "start": { "line": 520, "column": 44 }, "end": { "line": 520, "column": 62 } }, - "line": 520 - }, - "11": { - "name": "mapToSyntaxHighlighterLanguage", - "decl": { "start": { "line": 526, "column": 16 }, "end": { "line": 526, "column": 47 } }, - "loc": { "start": { "line": 526, "column": 81 }, "end": { "line": 545, "column": null } }, - "line": 526 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 369 - }, - "1": { - "loc": { "start": { "line": 369, "column": 6 }, "end": { "line": 369, "column": 39 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 369, "column": 6 }, "end": { "line": 369, "column": 15 } }, - { "start": { "line": 369, "column": 15 }, "end": { "line": 369, "column": 39 } } - ], - "line": 369 - }, - "2": { - "loc": { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 390 - }, - "3": { - "loc": { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 398 - }, - "4": { - "loc": { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 405 - }, - "5": { - "loc": { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 421 - }, - "6": { - "loc": { "start": { "line": 421, "column": 8 }, "end": { "line": 421, "column": 39 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 421, "column": 8 }, "end": { "line": 421, "column": 28 } }, - { "start": { "line": 421, "column": 28 }, "end": { "line": 421, "column": 39 } } - ], - "line": 421 - }, - "7": { - "loc": { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 437 - }, - "8": { - "loc": { "start": { "line": 437, "column": 6 }, "end": { "line": 437, "column": 39 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 437, "column": 6 }, "end": { "line": 437, "column": 15 } }, - { "start": { "line": 437, "column": 15 }, "end": { "line": 437, "column": 39 } } - ], - "line": 437 - }, - "9": { - "loc": { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 443 - }, - "10": { - "loc": { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 481 - }, - "11": { - "loc": { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, - { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } } - ], - "line": 490 - }, - "12": { - "loc": { "start": { "line": 492, "column": 11 }, "end": { "line": 492, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 492, "column": 11 }, "end": { "line": 492, "column": 34 } }, - { "start": { "line": 492, "column": 34 }, "end": { "line": 492, "column": null } } - ], - "line": 492 - }, - "13": { - "loc": { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, - { "start": { "line": 496, "column": 9 }, "end": { "line": 499, "column": null } } - ], - "line": 493 - }, - "14": { - "loc": { "start": { "line": 495, "column": 11 }, "end": { "line": 495, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 495, "column": 11 }, "end": { "line": 495, "column": 34 } }, - { "start": { "line": 495, "column": 34 }, "end": { "line": 495, "column": null } } - ], - "line": 495 - }, - "15": { - "loc": { "start": { "line": 498, "column": 11 }, "end": { "line": 498, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 498, "column": 11 }, "end": { "line": 498, "column": 34 } }, - { "start": { "line": 498, "column": 34 }, "end": { "line": 498, "column": null } } - ], - "line": 498 - }, - "16": { - "loc": { "start": { "line": 544, "column": 9 }, "end": { "line": 544, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 544, "column": 9 }, "end": { "line": 544, "column": 42 } }, - { "start": { "line": 544, "column": 42 }, "end": { "line": 544, "column": null } } - ], - "line": 544 - } - }, - "s": { - "0": 2, - "1": 8, - "2": 2, - "3": 6, - "4": 6, - "5": 84, - "6": 6, - "7": 6, - "8": 84, - "9": 84, - "10": 792, - "11": 792, - "12": 792, - "13": 21, - "14": 84, - "15": 606, - "16": 606, - "17": 23, - "18": 84, - "19": 156, - "20": 0, - "21": 84, - "22": 84, - "23": 6, - "24": 6, - "25": 6, - "26": 84, - "27": 9, - "28": 9, - "29": 6, - "30": 6, - "31": 2, - "32": 4, - "33": 3, - "34": 1, - "35": 1, - "36": 1, - "37": 1, - "38": 25, - "39": 25, - "40": 0, - "41": 0, - "42": 1, - "43": 1, - "44": 0, - "45": 1, - "46": 1, - "47": 0, - "48": 4, - "49": 4, - "50": 22, - "51": 16, - "52": 16 - }, - "f": { - "0": 8, - "1": 84, - "2": 84, - "3": 792, - "4": 606, - "5": 156, - "6": 84, - "7": 6, - "8": 25, - "9": 4, - "10": 22, - "11": 16 - }, - "b": { - "0": [2, 6], - "1": [8, 7], - "2": [21, 771], - "3": [23, 583], - "4": [0, 156], - "5": [9, 75], - "6": [84, 9], - "7": [2, 4], - "8": [6, 5], - "9": [3, 1], - "10": [0, 25], - "11": [0, 1], - "12": [0, 0], - "13": [1, 0], - "14": [1, 1], - "15": [0, 0], - "16": [16, 1] - }, - "meta": { - "lastBranch": 17, - "lastFunction": 12, - "lastStatement": 53, - "seen": { - "s:37:45:361:Infinity": 0, - "f:368:16:368:31": 0, - "b:369:2:372:Infinity:undefined:undefined:undefined:undefined": 0, - "s:369:2:372:Infinity": 1, - "b:369:6:369:15:369:15:369:39": 1, - "s:371:4:371:Infinity": 2, - "s:374:41:374:Infinity": 3, - "s:377:2:379:Infinity": 4, - "f:377:28:377:29": 1, - "s:378:4:378:Infinity": 5, - "s:381:20:381:Infinity": 6, - "s:383:2:414:Infinity": 7, - "f:383:28:383:29": 2, - "s:384:16:384:Infinity": 8, - "s:387:4:393:Infinity": 9, - "f:387:26:387:27": 3, - "s:388:20:388:Infinity": 10, - "s:389:22:389:Infinity": 11, - "b:390:6:392:Infinity:undefined:undefined:undefined:undefined": 2, - "s:390:6:392:Infinity": 12, - "s:391:8:391:Infinity": 13, - "s:396:4:401:Infinity": 14, - "f:396:26:396:27": 4, - "s:397:22:397:Infinity": 15, - "b:398:6:400:Infinity:undefined:undefined:undefined:undefined": 3, - "s:398:6:400:Infinity": 16, - "s:399:8:399:Infinity": 17, - "s:404:4:408:Infinity": 18, - "f:404:28:404:29": 5, - "b:405:6:407:Infinity:undefined:undefined:undefined:undefined": 4, - "s:405:6:407:Infinity": 19, - "s:406:8:406:Infinity": 20, - "s:411:4:411:Infinity": 21, - "s:413:4:413:Infinity": 22, - "s:417:17:417:Infinity": 23, - "s:418:40:418:Infinity": 24, - "s:420:2:426:Infinity": 25, - "f:420:33:420:34": 6, - "b:421:4:425:Infinity:undefined:undefined:undefined:undefined": 5, - "s:421:4:425:Infinity": 26, - "b:421:8:421:28:421:28:421:39": 6, - "s:423:6:423:Infinity": 27, - "s:424:6:424:Infinity": 28, - "s:428:2:428:Infinity": 29, - "f:436:16:436:23": 7, - "b:437:2:440:Infinity:undefined:undefined:undefined:undefined": 7, - "s:437:2:440:Infinity": 30, - "b:437:6:437:15:437:15:437:39": 8, - "s:439:4:439:Infinity": 31, - "b:443:2:445:Infinity:undefined:undefined:undefined:undefined": 9, - "s:443:2:445:Infinity": 32, - "s:444:4:444:Infinity": 33, - "s:448:25:474:Infinity": 34, - "s:476:23:476:Infinity": 35, - "s:477:21:477:Infinity": 36, - "s:479:2:485:Infinity": 37, - "f:479:25:479:26": 8, - "s:480:20:480:Infinity": 38, - "b:481:4:484:Infinity:undefined:undefined:undefined:undefined": 10, - "s:481:4:484:Infinity": 39, - "s:482:6:482:Infinity": 40, - "s:483:6:483:Infinity": 41, - "s:488:21:488:Infinity": 42, - "b:490:2:499:Infinity:493:2:499:Infinity": 11, - "s:490:2:499:Infinity": 43, - "s:492:4:492:Infinity": 44, - "b:492:11:492:34:492:34:492:Infinity": 12, - "b:493:2:499:Infinity:496:9:499:Infinity": 13, - "s:493:2:499:Infinity": 45, - "s:495:4:495:Infinity": 46, - "b:495:11:495:34:495:34:495:Infinity": 14, - "s:498:4:498:Infinity": 47, - "b:498:11:498:34:498:34:498:Infinity": 15, - "f:506:9:506:33": 9, - "s:507:27:518:Infinity": 48, - "s:520:2:520:Infinity": 49, - "f:520:31:520:32": 10, - "s:520:44:520:62": 50, - "f:526:16:526:47": 11, - "s:527:46:542:Infinity": 51, - "s:544:2:544:Infinity": 52, - "b:544:9:544:42:544:42:544:Infinity": 16 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts", - "statementMap": { - "0": { "start": { "line": 1, "column": 33 }, "end": { "line": 1, "column": 36 } } - }, - "fnMap": {}, - "branchMap": {}, - "s": { "0": 1 }, - "f": {}, - "b": {}, - "meta": { "lastBranch": 0, "lastFunction": 0, "lastStatement": 1, "seen": { "s:1:33:1:36": 0 } } - } +{"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":36,"column":null}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":null}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"4":{"start":{"line":11,"column":14},"end":{"line":11,"column":null}},"5":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}},"7":{"start":{"line":16,"column":15},"end":{"line":16,"column":null}},"8":{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":21,"column":16},"end":{"line":21,"column":null}},"11":{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},"12":{"start":{"line":23,"column":4},"end":{"line":23,"column":null}},"13":{"start":{"line":26,"column":2},"end":{"line":33,"column":null}},"14":{"start":{"line":27,"column":21},"end":{"line":27,"column":null}},"15":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"16":{"start":{"line":29,"column":6},"end":{"line":29,"column":null}},"17":{"start":{"line":35,"column":2},"end":{"line":35,"column":null}},"18":{"start":{"line":39,"column":32},"end":{"line":39,"column":null}},"19":{"start":{"line":39,"column":46},"end":{"line":39,"column":null}},"20":{"start":{"line":40,"column":32},"end":{"line":40,"column":null}},"21":{"start":{"line":40,"column":46},"end":{"line":40,"column":null}},"22":{"start":{"line":41,"column":31},"end":{"line":41,"column":null}},"23":{"start":{"line":41,"column":45},"end":{"line":41,"column":null}},"24":{"start":{"line":43,"column":33},"end":{"line":49,"column":null}},"25":{"start":{"line":44,"column":16},"end":{"line":44,"column":null}},"26":{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},"27":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"28":{"start":{"line":48,"column":2},"end":{"line":48,"column":null}},"29":{"start":{"line":51,"column":36},"end":{"line":57,"column":null}},"30":{"start":{"line":52,"column":2},"end":{"line":56,"column":null}},"31":{"start":{"line":53,"column":4},"end":{"line":53,"column":null}},"32":{"start":{"line":55,"column":4},"end":{"line":55,"column":null}},"33":{"start":{"line":60,"column":32},"end":{"line":62,"column":null}},"34":{"start":{"line":61,"column":2},"end":{"line":61,"column":null}},"35":{"start":{"line":64,"column":32},"end":{"line":66,"column":null}},"36":{"start":{"line":65,"column":2},"end":{"line":65,"column":null}},"37":{"start":{"line":68,"column":31},"end":{"line":70,"column":null}},"38":{"start":{"line":69,"column":2},"end":{"line":69,"column":null}},"39":{"start":{"line":72,"column":33},"end":{"line":81,"column":null}},"40":{"start":{"line":73,"column":2},"end":{"line":80,"column":null}},"41":{"start":{"line":75,"column":18},"end":{"line":75,"column":null}},"42":{"start":{"line":76,"column":4},"end":{"line":76,"column":null}},"43":{"start":{"line":78,"column":4},"end":{"line":78,"column":null}},"44":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"45":{"start":{"line":83,"column":36},"end":{"line":99,"column":null}},"46":{"start":{"line":89,"column":2},"end":{"line":98,"column":null}},"47":{"start":{"line":91,"column":4},"end":{"line":94,"column":null}},"48":{"start":{"line":96,"column":4},"end":{"line":96,"column":null}},"49":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":39},"end":{"line":4,"column":87}},"loc":{"start":{"line":4,"column":87},"end":{"line":36,"column":null}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":32},"end":{"line":39,"column":46}},"loc":{"start":{"line":39,"column":46},"end":{"line":39,"column":null}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":32},"end":{"line":40,"column":46}},"loc":{"start":{"line":40,"column":46},"end":{"line":40,"column":null}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":31},"end":{"line":41,"column":45}},"loc":{"start":{"line":41,"column":45},"end":{"line":41,"column":null}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":33},"end":{"line":43,"column":54}},"loc":{"start":{"line":43,"column":54},"end":{"line":49,"column":null}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":36},"end":{"line":51,"column":81}},"loc":{"start":{"line":51,"column":81},"end":{"line":57,"column":null}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":60,"column":32},"end":{"line":60,"column":33}},"loc":{"start":{"line":60,"column":56},"end":{"line":62,"column":null}},"line":60},"7":{"name":"(anonymous_7)","decl":{"start":{"line":64,"column":32},"end":{"line":64,"column":33}},"loc":{"start":{"line":64,"column":56},"end":{"line":66,"column":null}},"line":64},"8":{"name":"(anonymous_8)","decl":{"start":{"line":68,"column":31},"end":{"line":68,"column":32}},"loc":{"start":{"line":68,"column":54},"end":{"line":70,"column":null}},"line":68},"9":{"name":"(anonymous_9)","decl":{"start":{"line":72,"column":33},"end":{"line":72,"column":34}},"loc":{"start":{"line":72,"column":62},"end":{"line":81,"column":null}},"line":72},"10":{"name":"(anonymous_10)","decl":{"start":{"line":83,"column":36},"end":{"line":83,"column":37}},"loc":{"start":{"line":88,"column":12},"end":{"line":99,"column":null}},"line":88}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":7,"column":6},"end":{"line":7,"column":27}},"type":"binary-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":7,"column":14}},{"start":{"line":7,"column":14},"end":{"line":7,"column":27}}],"line":7},"2":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},{"start":{},"end":{}}],"line":12},"3":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":25}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":13}},{"start":{"line":12,"column":13},"end":{"line":12,"column":25}}],"line":12},"4":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":17},"5":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":27}},"type":"binary-expr","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":14}},{"start":{"line":17,"column":14},"end":{"line":17,"column":27}}],"line":17},"6":{"loc":{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},{"start":{},"end":{}}],"line":22},"7":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},{"start":{},"end":{}}],"line":28},"8":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":34}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":20}},{"start":{"line":28,"column":20},"end":{"line":28,"column":34}}],"line":28},"9":{"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},{"start":{},"end":{}}],"line":45}},"s":{"0":1,"1":8,"2":8,"3":2,"4":6,"5":6,"6":1,"7":5,"8":5,"9":1,"10":4,"11":4,"12":1,"13":3,"14":3,"15":3,"16":1,"17":2,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":2,"26":2,"27":1,"28":1,"29":1,"30":2,"31":2,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":2,"41":2,"42":2,"43":1,"44":1,"45":1,"46":2,"47":2,"48":1,"49":1},"f":{"0":8,"1":1,"2":1,"3":1,"4":2,"5":2,"6":1,"7":1,"8":1,"9":2,"10":2},"b":{"0":[2,6],"1":[8,2],"2":[1,5],"3":[6,1],"4":[1,4],"5":[5,1],"6":[1,3],"7":[1,2],"8":[3,2],"9":[1,1]},"meta":{"lastBranch":10,"lastFunction":11,"lastStatement":50,"seen":{"s:4:39:36:Infinity":0,"f:4:39:4:87":0,"s:6:15:6:Infinity":1,"b:7:2:9:Infinity:undefined:undefined:undefined:undefined":0,"s:7:2:9:Infinity":2,"b:7:6:7:14:7:14:7:27":1,"s:8:4:8:Infinity":3,"s:11:14:11:Infinity":4,"b:12:2:14:Infinity:undefined:undefined:undefined:undefined":2,"s:12:2:14:Infinity":5,"b:12:6:12:13:12:13:12:25":3,"s:13:4:13:Infinity":6,"s:16:15:16:Infinity":7,"b:17:2:19:Infinity:undefined:undefined:undefined:undefined":4,"s:17:2:19:Infinity":8,"b:17:6:17:14:17:14:17:27":5,"s:18:4:18:Infinity":9,"s:21:16:21:Infinity":10,"b:22:2:24:Infinity:undefined:undefined:undefined:undefined":6,"s:22:2:24:Infinity":11,"s:23:4:23:Infinity":12,"s:26:2:33:Infinity":13,"s:27:21:27:Infinity":14,"b:28:4:30:Infinity:undefined:undefined:undefined:undefined":7,"s:28:4:30:Infinity":15,"b:28:8:28:20:28:20:28:34":8,"s:29:6:29:Infinity":16,"s:35:2:35:Infinity":17,"s:39:32:39:Infinity":18,"f:39:32:39:46":1,"s:39:46:39:Infinity":19,"s:40:32:40:Infinity":20,"f:40:32:40:46":2,"s:40:46:40:Infinity":21,"s:41:31:41:Infinity":22,"f:41:31:41:45":3,"s:41:45:41:Infinity":23,"s:43:33:49:Infinity":24,"f:43:33:43:54":4,"s:44:16:44:Infinity":25,"b:45:2:47:Infinity:undefined:undefined:undefined:undefined":9,"s:45:2:47:Infinity":26,"s:46:4:46:Infinity":27,"s:48:2:48:Infinity":28,"s:51:36:57:Infinity":29,"f:51:36:51:81":5,"s:52:2:56:Infinity":30,"s:53:4:53:Infinity":31,"s:55:4:55:Infinity":32,"s:60:32:62:Infinity":33,"f:60:32:60:33":6,"s:61:2:61:Infinity":34,"s:64:32:66:Infinity":35,"f:64:32:64:33":7,"s:65:2:65:Infinity":36,"s:68:31:70:Infinity":37,"f:68:31:68:32":8,"s:69:2:69:Infinity":38,"s:72:33:81:Infinity":39,"f:72:33:72:34":9,"s:73:2:80:Infinity":40,"s:75:18:75:Infinity":41,"s:76:4:76:Infinity":42,"s:78:4:78:Infinity":43,"s:79:4:79:Infinity":44,"s:83:36:99:Infinity":45,"f:83:36:83:37":10,"s:89:2:98:Infinity":46,"s:91:4:94:Infinity":47,"s:96:4:96:Infinity":48,"s:97:4:97:Infinity":49}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts","statementMap":{"0":{"start":{"line":6,"column":35},"end":{"line":49,"column":null}},"1":{"start":{"line":7,"column":2},"end":{"line":48,"column":null}},"2":{"start":{"line":8,"column":24},"end":{"line":8,"column":null}},"3":{"start":{"line":9,"column":36},"end":{"line":9,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":42,"column":null}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"6":{"start":{"line":12,"column":31},"end":{"line":12,"column":null}},"7":{"start":{"line":14,"column":6},"end":{"line":41,"column":null}},"8":{"start":{"line":15,"column":22},"end":{"line":15,"column":null}},"9":{"start":{"line":18,"column":8},"end":{"line":37,"column":null}},"10":{"start":{"line":19,"column":51},"end":{"line":19,"column":null}},"11":{"start":{"line":22,"column":10},"end":{"line":28,"column":null}},"12":{"start":{"line":23,"column":12},"end":{"line":27,"column":null}},"13":{"start":{"line":24,"column":14},"end":{"line":26,"column":null}},"14":{"start":{"line":25,"column":16},"end":{"line":25,"column":null}},"15":{"start":{"line":30,"column":10},"end":{"line":36,"column":null}},"16":{"start":{"line":31,"column":12},"end":{"line":35,"column":null}},"17":{"start":{"line":39,"column":8},"end":{"line":39,"column":null}},"18":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"19":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"20":{"start":{"line":47,"column":4},"end":{"line":47,"column":null}},"21":{"start":{"line":51,"column":35},"end":{"line":157,"column":null}},"22":{"start":{"line":52,"column":2},"end":{"line":156,"column":null}},"23":{"start":{"line":53,"column":18},"end":{"line":53,"column":null}},"24":{"start":{"line":55,"column":4},"end":{"line":152,"column":null}},"25":{"start":{"line":56,"column":19},"end":{"line":56,"column":null}},"26":{"start":{"line":56,"column":37},"end":{"line":56,"column":52}},"27":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"28":{"start":{"line":57,"column":17},"end":{"line":57,"column":null}},"29":{"start":{"line":60,"column":32},"end":{"line":62,"column":null}},"30":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"31":{"start":{"line":61,"column":43},"end":{"line":61,"column":66}},"32":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"33":{"start":{"line":64,"column":42},"end":{"line":64,"column":null}},"34":{"start":{"line":67,"column":30},"end":{"line":67,"column":null}},"35":{"start":{"line":68,"column":25},"end":{"line":68,"column":null}},"36":{"start":{"line":71,"column":20},"end":{"line":71,"column":null}},"37":{"start":{"line":74,"column":21},"end":{"line":74,"column":null}},"38":{"start":{"line":76,"column":6},"end":{"line":146,"column":null}},"39":{"start":{"line":78,"column":8},"end":{"line":78,"column":null}},"40":{"start":{"line":81,"column":94},"end":{"line":81,"column":null}},"41":{"start":{"line":83,"column":8},"end":{"line":102,"column":null}},"42":{"start":{"line":84,"column":28},"end":{"line":84,"column":null}},"43":{"start":{"line":85,"column":31},"end":{"line":85,"column":null}},"44":{"start":{"line":86,"column":32},"end":{"line":86,"column":null}},"45":{"start":{"line":86,"column":67},"end":{"line":86,"column":75}},"46":{"start":{"line":89,"column":35},"end":{"line":89,"column":null}},"47":{"start":{"line":90,"column":22},"end":{"line":90,"column":null}},"48":{"start":{"line":91,"column":10},"end":{"line":99,"column":null}},"49":{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},"50":{"start":{"line":93,"column":14},"end":{"line":93,"column":null}},"51":{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},"52":{"start":{"line":96,"column":16},"end":{"line":96,"column":null}},"53":{"start":{"line":101,"column":10},"end":{"line":101,"column":null}},"54":{"start":{"line":105,"column":8},"end":{"line":145,"column":null}},"55":{"start":{"line":105,"column":44},"end":{"line":105,"column":64}},"56":{"start":{"line":107,"column":10},"end":{"line":144,"column":null}},"57":{"start":{"line":112,"column":12},"end":{"line":112,"column":null}},"58":{"start":{"line":112,"column":57},"end":{"line":112,"column":76}},"59":{"start":{"line":115,"column":41},"end":{"line":140,"column":null}},"60":{"start":{"line":116,"column":14},"end":{"line":123,"column":null}},"61":{"start":{"line":117,"column":36},"end":{"line":117,"column":null}},"62":{"start":{"line":118,"column":16},"end":{"line":122,"column":null}},"63":{"start":{"line":120,"column":39},"end":{"line":120,"column":null}},"64":{"start":{"line":121,"column":18},"end":{"line":121,"column":null}},"65":{"start":{"line":126,"column":39},"end":{"line":126,"column":null}},"66":{"start":{"line":127,"column":39},"end":{"line":127,"column":null}},"67":{"start":{"line":128,"column":45},"end":{"line":128,"column":null}},"68":{"start":{"line":130,"column":14},"end":{"line":137,"column":null}},"69":{"start":{"line":131,"column":16},"end":{"line":136,"column":null}},"70":{"start":{"line":133,"column":39},"end":{"line":133,"column":null}},"71":{"start":{"line":134,"column":30},"end":{"line":134,"column":null}},"72":{"start":{"line":135,"column":18},"end":{"line":135,"column":null}},"73":{"start":{"line":139,"column":14},"end":{"line":139,"column":null}},"74":{"start":{"line":142,"column":33},"end":{"line":142,"column":null}},"75":{"start":{"line":143,"column":12},"end":{"line":143,"column":null}},"76":{"start":{"line":143,"column":42},"end":{"line":143,"column":61}},"77":{"start":{"line":149,"column":6},"end":{"line":151,"column":null}},"78":{"start":{"line":150,"column":8},"end":{"line":150,"column":null}},"79":{"start":{"line":154,"column":4},"end":{"line":154,"column":null}},"80":{"start":{"line":155,"column":4},"end":{"line":155,"column":null}},"81":{"start":{"line":159,"column":38},"end":{"line":175,"column":null}},"82":{"start":{"line":160,"column":2},"end":{"line":174,"column":null}},"83":{"start":{"line":161,"column":24},"end":{"line":161,"column":null}},"84":{"start":{"line":162,"column":18},"end":{"line":162,"column":null}},"85":{"start":{"line":163,"column":22},"end":{"line":163,"column":null}},"86":{"start":{"line":165,"column":4},"end":{"line":170,"column":null}},"87":{"start":{"line":172,"column":4},"end":{"line":172,"column":null}},"88":{"start":{"line":173,"column":4},"end":{"line":173,"column":null}},"89":{"start":{"line":177,"column":38},"end":{"line":185,"column":null}},"90":{"start":{"line":178,"column":2},"end":{"line":184,"column":null}},"91":{"start":{"line":180,"column":4},"end":{"line":180,"column":null}},"92":{"start":{"line":182,"column":4},"end":{"line":182,"column":null}},"93":{"start":{"line":183,"column":4},"end":{"line":183,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":35},"end":{"line":6,"column":42}},"loc":{"start":{"line":6,"column":84},"end":{"line":49,"column":null}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":49},"end":{"line":23,"column":50}},"loc":{"start":{"line":23,"column":73},"end":{"line":27,"column":13}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":35},"end":{"line":51,"column":42}},"loc":{"start":{"line":51,"column":80},"end":{"line":157,"column":null}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":30},"end":{"line":56,"column":31}},"loc":{"start":{"line":56,"column":37},"end":{"line":56,"column":52}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":47},"end":{"line":60,"column":48}},"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":32},"end":{"line":61,"column":33}},"loc":{"start":{"line":61,"column":43},"end":{"line":61,"column":66}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":86,"column":60},"end":{"line":86,"column":61}},"loc":{"start":{"line":86,"column":67},"end":{"line":86,"column":75}},"line":86},"7":{"name":"(anonymous_7)","decl":{"start":{"line":105,"column":36},"end":{"line":105,"column":37}},"loc":{"start":{"line":105,"column":44},"end":{"line":105,"column":64}},"line":105},"8":{"name":"(anonymous_8)","decl":{"start":{"line":112,"column":48},"end":{"line":112,"column":49}},"loc":{"start":{"line":112,"column":57},"end":{"line":112,"column":76}},"line":112},"9":{"name":"(anonymous_9)","decl":{"start":{"line":115,"column":41},"end":{"line":115,"column":42}},"loc":{"start":{"line":115,"column":95},"end":{"line":140,"column":null}},"line":115},"10":{"name":"(anonymous_10)","decl":{"start":{"line":118,"column":46},"end":{"line":118,"column":47}},"loc":{"start":{"line":118,"column":57},"end":{"line":122,"column":17}},"line":118},"11":{"name":"(anonymous_11)","decl":{"start":{"line":143,"column":33},"end":{"line":143,"column":34}},"loc":{"start":{"line":143,"column":42},"end":{"line":143,"column":61}},"line":143},"12":{"name":"(anonymous_12)","decl":{"start":{"line":159,"column":38},"end":{"line":159,"column":50}},"loc":{"start":{"line":159,"column":50},"end":{"line":175,"column":null}},"line":159},"13":{"name":"(anonymous_13)","decl":{"start":{"line":177,"column":38},"end":{"line":177,"column":45}},"loc":{"start":{"line":177,"column":61},"end":{"line":185,"column":null}},"line":177}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":22,"column":10},"end":{"line":28,"column":null}},"type":"if","locations":[{"start":{"line":22,"column":10},"end":{"line":28,"column":null}},{"start":{},"end":{}}],"line":22},"2":{"loc":{"start":{"line":24,"column":14},"end":{"line":26,"column":null}},"type":"if","locations":[{"start":{"line":24,"column":14},"end":{"line":26,"column":null}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":24,"column":18},"end":{"line":24,"column":86}},"type":"binary-expr","locations":[{"start":{"line":24,"column":18},"end":{"line":24,"column":41}},{"start":{"line":24,"column":41},"end":{"line":24,"column":59}},{"start":{"line":24,"column":59},"end":{"line":24,"column":86}}],"line":24},"4":{"loc":{"start":{"line":30,"column":10},"end":{"line":36,"column":null}},"type":"if","locations":[{"start":{"line":30,"column":10},"end":{"line":36,"column":null}},{"start":{},"end":{}}],"line":30},"5":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},{"start":{},"end":{}}],"line":57},"6":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},{"start":{},"end":{}}],"line":64},"7":{"loc":{"start":{"line":76,"column":6},"end":{"line":146,"column":null}},"type":"if","locations":[{"start":{"line":76,"column":6},"end":{"line":146,"column":null}},{"start":{"line":79,"column":13},"end":{"line":146,"column":null}}],"line":76},"8":{"loc":{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},{"start":{},"end":{}}],"line":92},"9":{"loc":{"start":{"line":92,"column":16},"end":{"line":92,"column":66}},"type":"binary-expr","locations":[{"start":{"line":92,"column":16},"end":{"line":92,"column":43}},{"start":{"line":92,"column":43},"end":{"line":92,"column":66}}],"line":92},"10":{"loc":{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},"type":"if","locations":[{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},{"start":{},"end":{}}],"line":95},"11":{"loc":{"start":{"line":105,"column":8},"end":{"line":145,"column":null}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":145,"column":null}},{"start":{},"end":{}}],"line":105},"12":{"loc":{"start":{"line":107,"column":10},"end":{"line":144,"column":null}},"type":"if","locations":[{"start":{"line":107,"column":10},"end":{"line":144,"column":null}},{"start":{"line":113,"column":17},"end":{"line":144,"column":null}}],"line":107},"13":{"loc":{"start":{"line":108,"column":12},"end":{"line":110,"column":null}},"type":"binary-expr","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":null}},{"start":{"line":109,"column":12},"end":{"line":109,"column":null}},{"start":{"line":110,"column":12},"end":{"line":110,"column":null}}],"line":108},"14":{"loc":{"start":{"line":116,"column":14},"end":{"line":123,"column":null}},"type":"if","locations":[{"start":{"line":116,"column":14},"end":{"line":123,"column":null}},{"start":{},"end":{}}],"line":116},"15":{"loc":{"start":{"line":120,"column":39},"end":{"line":120,"column":null}},"type":"cond-expr","locations":[{"start":{"line":120,"column":59},"end":{"line":120,"column":67}},{"start":{"line":120,"column":67},"end":{"line":120,"column":null}}],"line":120},"16":{"loc":{"start":{"line":133,"column":39},"end":{"line":133,"column":null}},"type":"cond-expr","locations":[{"start":{"line":133,"column":53},"end":{"line":133,"column":61}},{"start":{"line":133,"column":61},"end":{"line":133,"column":null}}],"line":133}},"s":{"0":1,"1":10,"2":10,"3":9,"4":9,"5":9,"6":1,"7":8,"8":8,"9":8,"10":8,"11":8,"12":6,"13":8,"14":7,"15":8,"16":6,"17":1,"18":9,"19":1,"20":1,"21":1,"22":13,"23":13,"24":12,"25":12,"26":11,"27":12,"28":1,"29":11,"30":11,"31":11,"32":11,"33":2,"34":9,"35":9,"36":9,"37":9,"38":9,"39":1,"40":8,"41":8,"42":11,"43":11,"44":11,"45":14,"46":11,"47":11,"48":11,"49":14,"50":13,"51":13,"52":3,"53":11,"54":8,"55":11,"56":7,"57":1,"58":1,"59":6,"60":9,"61":6,"62":6,"63":8,"64":8,"65":3,"66":3,"67":3,"68":3,"69":4,"70":6,"71":6,"72":6,"73":3,"74":6,"75":6,"76":10,"77":9,"78":12,"79":1,"80":1,"81":1,"82":2,"83":2,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":2,"91":2,"92":1,"93":1},"f":{"0":10,"1":8,"2":13,"3":11,"4":11,"5":11,"6":14,"7":11,"8":1,"9":9,"10":8,"11":10,"12":2,"13":2},"b":{"0":[1,8],"1":[6,2],"2":[7,1],"3":[8,7,7],"4":[6,2],"5":[1,11],"6":[2,9],"7":[1,8],"8":[13,1],"9":[14,14],"10":[3,10],"11":[7,1],"12":[1,6],"13":[7,4,2],"14":[6,3],"15":[1,7],"16":[1,5]},"meta":{"lastBranch":17,"lastFunction":14,"lastStatement":94,"seen":{"s:6:35:49:Infinity":0,"f:6:35:6:42":0,"s:7:2:48:Infinity":1,"s:8:24:8:Infinity":2,"s:9:36:9:Infinity":3,"s:11:4:42:Infinity":4,"b:12:6:12:Infinity:undefined:undefined:undefined:undefined":0,"s:12:6:12:Infinity":5,"s:12:31:12:Infinity":6,"s:14:6:41:Infinity":7,"s:15:22:15:Infinity":8,"s:18:8:37:Infinity":9,"s:19:51:19:Infinity":10,"b:22:10:28:Infinity:undefined:undefined:undefined:undefined":1,"s:22:10:28:Infinity":11,"s:23:12:27:Infinity":12,"f:23:49:23:50":1,"b:24:14:26:Infinity:undefined:undefined:undefined:undefined":2,"s:24:14:26:Infinity":13,"b:24:18:24:41:24:41:24:59:24:59:24:86":3,"s:25:16:25:Infinity":14,"b:30:10:36:Infinity:undefined:undefined:undefined:undefined":4,"s:30:10:36:Infinity":15,"s:31:12:35:Infinity":16,"s:39:8:39:Infinity":17,"s:44:4:44:Infinity":18,"s:46:4:46:Infinity":19,"s:47:4:47:Infinity":20,"s:51:35:157:Infinity":21,"f:51:35:51:42":2,"s:52:2:156:Infinity":22,"s:53:18:53:Infinity":23,"s:55:4:152:Infinity":24,"s:56:19:56:Infinity":25,"f:56:30:56:31":3,"s:56:37:56:52":26,"b:57:6:57:Infinity:undefined:undefined:undefined:undefined":5,"s:57:6:57:Infinity":27,"s:57:17:57:Infinity":28,"s:60:32:62:Infinity":29,"f:60:47:60:48":4,"s:61:8:61:Infinity":30,"f:61:32:61:33":5,"s:61:43:61:66":31,"b:64:6:64:Infinity:undefined:undefined:undefined:undefined":6,"s:64:6:64:Infinity":32,"s:64:42:64:Infinity":33,"s:67:30:67:Infinity":34,"s:68:25:68:Infinity":35,"s:71:20:71:Infinity":36,"s:74:21:74:Infinity":37,"b:76:6:146:Infinity:79:13:146:Infinity":7,"s:76:6:146:Infinity":38,"s:78:8:78:Infinity":39,"s:81:94:81:Infinity":40,"s:83:8:102:Infinity":41,"s:84:28:84:Infinity":42,"s:85:31:85:Infinity":43,"s:86:32:86:Infinity":44,"f:86:60:86:61":6,"s:86:67:86:75":45,"s:89:35:89:Infinity":46,"s:90:22:90:Infinity":47,"s:91:10:99:Infinity":48,"b:92:12:98:Infinity:undefined:undefined:undefined:undefined":8,"s:92:12:98:Infinity":49,"b:92:16:92:43:92:43:92:66":9,"s:93:14:93:Infinity":50,"b:95:14:97:Infinity:undefined:undefined:undefined:undefined":10,"s:95:14:97:Infinity":51,"s:96:16:96:Infinity":52,"s:101:10:101:Infinity":53,"b:105:8:145:Infinity:undefined:undefined:undefined:undefined":11,"s:105:8:145:Infinity":54,"f:105:36:105:37":7,"s:105:44:105:64":55,"b:107:10:144:Infinity:113:17:144:Infinity":12,"s:107:10:144:Infinity":56,"b:108:12:108:Infinity:109:12:109:Infinity:110:12:110:Infinity":13,"s:112:12:112:Infinity":57,"f:112:48:112:49":8,"s:112:57:112:76":58,"s:115:41:140:Infinity":59,"f:115:41:115:42":9,"b:116:14:123:Infinity:undefined:undefined:undefined:undefined":14,"s:116:14:123:Infinity":60,"s:117:36:117:Infinity":61,"s:118:16:122:Infinity":62,"f:118:46:118:47":10,"s:120:39:120:Infinity":63,"b:120:59:120:67:120:67:120:Infinity":15,"s:121:18:121:Infinity":64,"s:126:39:126:Infinity":65,"s:127:39:127:Infinity":66,"s:128:45:128:Infinity":67,"s:130:14:137:Infinity":68,"s:131:16:136:Infinity":69,"s:133:39:133:Infinity":70,"b:133:53:133:61:133:61:133:Infinity":16,"s:134:30:134:Infinity":71,"s:135:18:135:Infinity":72,"s:139:14:139:Infinity":73,"s:142:33:142:Infinity":74,"s:143:12:143:Infinity":75,"f:143:33:143:34":11,"s:143:42:143:61":76,"s:149:6:151:Infinity":77,"s:150:8:150:Infinity":78,"s:154:4:154:Infinity":79,"s:155:4:155:Infinity":80,"s:159:38:175:Infinity":81,"f:159:38:159:50":12,"s:160:2:174:Infinity":82,"s:161:24:161:Infinity":83,"s:162:18:162:Infinity":84,"s:163:22:163:Infinity":85,"s:165:4:170:Infinity":86,"s:172:4:172:Infinity":87,"s:173:4:173:Infinity":88,"s:177:38:185:Infinity":89,"f:177:38:177:45":13,"s:178:2:184:Infinity":90,"s:180:4:180:Infinity":91,"s:182:4:182:Infinity":92,"s:183:4:183:Infinity":93}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":11,"column":null}},"1":{"start":{"line":5,"column":2},"end":{"line":10,"column":null}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"5":{"start":{"line":13,"column":31},"end":{"line":20,"column":null}},"6":{"start":{"line":14,"column":2},"end":{"line":19,"column":null}},"7":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"8":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":22,"column":31},"end":{"line":29,"column":null}},"11":{"start":{"line":23,"column":2},"end":{"line":28,"column":null}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":null}},"13":{"start":{"line":26,"column":4},"end":{"line":26,"column":null}},"14":{"start":{"line":27,"column":4},"end":{"line":27,"column":null}},"15":{"start":{"line":31,"column":31},"end":{"line":38,"column":null}},"16":{"start":{"line":32,"column":2},"end":{"line":37,"column":null}},"17":{"start":{"line":33,"column":4},"end":{"line":33,"column":null}},"18":{"start":{"line":35,"column":4},"end":{"line":35,"column":null}},"19":{"start":{"line":36,"column":4},"end":{"line":36,"column":null}},"20":{"start":{"line":40,"column":33},"end":{"line":47,"column":null}},"21":{"start":{"line":41,"column":2},"end":{"line":46,"column":null}},"22":{"start":{"line":42,"column":4},"end":{"line":42,"column":null}},"23":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"24":{"start":{"line":45,"column":4},"end":{"line":45,"column":null}},"25":{"start":{"line":49,"column":31},"end":{"line":78,"column":null}},"26":{"start":{"line":50,"column":2},"end":{"line":77,"column":null}},"27":{"start":{"line":51,"column":29},"end":{"line":51,"column":null}},"28":{"start":{"line":54,"column":4},"end":{"line":58,"column":null}},"29":{"start":{"line":55,"column":6},"end":{"line":55,"column":null}},"30":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"31":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"32":{"start":{"line":62,"column":29},"end":{"line":62,"column":null}},"33":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}},"34":{"start":{"line":64,"column":4},"end":{"line":68,"column":null}},"35":{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},"36":{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},"37":{"start":{"line":70,"column":4},"end":{"line":73,"column":null}},"38":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"39":{"start":{"line":76,"column":4},"end":{"line":76,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":32},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":44},"end":{"line":11,"column":null}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":31},"end":{"line":13,"column":38}},"loc":{"start":{"line":13,"column":93},"end":{"line":20,"column":null}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":31},"end":{"line":22,"column":38}},"loc":{"start":{"line":22,"column":67},"end":{"line":29,"column":null}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":31},"end":{"line":31,"column":38}},"loc":{"start":{"line":31,"column":53},"end":{"line":38,"column":null}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":33},"end":{"line":40,"column":40}},"loc":{"start":{"line":40,"column":57},"end":{"line":47,"column":null}},"line":40},"5":{"name":"(anonymous_5)","decl":{"start":{"line":49,"column":31},"end":{"line":49,"column":38}},"loc":{"start":{"line":49,"column":79},"end":{"line":78,"column":null}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":62,"column":43},"end":{"line":62,"column":44}},"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"type":"binary-expr","locations":[{"start":{"line":61,"column":22},"end":{"line":61,"column":51}},{"start":{"line":61,"column":51},"end":{"line":61,"column":null}}],"line":61},"1":{"loc":{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},{"start":{},"end":{}}],"line":65}},"s":{"0":1,"1":2,"2":2,"3":1,"4":1,"5":1,"6":2,"7":2,"8":1,"9":1,"10":1,"11":2,"12":2,"13":1,"14":1,"15":1,"16":2,"17":2,"18":1,"19":1,"20":1,"21":2,"22":2,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":7,"30":2,"31":7,"32":7,"33":6,"34":7,"35":6,"36":3,"37":6,"38":1,"39":1},"f":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":7,"6":6},"b":{"0":[7,2],"1":[3,3]},"meta":{"lastBranch":2,"lastFunction":7,"lastStatement":40,"seen":{"s:4:32:11:Infinity":0,"f:4:32:4:44":0,"s:5:2:10:Infinity":1,"s:6:4:6:Infinity":2,"s:8:4:8:Infinity":3,"s:9:4:9:Infinity":4,"s:13:31:20:Infinity":5,"f:13:31:13:38":1,"s:14:2:19:Infinity":6,"s:15:4:15:Infinity":7,"s:17:4:17:Infinity":8,"s:18:4:18:Infinity":9,"s:22:31:29:Infinity":10,"f:22:31:22:38":2,"s:23:2:28:Infinity":11,"s:24:4:24:Infinity":12,"s:26:4:26:Infinity":13,"s:27:4:27:Infinity":14,"s:31:31:38:Infinity":15,"f:31:31:31:38":3,"s:32:2:37:Infinity":16,"s:33:4:33:Infinity":17,"s:35:4:35:Infinity":18,"s:36:4:36:Infinity":19,"s:40:33:47:Infinity":20,"f:40:33:40:40":4,"s:41:2:46:Infinity":21,"s:42:4:42:Infinity":22,"s:44:4:44:Infinity":23,"s:45:4:45:Infinity":24,"s:49:31:78:Infinity":25,"f:49:31:49:38":5,"s:50:2:77:Infinity":26,"s:51:29:51:Infinity":27,"s:54:4:58:Infinity":28,"s:55:6:55:Infinity":29,"s:57:6:57:Infinity":30,"s:61:22:61:Infinity":31,"b:61:22:61:51:61:51:61:Infinity":0,"s:62:29:62:Infinity":32,"f:62:43:62:44":6,"s:62:54:62:72":33,"s:64:4:68:Infinity":34,"b:65:6:67:Infinity:undefined:undefined:undefined:undefined":1,"s:65:6:67:Infinity":35,"s:66:8:66:Infinity":36,"s:70:4:73:Infinity":37,"s:75:4:75:Infinity":38,"s:76:4:76:Infinity":39}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts","statementMap":{"0":{"start":{"line":9,"column":45},"end":{"line":9,"column":null}},"1":{"start":{"line":12,"column":4},"end":{"line":12,"column":null}},"2":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"3":{"start":{"line":19,"column":26},"end":{"line":19,"column":null}},"4":{"start":{"line":21,"column":4},"end":{"line":42,"column":null}},"5":{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"7":{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},"8":{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},"9":{"start":{"line":30,"column":8},"end":{"line":30,"column":null}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"11":{"start":{"line":34,"column":6},"end":{"line":34,"column":null}},"12":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"13":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"14":{"start":{"line":41,"column":6},"end":{"line":41,"column":null}},"15":{"start":{"line":49,"column":4},"end":{"line":74,"column":null}},"16":{"start":{"line":50,"column":20},"end":{"line":50,"column":null}},"17":{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},"18":{"start":{"line":52,"column":8},"end":{"line":52,"column":null}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"20":{"start":{"line":56,"column":25},"end":{"line":56,"column":null}},"21":{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},"22":{"start":{"line":58,"column":8},"end":{"line":58,"column":null}},"23":{"start":{"line":59,"column":8},"end":{"line":59,"column":null}},"24":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"25":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"26":{"start":{"line":68,"column":6},"end":{"line":68,"column":null}},"27":{"start":{"line":70,"column":6},"end":{"line":70,"column":null}},"28":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"29":{"start":{"line":73,"column":6},"end":{"line":73,"column":null}},"30":{"start":{"line":81,"column":4},"end":{"line":103,"column":null}},"31":{"start":{"line":83,"column":8},"end":{"line":83,"column":null}},"32":{"start":{"line":84,"column":8},"end":{"line":84,"column":null}},"33":{"start":{"line":86,"column":8},"end":{"line":86,"column":null}},"34":{"start":{"line":87,"column":8},"end":{"line":87,"column":null}},"35":{"start":{"line":89,"column":8},"end":{"line":89,"column":null}},"36":{"start":{"line":90,"column":8},"end":{"line":90,"column":null}},"37":{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},"38":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"39":{"start":{"line":95,"column":10},"end":{"line":95,"column":null}},"40":{"start":{"line":97,"column":8},"end":{"line":97,"column":null}},"41":{"start":{"line":99,"column":8},"end":{"line":99,"column":null}},"42":{"start":{"line":100,"column":8},"end":{"line":100,"column":null}},"43":{"start":{"line":102,"column":8},"end":{"line":102,"column":null}},"44":{"start":{"line":110,"column":4},"end":{"line":121,"column":null}},"45":{"start":{"line":111,"column":20},"end":{"line":111,"column":null}},"46":{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},"47":{"start":{"line":113,"column":8},"end":{"line":113,"column":null}},"48":{"start":{"line":116,"column":8},"end":{"line":116,"column":null}},"49":{"start":{"line":119,"column":6},"end":{"line":119,"column":null}},"50":{"start":{"line":120,"column":6},"end":{"line":120,"column":null}},"51":{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},"52":{"start":{"line":128,"column":26},"end":{"line":128,"column":null}},"53":{"start":{"line":130,"column":4},"end":{"line":145,"column":null}},"54":{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},"55":{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},"56":{"start":{"line":133,"column":10},"end":{"line":133,"column":null}},"57":{"start":{"line":135,"column":8},"end":{"line":135,"column":null}},"58":{"start":{"line":136,"column":8},"end":{"line":136,"column":null}},"59":{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},"60":{"start":{"line":138,"column":10},"end":{"line":138,"column":null}},"61":{"start":{"line":142,"column":6},"end":{"line":142,"column":null}},"62":{"start":{"line":144,"column":6},"end":{"line":144,"column":null}},"63":{"start":{"line":152,"column":4},"end":{"line":174,"column":null}},"64":{"start":{"line":153,"column":20},"end":{"line":153,"column":null}},"65":{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},"66":{"start":{"line":155,"column":8},"end":{"line":155,"column":null}},"67":{"start":{"line":156,"column":8},"end":{"line":156,"column":null}},"68":{"start":{"line":159,"column":24},"end":{"line":159,"column":null}},"69":{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},"70":{"start":{"line":161,"column":8},"end":{"line":161,"column":null}},"71":{"start":{"line":162,"column":8},"end":{"line":162,"column":null}},"72":{"start":{"line":166,"column":44},"end":{"line":166,"column":null}},"73":{"start":{"line":169,"column":6},"end":{"line":169,"column":null}},"74":{"start":{"line":171,"column":6},"end":{"line":171,"column":null}},"75":{"start":{"line":173,"column":6},"end":{"line":173,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":52},"end":{"line":13,"column":null}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":22}},"loc":{"start":{"line":18,"column":22},"end":{"line":43,"column":null}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":8},"end":{"line":48,"column":22}},"loc":{"start":{"line":48,"column":52},"end":{"line":75,"column":null}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":80,"column":10},"end":{"line":80,"column":30}},"loc":{"start":{"line":80,"column":53},"end":{"line":104,"column":null}},"line":80},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":10},"end":{"line":109,"column":24}},"loc":{"start":{"line":109,"column":47},"end":{"line":122,"column":null}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":127,"column":2},"end":{"line":127,"column":26}},"loc":{"start":{"line":127,"column":26},"end":{"line":146,"column":null}},"line":127},"6":{"name":"(anonymous_6)","decl":{"start":{"line":151,"column":8},"end":{"line":151,"column":43}},"loc":{"start":{"line":151,"column":43},"end":{"line":175,"column":null}},"line":151}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},{"start":{},"end":{}}],"line":23},"2":{"loc":{"start":{"line":23,"column":10},"end":{"line":23,"column":70}},"type":"binary-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":41}},{"start":{"line":23,"column":41},"end":{"line":23,"column":70}}],"line":23},"3":{"loc":{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37},"5":{"loc":{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},{"start":{},"end":{}}],"line":51},"6":{"loc":{"start":{"line":51,"column":10},"end":{"line":51,"column":43}},"type":"binary-expr","locations":[{"start":{"line":51,"column":10},"end":{"line":51,"column":20}},{"start":{"line":51,"column":20},"end":{"line":51,"column":43}}],"line":51},"7":{"loc":{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},{"start":{},"end":{}}],"line":57},"8":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":63,"column":10},"end":{"line":63,"column":61}},"type":"binary-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":63,"column":29}},{"start":{"line":63,"column":29},"end":{"line":63,"column":61}}],"line":63},"10":{"loc":{"start":{"line":81,"column":4},"end":{"line":103,"column":null}},"type":"switch","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":null}},{"start":{"line":85,"column":6},"end":{"line":87,"column":null}},{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},{"start":{"line":91,"column":6},"end":{"line":97,"column":null}},{"start":{"line":98,"column":6},"end":{"line":100,"column":null}},{"start":{"line":101,"column":6},"end":{"line":102,"column":null}}],"line":81},"11":{"loc":{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},{"start":{"line":94,"column":15},"end":{"line":96,"column":null}}],"line":92},"12":{"loc":{"start":{"line":92,"column":12},"end":{"line":92,"column":58}},"type":"binary-expr","locations":[{"start":{"line":92,"column":12},"end":{"line":92,"column":35}},{"start":{"line":92,"column":35},"end":{"line":92,"column":58}}],"line":92},"13":{"loc":{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},{"start":{"line":114,"column":13},"end":{"line":117,"column":null}}],"line":112},"14":{"loc":{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},{"start":{},"end":{}}],"line":128},"15":{"loc":{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},"type":"if","locations":[{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},{"start":{},"end":{}}],"line":131},"16":{"loc":{"start":{"line":131,"column":10},"end":{"line":131,"column":73}},"type":"binary-expr","locations":[{"start":{"line":131,"column":10},"end":{"line":131,"column":42}},{"start":{"line":131,"column":42},"end":{"line":131,"column":73}}],"line":131},"17":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},{"start":{},"end":{}}],"line":132},"18":{"loc":{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},"type":"if","locations":[{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},{"start":{},"end":{}}],"line":137},"19":{"loc":{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},"type":"if","locations":[{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},{"start":{},"end":{}}],"line":154},"20":{"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":40}},"type":"binary-expr","locations":[{"start":{"line":154,"column":10},"end":{"line":154,"column":20}},{"start":{"line":154,"column":20},"end":{"line":154,"column":40}}],"line":154},"21":{"loc":{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},"type":"if","locations":[{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},{"start":{},"end":{}}],"line":160}},"s":{"0":45,"1":33,"2":7,"3":2,"4":5,"5":5,"6":1,"7":1,"8":3,"9":1,"10":3,"11":3,"12":3,"13":1,"14":1,"15":15,"16":15,"17":14,"18":2,"19":2,"20":12,"21":12,"22":1,"23":1,"24":11,"25":10,"26":11,"27":11,"28":11,"29":1,"30":11,"31":3,"32":3,"33":1,"34":1,"35":1,"36":1,"37":2,"38":1,"39":1,"40":2,"41":3,"42":3,"43":1,"44":3,"45":3,"46":3,"47":1,"48":1,"49":1,"50":1,"51":7,"52":2,"53":5,"54":5,"55":3,"56":1,"57":3,"58":3,"59":3,"60":1,"61":4,"62":1,"63":5,"64":5,"65":4,"66":2,"67":2,"68":2,"69":2,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"f":{"0":33,"1":7,"2":15,"3":11,"4":3,"5":7,"6":5},"b":{"0":[2,5],"1":[1,4],"2":[5,3],"3":[1,2],"4":[1,2],"5":[2,12],"6":[14,14],"7":[1,11],"8":[10,1],"9":[11,11],"10":[3,1,1,2,3,1],"11":[1,1],"12":[2,1],"13":[1,1],"14":[2,5],"15":[3,2],"16":[5,2],"17":[1,2],"18":[1,2],"19":[2,2],"20":[4,4],"21":[1,1]},"meta":{"lastBranch":22,"lastFunction":7,"lastStatement":76,"seen":{"s:9:45:9:Infinity":0,"f:11:2:11:16":0,"s:12:4:12:Infinity":1,"f:18:2:18:22":1,"b:19:4:19:Infinity:undefined:undefined:undefined:undefined":0,"s:19:4:19:Infinity":2,"s:19:26:19:Infinity":3,"s:21:4:42:Infinity":4,"b:23:6:26:Infinity:undefined:undefined:undefined:undefined":1,"s:23:6:26:Infinity":5,"b:23:10:23:41:23:41:23:70":2,"s:24:8:24:Infinity":6,"s:25:8:25:Infinity":7,"b:29:6:31:Infinity:undefined:undefined:undefined:undefined":3,"s:29:6:31:Infinity":8,"s:30:8:30:Infinity":9,"s:33:6:33:Infinity":10,"s:34:6:34:Infinity":11,"b:37:6:39:Infinity:undefined:undefined:undefined:undefined":4,"s:37:6:39:Infinity":12,"s:38:8:38:Infinity":13,"s:41:6:41:Infinity":14,"f:48:8:48:22":2,"s:49:4:74:Infinity":15,"s:50:20:50:Infinity":16,"b:51:6:54:Infinity:undefined:undefined:undefined:undefined":5,"s:51:6:54:Infinity":17,"b:51:10:51:20:51:20:51:43":6,"s:52:8:52:Infinity":18,"s:53:8:53:Infinity":19,"s:56:25:56:Infinity":20,"b:57:6:60:Infinity:undefined:undefined:undefined:undefined":7,"s:57:6:60:Infinity":21,"s:58:8:58:Infinity":22,"s:59:8:59:Infinity":23,"b:63:6:65:Infinity:undefined:undefined:undefined:undefined":8,"s:63:6:65:Infinity":24,"b:63:10:63:29:63:29:63:61":9,"s:64:8:64:Infinity":25,"s:68:6:68:Infinity":26,"s:70:6:70:Infinity":27,"s:71:6:71:Infinity":28,"s:73:6:73:Infinity":29,"f:80:10:80:30":3,"b:82:6:84:Infinity:85:6:87:Infinity:88:6:90:Infinity:91:6:97:Infinity:98:6:100:Infinity:101:6:102:Infinity":10,"s:81:4:103:Infinity":30,"s:83:8:83:Infinity":31,"s:84:8:84:Infinity":32,"s:86:8:86:Infinity":33,"s:87:8:87:Infinity":34,"s:89:8:89:Infinity":35,"s:90:8:90:Infinity":36,"b:92:8:96:Infinity:94:15:96:Infinity":11,"s:92:8:96:Infinity":37,"b:92:12:92:35:92:35:92:58":12,"s:93:10:93:Infinity":38,"s:95:10:95:Infinity":39,"s:97:8:97:Infinity":40,"s:99:8:99:Infinity":41,"s:100:8:100:Infinity":42,"s:102:8:102:Infinity":43,"f:109:10:109:24":4,"s:110:4:121:Infinity":44,"s:111:20:111:Infinity":45,"b:112:6:117:Infinity:114:13:117:Infinity":13,"s:112:6:117:Infinity":46,"s:113:8:113:Infinity":47,"s:116:8:116:Infinity":48,"s:119:6:119:Infinity":49,"s:120:6:120:Infinity":50,"f:127:2:127:26":5,"b:128:4:128:Infinity:undefined:undefined:undefined:undefined":14,"s:128:4:128:Infinity":51,"s:128:26:128:Infinity":52,"s:130:4:145:Infinity":53,"b:131:6:140:Infinity:undefined:undefined:undefined:undefined":15,"s:131:6:140:Infinity":54,"b:131:10:131:42:131:42:131:73":16,"b:132:8:134:Infinity:undefined:undefined:undefined:undefined":17,"s:132:8:134:Infinity":55,"s:133:10:133:Infinity":56,"s:135:8:135:Infinity":57,"s:136:8:136:Infinity":58,"b:137:8:139:Infinity:undefined:undefined:undefined:undefined":18,"s:137:8:139:Infinity":59,"s:138:10:138:Infinity":60,"s:142:6:142:Infinity":61,"s:144:6:144:Infinity":62,"f:151:8:151:43":6,"s:152:4:174:Infinity":63,"s:153:20:153:Infinity":64,"b:154:6:157:Infinity:undefined:undefined:undefined:undefined":19,"s:154:6:157:Infinity":65,"b:154:10:154:20:154:20:154:40":20,"s:155:8:155:Infinity":66,"s:156:8:156:Infinity":67,"s:159:24:159:Infinity":68,"b:160:6:163:Infinity:undefined:undefined:undefined:undefined":21,"s:160:6:163:Infinity":69,"s:161:8:161:Infinity":70,"s:162:8:162:Infinity":71,"s:166:44:166:Infinity":72,"s:169:6:169:Infinity":73,"s:171:6:171:Infinity":74,"s:173:6:173:Infinity":75}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts","statementMap":{"0":{"start":{"line":10,"column":21},"end":{"line":10,"column":null}},"1":{"start":{"line":11,"column":20},"end":{"line":11,"column":null}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"4":{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},"5":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"6":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"7":{"start":{"line":24,"column":4},"end":{"line":31,"column":null}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},"9":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":null}},"11":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":null}},"13":{"start":{"line":35,"column":4},"end":{"line":63,"column":null}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":null}},"15":{"start":{"line":39,"column":23},"end":{"line":39,"column":null}},"16":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},"17":{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},"18":{"start":{"line":43,"column":8},"end":{"line":43,"column":null}},"19":{"start":{"line":44,"column":8},"end":{"line":44,"column":null}},"20":{"start":{"line":47,"column":26},"end":{"line":47,"column":null}},"21":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"22":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"23":{"start":{"line":54,"column":6},"end":{"line":54,"column":null}},"24":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"25":{"start":{"line":60,"column":6},"end":{"line":60,"column":null}},"26":{"start":{"line":62,"column":6},"end":{"line":62,"column":null}},"27":{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},"28":{"start":{"line":68,"column":6},"end":{"line":70,"column":null}},"29":{"start":{"line":71,"column":6},"end":{"line":73,"column":null}},"30":{"start":{"line":72,"column":8},"end":{"line":72,"column":null}},"31":{"start":{"line":79,"column":29},"end":{"line":85,"column":null}},"32":{"start":{"line":87,"column":4},"end":{"line":96,"column":null}},"33":{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},"34":{"start":{"line":89,"column":8},"end":{"line":91,"column":null}},"35":{"start":{"line":92,"column":8},"end":{"line":94,"column":null}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"37":{"start":{"line":101,"column":32},"end":{"line":104,"column":null}},"38":{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},"39":{"start":{"line":107,"column":6},"end":{"line":109,"column":null}},"40":{"start":{"line":110,"column":6},"end":{"line":112,"column":null}},"41":{"start":{"line":111,"column":8},"end":{"line":111,"column":null}},"42":{"start":{"line":117,"column":25},"end":{"line":120,"column":null}},"43":{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},"44":{"start":{"line":123,"column":6},"end":{"line":125,"column":null}},"45":{"start":{"line":126,"column":6},"end":{"line":128,"column":null}},"46":{"start":{"line":127,"column":8},"end":{"line":127,"column":null}},"47":{"start":{"line":133,"column":4},"end":{"line":136,"column":null}},"48":{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},"49":{"start":{"line":138,"column":6},"end":{"line":138,"column":null}},"50":{"start":{"line":139,"column":6},"end":{"line":139,"column":null}},"51":{"start":{"line":140,"column":6},"end":{"line":140,"column":null}},"52":{"start":{"line":143,"column":4},"end":{"line":148,"column":null}},"53":{"start":{"line":144,"column":6},"end":{"line":144,"column":null}},"54":{"start":{"line":145,"column":6},"end":{"line":145,"column":null}},"55":{"start":{"line":147,"column":6},"end":{"line":147,"column":null}},"56":{"start":{"line":152,"column":4},"end":{"line":152,"column":null}},"57":{"start":{"line":157,"column":4},"end":{"line":157,"column":null}},"58":{"start":{"line":161,"column":4},"end":{"line":161,"column":null}},"59":{"start":{"line":165,"column":4},"end":{"line":165,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":16}},"loc":{"start":{"line":13,"column":52},"end":{"line":15,"column":null}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":8},"end":{"line":17,"column":36}},"loc":{"start":{"line":17,"column":36},"end":{"line":32,"column":null}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":8},"end":{"line":34,"column":41}},"loc":{"start":{"line":34,"column":41},"end":{"line":64,"column":null}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":10},"end":{"line":66,"column":36}},"loc":{"start":{"line":66,"column":56},"end":{"line":75,"column":null}},"line":66},"4":{"name":"(anonymous_4)","decl":{"start":{"line":71,"column":60},"end":{"line":71,"column":66}},"loc":{"start":{"line":71,"column":66},"end":{"line":73,"column":7}},"line":71},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":10},"end":{"line":77,"column":35}},"loc":{"start":{"line":77,"column":55},"end":{"line":97,"column":null}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":49},"end":{"line":92,"column":55}},"loc":{"start":{"line":92,"column":55},"end":{"line":94,"column":9}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":99,"column":10},"end":{"line":99,"column":38}},"loc":{"start":{"line":99,"column":58},"end":{"line":114,"column":null}},"line":99},"8":{"name":"(anonymous_8)","decl":{"start":{"line":110,"column":60},"end":{"line":110,"column":66}},"loc":{"start":{"line":110,"column":66},"end":{"line":112,"column":7}},"line":110},"9":{"name":"(anonymous_9)","decl":{"start":{"line":116,"column":10},"end":{"line":116,"column":31}},"loc":{"start":{"line":116,"column":51},"end":{"line":130,"column":null}},"line":116},"10":{"name":"(anonymous_10)","decl":{"start":{"line":126,"column":53},"end":{"line":126,"column":59}},"loc":{"start":{"line":126,"column":59},"end":{"line":128,"column":7}},"line":126},"11":{"name":"(anonymous_11)","decl":{"start":{"line":132,"column":8},"end":{"line":132,"column":43}},"loc":{"start":{"line":132,"column":43},"end":{"line":149,"column":null}},"line":132},"12":{"name":"(anonymous_12)","decl":{"start":{"line":151,"column":2},"end":{"line":151,"column":18}},"loc":{"start":{"line":151,"column":18},"end":{"line":153,"column":null}},"line":151},"13":{"name":"(anonymous_13)","decl":{"start":{"line":156,"column":2},"end":{"line":156,"column":32}},"loc":{"start":{"line":156,"column":32},"end":{"line":158,"column":null}},"line":156},"14":{"name":"(anonymous_14)","decl":{"start":{"line":160,"column":2},"end":{"line":160,"column":21}},"loc":{"start":{"line":160,"column":51},"end":{"line":162,"column":null}},"line":160},"15":{"name":"(anonymous_15)","decl":{"start":{"line":164,"column":6},"end":{"line":164,"column":31}},"loc":{"start":{"line":164,"column":31},"end":{"line":166,"column":null}},"line":164}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":67},"3":{"loc":{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},"type":"if","locations":[{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},{"start":{},"end":{}}],"line":88},"4":{"loc":{"start":{"line":101,"column":32},"end":{"line":104,"column":null}},"type":"binary-expr","locations":[{"start":{"line":101,"column":32},"end":{"line":101,"column":61}},{"start":{"line":101,"column":61},"end":{"line":104,"column":null}}],"line":101},"5":{"loc":{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},{"start":{},"end":{}}],"line":106},"6":{"loc":{"start":{"line":117,"column":25},"end":{"line":120,"column":null}},"type":"binary-expr","locations":[{"start":{"line":117,"column":25},"end":{"line":117,"column":48}},{"start":{"line":117,"column":48},"end":{"line":120,"column":null}}],"line":117},"7":{"loc":{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},"type":"if","locations":[{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},{"start":{},"end":{}}],"line":122},"8":{"loc":{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},"type":"if","locations":[{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},{"start":{},"end":{}}],"line":137}},"s":{"0":15,"1":15,"2":1,"3":15,"4":15,"5":1,"6":1,"7":14,"8":14,"9":14,"10":14,"11":14,"12":1,"13":16,"14":16,"15":16,"16":14,"17":14,"18":9,"19":9,"20":5,"21":5,"22":5,"23":5,"24":5,"25":5,"26":2,"27":5,"28":3,"29":3,"30":1,"31":5,"32":5,"33":25,"34":2,"35":2,"36":1,"37":5,"38":5,"39":3,"40":3,"41":1,"42":5,"43":5,"44":3,"45":3,"46":1,"47":4,"48":4,"49":1,"50":1,"51":1,"52":3,"53":3,"54":3,"55":1,"56":1,"57":1,"58":1,"59":4},"f":{"0":1,"1":15,"2":16,"3":5,"4":1,"5":5,"6":1,"7":5,"8":1,"9":5,"10":1,"11":4,"12":1,"13":1,"14":1,"15":4},"b":{"0":[1,14],"1":[9,5],"2":[3,2],"3":[2,23],"4":[5,1],"5":[3,2],"6":[5,1],"7":[3,2],"8":[1,3]},"meta":{"lastBranch":9,"lastFunction":16,"lastStatement":60,"seen":{"s:10:21:10:Infinity":0,"s:11:20:11:Infinity":1,"f:13:2:13:16":0,"s:14:4:14:Infinity":2,"f:17:8:17:36":1,"s:18:4:18:Infinity":3,"b:19:4:22:Infinity:undefined:undefined:undefined:undefined":0,"s:19:4:22:Infinity":4,"s:20:6:20:Infinity":5,"s:21:6:21:Infinity":6,"s:24:4:31:Infinity":7,"s:25:6:25:Infinity":8,"s:26:6:26:Infinity":9,"s:27:6:27:Infinity":10,"s:28:6:28:Infinity":11,"s:30:6:30:Infinity":12,"f:34:8:34:41":2,"s:35:4:63:Infinity":13,"s:37:6:37:Infinity":14,"s:39:23:39:Infinity":15,"s:40:6:40:Infinity":16,"b:42:6:45:Infinity:undefined:undefined:undefined:undefined":1,"s:42:6:45:Infinity":17,"s:43:8:43:Infinity":18,"s:44:8:44:Infinity":19,"s:47:26:47:Infinity":20,"s:48:6:48:Infinity":21,"s:51:6:51:Infinity":22,"s:54:6:54:Infinity":23,"s:57:6:57:Infinity":24,"s:60:6:60:Infinity":25,"s:62:6:62:Infinity":26,"f:66:10:66:36":3,"b:67:4:74:Infinity:undefined:undefined:undefined:undefined":2,"s:67:4:74:Infinity":27,"s:68:6:70:Infinity":28,"s:71:6:73:Infinity":29,"f:71:60:71:66":4,"s:72:8:72:Infinity":30,"f:77:10:77:35":5,"s:79:29:85:Infinity":31,"s:87:4:96:Infinity":32,"b:88:6:95:Infinity:undefined:undefined:undefined:undefined":3,"s:88:6:95:Infinity":33,"s:89:8:91:Infinity":34,"s:92:8:94:Infinity":35,"f:92:49:92:55":6,"s:93:10:93:Infinity":36,"f:99:10:99:38":7,"s:101:32:104:Infinity":37,"b:101:32:101:61:101:61:104:Infinity":4,"b:106:4:113:Infinity:undefined:undefined:undefined:undefined":5,"s:106:4:113:Infinity":38,"s:107:6:109:Infinity":39,"s:110:6:112:Infinity":40,"f:110:60:110:66":8,"s:111:8:111:Infinity":41,"f:116:10:116:31":9,"s:117:25:120:Infinity":42,"b:117:25:117:48:117:48:120:Infinity":6,"b:122:4:129:Infinity:undefined:undefined:undefined:undefined":7,"s:122:4:129:Infinity":43,"s:123:6:125:Infinity":44,"s:126:6:128:Infinity":45,"f:126:53:126:59":10,"s:127:8:127:Infinity":46,"f:132:8:132:43":11,"s:133:4:136:Infinity":47,"b:137:4:141:Infinity:undefined:undefined:undefined:undefined":8,"s:137:4:141:Infinity":48,"s:138:6:138:Infinity":49,"s:139:6:139:Infinity":50,"s:140:6:140:Infinity":51,"s:143:4:148:Infinity":52,"s:144:6:144:Infinity":53,"s:145:6:145:Infinity":54,"s:147:6:147:Infinity":55,"f:151:2:151:18":12,"s:152:4:152:Infinity":56,"f:156:2:156:32":13,"s:157:4:157:Infinity":57,"f:160:2:160:21":14,"s:161:4:161:Infinity":58,"f:164:6:164:31":15,"s:165:4:165:Infinity":59}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts","statementMap":{"0":{"start":{"line":8,"column":39},"end":{"line":11,"column":null}},"1":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"3":{"start":{"line":25,"column":4},"end":{"line":44,"column":null}},"4":{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},"5":{"start":{"line":28,"column":8},"end":{"line":28,"column":null}},"6":{"start":{"line":29,"column":8},"end":{"line":29,"column":null}},"7":{"start":{"line":32,"column":22},"end":{"line":32,"column":null}},"8":{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},"9":{"start":{"line":34,"column":8},"end":{"line":34,"column":null}},"10":{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},"11":{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},"12":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"13":{"start":{"line":39,"column":8},"end":{"line":39,"column":null}},"14":{"start":{"line":42,"column":6},"end":{"line":42,"column":null}},"15":{"start":{"line":43,"column":6},"end":{"line":43,"column":null}},"16":{"start":{"line":51,"column":4},"end":{"line":57,"column":null}},"17":{"start":{"line":52,"column":6},"end":{"line":56,"column":null}},"18":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"19":{"start":{"line":55,"column":8},"end":{"line":55,"column":null}},"20":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"21":{"start":{"line":65,"column":4},"end":{"line":65,"column":null}},"22":{"start":{"line":72,"column":4},"end":{"line":72,"column":null}},"23":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"24":{"start":{"line":80,"column":4},"end":{"line":80,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":6},"end":{"line":13,"column":31}},"loc":{"start":{"line":13,"column":31},"end":{"line":15,"column":null}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":17}},"loc":{"start":{"line":17,"column":39},"end":{"line":19,"column":null}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":17}},"loc":{"start":{"line":24,"column":69},"end":{"line":45,"column":null}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":31}},"loc":{"start":{"line":50,"column":31},"end":{"line":59,"column":null}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":38},"end":{"line":51,"column":39}},"loc":{"start":{"line":51,"column":55},"end":{"line":57,"column":5}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":64,"column":2},"end":{"line":64,"column":32}},"loc":{"start":{"line":64,"column":32},"end":{"line":66,"column":null}},"line":64},"6":{"name":"(anonymous_6)","decl":{"start":{"line":71,"column":2},"end":{"line":71,"column":21}},"loc":{"start":{"line":71,"column":51},"end":{"line":73,"column":null}},"line":71},"7":{"name":"(anonymous_7)","decl":{"start":{"line":78,"column":2},"end":{"line":78,"column":18}},"loc":{"start":{"line":78,"column":18},"end":{"line":81,"column":null}},"line":78}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},{"start":{},"end":{}}],"line":27},"1":{"loc":{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},{"start":{"line":37,"column":13},"end":{"line":40,"column":null}}],"line":33}},"s":{"0":25,"1":28,"2":14,"3":24,"4":24,"5":1,"6":1,"7":23,"8":23,"9":21,"10":21,"11":21,"12":1,"13":1,"14":1,"15":1,"16":20,"17":5,"18":5,"19":1,"20":20,"21":5,"22":3,"23":2,"24":2},"f":{"0":28,"1":14,"2":24,"3":20,"4":5,"5":5,"6":3,"7":2},"b":{"0":[1,23],"1":[21,1]},"meta":{"lastBranch":2,"lastFunction":8,"lastStatement":25,"seen":{"s:8:39:11:Infinity":0,"f:13:6:13:31":0,"s:14:4:14:Infinity":1,"f:17:2:17:17":1,"s:18:4:18:Infinity":2,"f:24:2:24:17":2,"s:25:4:44:Infinity":3,"b:27:6:30:Infinity:undefined:undefined:undefined:undefined":0,"s:27:6:30:Infinity":4,"s:28:8:28:Infinity":5,"s:29:8:29:Infinity":6,"s:32:22:32:Infinity":7,"b:33:6:40:Infinity:37:13:40:Infinity":1,"s:33:6:40:Infinity":8,"s:34:8:34:Infinity":9,"s:35:8:35:Infinity":10,"s:36:8:36:Infinity":11,"s:38:8:38:Infinity":12,"s:39:8:39:Infinity":13,"s:42:6:42:Infinity":14,"s:43:6:43:Infinity":15,"f:50:2:50:31":3,"s:51:4:57:Infinity":16,"f:51:38:51:39":4,"s:52:6:56:Infinity":17,"s:53:8:53:Infinity":18,"s:55:8:55:Infinity":19,"s:58:4:58:Infinity":20,"f:64:2:64:32":5,"s:65:4:65:Infinity":21,"f:71:2:71:21":6,"s:72:4:72:Infinity":22,"f:78:2:78:18":7,"s:79:4:79:Infinity":23,"s:80:4:80:Infinity":24}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts","statementMap":{"0":{"start":{"line":4,"column":55},"end":{"line":38,"column":null}},"1":{"start":{"line":40,"column":46},"end":{"line":52,"column":null}},"2":{"start":{"line":54,"column":37},"end":{"line":61,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":3,"seen":{"s:4:55:38:Infinity":0,"s:40:46:52:Infinity":1,"s:54:37:61:Infinity":2}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts","statementMap":{"0":{"start":{"line":8,"column":19},"end":{"line":8,"column":null}},"1":{"start":{"line":10,"column":2},"end":{"line":39,"column":null}},"2":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}},"3":{"start":{"line":15,"column":26},"end":{"line":15,"column":null}},"4":{"start":{"line":18,"column":4},"end":{"line":22,"column":null}},"5":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":null}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":null}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":null}},"9":{"start":{"line":31,"column":4},"end":{"line":35,"column":null}},"10":{"start":{"line":32,"column":6},"end":{"line":32,"column":null}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":null}},"12":{"start":{"line":38,"column":4},"end":{"line":38,"column":null}},"13":{"start":{"line":46,"column":2},"end":{"line":67,"column":null}},"14":{"start":{"line":48,"column":4},"end":{"line":48,"column":null}},"15":{"start":{"line":51,"column":26},"end":{"line":51,"column":null}},"16":{"start":{"line":54,"column":28},"end":{"line":54,"column":null}},"17":{"start":{"line":55,"column":21},"end":{"line":55,"column":null}},"18":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"19":{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},"20":{"start":{"line":62,"column":6},"end":{"line":62,"column":null}},"21":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"22":{"start":{"line":65,"column":6},"end":{"line":65,"column":null}},"23":{"start":{"line":74,"column":2},"end":{"line":74,"column":null}},"24":{"start":{"line":81,"column":2},"end":{"line":81,"column":null}}},"fnMap":{"0":{"name":"saveToFile","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":33}},"loc":{"start":{"line":7,"column":86},"end":{"line":40,"column":null}},"line":7},"1":{"name":"loadFromFile","decl":{"start":{"line":45,"column":22},"end":{"line":45,"column":35}},"loc":{"start":{"line":45,"column":76},"end":{"line":68,"column":null}},"line":45},"2":{"name":"ensureDataDirectory","decl":{"start":{"line":73,"column":22},"end":{"line":73,"column":42}},"loc":{"start":{"line":73,"column":75},"end":{"line":75,"column":null}},"line":73},"3":{"name":"isEncryptionAvailable","decl":{"start":{"line":80,"column":16},"end":{"line":80,"column":49}},"loc":{"start":{"line":80,"column":49},"end":{"line":82,"column":null}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},{"start":{"line":63,"column":11},"end":{"line":66,"column":null}}],"line":60}},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":2,"8":2,"9":1,"10":1,"11":1,"12":1,"13":3,"14":3,"15":2,"16":1,"17":1,"18":1,"19":2,"20":1,"21":1,"22":1,"23":1,"24":2},"f":{"0":3,"1":3,"2":1,"3":2},"b":{"0":[1,1]},"meta":{"lastBranch":1,"lastFunction":4,"lastStatement":25,"seen":{"f:7:22:7:33":0,"s:8:19:8:Infinity":0,"s:10:2:39:Infinity":1,"s:12:21:12:Infinity":2,"s:15:26:15:Infinity":3,"s:18:4:22:Infinity":4,"s:19:6:19:Infinity":5,"s:25:4:25:Infinity":6,"s:26:4:26:Infinity":7,"s:28:4:28:Infinity":8,"s:31:4:35:Infinity":9,"s:32:6:32:Infinity":10,"s:37:4:37:Infinity":11,"s:38:4:38:Infinity":12,"f:45:22:45:35":1,"s:46:2:67:Infinity":13,"s:48:4:48:Infinity":14,"s:51:26:51:Infinity":15,"s:54:28:54:Infinity":16,"s:55:21:55:Infinity":17,"s:58:4:58:Infinity":18,"b:60:4:66:Infinity:63:11:66:Infinity":0,"s:60:4:66:Infinity":19,"s:62:6:62:Infinity":20,"s:64:6:64:Infinity":21,"s:65:6:65:Infinity":22,"f:73:22:73:42":2,"s:74:2:74:Infinity":23,"f:80:16:80:49":3,"s:81:2:81:Infinity":24}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts","statementMap":{"0":{"start":{"line":9,"column":32},"end":{"line":9,"column":null}},"1":{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},"2":{"start":{"line":13,"column":4},"end":{"line":16,"column":null}},"3":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"4":{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},"5":{"start":{"line":21,"column":4},"end":{"line":24,"column":null}},"6":{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},"7":{"start":{"line":29,"column":4},"end":{"line":38,"column":null}},"8":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"9":{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},"10":{"start":{"line":43,"column":4},"end":{"line":53,"column":null}},"11":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"12":{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},"13":{"start":{"line":58,"column":4},"end":{"line":68,"column":null}},"14":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"15":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"16":{"start":{"line":73,"column":4},"end":{"line":73,"column":null}},"17":{"start":{"line":76,"column":2},"end":{"line":76,"column":null}}},"fnMap":{"0":{"name":"migrateData","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":48},"end":{"line":77,"column":null}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":6},"end":{"line":14,"column":7}},"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":6},"end":{"line":30,"column":7}},"loc":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":6},"end":{"line":44,"column":7}},"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":6},"end":{"line":59,"column":7}},"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":47}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":20}},{"start":{"line":12,"column":20},"end":{"line":12,"column":47}}],"line":12},"2":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":22}},{"start":{"line":15,"column":22},"end":{"line":15,"column":60}},{"start":{"line":15,"column":60},"end":{"line":15,"column":null}}],"line":15},"3":{"loc":{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},{"start":{},"end":{}}],"line":20},"4":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":58}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":23}},{"start":{"line":20,"column":23},"end":{"line":20,"column":58}}],"line":20},"5":{"loc":{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":28},"6":{"loc":{"start":{"line":28,"column":6},"end":{"line":28,"column":55}},"type":"binary-expr","locations":[{"start":{"line":28,"column":6},"end":{"line":28,"column":24}},{"start":{"line":28,"column":24},"end":{"line":28,"column":55}}],"line":28},"7":{"loc":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},{"start":{"line":32,"column":8},"end":{"line":32,"column":null}},{"start":{"line":33,"column":8},"end":{"line":33,"column":null}},{"start":{"line":34,"column":8},"end":{"line":34,"column":null}},{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},{"start":{"line":37,"column":8},"end":{"line":37,"column":null}}],"line":31},"8":{"loc":{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":42,"column":6},"end":{"line":42,"column":59}},"type":"binary-expr","locations":[{"start":{"line":42,"column":6},"end":{"line":42,"column":26}},{"start":{"line":42,"column":26},"end":{"line":42,"column":59}}],"line":42},"10":{"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":null}},{"start":{"line":46,"column":8},"end":{"line":46,"column":null}},{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},{"start":{"line":48,"column":8},"end":{"line":48,"column":null}},{"start":{"line":49,"column":8},"end":{"line":49,"column":null}},{"start":{"line":50,"column":8},"end":{"line":50,"column":null}},{"start":{"line":51,"column":8},"end":{"line":51,"column":null}},{"start":{"line":52,"column":8},"end":{"line":52,"column":null}}],"line":45},"11":{"loc":{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":57},"12":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":57}},"type":"binary-expr","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":25}},{"start":{"line":57,"column":25},"end":{"line":57,"column":57}}],"line":57},"13":{"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":null}},{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},{"start":{"line":62,"column":8},"end":{"line":62,"column":null}},{"start":{"line":63,"column":8},"end":{"line":63,"column":null}},{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},{"start":{"line":65,"column":8},"end":{"line":65,"column":null}},{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},{"start":{"line":67,"column":8},"end":{"line":67,"column":null}}],"line":60},"14":{"loc":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":72},"15":{"loc":{"start":{"line":72,"column":6},"end":{"line":72,"column":56}},"type":"binary-expr","locations":[{"start":{"line":72,"column":6},"end":{"line":72,"column":22}},{"start":{"line":72,"column":22},"end":{"line":72,"column":56}}],"line":72}},"s":{"0":11,"1":11,"2":2,"3":5,"4":11,"5":1,"6":11,"7":2,"8":3,"9":11,"10":1,"11":1,"12":11,"13":1,"14":1,"15":11,"16":1,"17":11},"f":{"0":11,"1":5,"2":3,"3":1,"4":1},"b":{"0":[2,9],"1":[11,3],"2":[5,3,2],"3":[1,10],"4":[11,1],"5":[2,9],"6":[11,2],"7":[3,3,2,2,2,2,2],"8":[1,10],"9":[11,1],"10":[1,1,1,1,1,1,1,1],"11":[1,10],"12":[11,1],"13":[1,1,1,1,1,1,1,1],"14":[1,10],"15":[11,1]},"meta":{"lastBranch":16,"lastFunction":5,"lastStatement":18,"seen":{"f:7:16:7:28":0,"s:9:32:9:Infinity":0,"b:12:2:17:Infinity:undefined:undefined:undefined:undefined":0,"s:12:2:17:Infinity":1,"b:12:6:12:20:12:20:12:47":1,"s:13:4:16:Infinity":2,"f:14:6:14:7":1,"s:15:8:15:Infinity":3,"b:15:8:15:22:15:22:15:60:15:60:15:Infinity":2,"b:20:2:25:Infinity:undefined:undefined:undefined:undefined":3,"s:20:2:25:Infinity":4,"b:20:6:20:23:20:23:20:58":4,"s:21:4:24:Infinity":5,"b:28:2:39:Infinity:undefined:undefined:undefined:undefined":5,"s:28:2:39:Infinity":6,"b:28:6:28:24:28:24:28:55":6,"s:29:4:38:Infinity":7,"f:30:6:30:7":2,"s:31:8:37:Infinity":8,"b:31:8:31:Infinity:32:8:32:Infinity:33:8:33:Infinity:34:8:34:Infinity:35:8:35:Infinity:36:8:36:Infinity:37:8:37:Infinity":7,"b:42:2:54:Infinity:undefined:undefined:undefined:undefined":8,"s:42:2:54:Infinity":9,"b:42:6:42:26:42:26:42:59":9,"s:43:4:53:Infinity":10,"f:44:6:44:7":3,"s:45:8:52:Infinity":11,"b:45:8:45:Infinity:46:8:46:Infinity:47:8:47:Infinity:48:8:48:Infinity:49:8:49:Infinity:50:8:50:Infinity:51:8:51:Infinity:52:8:52:Infinity":10,"b:57:2:69:Infinity:undefined:undefined:undefined:undefined":11,"s:57:2:69:Infinity":12,"b:57:6:57:25:57:25:57:57":12,"s:58:4:68:Infinity":13,"f:59:6:59:7":4,"s:60:8:67:Infinity":14,"b:60:8:60:Infinity:61:8:61:Infinity:62:8:62:Infinity:63:8:63:Infinity:64:8:64:Infinity:65:8:65:Infinity:66:8:66:Infinity:67:8:67:Infinity":13,"b:72:2:74:Infinity:undefined:undefined:undefined:undefined":14,"s:72:2:74:Infinity":15,"b:72:6:72:22:72:22:72:56":15,"s:73:4:73:Infinity":16,"s:76:2:76:Infinity":17}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"1":{"start":{"line":14,"column":2},"end":{"line":22,"column":null}},"2":{"start":{"line":32,"column":2},"end":{"line":36,"column":null}},"3":{"start":{"line":43,"column":2},"end":{"line":43,"column":null}},"4":{"start":{"line":43,"column":41},"end":{"line":43,"column":58}},"5":{"start":{"line":50,"column":2},"end":{"line":53,"column":null}},"6":{"start":{"line":50,"column":49},"end":{"line":53,"column":4}}},"fnMap":{"0":{"name":"generateId","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":37}},"loc":{"start":{"line":6,"column":37},"end":{"line":8,"column":null}},"line":6},"1":{"name":"createSearchTermObject","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":97},"end":{"line":23,"column":null}},"line":13},"2":{"name":"updateSearchTermObject","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":null}},"loc":{"start":{"line":31,"column":14},"end":{"line":37,"column":null}},"line":31},"3":{"name":"sortSearchTermsByOrder","decl":{"start":{"line":42,"column":16},"end":{"line":42,"column":39}},"loc":{"start":{"line":42,"column":80},"end":{"line":44,"column":null}},"line":42},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":31},"end":{"line":43,"column":32}},"loc":{"start":{"line":43,"column":41},"end":{"line":43,"column":58}},"line":43},"5":{"name":"reorderSearchTermsArray","decl":{"start":{"line":49,"column":16},"end":{"line":49,"column":40}},"loc":{"start":{"line":49,"column":81},"end":{"line":54,"column":null}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":25},"end":{"line":50,"column":26}},"loc":{"start":{"line":50,"column":49},"end":{"line":53,"column":4}},"line":50}},"branchMap":{},"s":{"0":2,"1":1,"2":1,"3":2,"4":5,"5":2,"6":2},"f":{"0":2,"1":1,"2":1,"3":2,"4":5,"5":2,"6":2},"b":{},"meta":{"lastBranch":0,"lastFunction":7,"lastStatement":7,"seen":{"f:6:16:6:37":0,"s:7:2:7:Infinity":0,"f:13:16:13:39":1,"s:14:2:22:Infinity":1,"f:28:16:28:Infinity":2,"s:32:2:36:Infinity":2,"f:42:16:42:39":3,"s:43:2:43:Infinity":3,"f:43:31:43:32":4,"s:43:41:43:58":4,"f:49:16:49:40":5,"s:50:2:53:Infinity":5,"f:50:25:50:26":6,"s:50:49:53:4":6}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"1":{"start":{"line":14,"column":2},"end":{"line":21,"column":null}},"2":{"start":{"line":28,"column":2},"end":{"line":32,"column":null}},"3":{"start":{"line":39,"column":2},"end":{"line":39,"column":null}},"4":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"5":{"start":{"line":46,"column":2},"end":{"line":49,"column":null}},"6":{"start":{"line":46,"column":45},"end":{"line":49,"column":4}},"7":{"start":{"line":59,"column":31},"end":{"line":59,"column":null}},"8":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"9":{"start":{"line":61,"column":21},"end":{"line":61,"column":null}},"10":{"start":{"line":64,"column":2},"end":{"line":71,"column":null}},"11":{"start":{"line":65,"column":18},"end":{"line":65,"column":null}},"12":{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},"13":{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},"14":{"start":{"line":67,"column":39},"end":{"line":67,"column":null}},"15":{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},"16":{"start":{"line":69,"column":34},"end":{"line":69,"column":null}},"17":{"start":{"line":73,"column":2},"end":{"line":73,"column":null}},"18":{"start":{"line":84,"column":15},"end":{"line":84,"column":null}},"19":{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},"20":{"start":{"line":88,"column":4},"end":{"line":91,"column":null}},"21":{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},"22":{"start":{"line":89,"column":36},"end":{"line":89,"column":null}},"23":{"start":{"line":90,"column":6},"end":{"line":90,"column":null}},"24":{"start":{"line":95,"column":2},"end":{"line":98,"column":null}},"25":{"start":{"line":96,"column":18},"end":{"line":96,"column":null}},"26":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}},"27":{"start":{"line":100,"column":2},"end":{"line":100,"column":null}}},"fnMap":{"0":{"name":"generateTemplateId","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":45}},"loc":{"start":{"line":6,"column":45},"end":{"line":8,"column":null}},"line":6},"1":{"name":"createTemplateObject","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":37}},"loc":{"start":{"line":13,"column":93},"end":{"line":22,"column":null}},"line":13},"2":{"name":"updateTemplateObject","decl":{"start":{"line":27,"column":16},"end":{"line":27,"column":37}},"loc":{"start":{"line":27,"column":95},"end":{"line":33,"column":null}},"line":27},"3":{"name":"sortTemplatesByOrder","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":37}},"loc":{"start":{"line":38,"column":72},"end":{"line":40,"column":null}},"line":38},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":29},"end":{"line":39,"column":30}},"loc":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"line":39},"5":{"name":"reorderTemplatesArray","decl":{"start":{"line":45,"column":16},"end":{"line":45,"column":38}},"loc":{"start":{"line":45,"column":73},"end":{"line":50,"column":null}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":23},"end":{"line":46,"column":24}},"loc":{"start":{"line":46,"column":45},"end":{"line":49,"column":4}},"line":46},"7":{"name":"extractTemplateTokens","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":38}},"loc":{"start":{"line":58,"column":2},"end":{"line":74,"column":null}},"line":58},"8":{"name":"generateTextFromTemplate","decl":{"start":{"line":79,"column":16},"end":{"line":79,"column":null}},"loc":{"start":{"line":83,"column":10},"end":{"line":101,"column":null}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":42},"end":{"line":88,"column":43}},"loc":{"start":{"line":88,"column":64},"end":{"line":91,"column":5}},"line":88},"10":{"name":"(anonymous_10)","decl":{"start":{"line":95,"column":41},"end":{"line":95,"column":42}},"loc":{"start":{"line":95,"column":63},"end":{"line":98,"column":3}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},{"start":{"line":68,"column":11},"end":{"line":70,"column":null}}],"line":66},"1":{"loc":{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},{"start":{},"end":{}}],"line":67},"2":{"loc":{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":69},"3":{"loc":{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},{"start":{},"end":{}}],"line":87},"4":{"loc":{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},{"start":{},"end":{}}],"line":89},"5":{"loc":{"start":{"line":90,"column":13},"end":{"line":90,"column":null}},"type":"cond-expr","locations":[{"start":{"line":90,"column":37},"end":{"line":90,"column":59}},{"start":{"line":90,"column":59},"end":{"line":90,"column":null}}],"line":90},"6":{"loc":{"start":{"line":97,"column":11},"end":{"line":97,"column":null}},"type":"cond-expr","locations":[{"start":{"line":97,"column":55},"end":{"line":97,"column":77}},{"start":{"line":97,"column":77},"end":{"line":97,"column":null}}],"line":97},"7":{"loc":{"start":{"line":97,"column":11},"end":{"line":97,"column":55}},"type":"binary-expr","locations":[{"start":{"line":97,"column":11},"end":{"line":97,"column":25}},{"start":{"line":97,"column":25},"end":{"line":97,"column":55}}],"line":97}},"s":{"0":2,"1":1,"2":1,"3":2,"4":5,"5":2,"6":2,"7":6,"8":6,"9":6,"10":6,"11":10,"12":10,"13":5,"14":4,"15":5,"16":4,"17":6,"18":9,"19":9,"20":4,"21":6,"22":2,"23":4,"24":9,"25":8,"26":8,"27":9},"f":{"0":2,"1":1,"2":1,"3":2,"4":5,"5":2,"6":2,"7":6,"8":9,"9":6,"10":8},"b":{"0":[5,5],"1":[4,1],"2":[4,1],"3":[4,5],"4":[2,4],"5":[3,1],"6":[7,1],"7":[8,8]},"meta":{"lastBranch":8,"lastFunction":11,"lastStatement":28,"seen":{"f:6:16:6:45":0,"s:7:2:7:Infinity":0,"f:13:16:13:37":1,"s:14:2:21:Infinity":1,"f:27:16:27:37":2,"s:28:2:32:Infinity":2,"f:38:16:38:37":3,"s:39:2:39:Infinity":3,"f:39:29:39:30":4,"s:39:39:39:56":4,"f:45:16:45:38":5,"s:46:2:49:Infinity":5,"f:46:23:46:24":6,"s:46:45:49:4":6,"f:55:16:55:38":7,"s:59:31:59:Infinity":7,"s:60:26:60:Infinity":8,"s:61:21:61:Infinity":9,"s:64:2:71:Infinity":10,"s:65:18:65:Infinity":11,"b:66:4:70:Infinity:68:11:70:Infinity":0,"s:66:4:70:Infinity":12,"b:67:6:67:Infinity:undefined:undefined:undefined:undefined":1,"s:67:6:67:Infinity":13,"s:67:39:67:Infinity":14,"b:69:6:69:Infinity:undefined:undefined:undefined:undefined":2,"s:69:6:69:Infinity":15,"s:69:34:69:Infinity":16,"s:73:2:73:Infinity":17,"f:79:16:79:Infinity":8,"s:84:15:84:Infinity":18,"b:87:2:92:Infinity:undefined:undefined:undefined:undefined":3,"s:87:2:92:Infinity":19,"s:88:4:91:Infinity":20,"f:88:42:88:43":9,"b:89:6:89:Infinity:undefined:undefined:undefined:undefined":4,"s:89:6:89:Infinity":21,"s:89:36:89:Infinity":22,"s:90:6:90:Infinity":23,"b:90:37:90:59:90:59:90:Infinity":5,"s:95:2:98:Infinity":24,"f:95:41:95:42":10,"s:96:18:96:Infinity":25,"s:97:4:97:Infinity":26,"b:97:55:97:77:97:77:97:Infinity":6,"b:97:11:97:25:97:25:97:55":7,"s:100:2:100:Infinity":27}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx","statementMap":{"0":{"start":{"line":10,"column":28},"end":{"line":21,"column":null}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"2":{"start":{"line":13,"column":2},"end":{"line":19,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":28},"end":{"line":10,"column":29}},"loc":{"start":{"line":10,"column":61},"end":{"line":21,"column":null}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":9},"end":{"line":17,"column":34}},"type":"binary-expr","locations":[{"start":{"line":17,"column":9},"end":{"line":17,"column":23}},{"start":{"line":17,"column":23},"end":{"line":17,"column":34}}],"line":17}},"s":{"0":1,"1":2,"2":2},"f":{"0":2},"b":{"0":[2,1]},"meta":{"lastBranch":1,"lastFunction":1,"lastStatement":3,"seen":{"s:10:28:21:Infinity":0,"f:10:28:10:29":0,"s:11:18:11:Infinity":1,"s:13:2:19:Infinity":2,"b:17:9:17:23:17:23:17:34":0}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":18,"column":null}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"2":{"start":{"line":12,"column":2},"end":{"line":16,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":53},"end":{"line":18,"column":null}},"line":10}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"meta":{"lastBranch":0,"lastFunction":1,"lastStatement":3,"seen":{"s:10:24:18:Infinity":0,"f:10:24:10:25":0,"s:11:18:11:Infinity":1,"s:12:2:16:Infinity":2}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx","statementMap":{"0":{"start":{"line":11,"column":25},"end":{"line":99,"column":null}},"1":{"start":{"line":12,"column":18},"end":{"line":12,"column":null}},"2":{"start":{"line":13,"column":8},"end":{"line":13,"column":null}},"3":{"start":{"line":15,"column":32},"end":{"line":55,"column":null}},"4":{"start":{"line":16,"column":20},"end":{"line":16,"column":null}},"5":{"start":{"line":18,"column":4},"end":{"line":54,"column":null}},"6":{"start":{"line":19,"column":19},"end":{"line":19,"column":null}},"7":{"start":{"line":20,"column":29},"end":{"line":20,"column":null}},"8":{"start":{"line":21,"column":28},"end":{"line":21,"column":null}},"9":{"start":{"line":22,"column":28},"end":{"line":22,"column":null}},"10":{"start":{"line":23,"column":27},"end":{"line":23,"column":null}},"11":{"start":{"line":26,"column":17},"end":{"line":26,"column":null}},"12":{"start":{"line":27,"column":16},"end":{"line":27,"column":null}},"13":{"start":{"line":30,"column":6},"end":{"line":33,"column":null}},"14":{"start":{"line":32,"column":8},"end":{"line":32,"column":null}},"15":{"start":{"line":36,"column":6},"end":{"line":38,"column":null}},"16":{"start":{"line":37,"column":8},"end":{"line":37,"column":null}},"17":{"start":{"line":41,"column":6},"end":{"line":44,"column":null}},"18":{"start":{"line":43,"column":8},"end":{"line":43,"column":null}},"19":{"start":{"line":47,"column":6},"end":{"line":49,"column":null}},"20":{"start":{"line":48,"column":8},"end":{"line":48,"column":null}},"21":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"22":{"start":{"line":52,"column":6},"end":{"line":52,"column":null}},"23":{"start":{"line":53,"column":6},"end":{"line":53,"column":null}},"24":{"start":{"line":57,"column":2},"end":{"line":97,"column":null}},"25":{"start":{"line":66,"column":25},"end":{"line":66,"column":null}},"26":{"start":{"line":67,"column":10},"end":{"line":67,"column":null}},"27":{"start":{"line":68,"column":27},"end":{"line":68,"column":null}},"28":{"start":{"line":69,"column":10},"end":{"line":69,"column":null}},"29":{"start":{"line":70,"column":10},"end":{"line":70,"column":null}},"30":{"start":{"line":71,"column":10},"end":{"line":71,"column":null}},"31":{"start":{"line":72,"column":10},"end":{"line":72,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":55},"end":{"line":99,"column":null}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":32},"end":{"line":15,"column":33}},"loc":{"start":{"line":15,"column":75},"end":{"line":55,"column":null}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":64,"column":17},"end":{"line":64,"column":18}},"loc":{"start":{"line":64,"column":24},"end":{"line":73,"column":null}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":54,"column":null}}],"line":18},"1":{"loc":{"start":{"line":30,"column":6},"end":{"line":33,"column":null}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":33,"column":null}},{"start":{},"end":{}}],"line":30},"2":{"loc":{"start":{"line":36,"column":6},"end":{"line":38,"column":null}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":38,"column":null}},{"start":{},"end":{}}],"line":36},"3":{"loc":{"start":{"line":41,"column":6},"end":{"line":44,"column":null}},"type":"if","locations":[{"start":{"line":41,"column":6},"end":{"line":44,"column":null}},{"start":{},"end":{}}],"line":41},"4":{"loc":{"start":{"line":47,"column":6},"end":{"line":49,"column":null}},"type":"if","locations":[{"start":{"line":47,"column":6},"end":{"line":49,"column":null}},{"start":{},"end":{}}],"line":47},"5":{"loc":{"start":{"line":70,"column":33},"end":{"line":70,"column":null}},"type":"cond-expr","locations":[{"start":{"line":70,"column":43},"end":{"line":70,"column":55}},{"start":{"line":70,"column":55},"end":{"line":70,"column":null}}],"line":70},"6":{"loc":{"start":{"line":88,"column":11},"end":{"line":90,"column":31}},"type":"cond-expr","locations":[{"start":{"line":89,"column":14},"end":{"line":89,"column":null}},{"start":{"line":90,"column":14},"end":{"line":90,"column":31}}],"line":88}},"s":{"0":1,"1":11,"2":11,"3":11,"4":5,"5":5,"6":5,"7":5,"8":5,"9":5,"10":5,"11":5,"12":5,"13":5,"14":2,"15":5,"16":1,"17":5,"18":1,"19":5,"20":4,"21":5,"22":5,"23":5,"24":11,"25":2,"26":2,"27":2,"28":2,"29":2,"30":2,"31":2},"f":{"0":11,"1":5,"2":2},"b":{"0":[5],"1":[2,3],"2":[1,4],"3":[1,4],"4":[4,1],"5":[1,1],"6":[10,1]},"meta":{"lastBranch":7,"lastFunction":3,"lastStatement":32,"seen":{"s:11:25:99:Infinity":0,"f:11:25:11:26":0,"s:12:18:12:Infinity":1,"s:13:8:13:Infinity":2,"s:15:32:55:Infinity":3,"f:15:32:15:33":1,"s:16:20:16:Infinity":4,"b:18:4:54:Infinity":0,"s:18:4:54:Infinity":5,"s:19:19:19:Infinity":6,"s:20:29:20:Infinity":7,"s:21:28:21:Infinity":8,"s:22:28:22:Infinity":9,"s:23:27:23:Infinity":10,"s:26:17:26:Infinity":11,"s:27:16:27:Infinity":12,"b:30:6:33:Infinity:undefined:undefined:undefined:undefined":1,"s:30:6:33:Infinity":13,"s:32:8:32:Infinity":14,"b:36:6:38:Infinity:undefined:undefined:undefined:undefined":2,"s:36:6:38:Infinity":15,"s:37:8:37:Infinity":16,"b:41:6:44:Infinity:undefined:undefined:undefined:undefined":3,"s:41:6:44:Infinity":17,"s:43:8:43:Infinity":18,"b:47:6:49:Infinity:undefined:undefined:undefined:undefined":4,"s:47:6:49:Infinity":19,"s:48:8:48:Infinity":20,"s:51:6:51:Infinity":21,"s:52:6:52:Infinity":22,"s:53:6:53:Infinity":23,"s:57:2:97:Infinity":24,"f:64:17:64:18":2,"s:66:25:66:Infinity":25,"s:67:10:67:Infinity":26,"s:68:27:68:Infinity":27,"s:69:10:69:Infinity":28,"s:70:10:70:Infinity":29,"b:70:43:70:55:70:55:70:Infinity":5,"s:71:10:71:Infinity":30,"s:72:10:72:Infinity":31,"b:89:14:89:Infinity:90:14:90:31":6}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx","statementMap":{"0":{"start":{"line":17,"column":24},"end":{"line":223,"column":null}},"1":{"start":{"line":18,"column":18},"end":{"line":18,"column":null}},"2":{"start":{"line":19,"column":33},"end":{"line":19,"column":null}},"3":{"start":{"line":22,"column":32},"end":{"line":22,"column":null}},"4":{"start":{"line":23,"column":32},"end":{"line":23,"column":null}},"5":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"6":{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},"7":{"start":{"line":28,"column":2},"end":{"line":41,"column":null}},"8":{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},"9":{"start":{"line":30,"column":23},"end":{"line":30,"column":null}},"10":{"start":{"line":31,"column":6},"end":{"line":31,"column":null}},"11":{"start":{"line":32,"column":24},"end":{"line":32,"column":null}},"12":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"13":{"start":{"line":36,"column":24},"end":{"line":36,"column":null}},"14":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"15":{"start":{"line":38,"column":9},"end":{"line":38,"column":null}},"16":{"start":{"line":44,"column":8},"end":{"line":58,"column":null}},"17":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"18":{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},"19":{"start":{"line":50,"column":6},"end":{"line":55,"column":null}},"20":{"start":{"line":52,"column":8},"end":{"line":54,"column":null}},"21":{"start":{"line":53,"column":10},"end":{"line":53,"column":null}},"22":{"start":{"line":61,"column":2},"end":{"line":67,"column":null}},"23":{"start":{"line":62,"column":4},"end":{"line":66,"column":null}},"24":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"25":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"26":{"start":{"line":69,"column":26},"end":{"line":75,"column":null}},"27":{"start":{"line":70,"column":4},"end":{"line":74,"column":null}},"28":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"29":{"start":{"line":72,"column":6},"end":{"line":72,"column":null}},"30":{"start":{"line":73,"column":6},"end":{"line":73,"column":null}},"31":{"start":{"line":77,"column":27},"end":{"line":81,"column":null}},"32":{"start":{"line":78,"column":21},"end":{"line":78,"column":null}},"33":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"34":{"start":{"line":80,"column":4},"end":{"line":80,"column":null}},"35":{"start":{"line":83,"column":25},"end":{"line":93,"column":null}},"36":{"start":{"line":84,"column":4},"end":{"line":84,"column":null}},"37":{"start":{"line":85,"column":4},"end":{"line":85,"column":null}},"38":{"start":{"line":87,"column":4},"end":{"line":92,"column":null}},"39":{"start":{"line":88,"column":6},"end":{"line":88,"column":null}},"40":{"start":{"line":89,"column":6},"end":{"line":91,"column":null}},"41":{"start":{"line":90,"column":8},"end":{"line":90,"column":null}},"42":{"start":{"line":95,"column":28},"end":{"line":107,"column":null}},"43":{"start":{"line":96,"column":4},"end":{"line":106,"column":null}},"44":{"start":{"line":97,"column":6},"end":{"line":97,"column":null}},"45":{"start":{"line":98,"column":6},"end":{"line":98,"column":null}},"46":{"start":{"line":99,"column":4},"end":{"line":106,"column":null}},"47":{"start":{"line":100,"column":6},"end":{"line":100,"column":null}},"48":{"start":{"line":101,"column":6},"end":{"line":101,"column":null}},"49":{"start":{"line":102,"column":6},"end":{"line":102,"column":null}},"50":{"start":{"line":103,"column":6},"end":{"line":105,"column":null}},"51":{"start":{"line":104,"column":8},"end":{"line":104,"column":null}},"52":{"start":{"line":109,"column":2},"end":{"line":222,"column":null}},"53":{"start":{"line":111,"column":28},"end":{"line":111,"column":null}},"54":{"start":{"line":113,"column":4},"end":{"line":200,"column":null}},"55":{"start":{"line":114,"column":12},"end":{"line":114,"column":null}},"56":{"start":{"line":115,"column":26},"end":{"line":115,"column":null}},"57":{"start":{"line":116,"column":26},"end":{"line":116,"column":null}},"58":{"start":{"line":117,"column":30},"end":{"line":117,"column":null}},"59":{"start":{"line":119,"column":6},"end":{"line":177,"column":null}},"60":{"start":{"line":149,"column":16},"end":{"line":151,"column":null}},"61":{"start":{"line":181,"column":6},"end":{"line":198,"column":null}},"62":{"start":{"line":205,"column":6},"end":{"line":207,"column":null}},"63":{"start":{"line":209,"column":4},"end":{"line":220,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":25}},"loc":{"start":{"line":17,"column":80},"end":{"line":223,"column":null}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":12},"end":{"line":28,"column":18}},"loc":{"start":{"line":28,"column":18},"end":{"line":41,"column":5}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":28},"end":{"line":56,"column":null}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":39},"end":{"line":50,"column":45}},"loc":{"start":{"line":50,"column":45},"end":{"line":55,"column":9}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":61,"column":12},"end":{"line":61,"column":18}},"loc":{"start":{"line":61,"column":18},"end":{"line":67,"column":5}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":11},"end":{"line":62,"column":17}},"loc":{"start":{"line":62,"column":17},"end":{"line":66,"column":null}},"line":62},"6":{"name":"(anonymous_6)","decl":{"start":{"line":69,"column":26},"end":{"line":69,"column":32}},"loc":{"start":{"line":69,"column":32},"end":{"line":75,"column":null}},"line":69},"7":{"name":"(anonymous_7)","decl":{"start":{"line":77,"column":27},"end":{"line":77,"column":28}},"loc":{"start":{"line":77,"column":74},"end":{"line":81,"column":null}},"line":77},"8":{"name":"(anonymous_8)","decl":{"start":{"line":83,"column":25},"end":{"line":83,"column":31}},"loc":{"start":{"line":83,"column":31},"end":{"line":93,"column":null}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":95,"column":28},"end":{"line":95,"column":29}},"loc":{"start":{"line":95,"column":77},"end":{"line":107,"column":null}},"line":95},"10":{"name":"(anonymous_10)","decl":{"start":{"line":148,"column":22},"end":{"line":148,"column":23}},"loc":{"start":{"line":149,"column":16},"end":{"line":151,"column":null}},"line":149}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},{"start":{},"end":{}}],"line":29},"1":{"loc":{"start":{"line":29,"column":8},"end":{"line":29,"column":42}},"type":"binary-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":21}},{"start":{"line":29,"column":21},"end":{"line":29,"column":42}}],"line":29},"2":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37},"3":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},{"start":{},"end":{}}],"line":46},"4":{"loc":{"start":{"line":52,"column":8},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":54,"column":null}}],"line":52},"5":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},{"start":{},"end":{}}],"line":63},"6":{"loc":{"start":{"line":70,"column":4},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":70},"7":{"loc":{"start":{"line":87,"column":4},"end":{"line":92,"column":null}},"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":92,"column":null}},{"start":{},"end":{}}],"line":87},"8":{"loc":{"start":{"line":89,"column":6},"end":{"line":91,"column":null}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":91,"column":null}},{"start":{},"end":{}}],"line":89},"9":{"loc":{"start":{"line":96,"column":4},"end":{"line":106,"column":null}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":106,"column":null}},{"start":{"line":99,"column":4},"end":{"line":106,"column":null}}],"line":96},"10":{"loc":{"start":{"line":96,"column":8},"end":{"line":96,"column":42}},"type":"binary-expr","locations":[{"start":{"line":96,"column":8},"end":{"line":96,"column":29}},{"start":{"line":96,"column":29},"end":{"line":96,"column":42}}],"line":96},"11":{"loc":{"start":{"line":99,"column":4},"end":{"line":106,"column":null}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":106,"column":null}},{"start":{},"end":{}}],"line":99},"12":{"loc":{"start":{"line":103,"column":6},"end":{"line":105,"column":null}},"type":"if","locations":[{"start":{"line":103,"column":6},"end":{"line":105,"column":null}},{"start":{},"end":{}}],"line":103},"13":{"loc":{"start":{"line":109,"column":2},"end":{"line":222,"column":null}},"type":"if","locations":[{"start":{"line":109,"column":2},"end":{"line":222,"column":null}},{"start":{"line":201,"column":9},"end":{"line":222,"column":null}}],"line":109},"14":{"loc":{"start":{"line":111,"column":28},"end":{"line":111,"column":null}},"type":"binary-expr","locations":[{"start":{"line":111,"column":28},"end":{"line":111,"column":54}},{"start":{"line":111,"column":54},"end":{"line":111,"column":69}},{"start":{"line":111,"column":69},"end":{"line":111,"column":null}}],"line":111},"15":{"loc":{"start":{"line":113,"column":4},"end":{"line":200,"column":null}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":200,"column":null}},{"start":{"line":179,"column":11},"end":{"line":200,"column":null}}],"line":113},"16":{"loc":{"start":{"line":115,"column":26},"end":{"line":115,"column":null}},"type":"cond-expr","locations":[{"start":{"line":115,"column":36},"end":{"line":115,"column":52}},{"start":{"line":115,"column":52},"end":{"line":115,"column":null}}],"line":115},"17":{"loc":{"start":{"line":116,"column":26},"end":{"line":116,"column":null}},"type":"cond-expr","locations":[{"start":{"line":116,"column":36},"end":{"line":116,"column":48}},{"start":{"line":116,"column":48},"end":{"line":116,"column":null}}],"line":116},"18":{"loc":{"start":{"line":117,"column":30},"end":{"line":117,"column":null}},"type":"cond-expr","locations":[{"start":{"line":117,"column":40},"end":{"line":117,"column":52}},{"start":{"line":117,"column":52},"end":{"line":117,"column":null}}],"line":117},"19":{"loc":{"start":{"line":172,"column":28},"end":{"line":172,"column":null}},"type":"cond-expr","locations":[{"start":{"line":172,"column":38},"end":{"line":172,"column":47}},{"start":{"line":172,"column":47},"end":{"line":172,"column":null}}],"line":172},"20":{"loc":{"start":{"line":205,"column":6},"end":{"line":207,"column":null}},"type":"cond-expr","locations":[{"start":{"line":206,"column":10},"end":{"line":206,"column":null}},{"start":{"line":207,"column":10},"end":{"line":207,"column":null}}],"line":205},"21":{"loc":{"start":{"line":217,"column":15},"end":{"line":217,"column":null}},"type":"cond-expr","locations":[{"start":{"line":217,"column":44},"end":{"line":217,"column":59}},{"start":{"line":217,"column":59},"end":{"line":217,"column":null}}],"line":217}},"s":{"0":1,"1":62,"2":62,"3":62,"4":62,"5":62,"6":62,"7":62,"8":62,"9":28,"10":28,"11":28,"12":28,"13":28,"14":28,"15":4,"16":62,"17":9,"18":2,"19":9,"20":2,"21":2,"22":62,"23":26,"24":26,"25":7,"26":62,"27":20,"28":19,"29":19,"30":19,"31":62,"32":9,"33":9,"34":9,"35":62,"36":5,"37":5,"38":5,"39":3,"40":3,"41":2,"42":62,"43":6,"44":1,"45":1,"46":5,"47":3,"48":3,"49":3,"50":3,"51":1,"52":62,"53":28,"54":28,"55":4,"56":4,"57":4,"58":4,"59":4,"60":4,"61":24,"62":34,"63":34},"f":{"0":62,"1":62,"2":9,"3":2,"4":26,"5":26,"6":20,"7":9,"8":5,"9":6,"10":4},"b":{"0":[28,34],"1":[62,28],"2":[4,24],"3":[2,7],"4":[2],"5":[7,19],"6":[19,1],"7":[3,2],"8":[2,1],"9":[1,5],"10":[6,2],"11":[3,2],"12":[1,2],"13":[28,34],"14":[28,4,4],"15":[4,24],"16":[1,3],"17":[1,3],"18":[1,3],"19":[1,3],"20":[4,30],"21":[4,30]},"meta":{"lastBranch":22,"lastFunction":11,"lastStatement":64,"seen":{"s:17:24:223:Infinity":0,"f:17:24:17:25":0,"s:18:18:18:Infinity":1,"s:19:33:19:Infinity":2,"s:22:32:22:Infinity":3,"s:23:32:23:Infinity":4,"s:24:8:24:Infinity":5,"s:25:8:25:Infinity":6,"s:28:2:41:Infinity":7,"f:28:12:28:18":1,"b:29:4:40:Infinity:undefined:undefined:undefined:undefined":0,"s:29:4:40:Infinity":8,"b:29:8:29:21:29:21:29:42":1,"s:30:23:30:Infinity":9,"s:31:6:31:Infinity":10,"s:32:24:32:Infinity":11,"s:33:6:33:Infinity":12,"s:36:24:36:Infinity":13,"b:37:6:39:Infinity:undefined:undefined:undefined:undefined":2,"s:37:6:39:Infinity":14,"s:38:9:38:Infinity":15,"s:44:8:58:Infinity":16,"f:45:4:45:5":2,"b:46:6:48:Infinity:undefined:undefined:undefined:undefined":3,"s:46:6:48:Infinity":17,"s:47:8:47:Infinity":18,"s:50:6:55:Infinity":19,"f:50:39:50:45":3,"b:52:8:54:Infinity":4,"s:52:8:54:Infinity":20,"s:53:10:53:Infinity":21,"s:61:2:67:Infinity":22,"f:61:12:61:18":4,"s:62:4:66:Infinity":23,"f:62:11:62:17":5,"b:63:6:65:Infinity:undefined:undefined:undefined:undefined":5,"s:63:6:65:Infinity":24,"s:64:8:64:Infinity":25,"s:69:26:75:Infinity":26,"f:69:26:69:32":6,"b:70:4:74:Infinity:undefined:undefined:undefined:undefined":6,"s:70:4:74:Infinity":27,"s:71:6:71:Infinity":28,"s:72:6:72:Infinity":29,"s:73:6:73:Infinity":30,"s:77:27:81:Infinity":31,"f:77:27:77:28":7,"s:78:21:78:Infinity":32,"s:79:4:79:Infinity":33,"s:80:4:80:Infinity":34,"s:83:25:93:Infinity":35,"f:83:25:83:31":8,"s:84:4:84:Infinity":36,"s:85:4:85:Infinity":37,"b:87:4:92:Infinity:undefined:undefined:undefined:undefined":7,"s:87:4:92:Infinity":38,"s:88:6:88:Infinity":39,"b:89:6:91:Infinity:undefined:undefined:undefined:undefined":8,"s:89:6:91:Infinity":40,"s:90:8:90:Infinity":41,"s:95:28:107:Infinity":42,"f:95:28:95:29":9,"b:96:4:106:Infinity:99:4:106:Infinity":9,"s:96:4:106:Infinity":43,"b:96:8:96:29:96:29:96:42":10,"s:97:6:97:Infinity":44,"s:98:6:98:Infinity":45,"b:99:4:106:Infinity:undefined:undefined:undefined:undefined":11,"s:99:4:106:Infinity":46,"s:100:6:100:Infinity":47,"s:101:6:101:Infinity":48,"s:102:6:102:Infinity":49,"b:103:6:105:Infinity:undefined:undefined:undefined:undefined":12,"s:103:6:105:Infinity":50,"s:104:8:104:Infinity":51,"b:109:2:222:Infinity:201:9:222:Infinity":13,"s:109:2:222:Infinity":52,"s:111:28:111:Infinity":53,"b:111:28:111:54:111:54:111:69:111:69:111:Infinity":14,"b:113:4:200:Infinity:179:11:200:Infinity":15,"s:113:4:200:Infinity":54,"s:114:12:114:Infinity":55,"s:115:26:115:Infinity":56,"b:115:36:115:52:115:52:115:Infinity":16,"s:116:26:116:Infinity":57,"b:116:36:116:48:116:48:116:Infinity":17,"s:117:30:117:Infinity":58,"b:117:40:117:52:117:52:117:Infinity":18,"s:119:6:177:Infinity":59,"f:148:22:148:23":10,"s:149:16:151:Infinity":60,"b:172:38:172:47:172:47:172:Infinity":19,"s:181:6:198:Infinity":61,"s:205:6:207:Infinity":62,"b:206:10:206:Infinity:207:10:207:Infinity":20,"s:209:4:220:Infinity":63,"b:217:44:217:59:217:59:217:Infinity":21}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts","statementMap":{"0":{"start":{"line":8,"column":36},"end":{"line":8,"column":null}},"1":{"start":{"line":9,"column":30},"end":{"line":9,"column":null}},"2":{"start":{"line":10,"column":28},"end":{"line":10,"column":null}},"3":{"start":{"line":12,"column":2},"end":{"line":50,"column":null}},"4":{"start":{"line":13,"column":22},"end":{"line":13,"column":null}},"5":{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},"6":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"7":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"9":{"start":{"line":21,"column":27},"end":{"line":41,"column":null}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},"11":{"start":{"line":23,"column":6},"end":{"line":40,"column":null}},"12":{"start":{"line":24,"column":24},"end":{"line":24,"column":null}},"13":{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},"14":{"start":{"line":27,"column":10},"end":{"line":27,"column":null}},"15":{"start":{"line":28,"column":10},"end":{"line":28,"column":null}},"16":{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},"17":{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},"18":{"start":{"line":33,"column":10},"end":{"line":33,"column":null}},"19":{"start":{"line":34,"column":10},"end":{"line":34,"column":null}},"20":{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},"21":{"start":{"line":38,"column":10},"end":{"line":38,"column":null}},"22":{"start":{"line":44,"column":22},"end":{"line":44,"column":null}},"23":{"start":{"line":46,"column":4},"end":{"line":49,"column":null}},"24":{"start":{"line":47,"column":6},"end":{"line":47,"column":null}},"25":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"26":{"start":{"line":52,"column":2},"end":{"line":56,"column":null}}},"fnMap":{"0":{"name":"usePatternDetection","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":36}},"loc":{"start":{"line":7,"column":53},"end":{"line":57,"column":null}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":12},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":18},"end":{"line":50,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":27},"end":{"line":21,"column":39}},"loc":{"start":{"line":21,"column":39},"end":{"line":41,"column":null}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":11},"end":{"line":46,"column":17}},"loc":{"start":{"line":46,"column":17},"end":{"line":49,"column":null}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":49}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":20}},{"start":{"line":15,"column":20},"end":{"line":15,"column":49}}],"line":15},"2":{"loc":{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},{"start":{},"end":{}}],"line":32},"4":{"loc":{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37}},"s":{"0":22,"1":22,"2":22,"3":22,"4":11,"5":11,"6":3,"7":3,"8":3,"9":8,"10":7,"11":7,"12":7,"13":4,"14":3,"15":3,"16":3,"17":3,"18":2,"19":2,"20":7,"21":5,"22":8,"23":8,"24":4,"25":4,"26":22},"f":{"0":22,"1":11,"2":7,"3":4},"b":{"0":[3,8],"1":[11,9],"2":[3,1],"3":[2,1],"4":[5,2]},"meta":{"lastBranch":5,"lastFunction":4,"lastStatement":27,"seen":{"f:7:16:7:36":0,"s:8:36:8:Infinity":0,"s:9:30:9:Infinity":1,"s:10:28:10:Infinity":2,"s:12:2:50:Infinity":3,"f:12:12:12:18":1,"s:13:22:13:Infinity":4,"b:15:4:19:Infinity:undefined:undefined:undefined:undefined":0,"s:15:4:19:Infinity":5,"b:15:8:15:20:15:20:15:49":1,"s:16:6:16:Infinity":6,"s:17:6:17:Infinity":7,"s:18:6:18:Infinity":8,"s:21:27:41:Infinity":9,"f:21:27:21:39":2,"s:22:6:22:Infinity":10,"s:23:6:40:Infinity":11,"s:24:24:24:Infinity":12,"b:26:8:29:Infinity:undefined:undefined:undefined:undefined":2,"s:26:8:29:Infinity":13,"s:27:10:27:Infinity":14,"s:28:10:28:Infinity":15,"s:31:8:31:Infinity":16,"b:32:8:35:Infinity:undefined:undefined:undefined:undefined":3,"s:32:8:35:Infinity":17,"s:33:10:33:Infinity":18,"s:34:10:34:Infinity":19,"b:37:8:39:Infinity:undefined:undefined:undefined:undefined":4,"s:37:8:39:Infinity":20,"s:38:10:38:Infinity":21,"s:44:22:44:Infinity":22,"s:46:4:49:Infinity":23,"f:46:11:46:17":3,"s:47:6:47:Infinity":24,"s:48:6:48:Infinity":25,"s:52:2:56:Infinity":26}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx","statementMap":{"0":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"1":{"start":{"line":27,"column":59},"end":{"line":129,"column":null}},"2":{"start":{"line":28,"column":29},"end":{"line":28,"column":null}},"3":{"start":{"line":29,"column":42},"end":{"line":29,"column":null}},"4":{"start":{"line":32,"column":8},"end":{"line":51,"column":null}},"5":{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":null}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":null}},"8":{"start":{"line":41,"column":4},"end":{"line":41,"column":null}},"9":{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},"10":{"start":{"line":45,"column":6},"end":{"line":45,"column":null}},"11":{"start":{"line":46,"column":6},"end":{"line":46,"column":null}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"13":{"start":{"line":49,"column":6},"end":{"line":49,"column":null}},"14":{"start":{"line":54,"column":2},"end":{"line":71,"column":null}},"15":{"start":{"line":55,"column":22},"end":{"line":68,"column":null}},"16":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"17":{"start":{"line":56,"column":23},"end":{"line":56,"column":null}},"18":{"start":{"line":58,"column":6},"end":{"line":67,"column":null}},"19":{"start":{"line":59,"column":39},"end":{"line":59,"column":null}},"20":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"21":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"22":{"start":{"line":62,"column":8},"end":{"line":62,"column":null}},"23":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"24":{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},"25":{"start":{"line":70,"column":4},"end":{"line":70,"column":null}},"26":{"start":{"line":74,"column":2},"end":{"line":89,"column":null}},"27":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"28":{"start":{"line":75,"column":40},"end":{"line":75,"column":null}},"29":{"start":{"line":77,"column":33},"end":{"line":82,"column":null}},"30":{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},"31":{"start":{"line":79,"column":8},"end":{"line":79,"column":null}},"32":{"start":{"line":80,"column":8},"end":{"line":80,"column":null}},"33":{"start":{"line":85,"column":20},"end":{"line":85,"column":null}},"34":{"start":{"line":88,"column":4},"end":{"line":88,"column":null}},"35":{"start":{"line":92,"column":2},"end":{"line":100,"column":null}},"36":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"37":{"start":{"line":93,"column":28},"end":{"line":93,"column":null}},"38":{"start":{"line":95,"column":23},"end":{"line":95,"column":null}},"39":{"start":{"line":96,"column":25},"end":{"line":96,"column":null}},"40":{"start":{"line":96,"column":31},"end":{"line":96,"column":null}},"41":{"start":{"line":98,"column":4},"end":{"line":98,"column":null}},"42":{"start":{"line":99,"column":4},"end":{"line":99,"column":null}},"43":{"start":{"line":99,"column":17},"end":{"line":99,"column":null}},"44":{"start":{"line":102,"column":19},"end":{"line":118,"column":null}},"45":{"start":{"line":103,"column":4},"end":{"line":103,"column":null}},"46":{"start":{"line":104,"column":4},"end":{"line":104,"column":null}},"47":{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},"48":{"start":{"line":108,"column":6},"end":{"line":116,"column":null}},"49":{"start":{"line":109,"column":46},"end":{"line":109,"column":null}},"50":{"start":{"line":110,"column":8},"end":{"line":113,"column":null}},"51":{"start":{"line":115,"column":8},"end":{"line":115,"column":null}},"52":{"start":{"line":120,"column":41},"end":{"line":126,"column":null}},"53":{"start":{"line":128,"column":2},"end":{"line":128,"column":null}},"54":{"start":{"line":131,"column":24},"end":{"line":137,"column":null}},"55":{"start":{"line":132,"column":8},"end":{"line":132,"column":null}},"56":{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},"57":{"start":{"line":134,"column":4},"end":{"line":134,"column":null}},"58":{"start":{"line":136,"column":2},"end":{"line":136,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":59},"end":{"line":27,"column":60}},"loc":{"start":{"line":27,"column":77},"end":{"line":129,"column":null}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":43},"end":{"line":32,"column":44}},"loc":{"start":{"line":32,"column":71},"end":{"line":51,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":54,"column":12},"end":{"line":54,"column":18}},"loc":{"start":{"line":54,"column":18},"end":{"line":71,"column":5}},"line":54},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":22},"end":{"line":55,"column":34}},"loc":{"start":{"line":55,"column":34},"end":{"line":68,"column":null}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":74,"column":12},"end":{"line":74,"column":18}},"loc":{"start":{"line":74,"column":18},"end":{"line":89,"column":5}},"line":74},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":33},"end":{"line":77,"column":34}},"loc":{"start":{"line":77,"column":68},"end":{"line":82,"column":null}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":12},"end":{"line":92,"column":18}},"loc":{"start":{"line":92,"column":18},"end":{"line":100,"column":5}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":96,"column":25},"end":{"line":96,"column":31}},"loc":{"start":{"line":96,"column":31},"end":{"line":96,"column":null}},"line":96},"8":{"name":"(anonymous_8)","decl":{"start":{"line":99,"column":11},"end":{"line":99,"column":17}},"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":null}},"line":99},"9":{"name":"(anonymous_9)","decl":{"start":{"line":102,"column":19},"end":{"line":102,"column":26}},"loc":{"start":{"line":102,"column":46},"end":{"line":118,"column":null}},"line":102},"10":{"name":"(anonymous_10)","decl":{"start":{"line":131,"column":24},"end":{"line":131,"column":48}},"loc":{"start":{"line":131,"column":48},"end":{"line":137,"column":null}},"line":131}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},{"start":{"line":37,"column":11},"end":{"line":39,"column":null}}],"line":35},"1":{"loc":{"start":{"line":36,"column":22},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":36,"column":82},"end":{"line":36,"column":91}},{"start":{"line":36,"column":91},"end":{"line":36,"column":null}}],"line":36},"2":{"loc":{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},{"start":{"line":47,"column":11},"end":{"line":50,"column":null}}],"line":44},"3":{"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},{"start":{},"end":{}}],"line":56},"4":{"loc":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":26},"end":{"line":60,"column":45}},{"start":{"line":60,"column":45},"end":{"line":60,"column":null}}],"line":60},"5":{"loc":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},{"start":{},"end":{}}],"line":75},"6":{"loc":{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},"type":"if","locations":[{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},{"start":{},"end":{}}],"line":78},"7":{"loc":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"type":"if","locations":[{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},{"start":{},"end":{}}],"line":93},"8":{"loc":{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},{"start":{},"end":{}}],"line":107},"9":{"loc":{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},"type":"if","locations":[{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},{"start":{},"end":{}}],"line":133}},"s":{"0":1,"1":1,"2":32,"3":32,"4":32,"5":20,"6":14,"7":6,"8":20,"9":20,"10":16,"11":16,"12":4,"13":4,"14":32,"15":15,"16":15,"17":1,"18":14,"19":14,"20":13,"21":15,"22":15,"23":1,"24":1,"25":15,"26":32,"27":15,"28":2,"29":13,"30":2,"31":1,"32":1,"33":13,"34":13,"35":32,"36":24,"37":6,"38":18,"39":18,"40":1,"41":18,"42":18,"43":18,"44":32,"45":4,"46":4,"47":4,"48":3,"49":3,"50":3,"51":1,"52":32,"53":32,"54":1,"55":35,"56":35,"57":2,"58":32},"f":{"0":32,"1":20,"2":15,"3":15,"4":15,"5":2,"6":24,"7":1,"8":18,"9":4,"10":35},"b":{"0":[14,6],"1":[2,12],"2":[16,4],"3":[1,14],"4":[13,1],"5":[2,13],"6":[1,1],"7":[6,18],"8":[3,1],"9":[2,33]},"meta":{"lastBranch":10,"lastFunction":11,"lastStatement":59,"seen":{"s:21:6:21:Infinity":0,"s:27:59:129:Infinity":1,"f:27:59:27:60":0,"s:28:29:28:Infinity":2,"s:29:42:29:Infinity":3,"s:32:8:51:Infinity":4,"f:32:43:32:44":1,"b:35:4:39:Infinity:37:11:39:Infinity":0,"s:35:4:39:Infinity":5,"s:36:6:36:Infinity":6,"b:36:82:36:91:36:91:36:Infinity":1,"s:38:6:38:Infinity":7,"s:41:4:41:Infinity":8,"b:44:4:50:Infinity:47:11:50:Infinity":2,"s:44:4:50:Infinity":9,"s:45:6:45:Infinity":10,"s:46:6:46:Infinity":11,"s:48:6:48:Infinity":12,"s:49:6:49:Infinity":13,"s:54:2:71:Infinity":14,"f:54:12:54:18":2,"s:55:22:68:Infinity":15,"f:55:22:55:34":3,"b:56:6:56:Infinity:undefined:undefined:undefined:undefined":3,"s:56:6:56:Infinity":16,"s:56:23:56:Infinity":17,"s:58:6:67:Infinity":18,"s:59:39:59:Infinity":19,"s:60:26:60:Infinity":20,"b:60:26:60:45:60:45:60:Infinity":4,"s:61:8:61:Infinity":21,"s:62:8:62:Infinity":22,"s:64:8:64:Infinity":23,"s:66:8:66:Infinity":24,"s:70:4:70:Infinity":25,"s:74:2:89:Infinity":26,"f:74:12:74:18":4,"b:75:4:75:Infinity:undefined:undefined:undefined:undefined":5,"s:75:4:75:Infinity":27,"s:75:40:75:Infinity":28,"s:77:33:82:Infinity":29,"f:77:33:77:34":5,"b:78:6:81:Infinity:undefined:undefined:undefined:undefined":6,"s:78:6:81:Infinity":30,"s:79:8:79:Infinity":31,"s:80:8:80:Infinity":32,"s:85:20:85:Infinity":33,"s:88:4:88:Infinity":34,"s:92:2:100:Infinity":35,"f:92:12:92:18":6,"b:93:4:93:Infinity:undefined:undefined:undefined:undefined":7,"s:93:4:93:Infinity":36,"s:93:28:93:Infinity":37,"s:95:23:95:Infinity":38,"s:96:25:96:Infinity":39,"f:96:25:96:31":7,"s:96:31:96:Infinity":40,"s:98:4:98:Infinity":41,"s:99:4:99:Infinity":42,"f:99:11:99:17":8,"s:99:17:99:Infinity":43,"s:102:19:118:Infinity":44,"f:102:19:102:26":9,"s:103:4:103:Infinity":45,"s:104:4:104:Infinity":46,"b:107:4:117:Infinity:undefined:undefined:undefined:undefined":8,"s:107:4:117:Infinity":47,"s:108:6:116:Infinity":48,"s:109:46:109:Infinity":49,"s:110:8:113:Infinity":50,"s:115:8:115:Infinity":51,"s:120:41:126:Infinity":52,"s:128:2:128:Infinity":53,"s:131:24:137:Infinity":54,"f:131:24:131:48":10,"s:132:8:132:Infinity":55,"b:133:2:135:Infinity:undefined:undefined:undefined:undefined":9,"s:133:2:135:Infinity":56,"s:134:4:134:Infinity":57,"s:136:2:136:Infinity":58}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts","statementMap":{"0":{"start":{"line":37,"column":45},"end":{"line":361,"column":null}},"1":{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},"2":{"start":{"line":371,"column":4},"end":{"line":371,"column":null}},"3":{"start":{"line":374,"column":41},"end":{"line":374,"column":null}},"4":{"start":{"line":377,"column":2},"end":{"line":379,"column":null}},"5":{"start":{"line":378,"column":4},"end":{"line":378,"column":null}},"6":{"start":{"line":381,"column":20},"end":{"line":381,"column":null}},"7":{"start":{"line":383,"column":2},"end":{"line":414,"column":null}},"8":{"start":{"line":384,"column":16},"end":{"line":384,"column":null}},"9":{"start":{"line":387,"column":4},"end":{"line":393,"column":null}},"10":{"start":{"line":388,"column":20},"end":{"line":388,"column":null}},"11":{"start":{"line":389,"column":22},"end":{"line":389,"column":null}},"12":{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},"13":{"start":{"line":391,"column":8},"end":{"line":391,"column":null}},"14":{"start":{"line":396,"column":4},"end":{"line":401,"column":null}},"15":{"start":{"line":397,"column":22},"end":{"line":397,"column":null}},"16":{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},"17":{"start":{"line":399,"column":8},"end":{"line":399,"column":null}},"18":{"start":{"line":404,"column":4},"end":{"line":408,"column":null}},"19":{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},"20":{"start":{"line":406,"column":8},"end":{"line":406,"column":null}},"21":{"start":{"line":411,"column":4},"end":{"line":411,"column":null}},"22":{"start":{"line":413,"column":4},"end":{"line":413,"column":null}},"23":{"start":{"line":417,"column":17},"end":{"line":417,"column":null}},"24":{"start":{"line":418,"column":40},"end":{"line":418,"column":null}},"25":{"start":{"line":420,"column":2},"end":{"line":426,"column":null}},"26":{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},"27":{"start":{"line":423,"column":6},"end":{"line":423,"column":null}},"28":{"start":{"line":424,"column":6},"end":{"line":424,"column":null}},"29":{"start":{"line":428,"column":2},"end":{"line":428,"column":null}},"30":{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},"31":{"start":{"line":439,"column":4},"end":{"line":439,"column":null}},"32":{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},"33":{"start":{"line":444,"column":4},"end":{"line":444,"column":null}},"34":{"start":{"line":448,"column":25},"end":{"line":474,"column":null}},"35":{"start":{"line":476,"column":23},"end":{"line":476,"column":null}},"36":{"start":{"line":477,"column":21},"end":{"line":477,"column":null}},"37":{"start":{"line":479,"column":2},"end":{"line":485,"column":null}},"38":{"start":{"line":480,"column":20},"end":{"line":480,"column":null}},"39":{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},"40":{"start":{"line":482,"column":6},"end":{"line":482,"column":null}},"41":{"start":{"line":483,"column":6},"end":{"line":483,"column":null}},"42":{"start":{"line":488,"column":21},"end":{"line":488,"column":null}},"43":{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},"44":{"start":{"line":492,"column":4},"end":{"line":492,"column":null}},"45":{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},"46":{"start":{"line":495,"column":4},"end":{"line":495,"column":null}},"47":{"start":{"line":498,"column":4},"end":{"line":498,"column":null}},"48":{"start":{"line":507,"column":27},"end":{"line":518,"column":null}},"49":{"start":{"line":520,"column":2},"end":{"line":520,"column":null}},"50":{"start":{"line":520,"column":44},"end":{"line":520,"column":62}},"51":{"start":{"line":527,"column":46},"end":{"line":542,"column":null}},"52":{"start":{"line":544,"column":2},"end":{"line":544,"column":null}}},"fnMap":{"0":{"name":"detectLanguage","decl":{"start":{"line":368,"column":16},"end":{"line":368,"column":31}},"loc":{"start":{"line":368,"column":60},"end":{"line":429,"column":null}},"line":368},"1":{"name":"(anonymous_1)","decl":{"start":{"line":377,"column":28},"end":{"line":377,"column":29}},"loc":{"start":{"line":377,"column":38},"end":{"line":379,"column":3}},"line":377},"2":{"name":"(anonymous_2)","decl":{"start":{"line":383,"column":28},"end":{"line":383,"column":29}},"loc":{"start":{"line":383,"column":38},"end":{"line":414,"column":3}},"line":383},"3":{"name":"(anonymous_3)","decl":{"start":{"line":387,"column":26},"end":{"line":387,"column":27}},"loc":{"start":{"line":387,"column":39},"end":{"line":393,"column":5}},"line":387},"4":{"name":"(anonymous_4)","decl":{"start":{"line":396,"column":26},"end":{"line":396,"column":27}},"loc":{"start":{"line":396,"column":39},"end":{"line":401,"column":5}},"line":396},"5":{"name":"(anonymous_5)","decl":{"start":{"line":404,"column":28},"end":{"line":404,"column":29}},"loc":{"start":{"line":404,"column":37},"end":{"line":408,"column":5}},"line":404},"6":{"name":"(anonymous_6)","decl":{"start":{"line":420,"column":33},"end":{"line":420,"column":34}},"loc":{"start":{"line":420,"column":52},"end":{"line":426,"column":3}},"line":420},"7":{"name":"isCode","decl":{"start":{"line":436,"column":16},"end":{"line":436,"column":23}},"loc":{"start":{"line":436,"column":46},"end":{"line":500,"column":null}},"line":436},"8":{"name":"(anonymous_8)","decl":{"start":{"line":479,"column":25},"end":{"line":479,"column":26}},"loc":{"start":{"line":479,"column":38},"end":{"line":485,"column":3}},"line":479},"9":{"name":"hasStrongCodeIndicators","decl":{"start":{"line":506,"column":9},"end":{"line":506,"column":33}},"loc":{"start":{"line":506,"column":56},"end":{"line":521,"column":null}},"line":506},"10":{"name":"(anonymous_10)","decl":{"start":{"line":520,"column":31},"end":{"line":520,"column":32}},"loc":{"start":{"line":520,"column":44},"end":{"line":520,"column":62}},"line":520},"11":{"name":"mapToSyntaxHighlighterLanguage","decl":{"start":{"line":526,"column":16},"end":{"line":526,"column":47}},"loc":{"start":{"line":526,"column":81},"end":{"line":545,"column":null}},"line":526}},"branchMap":{"0":{"loc":{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},"type":"if","locations":[{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},{"start":{},"end":{}}],"line":369},"1":{"loc":{"start":{"line":369,"column":6},"end":{"line":369,"column":39}},"type":"binary-expr","locations":[{"start":{"line":369,"column":6},"end":{"line":369,"column":15}},{"start":{"line":369,"column":15},"end":{"line":369,"column":39}}],"line":369},"2":{"loc":{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},"type":"if","locations":[{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},{"start":{},"end":{}}],"line":390},"3":{"loc":{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},"type":"if","locations":[{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},{"start":{},"end":{}}],"line":398},"4":{"loc":{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},"type":"if","locations":[{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},{"start":{},"end":{}}],"line":405},"5":{"loc":{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},"type":"if","locations":[{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},{"start":{},"end":{}}],"line":421},"6":{"loc":{"start":{"line":421,"column":8},"end":{"line":421,"column":39}},"type":"binary-expr","locations":[{"start":{"line":421,"column":8},"end":{"line":421,"column":28}},{"start":{"line":421,"column":28},"end":{"line":421,"column":39}}],"line":421},"7":{"loc":{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},"type":"if","locations":[{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},{"start":{},"end":{}}],"line":437},"8":{"loc":{"start":{"line":437,"column":6},"end":{"line":437,"column":39}},"type":"binary-expr","locations":[{"start":{"line":437,"column":6},"end":{"line":437,"column":15}},{"start":{"line":437,"column":15},"end":{"line":437,"column":39}}],"line":437},"9":{"loc":{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},"type":"if","locations":[{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},{"start":{},"end":{}}],"line":443},"10":{"loc":{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},"type":"if","locations":[{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},{"start":{},"end":{}}],"line":481},"11":{"loc":{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},"type":"if","locations":[{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},{"start":{"line":493,"column":2},"end":{"line":499,"column":null}}],"line":490},"12":{"loc":{"start":{"line":492,"column":11},"end":{"line":492,"column":null}},"type":"binary-expr","locations":[{"start":{"line":492,"column":11},"end":{"line":492,"column":34}},{"start":{"line":492,"column":34},"end":{"line":492,"column":null}}],"line":492},"13":{"loc":{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},"type":"if","locations":[{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},{"start":{"line":496,"column":9},"end":{"line":499,"column":null}}],"line":493},"14":{"loc":{"start":{"line":495,"column":11},"end":{"line":495,"column":null}},"type":"binary-expr","locations":[{"start":{"line":495,"column":11},"end":{"line":495,"column":34}},{"start":{"line":495,"column":34},"end":{"line":495,"column":null}}],"line":495},"15":{"loc":{"start":{"line":498,"column":11},"end":{"line":498,"column":null}},"type":"binary-expr","locations":[{"start":{"line":498,"column":11},"end":{"line":498,"column":34}},{"start":{"line":498,"column":34},"end":{"line":498,"column":null}}],"line":498},"16":{"loc":{"start":{"line":544,"column":9},"end":{"line":544,"column":null}},"type":"binary-expr","locations":[{"start":{"line":544,"column":9},"end":{"line":544,"column":42}},{"start":{"line":544,"column":42},"end":{"line":544,"column":null}}],"line":544}},"s":{"0":1,"1":15,"2":5,"3":10,"4":10,"5":140,"6":10,"7":10,"8":140,"9":140,"10":1320,"11":1320,"12":1320,"13":42,"14":140,"15":1010,"16":1010,"17":41,"18":140,"19":260,"20":1,"21":140,"22":140,"23":10,"24":10,"25":10,"26":140,"27":16,"28":16,"29":10,"30":16,"31":5,"32":11,"33":7,"34":4,"35":4,"36":4,"37":4,"38":100,"39":100,"40":6,"41":6,"42":4,"43":4,"44":1,"45":3,"46":2,"47":1,"48":11,"49":11,"50":70,"51":16,"52":16},"f":{"0":15,"1":140,"2":140,"3":1320,"4":1010,"5":260,"6":140,"7":16,"8":100,"9":11,"10":70,"11":16},"b":{"0":[5,10],"1":[15,12],"2":[42,1278],"3":[41,969],"4":[1,259],"5":[16,124],"6":[140,16],"7":[5,11],"8":[16,13],"9":[7,4],"10":[6,94],"11":[1,3],"12":[1,1],"13":[2,1],"14":[2,1],"15":[1,1],"16":[16,1]},"meta":{"lastBranch":17,"lastFunction":12,"lastStatement":53,"seen":{"s:37:45:361:Infinity":0,"f:368:16:368:31":0,"b:369:2:372:Infinity:undefined:undefined:undefined:undefined":0,"s:369:2:372:Infinity":1,"b:369:6:369:15:369:15:369:39":1,"s:371:4:371:Infinity":2,"s:374:41:374:Infinity":3,"s:377:2:379:Infinity":4,"f:377:28:377:29":1,"s:378:4:378:Infinity":5,"s:381:20:381:Infinity":6,"s:383:2:414:Infinity":7,"f:383:28:383:29":2,"s:384:16:384:Infinity":8,"s:387:4:393:Infinity":9,"f:387:26:387:27":3,"s:388:20:388:Infinity":10,"s:389:22:389:Infinity":11,"b:390:6:392:Infinity:undefined:undefined:undefined:undefined":2,"s:390:6:392:Infinity":12,"s:391:8:391:Infinity":13,"s:396:4:401:Infinity":14,"f:396:26:396:27":4,"s:397:22:397:Infinity":15,"b:398:6:400:Infinity:undefined:undefined:undefined:undefined":3,"s:398:6:400:Infinity":16,"s:399:8:399:Infinity":17,"s:404:4:408:Infinity":18,"f:404:28:404:29":5,"b:405:6:407:Infinity:undefined:undefined:undefined:undefined":4,"s:405:6:407:Infinity":19,"s:406:8:406:Infinity":20,"s:411:4:411:Infinity":21,"s:413:4:413:Infinity":22,"s:417:17:417:Infinity":23,"s:418:40:418:Infinity":24,"s:420:2:426:Infinity":25,"f:420:33:420:34":6,"b:421:4:425:Infinity:undefined:undefined:undefined:undefined":5,"s:421:4:425:Infinity":26,"b:421:8:421:28:421:28:421:39":6,"s:423:6:423:Infinity":27,"s:424:6:424:Infinity":28,"s:428:2:428:Infinity":29,"f:436:16:436:23":7,"b:437:2:440:Infinity:undefined:undefined:undefined:undefined":7,"s:437:2:440:Infinity":30,"b:437:6:437:15:437:15:437:39":8,"s:439:4:439:Infinity":31,"b:443:2:445:Infinity:undefined:undefined:undefined:undefined":9,"s:443:2:445:Infinity":32,"s:444:4:444:Infinity":33,"s:448:25:474:Infinity":34,"s:476:23:476:Infinity":35,"s:477:21:477:Infinity":36,"s:479:2:485:Infinity":37,"f:479:25:479:26":8,"s:480:20:480:Infinity":38,"b:481:4:484:Infinity:undefined:undefined:undefined:undefined":10,"s:481:4:484:Infinity":39,"s:482:6:482:Infinity":40,"s:483:6:483:Infinity":41,"s:488:21:488:Infinity":42,"b:490:2:499:Infinity:493:2:499:Infinity":11,"s:490:2:499:Infinity":43,"s:492:4:492:Infinity":44,"b:492:11:492:34:492:34:492:Infinity":12,"b:493:2:499:Infinity:496:9:499:Infinity":13,"s:493:2:499:Infinity":45,"s:495:4:495:Infinity":46,"b:495:11:495:34:495:34:495:Infinity":14,"s:498:4:498:Infinity":47,"b:498:11:498:34:498:34:498:Infinity":15,"f:506:9:506:33":9,"s:507:27:518:Infinity":48,"s:520:2:520:Infinity":49,"f:520:31:520:32":10,"s:520:44:520:62":50,"f:526:16:526:47":11,"s:527:46:542:Infinity":51,"s:544:2:544:Infinity":52,"b:544:9:544:42:544:42:544:Infinity":16}}} +,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":1,"column":36}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":1,"seen":{"s:1:33:1:36":0}}} } diff --git a/coverage/index.html b/coverage/index.html index f53cec0..7dcdcab 100644 --- a/coverage/index.html +++ b/coverage/index.html @@ -1,263 +1,221 @@ + - + + Code coverage report for All files - - - - -
-
+ + + +
+

All files

-
-
- 59.31% - Statements - 398/671 -
- -
- 59.07% - Branches - 192/325 -
- -
- 61.65% - Functions - 82/133 -
- -
- 60.12% - Lines - 386/642 -
+
+ +
+ 100% + Statements + 668/668 +
+ + +
+ 100% + Branches + 321/321 +
+ + +
+ 100% + Functions + 133/133 +
+ + +
+ 100% + Lines + 640/640 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
File - Statements - BranchesFunctionsLines
- main/clipboard - -
-
-
-
-
39.57%74/18750%31/6228.12%9/3241.04%71/173
+ + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
main/clipboard +
+
100%184/184100%60/60100%32/32100%171/171
- main/hotkeys - -
-
-
-
-
63.97%103/16160%42/7070.96%22/3164.15%102/159
main/hotkeys +
+
100%161/161100%70/70100%31/31100%159/159
- main/storage - -
-
-
-
-
90.12%73/8195.58%65/6877.77%21/2791.89%68/74
main/storage +
+
100%81/81100%68/68100%27/27100%74/74
- renderer/src/components/clips/clip - -
-
-
-
-
29.41%30/10216.39%10/6137.5%6/1629.41%30/102
renderer/src/components/clips/clip +
+
100%102/102100%59/59100%16/16100%102/102
- renderer/src/hooks - -
-
-
-
-
77.77%21/2760%6/1075%3/477.77%21/27
renderer/src/hooks +
+
100%27/27100%10/10100%4/4100%27/27
- renderer/src/providers - -
-
-
-
-
81.35%48/5960%12/2081.81%9/1185.18%46/54
renderer/src/providers +
+
100%59/59100%20/20100%11/11100%54/54
- renderer/src/utils - -
-
-
-
-
90.56%48/5376.47%26/34100%12/1290.38%47/52
renderer/src/utils +
+
100%53/53100%34/34100%12/12100%52/52
shared -
-
-
-
-
100%1/1100%0/0100%0/0100%1/1
-
-
- -
- - - - - - - + + shared + +
+ + 100% + 1/1 + 100% + 0/0 + 100% + 0/0 + 100% + 1/1 + + + + +
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/clipboard/data.ts.html b/coverage/main/clipboard/data.ts.html index 6b9a818..042a8dd 100644 --- a/coverage/main/clipboard/data.ts.html +++ b/coverage/main/clipboard/data.ts.html @@ -1,63 +1,68 @@ + - + + Code coverage report for main/clipboard/data.ts - - - - -
-
-

- All files / main/clipboard data.ts -

-
-
- 68% - Statements - 34/50 -
- -
- 85% - Branches - 17/20 -
- -
- 45.45% - Functions - 5/11 -
- -
- 70.21% - Lines - 33/47 -
+ + + +
+
+

All files / main/clipboard data.ts

+
+ +
+ 100% + Statements + 50/50 +
+ + +
+ 100% + Branches + 20/20 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 100% + Lines + 47/47 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -162,36 +167,36 @@

  1x   -6x -6x +8x +8x 2x     -4x -4x +6x +6x 1x     -3x -3x +5x +5x 1x     -2x -2x +4x +4x 1x     +3x +3x +3x 1x -1x -1x -            -1x +2x       @@ -200,18 +205,18 @@

1x   1x -  -  -  +2x +2x +1x   -  +1x     1x -  -  +2x +2x   -  +1x       @@ -221,22 +226,22 @@

    1x -  +1x     1x -  +1x     1x -1x +2x +  +2x +2x   1x 1x   -  -  -      1x @@ -245,15 +250,15 @@

      -1x +2x   -1x +2x         -  -  +1x +1x      

import { clipboard, nativeImage } from 'electron';
@@ -283,8 +288,8 @@ 

  try { const bookmark = clipboard.readBookmark(); - Iif (bookmark && bookmark.url) { - return { type: 'bookmark', content: JSON.stringify(bookmark) }; + if (bookmark && bookmark.url) { + return { type: 'bookmark', content: JSON.stringify(bookmark) }; } } catch { // Bookmark not available on all platforms @@ -295,22 +300,22 @@

  // Clipboard read operations export const getClipboardText = (): string => clipboard.readText(); -export const getClipboardHTML = (): string => clipboard.readHTML(); -export const getClipboardRTF = (): string => clipboard.readRTF(); +export const getClipboardHTML = (): string => clipboard.readHTML(); +export const getClipboardRTF = (): string => clipboard.readRTF();   -export const getClipboardImage = (): string | null => { - const image = clipboard.readImage(); - if (!image.isEmpty()) { - return image.toDataURL(); +export const getClipboardImage = (): string | null => { + const image = clipboard.readImage(); + if (!image.isEmpty()) { + return image.toDataURL(); } - return null; + return null; };   -export const getClipboardBookmark = (): { title: string; url: string } | null => { - try { - return clipboard.readBookmark(); +export const getClipboardBookmark = (): { title: string; url: string } | null => { + try { + return clipboard.readBookmark(); } catch { - return null; // Not available on all platforms + return null; // Not available on all platforms } };   @@ -319,12 +324,12 @@

clipboard.writeText(text); };   -export const setClipboardHTML = (html: string): void => { - clipboard.writeHTML(html); +export const setClipboardHTML = (html: string): void => { + clipboard.writeHTML(html); };   -export const setClipboardRTF = (rtf: string): void => { - clipboard.writeRTF(rtf); +export const setClipboardRTF = (rtf: string): void => { + clipboard.writeRTF(rtf); };   export const setClipboardImage = (imageData: string): void => { @@ -333,8 +338,8 @@

const image = nativeImage.createFromDataURL(imageData); clipboard.writeImage(image); } catch (error) { - console.error('Failed to write image to clipboard:', error); - throw error; + console.error('Failed to write image to clipboard:', error); + throw error; } };   @@ -351,28 +356,27 @@

html: bookmarkData.html, }); } catch (error) { - console.error('Failed to write bookmark to clipboard:', error); - throw error; + console.error('Failed to write bookmark to clipboard:', error); + throw error; } };  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/clipboard/index.html b/coverage/main/clipboard/index.html index 27a138a..39d962b 100644 --- a/coverage/main/clipboard/index.html +++ b/coverage/main/clipboard/index.html @@ -1,161 +1,146 @@ + - + + Code coverage report for main/clipboard - - - - -
-
+ + + +
+

All files main/clipboard

-
-
- 39.57% - Statements - 74/187 -
- -
- 50% - Branches - 31/62 -
- -
- 28.12% - Functions - 9/32 -
- -
- 41.04% - Lines - 71/173 -
+
+ +
+ 100% + Statements + 184/184 +
+ + +
+ 100% + Branches + 60/60 +
+ + +
+ 100% + Functions + 32/32 +
+ + +
+ 100% + Lines + 171/171 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
File - Statements - BranchesFunctionsLines
data.ts -
-
-
-
-
68%34/5085%17/2045.45%5/1170.21%33/47
+ + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
data.ts +
+
100%50/50100%20/20100%11/11100%47/47
- quick-clips.ts - -
-
-
-
-
22.68%22/9726.31%10/3814.28%2/1424.13%21/87
quick-clips.ts +
+
100%94/94100%36/36100%14/14100%85/85
- quick-tools.ts - -
-
-
-
-
45%18/40100%4/428.57%2/743.58%17/39
-
-
- -
- - - - - - - + + quick-tools.ts + +
+ + 100% + 40/40 + 100% + 4/4 + 100% + 7/7 + 100% + 39/39 + + + + +
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/clipboard/quick-clips.ts.html b/coverage/main/clipboard/quick-clips.ts.html index e838c0e..24e547c 100644 --- a/coverage/main/clipboard/quick-clips.ts.html +++ b/coverage/main/clipboard/quick-clips.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/clipboard/quick-clips.ts - - - - -
-
-

- All files / - main/clipboard quick-clips.ts -

-
-
- 22.68% - Statements - 22/97 -
- -
- 26.31% - Branches - 10/38 -
- -
- 14.28% - Functions - 2/14 -
- -
- 24.13% - Lines - 21/87 -
+ + + +
+
+

All files / main/clipboard quick-clips.ts

+
+ +
+ 100% + Statements + 94/94 +
+ + +
+ 100% + Branches + 36/36 +
+ + +
+ 100% + Functions + 14/14 +
+ + +
+ 100% + Lines + 85/85 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -244,37 +248,37 @@

183 184 185 -186 -187

  +186  +        1x -8x -8x -8x +10x +10x +9x +  +9x +9x   8x 8x   -7x -7x   -  -7x -7x +8x +8x     -7x -5x -6x +8x 6x +8x +7x         -7x -5x +8x +6x       @@ -287,151 +291,150 @@

      -8x +9x   -  -  +1x +1x       1x -  -  -  +13x +13x   -  -  -  +12x +12x +12x     -  -  +11x +11x     -  +11x     -  -  +9x +9x     -  +9x     -  +9x   -  +9x   -  +1x     -  +8x   -  -  -  -  +8x +11x +11x +14x     -  -  -  -  -  +11x +11x +11x +14x +13x   -  -  +13x +3x         -  +11x       -  +11x   -  +7x         -  +1x     -  -  -  -  -  +6x +9x +6x +6x   -  -  +8x +8x         -  -  -  +3x +3x +3x   -  -  +3x +4x   -  -  -  +6x +6x +6x       -  +3x     -  -  +6x +10x           -  -  +9x +12x       -  -  +1x +1x       1x -  -  -  -  +2x +2x +1x +1x   -  +1x             -  -  +1x +1x       1x -  +2x   -  +2x   -  -  +1x +1x     - 

import { storage } from '../storage';
+ 
import { shell } from 'electron';
+import { storage } from '../storage';
 import type { PatternMatch } from '../../shared/types';
  
 // Quick clips scanning functions
@@ -453,7 +456,7 @@ 

// Extract named groups if (match.groups) { Object.entries(match.groups).forEach(([groupName, value]) => { - Eif (value !== undefined && value !== null && typeof value === 'string') { + if (value !== undefined && value !== null && typeof value === 'string') { captures[groupName] = value; } }); @@ -475,166 +478,163 @@

  return matches; } catch (error) { - console.error('Failed to scan text:', error); - throw error; + console.error('Failed to scan text:', error); + throw error; } };   -export const openToolsForMatches = async (matches: any[], toolIds: string[]) => { - try { - const { shell } = require('electron'); - const tools = await storage.getQuickTools(); +export const openToolsForMatches = async (matches: any[], toolIds: string[]) => { + try { + const tools = await storage.getQuickTools();   - for (const toolId of toolIds) { - const tool = tools.find((t) => t.id === toolId); - if (!tool) continue; + for (const toolId of toolIds) { + const tool = tools.find((t) => t.id === toolId); + if (!tool) continue;   // Find matches that contain capture groups needed by this tool - const applicableMatches = matches.filter((match) => - tool.captureGroups.some((group) => group in match.captures) + const applicableMatches = matches.filter((match) => + tool.captureGroups.some((group) => group in match.captures) );   - if (applicableMatches.length === 0) continue; + if (applicableMatches.length === 0) continue;   // Parse the URL to find tokens with multiple capture groups (e.g., {email|domain|phone}) - const multiTokenRegex = /\{([^}]+)\}/g; - const urlsToOpen = new Set<string>(); + const multiTokenRegex = /\{([^}]+)\}/g; + const urlsToOpen = new Set<string>();   // Use the first applicable match to build the URL(s) - const match = applicableMatches[0]; + const match = applicableMatches[0];   // Find all tokens in the URL - const tokens = [...tool.url.matchAll(multiTokenRegex)]; + const tokens = [...tool.url.matchAll(multiTokenRegex)];   - if (tokens.length === 0) { + if (tokens.length === 0) { // No tokens, just open the URL as-is - urlsToOpen.add(tool.url); + urlsToOpen.add(tool.url); } else { // Process each token - const tokenReplacements: Array<{ token: string; values: string[]; isUrl: boolean }> = []; + const tokenReplacements: Array<{ token: string; values: string[]; isUrl: boolean }> = [];   - for (const tokenMatch of tokens) { - const fullToken = tokenMatch[0]; // e.g., "{email|domain|phone}" - const tokenContent = tokenMatch[1]; // e.g., "email|domain|phone" - const captureGroups = tokenContent.split('|').map((g) => g.trim()); + for (const tokenMatch of tokens) { + const fullToken = tokenMatch[0]; // e.g., "{email|domain|phone}" + const tokenContent = tokenMatch[1]; // e.g., "email|domain|phone" + const captureGroups = tokenContent.split('|').map((g) => g.trim());   // Find values for this token from the matches - const values: string[] = []; - let isUrl = false; - for (const group of captureGroups) { - if (group in match.captures && match.captures[group]) { - values.push(match.captures[group]); + const values: string[] = []; + let isUrl = false; + for (const group of captureGroups) { + if (group in match.captures && match.captures[group]) { + values.push(match.captures[group]); // Check if this is a URL capture group - if (group === 'url') { - isUrl = true; + if (group === 'url') { + isUrl = true; } } }   - tokenReplacements.push({ token: fullToken, values, isUrl }); + tokenReplacements.push({ token: fullToken, values, isUrl }); }   // Generate URLs for each combination of values - if (tokenReplacements.every((tr) => tr.values.length > 0)) { + if (tokenReplacements.every((tr) => tr.values.length > 0)) { // Special case: if the tool URL is just a token that captures a URL, use it directly - if ( + if ( tokenReplacements.length === 1 && tokenReplacements[0].isUrl && tool.url === tokenReplacements[0].token ) { - tokenReplacements[0].values.forEach((url) => urlsToOpen.add(url)); + tokenReplacements[0].values.forEach((url) => urlsToOpen.add(url)); } else { // Get all combinations of values - const generateCombinations = (replacements: typeof tokenReplacements): string[] => { - if (replacements.length === 0) return ['']; - if (replacements.length === 1) { - const replacement = replacements[0]; - return replacement.values.map((value) => { + const generateCombinations = (replacements: typeof tokenReplacements): string[] => { + if (replacements.length === 1) { + const replacement = replacements[0]; + return replacement.values.map((value) => { // Don't encode URLs if they're being used as direct replacements for URL tokens - const encodedValue = replacement.isUrl ? value : encodeURIComponent(value); - return tool.url.replace(replacement.token, encodedValue); + const encodedValue = replacement.isUrl ? value : encodeURIComponent(value); + return tool.url.replace(replacement.token, encodedValue); }); }   // For multiple tokens, generate all combinations - const [first, ...rest] = replacements; - const restCombinations = generateCombinations(rest); - const combinations: string[] = []; + const [first, ...rest] = replacements; + const restCombinations = generateCombinations(rest); + const combinations: string[] = [];   - for (const value of first.values) { - for (const restUrl of restCombinations) { + for (const value of first.values) { + for (const restUrl of restCombinations) { // Don't encode URLs if they're being used as direct replacements for URL tokens - const encodedValue = first.isUrl ? value : encodeURIComponent(value); - const url = restUrl.replace(first.token, encodedValue); - combinations.push(url); + const encodedValue = first.isUrl ? value : encodeURIComponent(value); + const url = restUrl.replace(first.token, encodedValue); + combinations.push(url); } }   - return combinations; + return combinations; };   - const combinations = generateCombinations(tokenReplacements); - combinations.forEach((url) => urlsToOpen.add(url)); + const combinations = generateCombinations(tokenReplacements); + combinations.forEach((url) => urlsToOpen.add(url)); } } }   // Open all generated URLs - for (const url of urlsToOpen) { - await shell.openExternal(url); + for (const url of urlsToOpen) { + await shell.openExternal(url); } } } catch (error) { - console.error('Failed to open tools:', error); - throw error; + console.error('Failed to open tools:', error); + throw error; } };   -export const exportQuickClipsConfig = async () => { - try { - const searchTerms = await storage.getSearchTerms(); - const tools = await storage.getQuickTools(); - const templates = await storage.getTemplates(); +export const exportQuickClipsConfig = async () => { + try { + const searchTerms = await storage.getSearchTerms(); + const tools = await storage.getQuickTools(); + const templates = await storage.getTemplates();   - return { + return { searchTerms, tools, templates, version: '1.0.0', }; } catch (error) { - console.error('Failed to export quick clips config:', error); - throw error; + console.error('Failed to export quick clips config:', error); + throw error; } };   -export const importQuickClipsConfig = async (config: any) => { - try { +export const importQuickClipsConfig = async (config: any) => { + try { // Use the new batch import method to avoid race conditions - await storage.importQuickClipsConfig(config); + await storage.importQuickClipsConfig(config); } catch (error) { - console.error('Failed to import quick clips config:', error); - throw error; + console.error('Failed to import quick clips config:', error); + throw error; } };  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/clipboard/quick-tools.ts.html b/coverage/main/clipboard/quick-tools.ts.html index dd8c8a4..c03d0ea 100644 --- a/coverage/main/clipboard/quick-tools.ts.html +++ b/coverage/main/clipboard/quick-tools.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/clipboard/quick-tools.ts - - - - -
-
-

- All files / - main/clipboard quick-tools.ts -

-
-
- 45% - Statements - 18/40 -
- -
- 100% - Branches - 4/4 -
- -
- 28.57% - Functions - 2/7 -
- -
- 43.58% - Lines - 17/39 -
+ + + +
+
+

All files / main/clipboard quick-tools.ts

+
+ +
+ 100% + Statements + 40/40 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 39/39 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -141,66 +145,66 @@

    1x -  -  +2x +2x   -  -  +1x +1x       1x -  -  +2x +2x   -  -  +1x +1x       1x -  -  +2x +2x   -  -  +1x +1x       1x -  -  +2x +2x   -  -  +1x +1x       1x -  -  +2x +2x   -  -  +1x +1x       1x -6x -6x +7x +7x     -6x -6x +7x +7x   -1x +2x       -6x -6x +7x +7x   -6x +7x 6x 3x   @@ -211,55 +215,55 @@

      -  -  +1x +1x      

import { storage } from '../storage';
  
 // Quick tools management functions
-export const getAllQuickTools = async () => {
-  try {
-    return await storage.getQuickTools();
+export const getAllQuickTools = async () => {
+  try {
+    return await storage.getQuickTools();
   } catch (error) {
-    console.error('Failed to get quick tools:', error);
-    throw error;
+    console.error('Failed to get quick tools:', error);
+    throw error;
   }
 };
  
-export const createQuickTool = async (name: string, url: string, captureGroups: string[]) => {
-  try {
-    return await storage.createQuickTool(name, url, captureGroups);
+export const createQuickTool = async (name: string, url: string, captureGroups: string[]) => {
+  try {
+    return await storage.createQuickTool(name, url, captureGroups);
   } catch (error) {
-    console.error('Failed to create quick tool:', error);
-    throw error;
+    console.error('Failed to create quick tool:', error);
+    throw error;
   }
 };
  
-export const updateQuickTool = async (id: string, updates: any) => {
-  try {
-    return await storage.updateQuickTool(id, updates);
+export const updateQuickTool = async (id: string, updates: any) => {
+  try {
+    return await storage.updateQuickTool(id, updates);
   } catch (error) {
-    console.error('Failed to update quick tool:', error);
-    throw error;
+    console.error('Failed to update quick tool:', error);
+    throw error;
   }
 };
  
-export const deleteQuickTool = async (id: string) => {
-  try {
-    await storage.deleteQuickTool(id);
+export const deleteQuickTool = async (id: string) => {
+  try {
+    await storage.deleteQuickTool(id);
   } catch (error) {
-    console.error('Failed to delete quick tool:', error);
-    throw error;
+    console.error('Failed to delete quick tool:', error);
+    throw error;
   }
 };
  
-export const reorderQuickTools = async (tools: any[]) => {
-  try {
-    await storage.reorderQuickTools(tools);
+export const reorderQuickTools = async (tools: any[]) => {
+  try {
+    await storage.reorderQuickTools(tools);
   } catch (error) {
-    console.error('Failed to reorder quick tools:', error);
-    throw error;
+    console.error('Failed to reorder quick tools:', error);
+    throw error;
   }
 };
  
@@ -289,28 +293,27 @@ 

errors, }; } catch (error) { - console.error('Failed to validate tool URL:', error); - throw error; + console.error('Failed to validate tool URL:', error); + throw error; } };  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/hotkeys/actions.ts.html b/coverage/main/hotkeys/actions.ts.html index a32b057..dff592e 100644 --- a/coverage/main/hotkeys/actions.ts.html +++ b/coverage/main/hotkeys/actions.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/hotkeys/actions.ts - - - - -
-
-

- All files / - main/hotkeys actions.ts -

-
-
- 50% - Statements - 38/76 -
- -
- 54.16% - Branches - 26/48 -
- -
- 71.42% - Functions - 5/7 -
- -
- 50% - Lines - 37/74 -
+ + + +
+
+

All files / main/hotkeys actions.ts

+
+ +
+ 100% + Statements + 76/76 +
+ + +
+ 100% + Branches + 48/48 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 74/74 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -243,39 +247,39 @@

      -15x +45x     -11x +33x             -4x +7x   -3x +5x   -3x +5x 1x 1x       -2x +3x 1x     -2x -2x +3x +3x     -2x -  +3x +1x     -  +1x       @@ -283,60 +287,60 @@

      -4x -4x -4x +15x +15x +14x +2x +2x +  +  +12x +12x 1x 1x     -3x -3x -  -  -    +11x +10x   -3x -3x     +11x   -3x +11x +11x   -3x -3x +1x   -              +11x   3x -  -2x -2x +3x   1x 1x   -  -  +1x +1x   -  -  +2x +1x   -  +1x   -  +2x   -  -  +3x +3x   -  +1x       @@ -344,17 +348,17 @@

      -  -  -  -  +3x +3x +3x +1x     -  +1x     -  -  +1x +1x       @@ -362,23 +366,23 @@

      -2x +7x   -2x -2x +5x +5x +3x 1x -    +3x +3x +3x 1x -1x -1x -        -2x +4x   -  +1x       @@ -386,32 +390,32 @@

      -  -  -  -  -  +5x +5x +4x +2x +2x     -  -  -  -  +2x +2x +1x +1x       -  +1x     -  +1x   -  +1x   -  +1x       - 

import { BrowserWindow, clipboard, nativeImage } from 'electron';
+ 
import { BrowserWindow, clipboard, nativeImage, app } from 'electron';
 import { storage } from '../storage';
 import { showNotification } from '../notifications';
  
@@ -447,11 +451,11 @@ 

this.mainWindow.focus();   // On macOS, we need to bring the app to front - Iif (process.platform === 'darwin') { - require('electron').app.focus(); + if (process.platform === 'darwin') { + app.focus(); } } catch (error) { - console.error('Error toggling window visibility:', error); + console.error('Error toggling window visibility:', error); } }   @@ -467,13 +471,13 @@

}   const clipToCopy = clips[index]; - Iif (!clipToCopy) { - console.warn(`No clip found at index ${index}`); - return; + if (!clipToCopy) { + console.warn(`No clip found at index ${index}`); + return; }   // Notify renderer BEFORE copying to clipboard so it can set up duplicate detection - Eif (this.mainWindow && !this.mainWindow.isDestroyed()) { + if (this.mainWindow && !this.mainWindow.isDestroyed()) { this.mainWindow.webContents.send('hotkey-clip-copied', index); }   @@ -483,7 +487,7 @@

console.log(`Hotkey: Copied clip ${index + 1} to clipboard`); showNotification('Clip Copied', `Clip ${index + 1} copied to clipboard`); } catch (error) { - console.error(`Error copying quick clip ${index}:`, error); + console.error(`Error copying quick clip ${index}:`, error); } }   @@ -498,39 +502,39 @@

case 'html': clipboard.writeHTML(clipToCopy.clip.content); break; - case 'rtf': - clipboard.writeRTF(clipToCopy.clip.content); - break; - case 'bookmark': - if (clipToCopy.clip.url && clipToCopy.clip.title) { - clipboard.writeBookmark(clipToCopy.clip.title, clipToCopy.clip.url); + case 'rtf': + clipboard.writeRTF(clipToCopy.clip.content); + break; + case 'bookmark': + if (clipToCopy.clip.url && clipToCopy.clip.title) { + clipboard.writeBookmark(clipToCopy.clip.title, clipToCopy.clip.url); } else { - clipboard.writeText(clipToCopy.clip.content); + clipboard.writeText(clipToCopy.clip.content); } - break; - case 'image': - this.copyImageClip(clipToCopy.clip.content); - break; - default: - clipboard.writeText(clipToCopy.clip.content); + break; + case 'image': + this.copyImageClip(clipToCopy.clip.content); + break; + default: + clipboard.writeText(clipToCopy.clip.content); } }   /** * Handle copying image clips with fallback */ - private copyImageClip(content: string): void { - try { - const image = nativeImage.createFromDataURL(content); - if (!image.isEmpty()) { - clipboard.writeImage(image); + private copyImageClip(content: string): void { + try { + const image = nativeImage.createFromDataURL(content); + if (!image.isEmpty()) { + clipboard.writeImage(image); } else { // Fallback to copying data URL as text - clipboard.writeText(content); + clipboard.writeText(content); } } catch (error) { - console.error('Failed to copy image, falling back to text:', error); - clipboard.writeText(content); + console.error('Failed to copy image, falling back to text:', error); + clipboard.writeText(content); } }   @@ -538,73 +542,72 @@

* Toggle search bar in the main window */ toggleSearchBar(): void { - Iif (!this.mainWindow) return; + if (!this.mainWindow) return;   try { if (!this.mainWindow.isVisible() || this.mainWindow.isMinimized()) { - Iif (this.mainWindow.isMinimized()) { - this.mainWindow.restore(); + if (this.mainWindow.isMinimized()) { + this.mainWindow.restore(); } this.mainWindow.show(); this.mainWindow.focus(); - Iif (process.platform === 'darwin') { - require('electron').app.focus(); + if (process.platform === 'darwin') { + app.focus(); } }   this.mainWindow.webContents.send('toggle-search'); } catch (error) { - console.error('Error toggling search bar:', error); + console.error('Error toggling search bar:', error); } }   /** * Open tools launcher for the first (most recent) clip */ - async openToolsLauncher(): Promise<void> { - try { - const clips = await storage.getClips(); - if (!clips || clips.length === 0) { - console.warn('No clips available for tools launcher'); - return; + async openToolsLauncher(): Promise<void> { + try { + const clips = await storage.getClips(); + if (!clips || clips.length === 0) { + console.warn('No clips available for tools launcher'); + return; }   - const firstClip = clips[0]; - if (!firstClip) { - console.warn('No first clip found'); - return; + const firstClip = clips[0]; + if (!firstClip) { + console.warn('No first clip found'); + return; }   // Import the createToolsLauncherWindow function - const { createToolsLauncherWindow } = await import('../window/creation.js'); - + const { createToolsLauncherWindow } = await import('../window/creation.js'); +  // Open the tools launcher with the first clip's content - createToolsLauncherWindow(firstClip.clip.content); + createToolsLauncherWindow(firstClip.clip.content);   - console.log('Hotkey: Opened tools launcher for first clip'); + console.log('Hotkey: Opened tools launcher for first clip'); } catch (error) { - console.error('Error opening tools launcher:', error); + console.error('Error opening tools launcher:', error); } } }  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/hotkeys/index.html b/coverage/main/hotkeys/index.html index e9658a4..5643e1e 100644 --- a/coverage/main/hotkeys/index.html +++ b/coverage/main/hotkeys/index.html @@ -1,163 +1,146 @@ + - + + Code coverage report for main/hotkeys - - - - -
-
+ + + +
+

All files main/hotkeys

-
-
- 63.97% - Statements - 103/161 -
- -
- 60% - Branches - 42/70 -
- -
- 70.96% - Functions - 22/31 -
- -
- 64.15% - Lines - 102/159 -
+
+ +
+ 100% + Statements + 161/161 +
+ + +
+ 100% + Branches + 70/70 +
+ + +
+ 100% + Functions + 31/31 +
+ + +
+ 100% + Lines + 159/159 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
File - Statements - BranchesFunctionsLines
- actions.ts - -
-
-
-
-
50%38/7654.16%26/4871.42%5/750%37/74
+ + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
actions.ts +
+
100%76/76100%48/48100%7/7100%74/74
- manager.ts - -
-
-
-
-
71.66%43/6066.66%12/1856.25%9/1671.66%43/60
manager.ts +
+
100%60/60100%18/18100%16/16100%60/60
- registry.ts - -
-
-
-
-
88%22/25100%4/4100%8/888%22/25
-
-
- -
- - - - - - - + + registry.ts + +
+ + 100% + 25/25 + 100% + 4/4 + 100% + 8/8 + 100% + 25/25 + + + + +
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/hotkeys/manager.ts.html b/coverage/main/hotkeys/manager.ts.html index 193041f..0763397 100644 --- a/coverage/main/hotkeys/manager.ts.html +++ b/coverage/main/hotkeys/manager.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/hotkeys/manager.ts - - - - -
-
-

- All files / - main/hotkeys manager.ts -

-
-
- 71.66% - Statements - 43/60 -
- -
- 66.66% - Branches - 12/18 -
- -
- 56.25% - Functions - 9/16 -
- -
- 71.66% - Lines - 43/60 -
+ + + +
+
+

All files / main/hotkeys manager.ts

+
+ +
+ 100% + Statements + 60/60 +
+ + +
+ 100% + Branches + 18/18 +
+ + +
+ 100% + Functions + 16/16 +
+ + +
+ 100% + Lines + 60/60 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -235,144 +239,144 @@

      -5x -5x +15x +15x     -  +1x       -6x -6x +15x +15x 1x 1x     -5x -5x -5x -5x -5x +14x +14x +14x +14x +14x +  +1x   -        +16x   -6x +16x   -6x +16x +14x +  +14x +9x +9x   -6x -6x   -6x 5x 5x     -1x -1x +5x     -1x +5x     -1x +5x     -1x +5x   +2x   -1x   -      +5x +3x     -1x +3x 1x     -1x -          +5x     -1x           +5x +25x +2x     -1x -5x +2x 1x     -1x -            +5x     -1x     +5x +3x     +3x 1x -      -  -        +5x     -1x     +5x +3x     +3x 1x -  -    -  -          +4x   -1x -  -  -  -1x -  -  -      +4x 1x 1x 1x   -  +  +3x +3x +3x +  +1x       @@ -382,15 +386,15 @@

      -  +1x       -  +1x       -2x +4x      

import { BrowserWindow } from 'electron';
@@ -405,8 +409,8 @@ 

private registry = new HotkeyRegistry(); private actions = new HotkeyActions();   - setMainWindow(window: BrowserWindow | null): void { - this.actions.setMainWindow(window); + setMainWindow(window: BrowserWindow | null): void { + this.actions.setMainWindow(window); }   async initialize(): Promise<void> { @@ -422,7 +426,7 @@

this.registry.setInitialized(true); console.log('Hotkey Manager: Initialization completed successfully'); } catch (error) { - console.error('Failed to initialize hotkey manager:', error); + console.error('Failed to initialize hotkey manager:', error); } }   @@ -454,17 +458,17 @@

// Register search clips hotkey this.registerSearchHotkey(hotkeys); } catch (error) { - console.error('Failed to register hotkeys:', error); + console.error('Failed to register hotkeys:', error); } }   private registerFocusWindowHotkey(hotkeys: any): void { - Eif (hotkeys.focusWindow.enabled) { + if (hotkeys.focusWindow.enabled) { console.log( `Hotkey Manager: Attempting to register focus window hotkey: ${hotkeys.focusWindow.key}` ); - this.registry.registerHotkey(hotkeys.focusWindow.key, () => { - this.actions.focusWindow(); + this.registry.registerHotkey(hotkeys.focusWindow.key, () => { + this.actions.focusWindow(); }); } } @@ -484,8 +488,8 @@

console.log( `Hotkey Manager: Attempting to register quick clip ${index} hotkey: ${config.key}` ); - this.registry.registerHotkey(config.key, () => { - this.actions.copyQuickClip(index); + this.registry.registerHotkey(config.key, () => { + this.actions.copyQuickClip(index); }); } } @@ -493,33 +497,33 @@

  private registerToolsLauncherHotkey(hotkeys: any): void { // Handle case where openToolsLauncher setting doesn't exist yet (new feature) - const toolsLauncherConfig = hotkeys.openToolsLauncher || { + const toolsLauncherConfig = hotkeys.openToolsLauncher || { enabled: true, key: 'CommandOrControl+Shift+T', };   - Iif (toolsLauncherConfig.enabled) { - console.log( + if (toolsLauncherConfig.enabled) { + console.log( `Hotkey Manager: Attempting to register tools launcher hotkey: ${toolsLauncherConfig.key}` ); - this.registry.registerHotkey(toolsLauncherConfig.key, () => { - this.actions.openToolsLauncher(); + this.registry.registerHotkey(toolsLauncherConfig.key, () => { + this.actions.openToolsLauncher(); }); } }   private registerSearchHotkey(hotkeys: any): void { - const searchConfig = hotkeys.searchClips || { + const searchConfig = hotkeys.searchClips || { enabled: true, key: 'CommandOrControl+Shift+F', };   - Iif (searchConfig.enabled) { - console.log( + if (searchConfig.enabled) { + console.log( `Hotkey Manager: Attempting to register search clips hotkey: ${searchConfig.key}` ); - this.registry.registerHotkey(searchConfig.key, () => { - this.actions.toggleSearchBar(); + this.registry.registerHotkey(searchConfig.key, () => { + this.actions.toggleSearchBar(); }); } } @@ -529,17 +533,17 @@

'Hotkey Manager: onSettingsChanged called, isInitialized:', this.registry.isInitialized ); - Iif (!this.registry.isInitialized) { - console.log('Hotkey Manager: Not initialized yet, initializing now...'); - await this.initialize(); - return; + if (!this.registry.isInitialized) { + console.log('Hotkey Manager: Not initialized yet, initializing now...'); + await this.initialize(); + return; }   try { console.log('Hotkey Manager: Re-registering hotkeys after settings change...'); await this.registerHotkeys(); } catch (error) { - console.error('Failed to update hotkeys after settings change:', error); + console.error('Failed to update hotkeys after settings change:', error); } }   @@ -548,12 +552,12 @@

}   // Expose registry methods for testing or advanced use cases - getCurrentHotkeys(): string[] { - return this.registry.getCurrentHotkeys(); + getCurrentHotkeys(): string[] { + return this.registry.getCurrentHotkeys(); }   - isHotkeyRegistered(accelerator: string): boolean { - return this.registry.isHotkeyRegistered(accelerator); + isHotkeyRegistered(accelerator: string): boolean { + return this.registry.isHotkeyRegistered(accelerator); }   get isInitialized(): boolean { @@ -562,22 +566,21 @@

}  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/hotkeys/registry.ts.html b/coverage/main/hotkeys/registry.ts.html index ba60956..40cdc1b 100644 --- a/coverage/main/hotkeys/registry.ts.html +++ b/coverage/main/hotkeys/registry.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/hotkeys/registry.ts - - - - -
-
-

- All files / - main/hotkeys registry.ts -

-
-
- 88% - Statements - 22/25 -
- -
- 100% - Branches - 4/4 -
- -
- 100% - Functions - 8/8 -
- -
- 88% - Lines - 22/25 -
+ + + +
+
+

All files / main/hotkeys registry.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 25/25 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -148,42 +152,42 @@

      -13x +25x           -11x +28x       -6x +14x             -12x +24x   -12x +24x 1x 1x     -11x -11x -10x -10x -10x +23x +23x +21x +21x +21x   1x 1x     -  -  +1x +1x       @@ -191,28 +195,28 @@

      -9x -3x -3x +20x +5x +5x   -  +1x     -9x +20x             -3x +5x             -2x +3x       @@ -264,8 +268,8 @@

return false; } } catch (error) { - console.error(`Error registering hotkey ${accelerator}:`, error); - return false; + console.error(`Error registering hotkey ${accelerator}:`, error); + return false; } }   @@ -277,7 +281,7 @@

try { globalShortcut.unregister(accelerator); } catch (error) { - console.error(`Error unregistering hotkey ${accelerator}:`, error); + console.error(`Error unregistering hotkey ${accelerator}:`, error); } }); this.state.currentHotkeys.clear(); @@ -307,22 +311,21 @@

}  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/defaults.ts.html b/coverage/main/storage/defaults.ts.html index 0eff01a..ff421a9 100644 --- a/coverage/main/storage/defaults.ts.html +++ b/coverage/main/storage/defaults.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/storage/defaults.ts - - - - -
-
-

- All files / - main/storage defaults.ts -

-
-
- 100% - Statements - 3/3 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 0/0 -
- -
- 100% - Lines - 3/3 -
+ + + +
+
+

All files / main/storage defaults.ts

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 3/3 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -244,22 +248,21 @@

};  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/file-operations.ts.html b/coverage/main/storage/file-operations.ts.html index 5af5b5a..fef9b73 100644 --- a/coverage/main/storage/file-operations.ts.html +++ b/coverage/main/storage/file-operations.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/storage/file-operations.ts - - - - -
-
-

- All files / - main/storage file-operations.ts -

-
-
- 92% - Statements - 23/25 -
- -
- 50% - Branches - 1/2 -
- -
- 100% - Functions - 4/4 -
- -
- 92% - Lines - 23/25 -
+ + + +
+
+

All files / main/storage file-operations.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 25/25 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -148,27 +152,27 @@

      -2x +3x   -2x +3x   -2x +3x     -2x +3x     -2x -2x +3x +3x           +3x 2x -1x   -1x +2x     1x @@ -186,12 +190,12 @@

      -2x +3x   -2x +3x     -1x +2x     1x @@ -200,12 +204,12 @@

  1x   -1x +2x   1x   -  -  +1x +1x       @@ -221,7 +225,7 @@

      -1x +2x    

import { safeStorage } from 'electron';
 import { promises as fs } from 'fs';
@@ -285,9 +289,9 @@ 

if ((error as any).code === 'ENOENT') { // File doesn't exist throw new Error('FILE_NOT_FOUND'); - } else E{ - console.error('Failed to load data from storage:', error); - throw error; + } else { + console.error('Failed to load data from storage:', error); + throw error; } } } @@ -307,22 +311,21 @@

}  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/index.html b/coverage/main/storage/index.html index 9a62781..d722a49 100644 --- a/coverage/main/storage/index.html +++ b/coverage/main/storage/index.html @@ -1,203 +1,176 @@ + - + + Code coverage report for main/storage - - - - -
-
+ + + +
+

All files main/storage

-
-
- 90.12% - Statements - 73/81 -
- -
- 95.58% - Branches - 65/68 -
- -
- 77.77% - Functions - 21/27 -
- -
- 91.89% - Lines - 68/74 -
+
+ +
+ 100% + Statements + 81/81 +
+ + +
+ 100% + Branches + 68/68 +
+ + +
+ 100% + Functions + 27/27 +
+ + +
+ 100% + Lines + 74/74 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
File - Statements - BranchesFunctionsLines
- defaults.ts - -
-
-
-
-
100%3/3100%0/0100%0/0100%3/3
+ + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
defaults.ts +
+
100%3/3100%0/0100%0/0100%3/3
- file-operations.ts - -
-
-
-
-
92%23/2550%1/2100%4/492%23/25
file-operations.ts +
+
100%25/25100%2/2100%4/4100%25/25
- migration.ts - -
-
-
-
-
100%18/18100%50/50100%5/5100%18/18
migration.ts +
+
100%18/18100%50/50100%5/5100%18/18
- search-terms.ts - -
-
-
-
-
57.14%4/7100%0/057.14%4/760%3/5
search-terms.ts +
+
100%7/7100%0/0100%7/7100%5/5
- templates.ts - -
-
-
-
-
89.28%25/2887.5%14/1672.72%8/1191.3%21/23
-
-
- -
- - - - - - - + + templates.ts + +
+ + 100% + 28/28 + 100% + 16/16 + 100% + 11/11 + 100% + 23/23 + + + + +
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/migration.ts.html b/coverage/main/storage/migration.ts.html index c3d88b1..084adf7 100644 --- a/coverage/main/storage/migration.ts.html +++ b/coverage/main/storage/migration.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/storage/migration.ts - - - - -
-
-

- All files / - main/storage migration.ts -

-
-
- 100% - Statements - 18/18 -
- -
- 100% - Branches - 50/50 -
- -
- 100% - Functions - 5/5 -
- -
- 100% - Lines - 18/18 -
+ + + +
+
+

All files / main/storage migration.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 50/50 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 18/18 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -292,22 +296,21 @@

}  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/search-terms.ts.html b/coverage/main/storage/search-terms.ts.html index 07a3721..6cea3d5 100644 --- a/coverage/main/storage/search-terms.ts.html +++ b/coverage/main/storage/search-terms.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/storage/search-terms.ts - - - - -
-
-

- All files / - main/storage search-terms.ts -

-
-
- 57.14% - Statements - 4/7 -
- -
- 100% - Branches - 0/0 -
- -
- 57.14% - Functions - 4/7 -
- -
- 60% - Lines - 3/5 -
+ + + +
+
+

All files / main/storage search-terms.ts

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 5/5 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -119,7 +123,7 @@

      -1x +2x       @@ -144,7 +148,7 @@

      -  +1x       @@ -162,7 +166,7 @@

      -  +2x       @@ -194,11 +198,11 @@

/** * Update an existing search term with new data */ -export function updateSearchTermObject( +export function updateSearchTermObject( searchTerm: SearchTerm, updates: Partial<SearchTerm> ): SearchTerm { - return { + return { ...searchTerm, ...updates, updatedAt: Date.now(), @@ -215,30 +219,29 @@

/** * Reorder search terms array */ -export function reorderSearchTermsArray(searchTerms: SearchTerm[]): SearchTerm[] { - return searchTerms.map((searchTerm, index) => ({ +export function reorderSearchTermsArray(searchTerms: SearchTerm[]): SearchTerm[] { + return searchTerms.map((searchTerm, index) => ({ ...searchTerm, order: index, })); }  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/main/storage/templates.ts.html b/coverage/main/storage/templates.ts.html index 4c5f2e4..015d835 100644 --- a/coverage/main/storage/templates.ts.html +++ b/coverage/main/storage/templates.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for main/storage/templates.ts - - - - -
-
-

- All files / - main/storage templates.ts -

-
-
- 89.28% - Statements - 25/28 -
- -
- 87.5% - Branches - 14/16 -
- -
- 72.72% - Functions - 8/11 -
- -
- 91.3% - Lines - 21/23 -
+ + + +
+
+

All files / main/storage templates.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 16/16 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 100% + Lines + 23/23 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -166,7 +170,7 @@

      -1x +2x       @@ -187,7 +191,7 @@

      -  +1x       @@ -205,7 +209,7 @@

      -  +2x       @@ -218,21 +222,21 @@

      -5x -5x -5x +6x +6x +6x     -5x -8x -8x +6x +10x +10x 5x   -3x +5x       -5x +6x       @@ -243,23 +247,23 @@

      -6x +9x     +9x +4x 6x -2x -3x -2x +4x         -6x -6x -6x +9x +8x +8x     -6x +9x    

import type { Template } from '../../shared/types';
  
@@ -287,8 +291,8 @@ 

/** * Update an existing template with new data */ -export function updateTemplateObject(template: Template, updates: Partial<Template>): Template { - return { +export function updateTemplateObject(template: Template, updates: Partial<Template>): Template { + return { ...template, ...updates, updatedAt: Date.now(), @@ -305,8 +309,8 @@

/** * Reorder templates array */ -export function reorderTemplatesArray(templates: Template[]): Template[] { - return templates.map((template, index) => ({ +export function reorderTemplatesArray(templates: Template[]): Template[] { + return templates.map((template, index) => ({ ...template, order: index, })); @@ -329,7 +333,7 @@

if (/^c\d+$/.test(token)) { if (!positional.includes(token)) positional.push(token); } else { - Eif (!named.includes(token)) named.push(token); + if (!named.includes(token)) named.push(token); } }   @@ -350,7 +354,7 @@

if (captures) { result = result.replace(/\{(\w+)\}/g, (match, tokenName) => { if (/^c\d+$/.test(tokenName)) return match; // skip positional - return tokenName in captures ? captures[tokenName] : match; + return tokenName in captures ? captures[tokenName] : match; }); }   @@ -364,22 +368,21 @@

}  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/prettify.css b/coverage/prettify.css index 006492c..b317a7c 100644 --- a/coverage/prettify.css +++ b/coverage/prettify.css @@ -1,101 +1 @@ -.pln { - color: #000; -} -@media screen { - .str { - color: #080; - } - .kwd { - color: #008; - } - .com { - color: #800; - } - .typ { - color: #606; - } - .lit { - color: #066; - } - .pun, - .opn, - .clo { - color: #660; - } - .tag { - color: #008; - } - .atn { - color: #606; - } - .atv { - color: #080; - } - .dec, - .var { - color: #606; - } - .fun { - color: red; - } -} -@media print, projection { - .str { - color: #060; - } - .kwd { - color: #006; - font-weight: bold; - } - .com { - color: #600; - font-style: italic; - } - .typ { - color: #404; - font-weight: bold; - } - .lit { - color: #044; - } - .pun, - .opn, - .clo { - color: #440; - } - .tag { - color: #006; - font-weight: bold; - } - .atn { - color: #404; - } - .atv { - color: #060; - } -} -pre.prettyprint { - padding: 2px; - border: 1px solid #888; -} -ol.linenums { - margin-top: 0; - margin-bottom: 0; -} -li.L0, -li.L1, -li.L2, -li.L3, -li.L5, -li.L6, -li.L7, -li.L8 { - list-style-type: none; -} -li.L1, -li.L3, -li.L5, -li.L7, -li.L9 { - background: #eee; -} +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/prettify.js b/coverage/prettify.js index 4b5985a..b322523 100644 --- a/coverage/prettify.js +++ b/coverage/prettify.js @@ -1,937 +1,2 @@ /* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION = true; -(function () { - var h = ['break,continue,do,else,for,if,return,while']; - var u = [ - h, - 'auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile', - ]; - var p = [ - u, - 'catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof', - ]; - var l = [ - p, - 'alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where', - ]; - var x = [ - p, - 'abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient', - ]; - var R = [ - x, - 'as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var', - ]; - var r = - 'all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes'; - var w = [p, 'debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN']; - var s = - 'caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END'; - var I = [ - h, - 'and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None', - ]; - var f = [ - h, - 'alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END', - ]; - var H = [h, 'case,done,elif,esac,eval,fi,function,in,local,set,then,until']; - var A = [l, R, w, s + I, f, H]; - var e = - /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/; - var C = 'str'; - var z = 'kwd'; - var j = 'com'; - var O = 'typ'; - var G = 'lit'; - var L = 'pun'; - var F = 'pln'; - var m = 'tag'; - var E = 'dec'; - var J = 'src'; - var P = 'atn'; - var n = 'atv'; - var N = 'nocode'; - var M = - '(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*'; - function k(Z) { - var ad = 0; - var S = false; - var ac = false; - for (var V = 0, U = Z.length; V < U; ++V) { - var ae = Z[V]; - if (ae.ignoreCase) { - ac = true; - } else { - if (/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) { - S = true; - ac = false; - break; - } - } - } - var Y = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 }; - function ab(ah) { - var ag = ah.charCodeAt(0); - if (ag !== 92) { - return ag; - } - var af = ah.charAt(1); - ag = Y[af]; - if (ag) { - return ag; - } else { - if ('0' <= af && af <= '7') { - return parseInt(ah.substring(1), 8); - } else { - if (af === 'u' || af === 'x') { - return parseInt(ah.substring(2), 16); - } else { - return ah.charCodeAt(1); - } - } - } - } - function T(af) { - if (af < 32) { - return (af < 16 ? '\\x0' : '\\x') + af.toString(16); - } - var ag = String.fromCharCode(af); - if (ag === '\\' || ag === '-' || ag === '[' || ag === ']') { - ag = '\\' + ag; - } - return ag; - } - function X(am) { - var aq = am - .substring(1, am.length - 1) - .match( - new RegExp( - '\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]', - 'g' - ) - ); - var ak = []; - var af = []; - var ao = aq[0] === '^'; - for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) { - var ah = aq[ar]; - if (/\\[bdsw]/i.test(ah)) { - ak.push(ah); - } else { - var ag = ab(ah); - var al; - if (ar + 2 < aj && '-' === aq[ar + 1]) { - al = ab(aq[ar + 2]); - ar += 2; - } else { - al = ag; - } - af.push([ag, al]); - if (!(al < 65 || ag > 122)) { - if (!(al < 65 || ag > 90)) { - af.push([Math.max(65, ag) | 32, Math.min(al, 90) | 32]); - } - if (!(al < 97 || ag > 122)) { - af.push([Math.max(97, ag) & ~32, Math.min(al, 122) & ~32]); - } - } - } - } - af.sort(function (av, au) { - return av[0] - au[0] || au[1] - av[1]; - }); - var ai = []; - var ap = [NaN, NaN]; - for (var ar = 0; ar < af.length; ++ar) { - var at = af[ar]; - if (at[0] <= ap[1] + 1) { - ap[1] = Math.max(ap[1], at[1]); - } else { - ai.push((ap = at)); - } - } - var an = ['[']; - if (ao) { - an.push('^'); - } - an.push.apply(an, ak); - for (var ar = 0; ar < ai.length; ++ar) { - var at = ai[ar]; - an.push(T(at[0])); - if (at[1] > at[0]) { - if (at[1] + 1 > at[0]) { - an.push('-'); - } - an.push(T(at[1])); - } - } - an.push(']'); - return an.join(''); - } - function W(al) { - var aj = al.source.match( - new RegExp( - '(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)', - 'g' - ) - ); - var ah = aj.length; - var an = []; - for (var ak = 0, am = 0; ak < ah; ++ak) { - var ag = aj[ak]; - if (ag === '(') { - ++am; - } else { - if ('\\' === ag.charAt(0)) { - var af = +ag.substring(1); - if (af && af <= am) { - an[af] = -1; - } - } - } - } - for (var ak = 1; ak < an.length; ++ak) { - if (-1 === an[ak]) { - an[ak] = ++ad; - } - } - for (var ak = 0, am = 0; ak < ah; ++ak) { - var ag = aj[ak]; - if (ag === '(') { - ++am; - if (an[am] === undefined) { - aj[ak] = '(?:'; - } - } else { - if ('\\' === ag.charAt(0)) { - var af = +ag.substring(1); - if (af && af <= am) { - aj[ak] = '\\' + an[am]; - } - } - } - } - for (var ak = 0, am = 0; ak < ah; ++ak) { - if ('^' === aj[ak] && '^' !== aj[ak + 1]) { - aj[ak] = ''; - } - } - if (al.ignoreCase && S) { - for (var ak = 0; ak < ah; ++ak) { - var ag = aj[ak]; - var ai = ag.charAt(0); - if (ag.length >= 2 && ai === '[') { - aj[ak] = X(ag); - } else { - if (ai !== '\\') { - aj[ak] = ag.replace(/[a-zA-Z]/g, function (ao) { - var ap = ao.charCodeAt(0); - return '[' + String.fromCharCode(ap & ~32, ap | 32) + ']'; - }); - } - } - } - } - return aj.join(''); - } - var aa = []; - for (var V = 0, U = Z.length; V < U; ++V) { - var ae = Z[V]; - if (ae.global || ae.multiline) { - throw new Error('' + ae); - } - aa.push('(?:' + W(ae) + ')'); - } - return new RegExp(aa.join('|'), ac ? 'gi' : 'g'); - } - function a(V) { - var U = /(?:^|\s)nocode(?:\s|$)/; - var X = []; - var T = 0; - var Z = []; - var W = 0; - var S; - if (V.currentStyle) { - S = V.currentStyle.whiteSpace; - } else { - if (window.getComputedStyle) { - S = document.defaultView.getComputedStyle(V, null).getPropertyValue('white-space'); - } - } - var Y = S && 'pre' === S.substring(0, 3); - function aa(ab) { - switch (ab.nodeType) { - case 1: - if (U.test(ab.className)) { - return; - } - for (var ae = ab.firstChild; ae; ae = ae.nextSibling) { - aa(ae); - } - var ad = ab.nodeName; - if ('BR' === ad || 'LI' === ad) { - X[W] = '\n'; - Z[W << 1] = T++; - Z[(W++ << 1) | 1] = ab; - } - break; - case 3: - case 4: - var ac = ab.nodeValue; - if (ac.length) { - if (!Y) { - ac = ac.replace(/[ \t\r\n]+/g, ' '); - } else { - ac = ac.replace(/\r\n?/g, '\n'); - } - X[W] = ac; - Z[W << 1] = T; - T += ac.length; - Z[(W++ << 1) | 1] = ab; - } - break; - } - } - aa(V); - return { sourceCode: X.join('').replace(/\n$/, ''), spans: Z }; - } - function B(S, U, W, T) { - if (!U) { - return; - } - var V = { sourceCode: U, basePos: S }; - W(V); - T.push.apply(T, V.decorations); - } - var v = /\S/; - function o(S) { - var V = undefined; - for (var U = S.firstChild; U; U = U.nextSibling) { - var T = U.nodeType; - V = T === 1 ? (V ? S : U) : T === 3 ? (v.test(U.nodeValue) ? S : V) : V; - } - return V === S ? undefined : V; - } - function g(U, T) { - var S = {}; - var V; - (function () { - var ad = U.concat(T); - var ah = []; - var ag = {}; - for (var ab = 0, Z = ad.length; ab < Z; ++ab) { - var Y = ad[ab]; - var ac = Y[3]; - if (ac) { - for (var ae = ac.length; --ae >= 0; ) { - S[ac.charAt(ae)] = Y; - } - } - var af = Y[1]; - var aa = '' + af; - if (!ag.hasOwnProperty(aa)) { - ah.push(af); - ag[aa] = null; - } - } - ah.push(/[\0-\uffff]/); - V = k(ah); - })(); - var X = T.length; - var W = function (ah) { - var Z = ah.sourceCode, - Y = ah.basePos; - var ad = [Y, F]; - var af = 0; - var an = Z.match(V) || []; - var aj = {}; - for (var ae = 0, aq = an.length; ae < aq; ++ae) { - var ag = an[ae]; - var ap = aj[ag]; - var ai = void 0; - var am; - if (typeof ap === 'string') { - am = false; - } else { - var aa = S[ag.charAt(0)]; - if (aa) { - ai = ag.match(aa[1]); - ap = aa[0]; - } else { - for (var ao = 0; ao < X; ++ao) { - aa = T[ao]; - ai = ag.match(aa[1]); - if (ai) { - ap = aa[0]; - break; - } - } - if (!ai) { - ap = F; - } - } - am = ap.length >= 5 && 'lang-' === ap.substring(0, 5); - if (am && !(ai && typeof ai[1] === 'string')) { - am = false; - ap = J; - } - if (!am) { - aj[ag] = ap; - } - } - var ab = af; - af += ag.length; - if (!am) { - ad.push(Y + ab, ap); - } else { - var al = ai[1]; - var ak = ag.indexOf(al); - var ac = ak + al.length; - if (ai[2]) { - ac = ag.length - ai[2].length; - ak = ac - al.length; - } - var ar = ap.substring(5); - B(Y + ab, ag.substring(0, ak), W, ad); - B(Y + ab + ak, al, q(ar, al), ad); - B(Y + ab + ac, ag.substring(ac), W, ad); - } - } - ah.decorations = ad; - }; - return W; - } - function i(T) { - var W = [], - S = []; - if (T.tripleQuotedStrings) { - W.push([ - C, - /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, - null, - '\'"', - ]); - } else { - if (T.multiLineStrings) { - W.push([ - C, - /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, - null, - '\'"`', - ]); - } else { - W.push([ - C, - /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, - null, - '"\'', - ]); - } - } - if (T.verbatimStrings) { - S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]); - } - var Y = T.hashComments; - if (Y) { - if (T.cStyleComments) { - if (Y > 1) { - W.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']); - } else { - W.push([ - j, - /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/, - null, - '#', - ]); - } - S.push([C, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, null]); - } else { - W.push([j, /^#[^\r\n]*/, null, '#']); - } - } - if (T.cStyleComments) { - S.push([j, /^\/\/[^\r\n]*/, null]); - S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]); - } - if (T.regexLiterals) { - var X = - '/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/'; - S.push(['lang-regex', new RegExp('^' + M + '(' + X + ')')]); - } - var V = T.types; - if (V) { - S.push([O, V]); - } - var U = ('' + T.keywords).replace(/^ | $/g, ''); - if (U.length) { - S.push([z, new RegExp('^(?:' + U.replace(/[\s,]+/g, '|') + ')\\b'), null]); - } - W.push([F, /^\s+/, null, ' \r\n\t\xA0']); - S.push( - [G, /^@[a-z_$][a-z_$@0-9]*/i, null], - [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], - [F, /^[a-z_$][a-z_$@0-9]*/i, null], - [ - G, - new RegExp( - '^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*', - 'i' - ), - null, - '0123456789', - ], - [F, /^\\[\s\S]?/, null], - [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null] - ); - return g(W, S); - } - var K = i({ - keywords: A, - hashComments: true, - cStyleComments: true, - multiLineStrings: true, - regexLiterals: true, - }); - function Q(V, ag) { - var U = /(?:^|\s)nocode(?:\s|$)/; - var ab = /\r\n?|\n/; - var ac = V.ownerDocument; - var S; - if (V.currentStyle) { - S = V.currentStyle.whiteSpace; - } else { - if (window.getComputedStyle) { - S = ac.defaultView.getComputedStyle(V, null).getPropertyValue('white-space'); - } - } - var Z = S && 'pre' === S.substring(0, 3); - var af = ac.createElement('LI'); - while (V.firstChild) { - af.appendChild(V.firstChild); - } - var W = [af]; - function ae(al) { - switch (al.nodeType) { - case 1: - if (U.test(al.className)) { - break; - } - if ('BR' === al.nodeName) { - ad(al); - if (al.parentNode) { - al.parentNode.removeChild(al); - } - } else { - for (var an = al.firstChild; an; an = an.nextSibling) { - ae(an); - } - } - break; - case 3: - case 4: - if (Z) { - var am = al.nodeValue; - var aj = am.match(ab); - if (aj) { - var ai = am.substring(0, aj.index); - al.nodeValue = ai; - var ah = am.substring(aj.index + aj[0].length); - if (ah) { - var ak = al.parentNode; - ak.insertBefore(ac.createTextNode(ah), al.nextSibling); - } - ad(al); - if (!ai) { - al.parentNode.removeChild(al); - } - } - } - break; - } - } - function ad(ak) { - while (!ak.nextSibling) { - ak = ak.parentNode; - if (!ak) { - return; - } - } - function ai(al, ar) { - var aq = ar ? al.cloneNode(false) : al; - var ao = al.parentNode; - if (ao) { - var ap = ai(ao, 1); - var an = al.nextSibling; - ap.appendChild(aq); - for (var am = an; am; am = an) { - an = am.nextSibling; - ap.appendChild(am); - } - } - return aq; - } - var ah = ai(ak.nextSibling, 0); - for (var aj; (aj = ah.parentNode) && aj.nodeType === 1; ) { - ah = aj; - } - W.push(ah); - } - for (var Y = 0; Y < W.length; ++Y) { - ae(W[Y]); - } - if (ag === (ag | 0)) { - W[0].setAttribute('value', ag); - } - var aa = ac.createElement('OL'); - aa.className = 'linenums'; - var X = Math.max(0, (ag - 1) | 0) || 0; - for (var Y = 0, T = W.length; Y < T; ++Y) { - af = W[Y]; - af.className = 'L' + ((Y + X) % 10); - if (!af.firstChild) { - af.appendChild(ac.createTextNode('\xA0')); - } - aa.appendChild(af); - } - V.appendChild(aa); - } - function D(ac) { - var aj = /\bMSIE\b/.test(navigator.userAgent); - var am = /\n/g; - var al = ac.sourceCode; - var an = al.length; - var V = 0; - var aa = ac.spans; - var T = aa.length; - var ah = 0; - var X = ac.decorations; - var Y = X.length; - var Z = 0; - X[Y] = an; - var ar, aq; - for (aq = ar = 0; aq < Y; ) { - if (X[aq] !== X[aq + 2]) { - X[ar++] = X[aq++]; - X[ar++] = X[aq++]; - } else { - aq += 2; - } - } - Y = ar; - for (aq = ar = 0; aq < Y; ) { - var at = X[aq]; - var ab = X[aq + 1]; - var W = aq + 2; - while (W + 2 <= Y && X[W + 1] === ab) { - W += 2; - } - X[ar++] = at; - X[ar++] = ab; - aq = W; - } - Y = X.length = ar; - var ae = null; - while (ah < T) { - var af = aa[ah]; - var S = aa[ah + 2] || an; - var ag = X[Z]; - var ap = X[Z + 2] || an; - var W = Math.min(S, ap); - var ak = aa[ah + 1]; - var U; - if (ak.nodeType !== 1 && (U = al.substring(V, W))) { - if (aj) { - U = U.replace(am, '\r'); - } - ak.nodeValue = U; - var ai = ak.ownerDocument; - var ao = ai.createElement('SPAN'); - ao.className = X[Z + 1]; - var ad = ak.parentNode; - ad.replaceChild(ao, ak); - ao.appendChild(ak); - if (V < S) { - aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S)); - ad.insertBefore(ak, ao.nextSibling); - } - } - V = W; - if (V >= S) { - ah += 2; - } - if (V >= ap) { - Z += 2; - } - } - } - var t = {}; - function c(U, V) { - for (var S = V.length; --S >= 0; ) { - var T = V[S]; - if (!t.hasOwnProperty(T)) { - t[T] = U; - } else { - if (window.console) { - console.warn('cannot override language handler %s', T); - } - } - } - } - function q(T, S) { - if (!(T && t.hasOwnProperty(T))) { - T = /^\s*]*(?:>|$)/], - [j, /^<\!--[\s\S]*?(?:-\->|$)/], - ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], - ['lang-', /^<%([\s\S]+?)(?:%>|$)/], - [L, /^(?:<[%?]|[%?]>)/], - ['lang-', /^]*>([\s\S]+?)<\/xmp\b[^>]*>/i], - ['lang-js', /^]*>([\s\S]*?)(<\/script\b[^>]*>)/i], - ['lang-css', /^]*>([\s\S]*?)(<\/style\b[^>]*>)/i], - ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], - ] - ), - ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl'] - ); - c( - g( - [ - [F, /^[\s]+/, null, ' \t\r\n'], - [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '"\''], - ], - [ - [m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], - [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], - ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], - [L, /^[=<>\/]+/], - ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i], - ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i], - ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i], - ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i], - ['lang-css', /^style\s*=\s*\'([^\']+)\'/i], - ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i], - ] - ), - ['in.tag'] - ); - c(g([], [[n, /^[\s\S]+/]]), ['uq.val']); - c(i({ keywords: l, hashComments: true, cStyleComments: true, types: e }), [ - 'c', - 'cc', - 'cpp', - 'cxx', - 'cyc', - 'm', - ]); - c(i({ keywords: 'null,true,false' }), ['json']); - c(i({ keywords: R, hashComments: true, cStyleComments: true, verbatimStrings: true, types: e }), [ - 'cs', - ]); - c(i({ keywords: x, cStyleComments: true }), ['java']); - c(i({ keywords: H, hashComments: true, multiLineStrings: true }), ['bsh', 'csh', 'sh']); - c(i({ keywords: I, hashComments: true, multiLineStrings: true, tripleQuotedStrings: true }), [ - 'cv', - 'py', - ]); - c(i({ keywords: s, hashComments: true, multiLineStrings: true, regexLiterals: true }), [ - 'perl', - 'pl', - 'pm', - ]); - c(i({ keywords: f, hashComments: true, multiLineStrings: true, regexLiterals: true }), ['rb']); - c(i({ keywords: w, cStyleComments: true, regexLiterals: true }), ['js']); - c( - i({ - keywords: r, - hashComments: 3, - cStyleComments: true, - multilineStrings: true, - tripleQuotedStrings: true, - regexLiterals: true, - }), - ['coffee'] - ); - c(g([], [[C, /^[\s\S]+/]]), ['regex']); - function d(V) { - var U = V.langExtension; - try { - var S = a(V.sourceNode); - var T = S.sourceCode; - V.sourceCode = T; - V.spans = S.spans; - V.basePos = 0; - q(U, T)(V); - D(V); - } catch (W) { - if ('console' in window) { - console.log(W && W.stack ? W.stack : W); - } - } - } - function y(W, V, U) { - var S = document.createElement('PRE'); - S.innerHTML = W; - if (U) { - Q(S, U); - } - var T = { langExtension: V, numberLines: U, sourceNode: S }; - d(T); - return S.innerHTML; - } - function b(ad) { - function Y(af) { - return document.getElementsByTagName(af); - } - var ac = [Y('pre'), Y('code'), Y('xmp')]; - var T = []; - for (var aa = 0; aa < ac.length; ++aa) { - for (var Z = 0, V = ac[aa].length; Z < V; ++Z) { - T.push(ac[aa][Z]); - } - } - ac = null; - var W = Date; - if (!W.now) { - W = { - now: function () { - return +new Date(); - }, - }; - } - var X = 0; - var S; - var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/; - var ae = /\bprettyprint\b/; - function U() { - var ag = window.PR_SHOULD_USE_CONTINUATION ? W.now() + 250 : Infinity; - for (; X < T.length && W.now() < ag; X++) { - var aj = T[X]; - var ai = aj.className; - if (ai.indexOf('prettyprint') >= 0) { - var ah = ai.match(ab); - var am; - if (!ah && (am = o(aj)) && 'CODE' === am.tagName) { - ah = am.className.match(ab); - } - if (ah) { - ah = ah[1]; - } - var al = false; - for (var ak = aj.parentNode; ak; ak = ak.parentNode) { - if ( - (ak.tagName === 'pre' || ak.tagName === 'code' || ak.tagName === 'xmp') && - ak.className && - ak.className.indexOf('prettyprint') >= 0 - ) { - al = true; - break; - } - } - if (!al) { - var af = aj.className.match(/\blinenums\b(?::(\d+))?/); - af = af ? (af[1] && af[1].length ? +af[1] : true) : false; - if (af) { - Q(aj, af); - } - S = { langExtension: ah, sourceNode: aj, numberLines: af }; - d(S); - } - } - } - if (X < T.length) { - setTimeout(U, 250); - } else { - if (ad) { - ad(); - } - } - } - U(); - } - window.prettyPrintOne = y; - window.prettyPrint = b; - window.PR = { - createSimpleLexer: g, - registerLangHandler: c, - sourceDecorator: i, - PR_ATTRIB_NAME: P, - PR_ATTRIB_VALUE: n, - PR_COMMENT: j, - PR_DECLARATION: E, - PR_KEYWORD: z, - PR_LITERAL: G, - PR_NOCODE: N, - PR_PLAIN: F, - PR_PUNCTUATION: L, - PR_SOURCE: J, - PR_STRING: C, - PR_TAG: m, - PR_TYPE: O, - }; -})(); -PR.registerLangHandler( - PR.createSimpleLexer( - [], - [ - [PR.PR_DECLARATION, /^]*(?:>|$)/], - [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], - [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], - ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], - ['lang-', /^<%([\s\S]+?)(?:%>|$)/], - ['lang-', /^]*>([\s\S]+?)<\/xmp\b[^>]*>/i], - [ - 'lang-handlebars', - /^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i, - ], - ['lang-js', /^]*>([\s\S]*?)(<\/script\b[^>]*>)/i], - ['lang-css', /^]*>([\s\S]*?)(<\/style\b[^>]*>)/i], - ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], - [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/], - [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/], - [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/], - [PR.PR_COMMENT, /^{{![^}]*}}/], - ] - ), - ['handlebars', 'hbs'] -); -PR.registerLangHandler( - PR.createSimpleLexer( - [[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, ' \t\r\n\f']], - [ - [PR.PR_STRING, /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null], - [PR.PR_STRING, /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null], - ['lang-css-str', /^url\(([^\)\"\']*)\)/i], - [ - PR.PR_KEYWORD, - /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i, - null, - ], - ['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i], - [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], - [PR.PR_COMMENT, /^(?:)/], - [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], - [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i], - [PR.PR_PLAIN, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i], - [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/], - ] - ), - ['css'] -); -PR.registerLangHandler( - PR.createSimpleLexer( - [], - [[PR.PR_KEYWORD, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]] - ), - ['css-kw'] -); -PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]), ['css-str']); +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html index bad86f5..b13eebe 100644 --- a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html @@ -1,64 +1,68 @@ + - + + Code coverage report for renderer/src/components/clips/clip/BookmarkClip.tsx - - - - -
-
-

- All files / - renderer/src/components/clips/clip BookmarkClip.tsx -

-
-
- 100% - Statements - 3/3 -
- -
- 100% - Branches - 2/2 -
- -
- 100% - Functions - 1/1 -
- -
- 100% - Lines - 3/3 -
+ + + +
+
+

All files / renderer/src/components/clips/clip BookmarkClip.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -124,22 +128,21 @@

};  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html index 3db982a..5386cb2 100644 --- a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html @@ -1,64 +1,68 @@ + - + + Code coverage report for renderer/src/components/clips/clip/HtmlClip.tsx - - - - -
-
-

- All files / - renderer/src/components/clips/clip HtmlClip.tsx -

-
-
- 100% - Statements - 3/3 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 1/1 -
- -
- 100% - Lines - 3/3 -
+ + + +
+
+

All files / renderer/src/components/clips/clip HtmlClip.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -115,22 +119,21 @@

};  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html index 4681315..599adb6 100644 --- a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html @@ -1,64 +1,68 @@ + - + + Code coverage report for renderer/src/components/clips/clip/ImageClip.tsx - - - - -
-
-

- All files / - renderer/src/components/clips/clip ImageClip.tsx -

-
-
- 15.62% - Statements - 5/32 -
- -
- 7.14% - Branches - 1/14 -
- -
- 33.33% - Functions - 1/3 -
- -
- 15.62% - Lines - 5/32 -
+ + + +
+
+

All files / renderer/src/components/clips/clip ImageClip.tsx

+
+ +
+ 100% + Statements + 32/32 +
+ + +
+ 100% + Branches + 13/13 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 32/32 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -157,7 +161,8 @@

96 97 98 -99

  +99 +100        @@ -168,51 +173,52 @@

    1x -3x -3x +11x +11x +  +11x +5x   -3x -  -  -  -  -  -  -  +5x +5x +5x +5x +5x +5x     -  -  +5x +5x     -  +5x   -  +2x       -  -  +5x +1x       -  +5x   -  +1x       -  -  +5x +4x     -  -  -  +5x +5x +5x       -3x +11x       @@ -221,13 +227,13 @@

      -  -  -  -  -  -  -  +2x +2x +2x +2x +2x +2x +2x       @@ -269,44 +275,45 @@

const { isLight } = useTheme(); const popoverRef = useRef<HTMLDivElement>(null);   - const handleImageMouseEnter = (e: React.MouseEvent<HTMLImageElement>) => { - const popover = popoverRef.current; - if (popover) { - const rect = e.currentTarget.getBoundingClientRect(); - const viewportHeight = window.innerHeight; - const viewportWidth = window.innerWidth; - const popoverHeight = 320; // 20rem max-height - const popoverWidth = 320; // 20rem max-width + const handleImageMouseEnter = (e: React.MouseEvent<HTMLImageElement>) => { + const popover = popoverRef.current; + /* istanbul ignore else -- @preserve */ + if (popover) { + const rect = e.currentTarget.getBoundingClientRect(); + const viewportHeight = window.innerHeight; + const viewportWidth = window.innerWidth; + const popoverHeight = 320; // 20rem max-height + const popoverWidth = 320; // 20rem max-width   // Calculate preferred position (to the right of the image) - let left = rect.right + 16; - let top = rect.top + rect.height / 2 - popoverHeight / 2; // Center the popover vertically on the image + let left = rect.right + 16; + let top = rect.top + rect.height / 2 - popoverHeight / 2; // Center the popover vertically on the image   // Check if popover would extend beyond right edge of viewport - if (left + popoverWidth > viewportWidth) { + if (left + popoverWidth > viewportWidth) { // Position to the left of the image instead - left = rect.left - popoverWidth - 16; + left = rect.left - popoverWidth - 16; }   // Ensure popover doesn't go beyond left edge - if (left < 16) { - left = 16; + if (left < 16) { + left = 16; }   // Check if popover would extend beyond bottom of viewport - if (top + popoverHeight > viewportHeight) { + if (top + popoverHeight > viewportHeight) { // Position at bottom edge of viewport with padding - top = viewportHeight - popoverHeight - 16; + top = viewportHeight - popoverHeight - 16; }   // Check if popover would extend beyond top of viewport - if (top < 16) { - top = 16; + if (top < 16) { + top = 16; }   - popover.style.left = `${left}px`; - popover.style.top = `${top}px`; - popover.style.transform = 'none'; // Always use none since we calculate exact position + popover.style.left = `${left}px`; + popover.style.top = `${top}px`; + popover.style.transform = 'none'; // Always use none since we calculate exact position } };   @@ -317,15 +324,15 @@

alt="Clipboard image preview" className={classNames(styles.imagePreview, { [styles.light]: isLight })} onMouseEnter={handleImageMouseEnter} - onError={(e) => { + onError={(e) => { // Fallback to text if image fails to load - const target = e.target as HTMLImageElement; - target.style.display = 'none'; - const fallback = document.createElement('span'); - fallback.textContent = 'Invalid image data'; - fallback.style.color = isLight ? '#666666' : 'rgb(156 163 175)'; - fallback.style.fontSize = '0.75rem'; - target.parentNode?.appendChild(fallback); + const target = e.target as HTMLImageElement; + target.style.display = 'none'; + const fallback = document.createElement('span'); + fallback.textContent = 'Invalid image data'; + fallback.style.color = isLight ? '#666666' : 'rgb(156 163 175)'; + fallback.style.fontSize = '0.75rem'; + target.parentNode?.appendChild(fallback); }} /> <div @@ -343,7 +350,7 @@

Image ( {clip.content.startsWith('data:image/') ? clip.content.split(';')[0].split('/')[1].toUpperCase() - : 'Unknown format'} + : 'Unknown format'} ) </span> <span className={classNames(styles.imageSize, { [styles.light]: isLight })}> @@ -355,22 +362,21 @@

};  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html index 2d086b1..6cf044c 100644 --- a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html @@ -1,64 +1,68 @@ + - + + Code coverage report for renderer/src/components/clips/clip/TextClip.tsx - - - - -
-
-

- All files / - renderer/src/components/clips/clip TextClip.tsx -

-
-
- 29.68% - Statements - 19/64 -
- -
- 15.55% - Branches - 7/45 -
- -
- 27.27% - Functions - 3/11 -
- -
- 29.68% - Lines - 19/64 -
+ + + +
+
+

All files / renderer/src/components/clips/clip TextClip.tsx

+
+ +
+ 100% + Statements + 64/64 +
+ + +
+ 100% + Branches + 44/44 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 100% + Lines + 64/64 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -281,7 +285,8 @@

220 221 222 -223

  +223 +224        @@ -298,107 +303,108 @@

    1x -3x -3x +62x +62x     -3x -3x -3x -3x +62x +62x +62x +62x     -3x -3x -  -  -  -  +62x +62x +28x +28x +28x +28x     -  -  -  +28x +28x +4x           -3x +62x   -  -  +9x +2x     -  -  -  +9x   +2x +2x             -3x -3x -  -    +62x +26x +26x +7x       -3x -  -  -  -    +62x +20x +19x +19x +19x     -3x -  -  -    +62x +9x +9x +9x   -3x -  -    -  -  -  -  +62x +5x +5x +  +5x +3x +3x +2x         +62x +6x +1x +1x +5x 3x -  -  -  -  -  -  -  -  -  +3x +3x +3x +1x         -3x +62x   -  +28x   -  -  -  -  -  +28x +4x +4x +4x +4x   -  +4x       @@ -428,7 +434,7 @@

      -  +4x       @@ -460,7 +466,7 @@

      -  +24x       @@ -484,11 +490,11 @@

      -3x +34x       -3x +34x       @@ -531,30 +537,31 @@

  // Auto-resize textarea useEffect(() => { - Iif (isEditing && textareaRef.current) { - const textarea = textareaRef.current; - textarea.style.height = 'auto'; - const newHeight = `${textarea.scrollHeight}px`; - textarea.style.height = newHeight; + if (isEditing && textareaRef.current) { + const textarea = textareaRef.current; + textarea.style.height = 'auto'; + const newHeight = `${textarea.scrollHeight}px`; + textarea.style.height = newHeight;   // Also update the syntax highlighter container if it exists - const container = textarea.parentElement?.querySelector('.syntaxHighlightContainer'); - if (container) { - (container as HTMLElement).style.height = newHeight; + const container = textarea.closest(`.${styles.syntaxHighlightContainer}`); + if (container) { + (container as HTMLElement).style.height = newHeight; } } }, [isEditing, editValue]);   // Debounced update function const debouncedUpdate = useCallback( - (newContent: string) => { - if (debounceRef.current) { - clearTimeout(debounceRef.current); + (newContent: string) => { + if (debounceRef.current) { + clearTimeout(debounceRef.current); }   - debounceRef.current = setTimeout(() => { - if (newContent !== clip.content) { - onUpdate(newContent); + debounceRef.current = setTimeout(() => { + /* istanbul ignore else -- @preserve */ + if (newContent !== clip.content) { + onUpdate(newContent); } }, 500); // 500ms debounce }, @@ -563,64 +570,64 @@

  // Clean up timeout on unmount useEffect(() => { - return () => { - if (debounceRef.current) { - clearTimeout(debounceRef.current); + return () => { + if (debounceRef.current) { + clearTimeout(debounceRef.current); } }; }, []);   - const handleTextClick = () => { - if (clip.content.trim() !== '') { - setIsEditing(true); - setEditValue(clip.content); - onEditingChange?.(true); + const handleTextClick = () => { + if (clip.content.trim() !== '') { + setIsEditing(true); + setEditValue(clip.content); + onEditingChange?.(true); } };   - const handleTextChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => { - const newValue = e.target.value; - setEditValue(newValue); - debouncedUpdate(newValue); + const handleTextChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => { + const newValue = e.target.value; + setEditValue(newValue); + debouncedUpdate(newValue); };   - const handleTextBlur = () => { - setIsEditing(false); - onEditingChange?.(false); + const handleTextBlur = () => { + setIsEditing(false); + onEditingChange?.(false); // Force immediate update on blur if there are pending changes - if (debounceRef.current) { - clearTimeout(debounceRef.current); - if (editValue !== clip.content) { - onUpdate(editValue); + if (debounceRef.current) { + clearTimeout(debounceRef.current); + if (editValue !== clip.content) { + onUpdate(editValue); } } };   - const handleTextKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => { - if (e.key === 'Enter' && !e.shiftKey) { - e.preventDefault(); - handleTextBlur(); - } else if (e.key === 'Escape') { - setEditValue(clip.content); // Reset to original value - setIsEditing(false); - onEditingChange?.(false); - if (debounceRef.current) { - clearTimeout(debounceRef.current); + const handleTextKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => { + if (e.key === 'Enter' && !e.shiftKey) { + e.preventDefault(); + handleTextBlur(); + } else if (e.key === 'Escape') { + setEditValue(clip.content); // Reset to original value + setIsEditing(false); + onEditingChange?.(false); + if (debounceRef.current) { + clearTimeout(debounceRef.current); } } };   - Iif (isEditing) { + if (isEditing) { // Check if syntax highlighting should be applied - const shouldHighlight = isCodeDetectionEnabled && clip.isCode && clip.language; + const shouldHighlight = isCodeDetectionEnabled && clip.isCode && clip.language;   - if (shouldHighlight) { - const syntaxLanguage = mapToSyntaxHighlighterLanguage(clip.language!); - const syntaxStyle = isLight ? materialLight : materialDark; - const borderColor = isLight ? '#d0d0d0' : '#404040'; - const backgroundColor = isLight ? '#f8f8f8' : '#404040'; + if (shouldHighlight) { + const syntaxLanguage = mapToSyntaxHighlighterLanguage(clip.language!); + const syntaxStyle = isLight ? materialLight : materialDark; + const borderColor = isLight ? '#d0d0d0' : '#404040'; + const backgroundColor = isLight ? '#f8f8f8' : '#404040';   - return ( + return ( <div className={styles.textEditorWrapper}> <div className={styles.syntaxHighlightContainer}> <SyntaxHighlighter @@ -649,8 +656,8 @@

}, }} preTag="pre" - PreTag={({ children, ...props }) => ( - <pre {...props} style={{ ...props.style, margin: 0, padding: '0.125rem 0.25rem' }}> + PreTag={({ children, ...props }) => ( + <pre {...props} style={{ ...props.style, margin: 0, padding: '0.125rem 0.25rem' }}> {children} </pre> )} @@ -682,7 +689,7 @@

); } else { // Regular textarea without syntax highlighting - return ( + return ( <div className={styles.textEditorWrapper}> <textarea ref={textareaRef} @@ -727,22 +734,21 @@

};  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/index.html b/coverage/renderer/src/components/clips/clip/index.html index 09f7ac0..afde1a7 100644 --- a/coverage/renderer/src/components/clips/clip/index.html +++ b/coverage/renderer/src/components/clips/clip/index.html @@ -1,185 +1,161 @@ + - + + Code coverage report for renderer/src/components/clips/clip - - - - -
-
-

- All files renderer/src/components/clips/clip -

-
-
- 29.41% - Statements - 30/102 -
- -
- 16.39% - Branches - 10/61 -
- -
- 37.5% - Functions - 6/16 -
- -
- 29.41% - Lines - 30/102 -
+ + + +
+
+

All files renderer/src/components/clips/clip

+
+ +
+ 100% + Statements + 102/102 +
+ + +
+ 100% + Branches + 59/59 +
+ + +
+ 100% + Functions + 16/16 +
+ + +
+ 100% + Lines + 102/102 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
File - Statements - BranchesFunctionsLines
- BookmarkClip.tsx - -
-
-
-
-
100%3/3100%2/2100%1/1100%3/3
+ + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
BookmarkClip.tsx +
+
100%3/3100%2/2100%1/1100%3/3
- HtmlClip.tsx - -
-
-
-
-
100%3/3100%0/0100%1/1100%3/3
HtmlClip.tsx +
+
100%3/3100%0/0100%1/1100%3/3
- ImageClip.tsx - -
-
-
-
-
15.62%5/327.14%1/1433.33%1/315.62%5/32
ImageClip.tsx +
+
100%32/32100%13/13100%3/3100%32/32
- TextClip.tsx - -
-
-
-
-
29.68%19/6415.55%7/4527.27%3/1129.68%19/64
-
-
- -
- - - - - - - + + TextClip.tsx + +
+ + 100% + 64/64 + 100% + 44/44 + 100% + 11/11 + 100% + 64/64 + + + + +
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/hooks/index.html b/coverage/renderer/src/hooks/index.html index 5d573ae..ebe0cb4 100644 --- a/coverage/renderer/src/hooks/index.html +++ b/coverage/renderer/src/hooks/index.html @@ -1,123 +1,116 @@ + - + + Code coverage report for renderer/src/hooks - - - - -
-
+ + + +
+

All files renderer/src/hooks

-
-
- 77.77% - Statements - 21/27 -
- -
- 60% - Branches - 6/10 -
- -
- 75% - Functions - 3/4 -
- -
- 77.77% - Lines - 21/27 -
+
+ +
+ 100% + Statements + 27/27 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 27/27 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- usePatternDetection.ts - -
-
-
-
-
77.77%21/2760%6/1075%3/477.77%21/27
-
-
-
- - - - - - - +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
usePatternDetection.ts +
+
100%27/27100%10/10100%4/4100%27/27
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/hooks/usePatternDetection.ts.html b/coverage/renderer/src/hooks/usePatternDetection.ts.html index 671c2b1..b180a76 100644 --- a/coverage/renderer/src/hooks/usePatternDetection.ts.html +++ b/coverage/renderer/src/hooks/usePatternDetection.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for renderer/src/hooks/usePatternDetection.ts - - - - -
-
-

- All files / - renderer/src/hooks usePatternDetection.ts -

-
-
- 77.77% - Statements - 21/27 -
- -
- 60% - Branches - 6/10 -
- -
- 75% - Functions - 3/4 -
- -
- 77.77% - Lines - 21/27 -
+ + + +
+
+

All files / renderer/src/hooks usePatternDetection.ts

+
+ +
+ 100% + Statements + 27/27 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 27/27 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -123,51 +127,51 @@

      +22x +22x +22x +  +22x +11x +  +11x +3x +3x +3x +  +  +8x 7x 7x 7x   -7x 4x -  -4x -2x -2x -2x +3x +3x     +3x +3x +2x 2x -1x -1x -1x -  -1x -1x -1x -    -  -  -  -    +7x +5x   -1x -1x         +8x   -2x +8x +4x +4x   -2x -  -      -  -7x +22x       @@ -198,18 +202,18 @@

try { const matches = await window.api.quickClipsScanText(content);   - Eif (!isCancelled) { + if (!isCancelled) { setPatterns(matches); setHasPatterns(matches.length > 0); } } catch (error) { - console.error('Failed to scan for patterns:', error); - if (!isCancelled) { - setPatterns([]); - setHasPatterns(false); + console.error('Failed to scan for patterns:', error); + if (!isCancelled) { + setPatterns([]); + setHasPatterns(false); } } finally { - Eif (!isCancelled) { + if (!isCancelled) { setLoading(false); } } @@ -218,9 +222,9 @@

// Debounce pattern detection to avoid excessive API calls const timeoutId = setTimeout(detectPatterns, 300);   - return () => { - isCancelled = true; - clearTimeout(timeoutId); + return () => { + isCancelled = true; + clearTimeout(timeoutId); }; }, [content]);   @@ -232,22 +236,21 @@

}  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/providers/index.html b/coverage/renderer/src/providers/index.html index 825d2b8..e9649f8 100644 --- a/coverage/renderer/src/providers/index.html +++ b/coverage/renderer/src/providers/index.html @@ -1,123 +1,116 @@ + - + + Code coverage report for renderer/src/providers - - - - -
-
+ + + +
+

All files renderer/src/providers

-
-
- 81.35% - Statements - 48/59 -
- -
- 60% - Branches - 12/20 -
- -
- 81.81% - Functions - 9/11 -
- -
- 85.18% - Lines - 46/54 -
+
+ +
+ 100% + Statements + 59/59 +
+ + +
+ 100% + Branches + 20/20 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 100% + Lines + 54/54 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- theme.tsx - -
-
-
-
-
81.35%48/5960%12/2081.81%9/1185.18%46/54
-
-
-
- - - - - - - +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
theme.tsx +
+
100%59/59100%20/20100%11/11100%54/54
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/providers/theme.tsx.html b/coverage/renderer/src/providers/theme.tsx.html index e9e764c..b0406a0 100644 --- a/coverage/renderer/src/providers/theme.tsx.html +++ b/coverage/renderer/src/providers/theme.tsx.html @@ -1,64 +1,68 @@ + - + + Code coverage report for renderer/src/providers/theme.tsx - - - - -
-
-

- All files / - renderer/src/providers theme.tsx -

-
-
- 81.35% - Statements - 48/59 -
- -
- 60% - Branches - 12/20 -
- -
- 81.81% - Functions - 9/11 -
- -
- 85.18% - Lines - 46/54 -
+ + + +
+
+

All files / renderer/src/providers theme.tsx

+
+ +
+ 100% + Statements + 59/59 +
+ + +
+ 100% + Branches + 20/20 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 100% + Lines + 54/54 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -223,99 +227,99 @@

    1x -5x -5x +32x +32x     -5x +32x     -4x -3x +20x +14x   -1x +6x     -4x +20x     -4x +20x +16x +16x +  4x 4x   -  -        +32x +15x +15x   -5x -3x -3x +14x +14x +13x +15x +15x   -3x -3x -3x -3x -3x +1x   -  +1x   -      +15x   -3x     +32x +15x   -5x -3x +13x +2x +1x +1x   -3x -  -  -        +13x   -3x   +13x   -3x     +32x +24x   -5x -5x +18x +18x +  +18x +18x   -4x -4x   +32x 4x 4x     -5x -1x -1x -  -  -1x -1x -1x -1x +4x +3x +3x +3x         -  +1x         -5x +32x       @@ -323,15 +327,15 @@

      -5x +32x     1x -8x -8x +35x +35x 2x   -5x +32x    

import React, {
   createContext,
@@ -368,7 +372,7 @@ 

let resolvedTheme: 'light' | 'dark';   if (themePreference === 'system') { - resolvedTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; + resolvedTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; } else { resolvedTheme = themePreference; } @@ -379,26 +383,26 @@

if (resolvedTheme === 'light') { document.body.classList.add('light'); document.body.classList.remove('dark'); - } else E{ - document.body.classList.add('dark'); - document.body.classList.remove('light'); + } else { + document.body.classList.add('dark'); + document.body.classList.remove('light'); } }, []);   // Load theme from settings useEffect(() => { const loadTheme = async () => { - Iif (!window.api) return; + if (!window.api) return;   try { const settings: UserSettings = await window.api.storageGetSettings(); - const userTheme = settings?.theme || 'system'; + const userTheme = settings?.theme || 'system'; setThemeState(userTheme); updateEffectiveTheme(userTheme); } catch (error) { - console.error('Failed to load theme settings:', error); + console.error('Failed to load theme settings:', error); // Default to system theme - updateEffectiveTheme('system'); + updateEffectiveTheme('system'); } };   @@ -407,12 +411,12 @@

  // Listen for settings changes from other windows useEffect(() => { - Iif (!window.api?.onSettingsUpdated) return; + if (!window.api?.onSettingsUpdated) return;   - const handleSettingsUpdate = (updatedSettings: UserSettings) => { - if (updatedSettings.theme) { - setThemeState(updatedSettings.theme); - updateEffectiveTheme(updatedSettings.theme); + const handleSettingsUpdate = (updatedSettings: UserSettings) => { + if (updatedSettings.theme) { + setThemeState(updatedSettings.theme); + updateEffectiveTheme(updatedSettings.theme); } };   @@ -428,7 +432,7 @@

if (theme !== 'system') return;   const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); - const handleChange = () => updateEffectiveTheme('system'); + const handleChange = () => updateEffectiveTheme('system');   mediaQuery.addEventListener('change', handleChange); return () => mediaQuery.removeEventListener('change', handleChange); @@ -439,7 +443,7 @@

updateEffectiveTheme(newTheme);   // Save theme to settings - Eif (window.api) { + if (window.api) { try { const currentSettings: UserSettings = await window.api.storageGetSettings(); await window.api.storageSaveSettings({ @@ -447,7 +451,7 @@

theme: newTheme, }); } catch (error) { - console.error('Failed to save theme settings:', error); + console.error('Failed to save theme settings:', error); } } }; @@ -472,22 +476,21 @@

};  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/utils/index.html b/coverage/renderer/src/utils/index.html index 3a71685..7d2f68d 100644 --- a/coverage/renderer/src/utils/index.html +++ b/coverage/renderer/src/utils/index.html @@ -1,123 +1,116 @@ + - + + Code coverage report for renderer/src/utils - - - - -
-
+ + + +
+

All files renderer/src/utils

-
-
- 90.56% - Statements - 48/53 -
- -
- 76.47% - Branches - 26/34 -
- -
- 100% - Functions - 12/12 -
- -
- 90.38% - Lines - 47/52 -
+
+ +
+ 100% + Statements + 53/53 +
+ + +
+ 100% + Branches + 34/34 +
+ + +
+ 100% + Functions + 12/12 +
+ + +
+ 100% + Lines + 52/52 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- languageDetection.ts - -
-
-
-
-
90.56%48/5376.47%26/34100%12/1290.38%47/52
-
-
-
- - - - - - - +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
languageDetection.ts +
+
100%53/53100%34/34100%12/12100%52/52
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/renderer/src/utils/languageDetection.ts.html b/coverage/renderer/src/utils/languageDetection.ts.html index 074f518..a9303d6 100644 --- a/coverage/renderer/src/utils/languageDetection.ts.html +++ b/coverage/renderer/src/utils/languageDetection.ts.html @@ -1,64 +1,68 @@ + - + + Code coverage report for renderer/src/utils/languageDetection.ts - - - - -
-
-

- All files / - renderer/src/utils languageDetection.ts -

-
-
- 90.56% - Statements - 48/53 -
- -
- 76.47% - Branches - 26/34 -
- -
- 100% - Functions - 12/12 -
- -
- 90.38% - Lines - 47/52 -
+ + + +
+
+

All files / renderer/src/utils languageDetection.ts

+
+ +
+ 100% + Statements + 53/53 +
+ + +
+ 100% + Branches + 34/34 +
+ + +
+ 100% + Functions + 12/12 +
+ + +
+ 100% + Lines + 52/52 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 2 3 @@ -640,7 +644,7 @@

      -2x +1x       @@ -972,66 +976,66 @@

      -8x +15x   -2x +5x     -6x +10x     -6x -84x +10x +140x     -6x +10x   -6x -84x +10x +140x     -84x -792x -792x -792x -21x +140x +1320x +1320x +1320x +42x         -84x -606x -606x -23x +140x +1010x +1010x +41x         -84x -156x -  +140x +260x +1x         -84x +140x   -84x +140x       -6x -6x +10x +10x   -6x -84x +10x +140x   -9x -9x +16x +16x       -6x +10x       @@ -1040,18 +1044,18 @@

      -6x +16x   -2x +5x       -4x -3x +11x +7x       -1x +4x       @@ -1079,29 +1083,29 @@

      -1x -1x +4x +4x   -1x -25x -25x -  -  +4x +100x +100x +6x +6x         -1x +4x   -1x +4x   -  1x +3x   -1x +2x     -  +1x       @@ -1110,7 +1114,7 @@

      -4x +11x       @@ -1123,7 +1127,7 @@

      -22x +70x       @@ -1553,8 +1557,8 @@

  // Bonus for file extension mentions (if any) lang.extensions.forEach((ext) => { - Iif (lowerText.includes(ext)) { - score += 5; + if (lowerText.includes(ext)) { + score += 5; } });   @@ -1629,24 +1633,24 @@

  codeIndicators.forEach((pattern) => { const matches = text.match(pattern); - Iif (matches) { - indicatorCount += 1; - totalMatches += matches.length; + if (matches) { + indicatorCount += 1; + totalMatches += matches.length; } });   // More lenient detection for small snippets const textLength = text.trim().length;   - Iif (textLength < 20) { + if (textLength < 20) { // Very small snippets: need at least 1 strong indicator - return indicatorCount >= 1 && totalMatches >= 1; + return indicatorCount >= 1 && totalMatches >= 1; } else if (textLength < 50) { // Small snippets: need at least 2 indicators return indicatorCount >= 2 || totalMatches >= 3; - } else E{ + } else { // Larger snippets: use original threshold - return indicatorCount >= 3 || totalMatches >= 4; + return indicatorCount >= 3 || totalMatches >= 4; } }   @@ -1696,22 +1700,21 @@

}  

-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/shared/constants.ts.html b/coverage/shared/constants.ts.html index 41ed966..e70e649 100644 --- a/coverage/shared/constants.ts.html +++ b/coverage/shared/constants.ts.html @@ -1,84 +1,88 @@ + - + + Code coverage report for shared/constants.ts - - - - -
-
-

- All files / shared constants.ts -

-
-
- 100% - Statements - 1/1 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 0/0 -
- -
- 100% - Lines - 1/1 -
+ + + +
+
+

All files / shared constants.ts

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-

+    
+    
+
1 21x  
export const DEFAULT_MAX_CLIPS = 100;
  
-
- -
- - - - - - - +
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/shared/index.html b/coverage/shared/index.html index 6ddc888..505f653 100644 --- a/coverage/shared/index.html +++ b/coverage/shared/index.html @@ -1,123 +1,116 @@ + - + + Code coverage report for shared - - - - -
-
+ + + +
+

All files shared

-
-
- 100% - Statements - 1/1 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 0/0 -
- -
- 100% - Lines - 1/1 -
+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ +

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. + Press n or j to go to the next uncovered block, b, p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- constants.ts - -
-
-
-
-
100%1/1100%0/0100%0/0100%1/1
-
-
-
- - - - - - - +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
constants.ts +
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/coverage/sorter.js b/coverage/sorter.js index b73cd86..4ed70ae 100644 --- a/coverage/sorter.js +++ b/coverage/sorter.js @@ -1,205 +1,210 @@ /* eslint-disable */ -var addSorting = (function () { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false, - }; +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; - } - - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - - // Try to create a RegExp from the searchValue. If it fails (invalid regex), - // it will be treated as a plain text search - let searchRegex; - try { - searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive - } catch (error) { - searchRegex = null; + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; } - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - let isMatch = false; - - if (searchRegex) { - // If a valid regex was created, use it for matching - isMatch = searchRegex.test(row.textContent); - } else { - // Otherwise, fall back to the original plain text search - isMatch = row.textContent.toLowerCase().includes(searchValue.toLowerCase()); - } + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + + // Try to create a RegExp from the searchValue. If it fails (invalid regex), + // it will be treated as a plain text search + let searchRegex; + try { + searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive + } catch (error) { + searchRegex = null; + } - row.style.display = isMatch ? '' : 'none'; - } - } - - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); - } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string', - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = colNode.innerHTML + ''; - } + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + let isMatch = false; + + if (searchRegex) { + // If a valid regex was created, use it for matching + isMatch = searchRegex.test(row.textContent); + } else { + // Otherwise, fall back to the original plain text search + isMatch = row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()); + } + + row.style.display = isMatch ? '' : 'none'; + } } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function (a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function (a, b) { - return -1 * sorter(a, b); - }; + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } - rows.sort(finalSorter); + rows.sort(finalSorter); - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function () { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); } - } } - } - // adds sorting functionality to the UI - return function () { - if (!getTable()) { - return; + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; })(); window.addEventListener('load', addSorting); diff --git a/src/main/clipboard/data.test.ts b/src/main/clipboard/data.test.ts index be4ef99..6778701 100644 --- a/src/main/clipboard/data.test.ts +++ b/src/main/clipboard/data.test.ts @@ -24,7 +24,13 @@ vi.mock('electron', () => ({ import { getCurrentClipboardData, getClipboardText, + getClipboardHTML, + getClipboardRTF, + getClipboardImage, + getClipboardBookmark, setClipboardText, + setClipboardHTML, + setClipboardRTF, setClipboardImage, setClipboardBookmark, } from './data'; @@ -70,6 +76,23 @@ describe('getCurrentClipboardData', () => { expect(result).toEqual({ type: 'image', content: 'data:image/png;base64,abc' }); }); + it('returns bookmark type when only bookmark is available', () => { + vi.mocked(clipboard.readBookmark).mockReturnValue({ title: 'Example', url: 'https://example.com' }); + const result = getCurrentClipboardData(); + expect(result).toEqual({ + type: 'bookmark', + content: JSON.stringify({ title: 'Example', url: 'https://example.com' }), + }); + }); + + it('returns null when readBookmark throws', () => { + vi.mocked(clipboard.readBookmark).mockImplementation(() => { + throw new Error('not supported'); + }); + const result = getCurrentClipboardData(); + expect(result).toBeNull(); + }); + it('returns null when clipboard is empty', () => { const result = getCurrentClipboardData(); expect(result).toBeNull(); @@ -105,6 +128,75 @@ describe('setClipboardImage', () => { }); }); +describe('getClipboardHTML', () => { + it('returns clipboard HTML', () => { + vi.mocked(clipboard.readHTML).mockReturnValue('

test

'); + expect(getClipboardHTML()).toBe('

test

'); + }); +}); + +describe('getClipboardRTF', () => { + it('returns clipboard RTF', () => { + vi.mocked(clipboard.readRTF).mockReturnValue('{\\rtf1 test}'); + expect(getClipboardRTF()).toBe('{\\rtf1 test}'); + }); +}); + +describe('getClipboardImage', () => { + it('returns data URL when image exists', () => { + vi.mocked(clipboard.readImage).mockReturnValue({ + isEmpty: () => false, + toDataURL: () => 'data:image/png;base64,abc', + } as any); + expect(getClipboardImage()).toBe('data:image/png;base64,abc'); + }); + + it('returns null when no image', () => { + vi.mocked(clipboard.readImage).mockReturnValue({ + isEmpty: () => true, + toDataURL: () => '', + } as any); + expect(getClipboardImage()).toBeNull(); + }); +}); + +describe('getClipboardBookmark', () => { + it('returns bookmark when available', () => { + vi.mocked(clipboard.readBookmark).mockReturnValue({ title: 'Test', url: 'https://test.com' }); + expect(getClipboardBookmark()).toEqual({ title: 'Test', url: 'https://test.com' }); + }); + + it('returns null when readBookmark throws', () => { + vi.mocked(clipboard.readBookmark).mockImplementation(() => { + throw new Error('not supported'); + }); + expect(getClipboardBookmark()).toBeNull(); + }); +}); + +describe('setClipboardHTML', () => { + it('writes HTML to clipboard', () => { + setClipboardHTML('

hello

'); + expect(clipboard.writeHTML).toHaveBeenCalledWith('

hello

'); + }); +}); + +describe('setClipboardRTF', () => { + it('writes RTF to clipboard', () => { + setClipboardRTF('{\\rtf1 hello}'); + expect(clipboard.writeRTF).toHaveBeenCalledWith('{\\rtf1 hello}'); + }); +}); + +describe('setClipboardImage', () => { + it('throws when createFromDataURL fails', () => { + vi.mocked(nativeImage.createFromDataURL).mockImplementation(() => { + throw new Error('invalid image'); + }); + expect(() => setClipboardImage('bad-data')).toThrow('invalid image'); + }); +}); + describe('setClipboardBookmark', () => { it('writes bookmark data', () => { setClipboardBookmark({ @@ -115,4 +207,13 @@ describe('setClipboardBookmark', () => { }); expect(clipboard.write).toHaveBeenCalledWith({ text: 'Example', html: 'Example' }); }); + + it('throws when clipboard.write fails', () => { + vi.mocked(clipboard.write).mockImplementation(() => { + throw new Error('write failed'); + }); + expect(() => + setClipboardBookmark({ text: 'a', html: 'a' }) + ).toThrow('write failed'); + }); }); diff --git a/src/main/clipboard/quick-clips.test.ts b/src/main/clipboard/quick-clips.test.ts index 84fee36..5698a0d 100644 --- a/src/main/clipboard/quick-clips.test.ts +++ b/src/main/clipboard/quick-clips.test.ts @@ -1,14 +1,29 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; +const { mockOpenExternal } = vi.hoisted(() => ({ + mockOpenExternal: vi.fn().mockResolvedValue(undefined), +})); + +vi.mock('electron', () => ({ + shell: { openExternal: mockOpenExternal }, +})); + vi.mock('../storage', () => ({ storage: { getSearchTerms: vi.fn(), + getQuickTools: vi.fn(), + getTemplates: vi.fn(), + importQuickClipsConfig: vi.fn(), }, })); -import { scanTextForPatterns } from './quick-clips'; +import { + scanTextForPatterns, + openToolsForMatches, + exportQuickClipsConfig, + importQuickClipsConfig, +} from './quick-clips'; import { storage } from '../storage'; - const mockedStorage = vi.mocked(storage); describe('scanTextForPatterns', () => { @@ -150,4 +165,342 @@ describe('scanTextForPatterns', () => { expect(result[0].captures.name).toBe('John'); expect(result[0].captures.email).toBe('user@example.com'); }); + + it('skips capture group values that are undefined', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([ + { + id: '1', + name: 'Optional', + pattern: '(?\\w+)(?:-(?\\w+))?', + enabled: true, + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + // "hello" matches required but optional group is undefined + const result = await scanTextForPatterns('hello'); + expect(result).toHaveLength(1); + expect(result[0].captures.required).toBe('hello'); + expect(result[0].captures.optional).toBeUndefined(); + }); + + it('throws when storage.getSearchTerms fails', async () => { + mockedStorage.getSearchTerms.mockRejectedValue(new Error('storage fail')); + await expect(scanTextForPatterns('test')).rejects.toThrow('storage fail'); + }); +}); + +describe('openToolsForMatches', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('opens URL with token replaced by capture value', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Search', + url: 'https://google.com/search?q={email}', + captureGroups: ['email'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + await openToolsForMatches(matches, ['t1']); + + expect(mockOpenExternal).toHaveBeenCalledWith( + 'https://google.com/search?q=test%40example.com' + ); + }); + + it('skips tool when no matching captures exist', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Search', + url: 'https://example.com/{phone}', + captureGroups: ['phone'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + await openToolsForMatches(matches, ['t1']); + + expect(mockOpenExternal).not.toHaveBeenCalled(); + }); + + it('skips unknown tool ids', async () => { + mockedStorage.getQuickTools.mockResolvedValue([]); + + const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + await openToolsForMatches(matches, ['unknown']); + + expect(mockOpenExternal).not.toHaveBeenCalled(); + }); + + it('opens URL as-is when no tokens in URL', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Static', + url: 'https://example.com/page', + captureGroups: ['email'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + await openToolsForMatches(matches, ['t1']); + + expect(mockOpenExternal).toHaveBeenCalledWith('https://example.com/page'); + }); + + it('uses URL capture directly when tool URL is just a {url} token', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Open URL', + url: '{url}', + captureGroups: ['url'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [{ searchTermId: '1', searchTermName: 'URL', captures: { url: 'https://detected.com' } }]; + await openToolsForMatches(matches, ['t1']); + + expect(mockOpenExternal).toHaveBeenCalledWith('https://detected.com'); + }); + + it('generates combinations for multiple tokens', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Multi', + url: 'https://example.com/{name}/{email}', + captureGroups: ['name', 'email'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [ + { + searchTermId: '1', + searchTermName: 'Contact', + captures: { name: 'John', email: 'john@test.com' }, + }, + ]; + await openToolsForMatches(matches, ['t1']); + + expect(mockOpenExternal).toHaveBeenCalledWith('https://example.com/John/john%40test.com'); + }); + + it('skips URL generation when token has no matching capture values', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Search', + url: 'https://example.com/{missing}', + captureGroups: ['missing'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + await openToolsForMatches(matches, ['t1']); + + expect(mockOpenExternal).not.toHaveBeenCalled(); + }); + + it('handles pipe-separated capture groups in tokens', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Search', + url: 'https://example.com/search?q={email|phone}', + captureGroups: ['email', 'phone'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [ + { + searchTermId: '1', + searchTermName: 'Contact', + captures: { email: 'test@example.com', phone: '555-1234' }, + }, + ]; + await openToolsForMatches(matches, ['t1']); + + // Should open URLs for each matching capture value + expect(mockOpenExternal).toHaveBeenCalled(); + }); + + it('generates all combinations for multi-value multi-token URLs', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Multi', + url: 'https://example.com/{a|b}/{c|d}', + captureGroups: ['a', 'b', 'c', 'd'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [ + { + searchTermId: '1', + searchTermName: 'Test', + captures: { a: 'v1', b: 'v2', c: 'v3', d: 'v4' }, + }, + ]; + await openToolsForMatches(matches, ['t1']); + + // With {a|b} having values [v1,v2] and {c|d} having [v3,v4], should get 4 combinations + expect(mockOpenExternal).toHaveBeenCalledTimes(4); + }); + + it('does not encode URL-type capture groups in non-direct URLs', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'URL redirect', + url: 'https://redirect.com?target={url}', + captureGroups: ['url'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [ + { + searchTermId: '1', + searchTermName: 'URL', + captures: { url: 'https://example.com/path?q=1' }, + }, + ]; + await openToolsForMatches(matches, ['t1']); + + // URL captures should not be encoded when in a compound URL + expect(mockOpenExternal).toHaveBeenCalledWith( + 'https://redirect.com?target=https://example.com/path?q=1' + ); + }); + + it('handles falsy capture value for a group', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Search', + url: 'https://example.com/{email}', + captureGroups: ['email'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: '' } }]; + await openToolsForMatches(matches, ['t1']); + + expect(mockOpenExternal).not.toHaveBeenCalled(); + }); + + it('handles URL capture group in multi-token URL', async () => { + mockedStorage.getQuickTools.mockResolvedValue([ + { + id: 't1', + name: 'Multi', + url: 'https://proxy.com/{url}/{name}', + captureGroups: ['url', 'name'], + createdAt: 0, + updatedAt: 0, + order: 0, + }, + ]); + + const matches = [ + { + searchTermId: '1', + searchTermName: 'Test', + captures: { url: 'https://example.com', name: 'test' }, + }, + ]; + await openToolsForMatches(matches, ['t1']); + + expect(mockOpenExternal).toHaveBeenCalledWith( + 'https://proxy.com/https://example.com/test' + ); + }); + + it('throws when storage fails', async () => { + mockedStorage.getQuickTools.mockRejectedValue(new Error('storage error')); + + await expect( + openToolsForMatches([{ captures: { email: 'a@b.com' } }], ['t1']) + ).rejects.toThrow('storage error'); + }); +}); + +describe('exportQuickClipsConfig', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('returns config with searchTerms, tools, templates, and version', async () => { + mockedStorage.getSearchTerms.mockResolvedValue([{ id: '1' }] as any); + mockedStorage.getQuickTools.mockResolvedValue([{ id: '2' }] as any); + mockedStorage.getTemplates.mockResolvedValue([{ id: '3' }] as any); + + const result = await exportQuickClipsConfig(); + + expect(result).toEqual({ + searchTerms: [{ id: '1' }], + tools: [{ id: '2' }], + templates: [{ id: '3' }], + version: '1.0.0', + }); + }); + + it('throws when storage fails', async () => { + mockedStorage.getSearchTerms.mockRejectedValue(new Error('fail')); + await expect(exportQuickClipsConfig()).rejects.toThrow('fail'); + }); +}); + +describe('importQuickClipsConfig', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('delegates to storage.importQuickClipsConfig', async () => { + const config = { searchTerms: [], tools: [], templates: [] }; + await importQuickClipsConfig(config); + expect(mockedStorage.importQuickClipsConfig).toHaveBeenCalledWith(config); + }); + + it('throws when storage fails', async () => { + mockedStorage.importQuickClipsConfig.mockRejectedValue(new Error('import fail')); + await expect(importQuickClipsConfig({})).rejects.toThrow('import fail'); + }); }); diff --git a/src/main/clipboard/quick-clips.ts b/src/main/clipboard/quick-clips.ts index f33fd0f..9618526 100644 --- a/src/main/clipboard/quick-clips.ts +++ b/src/main/clipboard/quick-clips.ts @@ -1,3 +1,4 @@ +import { shell } from 'electron'; import { storage } from '../storage'; import type { PatternMatch } from '../../shared/types'; @@ -49,7 +50,6 @@ export const scanTextForPatterns = async (text: string): Promise export const openToolsForMatches = async (matches: any[], toolIds: string[]) => { try { - const { shell } = require('electron'); const tools = await storage.getQuickTools(); for (const toolId of toolIds) { @@ -113,7 +113,6 @@ export const openToolsForMatches = async (matches: any[], toolIds: string[]) => } else { // Get all combinations of values const generateCombinations = (replacements: typeof tokenReplacements): string[] => { - if (replacements.length === 0) return ['']; if (replacements.length === 1) { const replacement = replacements[0]; return replacement.values.map((value) => { diff --git a/src/main/clipboard/quick-tools.test.ts b/src/main/clipboard/quick-tools.test.ts index 732a608..5e26252 100644 --- a/src/main/clipboard/quick-tools.test.ts +++ b/src/main/clipboard/quick-tools.test.ts @@ -1,10 +1,26 @@ -import { describe, it, expect, vi } from 'vitest'; +import { describe, it, expect, vi, beforeEach } from 'vitest'; vi.mock('../storage', () => ({ - storage: {}, + storage: { + getQuickTools: vi.fn(), + createQuickTool: vi.fn(), + updateQuickTool: vi.fn(), + deleteQuickTool: vi.fn(), + reorderQuickTools: vi.fn(), + }, })); -import { validateToolUrl } from './quick-tools'; +import { + getAllQuickTools, + createQuickTool, + updateQuickTool, + deleteQuickTool, + reorderQuickTools, + validateToolUrl, +} from './quick-tools'; +import { storage } from '../storage'; + +const mockedStorage = vi.mocked(storage); describe('validateToolUrl', () => { it('returns valid for a proper URL with matching capture groups', async () => { @@ -40,4 +56,87 @@ describe('validateToolUrl', () => { expect(result.isValid).toBe(false); expect(result.errors).toHaveLength(2); }); + + it('throws when an unexpected error occurs', async () => { + // Force an error by passing null as url + await expect(validateToolUrl(null as any, [])).rejects.toThrow(); + }); +}); + +describe('getAllQuickTools', () => { + beforeEach(() => vi.clearAllMocks()); + + it('returns tools from storage', async () => { + const tools = [{ id: '1', name: 'Tool' }]; + mockedStorage.getQuickTools.mockResolvedValue(tools as any); + const result = await getAllQuickTools(); + expect(result).toEqual(tools); + }); + + it('throws when storage fails', async () => { + mockedStorage.getQuickTools.mockRejectedValue(new Error('fail')); + await expect(getAllQuickTools()).rejects.toThrow('fail'); + }); +}); + +describe('createQuickTool', () => { + beforeEach(() => vi.clearAllMocks()); + + it('delegates to storage.createQuickTool', async () => { + mockedStorage.createQuickTool.mockResolvedValue({ id: '1' } as any); + const result = await createQuickTool('Test', 'https://example.com/{q}', ['q']); + expect(mockedStorage.createQuickTool).toHaveBeenCalledWith('Test', 'https://example.com/{q}', ['q']); + expect(result).toEqual({ id: '1' }); + }); + + it('throws when storage fails', async () => { + mockedStorage.createQuickTool.mockRejectedValue(new Error('fail')); + await expect(createQuickTool('Test', 'url', [])).rejects.toThrow('fail'); + }); +}); + +describe('updateQuickTool', () => { + beforeEach(() => vi.clearAllMocks()); + + it('delegates to storage.updateQuickTool', async () => { + mockedStorage.updateQuickTool.mockResolvedValue({ id: '1' } as any); + await updateQuickTool('1', { name: 'Updated' }); + expect(mockedStorage.updateQuickTool).toHaveBeenCalledWith('1', { name: 'Updated' }); + }); + + it('throws when storage fails', async () => { + mockedStorage.updateQuickTool.mockRejectedValue(new Error('fail')); + await expect(updateQuickTool('1', {})).rejects.toThrow('fail'); + }); +}); + +describe('deleteQuickTool', () => { + beforeEach(() => vi.clearAllMocks()); + + it('delegates to storage.deleteQuickTool', async () => { + mockedStorage.deleteQuickTool.mockResolvedValue(undefined); + await deleteQuickTool('1'); + expect(mockedStorage.deleteQuickTool).toHaveBeenCalledWith('1'); + }); + + it('throws when storage fails', async () => { + mockedStorage.deleteQuickTool.mockRejectedValue(new Error('fail')); + await expect(deleteQuickTool('1')).rejects.toThrow('fail'); + }); +}); + +describe('reorderQuickTools', () => { + beforeEach(() => vi.clearAllMocks()); + + it('delegates to storage.reorderQuickTools', async () => { + const tools = [{ id: '1' }, { id: '2' }]; + mockedStorage.reorderQuickTools.mockResolvedValue(undefined); + await reorderQuickTools(tools); + expect(mockedStorage.reorderQuickTools).toHaveBeenCalledWith(tools); + }); + + it('throws when storage fails', async () => { + mockedStorage.reorderQuickTools.mockRejectedValue(new Error('fail')); + await expect(reorderQuickTools([])).rejects.toThrow('fail'); + }); }); diff --git a/src/main/hotkeys/actions.test.ts b/src/main/hotkeys/actions.test.ts index c8cb184..81e2057 100644 --- a/src/main/hotkeys/actions.test.ts +++ b/src/main/hotkeys/actions.test.ts @@ -2,6 +2,9 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; vi.mock('electron', () => ({ BrowserWindow: vi.fn(), + app: { + focus: vi.fn(), + }, clipboard: { writeText: vi.fn(), writeHTML: vi.fn(), @@ -26,8 +29,12 @@ vi.mock('../notifications', () => ({ showNotification: vi.fn(), })); +vi.mock('../window/creation.js', () => ({ + createToolsLauncherWindow: vi.fn(), +})); + import { HotkeyActions } from './actions'; -import { clipboard } from 'electron'; +import { clipboard, nativeImage, app } from 'electron'; import { storage } from '../storage'; describe('HotkeyActions', () => { @@ -106,6 +113,96 @@ describe('HotkeyActions', () => { await actions.copyQuickClip(0); expect(mockWindow.webContents.send).toHaveBeenCalledWith('hotkey-clip-copied', 0); }); + + it('copies rtf clip to clipboard', async () => { + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'rtf', content: '{\\rtf1 hello}' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeRTF).toHaveBeenCalledWith('{\\rtf1 hello}'); + }); + + it('copies bookmark clip with title and url', async () => { + vi.mocked(storage.getClips).mockResolvedValue([ + { + clip: { type: 'bookmark', content: 'Example', title: 'Example', url: 'https://example.com' }, + isLocked: false, + timestamp: 1, + }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeBookmark).toHaveBeenCalledWith('Example', 'https://example.com'); + }); + + it('copies bookmark clip as text when missing title/url', async () => { + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'bookmark', content: 'some content' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeText).toHaveBeenCalledWith('some content'); + }); + + it('copies image clip to clipboard', async () => { + vi.mocked(nativeImage.createFromDataURL).mockReturnValue({ + isEmpty: () => false, + } as any); + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'image', content: 'data:image/png;base64,abc' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeImage).toHaveBeenCalled(); + }); + + it('falls back to text for empty image', async () => { + vi.mocked(nativeImage.createFromDataURL).mockReturnValue({ + isEmpty: () => true, + } as any); + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'image', content: 'data:image/png;base64,abc' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeText).toHaveBeenCalledWith('data:image/png;base64,abc'); + }); + + it('falls back to text when image copy throws', async () => { + vi.mocked(nativeImage.createFromDataURL).mockImplementation(() => { + throw new Error('bad image'); + }); + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'image', content: 'bad-data' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeText).toHaveBeenCalledWith('bad-data'); + }); + + it('copies unknown type as text', async () => { + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'unknown', content: 'fallback' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(clipboard.writeText).toHaveBeenCalledWith('fallback'); + }); + + it('does not send event when window is destroyed', async () => { + mockWindow.isDestroyed.mockReturnValue(true); + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'text', content: 'hello' }, isLocked: false, timestamp: 1 }, + ]); + await actions.copyQuickClip(0); + expect(mockWindow.webContents.send).not.toHaveBeenCalled(); + }); + + it('handles storage error gracefully', async () => { + vi.mocked(storage.getClips).mockRejectedValue(new Error('fail')); + await expect(actions.copyQuickClip(0)).resolves.toBeUndefined(); + }); + + it('handles null clip at valid index', async () => { + const sparseClips = [null as any, { clip: { type: 'text', content: 'hello' } }]; + vi.mocked(storage.getClips).mockResolvedValue(sparseClips); + await actions.copyQuickClip(0); + expect(clipboard.writeText).not.toHaveBeenCalled(); + }); }); describe('toggleSearchBar', () => { @@ -119,5 +216,92 @@ describe('HotkeyActions', () => { actions.toggleSearchBar(); expect(mockWindow.show).toHaveBeenCalled(); }); + + it('restores minimized window before toggling search', () => { + mockWindow.isVisible.mockReturnValue(true); + mockWindow.isMinimized.mockReturnValue(true); + actions.toggleSearchBar(); + expect(mockWindow.restore).toHaveBeenCalled(); + expect(mockWindow.webContents.send).toHaveBeenCalledWith('toggle-search'); + }); + + it('does nothing when no window set', () => { + actions.setMainWindow(null); + expect(() => actions.toggleSearchBar()).not.toThrow(); + }); + + it('handles error gracefully', () => { + mockWindow.isVisible.mockImplementation(() => { + throw new Error('error'); + }); + expect(() => actions.toggleSearchBar()).not.toThrow(); + }); + }); + + describe('focusWindow - additional', () => { + it('handles error gracefully', () => { + mockWindow.isVisible.mockImplementation(() => { + throw new Error('error'); + }); + expect(() => actions.focusWindow()).not.toThrow(); + }); + + it('calls app.focus on macOS when showing window', () => { + const originalPlatform = process.platform; + Object.defineProperty(process, 'platform', { value: 'darwin', writable: true }); + + mockWindow.isVisible.mockReturnValue(false); + mockWindow.isMinimized.mockReturnValue(false); + + actions.focusWindow(); + + expect(app.focus).toHaveBeenCalled(); + + Object.defineProperty(process, 'platform', { value: originalPlatform, writable: true }); + }); + }); + + describe('toggleSearchBar - macOS', () => { + it('calls app.focus on macOS when showing window', () => { + const originalPlatform = process.platform; + Object.defineProperty(process, 'platform', { value: 'darwin', writable: true }); + + mockWindow.isVisible.mockReturnValue(false); + mockWindow.isMinimized.mockReturnValue(false); + + actions.toggleSearchBar(); + + expect(app.focus).toHaveBeenCalled(); + + Object.defineProperty(process, 'platform', { value: originalPlatform, writable: true }); + }); + }); + + describe('openToolsLauncher', () => { + it('opens tools launcher with first clip content', async () => { + vi.mocked(storage.getClips).mockResolvedValue([ + { clip: { type: 'text', content: 'hello' }, isLocked: false, timestamp: 1 }, + ]); + + await actions.openToolsLauncher(); + + const { createToolsLauncherWindow } = await import('../window/creation.js'); + expect(createToolsLauncherWindow).toHaveBeenCalledWith('hello'); + }); + + it('does nothing when no clips available', async () => { + vi.mocked(storage.getClips).mockResolvedValue([]); + await expect(actions.openToolsLauncher()).resolves.toBeUndefined(); + }); + + it('does nothing when first clip is null', async () => { + vi.mocked(storage.getClips).mockResolvedValue([null as any]); + await expect(actions.openToolsLauncher()).resolves.toBeUndefined(); + }); + + it('handles error gracefully', async () => { + vi.mocked(storage.getClips).mockRejectedValue(new Error('fail')); + await expect(actions.openToolsLauncher()).resolves.toBeUndefined(); + }); }); }); diff --git a/src/main/hotkeys/actions.ts b/src/main/hotkeys/actions.ts index 3cb4f46..bfe6807 100644 --- a/src/main/hotkeys/actions.ts +++ b/src/main/hotkeys/actions.ts @@ -1,4 +1,4 @@ -import { BrowserWindow, clipboard, nativeImage } from 'electron'; +import { BrowserWindow, clipboard, nativeImage, app } from 'electron'; import { storage } from '../storage'; import { showNotification } from '../notifications'; @@ -35,7 +35,7 @@ export class HotkeyActions { // On macOS, we need to bring the app to front if (process.platform === 'darwin') { - require('electron').app.focus(); + app.focus(); } } catch (error) { console.error('Error toggling window visibility:', error); @@ -135,7 +135,7 @@ export class HotkeyActions { this.mainWindow.show(); this.mainWindow.focus(); if (process.platform === 'darwin') { - require('electron').app.focus(); + app.focus(); } } diff --git a/src/main/hotkeys/manager.test.ts b/src/main/hotkeys/manager.test.ts index 6fed7b0..1d18487 100644 --- a/src/main/hotkeys/manager.test.ts +++ b/src/main/hotkeys/manager.test.ts @@ -111,4 +111,193 @@ describe('HotkeyManager', () => { expect(manager.isInitialized).toBe(false); }); + + it('handles registerHotkeys error gracefully during initialization', async () => { + vi.mocked(storage.getSettings).mockRejectedValue(new Error('settings fail')); + + await manager.initialize(); + + // registerHotkeys catches its own error, so initialization still completes + expect(manager.isInitialized).toBe(true); + }); + + it('onSettingsChanged initializes when not yet initialized', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { enabled: false } as any, + }); + + await manager.onSettingsChanged(); + + expect(manager.isInitialized).toBe(true); + }); + + it('onSettingsChanged handles error gracefully', async () => { + // First initialize successfully + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { enabled: false } as any, + }); + await manager.initialize(); + + // Then fail on re-register + vi.mocked(storage.getSettings).mockRejectedValue(new Error('fail')); + await expect(manager.onSettingsChanged()).resolves.toBeUndefined(); + }); + + it('registers tools launcher and search hotkeys', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { + enabled: true, + focusWindow: { enabled: false, key: 'Ctrl+Shift+V' }, + quickClip1: { enabled: false, key: 'Ctrl+Shift+1' }, + quickClip2: { enabled: false, key: 'Ctrl+Shift+2' }, + quickClip3: { enabled: false, key: 'Ctrl+Shift+3' }, + quickClip4: { enabled: false, key: 'Ctrl+Shift+4' }, + quickClip5: { enabled: false, key: 'Ctrl+Shift+5' }, + openToolsLauncher: { enabled: true, key: 'Ctrl+Shift+T' }, + searchClips: { enabled: true, key: 'Ctrl+Shift+F' }, + }, + }); + + await manager.initialize(); + + expect(globalShortcut.register).toHaveBeenCalledTimes(2); + }); + + it('uses default tools launcher config when missing', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { + enabled: true, + focusWindow: { enabled: false, key: 'Ctrl+Shift+V' }, + quickClip1: { enabled: false, key: 'Ctrl+Shift+1' }, + quickClip2: { enabled: false, key: 'Ctrl+Shift+2' }, + quickClip3: { enabled: false, key: 'Ctrl+Shift+3' }, + quickClip4: { enabled: false, key: 'Ctrl+Shift+4' }, + quickClip5: { enabled: false, key: 'Ctrl+Shift+5' }, + // openToolsLauncher and searchClips deliberately missing + }, + }); + + await manager.initialize(); + + // Default configs have enabled: true so both should register + expect(globalShortcut.register).toHaveBeenCalledTimes(2); + }); + + it('getCurrentHotkeys returns registered hotkeys', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { + enabled: true, + focusWindow: { enabled: true, key: 'Ctrl+Shift+V' }, + quickClip1: { enabled: false, key: 'Ctrl+Shift+1' }, + quickClip2: { enabled: false, key: 'Ctrl+Shift+2' }, + quickClip3: { enabled: false, key: 'Ctrl+Shift+3' }, + quickClip4: { enabled: false, key: 'Ctrl+Shift+4' }, + quickClip5: { enabled: false, key: 'Ctrl+Shift+5' }, + openToolsLauncher: { enabled: false, key: 'Ctrl+Shift+T' }, + searchClips: { enabled: false, key: 'Ctrl+Shift+F' }, + }, + }); + + await manager.initialize(); + + expect(manager.getCurrentHotkeys()).toContain('Ctrl+Shift+V'); + expect(manager.isHotkeyRegistered('Ctrl+Shift+V')).toBe(true); + }); + + it('setMainWindow sets window on actions', () => { + const mockWindow = {} as any; + expect(() => manager.setMainWindow(mockWindow)).not.toThrow(); + }); + + it('handles error in initialize when setInitialized throws', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { enabled: false } as any, + }); + + // Access the private registry to make setInitialized throw + const registry = (manager as any).registry; + const origSetInit = registry.setInitialized.bind(registry); + registry.setInitialized = vi.fn().mockImplementation(() => { + throw new Error('setInitialized fail'); + }); + + const spy = vi.spyOn(console, 'error').mockImplementation(() => {}); + await manager.initialize(); + spy.mockRestore(); + + // Restore + registry.setInitialized = origSetInit; + }); + + it('handles error in onSettingsChanged when registerHotkeys throws', async () => { + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { enabled: false } as any, + }); + await manager.initialize(); + + // Make registerHotkeys throw by overriding unregisterAllHotkeys to throw outside inner try + const registry = (manager as any).registry; + const origMethod = (manager as any).registerHotkeys.bind(manager); + (manager as any).registerHotkeys = vi.fn().mockRejectedValue(new Error('register fail')); + + const spy = vi.spyOn(console, 'error').mockImplementation(() => {}); + await manager.onSettingsChanged(); + spy.mockRestore(); + + // Restore + (manager as any).registerHotkeys = origMethod; + }); + + it('registered hotkey callbacks are callable', async () => { + const callbacks: Record = {}; + vi.mocked(globalShortcut.register).mockImplementation((acc: string, cb: Function) => { + callbacks[acc] = cb; + return true; + }); + + vi.mocked(storage.getSettings).mockResolvedValue({ + maxClips: 100, + startMinimized: false, + autoStart: false, + hotkeys: { + enabled: true, + focusWindow: { enabled: true, key: 'Ctrl+Shift+V' }, + quickClip1: { enabled: true, key: 'Ctrl+Shift+1' }, + quickClip2: { enabled: false, key: 'Ctrl+Shift+2' }, + quickClip3: { enabled: false, key: 'Ctrl+Shift+3' }, + quickClip4: { enabled: false, key: 'Ctrl+Shift+4' }, + quickClip5: { enabled: false, key: 'Ctrl+Shift+5' }, + openToolsLauncher: { enabled: true, key: 'Ctrl+Shift+T' }, + searchClips: { enabled: true, key: 'Ctrl+Shift+F' }, + }, + }); + + await manager.initialize(); + + // Invoke each registered callback to cover the callback body lines + for (const cb of Object.values(callbacks)) { + cb(); + } + }); }); diff --git a/src/main/hotkeys/registry.test.ts b/src/main/hotkeys/registry.test.ts index 5e0e06b..63b51cf 100644 --- a/src/main/hotkeys/registry.test.ts +++ b/src/main/hotkeys/registry.test.ts @@ -77,4 +77,26 @@ describe('HotkeyRegistry', () => { expect(registry.getCurrentHotkeys()).toEqual([]); }); }); + + describe('error handling', () => { + it('returns false when globalShortcut.register throws', () => { + vi.mocked(globalShortcut.register).mockImplementationOnce(() => { + throw new Error('system error'); + }); + const result = registry.registerHotkey('Ctrl+Z', vi.fn()); + expect(result).toBe(false); + }); + + it('continues unregistering when one hotkey throws', () => { + registry.registerHotkey('Ctrl+A', vi.fn()); + registry.registerHotkey('Ctrl+B', vi.fn()); + + vi.mocked(globalShortcut.unregister).mockImplementationOnce(() => { + throw new Error('unregister error'); + }); + + expect(() => registry.unregisterAllHotkeys()).not.toThrow(); + expect(registry.getCurrentHotkeys()).toEqual([]); + }); + }); }); diff --git a/src/main/storage/file-operations.test.ts b/src/main/storage/file-operations.test.ts index abc16b8..4fb706e 100644 --- a/src/main/storage/file-operations.test.ts +++ b/src/main/storage/file-operations.test.ts @@ -83,4 +83,26 @@ describe('isEncryptionAvailable', () => { it('returns the result from safeStorage', () => { expect(isEncryptionAvailable()).toBe(true); }); + + it('returns false when encryption is not available', () => { + vi.mocked(safeStorage.isEncryptionAvailable).mockReturnValueOnce(false); + expect(isEncryptionAvailable()).toBe(false); + }); +}); + +describe('loadFromFile - non-ENOENT error', () => { + it('throws original error for non-ENOENT errors', async () => { + vi.mocked(fs.access).mockResolvedValue(undefined); + vi.mocked(fs.readFile).mockRejectedValueOnce(new Error('decrypt failed')); + + await expect(loadFromFile('/path/data.enc')).rejects.toThrow('decrypt failed'); + }); +}); + +describe('saveToFile - temp file cleanup ignores missing', () => { + it('ignores temp file unlink error before write', async () => { + vi.mocked(fs.unlink).mockRejectedValueOnce(new Error('no temp file')); + await saveToFile({ test: true }, '/path/data.enc'); + expect(fs.writeFile).toHaveBeenCalled(); + }); }); diff --git a/src/main/storage/search-terms.test.ts b/src/main/storage/search-terms.test.ts index a2e570e..683bbbb 100644 --- a/src/main/storage/search-terms.test.ts +++ b/src/main/storage/search-terms.test.ts @@ -1,5 +1,11 @@ import { describe, it, expect } from 'vitest'; -import { createSearchTermObject, sortSearchTermsByOrder } from './search-terms'; +import { + createSearchTermObject, + sortSearchTermsByOrder, + updateSearchTermObject, + reorderSearchTermsArray, + generateId, +} from './search-terms'; describe('createSearchTermObject', () => { it('creates a search term with correct fields', () => { @@ -34,3 +40,43 @@ describe('sortSearchTermsByOrder', () => { expect(terms[0].name).toBe('B'); }); }); + +describe('generateId', () => { + it('returns a string', () => { + expect(typeof generateId()).toBe('string'); + }); +}); + +describe('updateSearchTermObject', () => { + it('updates fields and sets updatedAt', () => { + const original = { + id: '1', + name: 'Old', + pattern: '.*', + enabled: true, + createdAt: 1000, + updatedAt: 1000, + order: 0, + }; + const updated = updateSearchTermObject(original, { name: 'New' }); + expect(updated.name).toBe('New'); + expect(updated.id).toBe('1'); + expect(updated.updatedAt).toBeGreaterThan(1000); + }); +}); + +describe('reorderSearchTermsArray', () => { + it('assigns sequential order values', () => { + const terms = [ + { id: '1', name: 'A', pattern: '', enabled: true, createdAt: 0, updatedAt: 0, order: 5 }, + { id: '2', name: 'B', pattern: '', enabled: true, createdAt: 0, updatedAt: 0, order: 10 }, + ]; + const result = reorderSearchTermsArray(terms); + expect(result[0].order).toBe(0); + expect(result[1].order).toBe(1); + }); + + it('handles empty array', () => { + expect(reorderSearchTermsArray([])).toEqual([]); + }); +}); diff --git a/src/main/storage/templates.test.ts b/src/main/storage/templates.test.ts index c15d87f..53def0d 100644 --- a/src/main/storage/templates.test.ts +++ b/src/main/storage/templates.test.ts @@ -4,6 +4,9 @@ import { sortTemplatesByOrder, extractTemplateTokens, generateTextFromTemplate, + updateTemplateObject, + reorderTemplatesArray, + generateTemplateId, } from './templates'; describe('createTemplateObject', () => { @@ -63,6 +66,11 @@ describe('extractTemplateTokens', () => { expect(result.positional).toEqual(['c1']); }); + it('deduplicates named tokens', () => { + const result = extractTemplateTokens('{name} and {name} again'); + expect(result.named).toEqual(['name']); + }); + it('returns empty arrays for no tokens', () => { const result = extractTemplateTokens('plain text'); expect(result.positional).toEqual([]); @@ -111,4 +119,52 @@ describe('generateTextFromTemplate', () => { const result = generateTextFromTemplate(makeTemplate('{c1}'), ['first', 'second']); expect(result).toBe('first'); }); + + it('handles no captures provided', () => { + const result = generateTextFromTemplate(makeTemplate('{c1} {name}'), ['hello']); + expect(result).toBe('hello {name}'); + }); + + it('skips positional tokens during named capture replacement', () => { + const result = generateTextFromTemplate(makeTemplate('{c1} {name}'), ['clip1'], { name: 'Alice' }); + expect(result).toBe('clip1 Alice'); + }); + + it('leaves named token when capture key is missing', () => { + const result = generateTextFromTemplate(makeTemplate('{missing}'), [], { other: 'val' }); + expect(result).toBe('{missing}'); + }); +}); + +describe('generateTemplateId', () => { + it('returns a string starting with template-', () => { + const id = generateTemplateId(); + expect(id).toMatch(/^template-/); + }); +}); + +describe('updateTemplateObject', () => { + it('updates fields and refreshes updatedAt', () => { + const original = { id: '1', name: 'Old', content: 'test', createdAt: 1000, updatedAt: 1000, order: 0 }; + const updated = updateTemplateObject(original, { name: 'New' }); + expect(updated.name).toBe('New'); + expect(updated.updatedAt).toBeGreaterThan(1000); + expect(updated.createdAt).toBe(1000); + }); +}); + +describe('reorderTemplatesArray', () => { + it('assigns sequential order values', () => { + const templates = [ + { id: '1', name: 'A', content: '', createdAt: 0, updatedAt: 0, order: 5 }, + { id: '2', name: 'B', content: '', createdAt: 0, updatedAt: 0, order: 10 }, + ]; + const result = reorderTemplatesArray(templates); + expect(result[0].order).toBe(0); + expect(result[1].order).toBe(1); + }); + + it('handles empty array', () => { + expect(reorderTemplatesArray([])).toEqual([]); + }); }); diff --git a/src/renderer/src/components/clips/clip/ImageClip.test.tsx b/src/renderer/src/components/clips/clip/ImageClip.test.tsx index 5a02836..5d543f5 100644 --- a/src/renderer/src/components/clips/clip/ImageClip.test.tsx +++ b/src/renderer/src/components/clips/clip/ImageClip.test.tsx @@ -1,9 +1,13 @@ -import { describe, it, expect, vi } from 'vitest'; -import { render, screen } from '@testing-library/react'; +import { describe, it, expect, vi, afterEach } from 'vitest'; +import { render, screen, fireEvent, cleanup } from '@testing-library/react'; import { ImageClip } from './ImageClip'; +const { themeState } = vi.hoisted(() => ({ + themeState: { isLight: false }, +})); + vi.mock('../../../providers/theme', () => ({ - useTheme: () => ({ isLight: false }), + useTheme: () => ({ isLight: themeState.isLight }), })); vi.mock('./Clip.module.css', () => ({ @@ -20,6 +24,9 @@ vi.mock('./Clip.module.css', () => ({ })); describe('ImageClip', () => { + afterEach(() => { + cleanup(); + }); it('renders image with correct src', () => { render(); const images = screen.getAllByRole('img'); @@ -37,4 +44,159 @@ describe('ImageClip', () => { const kbElements = screen.getAllByText(/KB/); expect(kbElements.length).toBeGreaterThan(0); }); + + it('displays Unknown format for non-data-url content', () => { + render(); + expect(screen.getByText(/Unknown format/)).toBeInTheDocument(); + }); + + it('handles mouse enter and positions popover', () => { + const { container } = render( + + ); + const img = screen.getAllByRole('img')[0]; + + // Mock getBoundingClientRect + img.getBoundingClientRect = vi.fn().mockReturnValue({ + top: 100, + left: 50, + right: 150, + bottom: 200, + width: 100, + height: 100, + }); + + // Mock viewport + Object.defineProperty(window, 'innerHeight', { value: 800, writable: true }); + Object.defineProperty(window, 'innerWidth', { value: 1200, writable: true }); + + fireEvent.mouseEnter(img); + + // Popover should have been positioned + const popover = container.querySelector('.imagePopover'); + expect(popover).toBeTruthy(); + }); + + it('positions popover to the left when right edge exceeded', () => { + const { container } = render( + + ); + const img = screen.getAllByRole('img')[0]; + + img.getBoundingClientRect = vi.fn().mockReturnValue({ + top: 100, + left: 800, + right: 1180, + bottom: 200, + width: 100, + height: 100, + }); + + Object.defineProperty(window, 'innerHeight', { value: 800, writable: true }); + Object.defineProperty(window, 'innerWidth', { value: 1200, writable: true }); + + fireEvent.mouseEnter(img); + const popover = container.querySelector('.imagePopover') as HTMLElement; + expect(popover?.style.left).toBeTruthy(); + }); + + it('clamps popover to top edge', () => { + const { container } = render( + + ); + const img = screen.getAllByRole('img')[0]; + + img.getBoundingClientRect = vi.fn().mockReturnValue({ + top: 10, + left: 50, + right: 150, + bottom: 110, + width: 100, + height: 100, + }); + + Object.defineProperty(window, 'innerHeight', { value: 800, writable: true }); + Object.defineProperty(window, 'innerWidth', { value: 1200, writable: true }); + + fireEvent.mouseEnter(img); + const popover = container.querySelector('.imagePopover') as HTMLElement; + expect(popover?.style.top).toBe('16px'); + }); + + it('clamps popover to bottom edge', () => { + const { container } = render( + + ); + const img = screen.getAllByRole('img')[0]; + + img.getBoundingClientRect = vi.fn().mockReturnValue({ + top: 700, + left: 50, + right: 150, + bottom: 800, + width: 100, + height: 100, + }); + + Object.defineProperty(window, 'innerHeight', { value: 800, writable: true }); + Object.defineProperty(window, 'innerWidth', { value: 1200, writable: true }); + + fireEvent.mouseEnter(img); + const popover = container.querySelector('.imagePopover') as HTMLElement; + // Should be clamped to viewport - popoverHeight - 16 + expect(popover?.style.top).toBe(`${800 - 320 - 16}px`); + }); + + it('clamps popover to left edge when positioned left goes negative', () => { + const { container } = render( + + ); + const img = screen.getAllByRole('img')[0]; + + // right edge exceeds viewport width, left edge is very close to 0 + img.getBoundingClientRect = vi.fn().mockReturnValue({ + top: 100, + left: 5, + right: 1190, + bottom: 200, + width: 1185, + height: 100, + }); + + Object.defineProperty(window, 'innerHeight', { value: 800, writable: true }); + Object.defineProperty(window, 'innerWidth', { value: 1200, writable: true }); + + fireEvent.mouseEnter(img); + const popover = container.querySelector('.imagePopover') as HTMLElement; + expect(popover?.style.left).toBe('16px'); + }); + + it('handles image error and shows fallback text', () => { + themeState.isLight = false; + render(); + const img = screen.getAllByRole('img')[0]; + + // Mock parentNode + const parent = document.createElement('div'); + Object.defineProperty(img, 'parentNode', { value: parent, writable: true }); + + fireEvent.error(img); + + expect(img.style.display).toBe('none'); + expect(parent.querySelector('span')?.textContent).toBe('Invalid image data'); + }); + + it('uses light theme color in error fallback', () => { + themeState.isLight = true; + render(); + const img = screen.getAllByRole('img')[0]; + + const parent = document.createElement('div'); + Object.defineProperty(img, 'parentNode', { value: parent, writable: true }); + + fireEvent.error(img); + + const fallback = parent.querySelector('span'); + expect(fallback?.style.color).toBe('rgb(102, 102, 102)'); + }); }); diff --git a/src/renderer/src/components/clips/clip/ImageClip.tsx b/src/renderer/src/components/clips/clip/ImageClip.tsx index e528472..f8af930 100644 --- a/src/renderer/src/components/clips/clip/ImageClip.tsx +++ b/src/renderer/src/components/clips/clip/ImageClip.tsx @@ -14,6 +14,7 @@ export const ImageClip = ({ clip }: ImageClipProps) => { const handleImageMouseEnter = (e: React.MouseEvent) => { const popover = popoverRef.current; + /* istanbul ignore else -- @preserve */ if (popover) { const rect = e.currentTarget.getBoundingClientRect(); const viewportHeight = window.innerHeight; diff --git a/src/renderer/src/components/clips/clip/TextClip.test.tsx b/src/renderer/src/components/clips/clip/TextClip.test.tsx index 0835643..dfa317a 100644 --- a/src/renderer/src/components/clips/clip/TextClip.test.tsx +++ b/src/renderer/src/components/clips/clip/TextClip.test.tsx @@ -1,27 +1,49 @@ -import { describe, it, expect, vi } from 'vitest'; -import { render, screen } from '@testing-library/react'; +import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; +import { render, screen, fireEvent, act, cleanup } from '@testing-library/react'; import { TextClip } from './TextClip'; +let mockIsCodeDetectionEnabled = false; + +const { mockThemeState } = vi.hoisted(() => ({ + mockThemeState: { isLight: false }, +})); + // Mock providers vi.mock('../../../providers/theme', () => ({ useTheme: () => ({ - isLight: false, - isDark: true, - theme: 'dark', - effectiveTheme: 'dark', + isLight: mockThemeState.isLight, + isDark: !mockThemeState.isLight, + theme: mockThemeState.isLight ? 'light' : 'dark', + effectiveTheme: mockThemeState.isLight ? 'light' : 'dark', setTheme: vi.fn(), }), })); vi.mock('../../../providers/languageDetection', () => ({ useLanguageDetection: () => ({ - isCodeDetectionEnabled: false, - settings: { codeDetectionEnabled: false }, + isCodeDetectionEnabled: mockIsCodeDetectionEnabled, + settings: { codeDetectionEnabled: mockIsCodeDetectionEnabled }, updateSettings: vi.fn(), detectTextLanguage: vi.fn(), }), })); +vi.mock('../../../utils/languageDetection', () => ({ + mapToSyntaxHighlighterLanguage: vi.fn().mockReturnValue('javascript'), +})); + +vi.mock('react-syntax-highlighter', () => ({ + Prism: ({ children, PreTag, ...props }: any) => { + const Tag = PreTag || 'pre'; + return {children}; + }, +})); + +vi.mock('react-syntax-highlighter/dist/esm/styles/prism', () => ({ + materialDark: {}, + materialLight: {}, +})); + vi.mock('./Clip.module.css', () => ({ default: { editableText: 'editableText', @@ -35,6 +57,17 @@ vi.mock('./Clip.module.css', () => ({ })); describe('TextClip', () => { + beforeEach(() => { + vi.useFakeTimers(); + mockIsCodeDetectionEnabled = false; + mockThemeState.isLight = false; + }); + + afterEach(() => { + cleanup(); + vi.useRealTimers(); + }); + it('renders text content in display mode', () => { render(); expect(screen.getByText('Hello World')).toBeInTheDocument(); @@ -45,8 +78,303 @@ describe('TextClip', () => { expect(screen.getByText('(empty)')).toBeInTheDocument(); }); + it('does not enter edit mode for empty content', () => { + render(); + fireEvent.click(screen.getByText('(empty)')); + // Should still show (empty), not a textarea + expect(screen.getByText('(empty)')).toBeInTheDocument(); + }); + it('collapses multiline text to single line in display mode', () => { render(); expect(screen.getByText('line1 line2 line3')).toBeInTheDocument(); }); + + it('enters edit mode on click and shows textarea', () => { + render(); + fireEvent.click(screen.getByText('Hello World')); + expect(screen.getByRole('textbox')).toBeInTheDocument(); + }); + + it('calls onEditingChange when entering and leaving edit mode', () => { + const onEditingChange = vi.fn(); + render( + + ); + fireEvent.click(screen.getByText('Hello World')); + expect(onEditingChange).toHaveBeenCalledWith(true); + + fireEvent.blur(screen.getByRole('textbox')); + expect(onEditingChange).toHaveBeenCalledWith(false); + }); + + it('calls onUpdate with debounce on text change', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + const textarea = screen.getByRole('textbox'); + fireEvent.change(textarea, { target: { value: 'Hello World' } }); + + // Not called immediately + expect(onUpdate).not.toHaveBeenCalled(); + + // Called after debounce + act(() => { + vi.advanceTimersByTime(500); + }); + expect(onUpdate).toHaveBeenCalledWith('Hello World'); + }); + + it('clears previous debounce when typing rapidly', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + const textarea = screen.getByRole('textbox'); + fireEvent.change(textarea, { target: { value: 'First' } }); + + // Advance partially + act(() => { + vi.advanceTimersByTime(200); + }); + + // Type again before debounce fires - this triggers clearTimeout branch + fireEvent.change(textarea, { target: { value: 'Second' } }); + + act(() => { + vi.advanceTimersByTime(500); + }); + + // Should only get the last value + expect(onUpdate).toHaveBeenCalledTimes(1); + expect(onUpdate).toHaveBeenCalledWith('Second'); + }); + + it('does not call onUpdate when value unchanged', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + const textarea = screen.getByRole('textbox'); + fireEvent.change(textarea, { target: { value: 'Hello' } }); + + act(() => { + vi.advanceTimersByTime(500); + }); + expect(onUpdate).not.toHaveBeenCalled(); + }); + + it('calls onUpdate immediately on blur with pending changes', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + const textarea = screen.getByRole('textbox'); + fireEvent.change(textarea, { target: { value: 'Changed' } }); + fireEvent.blur(textarea); + + expect(onUpdate).toHaveBeenCalledWith('Changed'); + }); + + it('handles Enter key to finish editing', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + const textarea = screen.getByRole('textbox'); + fireEvent.change(textarea, { target: { value: 'Changed' } }); + fireEvent.keyDown(textarea, { key: 'Enter', shiftKey: false }); + + expect(onUpdate).toHaveBeenCalledWith('Changed'); + }); + + it('handles Escape key to cancel editing', () => { + const onUpdate = vi.fn(); + const onEditingChange = vi.fn(); + render( + + ); + fireEvent.click(screen.getByText('Hello')); + + const textarea = screen.getByRole('textbox'); + fireEvent.change(textarea, { target: { value: 'Changed' } }); + fireEvent.keyDown(textarea, { key: 'Escape' }); + + // Should not call onUpdate (cancelled) + act(() => { + vi.advanceTimersByTime(500); + }); + expect(onUpdate).not.toHaveBeenCalled(); + expect(onEditingChange).toHaveBeenCalledWith(false); + }); + + it('renders syntax highlighter when code detection enabled and clip has language', () => { + mockIsCodeDetectionEnabled = true; + render( + + ); + fireEvent.click(screen.getByText('const x = 1;')); + + expect(screen.getByTestId('syntax-highlighter')).toBeInTheDocument(); + }); + + it('updates syntax container height on text change', () => { + mockIsCodeDetectionEnabled = true; + render( + + ); + fireEvent.click(screen.getByText('const x = 1;')); + + const textarea = screen.getByRole('textbox'); + fireEvent.change(textarea, { target: { value: 'const x = 2;\nconst y = 3;' } }); + + // The useEffect should have run and attempted to set height on syntax container + expect(screen.getByTestId('syntax-highlighter')).toBeInTheDocument(); + }); + + it('renders plain textarea when code detection disabled', () => { + mockIsCodeDetectionEnabled = false; + render( + + ); + fireEvent.click(screen.getByText('const x = 1;')); + + expect(screen.queryByTestId('syntax-highlighter')).not.toBeInTheDocument(); + expect(screen.getByRole('textbox')).toBeInTheDocument(); + }); + + it('shows whitespace-only content as (empty)', () => { + render(); + expect(screen.getByText('(empty)')).toBeInTheDocument(); + }); + + it('does not call onUpdate on blur when no pending changes', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + // Blur immediately without changing anything + fireEvent.blur(screen.getByRole('textbox')); + + expect(onUpdate).not.toHaveBeenCalled(); + }); + + it('does not call onUpdate on blur when pending change matches original', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + const textarea = screen.getByRole('textbox'); + // Change then change back to original + fireEvent.change(textarea, { target: { value: 'Changed' } }); + fireEvent.change(textarea, { target: { value: 'Hello' } }); + // Blur with a pending debounce but editValue === clip.content + fireEvent.blur(textarea); + + expect(onUpdate).not.toHaveBeenCalled(); + }); + + it('handles Escape without onEditingChange callback', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + fireEvent.keyDown(screen.getByRole('textbox'), { key: 'Escape' }); + + // Should not throw, just exit edit mode + expect(screen.getByText('Hello')).toBeInTheDocument(); + }); + + it('ignores non-special keys in keyDown handler', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + fireEvent.keyDown(screen.getByRole('textbox'), { key: 'a' }); + + // Should still be in edit mode, no update called + expect(screen.getByRole('textbox')).toBeInTheDocument(); + expect(onUpdate).not.toHaveBeenCalled(); + }); + + it('allows Shift+Enter without exiting edit mode', () => { + render(); + fireEvent.click(screen.getByText('Hello')); + + fireEvent.keyDown(screen.getByRole('textbox'), { key: 'Enter', shiftKey: true }); + + // Should still be in edit mode + expect(screen.getByRole('textbox')).toBeInTheDocument(); + }); + + it('handles Escape without pending debounce', () => { + const onUpdate = vi.fn(); + render(); + fireEvent.click(screen.getByText('Hello')); + + // Press Escape without typing anything (no debounce pending) + fireEvent.keyDown(screen.getByRole('textbox'), { key: 'Escape' }); + + act(() => { + vi.advanceTimersByTime(500); + }); + expect(onUpdate).not.toHaveBeenCalled(); + }); + + describe('light theme', () => { + beforeEach(() => { + mockThemeState.isLight = true; + }); + + it('applies light class in display mode', () => { + render(); + expect(screen.getByText('Hello').className).toContain('light'); + }); + + it('applies light class in plain edit mode', () => { + render(); + fireEvent.click(screen.getByText('Hello')); + expect(screen.getByRole('textbox').className).toContain('light'); + }); + + it('applies light styles in syntax-highlighted edit mode', () => { + mockIsCodeDetectionEnabled = true; + render( + + ); + fireEvent.click(screen.getByText('const x = 1;')); + + const textarea = screen.getByRole('textbox'); + expect(textarea.className).toContain('light'); + expect(textarea.style.caretColor).toBe('#000'); + }); + + it('applies light class to empty content display', () => { + render(); + const el = screen.getByText('(empty)'); + expect(el.className).toContain('light'); + expect(el.className).toContain('emptyText'); + }); + }); }); diff --git a/src/renderer/src/components/clips/clip/TextClip.tsx b/src/renderer/src/components/clips/clip/TextClip.tsx index 56498fa..3a981f6 100644 --- a/src/renderer/src/components/clips/clip/TextClip.tsx +++ b/src/renderer/src/components/clips/clip/TextClip.tsx @@ -33,7 +33,7 @@ export const TextClip = ({ clip, onUpdate, onEditingChange }: TextClipProps) => textarea.style.height = newHeight; // Also update the syntax highlighter container if it exists - const container = textarea.parentElement?.querySelector('.syntaxHighlightContainer'); + const container = textarea.closest(`.${styles.syntaxHighlightContainer}`); if (container) { (container as HTMLElement).style.height = newHeight; } @@ -48,6 +48,7 @@ export const TextClip = ({ clip, onUpdate, onEditingChange }: TextClipProps) => } debounceRef.current = setTimeout(() => { + /* istanbul ignore else -- @preserve */ if (newContent !== clip.content) { onUpdate(newContent); } diff --git a/src/renderer/src/hooks/usePatternDetection.test.ts b/src/renderer/src/hooks/usePatternDetection.test.ts index 26a1728..dbe7460 100644 --- a/src/renderer/src/hooks/usePatternDetection.test.ts +++ b/src/renderer/src/hooks/usePatternDetection.test.ts @@ -35,13 +35,122 @@ describe('usePatternDetection', () => { }); it('handles API errors gracefully', async () => { + const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => {}); (window.api as any).quickClipsScanText = vi.fn().mockRejectedValue(new Error('fail')); const { result } = renderHook(() => usePatternDetection('some text')); + // Wait for debounce to fire and error to be processed + await waitFor(() => { + expect((window.api as any).quickClipsScanText).toHaveBeenCalled(); + }); + + await waitFor(() => { + expect(result.current.loading).toBe(false); + }); + + expect(result.current.hasPatterns).toBe(false); + expect(result.current.patterns).toEqual([]); + consoleSpy.mockRestore(); + }); + + it('cancels previous detection on content change', async () => { + const mockScan = vi.fn().mockResolvedValue([]); + (window.api as any).quickClipsScanText = mockScan; + + const { rerender, result } = renderHook( + ({ content }) => usePatternDetection(content), + { initialProps: { content: 'first' } } + ); + + // Change content before debounce fires + rerender({ content: 'second' }); + await waitFor(() => { expect(result.current.loading).toBe(false); }); + }); + + it('does not update state if cancelled during API call', async () => { + let resolveApi: (value: any) => void; + const apiPromise = new Promise((resolve) => { + resolveApi = resolve; + }); + (window.api as any).quickClipsScanText = vi.fn().mockReturnValue(apiPromise); + + const { unmount } = renderHook(() => usePatternDetection('test content')); + + // Wait for the debounce + await new Promise((r) => setTimeout(r, 350)); + + // Unmount before the API resolves (triggers isCancelled) + unmount(); + + // Now resolve the API + resolveApi!([{ searchTermId: '1', searchTermName: 'Test', captures: { test: 'val' } }]); + + // No error should occur - state updates are skipped + }); + + it('logs error and resets state on API failure', async () => { + const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => {}); + const mockScan = vi.fn().mockRejectedValue(new Error('scan error')); + (window.api as any).quickClipsScanText = mockScan; + + const { result } = renderHook(() => usePatternDetection('test content')); + + await waitFor(() => { + expect(mockScan).toHaveBeenCalled(); + }); + + await waitFor(() => { + expect(result.current.loading).toBe(false); + }); + + expect(result.current.hasPatterns).toBe(false); + expect(result.current.patterns).toEqual([]); + consoleSpy.mockRestore(); + }); + + it('skips state update when error occurs after cancellation', async () => { + const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => {}); + let rejectApi: (err: Error) => void; + const apiPromise = new Promise((_resolve, reject) => { + rejectApi = reject; + }); + (window.api as any).quickClipsScanText = vi.fn().mockReturnValue(apiPromise); + + const { unmount } = renderHook(() => usePatternDetection('error content')); + + // Wait for debounce to fire + await new Promise((r) => setTimeout(r, 350)); + + // Unmount first (sets isCancelled = true), then reject + unmount(); + rejectApi!(new Error('cancelled error')); + + // Allow microtask to process + await new Promise((r) => setTimeout(r, 50)); + + consoleSpy.mockRestore(); + }); + + it('clears patterns when content becomes empty', async () => { + const mockMatches = [ + { searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }, + ]; + (window.api as any).quickClipsScanText = vi.fn().mockResolvedValue(mockMatches); + + const { rerender, result } = renderHook( + ({ content }) => usePatternDetection(content), + { initialProps: { content: 'test@example.com' } } + ); + + await waitFor(() => { + expect(result.current.hasPatterns).toBe(true); + }); + + rerender({ content: '' }); expect(result.current.hasPatterns).toBe(false); expect(result.current.patterns).toEqual([]); diff --git a/src/renderer/src/providers/theme.test.tsx b/src/renderer/src/providers/theme.test.tsx index 42084ca..12a23a9 100644 --- a/src/renderer/src/providers/theme.test.tsx +++ b/src/renderer/src/providers/theme.test.tsx @@ -1,4 +1,4 @@ -import { describe, it, expect, vi, afterEach } from 'vitest'; +import { describe, it, expect, vi, afterEach, beforeEach } from 'vitest'; import { render, screen, act, cleanup } from '@testing-library/react'; import { ThemeProvider, useTheme } from './theme'; @@ -13,11 +13,42 @@ function ThemeDisplay() { {String(isDark)} +
); } describe('ThemeProvider', () => { + let settingsCallback: ((settings: any) => void) | null = null; + let mediaChangeCallback: (() => void) | null = null; + + beforeEach(() => { + settingsCallback = null; + mediaChangeCallback = null; + + (window as any).api = { + storageGetSettings: vi.fn().mockResolvedValue({ theme: 'system' }), + storageSaveSettings: vi.fn().mockResolvedValue(undefined), + onSettingsUpdated: vi.fn().mockImplementation((cb) => { + settingsCallback = cb; + return vi.fn(); // cleanup function + }), + }; + + // Mock matchMedia + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: vi.fn().mockImplementation((query) => ({ + matches: false, + media: query, + addEventListener: vi.fn().mockImplementation((_event, cb) => { + mediaChangeCallback = cb; + }), + removeEventListener: vi.fn(), + })), + }); + }); + afterEach(() => { cleanup(); }); @@ -47,15 +78,130 @@ describe('ThemeProvider', () => { expect(screen.getByTestId('isDark').textContent).toBe('false'); }); + it('allows setting theme to dark', async () => { + await act(async () => { + render( + + + + ); + }); + + await act(async () => { + screen.getByText('Set Dark').click(); + }); + + expect(screen.getByTestId('effective').textContent).toBe('dark'); + }); + + it('loads theme from settings on mount', async () => { + (window.api as any).storageGetSettings = vi.fn().mockResolvedValue({ theme: 'dark' }); + + await act(async () => { + render( + + + + ); + }); + + expect(screen.getByTestId('theme').textContent).toBe('dark'); + expect(screen.getByTestId('effective').textContent).toBe('dark'); + }); + + it('handles theme loading error by defaulting to system', async () => { + (window.api as any).storageGetSettings = vi.fn().mockRejectedValue(new Error('fail')); + const spy = vi.spyOn(console, 'error').mockImplementation(() => {}); + + await act(async () => { + render( + + + + ); + }); + + expect(screen.getByTestId('theme').textContent).toBe('system'); + spy.mockRestore(); + }); + + it('handles missing api gracefully during load', async () => { + (window as any).api = undefined; + + await act(async () => { + render( + + + + ); + }); + + expect(screen.getByTestId('theme').textContent).toBe('system'); + }); + + it('responds to settings updates from other windows', async () => { + await act(async () => { + render( + + + + ); + }); + + expect(settingsCallback).toBeTruthy(); + + await act(async () => { + settingsCallback!({ theme: 'light' }); + }); + + expect(screen.getByTestId('theme').textContent).toBe('light'); + expect(screen.getByTestId('effective').textContent).toBe('light'); + }); + + it('handles save error gracefully', async () => { + (window.api as any).storageSaveSettings = vi.fn().mockRejectedValue(new Error('save fail')); + const spy = vi.spyOn(console, 'error').mockImplementation(() => {}); + + render( + + + + ); + + await act(async () => { + screen.getByText('Set Light').click(); + }); + + // Should still update locally even if save fails + expect(screen.getByTestId('effective').textContent).toBe('light'); + spy.mockRestore(); + }); + + it('handles missing api during save', async () => { + render( + + + + ); + + // Remove api after mount + (window as any).api = undefined; + + await act(async () => { + screen.getByText('Set Light').click(); + }); + + // Should still update locally + expect(screen.getByTestId('effective').textContent).toBe('light'); + }); + it('resolves system theme to light when matchMedia prefers light', () => { - // matchMedia mock returns matches: false (light mode) render( ); - // system theme with matchMedia returning false → light expect(screen.getByTestId('theme').textContent).toBe('system'); }); @@ -64,4 +210,106 @@ describe('ThemeProvider', () => { expect(() => render()).toThrow('useTheme must be used within a ThemeProvider'); spy.mockRestore(); }); + + it('resolves system theme to dark when matchMedia prefers dark', async () => { + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: vi.fn().mockImplementation((query: string) => ({ + matches: true, // prefers dark + media: query, + addEventListener: vi.fn(), + removeEventListener: vi.fn(), + })), + }); + + await act(async () => { + render( + + + + ); + }); + + expect(screen.getByTestId('effective').textContent).toBe('dark'); + }); + + it('defaults to system when settings has no theme property', async () => { + (window.api as any).storageGetSettings = vi.fn().mockResolvedValue({}); + + await act(async () => { + render( + + + + ); + }); + + expect(screen.getByTestId('theme').textContent).toBe('system'); + }); + + it('ignores settings update without theme property', async () => { + await act(async () => { + render( + + + + ); + }); + + await act(async () => { + settingsCallback!({ maxClips: 200 }); // no theme property + }); + + // Theme should remain unchanged (system) + expect(screen.getByTestId('theme').textContent).toBe('system'); + }); + + it('responds to system theme media change', async () => { + // Theme defaults to 'system', so the media change listener should be active + await act(async () => { + render( + + + + ); + }); + + expect(mediaChangeCallback).toBeTruthy(); + + // Simulate system theme change + // Change matchMedia to return dark + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: vi.fn().mockImplementation((query: string) => ({ + matches: true, + media: query, + addEventListener: vi.fn(), + removeEventListener: vi.fn(), + })), + }); + + await act(async () => { + mediaChangeCallback!(); + }); + + expect(screen.getByTestId('effective').textContent).toBe('dark'); + }); + + it('does not listen for settings updates when api.onSettingsUpdated is missing', async () => { + (window as any).api = { + storageGetSettings: vi.fn().mockResolvedValue({ theme: 'system' }), + storageSaveSettings: vi.fn(), + }; + + await act(async () => { + render( + + + + ); + }); + + // Should not throw + expect(screen.getByTestId('theme').textContent).toBe('system'); + }); }); diff --git a/src/renderer/src/utils/languageDetection.test.ts b/src/renderer/src/utils/languageDetection.test.ts index 9dd41e7..be5de2f 100644 --- a/src/renderer/src/utils/languageDetection.test.ts +++ b/src/renderer/src/utils/languageDetection.test.ts @@ -2,8 +2,9 @@ import { describe, it, expect } from 'vitest'; import { detectLanguage, isCode, mapToSyntaxHighlighterLanguage } from './languageDetection'; describe('detectLanguage', () => { - it('returns null for short text', () => { + it('returns null for short text (< 5 chars)', () => { expect(detectLanguage('hi')).toBeNull(); + expect(detectLanguage('abcd')).toBeNull(); }); it('returns null for empty string', () => { @@ -59,6 +60,31 @@ describe('detectLanguage', () => { const text = 'The weather is nice today and the sun is shining brightly.'; expect(detectLanguage(text)).toBeNull(); }); + + it('returns null for null/undefined', () => { + expect(detectLanguage(null as any)).toBeNull(); + expect(detectLanguage(undefined as any)).toBeNull(); + }); + + it('detects JSON', () => { + const code = '{"name": "test", "value": 42, "active": true}'; + expect(detectLanguage(code)).toBe('json'); + }); + + it('detects CSS', () => { + const code = `.container { color: red; background: blue; margin: 10px; padding: 5px; }`; + expect(detectLanguage(code)).toBe('css'); + }); + + it('detects bash', () => { + const code = `#!/bin/bash\necho "hello"\ncd /home\nls -la | grep test`; + expect(detectLanguage(code)).toBe('bash'); + }); + + it('detects Java', () => { + const code = `public class Main {\n public static void main(String[] args) {\n System.out.println("Hello");\n }\n}`; + expect(detectLanguage(code)).toBe('java'); + }); }); describe('isCode', () => { @@ -85,6 +111,40 @@ describe('isCode', () => { it('returns false for plain text', () => { expect(isCode('Hello, this is a normal sentence.')).toBe(false); }); + + it('returns false for null/undefined', () => { + expect(isCode(null as any)).toBe(false); + expect(isCode(undefined as any)).toBe(false); + }); + + it('returns true for strong code indicators', () => { + expect(isCode('const handleX = (')).toBe(true); + expect(isCode('obj.method()')).toBe(true); + expect(isCode('=> {')).toBe(true); + }); + + it('detects code in small snippets (< 20 chars)', () => { + expect(isCode('x = 5;')).toBe(true); + }); + + it('detects code in medium snippets (20-50 chars)', () => { + expect(isCode('const x = 5; let y = 10;')).toBe(true); + }); + + it('detects code in large snippets (> 50 chars)', () => { + const largeCode = 'const foo = "bar"; const baz = 42; if (foo) { console.log(baz); }'; + expect(isCode(largeCode)).toBe(true); + }); + + it('returns false for text under 3 chars', () => { + expect(isCode('hi')).toBe(false); + }); + + it('returns false for large non-code text (> 50 chars)', () => { + const plainText = + 'This is a perfectly normal sentence that has no code indicators whatsoever and is quite long.'; + expect(isCode(plainText)).toBe(false); + }); }); describe('mapToSyntaxHighlighterLanguage', () => { From 0df9a87c0c8940cf93a310dcf5f1ea336df34755 Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 20:37:04 -0700 Subject: [PATCH 07/18] update test workflow to add comments to PR with coverage and e2e reusults --- .github/workflows/test.yml | 104 ++++++++++++++++++++++++++++++++++++- 1 file changed, 102 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d115e3b..7c4d182 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,7 +24,43 @@ jobs: run: npm ci - name: Run unit tests - run: npm test + run: npx vitest run --coverage + + - name: Post coverage comment + if: github.event_name == 'pull_request' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + SUMMARY=$(cat coverage/coverage-summary.json) + STMTS=$(echo "$SUMMARY" | jq -r '.total.statements.pct') + BRANCH=$(echo "$SUMMARY" | jq -r '.total.branches.pct') + FUNCS=$(echo "$SUMMARY" | jq -r '.total.functions.pct') + LINES=$(echo "$SUMMARY" | jq -r '.total.lines.pct') + + CONTENT=$(cat </dev/null || echo "") + if [ -n "$COMMENT_ID" ]; then + gh api "repos/$REPO/issues/$PR_NUMBER/comments/$COMMENT_ID" -X PATCH -f body="$BODY" + else + gh api "repos/$REPO/issues/$PR_NUMBER/comments" -f body="$BODY" + fi e2e-tests: needs: unit-tests @@ -47,4 +83,68 @@ jobs: run: npm run build - name: Run E2E tests - run: npm run test:e2e + id: e2e + run: npx playwright test --reporter=json > e2e-results.json + continue-on-error: true + + - name: Upload Playwright traces on failure + if: steps.e2e.outcome == 'failure' + uses: actions/upload-artifact@v4 + with: + name: playwright-traces + path: test-results/ + retention-days: 7 + + - name: Post E2E comment + if: always() && github.event_name == 'pull_request' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + shell: bash + run: | + if [ ! -f e2e-results.json ]; then + CONTENT="## 🧪 E2E Test Results\n\n❌ **Tests failed to produce results**" + else + PASSED=$(jq '[.suites[].specs[] | select(.ok == true)] | length' e2e-results.json) + FAILED=$(jq '[.suites[].specs[] | select(.ok == false)] | length' e2e-results.json) + SKIPPED=$(jq '[.suites[].specs[] | select(.tests[0].status == "skipped")] | length' e2e-results.json) + + if [ "$FAILED" -eq 0 ]; then + STATUS="✅" + else + STATUS="❌" + fi + + TABLE_ROWS="" + for SUITE in $(jq -r '.suites[].title' e2e-results.json); do + SUITE_OK=$(jq -r --arg s "$SUITE" '.suites[] | select(.title == $s) | if (.specs | all(.ok)) then "✅" else "❌" end' e2e-results.json) + TABLE_ROWS="${TABLE_ROWS}| ${SUITE} | ${SUITE_OK} |\n" + done + + CONTENT=$(cat </dev/null || echo "") + if [ -n "$COMMENT_ID" ]; then + gh api "repos/$REPO/issues/$PR_NUMBER/comments/$COMMENT_ID" -X PATCH -f body="$BODY" + else + gh api "repos/$REPO/issues/$PR_NUMBER/comments" -f body="$BODY" + fi + + - name: Fail if E2E tests failed + if: steps.e2e.outcome == 'failure' + run: exit 1 From 304bfadb6b3cf103ba9a7e968a75bb431eafb0dd Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 20:39:53 -0700 Subject: [PATCH 08/18] lint --- coverage/base.css | 384 +- coverage/block-navigation.js | 131 +- coverage/coverage-final.json | 5050 ++++++++++++++++- coverage/index.html | 438 +- coverage/main/clipboard/data.ts.html | 132 +- coverage/main/clipboard/index.html | 271 +- coverage/main/clipboard/quick-clips.ts.html | 133 +- coverage/main/clipboard/quick-tools.ts.html | 133 +- coverage/main/hotkeys/actions.ts.html | 133 +- coverage/main/hotkeys/index.html | 273 +- coverage/main/hotkeys/manager.ts.html | 133 +- coverage/main/hotkeys/registry.ts.html | 133 +- coverage/main/storage/defaults.ts.html | 133 +- coverage/main/storage/file-operations.ts.html | 133 +- coverage/main/storage/index.html | 339 +- coverage/main/storage/migration.ts.html | 133 +- coverage/main/storage/search-terms.ts.html | 133 +- coverage/main/storage/templates.ts.html | 133 +- coverage/prettify.css | 102 +- coverage/prettify.js | 937 ++- .../clips/clip/BookmarkClip.tsx.html | 133 +- .../components/clips/clip/HtmlClip.tsx.html | 133 +- .../components/clips/clip/ImageClip.tsx.html | 133 +- .../components/clips/clip/TextClip.tsx.html | 133 +- .../src/components/clips/clip/index.html | 310 +- coverage/renderer/src/hooks/index.html | 205 +- .../src/hooks/usePatternDetection.ts.html | 133 +- coverage/renderer/src/providers/index.html | 205 +- .../renderer/src/providers/theme.tsx.html | 133 +- coverage/renderer/src/utils/index.html | 205 +- .../src/utils/languageDetection.ts.html | 133 +- coverage/shared/constants.ts.html | 132 +- coverage/shared/index.html | 205 +- coverage/sorter.js | 377 +- src/main/clipboard/data.test.ts | 9 +- src/main/clipboard/quick-clips.test.ts | 38 +- src/main/clipboard/quick-tools.test.ts | 4 +- src/main/hotkeys/actions.test.ts | 19 +- src/main/storage/templates.test.ts | 13 +- .../components/clips/clip/TextClip.test.tsx | 6 +- .../src/hooks/usePatternDetection.test.ts | 14 +- 41 files changed, 9182 insertions(+), 2878 deletions(-) diff --git a/coverage/base.css b/coverage/base.css index f418035..8cd9700 100644 --- a/coverage/base.css +++ b/coverage/base.css @@ -1,71 +1,129 @@ -body, html { - margin:0; padding: 0; +body, +html { + margin: 0; + padding: 0; height: 100%; } body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } + font-family: + Helvetica Neue, + Helvetica, + Arial; + font-size: 14px; + color: #333; +} +.small { + font-size: 12px; +} +*, +*:after, +*:before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +h1 { + font-size: 20px; + margin: 0; +} +h2 { + font-size: 14px; +} pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } + font: + 12px/1.4 Consolas, + 'Liberation Mono', + Menlo, + Courier, + monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { + color: #0074d9; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +.strong { + font-weight: bold; +} +.space-top1 { + padding: 10px 0 0 0; +} +.pad2y { + padding: 20px 0; +} +.pad1y { + padding: 10px 0; +} +.pad2x { + padding: 0 20px; +} +.pad2 { + padding: 20px; +} +.pad1 { + padding: 10px; +} +.space-left2 { + padding-left: 55px; +} +.space-right2 { + padding-right: 20px; +} +.center { + text-align: center; +} +.clearfix { + display: block; +} .clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; + content: ''; + display: block; + height: 0; + clear: both; + visibility: hidden; +} +.fl { + float: left; +} +@media only screen and (max-width: 640px) { + .col3 { + width: 100%; + max-width: 100%; + } + .hide-mobile { + display: none !important; } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } } .quiet { color: #7f7f7f; - color: rgba(0,0,0,0.5); + color: rgba(0, 0, 0, 0.5); +} +.quiet a { + opacity: 0.7; } -.quiet a { opacity: 0.7; } .fraction { font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 10px; color: #555; - background: #E8E8E8; + background: #e8e8e8; padding: 4px 5px; border-radius: 3px; vertical-align: middle; } -div.path a:link, div.path a:visited { color: #333; } +div.path a:link, +div.path a:visited { + color: #333; +} table.coverage { border-collapse: collapse; margin: 10px 0 0 0; @@ -78,140 +136,219 @@ table.coverage td { vertical-align: top; } table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; + text-align: right; + padding: 0 5px 0 20px; } table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; + text-align: right; + padding-right: 10px; + min-width: 20px; } table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; + display: inline-block; + padding: 0 5px; + width: 100%; } .missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; } .skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; } -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; +.missing-if-branch .typ, +.skip-if-branch .typ { + color: inherit !important; } .coverage-summary { border-collapse: collapse; width: 100%; } -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } +.coverage-summary tr { + border-bottom: 1px solid #bbb; +} +.keyline-all { + border: 1px solid #ddd; +} +.coverage-summary td, +.coverage-summary th { + padding: 10px; +} +.coverage-summary tbody { + border: 1px solid #bbb; +} +.coverage-summary td { + border-right: 1px solid #bbb; +} +.coverage-summary td:last-child { + border-right: none; +} .coverage-summary th { text-align: left; font-weight: normal; white-space: nowrap; } -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } +.coverage-summary th.file { + border-right: none !important; +} +.coverage-summary th.pct { +} .coverage-summary th.pic, .coverage-summary th.abs, .coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } +.coverage-summary td.abs { + text-align: right; +} +.coverage-summary td.file { + white-space: nowrap; +} +.coverage-summary td.pic { + min-width: 120px !important; +} +.coverage-summary tfoot td { +} .coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; } .coverage-summary .sorted .sorter { - background-position: 0 -20px; + background-position: 0 -20px; } .coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; + background-position: 0 -10px; +} +.status-line { + height: 10px; } -.status-line { height: 10px; } /* yellow */ -.cbranch-no { background: yellow !important; color: #111; } +.cbranch-no { + background: yellow !important; + color: #111; +} /* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } +.red.solid, +.status-line.low, +.low .cover-fill { + background: #c21f39; +} +.low .chart { + border: 1px solid #c21f39; +} .highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; +.highlighted .cstat-no, +.highlighted .fstat-no, +.highlighted .cbranch-no { + background: #c21f39 !important; } /* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +.cstat-no, +.fstat-no, +.cbranch-no, +.cbranch-no { + background: #f6c6ce; +} /* light red */ -.low, .cline-no { background:#FCE1E5 } +.low, +.cline-no { + background: #fce1e5; +} /* light green */ -.high, .cline-yes { background:rgb(230,245,208) } +.high, +.cline-yes { + background: rgb(230, 245, 208); +} /* medium green */ -.cstat-yes { background:rgb(161,215,106) } +.cstat-yes { + background: rgb(161, 215, 106); +} /* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } +.status-line.high, +.high .cover-fill { + background: rgb(77, 146, 33); +} +.high .chart { + border: 1px solid rgb(77, 146, 33); +} /* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } +.status-line.medium, +.medium .cover-fill { + background: #f9cd0b; +} +.medium .chart { + border: 1px solid #f9cd0b; +} /* light yellow */ -.medium { background: #fff4c2; } +.medium { + background: #fff4c2; +} -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } +.cstat-skip { + background: #ddd; + color: #111; +} +.fstat-skip { + background: #ddd; + color: #111 !important; +} +.cbranch-skip { + background: #ddd !important; + color: #111; +} -span.cline-neutral { background: #eaeaea; } +span.cline-neutral { + background: #eaeaea; +} .coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; + opacity: 0.5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; } -.cover-fill, .cover-empty { - display:inline-block; +.cover-fill, +.cover-empty { + display: inline-block; height: 12px; } .chart { line-height: 0; } .cover-empty { - background: white; + background: white; } .cover-full { - border-right: none !important; + border-right: none !important; } pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { + color: #999 !important; +} +.ignore-none { + color: #999; + font-weight: normal; } -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } .wrapper { min-height: 100%; @@ -219,6 +356,7 @@ pre.prettyprint { height: 100%; margin: 0 auto -48px; } -.footer, .push { +.footer, +.push { height: 48px; } diff --git a/coverage/block-navigation.js b/coverage/block-navigation.js index 530d1ed..b7fa563 100644 --- a/coverage/block-navigation.js +++ b/coverage/block-navigation.js @@ -1,87 +1,82 @@ /* eslint-disable */ var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - // Selector that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + // Selector that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); - var currentIndex; + var currentIndex; - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } + function toggleClass(index) { + missingCoverageElements.item(currentIndex).classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center', + }); + } - makeCurrent(nextIndex); + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; } - function goToNext() { - var nextIndex = 0; + makeCurrent(nextIndex); + } - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } + function goToNext() { + var nextIndex = 0; - makeCurrent(nextIndex); + if (typeof currentIndex === 'number' && currentIndex < missingCoverageElements.length - 1) { + nextIndex = currentIndex + 1; } - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } + makeCurrent(nextIndex); + } - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; })(); window.addEventListener('keydown', jumpToCode); diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json index 2c9d41a..a59cc7d 100644 --- a/coverage/coverage-final.json +++ b/coverage/coverage-final.json @@ -1,20 +1,5032 @@ -{"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts","statementMap":{"0":{"start":{"line":4,"column":39},"end":{"line":36,"column":null}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":null}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"4":{"start":{"line":11,"column":14},"end":{"line":11,"column":null}},"5":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}},"7":{"start":{"line":16,"column":15},"end":{"line":16,"column":null}},"8":{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":21,"column":16},"end":{"line":21,"column":null}},"11":{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},"12":{"start":{"line":23,"column":4},"end":{"line":23,"column":null}},"13":{"start":{"line":26,"column":2},"end":{"line":33,"column":null}},"14":{"start":{"line":27,"column":21},"end":{"line":27,"column":null}},"15":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"16":{"start":{"line":29,"column":6},"end":{"line":29,"column":null}},"17":{"start":{"line":35,"column":2},"end":{"line":35,"column":null}},"18":{"start":{"line":39,"column":32},"end":{"line":39,"column":null}},"19":{"start":{"line":39,"column":46},"end":{"line":39,"column":null}},"20":{"start":{"line":40,"column":32},"end":{"line":40,"column":null}},"21":{"start":{"line":40,"column":46},"end":{"line":40,"column":null}},"22":{"start":{"line":41,"column":31},"end":{"line":41,"column":null}},"23":{"start":{"line":41,"column":45},"end":{"line":41,"column":null}},"24":{"start":{"line":43,"column":33},"end":{"line":49,"column":null}},"25":{"start":{"line":44,"column":16},"end":{"line":44,"column":null}},"26":{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},"27":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"28":{"start":{"line":48,"column":2},"end":{"line":48,"column":null}},"29":{"start":{"line":51,"column":36},"end":{"line":57,"column":null}},"30":{"start":{"line":52,"column":2},"end":{"line":56,"column":null}},"31":{"start":{"line":53,"column":4},"end":{"line":53,"column":null}},"32":{"start":{"line":55,"column":4},"end":{"line":55,"column":null}},"33":{"start":{"line":60,"column":32},"end":{"line":62,"column":null}},"34":{"start":{"line":61,"column":2},"end":{"line":61,"column":null}},"35":{"start":{"line":64,"column":32},"end":{"line":66,"column":null}},"36":{"start":{"line":65,"column":2},"end":{"line":65,"column":null}},"37":{"start":{"line":68,"column":31},"end":{"line":70,"column":null}},"38":{"start":{"line":69,"column":2},"end":{"line":69,"column":null}},"39":{"start":{"line":72,"column":33},"end":{"line":81,"column":null}},"40":{"start":{"line":73,"column":2},"end":{"line":80,"column":null}},"41":{"start":{"line":75,"column":18},"end":{"line":75,"column":null}},"42":{"start":{"line":76,"column":4},"end":{"line":76,"column":null}},"43":{"start":{"line":78,"column":4},"end":{"line":78,"column":null}},"44":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"45":{"start":{"line":83,"column":36},"end":{"line":99,"column":null}},"46":{"start":{"line":89,"column":2},"end":{"line":98,"column":null}},"47":{"start":{"line":91,"column":4},"end":{"line":94,"column":null}},"48":{"start":{"line":96,"column":4},"end":{"line":96,"column":null}},"49":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":39},"end":{"line":4,"column":87}},"loc":{"start":{"line":4,"column":87},"end":{"line":36,"column":null}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":32},"end":{"line":39,"column":46}},"loc":{"start":{"line":39,"column":46},"end":{"line":39,"column":null}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":32},"end":{"line":40,"column":46}},"loc":{"start":{"line":40,"column":46},"end":{"line":40,"column":null}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":31},"end":{"line":41,"column":45}},"loc":{"start":{"line":41,"column":45},"end":{"line":41,"column":null}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":33},"end":{"line":43,"column":54}},"loc":{"start":{"line":43,"column":54},"end":{"line":49,"column":null}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":36},"end":{"line":51,"column":81}},"loc":{"start":{"line":51,"column":81},"end":{"line":57,"column":null}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":60,"column":32},"end":{"line":60,"column":33}},"loc":{"start":{"line":60,"column":56},"end":{"line":62,"column":null}},"line":60},"7":{"name":"(anonymous_7)","decl":{"start":{"line":64,"column":32},"end":{"line":64,"column":33}},"loc":{"start":{"line":64,"column":56},"end":{"line":66,"column":null}},"line":64},"8":{"name":"(anonymous_8)","decl":{"start":{"line":68,"column":31},"end":{"line":68,"column":32}},"loc":{"start":{"line":68,"column":54},"end":{"line":70,"column":null}},"line":68},"9":{"name":"(anonymous_9)","decl":{"start":{"line":72,"column":33},"end":{"line":72,"column":34}},"loc":{"start":{"line":72,"column":62},"end":{"line":81,"column":null}},"line":72},"10":{"name":"(anonymous_10)","decl":{"start":{"line":83,"column":36},"end":{"line":83,"column":37}},"loc":{"start":{"line":88,"column":12},"end":{"line":99,"column":null}},"line":88}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":9,"column":null}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":7,"column":6},"end":{"line":7,"column":27}},"type":"binary-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":7,"column":14}},{"start":{"line":7,"column":14},"end":{"line":7,"column":27}}],"line":7},"2":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},{"start":{},"end":{}}],"line":12},"3":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":25}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":13}},{"start":{"line":12,"column":13},"end":{"line":12,"column":25}}],"line":12},"4":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":17},"5":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":27}},"type":"binary-expr","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":14}},{"start":{"line":17,"column":14},"end":{"line":17,"column":27}}],"line":17},"6":{"loc":{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":24,"column":null}},{"start":{},"end":{}}],"line":22},"7":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},{"start":{},"end":{}}],"line":28},"8":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":34}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":20}},{"start":{"line":28,"column":20},"end":{"line":28,"column":34}}],"line":28},"9":{"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":47,"column":null}},{"start":{},"end":{}}],"line":45}},"s":{"0":1,"1":8,"2":8,"3":2,"4":6,"5":6,"6":1,"7":5,"8":5,"9":1,"10":4,"11":4,"12":1,"13":3,"14":3,"15":3,"16":1,"17":2,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":2,"26":2,"27":1,"28":1,"29":1,"30":2,"31":2,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":2,"41":2,"42":2,"43":1,"44":1,"45":1,"46":2,"47":2,"48":1,"49":1},"f":{"0":8,"1":1,"2":1,"3":1,"4":2,"5":2,"6":1,"7":1,"8":1,"9":2,"10":2},"b":{"0":[2,6],"1":[8,2],"2":[1,5],"3":[6,1],"4":[1,4],"5":[5,1],"6":[1,3],"7":[1,2],"8":[3,2],"9":[1,1]},"meta":{"lastBranch":10,"lastFunction":11,"lastStatement":50,"seen":{"s:4:39:36:Infinity":0,"f:4:39:4:87":0,"s:6:15:6:Infinity":1,"b:7:2:9:Infinity:undefined:undefined:undefined:undefined":0,"s:7:2:9:Infinity":2,"b:7:6:7:14:7:14:7:27":1,"s:8:4:8:Infinity":3,"s:11:14:11:Infinity":4,"b:12:2:14:Infinity:undefined:undefined:undefined:undefined":2,"s:12:2:14:Infinity":5,"b:12:6:12:13:12:13:12:25":3,"s:13:4:13:Infinity":6,"s:16:15:16:Infinity":7,"b:17:2:19:Infinity:undefined:undefined:undefined:undefined":4,"s:17:2:19:Infinity":8,"b:17:6:17:14:17:14:17:27":5,"s:18:4:18:Infinity":9,"s:21:16:21:Infinity":10,"b:22:2:24:Infinity:undefined:undefined:undefined:undefined":6,"s:22:2:24:Infinity":11,"s:23:4:23:Infinity":12,"s:26:2:33:Infinity":13,"s:27:21:27:Infinity":14,"b:28:4:30:Infinity:undefined:undefined:undefined:undefined":7,"s:28:4:30:Infinity":15,"b:28:8:28:20:28:20:28:34":8,"s:29:6:29:Infinity":16,"s:35:2:35:Infinity":17,"s:39:32:39:Infinity":18,"f:39:32:39:46":1,"s:39:46:39:Infinity":19,"s:40:32:40:Infinity":20,"f:40:32:40:46":2,"s:40:46:40:Infinity":21,"s:41:31:41:Infinity":22,"f:41:31:41:45":3,"s:41:45:41:Infinity":23,"s:43:33:49:Infinity":24,"f:43:33:43:54":4,"s:44:16:44:Infinity":25,"b:45:2:47:Infinity:undefined:undefined:undefined:undefined":9,"s:45:2:47:Infinity":26,"s:46:4:46:Infinity":27,"s:48:2:48:Infinity":28,"s:51:36:57:Infinity":29,"f:51:36:51:81":5,"s:52:2:56:Infinity":30,"s:53:4:53:Infinity":31,"s:55:4:55:Infinity":32,"s:60:32:62:Infinity":33,"f:60:32:60:33":6,"s:61:2:61:Infinity":34,"s:64:32:66:Infinity":35,"f:64:32:64:33":7,"s:65:2:65:Infinity":36,"s:68:31:70:Infinity":37,"f:68:31:68:32":8,"s:69:2:69:Infinity":38,"s:72:33:81:Infinity":39,"f:72:33:72:34":9,"s:73:2:80:Infinity":40,"s:75:18:75:Infinity":41,"s:76:4:76:Infinity":42,"s:78:4:78:Infinity":43,"s:79:4:79:Infinity":44,"s:83:36:99:Infinity":45,"f:83:36:83:37":10,"s:89:2:98:Infinity":46,"s:91:4:94:Infinity":47,"s:96:4:96:Infinity":48,"s:97:4:97:Infinity":49}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts","statementMap":{"0":{"start":{"line":6,"column":35},"end":{"line":49,"column":null}},"1":{"start":{"line":7,"column":2},"end":{"line":48,"column":null}},"2":{"start":{"line":8,"column":24},"end":{"line":8,"column":null}},"3":{"start":{"line":9,"column":36},"end":{"line":9,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":42,"column":null}},"5":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"6":{"start":{"line":12,"column":31},"end":{"line":12,"column":null}},"7":{"start":{"line":14,"column":6},"end":{"line":41,"column":null}},"8":{"start":{"line":15,"column":22},"end":{"line":15,"column":null}},"9":{"start":{"line":18,"column":8},"end":{"line":37,"column":null}},"10":{"start":{"line":19,"column":51},"end":{"line":19,"column":null}},"11":{"start":{"line":22,"column":10},"end":{"line":28,"column":null}},"12":{"start":{"line":23,"column":12},"end":{"line":27,"column":null}},"13":{"start":{"line":24,"column":14},"end":{"line":26,"column":null}},"14":{"start":{"line":25,"column":16},"end":{"line":25,"column":null}},"15":{"start":{"line":30,"column":10},"end":{"line":36,"column":null}},"16":{"start":{"line":31,"column":12},"end":{"line":35,"column":null}},"17":{"start":{"line":39,"column":8},"end":{"line":39,"column":null}},"18":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"19":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"20":{"start":{"line":47,"column":4},"end":{"line":47,"column":null}},"21":{"start":{"line":51,"column":35},"end":{"line":157,"column":null}},"22":{"start":{"line":52,"column":2},"end":{"line":156,"column":null}},"23":{"start":{"line":53,"column":18},"end":{"line":53,"column":null}},"24":{"start":{"line":55,"column":4},"end":{"line":152,"column":null}},"25":{"start":{"line":56,"column":19},"end":{"line":56,"column":null}},"26":{"start":{"line":56,"column":37},"end":{"line":56,"column":52}},"27":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"28":{"start":{"line":57,"column":17},"end":{"line":57,"column":null}},"29":{"start":{"line":60,"column":32},"end":{"line":62,"column":null}},"30":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"31":{"start":{"line":61,"column":43},"end":{"line":61,"column":66}},"32":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"33":{"start":{"line":64,"column":42},"end":{"line":64,"column":null}},"34":{"start":{"line":67,"column":30},"end":{"line":67,"column":null}},"35":{"start":{"line":68,"column":25},"end":{"line":68,"column":null}},"36":{"start":{"line":71,"column":20},"end":{"line":71,"column":null}},"37":{"start":{"line":74,"column":21},"end":{"line":74,"column":null}},"38":{"start":{"line":76,"column":6},"end":{"line":146,"column":null}},"39":{"start":{"line":78,"column":8},"end":{"line":78,"column":null}},"40":{"start":{"line":81,"column":94},"end":{"line":81,"column":null}},"41":{"start":{"line":83,"column":8},"end":{"line":102,"column":null}},"42":{"start":{"line":84,"column":28},"end":{"line":84,"column":null}},"43":{"start":{"line":85,"column":31},"end":{"line":85,"column":null}},"44":{"start":{"line":86,"column":32},"end":{"line":86,"column":null}},"45":{"start":{"line":86,"column":67},"end":{"line":86,"column":75}},"46":{"start":{"line":89,"column":35},"end":{"line":89,"column":null}},"47":{"start":{"line":90,"column":22},"end":{"line":90,"column":null}},"48":{"start":{"line":91,"column":10},"end":{"line":99,"column":null}},"49":{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},"50":{"start":{"line":93,"column":14},"end":{"line":93,"column":null}},"51":{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},"52":{"start":{"line":96,"column":16},"end":{"line":96,"column":null}},"53":{"start":{"line":101,"column":10},"end":{"line":101,"column":null}},"54":{"start":{"line":105,"column":8},"end":{"line":145,"column":null}},"55":{"start":{"line":105,"column":44},"end":{"line":105,"column":64}},"56":{"start":{"line":107,"column":10},"end":{"line":144,"column":null}},"57":{"start":{"line":112,"column":12},"end":{"line":112,"column":null}},"58":{"start":{"line":112,"column":57},"end":{"line":112,"column":76}},"59":{"start":{"line":115,"column":41},"end":{"line":140,"column":null}},"60":{"start":{"line":116,"column":14},"end":{"line":123,"column":null}},"61":{"start":{"line":117,"column":36},"end":{"line":117,"column":null}},"62":{"start":{"line":118,"column":16},"end":{"line":122,"column":null}},"63":{"start":{"line":120,"column":39},"end":{"line":120,"column":null}},"64":{"start":{"line":121,"column":18},"end":{"line":121,"column":null}},"65":{"start":{"line":126,"column":39},"end":{"line":126,"column":null}},"66":{"start":{"line":127,"column":39},"end":{"line":127,"column":null}},"67":{"start":{"line":128,"column":45},"end":{"line":128,"column":null}},"68":{"start":{"line":130,"column":14},"end":{"line":137,"column":null}},"69":{"start":{"line":131,"column":16},"end":{"line":136,"column":null}},"70":{"start":{"line":133,"column":39},"end":{"line":133,"column":null}},"71":{"start":{"line":134,"column":30},"end":{"line":134,"column":null}},"72":{"start":{"line":135,"column":18},"end":{"line":135,"column":null}},"73":{"start":{"line":139,"column":14},"end":{"line":139,"column":null}},"74":{"start":{"line":142,"column":33},"end":{"line":142,"column":null}},"75":{"start":{"line":143,"column":12},"end":{"line":143,"column":null}},"76":{"start":{"line":143,"column":42},"end":{"line":143,"column":61}},"77":{"start":{"line":149,"column":6},"end":{"line":151,"column":null}},"78":{"start":{"line":150,"column":8},"end":{"line":150,"column":null}},"79":{"start":{"line":154,"column":4},"end":{"line":154,"column":null}},"80":{"start":{"line":155,"column":4},"end":{"line":155,"column":null}},"81":{"start":{"line":159,"column":38},"end":{"line":175,"column":null}},"82":{"start":{"line":160,"column":2},"end":{"line":174,"column":null}},"83":{"start":{"line":161,"column":24},"end":{"line":161,"column":null}},"84":{"start":{"line":162,"column":18},"end":{"line":162,"column":null}},"85":{"start":{"line":163,"column":22},"end":{"line":163,"column":null}},"86":{"start":{"line":165,"column":4},"end":{"line":170,"column":null}},"87":{"start":{"line":172,"column":4},"end":{"line":172,"column":null}},"88":{"start":{"line":173,"column":4},"end":{"line":173,"column":null}},"89":{"start":{"line":177,"column":38},"end":{"line":185,"column":null}},"90":{"start":{"line":178,"column":2},"end":{"line":184,"column":null}},"91":{"start":{"line":180,"column":4},"end":{"line":180,"column":null}},"92":{"start":{"line":182,"column":4},"end":{"line":182,"column":null}},"93":{"start":{"line":183,"column":4},"end":{"line":183,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":35},"end":{"line":6,"column":42}},"loc":{"start":{"line":6,"column":84},"end":{"line":49,"column":null}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":49},"end":{"line":23,"column":50}},"loc":{"start":{"line":23,"column":73},"end":{"line":27,"column":13}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":35},"end":{"line":51,"column":42}},"loc":{"start":{"line":51,"column":80},"end":{"line":157,"column":null}},"line":51},"3":{"name":"(anonymous_3)","decl":{"start":{"line":56,"column":30},"end":{"line":56,"column":31}},"loc":{"start":{"line":56,"column":37},"end":{"line":56,"column":52}},"line":56},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":47},"end":{"line":60,"column":48}},"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":32},"end":{"line":61,"column":33}},"loc":{"start":{"line":61,"column":43},"end":{"line":61,"column":66}},"line":61},"6":{"name":"(anonymous_6)","decl":{"start":{"line":86,"column":60},"end":{"line":86,"column":61}},"loc":{"start":{"line":86,"column":67},"end":{"line":86,"column":75}},"line":86},"7":{"name":"(anonymous_7)","decl":{"start":{"line":105,"column":36},"end":{"line":105,"column":37}},"loc":{"start":{"line":105,"column":44},"end":{"line":105,"column":64}},"line":105},"8":{"name":"(anonymous_8)","decl":{"start":{"line":112,"column":48},"end":{"line":112,"column":49}},"loc":{"start":{"line":112,"column":57},"end":{"line":112,"column":76}},"line":112},"9":{"name":"(anonymous_9)","decl":{"start":{"line":115,"column":41},"end":{"line":115,"column":42}},"loc":{"start":{"line":115,"column":95},"end":{"line":140,"column":null}},"line":115},"10":{"name":"(anonymous_10)","decl":{"start":{"line":118,"column":46},"end":{"line":118,"column":47}},"loc":{"start":{"line":118,"column":57},"end":{"line":122,"column":17}},"line":118},"11":{"name":"(anonymous_11)","decl":{"start":{"line":143,"column":33},"end":{"line":143,"column":34}},"loc":{"start":{"line":143,"column":42},"end":{"line":143,"column":61}},"line":143},"12":{"name":"(anonymous_12)","decl":{"start":{"line":159,"column":38},"end":{"line":159,"column":50}},"loc":{"start":{"line":159,"column":50},"end":{"line":175,"column":null}},"line":159},"13":{"name":"(anonymous_13)","decl":{"start":{"line":177,"column":38},"end":{"line":177,"column":45}},"loc":{"start":{"line":177,"column":61},"end":{"line":185,"column":null}},"line":177}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":22,"column":10},"end":{"line":28,"column":null}},"type":"if","locations":[{"start":{"line":22,"column":10},"end":{"line":28,"column":null}},{"start":{},"end":{}}],"line":22},"2":{"loc":{"start":{"line":24,"column":14},"end":{"line":26,"column":null}},"type":"if","locations":[{"start":{"line":24,"column":14},"end":{"line":26,"column":null}},{"start":{},"end":{}}],"line":24},"3":{"loc":{"start":{"line":24,"column":18},"end":{"line":24,"column":86}},"type":"binary-expr","locations":[{"start":{"line":24,"column":18},"end":{"line":24,"column":41}},{"start":{"line":24,"column":41},"end":{"line":24,"column":59}},{"start":{"line":24,"column":59},"end":{"line":24,"column":86}}],"line":24},"4":{"loc":{"start":{"line":30,"column":10},"end":{"line":36,"column":null}},"type":"if","locations":[{"start":{"line":30,"column":10},"end":{"line":36,"column":null}},{"start":{},"end":{}}],"line":30},"5":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},{"start":{},"end":{}}],"line":57},"6":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},{"start":{},"end":{}}],"line":64},"7":{"loc":{"start":{"line":76,"column":6},"end":{"line":146,"column":null}},"type":"if","locations":[{"start":{"line":76,"column":6},"end":{"line":146,"column":null}},{"start":{"line":79,"column":13},"end":{"line":146,"column":null}}],"line":76},"8":{"loc":{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":12},"end":{"line":98,"column":null}},{"start":{},"end":{}}],"line":92},"9":{"loc":{"start":{"line":92,"column":16},"end":{"line":92,"column":66}},"type":"binary-expr","locations":[{"start":{"line":92,"column":16},"end":{"line":92,"column":43}},{"start":{"line":92,"column":43},"end":{"line":92,"column":66}}],"line":92},"10":{"loc":{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},"type":"if","locations":[{"start":{"line":95,"column":14},"end":{"line":97,"column":null}},{"start":{},"end":{}}],"line":95},"11":{"loc":{"start":{"line":105,"column":8},"end":{"line":145,"column":null}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":145,"column":null}},{"start":{},"end":{}}],"line":105},"12":{"loc":{"start":{"line":107,"column":10},"end":{"line":144,"column":null}},"type":"if","locations":[{"start":{"line":107,"column":10},"end":{"line":144,"column":null}},{"start":{"line":113,"column":17},"end":{"line":144,"column":null}}],"line":107},"13":{"loc":{"start":{"line":108,"column":12},"end":{"line":110,"column":null}},"type":"binary-expr","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":null}},{"start":{"line":109,"column":12},"end":{"line":109,"column":null}},{"start":{"line":110,"column":12},"end":{"line":110,"column":null}}],"line":108},"14":{"loc":{"start":{"line":116,"column":14},"end":{"line":123,"column":null}},"type":"if","locations":[{"start":{"line":116,"column":14},"end":{"line":123,"column":null}},{"start":{},"end":{}}],"line":116},"15":{"loc":{"start":{"line":120,"column":39},"end":{"line":120,"column":null}},"type":"cond-expr","locations":[{"start":{"line":120,"column":59},"end":{"line":120,"column":67}},{"start":{"line":120,"column":67},"end":{"line":120,"column":null}}],"line":120},"16":{"loc":{"start":{"line":133,"column":39},"end":{"line":133,"column":null}},"type":"cond-expr","locations":[{"start":{"line":133,"column":53},"end":{"line":133,"column":61}},{"start":{"line":133,"column":61},"end":{"line":133,"column":null}}],"line":133}},"s":{"0":1,"1":10,"2":10,"3":9,"4":9,"5":9,"6":1,"7":8,"8":8,"9":8,"10":8,"11":8,"12":6,"13":8,"14":7,"15":8,"16":6,"17":1,"18":9,"19":1,"20":1,"21":1,"22":13,"23":13,"24":12,"25":12,"26":11,"27":12,"28":1,"29":11,"30":11,"31":11,"32":11,"33":2,"34":9,"35":9,"36":9,"37":9,"38":9,"39":1,"40":8,"41":8,"42":11,"43":11,"44":11,"45":14,"46":11,"47":11,"48":11,"49":14,"50":13,"51":13,"52":3,"53":11,"54":8,"55":11,"56":7,"57":1,"58":1,"59":6,"60":9,"61":6,"62":6,"63":8,"64":8,"65":3,"66":3,"67":3,"68":3,"69":4,"70":6,"71":6,"72":6,"73":3,"74":6,"75":6,"76":10,"77":9,"78":12,"79":1,"80":1,"81":1,"82":2,"83":2,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":2,"91":2,"92":1,"93":1},"f":{"0":10,"1":8,"2":13,"3":11,"4":11,"5":11,"6":14,"7":11,"8":1,"9":9,"10":8,"11":10,"12":2,"13":2},"b":{"0":[1,8],"1":[6,2],"2":[7,1],"3":[8,7,7],"4":[6,2],"5":[1,11],"6":[2,9],"7":[1,8],"8":[13,1],"9":[14,14],"10":[3,10],"11":[7,1],"12":[1,6],"13":[7,4,2],"14":[6,3],"15":[1,7],"16":[1,5]},"meta":{"lastBranch":17,"lastFunction":14,"lastStatement":94,"seen":{"s:6:35:49:Infinity":0,"f:6:35:6:42":0,"s:7:2:48:Infinity":1,"s:8:24:8:Infinity":2,"s:9:36:9:Infinity":3,"s:11:4:42:Infinity":4,"b:12:6:12:Infinity:undefined:undefined:undefined:undefined":0,"s:12:6:12:Infinity":5,"s:12:31:12:Infinity":6,"s:14:6:41:Infinity":7,"s:15:22:15:Infinity":8,"s:18:8:37:Infinity":9,"s:19:51:19:Infinity":10,"b:22:10:28:Infinity:undefined:undefined:undefined:undefined":1,"s:22:10:28:Infinity":11,"s:23:12:27:Infinity":12,"f:23:49:23:50":1,"b:24:14:26:Infinity:undefined:undefined:undefined:undefined":2,"s:24:14:26:Infinity":13,"b:24:18:24:41:24:41:24:59:24:59:24:86":3,"s:25:16:25:Infinity":14,"b:30:10:36:Infinity:undefined:undefined:undefined:undefined":4,"s:30:10:36:Infinity":15,"s:31:12:35:Infinity":16,"s:39:8:39:Infinity":17,"s:44:4:44:Infinity":18,"s:46:4:46:Infinity":19,"s:47:4:47:Infinity":20,"s:51:35:157:Infinity":21,"f:51:35:51:42":2,"s:52:2:156:Infinity":22,"s:53:18:53:Infinity":23,"s:55:4:152:Infinity":24,"s:56:19:56:Infinity":25,"f:56:30:56:31":3,"s:56:37:56:52":26,"b:57:6:57:Infinity:undefined:undefined:undefined:undefined":5,"s:57:6:57:Infinity":27,"s:57:17:57:Infinity":28,"s:60:32:62:Infinity":29,"f:60:47:60:48":4,"s:61:8:61:Infinity":30,"f:61:32:61:33":5,"s:61:43:61:66":31,"b:64:6:64:Infinity:undefined:undefined:undefined:undefined":6,"s:64:6:64:Infinity":32,"s:64:42:64:Infinity":33,"s:67:30:67:Infinity":34,"s:68:25:68:Infinity":35,"s:71:20:71:Infinity":36,"s:74:21:74:Infinity":37,"b:76:6:146:Infinity:79:13:146:Infinity":7,"s:76:6:146:Infinity":38,"s:78:8:78:Infinity":39,"s:81:94:81:Infinity":40,"s:83:8:102:Infinity":41,"s:84:28:84:Infinity":42,"s:85:31:85:Infinity":43,"s:86:32:86:Infinity":44,"f:86:60:86:61":6,"s:86:67:86:75":45,"s:89:35:89:Infinity":46,"s:90:22:90:Infinity":47,"s:91:10:99:Infinity":48,"b:92:12:98:Infinity:undefined:undefined:undefined:undefined":8,"s:92:12:98:Infinity":49,"b:92:16:92:43:92:43:92:66":9,"s:93:14:93:Infinity":50,"b:95:14:97:Infinity:undefined:undefined:undefined:undefined":10,"s:95:14:97:Infinity":51,"s:96:16:96:Infinity":52,"s:101:10:101:Infinity":53,"b:105:8:145:Infinity:undefined:undefined:undefined:undefined":11,"s:105:8:145:Infinity":54,"f:105:36:105:37":7,"s:105:44:105:64":55,"b:107:10:144:Infinity:113:17:144:Infinity":12,"s:107:10:144:Infinity":56,"b:108:12:108:Infinity:109:12:109:Infinity:110:12:110:Infinity":13,"s:112:12:112:Infinity":57,"f:112:48:112:49":8,"s:112:57:112:76":58,"s:115:41:140:Infinity":59,"f:115:41:115:42":9,"b:116:14:123:Infinity:undefined:undefined:undefined:undefined":14,"s:116:14:123:Infinity":60,"s:117:36:117:Infinity":61,"s:118:16:122:Infinity":62,"f:118:46:118:47":10,"s:120:39:120:Infinity":63,"b:120:59:120:67:120:67:120:Infinity":15,"s:121:18:121:Infinity":64,"s:126:39:126:Infinity":65,"s:127:39:127:Infinity":66,"s:128:45:128:Infinity":67,"s:130:14:137:Infinity":68,"s:131:16:136:Infinity":69,"s:133:39:133:Infinity":70,"b:133:53:133:61:133:61:133:Infinity":16,"s:134:30:134:Infinity":71,"s:135:18:135:Infinity":72,"s:139:14:139:Infinity":73,"s:142:33:142:Infinity":74,"s:143:12:143:Infinity":75,"f:143:33:143:34":11,"s:143:42:143:61":76,"s:149:6:151:Infinity":77,"s:150:8:150:Infinity":78,"s:154:4:154:Infinity":79,"s:155:4:155:Infinity":80,"s:159:38:175:Infinity":81,"f:159:38:159:50":12,"s:160:2:174:Infinity":82,"s:161:24:161:Infinity":83,"s:162:18:162:Infinity":84,"s:163:22:163:Infinity":85,"s:165:4:170:Infinity":86,"s:172:4:172:Infinity":87,"s:173:4:173:Infinity":88,"s:177:38:185:Infinity":89,"f:177:38:177:45":13,"s:178:2:184:Infinity":90,"s:180:4:180:Infinity":91,"s:182:4:182:Infinity":92,"s:183:4:183:Infinity":93}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts","statementMap":{"0":{"start":{"line":4,"column":32},"end":{"line":11,"column":null}},"1":{"start":{"line":5,"column":2},"end":{"line":10,"column":null}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"5":{"start":{"line":13,"column":31},"end":{"line":20,"column":null}},"6":{"start":{"line":14,"column":2},"end":{"line":19,"column":null}},"7":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"8":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":22,"column":31},"end":{"line":29,"column":null}},"11":{"start":{"line":23,"column":2},"end":{"line":28,"column":null}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":null}},"13":{"start":{"line":26,"column":4},"end":{"line":26,"column":null}},"14":{"start":{"line":27,"column":4},"end":{"line":27,"column":null}},"15":{"start":{"line":31,"column":31},"end":{"line":38,"column":null}},"16":{"start":{"line":32,"column":2},"end":{"line":37,"column":null}},"17":{"start":{"line":33,"column":4},"end":{"line":33,"column":null}},"18":{"start":{"line":35,"column":4},"end":{"line":35,"column":null}},"19":{"start":{"line":36,"column":4},"end":{"line":36,"column":null}},"20":{"start":{"line":40,"column":33},"end":{"line":47,"column":null}},"21":{"start":{"line":41,"column":2},"end":{"line":46,"column":null}},"22":{"start":{"line":42,"column":4},"end":{"line":42,"column":null}},"23":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"24":{"start":{"line":45,"column":4},"end":{"line":45,"column":null}},"25":{"start":{"line":49,"column":31},"end":{"line":78,"column":null}},"26":{"start":{"line":50,"column":2},"end":{"line":77,"column":null}},"27":{"start":{"line":51,"column":29},"end":{"line":51,"column":null}},"28":{"start":{"line":54,"column":4},"end":{"line":58,"column":null}},"29":{"start":{"line":55,"column":6},"end":{"line":55,"column":null}},"30":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"31":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"32":{"start":{"line":62,"column":29},"end":{"line":62,"column":null}},"33":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}},"34":{"start":{"line":64,"column":4},"end":{"line":68,"column":null}},"35":{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},"36":{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},"37":{"start":{"line":70,"column":4},"end":{"line":73,"column":null}},"38":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"39":{"start":{"line":76,"column":4},"end":{"line":76,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":32},"end":{"line":4,"column":44}},"loc":{"start":{"line":4,"column":44},"end":{"line":11,"column":null}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":31},"end":{"line":13,"column":38}},"loc":{"start":{"line":13,"column":93},"end":{"line":20,"column":null}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":31},"end":{"line":22,"column":38}},"loc":{"start":{"line":22,"column":67},"end":{"line":29,"column":null}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":31},"end":{"line":31,"column":38}},"loc":{"start":{"line":31,"column":53},"end":{"line":38,"column":null}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":33},"end":{"line":40,"column":40}},"loc":{"start":{"line":40,"column":57},"end":{"line":47,"column":null}},"line":40},"5":{"name":"(anonymous_5)","decl":{"start":{"line":49,"column":31},"end":{"line":49,"column":38}},"loc":{"start":{"line":49,"column":79},"end":{"line":78,"column":null}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":62,"column":43},"end":{"line":62,"column":44}},"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"type":"binary-expr","locations":[{"start":{"line":61,"column":22},"end":{"line":61,"column":51}},{"start":{"line":61,"column":51},"end":{"line":61,"column":null}}],"line":61},"1":{"loc":{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":67,"column":null}},{"start":{},"end":{}}],"line":65}},"s":{"0":1,"1":2,"2":2,"3":1,"4":1,"5":1,"6":2,"7":2,"8":1,"9":1,"10":1,"11":2,"12":2,"13":1,"14":1,"15":1,"16":2,"17":2,"18":1,"19":1,"20":1,"21":2,"22":2,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":7,"30":2,"31":7,"32":7,"33":6,"34":7,"35":6,"36":3,"37":6,"38":1,"39":1},"f":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":7,"6":6},"b":{"0":[7,2],"1":[3,3]},"meta":{"lastBranch":2,"lastFunction":7,"lastStatement":40,"seen":{"s:4:32:11:Infinity":0,"f:4:32:4:44":0,"s:5:2:10:Infinity":1,"s:6:4:6:Infinity":2,"s:8:4:8:Infinity":3,"s:9:4:9:Infinity":4,"s:13:31:20:Infinity":5,"f:13:31:13:38":1,"s:14:2:19:Infinity":6,"s:15:4:15:Infinity":7,"s:17:4:17:Infinity":8,"s:18:4:18:Infinity":9,"s:22:31:29:Infinity":10,"f:22:31:22:38":2,"s:23:2:28:Infinity":11,"s:24:4:24:Infinity":12,"s:26:4:26:Infinity":13,"s:27:4:27:Infinity":14,"s:31:31:38:Infinity":15,"f:31:31:31:38":3,"s:32:2:37:Infinity":16,"s:33:4:33:Infinity":17,"s:35:4:35:Infinity":18,"s:36:4:36:Infinity":19,"s:40:33:47:Infinity":20,"f:40:33:40:40":4,"s:41:2:46:Infinity":21,"s:42:4:42:Infinity":22,"s:44:4:44:Infinity":23,"s:45:4:45:Infinity":24,"s:49:31:78:Infinity":25,"f:49:31:49:38":5,"s:50:2:77:Infinity":26,"s:51:29:51:Infinity":27,"s:54:4:58:Infinity":28,"s:55:6:55:Infinity":29,"s:57:6:57:Infinity":30,"s:61:22:61:Infinity":31,"b:61:22:61:51:61:51:61:Infinity":0,"s:62:29:62:Infinity":32,"f:62:43:62:44":6,"s:62:54:62:72":33,"s:64:4:68:Infinity":34,"b:65:6:67:Infinity:undefined:undefined:undefined:undefined":1,"s:65:6:67:Infinity":35,"s:66:8:66:Infinity":36,"s:70:4:73:Infinity":37,"s:75:4:75:Infinity":38,"s:76:4:76:Infinity":39}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts","statementMap":{"0":{"start":{"line":9,"column":45},"end":{"line":9,"column":null}},"1":{"start":{"line":12,"column":4},"end":{"line":12,"column":null}},"2":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"3":{"start":{"line":19,"column":26},"end":{"line":19,"column":null}},"4":{"start":{"line":21,"column":4},"end":{"line":42,"column":null}},"5":{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"7":{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},"8":{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},"9":{"start":{"line":30,"column":8},"end":{"line":30,"column":null}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"11":{"start":{"line":34,"column":6},"end":{"line":34,"column":null}},"12":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"13":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"14":{"start":{"line":41,"column":6},"end":{"line":41,"column":null}},"15":{"start":{"line":49,"column":4},"end":{"line":74,"column":null}},"16":{"start":{"line":50,"column":20},"end":{"line":50,"column":null}},"17":{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},"18":{"start":{"line":52,"column":8},"end":{"line":52,"column":null}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"20":{"start":{"line":56,"column":25},"end":{"line":56,"column":null}},"21":{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},"22":{"start":{"line":58,"column":8},"end":{"line":58,"column":null}},"23":{"start":{"line":59,"column":8},"end":{"line":59,"column":null}},"24":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"25":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"26":{"start":{"line":68,"column":6},"end":{"line":68,"column":null}},"27":{"start":{"line":70,"column":6},"end":{"line":70,"column":null}},"28":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"29":{"start":{"line":73,"column":6},"end":{"line":73,"column":null}},"30":{"start":{"line":81,"column":4},"end":{"line":103,"column":null}},"31":{"start":{"line":83,"column":8},"end":{"line":83,"column":null}},"32":{"start":{"line":84,"column":8},"end":{"line":84,"column":null}},"33":{"start":{"line":86,"column":8},"end":{"line":86,"column":null}},"34":{"start":{"line":87,"column":8},"end":{"line":87,"column":null}},"35":{"start":{"line":89,"column":8},"end":{"line":89,"column":null}},"36":{"start":{"line":90,"column":8},"end":{"line":90,"column":null}},"37":{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},"38":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"39":{"start":{"line":95,"column":10},"end":{"line":95,"column":null}},"40":{"start":{"line":97,"column":8},"end":{"line":97,"column":null}},"41":{"start":{"line":99,"column":8},"end":{"line":99,"column":null}},"42":{"start":{"line":100,"column":8},"end":{"line":100,"column":null}},"43":{"start":{"line":102,"column":8},"end":{"line":102,"column":null}},"44":{"start":{"line":110,"column":4},"end":{"line":121,"column":null}},"45":{"start":{"line":111,"column":20},"end":{"line":111,"column":null}},"46":{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},"47":{"start":{"line":113,"column":8},"end":{"line":113,"column":null}},"48":{"start":{"line":116,"column":8},"end":{"line":116,"column":null}},"49":{"start":{"line":119,"column":6},"end":{"line":119,"column":null}},"50":{"start":{"line":120,"column":6},"end":{"line":120,"column":null}},"51":{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},"52":{"start":{"line":128,"column":26},"end":{"line":128,"column":null}},"53":{"start":{"line":130,"column":4},"end":{"line":145,"column":null}},"54":{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},"55":{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},"56":{"start":{"line":133,"column":10},"end":{"line":133,"column":null}},"57":{"start":{"line":135,"column":8},"end":{"line":135,"column":null}},"58":{"start":{"line":136,"column":8},"end":{"line":136,"column":null}},"59":{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},"60":{"start":{"line":138,"column":10},"end":{"line":138,"column":null}},"61":{"start":{"line":142,"column":6},"end":{"line":142,"column":null}},"62":{"start":{"line":144,"column":6},"end":{"line":144,"column":null}},"63":{"start":{"line":152,"column":4},"end":{"line":174,"column":null}},"64":{"start":{"line":153,"column":20},"end":{"line":153,"column":null}},"65":{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},"66":{"start":{"line":155,"column":8},"end":{"line":155,"column":null}},"67":{"start":{"line":156,"column":8},"end":{"line":156,"column":null}},"68":{"start":{"line":159,"column":24},"end":{"line":159,"column":null}},"69":{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},"70":{"start":{"line":161,"column":8},"end":{"line":161,"column":null}},"71":{"start":{"line":162,"column":8},"end":{"line":162,"column":null}},"72":{"start":{"line":166,"column":44},"end":{"line":166,"column":null}},"73":{"start":{"line":169,"column":6},"end":{"line":169,"column":null}},"74":{"start":{"line":171,"column":6},"end":{"line":171,"column":null}},"75":{"start":{"line":173,"column":6},"end":{"line":173,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":52},"end":{"line":13,"column":null}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":22}},"loc":{"start":{"line":18,"column":22},"end":{"line":43,"column":null}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":8},"end":{"line":48,"column":22}},"loc":{"start":{"line":48,"column":52},"end":{"line":75,"column":null}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":80,"column":10},"end":{"line":80,"column":30}},"loc":{"start":{"line":80,"column":53},"end":{"line":104,"column":null}},"line":80},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":10},"end":{"line":109,"column":24}},"loc":{"start":{"line":109,"column":47},"end":{"line":122,"column":null}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":127,"column":2},"end":{"line":127,"column":26}},"loc":{"start":{"line":127,"column":26},"end":{"line":146,"column":null}},"line":127},"6":{"name":"(anonymous_6)","decl":{"start":{"line":151,"column":8},"end":{"line":151,"column":43}},"loc":{"start":{"line":151,"column":43},"end":{"line":175,"column":null}},"line":151}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":26,"column":null}},{"start":{},"end":{}}],"line":23},"2":{"loc":{"start":{"line":23,"column":10},"end":{"line":23,"column":70}},"type":"binary-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":41}},{"start":{"line":23,"column":41},"end":{"line":23,"column":70}}],"line":23},"3":{"loc":{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":31,"column":null}},{"start":{},"end":{}}],"line":29},"4":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37},"5":{"loc":{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":6},"end":{"line":54,"column":null}},{"start":{},"end":{}}],"line":51},"6":{"loc":{"start":{"line":51,"column":10},"end":{"line":51,"column":43}},"type":"binary-expr","locations":[{"start":{"line":51,"column":10},"end":{"line":51,"column":20}},{"start":{"line":51,"column":20},"end":{"line":51,"column":43}}],"line":51},"7":{"loc":{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":60,"column":null}},{"start":{},"end":{}}],"line":57},"8":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},{"start":{},"end":{}}],"line":63},"9":{"loc":{"start":{"line":63,"column":10},"end":{"line":63,"column":61}},"type":"binary-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":63,"column":29}},{"start":{"line":63,"column":29},"end":{"line":63,"column":61}}],"line":63},"10":{"loc":{"start":{"line":81,"column":4},"end":{"line":103,"column":null}},"type":"switch","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":null}},{"start":{"line":85,"column":6},"end":{"line":87,"column":null}},{"start":{"line":88,"column":6},"end":{"line":90,"column":null}},{"start":{"line":91,"column":6},"end":{"line":97,"column":null}},{"start":{"line":98,"column":6},"end":{"line":100,"column":null}},{"start":{"line":101,"column":6},"end":{"line":102,"column":null}}],"line":81},"11":{"loc":{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":96,"column":null}},{"start":{"line":94,"column":15},"end":{"line":96,"column":null}}],"line":92},"12":{"loc":{"start":{"line":92,"column":12},"end":{"line":92,"column":58}},"type":"binary-expr","locations":[{"start":{"line":92,"column":12},"end":{"line":92,"column":35}},{"start":{"line":92,"column":35},"end":{"line":92,"column":58}}],"line":92},"13":{"loc":{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":112,"column":6},"end":{"line":117,"column":null}},{"start":{"line":114,"column":13},"end":{"line":117,"column":null}}],"line":112},"14":{"loc":{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":128,"column":null}},{"start":{},"end":{}}],"line":128},"15":{"loc":{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},"type":"if","locations":[{"start":{"line":131,"column":6},"end":{"line":140,"column":null}},{"start":{},"end":{}}],"line":131},"16":{"loc":{"start":{"line":131,"column":10},"end":{"line":131,"column":73}},"type":"binary-expr","locations":[{"start":{"line":131,"column":10},"end":{"line":131,"column":42}},{"start":{"line":131,"column":42},"end":{"line":131,"column":73}}],"line":131},"17":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":null}},{"start":{},"end":{}}],"line":132},"18":{"loc":{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},"type":"if","locations":[{"start":{"line":137,"column":8},"end":{"line":139,"column":null}},{"start":{},"end":{}}],"line":137},"19":{"loc":{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},"type":"if","locations":[{"start":{"line":154,"column":6},"end":{"line":157,"column":null}},{"start":{},"end":{}}],"line":154},"20":{"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":40}},"type":"binary-expr","locations":[{"start":{"line":154,"column":10},"end":{"line":154,"column":20}},{"start":{"line":154,"column":20},"end":{"line":154,"column":40}}],"line":154},"21":{"loc":{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},"type":"if","locations":[{"start":{"line":160,"column":6},"end":{"line":163,"column":null}},{"start":{},"end":{}}],"line":160}},"s":{"0":45,"1":33,"2":7,"3":2,"4":5,"5":5,"6":1,"7":1,"8":3,"9":1,"10":3,"11":3,"12":3,"13":1,"14":1,"15":15,"16":15,"17":14,"18":2,"19":2,"20":12,"21":12,"22":1,"23":1,"24":11,"25":10,"26":11,"27":11,"28":11,"29":1,"30":11,"31":3,"32":3,"33":1,"34":1,"35":1,"36":1,"37":2,"38":1,"39":1,"40":2,"41":3,"42":3,"43":1,"44":3,"45":3,"46":3,"47":1,"48":1,"49":1,"50":1,"51":7,"52":2,"53":5,"54":5,"55":3,"56":1,"57":3,"58":3,"59":3,"60":1,"61":4,"62":1,"63":5,"64":5,"65":4,"66":2,"67":2,"68":2,"69":2,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"f":{"0":33,"1":7,"2":15,"3":11,"4":3,"5":7,"6":5},"b":{"0":[2,5],"1":[1,4],"2":[5,3],"3":[1,2],"4":[1,2],"5":[2,12],"6":[14,14],"7":[1,11],"8":[10,1],"9":[11,11],"10":[3,1,1,2,3,1],"11":[1,1],"12":[2,1],"13":[1,1],"14":[2,5],"15":[3,2],"16":[5,2],"17":[1,2],"18":[1,2],"19":[2,2],"20":[4,4],"21":[1,1]},"meta":{"lastBranch":22,"lastFunction":7,"lastStatement":76,"seen":{"s:9:45:9:Infinity":0,"f:11:2:11:16":0,"s:12:4:12:Infinity":1,"f:18:2:18:22":1,"b:19:4:19:Infinity:undefined:undefined:undefined:undefined":0,"s:19:4:19:Infinity":2,"s:19:26:19:Infinity":3,"s:21:4:42:Infinity":4,"b:23:6:26:Infinity:undefined:undefined:undefined:undefined":1,"s:23:6:26:Infinity":5,"b:23:10:23:41:23:41:23:70":2,"s:24:8:24:Infinity":6,"s:25:8:25:Infinity":7,"b:29:6:31:Infinity:undefined:undefined:undefined:undefined":3,"s:29:6:31:Infinity":8,"s:30:8:30:Infinity":9,"s:33:6:33:Infinity":10,"s:34:6:34:Infinity":11,"b:37:6:39:Infinity:undefined:undefined:undefined:undefined":4,"s:37:6:39:Infinity":12,"s:38:8:38:Infinity":13,"s:41:6:41:Infinity":14,"f:48:8:48:22":2,"s:49:4:74:Infinity":15,"s:50:20:50:Infinity":16,"b:51:6:54:Infinity:undefined:undefined:undefined:undefined":5,"s:51:6:54:Infinity":17,"b:51:10:51:20:51:20:51:43":6,"s:52:8:52:Infinity":18,"s:53:8:53:Infinity":19,"s:56:25:56:Infinity":20,"b:57:6:60:Infinity:undefined:undefined:undefined:undefined":7,"s:57:6:60:Infinity":21,"s:58:8:58:Infinity":22,"s:59:8:59:Infinity":23,"b:63:6:65:Infinity:undefined:undefined:undefined:undefined":8,"s:63:6:65:Infinity":24,"b:63:10:63:29:63:29:63:61":9,"s:64:8:64:Infinity":25,"s:68:6:68:Infinity":26,"s:70:6:70:Infinity":27,"s:71:6:71:Infinity":28,"s:73:6:73:Infinity":29,"f:80:10:80:30":3,"b:82:6:84:Infinity:85:6:87:Infinity:88:6:90:Infinity:91:6:97:Infinity:98:6:100:Infinity:101:6:102:Infinity":10,"s:81:4:103:Infinity":30,"s:83:8:83:Infinity":31,"s:84:8:84:Infinity":32,"s:86:8:86:Infinity":33,"s:87:8:87:Infinity":34,"s:89:8:89:Infinity":35,"s:90:8:90:Infinity":36,"b:92:8:96:Infinity:94:15:96:Infinity":11,"s:92:8:96:Infinity":37,"b:92:12:92:35:92:35:92:58":12,"s:93:10:93:Infinity":38,"s:95:10:95:Infinity":39,"s:97:8:97:Infinity":40,"s:99:8:99:Infinity":41,"s:100:8:100:Infinity":42,"s:102:8:102:Infinity":43,"f:109:10:109:24":4,"s:110:4:121:Infinity":44,"s:111:20:111:Infinity":45,"b:112:6:117:Infinity:114:13:117:Infinity":13,"s:112:6:117:Infinity":46,"s:113:8:113:Infinity":47,"s:116:8:116:Infinity":48,"s:119:6:119:Infinity":49,"s:120:6:120:Infinity":50,"f:127:2:127:26":5,"b:128:4:128:Infinity:undefined:undefined:undefined:undefined":14,"s:128:4:128:Infinity":51,"s:128:26:128:Infinity":52,"s:130:4:145:Infinity":53,"b:131:6:140:Infinity:undefined:undefined:undefined:undefined":15,"s:131:6:140:Infinity":54,"b:131:10:131:42:131:42:131:73":16,"b:132:8:134:Infinity:undefined:undefined:undefined:undefined":17,"s:132:8:134:Infinity":55,"s:133:10:133:Infinity":56,"s:135:8:135:Infinity":57,"s:136:8:136:Infinity":58,"b:137:8:139:Infinity:undefined:undefined:undefined:undefined":18,"s:137:8:139:Infinity":59,"s:138:10:138:Infinity":60,"s:142:6:142:Infinity":61,"s:144:6:144:Infinity":62,"f:151:8:151:43":6,"s:152:4:174:Infinity":63,"s:153:20:153:Infinity":64,"b:154:6:157:Infinity:undefined:undefined:undefined:undefined":19,"s:154:6:157:Infinity":65,"b:154:10:154:20:154:20:154:40":20,"s:155:8:155:Infinity":66,"s:156:8:156:Infinity":67,"s:159:24:159:Infinity":68,"b:160:6:163:Infinity:undefined:undefined:undefined:undefined":21,"s:160:6:163:Infinity":69,"s:161:8:161:Infinity":70,"s:162:8:162:Infinity":71,"s:166:44:166:Infinity":72,"s:169:6:169:Infinity":73,"s:171:6:171:Infinity":74,"s:173:6:173:Infinity":75}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts","statementMap":{"0":{"start":{"line":10,"column":21},"end":{"line":10,"column":null}},"1":{"start":{"line":11,"column":20},"end":{"line":11,"column":null}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"4":{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},"5":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"6":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"7":{"start":{"line":24,"column":4},"end":{"line":31,"column":null}},"8":{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},"9":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":null}},"11":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":null}},"13":{"start":{"line":35,"column":4},"end":{"line":63,"column":null}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":null}},"15":{"start":{"line":39,"column":23},"end":{"line":39,"column":null}},"16":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},"17":{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},"18":{"start":{"line":43,"column":8},"end":{"line":43,"column":null}},"19":{"start":{"line":44,"column":8},"end":{"line":44,"column":null}},"20":{"start":{"line":47,"column":26},"end":{"line":47,"column":null}},"21":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"22":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"23":{"start":{"line":54,"column":6},"end":{"line":54,"column":null}},"24":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"25":{"start":{"line":60,"column":6},"end":{"line":60,"column":null}},"26":{"start":{"line":62,"column":6},"end":{"line":62,"column":null}},"27":{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},"28":{"start":{"line":68,"column":6},"end":{"line":70,"column":null}},"29":{"start":{"line":71,"column":6},"end":{"line":73,"column":null}},"30":{"start":{"line":72,"column":8},"end":{"line":72,"column":null}},"31":{"start":{"line":79,"column":29},"end":{"line":85,"column":null}},"32":{"start":{"line":87,"column":4},"end":{"line":96,"column":null}},"33":{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},"34":{"start":{"line":89,"column":8},"end":{"line":91,"column":null}},"35":{"start":{"line":92,"column":8},"end":{"line":94,"column":null}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"37":{"start":{"line":101,"column":32},"end":{"line":104,"column":null}},"38":{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},"39":{"start":{"line":107,"column":6},"end":{"line":109,"column":null}},"40":{"start":{"line":110,"column":6},"end":{"line":112,"column":null}},"41":{"start":{"line":111,"column":8},"end":{"line":111,"column":null}},"42":{"start":{"line":117,"column":25},"end":{"line":120,"column":null}},"43":{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},"44":{"start":{"line":123,"column":6},"end":{"line":125,"column":null}},"45":{"start":{"line":126,"column":6},"end":{"line":128,"column":null}},"46":{"start":{"line":127,"column":8},"end":{"line":127,"column":null}},"47":{"start":{"line":133,"column":4},"end":{"line":136,"column":null}},"48":{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},"49":{"start":{"line":138,"column":6},"end":{"line":138,"column":null}},"50":{"start":{"line":139,"column":6},"end":{"line":139,"column":null}},"51":{"start":{"line":140,"column":6},"end":{"line":140,"column":null}},"52":{"start":{"line":143,"column":4},"end":{"line":148,"column":null}},"53":{"start":{"line":144,"column":6},"end":{"line":144,"column":null}},"54":{"start":{"line":145,"column":6},"end":{"line":145,"column":null}},"55":{"start":{"line":147,"column":6},"end":{"line":147,"column":null}},"56":{"start":{"line":152,"column":4},"end":{"line":152,"column":null}},"57":{"start":{"line":157,"column":4},"end":{"line":157,"column":null}},"58":{"start":{"line":161,"column":4},"end":{"line":161,"column":null}},"59":{"start":{"line":165,"column":4},"end":{"line":165,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":16}},"loc":{"start":{"line":13,"column":52},"end":{"line":15,"column":null}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":8},"end":{"line":17,"column":36}},"loc":{"start":{"line":17,"column":36},"end":{"line":32,"column":null}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":8},"end":{"line":34,"column":41}},"loc":{"start":{"line":34,"column":41},"end":{"line":64,"column":null}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":10},"end":{"line":66,"column":36}},"loc":{"start":{"line":66,"column":56},"end":{"line":75,"column":null}},"line":66},"4":{"name":"(anonymous_4)","decl":{"start":{"line":71,"column":60},"end":{"line":71,"column":66}},"loc":{"start":{"line":71,"column":66},"end":{"line":73,"column":7}},"line":71},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":10},"end":{"line":77,"column":35}},"loc":{"start":{"line":77,"column":55},"end":{"line":97,"column":null}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":49},"end":{"line":92,"column":55}},"loc":{"start":{"line":92,"column":55},"end":{"line":94,"column":9}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":99,"column":10},"end":{"line":99,"column":38}},"loc":{"start":{"line":99,"column":58},"end":{"line":114,"column":null}},"line":99},"8":{"name":"(anonymous_8)","decl":{"start":{"line":110,"column":60},"end":{"line":110,"column":66}},"loc":{"start":{"line":110,"column":66},"end":{"line":112,"column":7}},"line":110},"9":{"name":"(anonymous_9)","decl":{"start":{"line":116,"column":10},"end":{"line":116,"column":31}},"loc":{"start":{"line":116,"column":51},"end":{"line":130,"column":null}},"line":116},"10":{"name":"(anonymous_10)","decl":{"start":{"line":126,"column":53},"end":{"line":126,"column":59}},"loc":{"start":{"line":126,"column":59},"end":{"line":128,"column":7}},"line":126},"11":{"name":"(anonymous_11)","decl":{"start":{"line":132,"column":8},"end":{"line":132,"column":43}},"loc":{"start":{"line":132,"column":43},"end":{"line":149,"column":null}},"line":132},"12":{"name":"(anonymous_12)","decl":{"start":{"line":151,"column":2},"end":{"line":151,"column":18}},"loc":{"start":{"line":151,"column":18},"end":{"line":153,"column":null}},"line":151},"13":{"name":"(anonymous_13)","decl":{"start":{"line":156,"column":2},"end":{"line":156,"column":32}},"loc":{"start":{"line":156,"column":32},"end":{"line":158,"column":null}},"line":156},"14":{"name":"(anonymous_14)","decl":{"start":{"line":160,"column":2},"end":{"line":160,"column":21}},"loc":{"start":{"line":160,"column":51},"end":{"line":162,"column":null}},"line":160},"15":{"name":"(anonymous_15)","decl":{"start":{"line":164,"column":6},"end":{"line":164,"column":31}},"loc":{"start":{"line":164,"column":31},"end":{"line":166,"column":null}},"line":164}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":22,"column":null}},{"start":{},"end":{}}],"line":19},"1":{"loc":{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":6},"end":{"line":45,"column":null}},{"start":{},"end":{}}],"line":42},"2":{"loc":{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":67},"3":{"loc":{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},"type":"if","locations":[{"start":{"line":88,"column":6},"end":{"line":95,"column":null}},{"start":{},"end":{}}],"line":88},"4":{"loc":{"start":{"line":101,"column":32},"end":{"line":104,"column":null}},"type":"binary-expr","locations":[{"start":{"line":101,"column":32},"end":{"line":101,"column":61}},{"start":{"line":101,"column":61},"end":{"line":104,"column":null}}],"line":101},"5":{"loc":{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":113,"column":null}},{"start":{},"end":{}}],"line":106},"6":{"loc":{"start":{"line":117,"column":25},"end":{"line":120,"column":null}},"type":"binary-expr","locations":[{"start":{"line":117,"column":25},"end":{"line":117,"column":48}},{"start":{"line":117,"column":48},"end":{"line":120,"column":null}}],"line":117},"7":{"loc":{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},"type":"if","locations":[{"start":{"line":122,"column":4},"end":{"line":129,"column":null}},{"start":{},"end":{}}],"line":122},"8":{"loc":{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},"type":"if","locations":[{"start":{"line":137,"column":4},"end":{"line":141,"column":null}},{"start":{},"end":{}}],"line":137}},"s":{"0":15,"1":15,"2":1,"3":15,"4":15,"5":1,"6":1,"7":14,"8":14,"9":14,"10":14,"11":14,"12":1,"13":16,"14":16,"15":16,"16":14,"17":14,"18":9,"19":9,"20":5,"21":5,"22":5,"23":5,"24":5,"25":5,"26":2,"27":5,"28":3,"29":3,"30":1,"31":5,"32":5,"33":25,"34":2,"35":2,"36":1,"37":5,"38":5,"39":3,"40":3,"41":1,"42":5,"43":5,"44":3,"45":3,"46":1,"47":4,"48":4,"49":1,"50":1,"51":1,"52":3,"53":3,"54":3,"55":1,"56":1,"57":1,"58":1,"59":4},"f":{"0":1,"1":15,"2":16,"3":5,"4":1,"5":5,"6":1,"7":5,"8":1,"9":5,"10":1,"11":4,"12":1,"13":1,"14":1,"15":4},"b":{"0":[1,14],"1":[9,5],"2":[3,2],"3":[2,23],"4":[5,1],"5":[3,2],"6":[5,1],"7":[3,2],"8":[1,3]},"meta":{"lastBranch":9,"lastFunction":16,"lastStatement":60,"seen":{"s:10:21:10:Infinity":0,"s:11:20:11:Infinity":1,"f:13:2:13:16":0,"s:14:4:14:Infinity":2,"f:17:8:17:36":1,"s:18:4:18:Infinity":3,"b:19:4:22:Infinity:undefined:undefined:undefined:undefined":0,"s:19:4:22:Infinity":4,"s:20:6:20:Infinity":5,"s:21:6:21:Infinity":6,"s:24:4:31:Infinity":7,"s:25:6:25:Infinity":8,"s:26:6:26:Infinity":9,"s:27:6:27:Infinity":10,"s:28:6:28:Infinity":11,"s:30:6:30:Infinity":12,"f:34:8:34:41":2,"s:35:4:63:Infinity":13,"s:37:6:37:Infinity":14,"s:39:23:39:Infinity":15,"s:40:6:40:Infinity":16,"b:42:6:45:Infinity:undefined:undefined:undefined:undefined":1,"s:42:6:45:Infinity":17,"s:43:8:43:Infinity":18,"s:44:8:44:Infinity":19,"s:47:26:47:Infinity":20,"s:48:6:48:Infinity":21,"s:51:6:51:Infinity":22,"s:54:6:54:Infinity":23,"s:57:6:57:Infinity":24,"s:60:6:60:Infinity":25,"s:62:6:62:Infinity":26,"f:66:10:66:36":3,"b:67:4:74:Infinity:undefined:undefined:undefined:undefined":2,"s:67:4:74:Infinity":27,"s:68:6:70:Infinity":28,"s:71:6:73:Infinity":29,"f:71:60:71:66":4,"s:72:8:72:Infinity":30,"f:77:10:77:35":5,"s:79:29:85:Infinity":31,"s:87:4:96:Infinity":32,"b:88:6:95:Infinity:undefined:undefined:undefined:undefined":3,"s:88:6:95:Infinity":33,"s:89:8:91:Infinity":34,"s:92:8:94:Infinity":35,"f:92:49:92:55":6,"s:93:10:93:Infinity":36,"f:99:10:99:38":7,"s:101:32:104:Infinity":37,"b:101:32:101:61:101:61:104:Infinity":4,"b:106:4:113:Infinity:undefined:undefined:undefined:undefined":5,"s:106:4:113:Infinity":38,"s:107:6:109:Infinity":39,"s:110:6:112:Infinity":40,"f:110:60:110:66":8,"s:111:8:111:Infinity":41,"f:116:10:116:31":9,"s:117:25:120:Infinity":42,"b:117:25:117:48:117:48:120:Infinity":6,"b:122:4:129:Infinity:undefined:undefined:undefined:undefined":7,"s:122:4:129:Infinity":43,"s:123:6:125:Infinity":44,"s:126:6:128:Infinity":45,"f:126:53:126:59":10,"s:127:8:127:Infinity":46,"f:132:8:132:43":11,"s:133:4:136:Infinity":47,"b:137:4:141:Infinity:undefined:undefined:undefined:undefined":8,"s:137:4:141:Infinity":48,"s:138:6:138:Infinity":49,"s:139:6:139:Infinity":50,"s:140:6:140:Infinity":51,"s:143:4:148:Infinity":52,"s:144:6:144:Infinity":53,"s:145:6:145:Infinity":54,"s:147:6:147:Infinity":55,"f:151:2:151:18":12,"s:152:4:152:Infinity":56,"f:156:2:156:32":13,"s:157:4:157:Infinity":57,"f:160:2:160:21":14,"s:161:4:161:Infinity":58,"f:164:6:164:31":15,"s:165:4:165:Infinity":59}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts","statementMap":{"0":{"start":{"line":8,"column":39},"end":{"line":11,"column":null}},"1":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":null}},"3":{"start":{"line":25,"column":4},"end":{"line":44,"column":null}},"4":{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},"5":{"start":{"line":28,"column":8},"end":{"line":28,"column":null}},"6":{"start":{"line":29,"column":8},"end":{"line":29,"column":null}},"7":{"start":{"line":32,"column":22},"end":{"line":32,"column":null}},"8":{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},"9":{"start":{"line":34,"column":8},"end":{"line":34,"column":null}},"10":{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},"11":{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},"12":{"start":{"line":38,"column":8},"end":{"line":38,"column":null}},"13":{"start":{"line":39,"column":8},"end":{"line":39,"column":null}},"14":{"start":{"line":42,"column":6},"end":{"line":42,"column":null}},"15":{"start":{"line":43,"column":6},"end":{"line":43,"column":null}},"16":{"start":{"line":51,"column":4},"end":{"line":57,"column":null}},"17":{"start":{"line":52,"column":6},"end":{"line":56,"column":null}},"18":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"19":{"start":{"line":55,"column":8},"end":{"line":55,"column":null}},"20":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"21":{"start":{"line":65,"column":4},"end":{"line":65,"column":null}},"22":{"start":{"line":72,"column":4},"end":{"line":72,"column":null}},"23":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"24":{"start":{"line":80,"column":4},"end":{"line":80,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":6},"end":{"line":13,"column":31}},"loc":{"start":{"line":13,"column":31},"end":{"line":15,"column":null}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":17}},"loc":{"start":{"line":17,"column":39},"end":{"line":19,"column":null}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":17}},"loc":{"start":{"line":24,"column":69},"end":{"line":45,"column":null}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":31}},"loc":{"start":{"line":50,"column":31},"end":{"line":59,"column":null}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":38},"end":{"line":51,"column":39}},"loc":{"start":{"line":51,"column":55},"end":{"line":57,"column":5}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":64,"column":2},"end":{"line":64,"column":32}},"loc":{"start":{"line":64,"column":32},"end":{"line":66,"column":null}},"line":64},"6":{"name":"(anonymous_6)","decl":{"start":{"line":71,"column":2},"end":{"line":71,"column":21}},"loc":{"start":{"line":71,"column":51},"end":{"line":73,"column":null}},"line":71},"7":{"name":"(anonymous_7)","decl":{"start":{"line":78,"column":2},"end":{"line":78,"column":18}},"loc":{"start":{"line":78,"column":18},"end":{"line":81,"column":null}},"line":78}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":30,"column":null}},{"start":{},"end":{}}],"line":27},"1":{"loc":{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":40,"column":null}},{"start":{"line":37,"column":13},"end":{"line":40,"column":null}}],"line":33}},"s":{"0":25,"1":28,"2":14,"3":24,"4":24,"5":1,"6":1,"7":23,"8":23,"9":21,"10":21,"11":21,"12":1,"13":1,"14":1,"15":1,"16":20,"17":5,"18":5,"19":1,"20":20,"21":5,"22":3,"23":2,"24":2},"f":{"0":28,"1":14,"2":24,"3":20,"4":5,"5":5,"6":3,"7":2},"b":{"0":[1,23],"1":[21,1]},"meta":{"lastBranch":2,"lastFunction":8,"lastStatement":25,"seen":{"s:8:39:11:Infinity":0,"f:13:6:13:31":0,"s:14:4:14:Infinity":1,"f:17:2:17:17":1,"s:18:4:18:Infinity":2,"f:24:2:24:17":2,"s:25:4:44:Infinity":3,"b:27:6:30:Infinity:undefined:undefined:undefined:undefined":0,"s:27:6:30:Infinity":4,"s:28:8:28:Infinity":5,"s:29:8:29:Infinity":6,"s:32:22:32:Infinity":7,"b:33:6:40:Infinity:37:13:40:Infinity":1,"s:33:6:40:Infinity":8,"s:34:8:34:Infinity":9,"s:35:8:35:Infinity":10,"s:36:8:36:Infinity":11,"s:38:8:38:Infinity":12,"s:39:8:39:Infinity":13,"s:42:6:42:Infinity":14,"s:43:6:43:Infinity":15,"f:50:2:50:31":3,"s:51:4:57:Infinity":16,"f:51:38:51:39":4,"s:52:6:56:Infinity":17,"s:53:8:53:Infinity":18,"s:55:8:55:Infinity":19,"s:58:4:58:Infinity":20,"f:64:2:64:32":5,"s:65:4:65:Infinity":21,"f:71:2:71:21":6,"s:72:4:72:Infinity":22,"f:78:2:78:18":7,"s:79:4:79:Infinity":23,"s:80:4:80:Infinity":24}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts","statementMap":{"0":{"start":{"line":4,"column":55},"end":{"line":38,"column":null}},"1":{"start":{"line":40,"column":46},"end":{"line":52,"column":null}},"2":{"start":{"line":54,"column":37},"end":{"line":61,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":3,"seen":{"s:4:55:38:Infinity":0,"s:40:46:52:Infinity":1,"s:54:37:61:Infinity":2}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts","statementMap":{"0":{"start":{"line":8,"column":19},"end":{"line":8,"column":null}},"1":{"start":{"line":10,"column":2},"end":{"line":39,"column":null}},"2":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}},"3":{"start":{"line":15,"column":26},"end":{"line":15,"column":null}},"4":{"start":{"line":18,"column":4},"end":{"line":22,"column":null}},"5":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":null}},"7":{"start":{"line":26,"column":4},"end":{"line":26,"column":null}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":null}},"9":{"start":{"line":31,"column":4},"end":{"line":35,"column":null}},"10":{"start":{"line":32,"column":6},"end":{"line":32,"column":null}},"11":{"start":{"line":37,"column":4},"end":{"line":37,"column":null}},"12":{"start":{"line":38,"column":4},"end":{"line":38,"column":null}},"13":{"start":{"line":46,"column":2},"end":{"line":67,"column":null}},"14":{"start":{"line":48,"column":4},"end":{"line":48,"column":null}},"15":{"start":{"line":51,"column":26},"end":{"line":51,"column":null}},"16":{"start":{"line":54,"column":28},"end":{"line":54,"column":null}},"17":{"start":{"line":55,"column":21},"end":{"line":55,"column":null}},"18":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"19":{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},"20":{"start":{"line":62,"column":6},"end":{"line":62,"column":null}},"21":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"22":{"start":{"line":65,"column":6},"end":{"line":65,"column":null}},"23":{"start":{"line":74,"column":2},"end":{"line":74,"column":null}},"24":{"start":{"line":81,"column":2},"end":{"line":81,"column":null}}},"fnMap":{"0":{"name":"saveToFile","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":33}},"loc":{"start":{"line":7,"column":86},"end":{"line":40,"column":null}},"line":7},"1":{"name":"loadFromFile","decl":{"start":{"line":45,"column":22},"end":{"line":45,"column":35}},"loc":{"start":{"line":45,"column":76},"end":{"line":68,"column":null}},"line":45},"2":{"name":"ensureDataDirectory","decl":{"start":{"line":73,"column":22},"end":{"line":73,"column":42}},"loc":{"start":{"line":73,"column":75},"end":{"line":75,"column":null}},"line":73},"3":{"name":"isEncryptionAvailable","decl":{"start":{"line":80,"column":16},"end":{"line":80,"column":49}},"loc":{"start":{"line":80,"column":49},"end":{"line":82,"column":null}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":66,"column":null}},{"start":{"line":63,"column":11},"end":{"line":66,"column":null}}],"line":60}},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":2,"8":2,"9":1,"10":1,"11":1,"12":1,"13":3,"14":3,"15":2,"16":1,"17":1,"18":1,"19":2,"20":1,"21":1,"22":1,"23":1,"24":2},"f":{"0":3,"1":3,"2":1,"3":2},"b":{"0":[1,1]},"meta":{"lastBranch":1,"lastFunction":4,"lastStatement":25,"seen":{"f:7:22:7:33":0,"s:8:19:8:Infinity":0,"s:10:2:39:Infinity":1,"s:12:21:12:Infinity":2,"s:15:26:15:Infinity":3,"s:18:4:22:Infinity":4,"s:19:6:19:Infinity":5,"s:25:4:25:Infinity":6,"s:26:4:26:Infinity":7,"s:28:4:28:Infinity":8,"s:31:4:35:Infinity":9,"s:32:6:32:Infinity":10,"s:37:4:37:Infinity":11,"s:38:4:38:Infinity":12,"f:45:22:45:35":1,"s:46:2:67:Infinity":13,"s:48:4:48:Infinity":14,"s:51:26:51:Infinity":15,"s:54:28:54:Infinity":16,"s:55:21:55:Infinity":17,"s:58:4:58:Infinity":18,"b:60:4:66:Infinity:63:11:66:Infinity":0,"s:60:4:66:Infinity":19,"s:62:6:62:Infinity":20,"s:64:6:64:Infinity":21,"s:65:6:65:Infinity":22,"f:73:22:73:42":2,"s:74:2:74:Infinity":23,"f:80:16:80:49":3,"s:81:2:81:Infinity":24}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts","statementMap":{"0":{"start":{"line":9,"column":32},"end":{"line":9,"column":null}},"1":{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},"2":{"start":{"line":13,"column":4},"end":{"line":16,"column":null}},"3":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"4":{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},"5":{"start":{"line":21,"column":4},"end":{"line":24,"column":null}},"6":{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},"7":{"start":{"line":29,"column":4},"end":{"line":38,"column":null}},"8":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"9":{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},"10":{"start":{"line":43,"column":4},"end":{"line":53,"column":null}},"11":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"12":{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},"13":{"start":{"line":58,"column":4},"end":{"line":68,"column":null}},"14":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"15":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"16":{"start":{"line":73,"column":4},"end":{"line":73,"column":null}},"17":{"start":{"line":76,"column":2},"end":{"line":76,"column":null}}},"fnMap":{"0":{"name":"migrateData","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":48},"end":{"line":77,"column":null}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":6},"end":{"line":14,"column":7}},"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":6},"end":{"line":30,"column":7}},"loc":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":6},"end":{"line":44,"column":7}},"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":6},"end":{"line":59,"column":7}},"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":17,"column":null}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":47}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":20}},{"start":{"line":12,"column":20},"end":{"line":12,"column":47}}],"line":12},"2":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":22}},{"start":{"line":15,"column":22},"end":{"line":15,"column":60}},{"start":{"line":15,"column":60},"end":{"line":15,"column":null}}],"line":15},"3":{"loc":{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":25,"column":null}},{"start":{},"end":{}}],"line":20},"4":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":58}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":23}},{"start":{"line":20,"column":23},"end":{"line":20,"column":58}}],"line":20},"5":{"loc":{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":28},"6":{"loc":{"start":{"line":28,"column":6},"end":{"line":28,"column":55}},"type":"binary-expr","locations":[{"start":{"line":28,"column":6},"end":{"line":28,"column":24}},{"start":{"line":28,"column":24},"end":{"line":28,"column":55}}],"line":28},"7":{"loc":{"start":{"line":31,"column":8},"end":{"line":37,"column":null}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},{"start":{"line":32,"column":8},"end":{"line":32,"column":null}},{"start":{"line":33,"column":8},"end":{"line":33,"column":null}},{"start":{"line":34,"column":8},"end":{"line":34,"column":null}},{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},{"start":{"line":36,"column":8},"end":{"line":36,"column":null}},{"start":{"line":37,"column":8},"end":{"line":37,"column":null}}],"line":31},"8":{"loc":{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":54,"column":null}},{"start":{},"end":{}}],"line":42},"9":{"loc":{"start":{"line":42,"column":6},"end":{"line":42,"column":59}},"type":"binary-expr","locations":[{"start":{"line":42,"column":6},"end":{"line":42,"column":26}},{"start":{"line":42,"column":26},"end":{"line":42,"column":59}}],"line":42},"10":{"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":null}},"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":null}},{"start":{"line":46,"column":8},"end":{"line":46,"column":null}},{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},{"start":{"line":48,"column":8},"end":{"line":48,"column":null}},{"start":{"line":49,"column":8},"end":{"line":49,"column":null}},{"start":{"line":50,"column":8},"end":{"line":50,"column":null}},{"start":{"line":51,"column":8},"end":{"line":51,"column":null}},{"start":{"line":52,"column":8},"end":{"line":52,"column":null}}],"line":45},"11":{"loc":{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":57},"12":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":57}},"type":"binary-expr","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":25}},{"start":{"line":57,"column":25},"end":{"line":57,"column":57}}],"line":57},"13":{"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":null}},{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},{"start":{"line":62,"column":8},"end":{"line":62,"column":null}},{"start":{"line":63,"column":8},"end":{"line":63,"column":null}},{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},{"start":{"line":65,"column":8},"end":{"line":65,"column":null}},{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},{"start":{"line":67,"column":8},"end":{"line":67,"column":null}}],"line":60},"14":{"loc":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":72},"15":{"loc":{"start":{"line":72,"column":6},"end":{"line":72,"column":56}},"type":"binary-expr","locations":[{"start":{"line":72,"column":6},"end":{"line":72,"column":22}},{"start":{"line":72,"column":22},"end":{"line":72,"column":56}}],"line":72}},"s":{"0":11,"1":11,"2":2,"3":5,"4":11,"5":1,"6":11,"7":2,"8":3,"9":11,"10":1,"11":1,"12":11,"13":1,"14":1,"15":11,"16":1,"17":11},"f":{"0":11,"1":5,"2":3,"3":1,"4":1},"b":{"0":[2,9],"1":[11,3],"2":[5,3,2],"3":[1,10],"4":[11,1],"5":[2,9],"6":[11,2],"7":[3,3,2,2,2,2,2],"8":[1,10],"9":[11,1],"10":[1,1,1,1,1,1,1,1],"11":[1,10],"12":[11,1],"13":[1,1,1,1,1,1,1,1],"14":[1,10],"15":[11,1]},"meta":{"lastBranch":16,"lastFunction":5,"lastStatement":18,"seen":{"f:7:16:7:28":0,"s:9:32:9:Infinity":0,"b:12:2:17:Infinity:undefined:undefined:undefined:undefined":0,"s:12:2:17:Infinity":1,"b:12:6:12:20:12:20:12:47":1,"s:13:4:16:Infinity":2,"f:14:6:14:7":1,"s:15:8:15:Infinity":3,"b:15:8:15:22:15:22:15:60:15:60:15:Infinity":2,"b:20:2:25:Infinity:undefined:undefined:undefined:undefined":3,"s:20:2:25:Infinity":4,"b:20:6:20:23:20:23:20:58":4,"s:21:4:24:Infinity":5,"b:28:2:39:Infinity:undefined:undefined:undefined:undefined":5,"s:28:2:39:Infinity":6,"b:28:6:28:24:28:24:28:55":6,"s:29:4:38:Infinity":7,"f:30:6:30:7":2,"s:31:8:37:Infinity":8,"b:31:8:31:Infinity:32:8:32:Infinity:33:8:33:Infinity:34:8:34:Infinity:35:8:35:Infinity:36:8:36:Infinity:37:8:37:Infinity":7,"b:42:2:54:Infinity:undefined:undefined:undefined:undefined":8,"s:42:2:54:Infinity":9,"b:42:6:42:26:42:26:42:59":9,"s:43:4:53:Infinity":10,"f:44:6:44:7":3,"s:45:8:52:Infinity":11,"b:45:8:45:Infinity:46:8:46:Infinity:47:8:47:Infinity:48:8:48:Infinity:49:8:49:Infinity:50:8:50:Infinity:51:8:51:Infinity:52:8:52:Infinity":10,"b:57:2:69:Infinity:undefined:undefined:undefined:undefined":11,"s:57:2:69:Infinity":12,"b:57:6:57:25:57:25:57:57":12,"s:58:4:68:Infinity":13,"f:59:6:59:7":4,"s:60:8:67:Infinity":14,"b:60:8:60:Infinity:61:8:61:Infinity:62:8:62:Infinity:63:8:63:Infinity:64:8:64:Infinity:65:8:65:Infinity:66:8:66:Infinity:67:8:67:Infinity":13,"b:72:2:74:Infinity:undefined:undefined:undefined:undefined":14,"s:72:2:74:Infinity":15,"b:72:6:72:22:72:22:72:56":15,"s:73:4:73:Infinity":16,"s:76:2:76:Infinity":17}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"1":{"start":{"line":14,"column":2},"end":{"line":22,"column":null}},"2":{"start":{"line":32,"column":2},"end":{"line":36,"column":null}},"3":{"start":{"line":43,"column":2},"end":{"line":43,"column":null}},"4":{"start":{"line":43,"column":41},"end":{"line":43,"column":58}},"5":{"start":{"line":50,"column":2},"end":{"line":53,"column":null}},"6":{"start":{"line":50,"column":49},"end":{"line":53,"column":4}}},"fnMap":{"0":{"name":"generateId","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":37}},"loc":{"start":{"line":6,"column":37},"end":{"line":8,"column":null}},"line":6},"1":{"name":"createSearchTermObject","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":97},"end":{"line":23,"column":null}},"line":13},"2":{"name":"updateSearchTermObject","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":null}},"loc":{"start":{"line":31,"column":14},"end":{"line":37,"column":null}},"line":31},"3":{"name":"sortSearchTermsByOrder","decl":{"start":{"line":42,"column":16},"end":{"line":42,"column":39}},"loc":{"start":{"line":42,"column":80},"end":{"line":44,"column":null}},"line":42},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":31},"end":{"line":43,"column":32}},"loc":{"start":{"line":43,"column":41},"end":{"line":43,"column":58}},"line":43},"5":{"name":"reorderSearchTermsArray","decl":{"start":{"line":49,"column":16},"end":{"line":49,"column":40}},"loc":{"start":{"line":49,"column":81},"end":{"line":54,"column":null}},"line":49},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":25},"end":{"line":50,"column":26}},"loc":{"start":{"line":50,"column":49},"end":{"line":53,"column":4}},"line":50}},"branchMap":{},"s":{"0":2,"1":1,"2":1,"3":2,"4":5,"5":2,"6":2},"f":{"0":2,"1":1,"2":1,"3":2,"4":5,"5":2,"6":2},"b":{},"meta":{"lastBranch":0,"lastFunction":7,"lastStatement":7,"seen":{"f:6:16:6:37":0,"s:7:2:7:Infinity":0,"f:13:16:13:39":1,"s:14:2:22:Infinity":1,"f:28:16:28:Infinity":2,"s:32:2:36:Infinity":2,"f:42:16:42:39":3,"s:43:2:43:Infinity":3,"f:43:31:43:32":4,"s:43:41:43:58":4,"f:49:16:49:40":5,"s:50:2:53:Infinity":5,"f:50:25:50:26":6,"s:50:49:53:4":6}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts","statementMap":{"0":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"1":{"start":{"line":14,"column":2},"end":{"line":21,"column":null}},"2":{"start":{"line":28,"column":2},"end":{"line":32,"column":null}},"3":{"start":{"line":39,"column":2},"end":{"line":39,"column":null}},"4":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"5":{"start":{"line":46,"column":2},"end":{"line":49,"column":null}},"6":{"start":{"line":46,"column":45},"end":{"line":49,"column":4}},"7":{"start":{"line":59,"column":31},"end":{"line":59,"column":null}},"8":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"9":{"start":{"line":61,"column":21},"end":{"line":61,"column":null}},"10":{"start":{"line":64,"column":2},"end":{"line":71,"column":null}},"11":{"start":{"line":65,"column":18},"end":{"line":65,"column":null}},"12":{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},"13":{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},"14":{"start":{"line":67,"column":39},"end":{"line":67,"column":null}},"15":{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},"16":{"start":{"line":69,"column":34},"end":{"line":69,"column":null}},"17":{"start":{"line":73,"column":2},"end":{"line":73,"column":null}},"18":{"start":{"line":84,"column":15},"end":{"line":84,"column":null}},"19":{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},"20":{"start":{"line":88,"column":4},"end":{"line":91,"column":null}},"21":{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},"22":{"start":{"line":89,"column":36},"end":{"line":89,"column":null}},"23":{"start":{"line":90,"column":6},"end":{"line":90,"column":null}},"24":{"start":{"line":95,"column":2},"end":{"line":98,"column":null}},"25":{"start":{"line":96,"column":18},"end":{"line":96,"column":null}},"26":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}},"27":{"start":{"line":100,"column":2},"end":{"line":100,"column":null}}},"fnMap":{"0":{"name":"generateTemplateId","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":45}},"loc":{"start":{"line":6,"column":45},"end":{"line":8,"column":null}},"line":6},"1":{"name":"createTemplateObject","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":37}},"loc":{"start":{"line":13,"column":93},"end":{"line":22,"column":null}},"line":13},"2":{"name":"updateTemplateObject","decl":{"start":{"line":27,"column":16},"end":{"line":27,"column":37}},"loc":{"start":{"line":27,"column":95},"end":{"line":33,"column":null}},"line":27},"3":{"name":"sortTemplatesByOrder","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":37}},"loc":{"start":{"line":38,"column":72},"end":{"line":40,"column":null}},"line":38},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":29},"end":{"line":39,"column":30}},"loc":{"start":{"line":39,"column":39},"end":{"line":39,"column":56}},"line":39},"5":{"name":"reorderTemplatesArray","decl":{"start":{"line":45,"column":16},"end":{"line":45,"column":38}},"loc":{"start":{"line":45,"column":73},"end":{"line":50,"column":null}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":23},"end":{"line":46,"column":24}},"loc":{"start":{"line":46,"column":45},"end":{"line":49,"column":4}},"line":46},"7":{"name":"extractTemplateTokens","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":38}},"loc":{"start":{"line":58,"column":2},"end":{"line":74,"column":null}},"line":58},"8":{"name":"generateTextFromTemplate","decl":{"start":{"line":79,"column":16},"end":{"line":79,"column":null}},"loc":{"start":{"line":83,"column":10},"end":{"line":101,"column":null}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":42},"end":{"line":88,"column":43}},"loc":{"start":{"line":88,"column":64},"end":{"line":91,"column":5}},"line":88},"10":{"name":"(anonymous_10)","decl":{"start":{"line":95,"column":41},"end":{"line":95,"column":42}},"loc":{"start":{"line":95,"column":63},"end":{"line":98,"column":3}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":70,"column":null}},{"start":{"line":68,"column":11},"end":{"line":70,"column":null}}],"line":66},"1":{"loc":{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":6},"end":{"line":67,"column":null}},{"start":{},"end":{}}],"line":67},"2":{"loc":{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":69,"column":null}},{"start":{},"end":{}}],"line":69},"3":{"loc":{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":92,"column":null}},{"start":{},"end":{}}],"line":87},"4":{"loc":{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":89,"column":null}},{"start":{},"end":{}}],"line":89},"5":{"loc":{"start":{"line":90,"column":13},"end":{"line":90,"column":null}},"type":"cond-expr","locations":[{"start":{"line":90,"column":37},"end":{"line":90,"column":59}},{"start":{"line":90,"column":59},"end":{"line":90,"column":null}}],"line":90},"6":{"loc":{"start":{"line":97,"column":11},"end":{"line":97,"column":null}},"type":"cond-expr","locations":[{"start":{"line":97,"column":55},"end":{"line":97,"column":77}},{"start":{"line":97,"column":77},"end":{"line":97,"column":null}}],"line":97},"7":{"loc":{"start":{"line":97,"column":11},"end":{"line":97,"column":55}},"type":"binary-expr","locations":[{"start":{"line":97,"column":11},"end":{"line":97,"column":25}},{"start":{"line":97,"column":25},"end":{"line":97,"column":55}}],"line":97}},"s":{"0":2,"1":1,"2":1,"3":2,"4":5,"5":2,"6":2,"7":6,"8":6,"9":6,"10":6,"11":10,"12":10,"13":5,"14":4,"15":5,"16":4,"17":6,"18":9,"19":9,"20":4,"21":6,"22":2,"23":4,"24":9,"25":8,"26":8,"27":9},"f":{"0":2,"1":1,"2":1,"3":2,"4":5,"5":2,"6":2,"7":6,"8":9,"9":6,"10":8},"b":{"0":[5,5],"1":[4,1],"2":[4,1],"3":[4,5],"4":[2,4],"5":[3,1],"6":[7,1],"7":[8,8]},"meta":{"lastBranch":8,"lastFunction":11,"lastStatement":28,"seen":{"f:6:16:6:45":0,"s:7:2:7:Infinity":0,"f:13:16:13:37":1,"s:14:2:21:Infinity":1,"f:27:16:27:37":2,"s:28:2:32:Infinity":2,"f:38:16:38:37":3,"s:39:2:39:Infinity":3,"f:39:29:39:30":4,"s:39:39:39:56":4,"f:45:16:45:38":5,"s:46:2:49:Infinity":5,"f:46:23:46:24":6,"s:46:45:49:4":6,"f:55:16:55:38":7,"s:59:31:59:Infinity":7,"s:60:26:60:Infinity":8,"s:61:21:61:Infinity":9,"s:64:2:71:Infinity":10,"s:65:18:65:Infinity":11,"b:66:4:70:Infinity:68:11:70:Infinity":0,"s:66:4:70:Infinity":12,"b:67:6:67:Infinity:undefined:undefined:undefined:undefined":1,"s:67:6:67:Infinity":13,"s:67:39:67:Infinity":14,"b:69:6:69:Infinity:undefined:undefined:undefined:undefined":2,"s:69:6:69:Infinity":15,"s:69:34:69:Infinity":16,"s:73:2:73:Infinity":17,"f:79:16:79:Infinity":8,"s:84:15:84:Infinity":18,"b:87:2:92:Infinity:undefined:undefined:undefined:undefined":3,"s:87:2:92:Infinity":19,"s:88:4:91:Infinity":20,"f:88:42:88:43":9,"b:89:6:89:Infinity:undefined:undefined:undefined:undefined":4,"s:89:6:89:Infinity":21,"s:89:36:89:Infinity":22,"s:90:6:90:Infinity":23,"b:90:37:90:59:90:59:90:Infinity":5,"s:95:2:98:Infinity":24,"f:95:41:95:42":10,"s:96:18:96:Infinity":25,"s:97:4:97:Infinity":26,"b:97:55:97:77:97:77:97:Infinity":6,"b:97:11:97:25:97:25:97:55":7,"s:100:2:100:Infinity":27}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx","statementMap":{"0":{"start":{"line":10,"column":28},"end":{"line":21,"column":null}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"2":{"start":{"line":13,"column":2},"end":{"line":19,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":28},"end":{"line":10,"column":29}},"loc":{"start":{"line":10,"column":61},"end":{"line":21,"column":null}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":9},"end":{"line":17,"column":34}},"type":"binary-expr","locations":[{"start":{"line":17,"column":9},"end":{"line":17,"column":23}},{"start":{"line":17,"column":23},"end":{"line":17,"column":34}}],"line":17}},"s":{"0":1,"1":2,"2":2},"f":{"0":2},"b":{"0":[2,1]},"meta":{"lastBranch":1,"lastFunction":1,"lastStatement":3,"seen":{"s:10:28:21:Infinity":0,"f:10:28:10:29":0,"s:11:18:11:Infinity":1,"s:13:2:19:Infinity":2,"b:17:9:17:23:17:23:17:34":0}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":18,"column":null}},"1":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"2":{"start":{"line":12,"column":2},"end":{"line":16,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":53},"end":{"line":18,"column":null}},"line":10}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"meta":{"lastBranch":0,"lastFunction":1,"lastStatement":3,"seen":{"s:10:24:18:Infinity":0,"f:10:24:10:25":0,"s:11:18:11:Infinity":1,"s:12:2:16:Infinity":2}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx","statementMap":{"0":{"start":{"line":11,"column":25},"end":{"line":99,"column":null}},"1":{"start":{"line":12,"column":18},"end":{"line":12,"column":null}},"2":{"start":{"line":13,"column":8},"end":{"line":13,"column":null}},"3":{"start":{"line":15,"column":32},"end":{"line":55,"column":null}},"4":{"start":{"line":16,"column":20},"end":{"line":16,"column":null}},"5":{"start":{"line":18,"column":4},"end":{"line":54,"column":null}},"6":{"start":{"line":19,"column":19},"end":{"line":19,"column":null}},"7":{"start":{"line":20,"column":29},"end":{"line":20,"column":null}},"8":{"start":{"line":21,"column":28},"end":{"line":21,"column":null}},"9":{"start":{"line":22,"column":28},"end":{"line":22,"column":null}},"10":{"start":{"line":23,"column":27},"end":{"line":23,"column":null}},"11":{"start":{"line":26,"column":17},"end":{"line":26,"column":null}},"12":{"start":{"line":27,"column":16},"end":{"line":27,"column":null}},"13":{"start":{"line":30,"column":6},"end":{"line":33,"column":null}},"14":{"start":{"line":32,"column":8},"end":{"line":32,"column":null}},"15":{"start":{"line":36,"column":6},"end":{"line":38,"column":null}},"16":{"start":{"line":37,"column":8},"end":{"line":37,"column":null}},"17":{"start":{"line":41,"column":6},"end":{"line":44,"column":null}},"18":{"start":{"line":43,"column":8},"end":{"line":43,"column":null}},"19":{"start":{"line":47,"column":6},"end":{"line":49,"column":null}},"20":{"start":{"line":48,"column":8},"end":{"line":48,"column":null}},"21":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"22":{"start":{"line":52,"column":6},"end":{"line":52,"column":null}},"23":{"start":{"line":53,"column":6},"end":{"line":53,"column":null}},"24":{"start":{"line":57,"column":2},"end":{"line":97,"column":null}},"25":{"start":{"line":66,"column":25},"end":{"line":66,"column":null}},"26":{"start":{"line":67,"column":10},"end":{"line":67,"column":null}},"27":{"start":{"line":68,"column":27},"end":{"line":68,"column":null}},"28":{"start":{"line":69,"column":10},"end":{"line":69,"column":null}},"29":{"start":{"line":70,"column":10},"end":{"line":70,"column":null}},"30":{"start":{"line":71,"column":10},"end":{"line":71,"column":null}},"31":{"start":{"line":72,"column":10},"end":{"line":72,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":55},"end":{"line":99,"column":null}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":32},"end":{"line":15,"column":33}},"loc":{"start":{"line":15,"column":75},"end":{"line":55,"column":null}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":64,"column":17},"end":{"line":64,"column":18}},"loc":{"start":{"line":64,"column":24},"end":{"line":73,"column":null}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":54,"column":null}}],"line":18},"1":{"loc":{"start":{"line":30,"column":6},"end":{"line":33,"column":null}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":33,"column":null}},{"start":{},"end":{}}],"line":30},"2":{"loc":{"start":{"line":36,"column":6},"end":{"line":38,"column":null}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":38,"column":null}},{"start":{},"end":{}}],"line":36},"3":{"loc":{"start":{"line":41,"column":6},"end":{"line":44,"column":null}},"type":"if","locations":[{"start":{"line":41,"column":6},"end":{"line":44,"column":null}},{"start":{},"end":{}}],"line":41},"4":{"loc":{"start":{"line":47,"column":6},"end":{"line":49,"column":null}},"type":"if","locations":[{"start":{"line":47,"column":6},"end":{"line":49,"column":null}},{"start":{},"end":{}}],"line":47},"5":{"loc":{"start":{"line":70,"column":33},"end":{"line":70,"column":null}},"type":"cond-expr","locations":[{"start":{"line":70,"column":43},"end":{"line":70,"column":55}},{"start":{"line":70,"column":55},"end":{"line":70,"column":null}}],"line":70},"6":{"loc":{"start":{"line":88,"column":11},"end":{"line":90,"column":31}},"type":"cond-expr","locations":[{"start":{"line":89,"column":14},"end":{"line":89,"column":null}},{"start":{"line":90,"column":14},"end":{"line":90,"column":31}}],"line":88}},"s":{"0":1,"1":11,"2":11,"3":11,"4":5,"5":5,"6":5,"7":5,"8":5,"9":5,"10":5,"11":5,"12":5,"13":5,"14":2,"15":5,"16":1,"17":5,"18":1,"19":5,"20":4,"21":5,"22":5,"23":5,"24":11,"25":2,"26":2,"27":2,"28":2,"29":2,"30":2,"31":2},"f":{"0":11,"1":5,"2":2},"b":{"0":[5],"1":[2,3],"2":[1,4],"3":[1,4],"4":[4,1],"5":[1,1],"6":[10,1]},"meta":{"lastBranch":7,"lastFunction":3,"lastStatement":32,"seen":{"s:11:25:99:Infinity":0,"f:11:25:11:26":0,"s:12:18:12:Infinity":1,"s:13:8:13:Infinity":2,"s:15:32:55:Infinity":3,"f:15:32:15:33":1,"s:16:20:16:Infinity":4,"b:18:4:54:Infinity":0,"s:18:4:54:Infinity":5,"s:19:19:19:Infinity":6,"s:20:29:20:Infinity":7,"s:21:28:21:Infinity":8,"s:22:28:22:Infinity":9,"s:23:27:23:Infinity":10,"s:26:17:26:Infinity":11,"s:27:16:27:Infinity":12,"b:30:6:33:Infinity:undefined:undefined:undefined:undefined":1,"s:30:6:33:Infinity":13,"s:32:8:32:Infinity":14,"b:36:6:38:Infinity:undefined:undefined:undefined:undefined":2,"s:36:6:38:Infinity":15,"s:37:8:37:Infinity":16,"b:41:6:44:Infinity:undefined:undefined:undefined:undefined":3,"s:41:6:44:Infinity":17,"s:43:8:43:Infinity":18,"b:47:6:49:Infinity:undefined:undefined:undefined:undefined":4,"s:47:6:49:Infinity":19,"s:48:8:48:Infinity":20,"s:51:6:51:Infinity":21,"s:52:6:52:Infinity":22,"s:53:6:53:Infinity":23,"s:57:2:97:Infinity":24,"f:64:17:64:18":2,"s:66:25:66:Infinity":25,"s:67:10:67:Infinity":26,"s:68:27:68:Infinity":27,"s:69:10:69:Infinity":28,"s:70:10:70:Infinity":29,"b:70:43:70:55:70:55:70:Infinity":5,"s:71:10:71:Infinity":30,"s:72:10:72:Infinity":31,"b:89:14:89:Infinity:90:14:90:31":6}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx","statementMap":{"0":{"start":{"line":17,"column":24},"end":{"line":223,"column":null}},"1":{"start":{"line":18,"column":18},"end":{"line":18,"column":null}},"2":{"start":{"line":19,"column":33},"end":{"line":19,"column":null}},"3":{"start":{"line":22,"column":32},"end":{"line":22,"column":null}},"4":{"start":{"line":23,"column":32},"end":{"line":23,"column":null}},"5":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"6":{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},"7":{"start":{"line":28,"column":2},"end":{"line":41,"column":null}},"8":{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},"9":{"start":{"line":30,"column":23},"end":{"line":30,"column":null}},"10":{"start":{"line":31,"column":6},"end":{"line":31,"column":null}},"11":{"start":{"line":32,"column":24},"end":{"line":32,"column":null}},"12":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"13":{"start":{"line":36,"column":24},"end":{"line":36,"column":null}},"14":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"15":{"start":{"line":38,"column":9},"end":{"line":38,"column":null}},"16":{"start":{"line":44,"column":8},"end":{"line":58,"column":null}},"17":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"18":{"start":{"line":47,"column":8},"end":{"line":47,"column":null}},"19":{"start":{"line":50,"column":6},"end":{"line":55,"column":null}},"20":{"start":{"line":52,"column":8},"end":{"line":54,"column":null}},"21":{"start":{"line":53,"column":10},"end":{"line":53,"column":null}},"22":{"start":{"line":61,"column":2},"end":{"line":67,"column":null}},"23":{"start":{"line":62,"column":4},"end":{"line":66,"column":null}},"24":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"25":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"26":{"start":{"line":69,"column":26},"end":{"line":75,"column":null}},"27":{"start":{"line":70,"column":4},"end":{"line":74,"column":null}},"28":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"29":{"start":{"line":72,"column":6},"end":{"line":72,"column":null}},"30":{"start":{"line":73,"column":6},"end":{"line":73,"column":null}},"31":{"start":{"line":77,"column":27},"end":{"line":81,"column":null}},"32":{"start":{"line":78,"column":21},"end":{"line":78,"column":null}},"33":{"start":{"line":79,"column":4},"end":{"line":79,"column":null}},"34":{"start":{"line":80,"column":4},"end":{"line":80,"column":null}},"35":{"start":{"line":83,"column":25},"end":{"line":93,"column":null}},"36":{"start":{"line":84,"column":4},"end":{"line":84,"column":null}},"37":{"start":{"line":85,"column":4},"end":{"line":85,"column":null}},"38":{"start":{"line":87,"column":4},"end":{"line":92,"column":null}},"39":{"start":{"line":88,"column":6},"end":{"line":88,"column":null}},"40":{"start":{"line":89,"column":6},"end":{"line":91,"column":null}},"41":{"start":{"line":90,"column":8},"end":{"line":90,"column":null}},"42":{"start":{"line":95,"column":28},"end":{"line":107,"column":null}},"43":{"start":{"line":96,"column":4},"end":{"line":106,"column":null}},"44":{"start":{"line":97,"column":6},"end":{"line":97,"column":null}},"45":{"start":{"line":98,"column":6},"end":{"line":98,"column":null}},"46":{"start":{"line":99,"column":4},"end":{"line":106,"column":null}},"47":{"start":{"line":100,"column":6},"end":{"line":100,"column":null}},"48":{"start":{"line":101,"column":6},"end":{"line":101,"column":null}},"49":{"start":{"line":102,"column":6},"end":{"line":102,"column":null}},"50":{"start":{"line":103,"column":6},"end":{"line":105,"column":null}},"51":{"start":{"line":104,"column":8},"end":{"line":104,"column":null}},"52":{"start":{"line":109,"column":2},"end":{"line":222,"column":null}},"53":{"start":{"line":111,"column":28},"end":{"line":111,"column":null}},"54":{"start":{"line":113,"column":4},"end":{"line":200,"column":null}},"55":{"start":{"line":114,"column":12},"end":{"line":114,"column":null}},"56":{"start":{"line":115,"column":26},"end":{"line":115,"column":null}},"57":{"start":{"line":116,"column":26},"end":{"line":116,"column":null}},"58":{"start":{"line":117,"column":30},"end":{"line":117,"column":null}},"59":{"start":{"line":119,"column":6},"end":{"line":177,"column":null}},"60":{"start":{"line":149,"column":16},"end":{"line":151,"column":null}},"61":{"start":{"line":181,"column":6},"end":{"line":198,"column":null}},"62":{"start":{"line":205,"column":6},"end":{"line":207,"column":null}},"63":{"start":{"line":209,"column":4},"end":{"line":220,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":25}},"loc":{"start":{"line":17,"column":80},"end":{"line":223,"column":null}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":12},"end":{"line":28,"column":18}},"loc":{"start":{"line":28,"column":18},"end":{"line":41,"column":5}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":28},"end":{"line":56,"column":null}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":39},"end":{"line":50,"column":45}},"loc":{"start":{"line":50,"column":45},"end":{"line":55,"column":9}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":61,"column":12},"end":{"line":61,"column":18}},"loc":{"start":{"line":61,"column":18},"end":{"line":67,"column":5}},"line":61},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":11},"end":{"line":62,"column":17}},"loc":{"start":{"line":62,"column":17},"end":{"line":66,"column":null}},"line":62},"6":{"name":"(anonymous_6)","decl":{"start":{"line":69,"column":26},"end":{"line":69,"column":32}},"loc":{"start":{"line":69,"column":32},"end":{"line":75,"column":null}},"line":69},"7":{"name":"(anonymous_7)","decl":{"start":{"line":77,"column":27},"end":{"line":77,"column":28}},"loc":{"start":{"line":77,"column":74},"end":{"line":81,"column":null}},"line":77},"8":{"name":"(anonymous_8)","decl":{"start":{"line":83,"column":25},"end":{"line":83,"column":31}},"loc":{"start":{"line":83,"column":31},"end":{"line":93,"column":null}},"line":83},"9":{"name":"(anonymous_9)","decl":{"start":{"line":95,"column":28},"end":{"line":95,"column":29}},"loc":{"start":{"line":95,"column":77},"end":{"line":107,"column":null}},"line":95},"10":{"name":"(anonymous_10)","decl":{"start":{"line":148,"column":22},"end":{"line":148,"column":23}},"loc":{"start":{"line":149,"column":16},"end":{"line":151,"column":null}},"line":149}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":40,"column":null}},{"start":{},"end":{}}],"line":29},"1":{"loc":{"start":{"line":29,"column":8},"end":{"line":29,"column":42}},"type":"binary-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":21}},{"start":{"line":29,"column":21},"end":{"line":29,"column":42}}],"line":29},"2":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37},"3":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":null}},{"start":{},"end":{}}],"line":46},"4":{"loc":{"start":{"line":52,"column":8},"end":{"line":54,"column":null}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":54,"column":null}}],"line":52},"5":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":null}},{"start":{},"end":{}}],"line":63},"6":{"loc":{"start":{"line":70,"column":4},"end":{"line":74,"column":null}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":74,"column":null}},{"start":{},"end":{}}],"line":70},"7":{"loc":{"start":{"line":87,"column":4},"end":{"line":92,"column":null}},"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":92,"column":null}},{"start":{},"end":{}}],"line":87},"8":{"loc":{"start":{"line":89,"column":6},"end":{"line":91,"column":null}},"type":"if","locations":[{"start":{"line":89,"column":6},"end":{"line":91,"column":null}},{"start":{},"end":{}}],"line":89},"9":{"loc":{"start":{"line":96,"column":4},"end":{"line":106,"column":null}},"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":106,"column":null}},{"start":{"line":99,"column":4},"end":{"line":106,"column":null}}],"line":96},"10":{"loc":{"start":{"line":96,"column":8},"end":{"line":96,"column":42}},"type":"binary-expr","locations":[{"start":{"line":96,"column":8},"end":{"line":96,"column":29}},{"start":{"line":96,"column":29},"end":{"line":96,"column":42}}],"line":96},"11":{"loc":{"start":{"line":99,"column":4},"end":{"line":106,"column":null}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":106,"column":null}},{"start":{},"end":{}}],"line":99},"12":{"loc":{"start":{"line":103,"column":6},"end":{"line":105,"column":null}},"type":"if","locations":[{"start":{"line":103,"column":6},"end":{"line":105,"column":null}},{"start":{},"end":{}}],"line":103},"13":{"loc":{"start":{"line":109,"column":2},"end":{"line":222,"column":null}},"type":"if","locations":[{"start":{"line":109,"column":2},"end":{"line":222,"column":null}},{"start":{"line":201,"column":9},"end":{"line":222,"column":null}}],"line":109},"14":{"loc":{"start":{"line":111,"column":28},"end":{"line":111,"column":null}},"type":"binary-expr","locations":[{"start":{"line":111,"column":28},"end":{"line":111,"column":54}},{"start":{"line":111,"column":54},"end":{"line":111,"column":69}},{"start":{"line":111,"column":69},"end":{"line":111,"column":null}}],"line":111},"15":{"loc":{"start":{"line":113,"column":4},"end":{"line":200,"column":null}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":200,"column":null}},{"start":{"line":179,"column":11},"end":{"line":200,"column":null}}],"line":113},"16":{"loc":{"start":{"line":115,"column":26},"end":{"line":115,"column":null}},"type":"cond-expr","locations":[{"start":{"line":115,"column":36},"end":{"line":115,"column":52}},{"start":{"line":115,"column":52},"end":{"line":115,"column":null}}],"line":115},"17":{"loc":{"start":{"line":116,"column":26},"end":{"line":116,"column":null}},"type":"cond-expr","locations":[{"start":{"line":116,"column":36},"end":{"line":116,"column":48}},{"start":{"line":116,"column":48},"end":{"line":116,"column":null}}],"line":116},"18":{"loc":{"start":{"line":117,"column":30},"end":{"line":117,"column":null}},"type":"cond-expr","locations":[{"start":{"line":117,"column":40},"end":{"line":117,"column":52}},{"start":{"line":117,"column":52},"end":{"line":117,"column":null}}],"line":117},"19":{"loc":{"start":{"line":172,"column":28},"end":{"line":172,"column":null}},"type":"cond-expr","locations":[{"start":{"line":172,"column":38},"end":{"line":172,"column":47}},{"start":{"line":172,"column":47},"end":{"line":172,"column":null}}],"line":172},"20":{"loc":{"start":{"line":205,"column":6},"end":{"line":207,"column":null}},"type":"cond-expr","locations":[{"start":{"line":206,"column":10},"end":{"line":206,"column":null}},{"start":{"line":207,"column":10},"end":{"line":207,"column":null}}],"line":205},"21":{"loc":{"start":{"line":217,"column":15},"end":{"line":217,"column":null}},"type":"cond-expr","locations":[{"start":{"line":217,"column":44},"end":{"line":217,"column":59}},{"start":{"line":217,"column":59},"end":{"line":217,"column":null}}],"line":217}},"s":{"0":1,"1":62,"2":62,"3":62,"4":62,"5":62,"6":62,"7":62,"8":62,"9":28,"10":28,"11":28,"12":28,"13":28,"14":28,"15":4,"16":62,"17":9,"18":2,"19":9,"20":2,"21":2,"22":62,"23":26,"24":26,"25":7,"26":62,"27":20,"28":19,"29":19,"30":19,"31":62,"32":9,"33":9,"34":9,"35":62,"36":5,"37":5,"38":5,"39":3,"40":3,"41":2,"42":62,"43":6,"44":1,"45":1,"46":5,"47":3,"48":3,"49":3,"50":3,"51":1,"52":62,"53":28,"54":28,"55":4,"56":4,"57":4,"58":4,"59":4,"60":4,"61":24,"62":34,"63":34},"f":{"0":62,"1":62,"2":9,"3":2,"4":26,"5":26,"6":20,"7":9,"8":5,"9":6,"10":4},"b":{"0":[28,34],"1":[62,28],"2":[4,24],"3":[2,7],"4":[2],"5":[7,19],"6":[19,1],"7":[3,2],"8":[2,1],"9":[1,5],"10":[6,2],"11":[3,2],"12":[1,2],"13":[28,34],"14":[28,4,4],"15":[4,24],"16":[1,3],"17":[1,3],"18":[1,3],"19":[1,3],"20":[4,30],"21":[4,30]},"meta":{"lastBranch":22,"lastFunction":11,"lastStatement":64,"seen":{"s:17:24:223:Infinity":0,"f:17:24:17:25":0,"s:18:18:18:Infinity":1,"s:19:33:19:Infinity":2,"s:22:32:22:Infinity":3,"s:23:32:23:Infinity":4,"s:24:8:24:Infinity":5,"s:25:8:25:Infinity":6,"s:28:2:41:Infinity":7,"f:28:12:28:18":1,"b:29:4:40:Infinity:undefined:undefined:undefined:undefined":0,"s:29:4:40:Infinity":8,"b:29:8:29:21:29:21:29:42":1,"s:30:23:30:Infinity":9,"s:31:6:31:Infinity":10,"s:32:24:32:Infinity":11,"s:33:6:33:Infinity":12,"s:36:24:36:Infinity":13,"b:37:6:39:Infinity:undefined:undefined:undefined:undefined":2,"s:37:6:39:Infinity":14,"s:38:9:38:Infinity":15,"s:44:8:58:Infinity":16,"f:45:4:45:5":2,"b:46:6:48:Infinity:undefined:undefined:undefined:undefined":3,"s:46:6:48:Infinity":17,"s:47:8:47:Infinity":18,"s:50:6:55:Infinity":19,"f:50:39:50:45":3,"b:52:8:54:Infinity":4,"s:52:8:54:Infinity":20,"s:53:10:53:Infinity":21,"s:61:2:67:Infinity":22,"f:61:12:61:18":4,"s:62:4:66:Infinity":23,"f:62:11:62:17":5,"b:63:6:65:Infinity:undefined:undefined:undefined:undefined":5,"s:63:6:65:Infinity":24,"s:64:8:64:Infinity":25,"s:69:26:75:Infinity":26,"f:69:26:69:32":6,"b:70:4:74:Infinity:undefined:undefined:undefined:undefined":6,"s:70:4:74:Infinity":27,"s:71:6:71:Infinity":28,"s:72:6:72:Infinity":29,"s:73:6:73:Infinity":30,"s:77:27:81:Infinity":31,"f:77:27:77:28":7,"s:78:21:78:Infinity":32,"s:79:4:79:Infinity":33,"s:80:4:80:Infinity":34,"s:83:25:93:Infinity":35,"f:83:25:83:31":8,"s:84:4:84:Infinity":36,"s:85:4:85:Infinity":37,"b:87:4:92:Infinity:undefined:undefined:undefined:undefined":7,"s:87:4:92:Infinity":38,"s:88:6:88:Infinity":39,"b:89:6:91:Infinity:undefined:undefined:undefined:undefined":8,"s:89:6:91:Infinity":40,"s:90:8:90:Infinity":41,"s:95:28:107:Infinity":42,"f:95:28:95:29":9,"b:96:4:106:Infinity:99:4:106:Infinity":9,"s:96:4:106:Infinity":43,"b:96:8:96:29:96:29:96:42":10,"s:97:6:97:Infinity":44,"s:98:6:98:Infinity":45,"b:99:4:106:Infinity:undefined:undefined:undefined:undefined":11,"s:99:4:106:Infinity":46,"s:100:6:100:Infinity":47,"s:101:6:101:Infinity":48,"s:102:6:102:Infinity":49,"b:103:6:105:Infinity:undefined:undefined:undefined:undefined":12,"s:103:6:105:Infinity":50,"s:104:8:104:Infinity":51,"b:109:2:222:Infinity:201:9:222:Infinity":13,"s:109:2:222:Infinity":52,"s:111:28:111:Infinity":53,"b:111:28:111:54:111:54:111:69:111:69:111:Infinity":14,"b:113:4:200:Infinity:179:11:200:Infinity":15,"s:113:4:200:Infinity":54,"s:114:12:114:Infinity":55,"s:115:26:115:Infinity":56,"b:115:36:115:52:115:52:115:Infinity":16,"s:116:26:116:Infinity":57,"b:116:36:116:48:116:48:116:Infinity":17,"s:117:30:117:Infinity":58,"b:117:40:117:52:117:52:117:Infinity":18,"s:119:6:177:Infinity":59,"f:148:22:148:23":10,"s:149:16:151:Infinity":60,"b:172:38:172:47:172:47:172:Infinity":19,"s:181:6:198:Infinity":61,"s:205:6:207:Infinity":62,"b:206:10:206:Infinity:207:10:207:Infinity":20,"s:209:4:220:Infinity":63,"b:217:44:217:59:217:59:217:Infinity":21}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts","statementMap":{"0":{"start":{"line":8,"column":36},"end":{"line":8,"column":null}},"1":{"start":{"line":9,"column":30},"end":{"line":9,"column":null}},"2":{"start":{"line":10,"column":28},"end":{"line":10,"column":null}},"3":{"start":{"line":12,"column":2},"end":{"line":50,"column":null}},"4":{"start":{"line":13,"column":22},"end":{"line":13,"column":null}},"5":{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},"6":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"7":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"9":{"start":{"line":21,"column":27},"end":{"line":41,"column":null}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},"11":{"start":{"line":23,"column":6},"end":{"line":40,"column":null}},"12":{"start":{"line":24,"column":24},"end":{"line":24,"column":null}},"13":{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},"14":{"start":{"line":27,"column":10},"end":{"line":27,"column":null}},"15":{"start":{"line":28,"column":10},"end":{"line":28,"column":null}},"16":{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},"17":{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},"18":{"start":{"line":33,"column":10},"end":{"line":33,"column":null}},"19":{"start":{"line":34,"column":10},"end":{"line":34,"column":null}},"20":{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},"21":{"start":{"line":38,"column":10},"end":{"line":38,"column":null}},"22":{"start":{"line":44,"column":22},"end":{"line":44,"column":null}},"23":{"start":{"line":46,"column":4},"end":{"line":49,"column":null}},"24":{"start":{"line":47,"column":6},"end":{"line":47,"column":null}},"25":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"26":{"start":{"line":52,"column":2},"end":{"line":56,"column":null}}},"fnMap":{"0":{"name":"usePatternDetection","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":36}},"loc":{"start":{"line":7,"column":53},"end":{"line":57,"column":null}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":12},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":18},"end":{"line":50,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":27},"end":{"line":21,"column":39}},"loc":{"start":{"line":21,"column":39},"end":{"line":41,"column":null}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":11},"end":{"line":46,"column":17}},"loc":{"start":{"line":46,"column":17},"end":{"line":49,"column":null}},"line":46}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":19,"column":null}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":49}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":20}},{"start":{"line":15,"column":20},"end":{"line":15,"column":49}}],"line":15},"2":{"loc":{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":29,"column":null}},{"start":{},"end":{}}],"line":26},"3":{"loc":{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":35,"column":null}},{"start":{},"end":{}}],"line":32},"4":{"loc":{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":39,"column":null}},{"start":{},"end":{}}],"line":37}},"s":{"0":22,"1":22,"2":22,"3":22,"4":11,"5":11,"6":3,"7":3,"8":3,"9":8,"10":7,"11":7,"12":7,"13":4,"14":3,"15":3,"16":3,"17":3,"18":2,"19":2,"20":7,"21":5,"22":8,"23":8,"24":4,"25":4,"26":22},"f":{"0":22,"1":11,"2":7,"3":4},"b":{"0":[3,8],"1":[11,9],"2":[3,1],"3":[2,1],"4":[5,2]},"meta":{"lastBranch":5,"lastFunction":4,"lastStatement":27,"seen":{"f:7:16:7:36":0,"s:8:36:8:Infinity":0,"s:9:30:9:Infinity":1,"s:10:28:10:Infinity":2,"s:12:2:50:Infinity":3,"f:12:12:12:18":1,"s:13:22:13:Infinity":4,"b:15:4:19:Infinity:undefined:undefined:undefined:undefined":0,"s:15:4:19:Infinity":5,"b:15:8:15:20:15:20:15:49":1,"s:16:6:16:Infinity":6,"s:17:6:17:Infinity":7,"s:18:6:18:Infinity":8,"s:21:27:41:Infinity":9,"f:21:27:21:39":2,"s:22:6:22:Infinity":10,"s:23:6:40:Infinity":11,"s:24:24:24:Infinity":12,"b:26:8:29:Infinity:undefined:undefined:undefined:undefined":2,"s:26:8:29:Infinity":13,"s:27:10:27:Infinity":14,"s:28:10:28:Infinity":15,"s:31:8:31:Infinity":16,"b:32:8:35:Infinity:undefined:undefined:undefined:undefined":3,"s:32:8:35:Infinity":17,"s:33:10:33:Infinity":18,"s:34:10:34:Infinity":19,"b:37:8:39:Infinity:undefined:undefined:undefined:undefined":4,"s:37:8:39:Infinity":20,"s:38:10:38:Infinity":21,"s:44:22:44:Infinity":22,"s:46:4:49:Infinity":23,"f:46:11:46:17":3,"s:47:6:47:Infinity":24,"s:48:6:48:Infinity":25,"s:52:2:56:Infinity":26}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx","statementMap":{"0":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"1":{"start":{"line":27,"column":59},"end":{"line":129,"column":null}},"2":{"start":{"line":28,"column":29},"end":{"line":28,"column":null}},"3":{"start":{"line":29,"column":42},"end":{"line":29,"column":null}},"4":{"start":{"line":32,"column":8},"end":{"line":51,"column":null}},"5":{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":null}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":null}},"8":{"start":{"line":41,"column":4},"end":{"line":41,"column":null}},"9":{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},"10":{"start":{"line":45,"column":6},"end":{"line":45,"column":null}},"11":{"start":{"line":46,"column":6},"end":{"line":46,"column":null}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"13":{"start":{"line":49,"column":6},"end":{"line":49,"column":null}},"14":{"start":{"line":54,"column":2},"end":{"line":71,"column":null}},"15":{"start":{"line":55,"column":22},"end":{"line":68,"column":null}},"16":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"17":{"start":{"line":56,"column":23},"end":{"line":56,"column":null}},"18":{"start":{"line":58,"column":6},"end":{"line":67,"column":null}},"19":{"start":{"line":59,"column":39},"end":{"line":59,"column":null}},"20":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"21":{"start":{"line":61,"column":8},"end":{"line":61,"column":null}},"22":{"start":{"line":62,"column":8},"end":{"line":62,"column":null}},"23":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"24":{"start":{"line":66,"column":8},"end":{"line":66,"column":null}},"25":{"start":{"line":70,"column":4},"end":{"line":70,"column":null}},"26":{"start":{"line":74,"column":2},"end":{"line":89,"column":null}},"27":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"28":{"start":{"line":75,"column":40},"end":{"line":75,"column":null}},"29":{"start":{"line":77,"column":33},"end":{"line":82,"column":null}},"30":{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},"31":{"start":{"line":79,"column":8},"end":{"line":79,"column":null}},"32":{"start":{"line":80,"column":8},"end":{"line":80,"column":null}},"33":{"start":{"line":85,"column":20},"end":{"line":85,"column":null}},"34":{"start":{"line":88,"column":4},"end":{"line":88,"column":null}},"35":{"start":{"line":92,"column":2},"end":{"line":100,"column":null}},"36":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"37":{"start":{"line":93,"column":28},"end":{"line":93,"column":null}},"38":{"start":{"line":95,"column":23},"end":{"line":95,"column":null}},"39":{"start":{"line":96,"column":25},"end":{"line":96,"column":null}},"40":{"start":{"line":96,"column":31},"end":{"line":96,"column":null}},"41":{"start":{"line":98,"column":4},"end":{"line":98,"column":null}},"42":{"start":{"line":99,"column":4},"end":{"line":99,"column":null}},"43":{"start":{"line":99,"column":17},"end":{"line":99,"column":null}},"44":{"start":{"line":102,"column":19},"end":{"line":118,"column":null}},"45":{"start":{"line":103,"column":4},"end":{"line":103,"column":null}},"46":{"start":{"line":104,"column":4},"end":{"line":104,"column":null}},"47":{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},"48":{"start":{"line":108,"column":6},"end":{"line":116,"column":null}},"49":{"start":{"line":109,"column":46},"end":{"line":109,"column":null}},"50":{"start":{"line":110,"column":8},"end":{"line":113,"column":null}},"51":{"start":{"line":115,"column":8},"end":{"line":115,"column":null}},"52":{"start":{"line":120,"column":41},"end":{"line":126,"column":null}},"53":{"start":{"line":128,"column":2},"end":{"line":128,"column":null}},"54":{"start":{"line":131,"column":24},"end":{"line":137,"column":null}},"55":{"start":{"line":132,"column":8},"end":{"line":132,"column":null}},"56":{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},"57":{"start":{"line":134,"column":4},"end":{"line":134,"column":null}},"58":{"start":{"line":136,"column":2},"end":{"line":136,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":59},"end":{"line":27,"column":60}},"loc":{"start":{"line":27,"column":77},"end":{"line":129,"column":null}},"line":27},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":43},"end":{"line":32,"column":44}},"loc":{"start":{"line":32,"column":71},"end":{"line":51,"column":5}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":54,"column":12},"end":{"line":54,"column":18}},"loc":{"start":{"line":54,"column":18},"end":{"line":71,"column":5}},"line":54},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":22},"end":{"line":55,"column":34}},"loc":{"start":{"line":55,"column":34},"end":{"line":68,"column":null}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":74,"column":12},"end":{"line":74,"column":18}},"loc":{"start":{"line":74,"column":18},"end":{"line":89,"column":5}},"line":74},"5":{"name":"(anonymous_5)","decl":{"start":{"line":77,"column":33},"end":{"line":77,"column":34}},"loc":{"start":{"line":77,"column":68},"end":{"line":82,"column":null}},"line":77},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":12},"end":{"line":92,"column":18}},"loc":{"start":{"line":92,"column":18},"end":{"line":100,"column":5}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":96,"column":25},"end":{"line":96,"column":31}},"loc":{"start":{"line":96,"column":31},"end":{"line":96,"column":null}},"line":96},"8":{"name":"(anonymous_8)","decl":{"start":{"line":99,"column":11},"end":{"line":99,"column":17}},"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":null}},"line":99},"9":{"name":"(anonymous_9)","decl":{"start":{"line":102,"column":19},"end":{"line":102,"column":26}},"loc":{"start":{"line":102,"column":46},"end":{"line":118,"column":null}},"line":102},"10":{"name":"(anonymous_10)","decl":{"start":{"line":131,"column":24},"end":{"line":131,"column":48}},"loc":{"start":{"line":131,"column":48},"end":{"line":137,"column":null}},"line":131}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":39,"column":null}},{"start":{"line":37,"column":11},"end":{"line":39,"column":null}}],"line":35},"1":{"loc":{"start":{"line":36,"column":22},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":36,"column":82},"end":{"line":36,"column":91}},{"start":{"line":36,"column":91},"end":{"line":36,"column":null}}],"line":36},"2":{"loc":{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":50,"column":null}},{"start":{"line":47,"column":11},"end":{"line":50,"column":null}}],"line":44},"3":{"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},{"start":{},"end":{}}],"line":56},"4":{"loc":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"type":"binary-expr","locations":[{"start":{"line":60,"column":26},"end":{"line":60,"column":45}},{"start":{"line":60,"column":45},"end":{"line":60,"column":null}}],"line":60},"5":{"loc":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},{"start":{},"end":{}}],"line":75},"6":{"loc":{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},"type":"if","locations":[{"start":{"line":78,"column":6},"end":{"line":81,"column":null}},{"start":{},"end":{}}],"line":78},"7":{"loc":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"type":"if","locations":[{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},{"start":{},"end":{}}],"line":93},"8":{"loc":{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":117,"column":null}},{"start":{},"end":{}}],"line":107},"9":{"loc":{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},"type":"if","locations":[{"start":{"line":133,"column":2},"end":{"line":135,"column":null}},{"start":{},"end":{}}],"line":133}},"s":{"0":1,"1":1,"2":32,"3":32,"4":32,"5":20,"6":14,"7":6,"8":20,"9":20,"10":16,"11":16,"12":4,"13":4,"14":32,"15":15,"16":15,"17":1,"18":14,"19":14,"20":13,"21":15,"22":15,"23":1,"24":1,"25":15,"26":32,"27":15,"28":2,"29":13,"30":2,"31":1,"32":1,"33":13,"34":13,"35":32,"36":24,"37":6,"38":18,"39":18,"40":1,"41":18,"42":18,"43":18,"44":32,"45":4,"46":4,"47":4,"48":3,"49":3,"50":3,"51":1,"52":32,"53":32,"54":1,"55":35,"56":35,"57":2,"58":32},"f":{"0":32,"1":20,"2":15,"3":15,"4":15,"5":2,"6":24,"7":1,"8":18,"9":4,"10":35},"b":{"0":[14,6],"1":[2,12],"2":[16,4],"3":[1,14],"4":[13,1],"5":[2,13],"6":[1,1],"7":[6,18],"8":[3,1],"9":[2,33]},"meta":{"lastBranch":10,"lastFunction":11,"lastStatement":59,"seen":{"s:21:6:21:Infinity":0,"s:27:59:129:Infinity":1,"f:27:59:27:60":0,"s:28:29:28:Infinity":2,"s:29:42:29:Infinity":3,"s:32:8:51:Infinity":4,"f:32:43:32:44":1,"b:35:4:39:Infinity:37:11:39:Infinity":0,"s:35:4:39:Infinity":5,"s:36:6:36:Infinity":6,"b:36:82:36:91:36:91:36:Infinity":1,"s:38:6:38:Infinity":7,"s:41:4:41:Infinity":8,"b:44:4:50:Infinity:47:11:50:Infinity":2,"s:44:4:50:Infinity":9,"s:45:6:45:Infinity":10,"s:46:6:46:Infinity":11,"s:48:6:48:Infinity":12,"s:49:6:49:Infinity":13,"s:54:2:71:Infinity":14,"f:54:12:54:18":2,"s:55:22:68:Infinity":15,"f:55:22:55:34":3,"b:56:6:56:Infinity:undefined:undefined:undefined:undefined":3,"s:56:6:56:Infinity":16,"s:56:23:56:Infinity":17,"s:58:6:67:Infinity":18,"s:59:39:59:Infinity":19,"s:60:26:60:Infinity":20,"b:60:26:60:45:60:45:60:Infinity":4,"s:61:8:61:Infinity":21,"s:62:8:62:Infinity":22,"s:64:8:64:Infinity":23,"s:66:8:66:Infinity":24,"s:70:4:70:Infinity":25,"s:74:2:89:Infinity":26,"f:74:12:74:18":4,"b:75:4:75:Infinity:undefined:undefined:undefined:undefined":5,"s:75:4:75:Infinity":27,"s:75:40:75:Infinity":28,"s:77:33:82:Infinity":29,"f:77:33:77:34":5,"b:78:6:81:Infinity:undefined:undefined:undefined:undefined":6,"s:78:6:81:Infinity":30,"s:79:8:79:Infinity":31,"s:80:8:80:Infinity":32,"s:85:20:85:Infinity":33,"s:88:4:88:Infinity":34,"s:92:2:100:Infinity":35,"f:92:12:92:18":6,"b:93:4:93:Infinity:undefined:undefined:undefined:undefined":7,"s:93:4:93:Infinity":36,"s:93:28:93:Infinity":37,"s:95:23:95:Infinity":38,"s:96:25:96:Infinity":39,"f:96:25:96:31":7,"s:96:31:96:Infinity":40,"s:98:4:98:Infinity":41,"s:99:4:99:Infinity":42,"f:99:11:99:17":8,"s:99:17:99:Infinity":43,"s:102:19:118:Infinity":44,"f:102:19:102:26":9,"s:103:4:103:Infinity":45,"s:104:4:104:Infinity":46,"b:107:4:117:Infinity:undefined:undefined:undefined:undefined":8,"s:107:4:117:Infinity":47,"s:108:6:116:Infinity":48,"s:109:46:109:Infinity":49,"s:110:8:113:Infinity":50,"s:115:8:115:Infinity":51,"s:120:41:126:Infinity":52,"s:128:2:128:Infinity":53,"s:131:24:137:Infinity":54,"f:131:24:131:48":10,"s:132:8:132:Infinity":55,"b:133:2:135:Infinity:undefined:undefined:undefined:undefined":9,"s:133:2:135:Infinity":56,"s:134:4:134:Infinity":57,"s:136:2:136:Infinity":58}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts","statementMap":{"0":{"start":{"line":37,"column":45},"end":{"line":361,"column":null}},"1":{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},"2":{"start":{"line":371,"column":4},"end":{"line":371,"column":null}},"3":{"start":{"line":374,"column":41},"end":{"line":374,"column":null}},"4":{"start":{"line":377,"column":2},"end":{"line":379,"column":null}},"5":{"start":{"line":378,"column":4},"end":{"line":378,"column":null}},"6":{"start":{"line":381,"column":20},"end":{"line":381,"column":null}},"7":{"start":{"line":383,"column":2},"end":{"line":414,"column":null}},"8":{"start":{"line":384,"column":16},"end":{"line":384,"column":null}},"9":{"start":{"line":387,"column":4},"end":{"line":393,"column":null}},"10":{"start":{"line":388,"column":20},"end":{"line":388,"column":null}},"11":{"start":{"line":389,"column":22},"end":{"line":389,"column":null}},"12":{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},"13":{"start":{"line":391,"column":8},"end":{"line":391,"column":null}},"14":{"start":{"line":396,"column":4},"end":{"line":401,"column":null}},"15":{"start":{"line":397,"column":22},"end":{"line":397,"column":null}},"16":{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},"17":{"start":{"line":399,"column":8},"end":{"line":399,"column":null}},"18":{"start":{"line":404,"column":4},"end":{"line":408,"column":null}},"19":{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},"20":{"start":{"line":406,"column":8},"end":{"line":406,"column":null}},"21":{"start":{"line":411,"column":4},"end":{"line":411,"column":null}},"22":{"start":{"line":413,"column":4},"end":{"line":413,"column":null}},"23":{"start":{"line":417,"column":17},"end":{"line":417,"column":null}},"24":{"start":{"line":418,"column":40},"end":{"line":418,"column":null}},"25":{"start":{"line":420,"column":2},"end":{"line":426,"column":null}},"26":{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},"27":{"start":{"line":423,"column":6},"end":{"line":423,"column":null}},"28":{"start":{"line":424,"column":6},"end":{"line":424,"column":null}},"29":{"start":{"line":428,"column":2},"end":{"line":428,"column":null}},"30":{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},"31":{"start":{"line":439,"column":4},"end":{"line":439,"column":null}},"32":{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},"33":{"start":{"line":444,"column":4},"end":{"line":444,"column":null}},"34":{"start":{"line":448,"column":25},"end":{"line":474,"column":null}},"35":{"start":{"line":476,"column":23},"end":{"line":476,"column":null}},"36":{"start":{"line":477,"column":21},"end":{"line":477,"column":null}},"37":{"start":{"line":479,"column":2},"end":{"line":485,"column":null}},"38":{"start":{"line":480,"column":20},"end":{"line":480,"column":null}},"39":{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},"40":{"start":{"line":482,"column":6},"end":{"line":482,"column":null}},"41":{"start":{"line":483,"column":6},"end":{"line":483,"column":null}},"42":{"start":{"line":488,"column":21},"end":{"line":488,"column":null}},"43":{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},"44":{"start":{"line":492,"column":4},"end":{"line":492,"column":null}},"45":{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},"46":{"start":{"line":495,"column":4},"end":{"line":495,"column":null}},"47":{"start":{"line":498,"column":4},"end":{"line":498,"column":null}},"48":{"start":{"line":507,"column":27},"end":{"line":518,"column":null}},"49":{"start":{"line":520,"column":2},"end":{"line":520,"column":null}},"50":{"start":{"line":520,"column":44},"end":{"line":520,"column":62}},"51":{"start":{"line":527,"column":46},"end":{"line":542,"column":null}},"52":{"start":{"line":544,"column":2},"end":{"line":544,"column":null}}},"fnMap":{"0":{"name":"detectLanguage","decl":{"start":{"line":368,"column":16},"end":{"line":368,"column":31}},"loc":{"start":{"line":368,"column":60},"end":{"line":429,"column":null}},"line":368},"1":{"name":"(anonymous_1)","decl":{"start":{"line":377,"column":28},"end":{"line":377,"column":29}},"loc":{"start":{"line":377,"column":38},"end":{"line":379,"column":3}},"line":377},"2":{"name":"(anonymous_2)","decl":{"start":{"line":383,"column":28},"end":{"line":383,"column":29}},"loc":{"start":{"line":383,"column":38},"end":{"line":414,"column":3}},"line":383},"3":{"name":"(anonymous_3)","decl":{"start":{"line":387,"column":26},"end":{"line":387,"column":27}},"loc":{"start":{"line":387,"column":39},"end":{"line":393,"column":5}},"line":387},"4":{"name":"(anonymous_4)","decl":{"start":{"line":396,"column":26},"end":{"line":396,"column":27}},"loc":{"start":{"line":396,"column":39},"end":{"line":401,"column":5}},"line":396},"5":{"name":"(anonymous_5)","decl":{"start":{"line":404,"column":28},"end":{"line":404,"column":29}},"loc":{"start":{"line":404,"column":37},"end":{"line":408,"column":5}},"line":404},"6":{"name":"(anonymous_6)","decl":{"start":{"line":420,"column":33},"end":{"line":420,"column":34}},"loc":{"start":{"line":420,"column":52},"end":{"line":426,"column":3}},"line":420},"7":{"name":"isCode","decl":{"start":{"line":436,"column":16},"end":{"line":436,"column":23}},"loc":{"start":{"line":436,"column":46},"end":{"line":500,"column":null}},"line":436},"8":{"name":"(anonymous_8)","decl":{"start":{"line":479,"column":25},"end":{"line":479,"column":26}},"loc":{"start":{"line":479,"column":38},"end":{"line":485,"column":3}},"line":479},"9":{"name":"hasStrongCodeIndicators","decl":{"start":{"line":506,"column":9},"end":{"line":506,"column":33}},"loc":{"start":{"line":506,"column":56},"end":{"line":521,"column":null}},"line":506},"10":{"name":"(anonymous_10)","decl":{"start":{"line":520,"column":31},"end":{"line":520,"column":32}},"loc":{"start":{"line":520,"column":44},"end":{"line":520,"column":62}},"line":520},"11":{"name":"mapToSyntaxHighlighterLanguage","decl":{"start":{"line":526,"column":16},"end":{"line":526,"column":47}},"loc":{"start":{"line":526,"column":81},"end":{"line":545,"column":null}},"line":526}},"branchMap":{"0":{"loc":{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},"type":"if","locations":[{"start":{"line":369,"column":2},"end":{"line":372,"column":null}},{"start":{},"end":{}}],"line":369},"1":{"loc":{"start":{"line":369,"column":6},"end":{"line":369,"column":39}},"type":"binary-expr","locations":[{"start":{"line":369,"column":6},"end":{"line":369,"column":15}},{"start":{"line":369,"column":15},"end":{"line":369,"column":39}}],"line":369},"2":{"loc":{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},"type":"if","locations":[{"start":{"line":390,"column":6},"end":{"line":392,"column":null}},{"start":{},"end":{}}],"line":390},"3":{"loc":{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},"type":"if","locations":[{"start":{"line":398,"column":6},"end":{"line":400,"column":null}},{"start":{},"end":{}}],"line":398},"4":{"loc":{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},"type":"if","locations":[{"start":{"line":405,"column":6},"end":{"line":407,"column":null}},{"start":{},"end":{}}],"line":405},"5":{"loc":{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},"type":"if","locations":[{"start":{"line":421,"column":4},"end":{"line":425,"column":null}},{"start":{},"end":{}}],"line":421},"6":{"loc":{"start":{"line":421,"column":8},"end":{"line":421,"column":39}},"type":"binary-expr","locations":[{"start":{"line":421,"column":8},"end":{"line":421,"column":28}},{"start":{"line":421,"column":28},"end":{"line":421,"column":39}}],"line":421},"7":{"loc":{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},"type":"if","locations":[{"start":{"line":437,"column":2},"end":{"line":440,"column":null}},{"start":{},"end":{}}],"line":437},"8":{"loc":{"start":{"line":437,"column":6},"end":{"line":437,"column":39}},"type":"binary-expr","locations":[{"start":{"line":437,"column":6},"end":{"line":437,"column":15}},{"start":{"line":437,"column":15},"end":{"line":437,"column":39}}],"line":437},"9":{"loc":{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},"type":"if","locations":[{"start":{"line":443,"column":2},"end":{"line":445,"column":null}},{"start":{},"end":{}}],"line":443},"10":{"loc":{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},"type":"if","locations":[{"start":{"line":481,"column":4},"end":{"line":484,"column":null}},{"start":{},"end":{}}],"line":481},"11":{"loc":{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},"type":"if","locations":[{"start":{"line":490,"column":2},"end":{"line":499,"column":null}},{"start":{"line":493,"column":2},"end":{"line":499,"column":null}}],"line":490},"12":{"loc":{"start":{"line":492,"column":11},"end":{"line":492,"column":null}},"type":"binary-expr","locations":[{"start":{"line":492,"column":11},"end":{"line":492,"column":34}},{"start":{"line":492,"column":34},"end":{"line":492,"column":null}}],"line":492},"13":{"loc":{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},"type":"if","locations":[{"start":{"line":493,"column":2},"end":{"line":499,"column":null}},{"start":{"line":496,"column":9},"end":{"line":499,"column":null}}],"line":493},"14":{"loc":{"start":{"line":495,"column":11},"end":{"line":495,"column":null}},"type":"binary-expr","locations":[{"start":{"line":495,"column":11},"end":{"line":495,"column":34}},{"start":{"line":495,"column":34},"end":{"line":495,"column":null}}],"line":495},"15":{"loc":{"start":{"line":498,"column":11},"end":{"line":498,"column":null}},"type":"binary-expr","locations":[{"start":{"line":498,"column":11},"end":{"line":498,"column":34}},{"start":{"line":498,"column":34},"end":{"line":498,"column":null}}],"line":498},"16":{"loc":{"start":{"line":544,"column":9},"end":{"line":544,"column":null}},"type":"binary-expr","locations":[{"start":{"line":544,"column":9},"end":{"line":544,"column":42}},{"start":{"line":544,"column":42},"end":{"line":544,"column":null}}],"line":544}},"s":{"0":1,"1":15,"2":5,"3":10,"4":10,"5":140,"6":10,"7":10,"8":140,"9":140,"10":1320,"11":1320,"12":1320,"13":42,"14":140,"15":1010,"16":1010,"17":41,"18":140,"19":260,"20":1,"21":140,"22":140,"23":10,"24":10,"25":10,"26":140,"27":16,"28":16,"29":10,"30":16,"31":5,"32":11,"33":7,"34":4,"35":4,"36":4,"37":4,"38":100,"39":100,"40":6,"41":6,"42":4,"43":4,"44":1,"45":3,"46":2,"47":1,"48":11,"49":11,"50":70,"51":16,"52":16},"f":{"0":15,"1":140,"2":140,"3":1320,"4":1010,"5":260,"6":140,"7":16,"8":100,"9":11,"10":70,"11":16},"b":{"0":[5,10],"1":[15,12],"2":[42,1278],"3":[41,969],"4":[1,259],"5":[16,124],"6":[140,16],"7":[5,11],"8":[16,13],"9":[7,4],"10":[6,94],"11":[1,3],"12":[1,1],"13":[2,1],"14":[2,1],"15":[1,1],"16":[16,1]},"meta":{"lastBranch":17,"lastFunction":12,"lastStatement":53,"seen":{"s:37:45:361:Infinity":0,"f:368:16:368:31":0,"b:369:2:372:Infinity:undefined:undefined:undefined:undefined":0,"s:369:2:372:Infinity":1,"b:369:6:369:15:369:15:369:39":1,"s:371:4:371:Infinity":2,"s:374:41:374:Infinity":3,"s:377:2:379:Infinity":4,"f:377:28:377:29":1,"s:378:4:378:Infinity":5,"s:381:20:381:Infinity":6,"s:383:2:414:Infinity":7,"f:383:28:383:29":2,"s:384:16:384:Infinity":8,"s:387:4:393:Infinity":9,"f:387:26:387:27":3,"s:388:20:388:Infinity":10,"s:389:22:389:Infinity":11,"b:390:6:392:Infinity:undefined:undefined:undefined:undefined":2,"s:390:6:392:Infinity":12,"s:391:8:391:Infinity":13,"s:396:4:401:Infinity":14,"f:396:26:396:27":4,"s:397:22:397:Infinity":15,"b:398:6:400:Infinity:undefined:undefined:undefined:undefined":3,"s:398:6:400:Infinity":16,"s:399:8:399:Infinity":17,"s:404:4:408:Infinity":18,"f:404:28:404:29":5,"b:405:6:407:Infinity:undefined:undefined:undefined:undefined":4,"s:405:6:407:Infinity":19,"s:406:8:406:Infinity":20,"s:411:4:411:Infinity":21,"s:413:4:413:Infinity":22,"s:417:17:417:Infinity":23,"s:418:40:418:Infinity":24,"s:420:2:426:Infinity":25,"f:420:33:420:34":6,"b:421:4:425:Infinity:undefined:undefined:undefined:undefined":5,"s:421:4:425:Infinity":26,"b:421:8:421:28:421:28:421:39":6,"s:423:6:423:Infinity":27,"s:424:6:424:Infinity":28,"s:428:2:428:Infinity":29,"f:436:16:436:23":7,"b:437:2:440:Infinity:undefined:undefined:undefined:undefined":7,"s:437:2:440:Infinity":30,"b:437:6:437:15:437:15:437:39":8,"s:439:4:439:Infinity":31,"b:443:2:445:Infinity:undefined:undefined:undefined:undefined":9,"s:443:2:445:Infinity":32,"s:444:4:444:Infinity":33,"s:448:25:474:Infinity":34,"s:476:23:476:Infinity":35,"s:477:21:477:Infinity":36,"s:479:2:485:Infinity":37,"f:479:25:479:26":8,"s:480:20:480:Infinity":38,"b:481:4:484:Infinity:undefined:undefined:undefined:undefined":10,"s:481:4:484:Infinity":39,"s:482:6:482:Infinity":40,"s:483:6:483:Infinity":41,"s:488:21:488:Infinity":42,"b:490:2:499:Infinity:493:2:499:Infinity":11,"s:490:2:499:Infinity":43,"s:492:4:492:Infinity":44,"b:492:11:492:34:492:34:492:Infinity":12,"b:493:2:499:Infinity:496:9:499:Infinity":13,"s:493:2:499:Infinity":45,"s:495:4:495:Infinity":46,"b:495:11:495:34:495:34:495:Infinity":14,"s:498:4:498:Infinity":47,"b:498:11:498:34:498:34:498:Infinity":15,"f:506:9:506:33":9,"s:507:27:518:Infinity":48,"s:520:2:520:Infinity":49,"f:520:31:520:32":10,"s:520:44:520:62":50,"f:526:16:526:47":11,"s:527:46:542:Infinity":51,"s:544:2:544:Infinity":52,"b:544:9:544:42:544:42:544:Infinity":16}}} -,"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts": {"path":"C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":1,"column":36}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":1,"seen":{"s:1:33:1:36":0}}} +{ + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts", + "statementMap": { + "0": { "start": { "line": 4, "column": 39 }, "end": { "line": 36, "column": null } }, + "1": { "start": { "line": 6, "column": 15 }, "end": { "line": 6, "column": null } }, + "2": { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, + "3": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": null } }, + "4": { "start": { "line": 11, "column": 14 }, "end": { "line": 11, "column": null } }, + "5": { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, + "6": { "start": { "line": 13, "column": 4 }, "end": { "line": 13, "column": null } }, + "7": { "start": { "line": 16, "column": 15 }, "end": { "line": 16, "column": null } }, + "8": { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, + "9": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, + "10": { "start": { "line": 21, "column": 16 }, "end": { "line": 21, "column": null } }, + "11": { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, + "12": { "start": { "line": 23, "column": 4 }, "end": { "line": 23, "column": null } }, + "13": { "start": { "line": 26, "column": 2 }, "end": { "line": 33, "column": null } }, + "14": { "start": { "line": 27, "column": 21 }, "end": { "line": 27, "column": null } }, + "15": { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, + "16": { "start": { "line": 29, "column": 6 }, "end": { "line": 29, "column": null } }, + "17": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": null } }, + "18": { "start": { "line": 39, "column": 32 }, "end": { "line": 39, "column": null } }, + "19": { "start": { "line": 39, "column": 46 }, "end": { "line": 39, "column": null } }, + "20": { "start": { "line": 40, "column": 32 }, "end": { "line": 40, "column": null } }, + "21": { "start": { "line": 40, "column": 46 }, "end": { "line": 40, "column": null } }, + "22": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": null } }, + "23": { "start": { "line": 41, "column": 45 }, "end": { "line": 41, "column": null } }, + "24": { "start": { "line": 43, "column": 33 }, "end": { "line": 49, "column": null } }, + "25": { "start": { "line": 44, "column": 16 }, "end": { "line": 44, "column": null } }, + "26": { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, + "27": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": null } }, + "28": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": null } }, + "29": { "start": { "line": 51, "column": 36 }, "end": { "line": 57, "column": null } }, + "30": { "start": { "line": 52, "column": 2 }, "end": { "line": 56, "column": null } }, + "31": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": null } }, + "32": { "start": { "line": 55, "column": 4 }, "end": { "line": 55, "column": null } }, + "33": { "start": { "line": 60, "column": 32 }, "end": { "line": 62, "column": null } }, + "34": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": null } }, + "35": { "start": { "line": 64, "column": 32 }, "end": { "line": 66, "column": null } }, + "36": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": null } }, + "37": { "start": { "line": 68, "column": 31 }, "end": { "line": 70, "column": null } }, + "38": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": null } }, + "39": { "start": { "line": 72, "column": 33 }, "end": { "line": 81, "column": null } }, + "40": { "start": { "line": 73, "column": 2 }, "end": { "line": 80, "column": null } }, + "41": { "start": { "line": 75, "column": 18 }, "end": { "line": 75, "column": null } }, + "42": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": null } }, + "43": { "start": { "line": 78, "column": 4 }, "end": { "line": 78, "column": null } }, + "44": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, + "45": { "start": { "line": 83, "column": 36 }, "end": { "line": 99, "column": null } }, + "46": { "start": { "line": 89, "column": 2 }, "end": { "line": 98, "column": null } }, + "47": { "start": { "line": 91, "column": 4 }, "end": { "line": 94, "column": null } }, + "48": { "start": { "line": 96, "column": 4 }, "end": { "line": 96, "column": null } }, + "49": { "start": { "line": 97, "column": 4 }, "end": { "line": 97, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 4, "column": 39 }, "end": { "line": 4, "column": 87 } }, + "loc": { "start": { "line": 4, "column": 87 }, "end": { "line": 36, "column": null } }, + "line": 4 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 39, "column": 32 }, "end": { "line": 39, "column": 46 } }, + "loc": { "start": { "line": 39, "column": 46 }, "end": { "line": 39, "column": null } }, + "line": 39 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 40, "column": 32 }, "end": { "line": 40, "column": 46 } }, + "loc": { "start": { "line": 40, "column": 46 }, "end": { "line": 40, "column": null } }, + "line": 40 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": 45 } }, + "loc": { "start": { "line": 41, "column": 45 }, "end": { "line": 41, "column": null } }, + "line": 41 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 43, "column": 33 }, "end": { "line": 43, "column": 54 } }, + "loc": { "start": { "line": 43, "column": 54 }, "end": { "line": 49, "column": null } }, + "line": 43 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 51, "column": 36 }, "end": { "line": 51, "column": 81 } }, + "loc": { "start": { "line": 51, "column": 81 }, "end": { "line": 57, "column": null } }, + "line": 51 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 60, "column": 32 }, "end": { "line": 60, "column": 33 } }, + "loc": { "start": { "line": 60, "column": 56 }, "end": { "line": 62, "column": null } }, + "line": 60 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 64, "column": 32 }, "end": { "line": 64, "column": 33 } }, + "loc": { "start": { "line": 64, "column": 56 }, "end": { "line": 66, "column": null } }, + "line": 64 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 68, "column": 31 }, "end": { "line": 68, "column": 32 } }, + "loc": { "start": { "line": 68, "column": 54 }, "end": { "line": 70, "column": null } }, + "line": 68 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 72, "column": 33 }, "end": { "line": 72, "column": 34 } }, + "loc": { "start": { "line": 72, "column": 62 }, "end": { "line": 81, "column": null } }, + "line": 72 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 83, "column": 36 }, "end": { "line": 83, "column": 37 } }, + "loc": { "start": { "line": 88, "column": 12 }, "end": { "line": 99, "column": null } }, + "line": 88 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 7 + }, + "1": { + "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 27 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 14 } }, + { "start": { "line": 7, "column": 14 }, "end": { "line": 7, "column": 27 } } + ], + "line": 7 + }, + "2": { + "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 12 + }, + "3": { + "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 25 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 13 } }, + { "start": { "line": 12, "column": 13 }, "end": { "line": 12, "column": 25 } } + ], + "line": 12 + }, + "4": { + "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 17 + }, + "5": { + "loc": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 27 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 14 } }, + { "start": { "line": 17, "column": 14 }, "end": { "line": 17, "column": 27 } } + ], + "line": 17 + }, + "6": { + "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 22 + }, + "7": { + "loc": { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 28 + }, + "8": { + "loc": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 34 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 20 } }, + { "start": { "line": 28, "column": 20 }, "end": { "line": 28, "column": 34 } } + ], + "line": 28 + }, + "9": { + "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 45 + } + }, + "s": { + "0": 1, + "1": 8, + "2": 8, + "3": 2, + "4": 6, + "5": 6, + "6": 1, + "7": 5, + "8": 5, + "9": 1, + "10": 4, + "11": 4, + "12": 1, + "13": 3, + "14": 3, + "15": 3, + "16": 1, + "17": 2, + "18": 1, + "19": 1, + "20": 1, + "21": 1, + "22": 1, + "23": 1, + "24": 1, + "25": 2, + "26": 2, + "27": 1, + "28": 1, + "29": 1, + "30": 2, + "31": 2, + "32": 1, + "33": 1, + "34": 1, + "35": 1, + "36": 1, + "37": 1, + "38": 1, + "39": 1, + "40": 2, + "41": 2, + "42": 2, + "43": 1, + "44": 1, + "45": 1, + "46": 2, + "47": 2, + "48": 1, + "49": 1 + }, + "f": { + "0": 8, + "1": 1, + "2": 1, + "3": 1, + "4": 2, + "5": 2, + "6": 1, + "7": 1, + "8": 1, + "9": 2, + "10": 2 + }, + "b": { + "0": [2, 6], + "1": [8, 2], + "2": [1, 5], + "3": [6, 1], + "4": [1, 4], + "5": [5, 1], + "6": [1, 3], + "7": [1, 2], + "8": [3, 2], + "9": [1, 1] + }, + "meta": { + "lastBranch": 10, + "lastFunction": 11, + "lastStatement": 50, + "seen": { + "s:4:39:36:Infinity": 0, + "f:4:39:4:87": 0, + "s:6:15:6:Infinity": 1, + "b:7:2:9:Infinity:undefined:undefined:undefined:undefined": 0, + "s:7:2:9:Infinity": 2, + "b:7:6:7:14:7:14:7:27": 1, + "s:8:4:8:Infinity": 3, + "s:11:14:11:Infinity": 4, + "b:12:2:14:Infinity:undefined:undefined:undefined:undefined": 2, + "s:12:2:14:Infinity": 5, + "b:12:6:12:13:12:13:12:25": 3, + "s:13:4:13:Infinity": 6, + "s:16:15:16:Infinity": 7, + "b:17:2:19:Infinity:undefined:undefined:undefined:undefined": 4, + "s:17:2:19:Infinity": 8, + "b:17:6:17:14:17:14:17:27": 5, + "s:18:4:18:Infinity": 9, + "s:21:16:21:Infinity": 10, + "b:22:2:24:Infinity:undefined:undefined:undefined:undefined": 6, + "s:22:2:24:Infinity": 11, + "s:23:4:23:Infinity": 12, + "s:26:2:33:Infinity": 13, + "s:27:21:27:Infinity": 14, + "b:28:4:30:Infinity:undefined:undefined:undefined:undefined": 7, + "s:28:4:30:Infinity": 15, + "b:28:8:28:20:28:20:28:34": 8, + "s:29:6:29:Infinity": 16, + "s:35:2:35:Infinity": 17, + "s:39:32:39:Infinity": 18, + "f:39:32:39:46": 1, + "s:39:46:39:Infinity": 19, + "s:40:32:40:Infinity": 20, + "f:40:32:40:46": 2, + "s:40:46:40:Infinity": 21, + "s:41:31:41:Infinity": 22, + "f:41:31:41:45": 3, + "s:41:45:41:Infinity": 23, + "s:43:33:49:Infinity": 24, + "f:43:33:43:54": 4, + "s:44:16:44:Infinity": 25, + "b:45:2:47:Infinity:undefined:undefined:undefined:undefined": 9, + "s:45:2:47:Infinity": 26, + "s:46:4:46:Infinity": 27, + "s:48:2:48:Infinity": 28, + "s:51:36:57:Infinity": 29, + "f:51:36:51:81": 5, + "s:52:2:56:Infinity": 30, + "s:53:4:53:Infinity": 31, + "s:55:4:55:Infinity": 32, + "s:60:32:62:Infinity": 33, + "f:60:32:60:33": 6, + "s:61:2:61:Infinity": 34, + "s:64:32:66:Infinity": 35, + "f:64:32:64:33": 7, + "s:65:2:65:Infinity": 36, + "s:68:31:70:Infinity": 37, + "f:68:31:68:32": 8, + "s:69:2:69:Infinity": 38, + "s:72:33:81:Infinity": 39, + "f:72:33:72:34": 9, + "s:73:2:80:Infinity": 40, + "s:75:18:75:Infinity": 41, + "s:76:4:76:Infinity": 42, + "s:78:4:78:Infinity": 43, + "s:79:4:79:Infinity": 44, + "s:83:36:99:Infinity": 45, + "f:83:36:83:37": 10, + "s:89:2:98:Infinity": 46, + "s:91:4:94:Infinity": 47, + "s:96:4:96:Infinity": 48, + "s:97:4:97:Infinity": 49 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts", + "statementMap": { + "0": { "start": { "line": 6, "column": 35 }, "end": { "line": 49, "column": null } }, + "1": { "start": { "line": 7, "column": 2 }, "end": { "line": 48, "column": null } }, + "2": { "start": { "line": 8, "column": 24 }, "end": { "line": 8, "column": null } }, + "3": { "start": { "line": 9, "column": 36 }, "end": { "line": 9, "column": null } }, + "4": { "start": { "line": 11, "column": 4 }, "end": { "line": 42, "column": null } }, + "5": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": null } }, + "6": { "start": { "line": 12, "column": 31 }, "end": { "line": 12, "column": null } }, + "7": { "start": { "line": 14, "column": 6 }, "end": { "line": 41, "column": null } }, + "8": { "start": { "line": 15, "column": 22 }, "end": { "line": 15, "column": null } }, + "9": { "start": { "line": 18, "column": 8 }, "end": { "line": 37, "column": null } }, + "10": { "start": { "line": 19, "column": 51 }, "end": { "line": 19, "column": null } }, + "11": { "start": { "line": 22, "column": 10 }, "end": { "line": 28, "column": null } }, + "12": { "start": { "line": 23, "column": 12 }, "end": { "line": 27, "column": null } }, + "13": { "start": { "line": 24, "column": 14 }, "end": { "line": 26, "column": null } }, + "14": { "start": { "line": 25, "column": 16 }, "end": { "line": 25, "column": null } }, + "15": { "start": { "line": 30, "column": 10 }, "end": { "line": 36, "column": null } }, + "16": { "start": { "line": 31, "column": 12 }, "end": { "line": 35, "column": null } }, + "17": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": null } }, + "18": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": null } }, + "19": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": null } }, + "20": { "start": { "line": 47, "column": 4 }, "end": { "line": 47, "column": null } }, + "21": { "start": { "line": 51, "column": 35 }, "end": { "line": 157, "column": null } }, + "22": { "start": { "line": 52, "column": 2 }, "end": { "line": 156, "column": null } }, + "23": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": null } }, + "24": { "start": { "line": 55, "column": 4 }, "end": { "line": 152, "column": null } }, + "25": { "start": { "line": 56, "column": 19 }, "end": { "line": 56, "column": null } }, + "26": { "start": { "line": 56, "column": 37 }, "end": { "line": 56, "column": 52 } }, + "27": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + "28": { "start": { "line": 57, "column": 17 }, "end": { "line": 57, "column": null } }, + "29": { "start": { "line": 60, "column": 32 }, "end": { "line": 62, "column": null } }, + "30": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, + "31": { "start": { "line": 61, "column": 43 }, "end": { "line": 61, "column": 66 } }, + "32": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, + "33": { "start": { "line": 64, "column": 42 }, "end": { "line": 64, "column": null } }, + "34": { "start": { "line": 67, "column": 30 }, "end": { "line": 67, "column": null } }, + "35": { "start": { "line": 68, "column": 25 }, "end": { "line": 68, "column": null } }, + "36": { "start": { "line": 71, "column": 20 }, "end": { "line": 71, "column": null } }, + "37": { "start": { "line": 74, "column": 21 }, "end": { "line": 74, "column": null } }, + "38": { "start": { "line": 76, "column": 6 }, "end": { "line": 146, "column": null } }, + "39": { "start": { "line": 78, "column": 8 }, "end": { "line": 78, "column": null } }, + "40": { "start": { "line": 81, "column": 94 }, "end": { "line": 81, "column": null } }, + "41": { "start": { "line": 83, "column": 8 }, "end": { "line": 102, "column": null } }, + "42": { "start": { "line": 84, "column": 28 }, "end": { "line": 84, "column": null } }, + "43": { "start": { "line": 85, "column": 31 }, "end": { "line": 85, "column": null } }, + "44": { "start": { "line": 86, "column": 32 }, "end": { "line": 86, "column": null } }, + "45": { "start": { "line": 86, "column": 67 }, "end": { "line": 86, "column": 75 } }, + "46": { "start": { "line": 89, "column": 35 }, "end": { "line": 89, "column": null } }, + "47": { "start": { "line": 90, "column": 22 }, "end": { "line": 90, "column": null } }, + "48": { "start": { "line": 91, "column": 10 }, "end": { "line": 99, "column": null } }, + "49": { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, + "50": { "start": { "line": 93, "column": 14 }, "end": { "line": 93, "column": null } }, + "51": { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, + "52": { "start": { "line": 96, "column": 16 }, "end": { "line": 96, "column": null } }, + "53": { "start": { "line": 101, "column": 10 }, "end": { "line": 101, "column": null } }, + "54": { "start": { "line": 105, "column": 8 }, "end": { "line": 145, "column": null } }, + "55": { "start": { "line": 105, "column": 44 }, "end": { "line": 105, "column": 64 } }, + "56": { "start": { "line": 107, "column": 10 }, "end": { "line": 144, "column": null } }, + "57": { "start": { "line": 112, "column": 12 }, "end": { "line": 112, "column": null } }, + "58": { "start": { "line": 112, "column": 57 }, "end": { "line": 112, "column": 76 } }, + "59": { "start": { "line": 115, "column": 41 }, "end": { "line": 140, "column": null } }, + "60": { "start": { "line": 116, "column": 14 }, "end": { "line": 123, "column": null } }, + "61": { "start": { "line": 117, "column": 36 }, "end": { "line": 117, "column": null } }, + "62": { "start": { "line": 118, "column": 16 }, "end": { "line": 122, "column": null } }, + "63": { "start": { "line": 120, "column": 39 }, "end": { "line": 120, "column": null } }, + "64": { "start": { "line": 121, "column": 18 }, "end": { "line": 121, "column": null } }, + "65": { "start": { "line": 126, "column": 39 }, "end": { "line": 126, "column": null } }, + "66": { "start": { "line": 127, "column": 39 }, "end": { "line": 127, "column": null } }, + "67": { "start": { "line": 128, "column": 45 }, "end": { "line": 128, "column": null } }, + "68": { "start": { "line": 130, "column": 14 }, "end": { "line": 137, "column": null } }, + "69": { "start": { "line": 131, "column": 16 }, "end": { "line": 136, "column": null } }, + "70": { "start": { "line": 133, "column": 39 }, "end": { "line": 133, "column": null } }, + "71": { "start": { "line": 134, "column": 30 }, "end": { "line": 134, "column": null } }, + "72": { "start": { "line": 135, "column": 18 }, "end": { "line": 135, "column": null } }, + "73": { "start": { "line": 139, "column": 14 }, "end": { "line": 139, "column": null } }, + "74": { "start": { "line": 142, "column": 33 }, "end": { "line": 142, "column": null } }, + "75": { "start": { "line": 143, "column": 12 }, "end": { "line": 143, "column": null } }, + "76": { "start": { "line": 143, "column": 42 }, "end": { "line": 143, "column": 61 } }, + "77": { "start": { "line": 149, "column": 6 }, "end": { "line": 151, "column": null } }, + "78": { "start": { "line": 150, "column": 8 }, "end": { "line": 150, "column": null } }, + "79": { "start": { "line": 154, "column": 4 }, "end": { "line": 154, "column": null } }, + "80": { "start": { "line": 155, "column": 4 }, "end": { "line": 155, "column": null } }, + "81": { "start": { "line": 159, "column": 38 }, "end": { "line": 175, "column": null } }, + "82": { "start": { "line": 160, "column": 2 }, "end": { "line": 174, "column": null } }, + "83": { "start": { "line": 161, "column": 24 }, "end": { "line": 161, "column": null } }, + "84": { "start": { "line": 162, "column": 18 }, "end": { "line": 162, "column": null } }, + "85": { "start": { "line": 163, "column": 22 }, "end": { "line": 163, "column": null } }, + "86": { "start": { "line": 165, "column": 4 }, "end": { "line": 170, "column": null } }, + "87": { "start": { "line": 172, "column": 4 }, "end": { "line": 172, "column": null } }, + "88": { "start": { "line": 173, "column": 4 }, "end": { "line": 173, "column": null } }, + "89": { "start": { "line": 177, "column": 38 }, "end": { "line": 185, "column": null } }, + "90": { "start": { "line": 178, "column": 2 }, "end": { "line": 184, "column": null } }, + "91": { "start": { "line": 180, "column": 4 }, "end": { "line": 180, "column": null } }, + "92": { "start": { "line": 182, "column": 4 }, "end": { "line": 182, "column": null } }, + "93": { "start": { "line": 183, "column": 4 }, "end": { "line": 183, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 6, "column": 35 }, "end": { "line": 6, "column": 42 } }, + "loc": { "start": { "line": 6, "column": 84 }, "end": { "line": 49, "column": null } }, + "line": 6 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 23, "column": 49 }, "end": { "line": 23, "column": 50 } }, + "loc": { "start": { "line": 23, "column": 73 }, "end": { "line": 27, "column": 13 } }, + "line": 23 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 51, "column": 35 }, "end": { "line": 51, "column": 42 } }, + "loc": { "start": { "line": 51, "column": 80 }, "end": { "line": 157, "column": null } }, + "line": 51 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 56, "column": 30 }, "end": { "line": 56, "column": 31 } }, + "loc": { "start": { "line": 56, "column": 37 }, "end": { "line": 56, "column": 52 } }, + "line": 56 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 60, "column": 47 }, "end": { "line": 60, "column": 48 } }, + "loc": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, + "line": 61 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 61, "column": 32 }, "end": { "line": 61, "column": 33 } }, + "loc": { "start": { "line": 61, "column": 43 }, "end": { "line": 61, "column": 66 } }, + "line": 61 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 86, "column": 60 }, "end": { "line": 86, "column": 61 } }, + "loc": { "start": { "line": 86, "column": 67 }, "end": { "line": 86, "column": 75 } }, + "line": 86 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 105, "column": 36 }, "end": { "line": 105, "column": 37 } }, + "loc": { "start": { "line": 105, "column": 44 }, "end": { "line": 105, "column": 64 } }, + "line": 105 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 112, "column": 48 }, "end": { "line": 112, "column": 49 } }, + "loc": { "start": { "line": 112, "column": 57 }, "end": { "line": 112, "column": 76 } }, + "line": 112 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 115, "column": 41 }, "end": { "line": 115, "column": 42 } }, + "loc": { "start": { "line": 115, "column": 95 }, "end": { "line": 140, "column": null } }, + "line": 115 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 118, "column": 46 }, "end": { "line": 118, "column": 47 } }, + "loc": { "start": { "line": 118, "column": 57 }, "end": { "line": 122, "column": 17 } }, + "line": 118 + }, + "11": { + "name": "(anonymous_11)", + "decl": { "start": { "line": 143, "column": 33 }, "end": { "line": 143, "column": 34 } }, + "loc": { "start": { "line": 143, "column": 42 }, "end": { "line": 143, "column": 61 } }, + "line": 143 + }, + "12": { + "name": "(anonymous_12)", + "decl": { "start": { "line": 159, "column": 38 }, "end": { "line": 159, "column": 50 } }, + "loc": { "start": { "line": 159, "column": 50 }, "end": { "line": 175, "column": null } }, + "line": 159 + }, + "13": { + "name": "(anonymous_13)", + "decl": { "start": { "line": 177, "column": 38 }, "end": { "line": 177, "column": 45 } }, + "loc": { "start": { "line": 177, "column": 61 }, "end": { "line": 185, "column": null } }, + "line": 177 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 12 + }, + "1": { + "loc": { "start": { "line": 22, "column": 10 }, "end": { "line": 28, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 22, "column": 10 }, "end": { "line": 28, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 22 + }, + "2": { + "loc": { "start": { "line": 24, "column": 14 }, "end": { "line": 26, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 24, "column": 14 }, "end": { "line": 26, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 24 + }, + "3": { + "loc": { "start": { "line": 24, "column": 18 }, "end": { "line": 24, "column": 86 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 24, "column": 18 }, "end": { "line": 24, "column": 41 } }, + { "start": { "line": 24, "column": 41 }, "end": { "line": 24, "column": 59 } }, + { "start": { "line": 24, "column": 59 }, "end": { "line": 24, "column": 86 } } + ], + "line": 24 + }, + "4": { + "loc": { "start": { "line": 30, "column": 10 }, "end": { "line": 36, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 30, "column": 10 }, "end": { "line": 36, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 30 + }, + "5": { + "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 57 + }, + "6": { + "loc": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 64 + }, + "7": { + "loc": { "start": { "line": 76, "column": 6 }, "end": { "line": 146, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 76, "column": 6 }, "end": { "line": 146, "column": null } }, + { "start": { "line": 79, "column": 13 }, "end": { "line": 146, "column": null } } + ], + "line": 76 + }, + "8": { + "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 92 + }, + "9": { + "loc": { "start": { "line": 92, "column": 16 }, "end": { "line": 92, "column": 66 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 92, "column": 16 }, "end": { "line": 92, "column": 43 } }, + { "start": { "line": 92, "column": 43 }, "end": { "line": 92, "column": 66 } } + ], + "line": 92 + }, + "10": { + "loc": { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 95 + }, + "11": { + "loc": { "start": { "line": 105, "column": 8 }, "end": { "line": 145, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 105, "column": 8 }, "end": { "line": 145, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 105 + }, + "12": { + "loc": { "start": { "line": 107, "column": 10 }, "end": { "line": 144, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 107, "column": 10 }, "end": { "line": 144, "column": null } }, + { "start": { "line": 113, "column": 17 }, "end": { "line": 144, "column": null } } + ], + "line": 107 + }, + "13": { + "loc": { "start": { "line": 108, "column": 12 }, "end": { "line": 110, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 108, "column": 12 }, "end": { "line": 108, "column": null } }, + { "start": { "line": 109, "column": 12 }, "end": { "line": 109, "column": null } }, + { "start": { "line": 110, "column": 12 }, "end": { "line": 110, "column": null } } + ], + "line": 108 + }, + "14": { + "loc": { "start": { "line": 116, "column": 14 }, "end": { "line": 123, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 116, "column": 14 }, "end": { "line": 123, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 116 + }, + "15": { + "loc": { "start": { "line": 120, "column": 39 }, "end": { "line": 120, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 120, "column": 59 }, "end": { "line": 120, "column": 67 } }, + { "start": { "line": 120, "column": 67 }, "end": { "line": 120, "column": null } } + ], + "line": 120 + }, + "16": { + "loc": { "start": { "line": 133, "column": 39 }, "end": { "line": 133, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 133, "column": 53 }, "end": { "line": 133, "column": 61 } }, + { "start": { "line": 133, "column": 61 }, "end": { "line": 133, "column": null } } + ], + "line": 133 + } + }, + "s": { + "0": 1, + "1": 10, + "2": 10, + "3": 9, + "4": 9, + "5": 9, + "6": 1, + "7": 8, + "8": 8, + "9": 8, + "10": 8, + "11": 8, + "12": 6, + "13": 8, + "14": 7, + "15": 8, + "16": 6, + "17": 1, + "18": 9, + "19": 1, + "20": 1, + "21": 1, + "22": 13, + "23": 13, + "24": 12, + "25": 12, + "26": 11, + "27": 12, + "28": 1, + "29": 11, + "30": 11, + "31": 11, + "32": 11, + "33": 2, + "34": 9, + "35": 9, + "36": 9, + "37": 9, + "38": 9, + "39": 1, + "40": 8, + "41": 8, + "42": 11, + "43": 11, + "44": 11, + "45": 14, + "46": 11, + "47": 11, + "48": 11, + "49": 14, + "50": 13, + "51": 13, + "52": 3, + "53": 11, + "54": 8, + "55": 11, + "56": 7, + "57": 1, + "58": 1, + "59": 6, + "60": 9, + "61": 6, + "62": 6, + "63": 8, + "64": 8, + "65": 3, + "66": 3, + "67": 3, + "68": 3, + "69": 4, + "70": 6, + "71": 6, + "72": 6, + "73": 3, + "74": 6, + "75": 6, + "76": 10, + "77": 9, + "78": 12, + "79": 1, + "80": 1, + "81": 1, + "82": 2, + "83": 2, + "84": 1, + "85": 1, + "86": 1, + "87": 1, + "88": 1, + "89": 1, + "90": 2, + "91": 2, + "92": 1, + "93": 1 + }, + "f": { + "0": 10, + "1": 8, + "2": 13, + "3": 11, + "4": 11, + "5": 11, + "6": 14, + "7": 11, + "8": 1, + "9": 9, + "10": 8, + "11": 10, + "12": 2, + "13": 2 + }, + "b": { + "0": [1, 8], + "1": [6, 2], + "2": [7, 1], + "3": [8, 7, 7], + "4": [6, 2], + "5": [1, 11], + "6": [2, 9], + "7": [1, 8], + "8": [13, 1], + "9": [14, 14], + "10": [3, 10], + "11": [7, 1], + "12": [1, 6], + "13": [7, 4, 2], + "14": [6, 3], + "15": [1, 7], + "16": [1, 5] + }, + "meta": { + "lastBranch": 17, + "lastFunction": 14, + "lastStatement": 94, + "seen": { + "s:6:35:49:Infinity": 0, + "f:6:35:6:42": 0, + "s:7:2:48:Infinity": 1, + "s:8:24:8:Infinity": 2, + "s:9:36:9:Infinity": 3, + "s:11:4:42:Infinity": 4, + "b:12:6:12:Infinity:undefined:undefined:undefined:undefined": 0, + "s:12:6:12:Infinity": 5, + "s:12:31:12:Infinity": 6, + "s:14:6:41:Infinity": 7, + "s:15:22:15:Infinity": 8, + "s:18:8:37:Infinity": 9, + "s:19:51:19:Infinity": 10, + "b:22:10:28:Infinity:undefined:undefined:undefined:undefined": 1, + "s:22:10:28:Infinity": 11, + "s:23:12:27:Infinity": 12, + "f:23:49:23:50": 1, + "b:24:14:26:Infinity:undefined:undefined:undefined:undefined": 2, + "s:24:14:26:Infinity": 13, + "b:24:18:24:41:24:41:24:59:24:59:24:86": 3, + "s:25:16:25:Infinity": 14, + "b:30:10:36:Infinity:undefined:undefined:undefined:undefined": 4, + "s:30:10:36:Infinity": 15, + "s:31:12:35:Infinity": 16, + "s:39:8:39:Infinity": 17, + "s:44:4:44:Infinity": 18, + "s:46:4:46:Infinity": 19, + "s:47:4:47:Infinity": 20, + "s:51:35:157:Infinity": 21, + "f:51:35:51:42": 2, + "s:52:2:156:Infinity": 22, + "s:53:18:53:Infinity": 23, + "s:55:4:152:Infinity": 24, + "s:56:19:56:Infinity": 25, + "f:56:30:56:31": 3, + "s:56:37:56:52": 26, + "b:57:6:57:Infinity:undefined:undefined:undefined:undefined": 5, + "s:57:6:57:Infinity": 27, + "s:57:17:57:Infinity": 28, + "s:60:32:62:Infinity": 29, + "f:60:47:60:48": 4, + "s:61:8:61:Infinity": 30, + "f:61:32:61:33": 5, + "s:61:43:61:66": 31, + "b:64:6:64:Infinity:undefined:undefined:undefined:undefined": 6, + "s:64:6:64:Infinity": 32, + "s:64:42:64:Infinity": 33, + "s:67:30:67:Infinity": 34, + "s:68:25:68:Infinity": 35, + "s:71:20:71:Infinity": 36, + "s:74:21:74:Infinity": 37, + "b:76:6:146:Infinity:79:13:146:Infinity": 7, + "s:76:6:146:Infinity": 38, + "s:78:8:78:Infinity": 39, + "s:81:94:81:Infinity": 40, + "s:83:8:102:Infinity": 41, + "s:84:28:84:Infinity": 42, + "s:85:31:85:Infinity": 43, + "s:86:32:86:Infinity": 44, + "f:86:60:86:61": 6, + "s:86:67:86:75": 45, + "s:89:35:89:Infinity": 46, + "s:90:22:90:Infinity": 47, + "s:91:10:99:Infinity": 48, + "b:92:12:98:Infinity:undefined:undefined:undefined:undefined": 8, + "s:92:12:98:Infinity": 49, + "b:92:16:92:43:92:43:92:66": 9, + "s:93:14:93:Infinity": 50, + "b:95:14:97:Infinity:undefined:undefined:undefined:undefined": 10, + "s:95:14:97:Infinity": 51, + "s:96:16:96:Infinity": 52, + "s:101:10:101:Infinity": 53, + "b:105:8:145:Infinity:undefined:undefined:undefined:undefined": 11, + "s:105:8:145:Infinity": 54, + "f:105:36:105:37": 7, + "s:105:44:105:64": 55, + "b:107:10:144:Infinity:113:17:144:Infinity": 12, + "s:107:10:144:Infinity": 56, + "b:108:12:108:Infinity:109:12:109:Infinity:110:12:110:Infinity": 13, + "s:112:12:112:Infinity": 57, + "f:112:48:112:49": 8, + "s:112:57:112:76": 58, + "s:115:41:140:Infinity": 59, + "f:115:41:115:42": 9, + "b:116:14:123:Infinity:undefined:undefined:undefined:undefined": 14, + "s:116:14:123:Infinity": 60, + "s:117:36:117:Infinity": 61, + "s:118:16:122:Infinity": 62, + "f:118:46:118:47": 10, + "s:120:39:120:Infinity": 63, + "b:120:59:120:67:120:67:120:Infinity": 15, + "s:121:18:121:Infinity": 64, + "s:126:39:126:Infinity": 65, + "s:127:39:127:Infinity": 66, + "s:128:45:128:Infinity": 67, + "s:130:14:137:Infinity": 68, + "s:131:16:136:Infinity": 69, + "s:133:39:133:Infinity": 70, + "b:133:53:133:61:133:61:133:Infinity": 16, + "s:134:30:134:Infinity": 71, + "s:135:18:135:Infinity": 72, + "s:139:14:139:Infinity": 73, + "s:142:33:142:Infinity": 74, + "s:143:12:143:Infinity": 75, + "f:143:33:143:34": 11, + "s:143:42:143:61": 76, + "s:149:6:151:Infinity": 77, + "s:150:8:150:Infinity": 78, + "s:154:4:154:Infinity": 79, + "s:155:4:155:Infinity": 80, + "s:159:38:175:Infinity": 81, + "f:159:38:159:50": 12, + "s:160:2:174:Infinity": 82, + "s:161:24:161:Infinity": 83, + "s:162:18:162:Infinity": 84, + "s:163:22:163:Infinity": 85, + "s:165:4:170:Infinity": 86, + "s:172:4:172:Infinity": 87, + "s:173:4:173:Infinity": 88, + "s:177:38:185:Infinity": 89, + "f:177:38:177:45": 13, + "s:178:2:184:Infinity": 90, + "s:180:4:180:Infinity": 91, + "s:182:4:182:Infinity": 92, + "s:183:4:183:Infinity": 93 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts", + "statementMap": { + "0": { "start": { "line": 4, "column": 32 }, "end": { "line": 11, "column": null } }, + "1": { "start": { "line": 5, "column": 2 }, "end": { "line": 10, "column": null } }, + "2": { "start": { "line": 6, "column": 4 }, "end": { "line": 6, "column": null } }, + "3": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": null } }, + "4": { "start": { "line": 9, "column": 4 }, "end": { "line": 9, "column": null } }, + "5": { "start": { "line": 13, "column": 31 }, "end": { "line": 20, "column": null } }, + "6": { "start": { "line": 14, "column": 2 }, "end": { "line": 19, "column": null } }, + "7": { "start": { "line": 15, "column": 4 }, "end": { "line": 15, "column": null } }, + "8": { "start": { "line": 17, "column": 4 }, "end": { "line": 17, "column": null } }, + "9": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, + "10": { "start": { "line": 22, "column": 31 }, "end": { "line": 29, "column": null } }, + "11": { "start": { "line": 23, "column": 2 }, "end": { "line": 28, "column": null } }, + "12": { "start": { "line": 24, "column": 4 }, "end": { "line": 24, "column": null } }, + "13": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": null } }, + "14": { "start": { "line": 27, "column": 4 }, "end": { "line": 27, "column": null } }, + "15": { "start": { "line": 31, "column": 31 }, "end": { "line": 38, "column": null } }, + "16": { "start": { "line": 32, "column": 2 }, "end": { "line": 37, "column": null } }, + "17": { "start": { "line": 33, "column": 4 }, "end": { "line": 33, "column": null } }, + "18": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": null } }, + "19": { "start": { "line": 36, "column": 4 }, "end": { "line": 36, "column": null } }, + "20": { "start": { "line": 40, "column": 33 }, "end": { "line": 47, "column": null } }, + "21": { "start": { "line": 41, "column": 2 }, "end": { "line": 46, "column": null } }, + "22": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": null } }, + "23": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": null } }, + "24": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": null } }, + "25": { "start": { "line": 49, "column": 31 }, "end": { "line": 78, "column": null } }, + "26": { "start": { "line": 50, "column": 2 }, "end": { "line": 77, "column": null } }, + "27": { "start": { "line": 51, "column": 29 }, "end": { "line": 51, "column": null } }, + "28": { "start": { "line": 54, "column": 4 }, "end": { "line": 58, "column": null } }, + "29": { "start": { "line": 55, "column": 6 }, "end": { "line": 55, "column": null } }, + "30": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + "31": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": null } }, + "32": { "start": { "line": 62, "column": 29 }, "end": { "line": 62, "column": null } }, + "33": { "start": { "line": 62, "column": 54 }, "end": { "line": 62, "column": 72 } }, + "34": { "start": { "line": 64, "column": 4 }, "end": { "line": 68, "column": null } }, + "35": { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, + "36": { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, + "37": { "start": { "line": 70, "column": 4 }, "end": { "line": 73, "column": null } }, + "38": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, + "39": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 4, "column": 32 }, "end": { "line": 4, "column": 44 } }, + "loc": { "start": { "line": 4, "column": 44 }, "end": { "line": 11, "column": null } }, + "line": 4 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 13, "column": 31 }, "end": { "line": 13, "column": 38 } }, + "loc": { "start": { "line": 13, "column": 93 }, "end": { "line": 20, "column": null } }, + "line": 13 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 22, "column": 31 }, "end": { "line": 22, "column": 38 } }, + "loc": { "start": { "line": 22, "column": 67 }, "end": { "line": 29, "column": null } }, + "line": 22 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 31, "column": 31 }, "end": { "line": 31, "column": 38 } }, + "loc": { "start": { "line": 31, "column": 53 }, "end": { "line": 38, "column": null } }, + "line": 31 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 40, "column": 33 }, "end": { "line": 40, "column": 40 } }, + "loc": { "start": { "line": 40, "column": 57 }, "end": { "line": 47, "column": null } }, + "line": 40 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 49, "column": 31 }, "end": { "line": 49, "column": 38 } }, + "loc": { "start": { "line": 49, "column": 79 }, "end": { "line": 78, "column": null } }, + "line": 49 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 62, "column": 43 }, "end": { "line": 62, "column": 44 } }, + "loc": { "start": { "line": 62, "column": 54 }, "end": { "line": 62, "column": 72 } }, + "line": 62 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": 51 } }, + { "start": { "line": 61, "column": 51 }, "end": { "line": 61, "column": null } } + ], + "line": 61 + }, + "1": { + "loc": { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 65 + } + }, + "s": { + "0": 1, + "1": 2, + "2": 2, + "3": 1, + "4": 1, + "5": 1, + "6": 2, + "7": 2, + "8": 1, + "9": 1, + "10": 1, + "11": 2, + "12": 2, + "13": 1, + "14": 1, + "15": 1, + "16": 2, + "17": 2, + "18": 1, + "19": 1, + "20": 1, + "21": 2, + "22": 2, + "23": 1, + "24": 1, + "25": 1, + "26": 7, + "27": 7, + "28": 7, + "29": 7, + "30": 2, + "31": 7, + "32": 7, + "33": 6, + "34": 7, + "35": 6, + "36": 3, + "37": 6, + "38": 1, + "39": 1 + }, + "f": { "0": 2, "1": 2, "2": 2, "3": 2, "4": 2, "5": 7, "6": 6 }, + "b": { "0": [7, 2], "1": [3, 3] }, + "meta": { + "lastBranch": 2, + "lastFunction": 7, + "lastStatement": 40, + "seen": { + "s:4:32:11:Infinity": 0, + "f:4:32:4:44": 0, + "s:5:2:10:Infinity": 1, + "s:6:4:6:Infinity": 2, + "s:8:4:8:Infinity": 3, + "s:9:4:9:Infinity": 4, + "s:13:31:20:Infinity": 5, + "f:13:31:13:38": 1, + "s:14:2:19:Infinity": 6, + "s:15:4:15:Infinity": 7, + "s:17:4:17:Infinity": 8, + "s:18:4:18:Infinity": 9, + "s:22:31:29:Infinity": 10, + "f:22:31:22:38": 2, + "s:23:2:28:Infinity": 11, + "s:24:4:24:Infinity": 12, + "s:26:4:26:Infinity": 13, + "s:27:4:27:Infinity": 14, + "s:31:31:38:Infinity": 15, + "f:31:31:31:38": 3, + "s:32:2:37:Infinity": 16, + "s:33:4:33:Infinity": 17, + "s:35:4:35:Infinity": 18, + "s:36:4:36:Infinity": 19, + "s:40:33:47:Infinity": 20, + "f:40:33:40:40": 4, + "s:41:2:46:Infinity": 21, + "s:42:4:42:Infinity": 22, + "s:44:4:44:Infinity": 23, + "s:45:4:45:Infinity": 24, + "s:49:31:78:Infinity": 25, + "f:49:31:49:38": 5, + "s:50:2:77:Infinity": 26, + "s:51:29:51:Infinity": 27, + "s:54:4:58:Infinity": 28, + "s:55:6:55:Infinity": 29, + "s:57:6:57:Infinity": 30, + "s:61:22:61:Infinity": 31, + "b:61:22:61:51:61:51:61:Infinity": 0, + "s:62:29:62:Infinity": 32, + "f:62:43:62:44": 6, + "s:62:54:62:72": 33, + "s:64:4:68:Infinity": 34, + "b:65:6:67:Infinity:undefined:undefined:undefined:undefined": 1, + "s:65:6:67:Infinity": 35, + "s:66:8:66:Infinity": 36, + "s:70:4:73:Infinity": 37, + "s:75:4:75:Infinity": 38, + "s:76:4:76:Infinity": 39 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts", + "statementMap": { + "0": { "start": { "line": 9, "column": 45 }, "end": { "line": 9, "column": null } }, + "1": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": null } }, + "2": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, + "3": { "start": { "line": 19, "column": 26 }, "end": { "line": 19, "column": null } }, + "4": { "start": { "line": 21, "column": 4 }, "end": { "line": 42, "column": null } }, + "5": { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, + "6": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": null } }, + "7": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": null } }, + "8": { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, + "9": { "start": { "line": 30, "column": 8 }, "end": { "line": 30, "column": null } }, + "10": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": null } }, + "11": { "start": { "line": 34, "column": 6 }, "end": { "line": 34, "column": null } }, + "12": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + "13": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, + "14": { "start": { "line": 41, "column": 6 }, "end": { "line": 41, "column": null } }, + "15": { "start": { "line": 49, "column": 4 }, "end": { "line": 74, "column": null } }, + "16": { "start": { "line": 50, "column": 20 }, "end": { "line": 50, "column": null } }, + "17": { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, + "18": { "start": { "line": 52, "column": 8 }, "end": { "line": 52, "column": null } }, + "19": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": null } }, + "20": { "start": { "line": 56, "column": 25 }, "end": { "line": 56, "column": null } }, + "21": { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, + "22": { "start": { "line": 58, "column": 8 }, "end": { "line": 58, "column": null } }, + "23": { "start": { "line": 59, "column": 8 }, "end": { "line": 59, "column": null } }, + "24": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + "25": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, + "26": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": null } }, + "27": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": null } }, + "28": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": null } }, + "29": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": null } }, + "30": { "start": { "line": 81, "column": 4 }, "end": { "line": 103, "column": null } }, + "31": { "start": { "line": 83, "column": 8 }, "end": { "line": 83, "column": null } }, + "32": { "start": { "line": 84, "column": 8 }, "end": { "line": 84, "column": null } }, + "33": { "start": { "line": 86, "column": 8 }, "end": { "line": 86, "column": null } }, + "34": { "start": { "line": 87, "column": 8 }, "end": { "line": 87, "column": null } }, + "35": { "start": { "line": 89, "column": 8 }, "end": { "line": 89, "column": null } }, + "36": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": null } }, + "37": { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, + "38": { "start": { "line": 93, "column": 10 }, "end": { "line": 93, "column": null } }, + "39": { "start": { "line": 95, "column": 10 }, "end": { "line": 95, "column": null } }, + "40": { "start": { "line": 97, "column": 8 }, "end": { "line": 97, "column": null } }, + "41": { "start": { "line": 99, "column": 8 }, "end": { "line": 99, "column": null } }, + "42": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": null } }, + "43": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": null } }, + "44": { "start": { "line": 110, "column": 4 }, "end": { "line": 121, "column": null } }, + "45": { "start": { "line": 111, "column": 20 }, "end": { "line": 111, "column": null } }, + "46": { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, + "47": { "start": { "line": 113, "column": 8 }, "end": { "line": 113, "column": null } }, + "48": { "start": { "line": 116, "column": 8 }, "end": { "line": 116, "column": null } }, + "49": { "start": { "line": 119, "column": 6 }, "end": { "line": 119, "column": null } }, + "50": { "start": { "line": 120, "column": 6 }, "end": { "line": 120, "column": null } }, + "51": { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, + "52": { "start": { "line": 128, "column": 26 }, "end": { "line": 128, "column": null } }, + "53": { "start": { "line": 130, "column": 4 }, "end": { "line": 145, "column": null } }, + "54": { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, + "55": { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, + "56": { "start": { "line": 133, "column": 10 }, "end": { "line": 133, "column": null } }, + "57": { "start": { "line": 135, "column": 8 }, "end": { "line": 135, "column": null } }, + "58": { "start": { "line": 136, "column": 8 }, "end": { "line": 136, "column": null } }, + "59": { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, + "60": { "start": { "line": 138, "column": 10 }, "end": { "line": 138, "column": null } }, + "61": { "start": { "line": 142, "column": 6 }, "end": { "line": 142, "column": null } }, + "62": { "start": { "line": 144, "column": 6 }, "end": { "line": 144, "column": null } }, + "63": { "start": { "line": 152, "column": 4 }, "end": { "line": 174, "column": null } }, + "64": { "start": { "line": 153, "column": 20 }, "end": { "line": 153, "column": null } }, + "65": { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, + "66": { "start": { "line": 155, "column": 8 }, "end": { "line": 155, "column": null } }, + "67": { "start": { "line": 156, "column": 8 }, "end": { "line": 156, "column": null } }, + "68": { "start": { "line": 159, "column": 24 }, "end": { "line": 159, "column": null } }, + "69": { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, + "70": { "start": { "line": 161, "column": 8 }, "end": { "line": 161, "column": null } }, + "71": { "start": { "line": 162, "column": 8 }, "end": { "line": 162, "column": null } }, + "72": { "start": { "line": 166, "column": 44 }, "end": { "line": 166, "column": null } }, + "73": { "start": { "line": 169, "column": 6 }, "end": { "line": 169, "column": null } }, + "74": { "start": { "line": 171, "column": 6 }, "end": { "line": 171, "column": null } }, + "75": { "start": { "line": 173, "column": 6 }, "end": { "line": 173, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 11, "column": 2 }, "end": { "line": 11, "column": 16 } }, + "loc": { "start": { "line": 11, "column": 52 }, "end": { "line": 13, "column": null } }, + "line": 11 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 22 } }, + "loc": { "start": { "line": 18, "column": 22 }, "end": { "line": 43, "column": null } }, + "line": 18 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": 22 } }, + "loc": { "start": { "line": 48, "column": 52 }, "end": { "line": 75, "column": null } }, + "line": 48 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 80, "column": 10 }, "end": { "line": 80, "column": 30 } }, + "loc": { "start": { "line": 80, "column": 53 }, "end": { "line": 104, "column": null } }, + "line": 80 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 109, "column": 10 }, "end": { "line": 109, "column": 24 } }, + "loc": { "start": { "line": 109, "column": 47 }, "end": { "line": 122, "column": null } }, + "line": 109 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 127, "column": 2 }, "end": { "line": 127, "column": 26 } }, + "loc": { "start": { "line": 127, "column": 26 }, "end": { "line": 146, "column": null } }, + "line": 127 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 151, "column": 8 }, "end": { "line": 151, "column": 43 } }, + "loc": { "start": { "line": 151, "column": 43 }, "end": { "line": 175, "column": null } }, + "line": 151 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 19 + }, + "1": { + "loc": { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 23 + }, + "2": { + "loc": { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 70 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 41 } }, + { "start": { "line": 23, "column": 41 }, "end": { "line": 23, "column": 70 } } + ], + "line": 23 + }, + "3": { + "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 29 + }, + "4": { + "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 37 + }, + "5": { + "loc": { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 51 + }, + "6": { + "loc": { "start": { "line": 51, "column": 10 }, "end": { "line": 51, "column": 43 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 51, "column": 10 }, "end": { "line": 51, "column": 20 } }, + { "start": { "line": 51, "column": 20 }, "end": { "line": 51, "column": 43 } } + ], + "line": 51 + }, + "7": { + "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 57 + }, + "8": { + "loc": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 63 + }, + "9": { + "loc": { "start": { "line": 63, "column": 10 }, "end": { "line": 63, "column": 61 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 63, "column": 10 }, "end": { "line": 63, "column": 29 } }, + { "start": { "line": 63, "column": 29 }, "end": { "line": 63, "column": 61 } } + ], + "line": 63 + }, + "10": { + "loc": { "start": { "line": 81, "column": 4 }, "end": { "line": 103, "column": null } }, + "type": "switch", + "locations": [ + { "start": { "line": 82, "column": 6 }, "end": { "line": 84, "column": null } }, + { "start": { "line": 85, "column": 6 }, "end": { "line": 87, "column": null } }, + { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, + { "start": { "line": 91, "column": 6 }, "end": { "line": 97, "column": null } }, + { "start": { "line": 98, "column": 6 }, "end": { "line": 100, "column": null } }, + { "start": { "line": 101, "column": 6 }, "end": { "line": 102, "column": null } } + ], + "line": 81 + }, + "11": { + "loc": { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, + { "start": { "line": 94, "column": 15 }, "end": { "line": 96, "column": null } } + ], + "line": 92 + }, + "12": { + "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 58 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 35 } }, + { "start": { "line": 92, "column": 35 }, "end": { "line": 92, "column": 58 } } + ], + "line": 92 + }, + "13": { + "loc": { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, + { "start": { "line": 114, "column": 13 }, "end": { "line": 117, "column": null } } + ], + "line": 112 + }, + "14": { + "loc": { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 128 + }, + "15": { + "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 131 + }, + "16": { + "loc": { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 73 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 42 } }, + { "start": { "line": 131, "column": 42 }, "end": { "line": 131, "column": 73 } } + ], + "line": 131 + }, + "17": { + "loc": { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 132 + }, + "18": { + "loc": { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 137 + }, + "19": { + "loc": { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 154 + }, + "20": { + "loc": { "start": { "line": 154, "column": 10 }, "end": { "line": 154, "column": 40 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 154, "column": 10 }, "end": { "line": 154, "column": 20 } }, + { "start": { "line": 154, "column": 20 }, "end": { "line": 154, "column": 40 } } + ], + "line": 154 + }, + "21": { + "loc": { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 160 + } + }, + "s": { + "0": 45, + "1": 33, + "2": 7, + "3": 2, + "4": 5, + "5": 5, + "6": 1, + "7": 1, + "8": 3, + "9": 1, + "10": 3, + "11": 3, + "12": 3, + "13": 1, + "14": 1, + "15": 15, + "16": 15, + "17": 14, + "18": 2, + "19": 2, + "20": 12, + "21": 12, + "22": 1, + "23": 1, + "24": 11, + "25": 10, + "26": 11, + "27": 11, + "28": 11, + "29": 1, + "30": 11, + "31": 3, + "32": 3, + "33": 1, + "34": 1, + "35": 1, + "36": 1, + "37": 2, + "38": 1, + "39": 1, + "40": 2, + "41": 3, + "42": 3, + "43": 1, + "44": 3, + "45": 3, + "46": 3, + "47": 1, + "48": 1, + "49": 1, + "50": 1, + "51": 7, + "52": 2, + "53": 5, + "54": 5, + "55": 3, + "56": 1, + "57": 3, + "58": 3, + "59": 3, + "60": 1, + "61": 4, + "62": 1, + "63": 5, + "64": 5, + "65": 4, + "66": 2, + "67": 2, + "68": 2, + "69": 2, + "70": 1, + "71": 1, + "72": 1, + "73": 1, + "74": 1, + "75": 1 + }, + "f": { "0": 33, "1": 7, "2": 15, "3": 11, "4": 3, "5": 7, "6": 5 }, + "b": { + "0": [2, 5], + "1": [1, 4], + "2": [5, 3], + "3": [1, 2], + "4": [1, 2], + "5": [2, 12], + "6": [14, 14], + "7": [1, 11], + "8": [10, 1], + "9": [11, 11], + "10": [3, 1, 1, 2, 3, 1], + "11": [1, 1], + "12": [2, 1], + "13": [1, 1], + "14": [2, 5], + "15": [3, 2], + "16": [5, 2], + "17": [1, 2], + "18": [1, 2], + "19": [2, 2], + "20": [4, 4], + "21": [1, 1] + }, + "meta": { + "lastBranch": 22, + "lastFunction": 7, + "lastStatement": 76, + "seen": { + "s:9:45:9:Infinity": 0, + "f:11:2:11:16": 0, + "s:12:4:12:Infinity": 1, + "f:18:2:18:22": 1, + "b:19:4:19:Infinity:undefined:undefined:undefined:undefined": 0, + "s:19:4:19:Infinity": 2, + "s:19:26:19:Infinity": 3, + "s:21:4:42:Infinity": 4, + "b:23:6:26:Infinity:undefined:undefined:undefined:undefined": 1, + "s:23:6:26:Infinity": 5, + "b:23:10:23:41:23:41:23:70": 2, + "s:24:8:24:Infinity": 6, + "s:25:8:25:Infinity": 7, + "b:29:6:31:Infinity:undefined:undefined:undefined:undefined": 3, + "s:29:6:31:Infinity": 8, + "s:30:8:30:Infinity": 9, + "s:33:6:33:Infinity": 10, + "s:34:6:34:Infinity": 11, + "b:37:6:39:Infinity:undefined:undefined:undefined:undefined": 4, + "s:37:6:39:Infinity": 12, + "s:38:8:38:Infinity": 13, + "s:41:6:41:Infinity": 14, + "f:48:8:48:22": 2, + "s:49:4:74:Infinity": 15, + "s:50:20:50:Infinity": 16, + "b:51:6:54:Infinity:undefined:undefined:undefined:undefined": 5, + "s:51:6:54:Infinity": 17, + "b:51:10:51:20:51:20:51:43": 6, + "s:52:8:52:Infinity": 18, + "s:53:8:53:Infinity": 19, + "s:56:25:56:Infinity": 20, + "b:57:6:60:Infinity:undefined:undefined:undefined:undefined": 7, + "s:57:6:60:Infinity": 21, + "s:58:8:58:Infinity": 22, + "s:59:8:59:Infinity": 23, + "b:63:6:65:Infinity:undefined:undefined:undefined:undefined": 8, + "s:63:6:65:Infinity": 24, + "b:63:10:63:29:63:29:63:61": 9, + "s:64:8:64:Infinity": 25, + "s:68:6:68:Infinity": 26, + "s:70:6:70:Infinity": 27, + "s:71:6:71:Infinity": 28, + "s:73:6:73:Infinity": 29, + "f:80:10:80:30": 3, + "b:82:6:84:Infinity:85:6:87:Infinity:88:6:90:Infinity:91:6:97:Infinity:98:6:100:Infinity:101:6:102:Infinity": 10, + "s:81:4:103:Infinity": 30, + "s:83:8:83:Infinity": 31, + "s:84:8:84:Infinity": 32, + "s:86:8:86:Infinity": 33, + "s:87:8:87:Infinity": 34, + "s:89:8:89:Infinity": 35, + "s:90:8:90:Infinity": 36, + "b:92:8:96:Infinity:94:15:96:Infinity": 11, + "s:92:8:96:Infinity": 37, + "b:92:12:92:35:92:35:92:58": 12, + "s:93:10:93:Infinity": 38, + "s:95:10:95:Infinity": 39, + "s:97:8:97:Infinity": 40, + "s:99:8:99:Infinity": 41, + "s:100:8:100:Infinity": 42, + "s:102:8:102:Infinity": 43, + "f:109:10:109:24": 4, + "s:110:4:121:Infinity": 44, + "s:111:20:111:Infinity": 45, + "b:112:6:117:Infinity:114:13:117:Infinity": 13, + "s:112:6:117:Infinity": 46, + "s:113:8:113:Infinity": 47, + "s:116:8:116:Infinity": 48, + "s:119:6:119:Infinity": 49, + "s:120:6:120:Infinity": 50, + "f:127:2:127:26": 5, + "b:128:4:128:Infinity:undefined:undefined:undefined:undefined": 14, + "s:128:4:128:Infinity": 51, + "s:128:26:128:Infinity": 52, + "s:130:4:145:Infinity": 53, + "b:131:6:140:Infinity:undefined:undefined:undefined:undefined": 15, + "s:131:6:140:Infinity": 54, + "b:131:10:131:42:131:42:131:73": 16, + "b:132:8:134:Infinity:undefined:undefined:undefined:undefined": 17, + "s:132:8:134:Infinity": 55, + "s:133:10:133:Infinity": 56, + "s:135:8:135:Infinity": 57, + "s:136:8:136:Infinity": 58, + "b:137:8:139:Infinity:undefined:undefined:undefined:undefined": 18, + "s:137:8:139:Infinity": 59, + "s:138:10:138:Infinity": 60, + "s:142:6:142:Infinity": 61, + "s:144:6:144:Infinity": 62, + "f:151:8:151:43": 6, + "s:152:4:174:Infinity": 63, + "s:153:20:153:Infinity": 64, + "b:154:6:157:Infinity:undefined:undefined:undefined:undefined": 19, + "s:154:6:157:Infinity": 65, + "b:154:10:154:20:154:20:154:40": 20, + "s:155:8:155:Infinity": 66, + "s:156:8:156:Infinity": 67, + "s:159:24:159:Infinity": 68, + "b:160:6:163:Infinity:undefined:undefined:undefined:undefined": 21, + "s:160:6:163:Infinity": 69, + "s:161:8:161:Infinity": 70, + "s:162:8:162:Infinity": 71, + "s:166:44:166:Infinity": 72, + "s:169:6:169:Infinity": 73, + "s:171:6:171:Infinity": 74, + "s:173:6:173:Infinity": 75 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts", + "statementMap": { + "0": { "start": { "line": 10, "column": 21 }, "end": { "line": 10, "column": null } }, + "1": { "start": { "line": 11, "column": 20 }, "end": { "line": 11, "column": null } }, + "2": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": null } }, + "3": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, + "4": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, + "5": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": null } }, + "6": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": null } }, + "7": { "start": { "line": 24, "column": 4 }, "end": { "line": 31, "column": null } }, + "8": { "start": { "line": 25, "column": 6 }, "end": { "line": 25, "column": null } }, + "9": { "start": { "line": 26, "column": 6 }, "end": { "line": 26, "column": null } }, + "10": { "start": { "line": 27, "column": 6 }, "end": { "line": 27, "column": null } }, + "11": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": null } }, + "12": { "start": { "line": 30, "column": 6 }, "end": { "line": 30, "column": null } }, + "13": { "start": { "line": 35, "column": 4 }, "end": { "line": 63, "column": null } }, + "14": { "start": { "line": 37, "column": 6 }, "end": { "line": 37, "column": null } }, + "15": { "start": { "line": 39, "column": 23 }, "end": { "line": 39, "column": null } }, + "16": { "start": { "line": 40, "column": 6 }, "end": { "line": 40, "column": null } }, + "17": { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, + "18": { "start": { "line": 43, "column": 8 }, "end": { "line": 43, "column": null } }, + "19": { "start": { "line": 44, "column": 8 }, "end": { "line": 44, "column": null } }, + "20": { "start": { "line": 47, "column": 26 }, "end": { "line": 47, "column": null } }, + "21": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, + "22": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": null } }, + "23": { "start": { "line": 54, "column": 6 }, "end": { "line": 54, "column": null } }, + "24": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, + "25": { "start": { "line": 60, "column": 6 }, "end": { "line": 60, "column": null } }, + "26": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": null } }, + "27": { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, + "28": { "start": { "line": 68, "column": 6 }, "end": { "line": 70, "column": null } }, + "29": { "start": { "line": 71, "column": 6 }, "end": { "line": 73, "column": null } }, + "30": { "start": { "line": 72, "column": 8 }, "end": { "line": 72, "column": null } }, + "31": { "start": { "line": 79, "column": 29 }, "end": { "line": 85, "column": null } }, + "32": { "start": { "line": 87, "column": 4 }, "end": { "line": 96, "column": null } }, + "33": { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, + "34": { "start": { "line": 89, "column": 8 }, "end": { "line": 91, "column": null } }, + "35": { "start": { "line": 92, "column": 8 }, "end": { "line": 94, "column": null } }, + "36": { "start": { "line": 93, "column": 10 }, "end": { "line": 93, "column": null } }, + "37": { "start": { "line": 101, "column": 32 }, "end": { "line": 104, "column": null } }, + "38": { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, + "39": { "start": { "line": 107, "column": 6 }, "end": { "line": 109, "column": null } }, + "40": { "start": { "line": 110, "column": 6 }, "end": { "line": 112, "column": null } }, + "41": { "start": { "line": 111, "column": 8 }, "end": { "line": 111, "column": null } }, + "42": { "start": { "line": 117, "column": 25 }, "end": { "line": 120, "column": null } }, + "43": { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, + "44": { "start": { "line": 123, "column": 6 }, "end": { "line": 125, "column": null } }, + "45": { "start": { "line": 126, "column": 6 }, "end": { "line": 128, "column": null } }, + "46": { "start": { "line": 127, "column": 8 }, "end": { "line": 127, "column": null } }, + "47": { "start": { "line": 133, "column": 4 }, "end": { "line": 136, "column": null } }, + "48": { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, + "49": { "start": { "line": 138, "column": 6 }, "end": { "line": 138, "column": null } }, + "50": { "start": { "line": 139, "column": 6 }, "end": { "line": 139, "column": null } }, + "51": { "start": { "line": 140, "column": 6 }, "end": { "line": 140, "column": null } }, + "52": { "start": { "line": 143, "column": 4 }, "end": { "line": 148, "column": null } }, + "53": { "start": { "line": 144, "column": 6 }, "end": { "line": 144, "column": null } }, + "54": { "start": { "line": 145, "column": 6 }, "end": { "line": 145, "column": null } }, + "55": { "start": { "line": 147, "column": 6 }, "end": { "line": 147, "column": null } }, + "56": { "start": { "line": 152, "column": 4 }, "end": { "line": 152, "column": null } }, + "57": { "start": { "line": 157, "column": 4 }, "end": { "line": 157, "column": null } }, + "58": { "start": { "line": 161, "column": 4 }, "end": { "line": 161, "column": null } }, + "59": { "start": { "line": 165, "column": 4 }, "end": { "line": 165, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 13, "column": 2 }, "end": { "line": 13, "column": 16 } }, + "loc": { "start": { "line": 13, "column": 52 }, "end": { "line": 15, "column": null } }, + "line": 13 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 17, "column": 8 }, "end": { "line": 17, "column": 36 } }, + "loc": { "start": { "line": 17, "column": 36 }, "end": { "line": 32, "column": null } }, + "line": 17 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": 41 } }, + "loc": { "start": { "line": 34, "column": 41 }, "end": { "line": 64, "column": null } }, + "line": 34 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 66, "column": 10 }, "end": { "line": 66, "column": 36 } }, + "loc": { "start": { "line": 66, "column": 56 }, "end": { "line": 75, "column": null } }, + "line": 66 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 71, "column": 60 }, "end": { "line": 71, "column": 66 } }, + "loc": { "start": { "line": 71, "column": 66 }, "end": { "line": 73, "column": 7 } }, + "line": 71 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 77, "column": 10 }, "end": { "line": 77, "column": 35 } }, + "loc": { "start": { "line": 77, "column": 55 }, "end": { "line": 97, "column": null } }, + "line": 77 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 92, "column": 49 }, "end": { "line": 92, "column": 55 } }, + "loc": { "start": { "line": 92, "column": 55 }, "end": { "line": 94, "column": 9 } }, + "line": 92 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 99, "column": 10 }, "end": { "line": 99, "column": 38 } }, + "loc": { "start": { "line": 99, "column": 58 }, "end": { "line": 114, "column": null } }, + "line": 99 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 110, "column": 60 }, "end": { "line": 110, "column": 66 } }, + "loc": { "start": { "line": 110, "column": 66 }, "end": { "line": 112, "column": 7 } }, + "line": 110 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 116, "column": 10 }, "end": { "line": 116, "column": 31 } }, + "loc": { "start": { "line": 116, "column": 51 }, "end": { "line": 130, "column": null } }, + "line": 116 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 126, "column": 53 }, "end": { "line": 126, "column": 59 } }, + "loc": { "start": { "line": 126, "column": 59 }, "end": { "line": 128, "column": 7 } }, + "line": 126 + }, + "11": { + "name": "(anonymous_11)", + "decl": { "start": { "line": 132, "column": 8 }, "end": { "line": 132, "column": 43 } }, + "loc": { "start": { "line": 132, "column": 43 }, "end": { "line": 149, "column": null } }, + "line": 132 + }, + "12": { + "name": "(anonymous_12)", + "decl": { "start": { "line": 151, "column": 2 }, "end": { "line": 151, "column": 18 } }, + "loc": { "start": { "line": 151, "column": 18 }, "end": { "line": 153, "column": null } }, + "line": 151 + }, + "13": { + "name": "(anonymous_13)", + "decl": { "start": { "line": 156, "column": 2 }, "end": { "line": 156, "column": 32 } }, + "loc": { "start": { "line": 156, "column": 32 }, "end": { "line": 158, "column": null } }, + "line": 156 + }, + "14": { + "name": "(anonymous_14)", + "decl": { "start": { "line": 160, "column": 2 }, "end": { "line": 160, "column": 21 } }, + "loc": { "start": { "line": 160, "column": 51 }, "end": { "line": 162, "column": null } }, + "line": 160 + }, + "15": { + "name": "(anonymous_15)", + "decl": { "start": { "line": 164, "column": 6 }, "end": { "line": 164, "column": 31 } }, + "loc": { "start": { "line": 164, "column": 31 }, "end": { "line": 166, "column": null } }, + "line": 164 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 19 + }, + "1": { + "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 42 + }, + "2": { + "loc": { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 67 + }, + "3": { + "loc": { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 88 + }, + "4": { + "loc": { "start": { "line": 101, "column": 32 }, "end": { "line": 104, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 101, "column": 32 }, "end": { "line": 101, "column": 61 } }, + { "start": { "line": 101, "column": 61 }, "end": { "line": 104, "column": null } } + ], + "line": 101 + }, + "5": { + "loc": { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 106 + }, + "6": { + "loc": { "start": { "line": 117, "column": 25 }, "end": { "line": 120, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 117, "column": 25 }, "end": { "line": 117, "column": 48 } }, + { "start": { "line": 117, "column": 48 }, "end": { "line": 120, "column": null } } + ], + "line": 117 + }, + "7": { + "loc": { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 122 + }, + "8": { + "loc": { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 137 + } + }, + "s": { + "0": 15, + "1": 15, + "2": 1, + "3": 15, + "4": 15, + "5": 1, + "6": 1, + "7": 14, + "8": 14, + "9": 14, + "10": 14, + "11": 14, + "12": 1, + "13": 16, + "14": 16, + "15": 16, + "16": 14, + "17": 14, + "18": 9, + "19": 9, + "20": 5, + "21": 5, + "22": 5, + "23": 5, + "24": 5, + "25": 5, + "26": 2, + "27": 5, + "28": 3, + "29": 3, + "30": 1, + "31": 5, + "32": 5, + "33": 25, + "34": 2, + "35": 2, + "36": 1, + "37": 5, + "38": 5, + "39": 3, + "40": 3, + "41": 1, + "42": 5, + "43": 5, + "44": 3, + "45": 3, + "46": 1, + "47": 4, + "48": 4, + "49": 1, + "50": 1, + "51": 1, + "52": 3, + "53": 3, + "54": 3, + "55": 1, + "56": 1, + "57": 1, + "58": 1, + "59": 4 + }, + "f": { + "0": 1, + "1": 15, + "2": 16, + "3": 5, + "4": 1, + "5": 5, + "6": 1, + "7": 5, + "8": 1, + "9": 5, + "10": 1, + "11": 4, + "12": 1, + "13": 1, + "14": 1, + "15": 4 + }, + "b": { + "0": [1, 14], + "1": [9, 5], + "2": [3, 2], + "3": [2, 23], + "4": [5, 1], + "5": [3, 2], + "6": [5, 1], + "7": [3, 2], + "8": [1, 3] + }, + "meta": { + "lastBranch": 9, + "lastFunction": 16, + "lastStatement": 60, + "seen": { + "s:10:21:10:Infinity": 0, + "s:11:20:11:Infinity": 1, + "f:13:2:13:16": 0, + "s:14:4:14:Infinity": 2, + "f:17:8:17:36": 1, + "s:18:4:18:Infinity": 3, + "b:19:4:22:Infinity:undefined:undefined:undefined:undefined": 0, + "s:19:4:22:Infinity": 4, + "s:20:6:20:Infinity": 5, + "s:21:6:21:Infinity": 6, + "s:24:4:31:Infinity": 7, + "s:25:6:25:Infinity": 8, + "s:26:6:26:Infinity": 9, + "s:27:6:27:Infinity": 10, + "s:28:6:28:Infinity": 11, + "s:30:6:30:Infinity": 12, + "f:34:8:34:41": 2, + "s:35:4:63:Infinity": 13, + "s:37:6:37:Infinity": 14, + "s:39:23:39:Infinity": 15, + "s:40:6:40:Infinity": 16, + "b:42:6:45:Infinity:undefined:undefined:undefined:undefined": 1, + "s:42:6:45:Infinity": 17, + "s:43:8:43:Infinity": 18, + "s:44:8:44:Infinity": 19, + "s:47:26:47:Infinity": 20, + "s:48:6:48:Infinity": 21, + "s:51:6:51:Infinity": 22, + "s:54:6:54:Infinity": 23, + "s:57:6:57:Infinity": 24, + "s:60:6:60:Infinity": 25, + "s:62:6:62:Infinity": 26, + "f:66:10:66:36": 3, + "b:67:4:74:Infinity:undefined:undefined:undefined:undefined": 2, + "s:67:4:74:Infinity": 27, + "s:68:6:70:Infinity": 28, + "s:71:6:73:Infinity": 29, + "f:71:60:71:66": 4, + "s:72:8:72:Infinity": 30, + "f:77:10:77:35": 5, + "s:79:29:85:Infinity": 31, + "s:87:4:96:Infinity": 32, + "b:88:6:95:Infinity:undefined:undefined:undefined:undefined": 3, + "s:88:6:95:Infinity": 33, + "s:89:8:91:Infinity": 34, + "s:92:8:94:Infinity": 35, + "f:92:49:92:55": 6, + "s:93:10:93:Infinity": 36, + "f:99:10:99:38": 7, + "s:101:32:104:Infinity": 37, + "b:101:32:101:61:101:61:104:Infinity": 4, + "b:106:4:113:Infinity:undefined:undefined:undefined:undefined": 5, + "s:106:4:113:Infinity": 38, + "s:107:6:109:Infinity": 39, + "s:110:6:112:Infinity": 40, + "f:110:60:110:66": 8, + "s:111:8:111:Infinity": 41, + "f:116:10:116:31": 9, + "s:117:25:120:Infinity": 42, + "b:117:25:117:48:117:48:120:Infinity": 6, + "b:122:4:129:Infinity:undefined:undefined:undefined:undefined": 7, + "s:122:4:129:Infinity": 43, + "s:123:6:125:Infinity": 44, + "s:126:6:128:Infinity": 45, + "f:126:53:126:59": 10, + "s:127:8:127:Infinity": 46, + "f:132:8:132:43": 11, + "s:133:4:136:Infinity": 47, + "b:137:4:141:Infinity:undefined:undefined:undefined:undefined": 8, + "s:137:4:141:Infinity": 48, + "s:138:6:138:Infinity": 49, + "s:139:6:139:Infinity": 50, + "s:140:6:140:Infinity": 51, + "s:143:4:148:Infinity": 52, + "s:144:6:144:Infinity": 53, + "s:145:6:145:Infinity": 54, + "s:147:6:147:Infinity": 55, + "f:151:2:151:18": 12, + "s:152:4:152:Infinity": 56, + "f:156:2:156:32": 13, + "s:157:4:157:Infinity": 57, + "f:160:2:160:21": 14, + "s:161:4:161:Infinity": 58, + "f:164:6:164:31": 15, + "s:165:4:165:Infinity": 59 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts", + "statementMap": { + "0": { "start": { "line": 8, "column": 39 }, "end": { "line": 11, "column": null } }, + "1": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": null } }, + "2": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, + "3": { "start": { "line": 25, "column": 4 }, "end": { "line": 44, "column": null } }, + "4": { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, + "5": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": null } }, + "6": { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": null } }, + "7": { "start": { "line": 32, "column": 22 }, "end": { "line": 32, "column": null } }, + "8": { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, + "9": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": null } }, + "10": { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": null } }, + "11": { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, + "12": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, + "13": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": null } }, + "14": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": null } }, + "15": { "start": { "line": 43, "column": 6 }, "end": { "line": 43, "column": null } }, + "16": { "start": { "line": 51, "column": 4 }, "end": { "line": 57, "column": null } }, + "17": { "start": { "line": 52, "column": 6 }, "end": { "line": 56, "column": null } }, + "18": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": null } }, + "19": { "start": { "line": 55, "column": 8 }, "end": { "line": 55, "column": null } }, + "20": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": null } }, + "21": { "start": { "line": 65, "column": 4 }, "end": { "line": 65, "column": null } }, + "22": { "start": { "line": 72, "column": 4 }, "end": { "line": 72, "column": null } }, + "23": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, + "24": { "start": { "line": 80, "column": 4 }, "end": { "line": 80, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 13, "column": 6 }, "end": { "line": 13, "column": 31 } }, + "loc": { "start": { "line": 13, "column": 31 }, "end": { "line": 15, "column": null } }, + "line": 13 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } }, + "loc": { "start": { "line": 17, "column": 39 }, "end": { "line": 19, "column": null } }, + "line": 17 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 24, "column": 2 }, "end": { "line": 24, "column": 17 } }, + "loc": { "start": { "line": 24, "column": 69 }, "end": { "line": 45, "column": null } }, + "line": 24 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 31 } }, + "loc": { "start": { "line": 50, "column": 31 }, "end": { "line": 59, "column": null } }, + "line": 50 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 51, "column": 38 }, "end": { "line": 51, "column": 39 } }, + "loc": { "start": { "line": 51, "column": 55 }, "end": { "line": 57, "column": 5 } }, + "line": 51 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 32 } }, + "loc": { "start": { "line": 64, "column": 32 }, "end": { "line": 66, "column": null } }, + "line": 64 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 21 } }, + "loc": { "start": { "line": 71, "column": 51 }, "end": { "line": 73, "column": null } }, + "line": 71 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 78, "column": 2 }, "end": { "line": 78, "column": 18 } }, + "loc": { "start": { "line": 78, "column": 18 }, "end": { "line": 81, "column": null } }, + "line": 78 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 27 + }, + "1": { + "loc": { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, + { "start": { "line": 37, "column": 13 }, "end": { "line": 40, "column": null } } + ], + "line": 33 + } + }, + "s": { + "0": 25, + "1": 28, + "2": 14, + "3": 24, + "4": 24, + "5": 1, + "6": 1, + "7": 23, + "8": 23, + "9": 21, + "10": 21, + "11": 21, + "12": 1, + "13": 1, + "14": 1, + "15": 1, + "16": 20, + "17": 5, + "18": 5, + "19": 1, + "20": 20, + "21": 5, + "22": 3, + "23": 2, + "24": 2 + }, + "f": { "0": 28, "1": 14, "2": 24, "3": 20, "4": 5, "5": 5, "6": 3, "7": 2 }, + "b": { "0": [1, 23], "1": [21, 1] }, + "meta": { + "lastBranch": 2, + "lastFunction": 8, + "lastStatement": 25, + "seen": { + "s:8:39:11:Infinity": 0, + "f:13:6:13:31": 0, + "s:14:4:14:Infinity": 1, + "f:17:2:17:17": 1, + "s:18:4:18:Infinity": 2, + "f:24:2:24:17": 2, + "s:25:4:44:Infinity": 3, + "b:27:6:30:Infinity:undefined:undefined:undefined:undefined": 0, + "s:27:6:30:Infinity": 4, + "s:28:8:28:Infinity": 5, + "s:29:8:29:Infinity": 6, + "s:32:22:32:Infinity": 7, + "b:33:6:40:Infinity:37:13:40:Infinity": 1, + "s:33:6:40:Infinity": 8, + "s:34:8:34:Infinity": 9, + "s:35:8:35:Infinity": 10, + "s:36:8:36:Infinity": 11, + "s:38:8:38:Infinity": 12, + "s:39:8:39:Infinity": 13, + "s:42:6:42:Infinity": 14, + "s:43:6:43:Infinity": 15, + "f:50:2:50:31": 3, + "s:51:4:57:Infinity": 16, + "f:51:38:51:39": 4, + "s:52:6:56:Infinity": 17, + "s:53:8:53:Infinity": 18, + "s:55:8:55:Infinity": 19, + "s:58:4:58:Infinity": 20, + "f:64:2:64:32": 5, + "s:65:4:65:Infinity": 21, + "f:71:2:71:21": 6, + "s:72:4:72:Infinity": 22, + "f:78:2:78:18": 7, + "s:79:4:79:Infinity": 23, + "s:80:4:80:Infinity": 24 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts", + "statementMap": { + "0": { "start": { "line": 4, "column": 55 }, "end": { "line": 38, "column": null } }, + "1": { "start": { "line": 40, "column": 46 }, "end": { "line": 52, "column": null } }, + "2": { "start": { "line": 54, "column": 37 }, "end": { "line": 61, "column": null } } + }, + "fnMap": {}, + "branchMap": {}, + "s": { "0": 1, "1": 1, "2": 1 }, + "f": {}, + "b": {}, + "meta": { + "lastBranch": 0, + "lastFunction": 0, + "lastStatement": 3, + "seen": { "s:4:55:38:Infinity": 0, "s:40:46:52:Infinity": 1, "s:54:37:61:Infinity": 2 } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts", + "statementMap": { + "0": { "start": { "line": 8, "column": 19 }, "end": { "line": 8, "column": null } }, + "1": { "start": { "line": 10, "column": 2 }, "end": { "line": 39, "column": null } }, + "2": { "start": { "line": 12, "column": 21 }, "end": { "line": 12, "column": null } }, + "3": { "start": { "line": 15, "column": 26 }, "end": { "line": 15, "column": null } }, + "4": { "start": { "line": 18, "column": 4 }, "end": { "line": 22, "column": null } }, + "5": { "start": { "line": 19, "column": 6 }, "end": { "line": 19, "column": null } }, + "6": { "start": { "line": 25, "column": 4 }, "end": { "line": 25, "column": null } }, + "7": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": null } }, + "8": { "start": { "line": 28, "column": 4 }, "end": { "line": 28, "column": null } }, + "9": { "start": { "line": 31, "column": 4 }, "end": { "line": 35, "column": null } }, + "10": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": null } }, + "11": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": null } }, + "12": { "start": { "line": 38, "column": 4 }, "end": { "line": 38, "column": null } }, + "13": { "start": { "line": 46, "column": 2 }, "end": { "line": 67, "column": null } }, + "14": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": null } }, + "15": { "start": { "line": 51, "column": 26 }, "end": { "line": 51, "column": null } }, + "16": { "start": { "line": 54, "column": 28 }, "end": { "line": 54, "column": null } }, + "17": { "start": { "line": 55, "column": 21 }, "end": { "line": 55, "column": null } }, + "18": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": null } }, + "19": { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, + "20": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": null } }, + "21": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, + "22": { "start": { "line": 65, "column": 6 }, "end": { "line": 65, "column": null } }, + "23": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": null } }, + "24": { "start": { "line": 81, "column": 2 }, "end": { "line": 81, "column": null } } + }, + "fnMap": { + "0": { + "name": "saveToFile", + "decl": { "start": { "line": 7, "column": 22 }, "end": { "line": 7, "column": 33 } }, + "loc": { "start": { "line": 7, "column": 86 }, "end": { "line": 40, "column": null } }, + "line": 7 + }, + "1": { + "name": "loadFromFile", + "decl": { "start": { "line": 45, "column": 22 }, "end": { "line": 45, "column": 35 } }, + "loc": { "start": { "line": 45, "column": 76 }, "end": { "line": 68, "column": null } }, + "line": 45 + }, + "2": { + "name": "ensureDataDirectory", + "decl": { "start": { "line": 73, "column": 22 }, "end": { "line": 73, "column": 42 } }, + "loc": { "start": { "line": 73, "column": 75 }, "end": { "line": 75, "column": null } }, + "line": 73 + }, + "3": { + "name": "isEncryptionAvailable", + "decl": { "start": { "line": 80, "column": 16 }, "end": { "line": 80, "column": 49 } }, + "loc": { "start": { "line": 80, "column": 49 }, "end": { "line": 82, "column": null } }, + "line": 80 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, + { "start": { "line": 63, "column": 11 }, "end": { "line": 66, "column": null } } + ], + "line": 60 + } + }, + "s": { + "0": 3, + "1": 3, + "2": 3, + "3": 3, + "4": 3, + "5": 3, + "6": 3, + "7": 2, + "8": 2, + "9": 1, + "10": 1, + "11": 1, + "12": 1, + "13": 3, + "14": 3, + "15": 2, + "16": 1, + "17": 1, + "18": 1, + "19": 2, + "20": 1, + "21": 1, + "22": 1, + "23": 1, + "24": 2 + }, + "f": { "0": 3, "1": 3, "2": 1, "3": 2 }, + "b": { "0": [1, 1] }, + "meta": { + "lastBranch": 1, + "lastFunction": 4, + "lastStatement": 25, + "seen": { + "f:7:22:7:33": 0, + "s:8:19:8:Infinity": 0, + "s:10:2:39:Infinity": 1, + "s:12:21:12:Infinity": 2, + "s:15:26:15:Infinity": 3, + "s:18:4:22:Infinity": 4, + "s:19:6:19:Infinity": 5, + "s:25:4:25:Infinity": 6, + "s:26:4:26:Infinity": 7, + "s:28:4:28:Infinity": 8, + "s:31:4:35:Infinity": 9, + "s:32:6:32:Infinity": 10, + "s:37:4:37:Infinity": 11, + "s:38:4:38:Infinity": 12, + "f:45:22:45:35": 1, + "s:46:2:67:Infinity": 13, + "s:48:4:48:Infinity": 14, + "s:51:26:51:Infinity": 15, + "s:54:28:54:Infinity": 16, + "s:55:21:55:Infinity": 17, + "s:58:4:58:Infinity": 18, + "b:60:4:66:Infinity:63:11:66:Infinity": 0, + "s:60:4:66:Infinity": 19, + "s:62:6:62:Infinity": 20, + "s:64:6:64:Infinity": 21, + "s:65:6:65:Infinity": 22, + "f:73:22:73:42": 2, + "s:74:2:74:Infinity": 23, + "f:80:16:80:49": 3, + "s:81:2:81:Infinity": 24 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts", + "statementMap": { + "0": { "start": { "line": 9, "column": 32 }, "end": { "line": 9, "column": null } }, + "1": { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, + "2": { "start": { "line": 13, "column": 4 }, "end": { "line": 16, "column": null } }, + "3": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, + "4": { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, + "5": { "start": { "line": 21, "column": 4 }, "end": { "line": 24, "column": null } }, + "6": { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, + "7": { "start": { "line": 29, "column": 4 }, "end": { "line": 38, "column": null } }, + "8": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, + "9": { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, + "10": { "start": { "line": 43, "column": 4 }, "end": { "line": 53, "column": null } }, + "11": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, + "12": { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, + "13": { "start": { "line": 58, "column": 4 }, "end": { "line": 68, "column": null } }, + "14": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, + "15": { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, + "16": { "start": { "line": 73, "column": 4 }, "end": { "line": 73, "column": null } }, + "17": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": null } } + }, + "fnMap": { + "0": { + "name": "migrateData", + "decl": { "start": { "line": 7, "column": 16 }, "end": { "line": 7, "column": 28 } }, + "loc": { "start": { "line": 7, "column": 48 }, "end": { "line": 77, "column": null } }, + "line": 7 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 14, "column": 6 }, "end": { "line": 14, "column": 7 } }, + "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, + "line": 15 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 30, "column": 6 }, "end": { "line": 30, "column": 7 } }, + "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, + "line": 31 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 44, "column": 6 }, "end": { "line": 44, "column": 7 } }, + "loc": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, + "line": 45 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 59, "column": 6 }, "end": { "line": 59, "column": 7 } }, + "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, + "line": 60 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 12 + }, + "1": { + "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 47 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 20 } }, + { "start": { "line": 12, "column": 20 }, "end": { "line": 12, "column": 47 } } + ], + "line": 12 + }, + "2": { + "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 22 } }, + { "start": { "line": 15, "column": 22 }, "end": { "line": 15, "column": 60 } }, + { "start": { "line": 15, "column": 60 }, "end": { "line": 15, "column": null } } + ], + "line": 15 + }, + "3": { + "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 20 + }, + "4": { + "loc": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 58 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 23 } }, + { "start": { "line": 20, "column": 23 }, "end": { "line": 20, "column": 58 } } + ], + "line": 20 + }, + "5": { + "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 28 + }, + "6": { + "loc": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 55 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 24 } }, + { "start": { "line": 28, "column": 24 }, "end": { "line": 28, "column": 55 } } + ], + "line": 28 + }, + "7": { + "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, + { "start": { "line": 32, "column": 8 }, "end": { "line": 32, "column": null } }, + { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": null } }, + { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": null } }, + { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": null } }, + { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, + { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": null } } + ], + "line": 31 + }, + "8": { + "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 42 + }, + "9": { + "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 59 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 26 } }, + { "start": { "line": 42, "column": 26 }, "end": { "line": 42, "column": 59 } } + ], + "line": 42 + }, + "10": { + "loc": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 45, "column": 8 }, "end": { "line": 45, "column": null } }, + { "start": { "line": 46, "column": 8 }, "end": { "line": 46, "column": null } }, + { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, + { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": null } }, + { "start": { "line": 49, "column": 8 }, "end": { "line": 49, "column": null } }, + { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": null } }, + { "start": { "line": 51, "column": 8 }, "end": { "line": 51, "column": null } }, + { "start": { "line": 52, "column": 8 }, "end": { "line": 52, "column": null } } + ], + "line": 45 + }, + "11": { + "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 57 + }, + "12": { + "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 57 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 25 } }, + { "start": { "line": 57, "column": 25 }, "end": { "line": 57, "column": 57 } } + ], + "line": 57 + }, + "13": { + "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": null } }, + { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, + { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": null } }, + { "start": { "line": 63, "column": 8 }, "end": { "line": 63, "column": null } }, + { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, + { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": null } }, + { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, + { "start": { "line": 67, "column": 8 }, "end": { "line": 67, "column": null } } + ], + "line": 60 + }, + "14": { + "loc": { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 72 + }, + "15": { + "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 56 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 22 } }, + { "start": { "line": 72, "column": 22 }, "end": { "line": 72, "column": 56 } } + ], + "line": 72 + } + }, + "s": { + "0": 11, + "1": 11, + "2": 2, + "3": 5, + "4": 11, + "5": 1, + "6": 11, + "7": 2, + "8": 3, + "9": 11, + "10": 1, + "11": 1, + "12": 11, + "13": 1, + "14": 1, + "15": 11, + "16": 1, + "17": 11 + }, + "f": { "0": 11, "1": 5, "2": 3, "3": 1, "4": 1 }, + "b": { + "0": [2, 9], + "1": [11, 3], + "2": [5, 3, 2], + "3": [1, 10], + "4": [11, 1], + "5": [2, 9], + "6": [11, 2], + "7": [3, 3, 2, 2, 2, 2, 2], + "8": [1, 10], + "9": [11, 1], + "10": [1, 1, 1, 1, 1, 1, 1, 1], + "11": [1, 10], + "12": [11, 1], + "13": [1, 1, 1, 1, 1, 1, 1, 1], + "14": [1, 10], + "15": [11, 1] + }, + "meta": { + "lastBranch": 16, + "lastFunction": 5, + "lastStatement": 18, + "seen": { + "f:7:16:7:28": 0, + "s:9:32:9:Infinity": 0, + "b:12:2:17:Infinity:undefined:undefined:undefined:undefined": 0, + "s:12:2:17:Infinity": 1, + "b:12:6:12:20:12:20:12:47": 1, + "s:13:4:16:Infinity": 2, + "f:14:6:14:7": 1, + "s:15:8:15:Infinity": 3, + "b:15:8:15:22:15:22:15:60:15:60:15:Infinity": 2, + "b:20:2:25:Infinity:undefined:undefined:undefined:undefined": 3, + "s:20:2:25:Infinity": 4, + "b:20:6:20:23:20:23:20:58": 4, + "s:21:4:24:Infinity": 5, + "b:28:2:39:Infinity:undefined:undefined:undefined:undefined": 5, + "s:28:2:39:Infinity": 6, + "b:28:6:28:24:28:24:28:55": 6, + "s:29:4:38:Infinity": 7, + "f:30:6:30:7": 2, + "s:31:8:37:Infinity": 8, + "b:31:8:31:Infinity:32:8:32:Infinity:33:8:33:Infinity:34:8:34:Infinity:35:8:35:Infinity:36:8:36:Infinity:37:8:37:Infinity": 7, + "b:42:2:54:Infinity:undefined:undefined:undefined:undefined": 8, + "s:42:2:54:Infinity": 9, + "b:42:6:42:26:42:26:42:59": 9, + "s:43:4:53:Infinity": 10, + "f:44:6:44:7": 3, + "s:45:8:52:Infinity": 11, + "b:45:8:45:Infinity:46:8:46:Infinity:47:8:47:Infinity:48:8:48:Infinity:49:8:49:Infinity:50:8:50:Infinity:51:8:51:Infinity:52:8:52:Infinity": 10, + "b:57:2:69:Infinity:undefined:undefined:undefined:undefined": 11, + "s:57:2:69:Infinity": 12, + "b:57:6:57:25:57:25:57:57": 12, + "s:58:4:68:Infinity": 13, + "f:59:6:59:7": 4, + "s:60:8:67:Infinity": 14, + "b:60:8:60:Infinity:61:8:61:Infinity:62:8:62:Infinity:63:8:63:Infinity:64:8:64:Infinity:65:8:65:Infinity:66:8:66:Infinity:67:8:67:Infinity": 13, + "b:72:2:74:Infinity:undefined:undefined:undefined:undefined": 14, + "s:72:2:74:Infinity": 15, + "b:72:6:72:22:72:22:72:56": 15, + "s:73:4:73:Infinity": 16, + "s:76:2:76:Infinity": 17 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts", + "statementMap": { + "0": { "start": { "line": 7, "column": 2 }, "end": { "line": 7, "column": null } }, + "1": { "start": { "line": 14, "column": 2 }, "end": { "line": 22, "column": null } }, + "2": { "start": { "line": 32, "column": 2 }, "end": { "line": 36, "column": null } }, + "3": { "start": { "line": 43, "column": 2 }, "end": { "line": 43, "column": null } }, + "4": { "start": { "line": 43, "column": 41 }, "end": { "line": 43, "column": 58 } }, + "5": { "start": { "line": 50, "column": 2 }, "end": { "line": 53, "column": null } }, + "6": { "start": { "line": 50, "column": 49 }, "end": { "line": 53, "column": 4 } } + }, + "fnMap": { + "0": { + "name": "generateId", + "decl": { "start": { "line": 6, "column": 16 }, "end": { "line": 6, "column": 37 } }, + "loc": { "start": { "line": 6, "column": 37 }, "end": { "line": 8, "column": null } }, + "line": 6 + }, + "1": { + "name": "createSearchTermObject", + "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 39 } }, + "loc": { "start": { "line": 13, "column": 97 }, "end": { "line": 23, "column": null } }, + "line": 13 + }, + "2": { + "name": "updateSearchTermObject", + "decl": { "start": { "line": 28, "column": 16 }, "end": { "line": 28, "column": null } }, + "loc": { "start": { "line": 31, "column": 14 }, "end": { "line": 37, "column": null } }, + "line": 31 + }, + "3": { + "name": "sortSearchTermsByOrder", + "decl": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 39 } }, + "loc": { "start": { "line": 42, "column": 80 }, "end": { "line": 44, "column": null } }, + "line": 42 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 43, "column": 31 }, "end": { "line": 43, "column": 32 } }, + "loc": { "start": { "line": 43, "column": 41 }, "end": { "line": 43, "column": 58 } }, + "line": 43 + }, + "5": { + "name": "reorderSearchTermsArray", + "decl": { "start": { "line": 49, "column": 16 }, "end": { "line": 49, "column": 40 } }, + "loc": { "start": { "line": 49, "column": 81 }, "end": { "line": 54, "column": null } }, + "line": 49 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 50, "column": 25 }, "end": { "line": 50, "column": 26 } }, + "loc": { "start": { "line": 50, "column": 49 }, "end": { "line": 53, "column": 4 } }, + "line": 50 + } + }, + "branchMap": {}, + "s": { "0": 2, "1": 1, "2": 1, "3": 2, "4": 5, "5": 2, "6": 2 }, + "f": { "0": 2, "1": 1, "2": 1, "3": 2, "4": 5, "5": 2, "6": 2 }, + "b": {}, + "meta": { + "lastBranch": 0, + "lastFunction": 7, + "lastStatement": 7, + "seen": { + "f:6:16:6:37": 0, + "s:7:2:7:Infinity": 0, + "f:13:16:13:39": 1, + "s:14:2:22:Infinity": 1, + "f:28:16:28:Infinity": 2, + "s:32:2:36:Infinity": 2, + "f:42:16:42:39": 3, + "s:43:2:43:Infinity": 3, + "f:43:31:43:32": 4, + "s:43:41:43:58": 4, + "f:49:16:49:40": 5, + "s:50:2:53:Infinity": 5, + "f:50:25:50:26": 6, + "s:50:49:53:4": 6 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts", + "statementMap": { + "0": { "start": { "line": 7, "column": 2 }, "end": { "line": 7, "column": null } }, + "1": { "start": { "line": 14, "column": 2 }, "end": { "line": 21, "column": null } }, + "2": { "start": { "line": 28, "column": 2 }, "end": { "line": 32, "column": null } }, + "3": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": null } }, + "4": { "start": { "line": 39, "column": 39 }, "end": { "line": 39, "column": 56 } }, + "5": { "start": { "line": 46, "column": 2 }, "end": { "line": 49, "column": null } }, + "6": { "start": { "line": 46, "column": 45 }, "end": { "line": 49, "column": 4 } }, + "7": { "start": { "line": 59, "column": 31 }, "end": { "line": 59, "column": null } }, + "8": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, + "9": { "start": { "line": 61, "column": 21 }, "end": { "line": 61, "column": null } }, + "10": { "start": { "line": 64, "column": 2 }, "end": { "line": 71, "column": null } }, + "11": { "start": { "line": 65, "column": 18 }, "end": { "line": 65, "column": null } }, + "12": { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, + "13": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, + "14": { "start": { "line": 67, "column": 39 }, "end": { "line": 67, "column": null } }, + "15": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, + "16": { "start": { "line": 69, "column": 34 }, "end": { "line": 69, "column": null } }, + "17": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": null } }, + "18": { "start": { "line": 84, "column": 15 }, "end": { "line": 84, "column": null } }, + "19": { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, + "20": { "start": { "line": 88, "column": 4 }, "end": { "line": 91, "column": null } }, + "21": { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, + "22": { "start": { "line": 89, "column": 36 }, "end": { "line": 89, "column": null } }, + "23": { "start": { "line": 90, "column": 6 }, "end": { "line": 90, "column": null } }, + "24": { "start": { "line": 95, "column": 2 }, "end": { "line": 98, "column": null } }, + "25": { "start": { "line": 96, "column": 18 }, "end": { "line": 96, "column": null } }, + "26": { "start": { "line": 97, "column": 4 }, "end": { "line": 97, "column": null } }, + "27": { "start": { "line": 100, "column": 2 }, "end": { "line": 100, "column": null } } + }, + "fnMap": { + "0": { + "name": "generateTemplateId", + "decl": { "start": { "line": 6, "column": 16 }, "end": { "line": 6, "column": 45 } }, + "loc": { "start": { "line": 6, "column": 45 }, "end": { "line": 8, "column": null } }, + "line": 6 + }, + "1": { + "name": "createTemplateObject", + "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 37 } }, + "loc": { "start": { "line": 13, "column": 93 }, "end": { "line": 22, "column": null } }, + "line": 13 + }, + "2": { + "name": "updateTemplateObject", + "decl": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": 37 } }, + "loc": { "start": { "line": 27, "column": 95 }, "end": { "line": 33, "column": null } }, + "line": 27 + }, + "3": { + "name": "sortTemplatesByOrder", + "decl": { "start": { "line": 38, "column": 16 }, "end": { "line": 38, "column": 37 } }, + "loc": { "start": { "line": 38, "column": 72 }, "end": { "line": 40, "column": null } }, + "line": 38 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 39, "column": 29 }, "end": { "line": 39, "column": 30 } }, + "loc": { "start": { "line": 39, "column": 39 }, "end": { "line": 39, "column": 56 } }, + "line": 39 + }, + "5": { + "name": "reorderTemplatesArray", + "decl": { "start": { "line": 45, "column": 16 }, "end": { "line": 45, "column": 38 } }, + "loc": { "start": { "line": 45, "column": 73 }, "end": { "line": 50, "column": null } }, + "line": 45 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 46, "column": 23 }, "end": { "line": 46, "column": 24 } }, + "loc": { "start": { "line": 46, "column": 45 }, "end": { "line": 49, "column": 4 } }, + "line": 46 + }, + "7": { + "name": "extractTemplateTokens", + "decl": { "start": { "line": 55, "column": 16 }, "end": { "line": 55, "column": 38 } }, + "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 74, "column": null } }, + "line": 58 + }, + "8": { + "name": "generateTextFromTemplate", + "decl": { "start": { "line": 79, "column": 16 }, "end": { "line": 79, "column": null } }, + "loc": { "start": { "line": 83, "column": 10 }, "end": { "line": 101, "column": null } }, + "line": 83 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 88, "column": 42 }, "end": { "line": 88, "column": 43 } }, + "loc": { "start": { "line": 88, "column": 64 }, "end": { "line": 91, "column": 5 } }, + "line": 88 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 95, "column": 41 }, "end": { "line": 95, "column": 42 } }, + "loc": { "start": { "line": 95, "column": 63 }, "end": { "line": 98, "column": 3 } }, + "line": 95 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, + { "start": { "line": 68, "column": 11 }, "end": { "line": 70, "column": null } } + ], + "line": 66 + }, + "1": { + "loc": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 67 + }, + "2": { + "loc": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 69 + }, + "3": { + "loc": { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 87 + }, + "4": { + "loc": { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 89 + }, + "5": { + "loc": { "start": { "line": 90, "column": 13 }, "end": { "line": 90, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 90, "column": 37 }, "end": { "line": 90, "column": 59 } }, + { "start": { "line": 90, "column": 59 }, "end": { "line": 90, "column": null } } + ], + "line": 90 + }, + "6": { + "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 97, "column": 55 }, "end": { "line": 97, "column": 77 } }, + { "start": { "line": 97, "column": 77 }, "end": { "line": 97, "column": null } } + ], + "line": 97 + }, + "7": { + "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 55 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 25 } }, + { "start": { "line": 97, "column": 25 }, "end": { "line": 97, "column": 55 } } + ], + "line": 97 + } + }, + "s": { + "0": 2, + "1": 1, + "2": 1, + "3": 2, + "4": 5, + "5": 2, + "6": 2, + "7": 6, + "8": 6, + "9": 6, + "10": 6, + "11": 10, + "12": 10, + "13": 5, + "14": 4, + "15": 5, + "16": 4, + "17": 6, + "18": 9, + "19": 9, + "20": 4, + "21": 6, + "22": 2, + "23": 4, + "24": 9, + "25": 8, + "26": 8, + "27": 9 + }, + "f": { + "0": 2, + "1": 1, + "2": 1, + "3": 2, + "4": 5, + "5": 2, + "6": 2, + "7": 6, + "8": 9, + "9": 6, + "10": 8 + }, + "b": { + "0": [5, 5], + "1": [4, 1], + "2": [4, 1], + "3": [4, 5], + "4": [2, 4], + "5": [3, 1], + "6": [7, 1], + "7": [8, 8] + }, + "meta": { + "lastBranch": 8, + "lastFunction": 11, + "lastStatement": 28, + "seen": { + "f:6:16:6:45": 0, + "s:7:2:7:Infinity": 0, + "f:13:16:13:37": 1, + "s:14:2:21:Infinity": 1, + "f:27:16:27:37": 2, + "s:28:2:32:Infinity": 2, + "f:38:16:38:37": 3, + "s:39:2:39:Infinity": 3, + "f:39:29:39:30": 4, + "s:39:39:39:56": 4, + "f:45:16:45:38": 5, + "s:46:2:49:Infinity": 5, + "f:46:23:46:24": 6, + "s:46:45:49:4": 6, + "f:55:16:55:38": 7, + "s:59:31:59:Infinity": 7, + "s:60:26:60:Infinity": 8, + "s:61:21:61:Infinity": 9, + "s:64:2:71:Infinity": 10, + "s:65:18:65:Infinity": 11, + "b:66:4:70:Infinity:68:11:70:Infinity": 0, + "s:66:4:70:Infinity": 12, + "b:67:6:67:Infinity:undefined:undefined:undefined:undefined": 1, + "s:67:6:67:Infinity": 13, + "s:67:39:67:Infinity": 14, + "b:69:6:69:Infinity:undefined:undefined:undefined:undefined": 2, + "s:69:6:69:Infinity": 15, + "s:69:34:69:Infinity": 16, + "s:73:2:73:Infinity": 17, + "f:79:16:79:Infinity": 8, + "s:84:15:84:Infinity": 18, + "b:87:2:92:Infinity:undefined:undefined:undefined:undefined": 3, + "s:87:2:92:Infinity": 19, + "s:88:4:91:Infinity": 20, + "f:88:42:88:43": 9, + "b:89:6:89:Infinity:undefined:undefined:undefined:undefined": 4, + "s:89:6:89:Infinity": 21, + "s:89:36:89:Infinity": 22, + "s:90:6:90:Infinity": 23, + "b:90:37:90:59:90:59:90:Infinity": 5, + "s:95:2:98:Infinity": 24, + "f:95:41:95:42": 10, + "s:96:18:96:Infinity": 25, + "s:97:4:97:Infinity": 26, + "b:97:55:97:77:97:77:97:Infinity": 6, + "b:97:11:97:25:97:25:97:55": 7, + "s:100:2:100:Infinity": 27 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx", + "statementMap": { + "0": { "start": { "line": 10, "column": 28 }, "end": { "line": 21, "column": null } }, + "1": { "start": { "line": 11, "column": 18 }, "end": { "line": 11, "column": null } }, + "2": { "start": { "line": 13, "column": 2 }, "end": { "line": 19, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": 29 } }, + "loc": { "start": { "line": 10, "column": 61 }, "end": { "line": 21, "column": null } }, + "line": 10 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 34 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 23 } }, + { "start": { "line": 17, "column": 23 }, "end": { "line": 17, "column": 34 } } + ], + "line": 17 + } + }, + "s": { "0": 1, "1": 2, "2": 2 }, + "f": { "0": 2 }, + "b": { "0": [2, 1] }, + "meta": { + "lastBranch": 1, + "lastFunction": 1, + "lastStatement": 3, + "seen": { + "s:10:28:21:Infinity": 0, + "f:10:28:10:29": 0, + "s:11:18:11:Infinity": 1, + "s:13:2:19:Infinity": 2, + "b:17:9:17:23:17:23:17:34": 0 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx", + "statementMap": { + "0": { "start": { "line": 10, "column": 24 }, "end": { "line": 18, "column": null } }, + "1": { "start": { "line": 11, "column": 18 }, "end": { "line": 11, "column": null } }, + "2": { "start": { "line": 12, "column": 2 }, "end": { "line": 16, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 10, "column": 24 }, "end": { "line": 10, "column": 25 } }, + "loc": { "start": { "line": 10, "column": 53 }, "end": { "line": 18, "column": null } }, + "line": 10 + } + }, + "branchMap": {}, + "s": { "0": 1, "1": 1, "2": 1 }, + "f": { "0": 1 }, + "b": {}, + "meta": { + "lastBranch": 0, + "lastFunction": 1, + "lastStatement": 3, + "seen": { + "s:10:24:18:Infinity": 0, + "f:10:24:10:25": 0, + "s:11:18:11:Infinity": 1, + "s:12:2:16:Infinity": 2 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx", + "statementMap": { + "0": { "start": { "line": 11, "column": 25 }, "end": { "line": 99, "column": null } }, + "1": { "start": { "line": 12, "column": 18 }, "end": { "line": 12, "column": null } }, + "2": { "start": { "line": 13, "column": 8 }, "end": { "line": 13, "column": null } }, + "3": { "start": { "line": 15, "column": 32 }, "end": { "line": 55, "column": null } }, + "4": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": null } }, + "5": { "start": { "line": 18, "column": 4 }, "end": { "line": 54, "column": null } }, + "6": { "start": { "line": 19, "column": 19 }, "end": { "line": 19, "column": null } }, + "7": { "start": { "line": 20, "column": 29 }, "end": { "line": 20, "column": null } }, + "8": { "start": { "line": 21, "column": 28 }, "end": { "line": 21, "column": null } }, + "9": { "start": { "line": 22, "column": 28 }, "end": { "line": 22, "column": null } }, + "10": { "start": { "line": 23, "column": 27 }, "end": { "line": 23, "column": null } }, + "11": { "start": { "line": 26, "column": 17 }, "end": { "line": 26, "column": null } }, + "12": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": null } }, + "13": { "start": { "line": 30, "column": 6 }, "end": { "line": 33, "column": null } }, + "14": { "start": { "line": 32, "column": 8 }, "end": { "line": 32, "column": null } }, + "15": { "start": { "line": 36, "column": 6 }, "end": { "line": 38, "column": null } }, + "16": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": null } }, + "17": { "start": { "line": 41, "column": 6 }, "end": { "line": 44, "column": null } }, + "18": { "start": { "line": 43, "column": 8 }, "end": { "line": 43, "column": null } }, + "19": { "start": { "line": 47, "column": 6 }, "end": { "line": 49, "column": null } }, + "20": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": null } }, + "21": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": null } }, + "22": { "start": { "line": 52, "column": 6 }, "end": { "line": 52, "column": null } }, + "23": { "start": { "line": 53, "column": 6 }, "end": { "line": 53, "column": null } }, + "24": { "start": { "line": 57, "column": 2 }, "end": { "line": 97, "column": null } }, + "25": { "start": { "line": 66, "column": 25 }, "end": { "line": 66, "column": null } }, + "26": { "start": { "line": 67, "column": 10 }, "end": { "line": 67, "column": null } }, + "27": { "start": { "line": 68, "column": 27 }, "end": { "line": 68, "column": null } }, + "28": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": null } }, + "29": { "start": { "line": 70, "column": 10 }, "end": { "line": 70, "column": null } }, + "30": { "start": { "line": 71, "column": 10 }, "end": { "line": 71, "column": null } }, + "31": { "start": { "line": 72, "column": 10 }, "end": { "line": 72, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 11, "column": 25 }, "end": { "line": 11, "column": 26 } }, + "loc": { "start": { "line": 11, "column": 55 }, "end": { "line": 99, "column": null } }, + "line": 11 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 15, "column": 32 }, "end": { "line": 15, "column": 33 } }, + "loc": { "start": { "line": 15, "column": 75 }, "end": { "line": 55, "column": null } }, + "line": 15 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 64, "column": 17 }, "end": { "line": 64, "column": 18 } }, + "loc": { "start": { "line": 64, "column": 24 }, "end": { "line": 73, "column": null } }, + "line": 64 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 18, "column": 4 }, "end": { "line": 54, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 18, "column": 4 }, "end": { "line": 54, "column": null } } + ], + "line": 18 + }, + "1": { + "loc": { "start": { "line": 30, "column": 6 }, "end": { "line": 33, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 30, "column": 6 }, "end": { "line": 33, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 30 + }, + "2": { + "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 38, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 36, "column": 6 }, "end": { "line": 38, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 36 + }, + "3": { + "loc": { "start": { "line": 41, "column": 6 }, "end": { "line": 44, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 41, "column": 6 }, "end": { "line": 44, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 41 + }, + "4": { + "loc": { "start": { "line": 47, "column": 6 }, "end": { "line": 49, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 47, "column": 6 }, "end": { "line": 49, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 47 + }, + "5": { + "loc": { "start": { "line": 70, "column": 33 }, "end": { "line": 70, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 70, "column": 43 }, "end": { "line": 70, "column": 55 } }, + { "start": { "line": 70, "column": 55 }, "end": { "line": 70, "column": null } } + ], + "line": 70 + }, + "6": { + "loc": { "start": { "line": 88, "column": 11 }, "end": { "line": 90, "column": 31 } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 89, "column": 14 }, "end": { "line": 89, "column": null } }, + { "start": { "line": 90, "column": 14 }, "end": { "line": 90, "column": 31 } } + ], + "line": 88 + } + }, + "s": { + "0": 1, + "1": 11, + "2": 11, + "3": 11, + "4": 5, + "5": 5, + "6": 5, + "7": 5, + "8": 5, + "9": 5, + "10": 5, + "11": 5, + "12": 5, + "13": 5, + "14": 2, + "15": 5, + "16": 1, + "17": 5, + "18": 1, + "19": 5, + "20": 4, + "21": 5, + "22": 5, + "23": 5, + "24": 11, + "25": 2, + "26": 2, + "27": 2, + "28": 2, + "29": 2, + "30": 2, + "31": 2 + }, + "f": { "0": 11, "1": 5, "2": 2 }, + "b": { + "0": [5], + "1": [2, 3], + "2": [1, 4], + "3": [1, 4], + "4": [4, 1], + "5": [1, 1], + "6": [10, 1] + }, + "meta": { + "lastBranch": 7, + "lastFunction": 3, + "lastStatement": 32, + "seen": { + "s:11:25:99:Infinity": 0, + "f:11:25:11:26": 0, + "s:12:18:12:Infinity": 1, + "s:13:8:13:Infinity": 2, + "s:15:32:55:Infinity": 3, + "f:15:32:15:33": 1, + "s:16:20:16:Infinity": 4, + "b:18:4:54:Infinity": 0, + "s:18:4:54:Infinity": 5, + "s:19:19:19:Infinity": 6, + "s:20:29:20:Infinity": 7, + "s:21:28:21:Infinity": 8, + "s:22:28:22:Infinity": 9, + "s:23:27:23:Infinity": 10, + "s:26:17:26:Infinity": 11, + "s:27:16:27:Infinity": 12, + "b:30:6:33:Infinity:undefined:undefined:undefined:undefined": 1, + "s:30:6:33:Infinity": 13, + "s:32:8:32:Infinity": 14, + "b:36:6:38:Infinity:undefined:undefined:undefined:undefined": 2, + "s:36:6:38:Infinity": 15, + "s:37:8:37:Infinity": 16, + "b:41:6:44:Infinity:undefined:undefined:undefined:undefined": 3, + "s:41:6:44:Infinity": 17, + "s:43:8:43:Infinity": 18, + "b:47:6:49:Infinity:undefined:undefined:undefined:undefined": 4, + "s:47:6:49:Infinity": 19, + "s:48:8:48:Infinity": 20, + "s:51:6:51:Infinity": 21, + "s:52:6:52:Infinity": 22, + "s:53:6:53:Infinity": 23, + "s:57:2:97:Infinity": 24, + "f:64:17:64:18": 2, + "s:66:25:66:Infinity": 25, + "s:67:10:67:Infinity": 26, + "s:68:27:68:Infinity": 27, + "s:69:10:69:Infinity": 28, + "s:70:10:70:Infinity": 29, + "b:70:43:70:55:70:55:70:Infinity": 5, + "s:71:10:71:Infinity": 30, + "s:72:10:72:Infinity": 31, + "b:89:14:89:Infinity:90:14:90:31": 6 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx", + "statementMap": { + "0": { "start": { "line": 17, "column": 24 }, "end": { "line": 223, "column": null } }, + "1": { "start": { "line": 18, "column": 18 }, "end": { "line": 18, "column": null } }, + "2": { "start": { "line": 19, "column": 33 }, "end": { "line": 19, "column": null } }, + "3": { "start": { "line": 22, "column": 32 }, "end": { "line": 22, "column": null } }, + "4": { "start": { "line": 23, "column": 32 }, "end": { "line": 23, "column": null } }, + "5": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": null } }, + "6": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": null } }, + "7": { "start": { "line": 28, "column": 2 }, "end": { "line": 41, "column": null } }, + "8": { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, + "9": { "start": { "line": 30, "column": 23 }, "end": { "line": 30, "column": null } }, + "10": { "start": { "line": 31, "column": 6 }, "end": { "line": 31, "column": null } }, + "11": { "start": { "line": 32, "column": 24 }, "end": { "line": 32, "column": null } }, + "12": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": null } }, + "13": { "start": { "line": 36, "column": 24 }, "end": { "line": 36, "column": null } }, + "14": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + "15": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": null } }, + "16": { "start": { "line": 44, "column": 8 }, "end": { "line": 58, "column": null } }, + "17": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + "18": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, + "19": { "start": { "line": 50, "column": 6 }, "end": { "line": 55, "column": null } }, + "20": { "start": { "line": 52, "column": 8 }, "end": { "line": 54, "column": null } }, + "21": { "start": { "line": 53, "column": 10 }, "end": { "line": 53, "column": null } }, + "22": { "start": { "line": 61, "column": 2 }, "end": { "line": 67, "column": null } }, + "23": { "start": { "line": 62, "column": 4 }, "end": { "line": 66, "column": null } }, + "24": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + "25": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, + "26": { "start": { "line": 69, "column": 26 }, "end": { "line": 75, "column": null } }, + "27": { "start": { "line": 70, "column": 4 }, "end": { "line": 74, "column": null } }, + "28": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": null } }, + "29": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": null } }, + "30": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": null } }, + "31": { "start": { "line": 77, "column": 27 }, "end": { "line": 81, "column": null } }, + "32": { "start": { "line": 78, "column": 21 }, "end": { "line": 78, "column": null } }, + "33": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, + "34": { "start": { "line": 80, "column": 4 }, "end": { "line": 80, "column": null } }, + "35": { "start": { "line": 83, "column": 25 }, "end": { "line": 93, "column": null } }, + "36": { "start": { "line": 84, "column": 4 }, "end": { "line": 84, "column": null } }, + "37": { "start": { "line": 85, "column": 4 }, "end": { "line": 85, "column": null } }, + "38": { "start": { "line": 87, "column": 4 }, "end": { "line": 92, "column": null } }, + "39": { "start": { "line": 88, "column": 6 }, "end": { "line": 88, "column": null } }, + "40": { "start": { "line": 89, "column": 6 }, "end": { "line": 91, "column": null } }, + "41": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": null } }, + "42": { "start": { "line": 95, "column": 28 }, "end": { "line": 107, "column": null } }, + "43": { "start": { "line": 96, "column": 4 }, "end": { "line": 106, "column": null } }, + "44": { "start": { "line": 97, "column": 6 }, "end": { "line": 97, "column": null } }, + "45": { "start": { "line": 98, "column": 6 }, "end": { "line": 98, "column": null } }, + "46": { "start": { "line": 99, "column": 4 }, "end": { "line": 106, "column": null } }, + "47": { "start": { "line": 100, "column": 6 }, "end": { "line": 100, "column": null } }, + "48": { "start": { "line": 101, "column": 6 }, "end": { "line": 101, "column": null } }, + "49": { "start": { "line": 102, "column": 6 }, "end": { "line": 102, "column": null } }, + "50": { "start": { "line": 103, "column": 6 }, "end": { "line": 105, "column": null } }, + "51": { "start": { "line": 104, "column": 8 }, "end": { "line": 104, "column": null } }, + "52": { "start": { "line": 109, "column": 2 }, "end": { "line": 222, "column": null } }, + "53": { "start": { "line": 111, "column": 28 }, "end": { "line": 111, "column": null } }, + "54": { "start": { "line": 113, "column": 4 }, "end": { "line": 200, "column": null } }, + "55": { "start": { "line": 114, "column": 12 }, "end": { "line": 114, "column": null } }, + "56": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": null } }, + "57": { "start": { "line": 116, "column": 26 }, "end": { "line": 116, "column": null } }, + "58": { "start": { "line": 117, "column": 30 }, "end": { "line": 117, "column": null } }, + "59": { "start": { "line": 119, "column": 6 }, "end": { "line": 177, "column": null } }, + "60": { "start": { "line": 149, "column": 16 }, "end": { "line": 151, "column": null } }, + "61": { "start": { "line": 181, "column": 6 }, "end": { "line": 198, "column": null } }, + "62": { "start": { "line": 205, "column": 6 }, "end": { "line": 207, "column": null } }, + "63": { "start": { "line": 209, "column": 4 }, "end": { "line": 220, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 17, "column": 24 }, "end": { "line": 17, "column": 25 } }, + "loc": { "start": { "line": 17, "column": 80 }, "end": { "line": 223, "column": null } }, + "line": 17 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 28, "column": 12 }, "end": { "line": 28, "column": 18 } }, + "loc": { "start": { "line": 28, "column": 18 }, "end": { "line": 41, "column": 5 } }, + "line": 28 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 5 } }, + "loc": { "start": { "line": 45, "column": 28 }, "end": { "line": 56, "column": null } }, + "line": 45 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 50, "column": 39 }, "end": { "line": 50, "column": 45 } }, + "loc": { "start": { "line": 50, "column": 45 }, "end": { "line": 55, "column": 9 } }, + "line": 50 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 61, "column": 12 }, "end": { "line": 61, "column": 18 } }, + "loc": { "start": { "line": 61, "column": 18 }, "end": { "line": 67, "column": 5 } }, + "line": 61 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 62, "column": 11 }, "end": { "line": 62, "column": 17 } }, + "loc": { "start": { "line": 62, "column": 17 }, "end": { "line": 66, "column": null } }, + "line": 62 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 69, "column": 26 }, "end": { "line": 69, "column": 32 } }, + "loc": { "start": { "line": 69, "column": 32 }, "end": { "line": 75, "column": null } }, + "line": 69 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 77, "column": 27 }, "end": { "line": 77, "column": 28 } }, + "loc": { "start": { "line": 77, "column": 74 }, "end": { "line": 81, "column": null } }, + "line": 77 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 83, "column": 25 }, "end": { "line": 83, "column": 31 } }, + "loc": { "start": { "line": 83, "column": 31 }, "end": { "line": 93, "column": null } }, + "line": 83 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 95, "column": 28 }, "end": { "line": 95, "column": 29 } }, + "loc": { "start": { "line": 95, "column": 77 }, "end": { "line": 107, "column": null } }, + "line": 95 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 148, "column": 22 }, "end": { "line": 148, "column": 23 } }, + "loc": { "start": { "line": 149, "column": 16 }, "end": { "line": 151, "column": null } }, + "line": 149 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 29 + }, + "1": { + "loc": { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": 42 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": 21 } }, + { "start": { "line": 29, "column": 21 }, "end": { "line": 29, "column": 42 } } + ], + "line": 29 + }, + "2": { + "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 37 + }, + "3": { + "loc": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 46 + }, + "4": { + "loc": { "start": { "line": 52, "column": 8 }, "end": { "line": 54, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 52, "column": 8 }, "end": { "line": 54, "column": null } } + ], + "line": 52 + }, + "5": { + "loc": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 63 + }, + "6": { + "loc": { "start": { "line": 70, "column": 4 }, "end": { "line": 74, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 70, "column": 4 }, "end": { "line": 74, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 70 + }, + "7": { + "loc": { "start": { "line": 87, "column": 4 }, "end": { "line": 92, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 87, "column": 4 }, "end": { "line": 92, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 87 + }, + "8": { + "loc": { "start": { "line": 89, "column": 6 }, "end": { "line": 91, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 89, "column": 6 }, "end": { "line": 91, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 89 + }, + "9": { + "loc": { "start": { "line": 96, "column": 4 }, "end": { "line": 106, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 96, "column": 4 }, "end": { "line": 106, "column": null } }, + { "start": { "line": 99, "column": 4 }, "end": { "line": 106, "column": null } } + ], + "line": 96 + }, + "10": { + "loc": { "start": { "line": 96, "column": 8 }, "end": { "line": 96, "column": 42 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 96, "column": 8 }, "end": { "line": 96, "column": 29 } }, + { "start": { "line": 96, "column": 29 }, "end": { "line": 96, "column": 42 } } + ], + "line": 96 + }, + "11": { + "loc": { "start": { "line": 99, "column": 4 }, "end": { "line": 106, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 99, "column": 4 }, "end": { "line": 106, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 99 + }, + "12": { + "loc": { "start": { "line": 103, "column": 6 }, "end": { "line": 105, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 103, "column": 6 }, "end": { "line": 105, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 103 + }, + "13": { + "loc": { "start": { "line": 109, "column": 2 }, "end": { "line": 222, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 109, "column": 2 }, "end": { "line": 222, "column": null } }, + { "start": { "line": 201, "column": 9 }, "end": { "line": 222, "column": null } } + ], + "line": 109 + }, + "14": { + "loc": { "start": { "line": 111, "column": 28 }, "end": { "line": 111, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 111, "column": 28 }, "end": { "line": 111, "column": 54 } }, + { "start": { "line": 111, "column": 54 }, "end": { "line": 111, "column": 69 } }, + { "start": { "line": 111, "column": 69 }, "end": { "line": 111, "column": null } } + ], + "line": 111 + }, + "15": { + "loc": { "start": { "line": 113, "column": 4 }, "end": { "line": 200, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 113, "column": 4 }, "end": { "line": 200, "column": null } }, + { "start": { "line": 179, "column": 11 }, "end": { "line": 200, "column": null } } + ], + "line": 113 + }, + "16": { + "loc": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 115, "column": 36 }, "end": { "line": 115, "column": 52 } }, + { "start": { "line": 115, "column": 52 }, "end": { "line": 115, "column": null } } + ], + "line": 115 + }, + "17": { + "loc": { "start": { "line": 116, "column": 26 }, "end": { "line": 116, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 116, "column": 36 }, "end": { "line": 116, "column": 48 } }, + { "start": { "line": 116, "column": 48 }, "end": { "line": 116, "column": null } } + ], + "line": 116 + }, + "18": { + "loc": { "start": { "line": 117, "column": 30 }, "end": { "line": 117, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 117, "column": 40 }, "end": { "line": 117, "column": 52 } }, + { "start": { "line": 117, "column": 52 }, "end": { "line": 117, "column": null } } + ], + "line": 117 + }, + "19": { + "loc": { "start": { "line": 172, "column": 28 }, "end": { "line": 172, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 172, "column": 38 }, "end": { "line": 172, "column": 47 } }, + { "start": { "line": 172, "column": 47 }, "end": { "line": 172, "column": null } } + ], + "line": 172 + }, + "20": { + "loc": { "start": { "line": 205, "column": 6 }, "end": { "line": 207, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 206, "column": 10 }, "end": { "line": 206, "column": null } }, + { "start": { "line": 207, "column": 10 }, "end": { "line": 207, "column": null } } + ], + "line": 205 + }, + "21": { + "loc": { "start": { "line": 217, "column": 15 }, "end": { "line": 217, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 217, "column": 44 }, "end": { "line": 217, "column": 59 } }, + { "start": { "line": 217, "column": 59 }, "end": { "line": 217, "column": null } } + ], + "line": 217 + } + }, + "s": { + "0": 1, + "1": 62, + "2": 62, + "3": 62, + "4": 62, + "5": 62, + "6": 62, + "7": 62, + "8": 62, + "9": 28, + "10": 28, + "11": 28, + "12": 28, + "13": 28, + "14": 28, + "15": 4, + "16": 62, + "17": 9, + "18": 2, + "19": 9, + "20": 2, + "21": 2, + "22": 62, + "23": 26, + "24": 26, + "25": 7, + "26": 62, + "27": 20, + "28": 19, + "29": 19, + "30": 19, + "31": 62, + "32": 9, + "33": 9, + "34": 9, + "35": 62, + "36": 5, + "37": 5, + "38": 5, + "39": 3, + "40": 3, + "41": 2, + "42": 62, + "43": 6, + "44": 1, + "45": 1, + "46": 5, + "47": 3, + "48": 3, + "49": 3, + "50": 3, + "51": 1, + "52": 62, + "53": 28, + "54": 28, + "55": 4, + "56": 4, + "57": 4, + "58": 4, + "59": 4, + "60": 4, + "61": 24, + "62": 34, + "63": 34 + }, + "f": { + "0": 62, + "1": 62, + "2": 9, + "3": 2, + "4": 26, + "5": 26, + "6": 20, + "7": 9, + "8": 5, + "9": 6, + "10": 4 + }, + "b": { + "0": [28, 34], + "1": [62, 28], + "2": [4, 24], + "3": [2, 7], + "4": [2], + "5": [7, 19], + "6": [19, 1], + "7": [3, 2], + "8": [2, 1], + "9": [1, 5], + "10": [6, 2], + "11": [3, 2], + "12": [1, 2], + "13": [28, 34], + "14": [28, 4, 4], + "15": [4, 24], + "16": [1, 3], + "17": [1, 3], + "18": [1, 3], + "19": [1, 3], + "20": [4, 30], + "21": [4, 30] + }, + "meta": { + "lastBranch": 22, + "lastFunction": 11, + "lastStatement": 64, + "seen": { + "s:17:24:223:Infinity": 0, + "f:17:24:17:25": 0, + "s:18:18:18:Infinity": 1, + "s:19:33:19:Infinity": 2, + "s:22:32:22:Infinity": 3, + "s:23:32:23:Infinity": 4, + "s:24:8:24:Infinity": 5, + "s:25:8:25:Infinity": 6, + "s:28:2:41:Infinity": 7, + "f:28:12:28:18": 1, + "b:29:4:40:Infinity:undefined:undefined:undefined:undefined": 0, + "s:29:4:40:Infinity": 8, + "b:29:8:29:21:29:21:29:42": 1, + "s:30:23:30:Infinity": 9, + "s:31:6:31:Infinity": 10, + "s:32:24:32:Infinity": 11, + "s:33:6:33:Infinity": 12, + "s:36:24:36:Infinity": 13, + "b:37:6:39:Infinity:undefined:undefined:undefined:undefined": 2, + "s:37:6:39:Infinity": 14, + "s:38:9:38:Infinity": 15, + "s:44:8:58:Infinity": 16, + "f:45:4:45:5": 2, + "b:46:6:48:Infinity:undefined:undefined:undefined:undefined": 3, + "s:46:6:48:Infinity": 17, + "s:47:8:47:Infinity": 18, + "s:50:6:55:Infinity": 19, + "f:50:39:50:45": 3, + "b:52:8:54:Infinity": 4, + "s:52:8:54:Infinity": 20, + "s:53:10:53:Infinity": 21, + "s:61:2:67:Infinity": 22, + "f:61:12:61:18": 4, + "s:62:4:66:Infinity": 23, + "f:62:11:62:17": 5, + "b:63:6:65:Infinity:undefined:undefined:undefined:undefined": 5, + "s:63:6:65:Infinity": 24, + "s:64:8:64:Infinity": 25, + "s:69:26:75:Infinity": 26, + "f:69:26:69:32": 6, + "b:70:4:74:Infinity:undefined:undefined:undefined:undefined": 6, + "s:70:4:74:Infinity": 27, + "s:71:6:71:Infinity": 28, + "s:72:6:72:Infinity": 29, + "s:73:6:73:Infinity": 30, + "s:77:27:81:Infinity": 31, + "f:77:27:77:28": 7, + "s:78:21:78:Infinity": 32, + "s:79:4:79:Infinity": 33, + "s:80:4:80:Infinity": 34, + "s:83:25:93:Infinity": 35, + "f:83:25:83:31": 8, + "s:84:4:84:Infinity": 36, + "s:85:4:85:Infinity": 37, + "b:87:4:92:Infinity:undefined:undefined:undefined:undefined": 7, + "s:87:4:92:Infinity": 38, + "s:88:6:88:Infinity": 39, + "b:89:6:91:Infinity:undefined:undefined:undefined:undefined": 8, + "s:89:6:91:Infinity": 40, + "s:90:8:90:Infinity": 41, + "s:95:28:107:Infinity": 42, + "f:95:28:95:29": 9, + "b:96:4:106:Infinity:99:4:106:Infinity": 9, + "s:96:4:106:Infinity": 43, + "b:96:8:96:29:96:29:96:42": 10, + "s:97:6:97:Infinity": 44, + "s:98:6:98:Infinity": 45, + "b:99:4:106:Infinity:undefined:undefined:undefined:undefined": 11, + "s:99:4:106:Infinity": 46, + "s:100:6:100:Infinity": 47, + "s:101:6:101:Infinity": 48, + "s:102:6:102:Infinity": 49, + "b:103:6:105:Infinity:undefined:undefined:undefined:undefined": 12, + "s:103:6:105:Infinity": 50, + "s:104:8:104:Infinity": 51, + "b:109:2:222:Infinity:201:9:222:Infinity": 13, + "s:109:2:222:Infinity": 52, + "s:111:28:111:Infinity": 53, + "b:111:28:111:54:111:54:111:69:111:69:111:Infinity": 14, + "b:113:4:200:Infinity:179:11:200:Infinity": 15, + "s:113:4:200:Infinity": 54, + "s:114:12:114:Infinity": 55, + "s:115:26:115:Infinity": 56, + "b:115:36:115:52:115:52:115:Infinity": 16, + "s:116:26:116:Infinity": 57, + "b:116:36:116:48:116:48:116:Infinity": 17, + "s:117:30:117:Infinity": 58, + "b:117:40:117:52:117:52:117:Infinity": 18, + "s:119:6:177:Infinity": 59, + "f:148:22:148:23": 10, + "s:149:16:151:Infinity": 60, + "b:172:38:172:47:172:47:172:Infinity": 19, + "s:181:6:198:Infinity": 61, + "s:205:6:207:Infinity": 62, + "b:206:10:206:Infinity:207:10:207:Infinity": 20, + "s:209:4:220:Infinity": 63, + "b:217:44:217:59:217:59:217:Infinity": 21 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts", + "statementMap": { + "0": { "start": { "line": 8, "column": 36 }, "end": { "line": 8, "column": null } }, + "1": { "start": { "line": 9, "column": 30 }, "end": { "line": 9, "column": null } }, + "2": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": null } }, + "3": { "start": { "line": 12, "column": 2 }, "end": { "line": 50, "column": null } }, + "4": { "start": { "line": 13, "column": 22 }, "end": { "line": 13, "column": null } }, + "5": { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, + "6": { "start": { "line": 16, "column": 6 }, "end": { "line": 16, "column": null } }, + "7": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": null } }, + "8": { "start": { "line": 18, "column": 6 }, "end": { "line": 18, "column": null } }, + "9": { "start": { "line": 21, "column": 27 }, "end": { "line": 41, "column": null } }, + "10": { "start": { "line": 22, "column": 6 }, "end": { "line": 22, "column": null } }, + "11": { "start": { "line": 23, "column": 6 }, "end": { "line": 40, "column": null } }, + "12": { "start": { "line": 24, "column": 24 }, "end": { "line": 24, "column": null } }, + "13": { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, + "14": { "start": { "line": 27, "column": 10 }, "end": { "line": 27, "column": null } }, + "15": { "start": { "line": 28, "column": 10 }, "end": { "line": 28, "column": null } }, + "16": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, + "17": { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, + "18": { "start": { "line": 33, "column": 10 }, "end": { "line": 33, "column": null } }, + "19": { "start": { "line": 34, "column": 10 }, "end": { "line": 34, "column": null } }, + "20": { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, + "21": { "start": { "line": 38, "column": 10 }, "end": { "line": 38, "column": null } }, + "22": { "start": { "line": 44, "column": 22 }, "end": { "line": 44, "column": null } }, + "23": { "start": { "line": 46, "column": 4 }, "end": { "line": 49, "column": null } }, + "24": { "start": { "line": 47, "column": 6 }, "end": { "line": 47, "column": null } }, + "25": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, + "26": { "start": { "line": 52, "column": 2 }, "end": { "line": 56, "column": null } } + }, + "fnMap": { + "0": { + "name": "usePatternDetection", + "decl": { "start": { "line": 7, "column": 16 }, "end": { "line": 7, "column": 36 } }, + "loc": { "start": { "line": 7, "column": 53 }, "end": { "line": 57, "column": null } }, + "line": 7 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 12, "column": 12 }, "end": { "line": 12, "column": 18 } }, + "loc": { "start": { "line": 12, "column": 18 }, "end": { "line": 50, "column": 5 } }, + "line": 12 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 21, "column": 27 }, "end": { "line": 21, "column": 39 } }, + "loc": { "start": { "line": 21, "column": 39 }, "end": { "line": 41, "column": null } }, + "line": 21 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 46, "column": 11 }, "end": { "line": 46, "column": 17 } }, + "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 49, "column": null } }, + "line": 46 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 15 + }, + "1": { + "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 49 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 20 } }, + { "start": { "line": 15, "column": 20 }, "end": { "line": 15, "column": 49 } } + ], + "line": 15 + }, + "2": { + "loc": { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 26 + }, + "3": { + "loc": { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 32 + }, + "4": { + "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 37 + } + }, + "s": { + "0": 22, + "1": 22, + "2": 22, + "3": 22, + "4": 11, + "5": 11, + "6": 3, + "7": 3, + "8": 3, + "9": 8, + "10": 7, + "11": 7, + "12": 7, + "13": 4, + "14": 3, + "15": 3, + "16": 3, + "17": 3, + "18": 2, + "19": 2, + "20": 7, + "21": 5, + "22": 8, + "23": 8, + "24": 4, + "25": 4, + "26": 22 + }, + "f": { "0": 22, "1": 11, "2": 7, "3": 4 }, + "b": { "0": [3, 8], "1": [11, 9], "2": [3, 1], "3": [2, 1], "4": [5, 2] }, + "meta": { + "lastBranch": 5, + "lastFunction": 4, + "lastStatement": 27, + "seen": { + "f:7:16:7:36": 0, + "s:8:36:8:Infinity": 0, + "s:9:30:9:Infinity": 1, + "s:10:28:10:Infinity": 2, + "s:12:2:50:Infinity": 3, + "f:12:12:12:18": 1, + "s:13:22:13:Infinity": 4, + "b:15:4:19:Infinity:undefined:undefined:undefined:undefined": 0, + "s:15:4:19:Infinity": 5, + "b:15:8:15:20:15:20:15:49": 1, + "s:16:6:16:Infinity": 6, + "s:17:6:17:Infinity": 7, + "s:18:6:18:Infinity": 8, + "s:21:27:41:Infinity": 9, + "f:21:27:21:39": 2, + "s:22:6:22:Infinity": 10, + "s:23:6:40:Infinity": 11, + "s:24:24:24:Infinity": 12, + "b:26:8:29:Infinity:undefined:undefined:undefined:undefined": 2, + "s:26:8:29:Infinity": 13, + "s:27:10:27:Infinity": 14, + "s:28:10:28:Infinity": 15, + "s:31:8:31:Infinity": 16, + "b:32:8:35:Infinity:undefined:undefined:undefined:undefined": 3, + "s:32:8:35:Infinity": 17, + "s:33:10:33:Infinity": 18, + "s:34:10:34:Infinity": 19, + "b:37:8:39:Infinity:undefined:undefined:undefined:undefined": 4, + "s:37:8:39:Infinity": 20, + "s:38:10:38:Infinity": 21, + "s:44:22:44:Infinity": 22, + "s:46:4:49:Infinity": 23, + "f:46:11:46:17": 3, + "s:47:6:47:Infinity": 24, + "s:48:6:48:Infinity": 25, + "s:52:2:56:Infinity": 26 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx", + "statementMap": { + "0": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": null } }, + "1": { "start": { "line": 27, "column": 59 }, "end": { "line": 129, "column": null } }, + "2": { "start": { "line": 28, "column": 29 }, "end": { "line": 28, "column": null } }, + "3": { "start": { "line": 29, "column": 42 }, "end": { "line": 29, "column": null } }, + "4": { "start": { "line": 32, "column": 8 }, "end": { "line": 51, "column": null } }, + "5": { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, + "6": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": null } }, + "7": { "start": { "line": 38, "column": 6 }, "end": { "line": 38, "column": null } }, + "8": { "start": { "line": 41, "column": 4 }, "end": { "line": 41, "column": null } }, + "9": { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, + "10": { "start": { "line": 45, "column": 6 }, "end": { "line": 45, "column": null } }, + "11": { "start": { "line": 46, "column": 6 }, "end": { "line": 46, "column": null } }, + "12": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, + "13": { "start": { "line": 49, "column": 6 }, "end": { "line": 49, "column": null } }, + "14": { "start": { "line": 54, "column": 2 }, "end": { "line": 71, "column": null } }, + "15": { "start": { "line": 55, "column": 22 }, "end": { "line": 68, "column": null } }, + "16": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, + "17": { "start": { "line": 56, "column": 23 }, "end": { "line": 56, "column": null } }, + "18": { "start": { "line": 58, "column": 6 }, "end": { "line": 67, "column": null } }, + "19": { "start": { "line": 59, "column": 39 }, "end": { "line": 59, "column": null } }, + "20": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, + "21": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, + "22": { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": null } }, + "23": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, + "24": { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, + "25": { "start": { "line": 70, "column": 4 }, "end": { "line": 70, "column": null } }, + "26": { "start": { "line": 74, "column": 2 }, "end": { "line": 89, "column": null } }, + "27": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, + "28": { "start": { "line": 75, "column": 40 }, "end": { "line": 75, "column": null } }, + "29": { "start": { "line": 77, "column": 33 }, "end": { "line": 82, "column": null } }, + "30": { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, + "31": { "start": { "line": 79, "column": 8 }, "end": { "line": 79, "column": null } }, + "32": { "start": { "line": 80, "column": 8 }, "end": { "line": 80, "column": null } }, + "33": { "start": { "line": 85, "column": 20 }, "end": { "line": 85, "column": null } }, + "34": { "start": { "line": 88, "column": 4 }, "end": { "line": 88, "column": null } }, + "35": { "start": { "line": 92, "column": 2 }, "end": { "line": 100, "column": null } }, + "36": { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, + "37": { "start": { "line": 93, "column": 28 }, "end": { "line": 93, "column": null } }, + "38": { "start": { "line": 95, "column": 23 }, "end": { "line": 95, "column": null } }, + "39": { "start": { "line": 96, "column": 25 }, "end": { "line": 96, "column": null } }, + "40": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": null } }, + "41": { "start": { "line": 98, "column": 4 }, "end": { "line": 98, "column": null } }, + "42": { "start": { "line": 99, "column": 4 }, "end": { "line": 99, "column": null } }, + "43": { "start": { "line": 99, "column": 17 }, "end": { "line": 99, "column": null } }, + "44": { "start": { "line": 102, "column": 19 }, "end": { "line": 118, "column": null } }, + "45": { "start": { "line": 103, "column": 4 }, "end": { "line": 103, "column": null } }, + "46": { "start": { "line": 104, "column": 4 }, "end": { "line": 104, "column": null } }, + "47": { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, + "48": { "start": { "line": 108, "column": 6 }, "end": { "line": 116, "column": null } }, + "49": { "start": { "line": 109, "column": 46 }, "end": { "line": 109, "column": null } }, + "50": { "start": { "line": 110, "column": 8 }, "end": { "line": 113, "column": null } }, + "51": { "start": { "line": 115, "column": 8 }, "end": { "line": 115, "column": null } }, + "52": { "start": { "line": 120, "column": 41 }, "end": { "line": 126, "column": null } }, + "53": { "start": { "line": 128, "column": 2 }, "end": { "line": 128, "column": null } }, + "54": { "start": { "line": 131, "column": 24 }, "end": { "line": 137, "column": null } }, + "55": { "start": { "line": 132, "column": 8 }, "end": { "line": 132, "column": null } }, + "56": { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, + "57": { "start": { "line": 134, "column": 4 }, "end": { "line": 134, "column": null } }, + "58": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": null } } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { "start": { "line": 27, "column": 59 }, "end": { "line": 27, "column": 60 } }, + "loc": { "start": { "line": 27, "column": 77 }, "end": { "line": 129, "column": null } }, + "line": 27 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 32, "column": 43 }, "end": { "line": 32, "column": 44 } }, + "loc": { "start": { "line": 32, "column": 71 }, "end": { "line": 51, "column": 5 } }, + "line": 32 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 54, "column": 12 }, "end": { "line": 54, "column": 18 } }, + "loc": { "start": { "line": 54, "column": 18 }, "end": { "line": 71, "column": 5 } }, + "line": 54 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 55, "column": 22 }, "end": { "line": 55, "column": 34 } }, + "loc": { "start": { "line": 55, "column": 34 }, "end": { "line": 68, "column": null } }, + "line": 55 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 74, "column": 12 }, "end": { "line": 74, "column": 18 } }, + "loc": { "start": { "line": 74, "column": 18 }, "end": { "line": 89, "column": 5 } }, + "line": 74 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 77, "column": 33 }, "end": { "line": 77, "column": 34 } }, + "loc": { "start": { "line": 77, "column": 68 }, "end": { "line": 82, "column": null } }, + "line": 77 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 18 } }, + "loc": { "start": { "line": 92, "column": 18 }, "end": { "line": 100, "column": 5 } }, + "line": 92 + }, + "7": { + "name": "(anonymous_7)", + "decl": { "start": { "line": 96, "column": 25 }, "end": { "line": 96, "column": 31 } }, + "loc": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": null } }, + "line": 96 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 99, "column": 11 }, "end": { "line": 99, "column": 17 } }, + "loc": { "start": { "line": 99, "column": 17 }, "end": { "line": 99, "column": null } }, + "line": 99 + }, + "9": { + "name": "(anonymous_9)", + "decl": { "start": { "line": 102, "column": 19 }, "end": { "line": 102, "column": 26 } }, + "loc": { "start": { "line": 102, "column": 46 }, "end": { "line": 118, "column": null } }, + "line": 102 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 131, "column": 24 }, "end": { "line": 131, "column": 48 } }, + "loc": { "start": { "line": 131, "column": 48 }, "end": { "line": 137, "column": null } }, + "line": 131 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, + { "start": { "line": 37, "column": 11 }, "end": { "line": 39, "column": null } } + ], + "line": 35 + }, + "1": { + "loc": { "start": { "line": 36, "column": 22 }, "end": { "line": 36, "column": null } }, + "type": "cond-expr", + "locations": [ + { "start": { "line": 36, "column": 82 }, "end": { "line": 36, "column": 91 } }, + { "start": { "line": 36, "column": 91 }, "end": { "line": 36, "column": null } } + ], + "line": 36 + }, + "2": { + "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, + { "start": { "line": 47, "column": 11 }, "end": { "line": 50, "column": null } } + ], + "line": 44 + }, + "3": { + "loc": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 56 + }, + "4": { + "loc": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": 45 } }, + { "start": { "line": 60, "column": 45 }, "end": { "line": 60, "column": null } } + ], + "line": 60 + }, + "5": { + "loc": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 75 + }, + "6": { + "loc": { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 78 + }, + "7": { + "loc": { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 93 + }, + "8": { + "loc": { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 107 + }, + "9": { + "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 133 + } + }, + "s": { + "0": 1, + "1": 1, + "2": 32, + "3": 32, + "4": 32, + "5": 20, + "6": 14, + "7": 6, + "8": 20, + "9": 20, + "10": 16, + "11": 16, + "12": 4, + "13": 4, + "14": 32, + "15": 15, + "16": 15, + "17": 1, + "18": 14, + "19": 14, + "20": 13, + "21": 15, + "22": 15, + "23": 1, + "24": 1, + "25": 15, + "26": 32, + "27": 15, + "28": 2, + "29": 13, + "30": 2, + "31": 1, + "32": 1, + "33": 13, + "34": 13, + "35": 32, + "36": 24, + "37": 6, + "38": 18, + "39": 18, + "40": 1, + "41": 18, + "42": 18, + "43": 18, + "44": 32, + "45": 4, + "46": 4, + "47": 4, + "48": 3, + "49": 3, + "50": 3, + "51": 1, + "52": 32, + "53": 32, + "54": 1, + "55": 35, + "56": 35, + "57": 2, + "58": 32 + }, + "f": { + "0": 32, + "1": 20, + "2": 15, + "3": 15, + "4": 15, + "5": 2, + "6": 24, + "7": 1, + "8": 18, + "9": 4, + "10": 35 + }, + "b": { + "0": [14, 6], + "1": [2, 12], + "2": [16, 4], + "3": [1, 14], + "4": [13, 1], + "5": [2, 13], + "6": [1, 1], + "7": [6, 18], + "8": [3, 1], + "9": [2, 33] + }, + "meta": { + "lastBranch": 10, + "lastFunction": 11, + "lastStatement": 59, + "seen": { + "s:21:6:21:Infinity": 0, + "s:27:59:129:Infinity": 1, + "f:27:59:27:60": 0, + "s:28:29:28:Infinity": 2, + "s:29:42:29:Infinity": 3, + "s:32:8:51:Infinity": 4, + "f:32:43:32:44": 1, + "b:35:4:39:Infinity:37:11:39:Infinity": 0, + "s:35:4:39:Infinity": 5, + "s:36:6:36:Infinity": 6, + "b:36:82:36:91:36:91:36:Infinity": 1, + "s:38:6:38:Infinity": 7, + "s:41:4:41:Infinity": 8, + "b:44:4:50:Infinity:47:11:50:Infinity": 2, + "s:44:4:50:Infinity": 9, + "s:45:6:45:Infinity": 10, + "s:46:6:46:Infinity": 11, + "s:48:6:48:Infinity": 12, + "s:49:6:49:Infinity": 13, + "s:54:2:71:Infinity": 14, + "f:54:12:54:18": 2, + "s:55:22:68:Infinity": 15, + "f:55:22:55:34": 3, + "b:56:6:56:Infinity:undefined:undefined:undefined:undefined": 3, + "s:56:6:56:Infinity": 16, + "s:56:23:56:Infinity": 17, + "s:58:6:67:Infinity": 18, + "s:59:39:59:Infinity": 19, + "s:60:26:60:Infinity": 20, + "b:60:26:60:45:60:45:60:Infinity": 4, + "s:61:8:61:Infinity": 21, + "s:62:8:62:Infinity": 22, + "s:64:8:64:Infinity": 23, + "s:66:8:66:Infinity": 24, + "s:70:4:70:Infinity": 25, + "s:74:2:89:Infinity": 26, + "f:74:12:74:18": 4, + "b:75:4:75:Infinity:undefined:undefined:undefined:undefined": 5, + "s:75:4:75:Infinity": 27, + "s:75:40:75:Infinity": 28, + "s:77:33:82:Infinity": 29, + "f:77:33:77:34": 5, + "b:78:6:81:Infinity:undefined:undefined:undefined:undefined": 6, + "s:78:6:81:Infinity": 30, + "s:79:8:79:Infinity": 31, + "s:80:8:80:Infinity": 32, + "s:85:20:85:Infinity": 33, + "s:88:4:88:Infinity": 34, + "s:92:2:100:Infinity": 35, + "f:92:12:92:18": 6, + "b:93:4:93:Infinity:undefined:undefined:undefined:undefined": 7, + "s:93:4:93:Infinity": 36, + "s:93:28:93:Infinity": 37, + "s:95:23:95:Infinity": 38, + "s:96:25:96:Infinity": 39, + "f:96:25:96:31": 7, + "s:96:31:96:Infinity": 40, + "s:98:4:98:Infinity": 41, + "s:99:4:99:Infinity": 42, + "f:99:11:99:17": 8, + "s:99:17:99:Infinity": 43, + "s:102:19:118:Infinity": 44, + "f:102:19:102:26": 9, + "s:103:4:103:Infinity": 45, + "s:104:4:104:Infinity": 46, + "b:107:4:117:Infinity:undefined:undefined:undefined:undefined": 8, + "s:107:4:117:Infinity": 47, + "s:108:6:116:Infinity": 48, + "s:109:46:109:Infinity": 49, + "s:110:8:113:Infinity": 50, + "s:115:8:115:Infinity": 51, + "s:120:41:126:Infinity": 52, + "s:128:2:128:Infinity": 53, + "s:131:24:137:Infinity": 54, + "f:131:24:131:48": 10, + "s:132:8:132:Infinity": 55, + "b:133:2:135:Infinity:undefined:undefined:undefined:undefined": 9, + "s:133:2:135:Infinity": 56, + "s:134:4:134:Infinity": 57, + "s:136:2:136:Infinity": 58 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts", + "statementMap": { + "0": { "start": { "line": 37, "column": 45 }, "end": { "line": 361, "column": null } }, + "1": { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, + "2": { "start": { "line": 371, "column": 4 }, "end": { "line": 371, "column": null } }, + "3": { "start": { "line": 374, "column": 41 }, "end": { "line": 374, "column": null } }, + "4": { "start": { "line": 377, "column": 2 }, "end": { "line": 379, "column": null } }, + "5": { "start": { "line": 378, "column": 4 }, "end": { "line": 378, "column": null } }, + "6": { "start": { "line": 381, "column": 20 }, "end": { "line": 381, "column": null } }, + "7": { "start": { "line": 383, "column": 2 }, "end": { "line": 414, "column": null } }, + "8": { "start": { "line": 384, "column": 16 }, "end": { "line": 384, "column": null } }, + "9": { "start": { "line": 387, "column": 4 }, "end": { "line": 393, "column": null } }, + "10": { "start": { "line": 388, "column": 20 }, "end": { "line": 388, "column": null } }, + "11": { "start": { "line": 389, "column": 22 }, "end": { "line": 389, "column": null } }, + "12": { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, + "13": { "start": { "line": 391, "column": 8 }, "end": { "line": 391, "column": null } }, + "14": { "start": { "line": 396, "column": 4 }, "end": { "line": 401, "column": null } }, + "15": { "start": { "line": 397, "column": 22 }, "end": { "line": 397, "column": null } }, + "16": { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, + "17": { "start": { "line": 399, "column": 8 }, "end": { "line": 399, "column": null } }, + "18": { "start": { "line": 404, "column": 4 }, "end": { "line": 408, "column": null } }, + "19": { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, + "20": { "start": { "line": 406, "column": 8 }, "end": { "line": 406, "column": null } }, + "21": { "start": { "line": 411, "column": 4 }, "end": { "line": 411, "column": null } }, + "22": { "start": { "line": 413, "column": 4 }, "end": { "line": 413, "column": null } }, + "23": { "start": { "line": 417, "column": 17 }, "end": { "line": 417, "column": null } }, + "24": { "start": { "line": 418, "column": 40 }, "end": { "line": 418, "column": null } }, + "25": { "start": { "line": 420, "column": 2 }, "end": { "line": 426, "column": null } }, + "26": { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, + "27": { "start": { "line": 423, "column": 6 }, "end": { "line": 423, "column": null } }, + "28": { "start": { "line": 424, "column": 6 }, "end": { "line": 424, "column": null } }, + "29": { "start": { "line": 428, "column": 2 }, "end": { "line": 428, "column": null } }, + "30": { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, + "31": { "start": { "line": 439, "column": 4 }, "end": { "line": 439, "column": null } }, + "32": { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, + "33": { "start": { "line": 444, "column": 4 }, "end": { "line": 444, "column": null } }, + "34": { "start": { "line": 448, "column": 25 }, "end": { "line": 474, "column": null } }, + "35": { "start": { "line": 476, "column": 23 }, "end": { "line": 476, "column": null } }, + "36": { "start": { "line": 477, "column": 21 }, "end": { "line": 477, "column": null } }, + "37": { "start": { "line": 479, "column": 2 }, "end": { "line": 485, "column": null } }, + "38": { "start": { "line": 480, "column": 20 }, "end": { "line": 480, "column": null } }, + "39": { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, + "40": { "start": { "line": 482, "column": 6 }, "end": { "line": 482, "column": null } }, + "41": { "start": { "line": 483, "column": 6 }, "end": { "line": 483, "column": null } }, + "42": { "start": { "line": 488, "column": 21 }, "end": { "line": 488, "column": null } }, + "43": { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, + "44": { "start": { "line": 492, "column": 4 }, "end": { "line": 492, "column": null } }, + "45": { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, + "46": { "start": { "line": 495, "column": 4 }, "end": { "line": 495, "column": null } }, + "47": { "start": { "line": 498, "column": 4 }, "end": { "line": 498, "column": null } }, + "48": { "start": { "line": 507, "column": 27 }, "end": { "line": 518, "column": null } }, + "49": { "start": { "line": 520, "column": 2 }, "end": { "line": 520, "column": null } }, + "50": { "start": { "line": 520, "column": 44 }, "end": { "line": 520, "column": 62 } }, + "51": { "start": { "line": 527, "column": 46 }, "end": { "line": 542, "column": null } }, + "52": { "start": { "line": 544, "column": 2 }, "end": { "line": 544, "column": null } } + }, + "fnMap": { + "0": { + "name": "detectLanguage", + "decl": { "start": { "line": 368, "column": 16 }, "end": { "line": 368, "column": 31 } }, + "loc": { "start": { "line": 368, "column": 60 }, "end": { "line": 429, "column": null } }, + "line": 368 + }, + "1": { + "name": "(anonymous_1)", + "decl": { "start": { "line": 377, "column": 28 }, "end": { "line": 377, "column": 29 } }, + "loc": { "start": { "line": 377, "column": 38 }, "end": { "line": 379, "column": 3 } }, + "line": 377 + }, + "2": { + "name": "(anonymous_2)", + "decl": { "start": { "line": 383, "column": 28 }, "end": { "line": 383, "column": 29 } }, + "loc": { "start": { "line": 383, "column": 38 }, "end": { "line": 414, "column": 3 } }, + "line": 383 + }, + "3": { + "name": "(anonymous_3)", + "decl": { "start": { "line": 387, "column": 26 }, "end": { "line": 387, "column": 27 } }, + "loc": { "start": { "line": 387, "column": 39 }, "end": { "line": 393, "column": 5 } }, + "line": 387 + }, + "4": { + "name": "(anonymous_4)", + "decl": { "start": { "line": 396, "column": 26 }, "end": { "line": 396, "column": 27 } }, + "loc": { "start": { "line": 396, "column": 39 }, "end": { "line": 401, "column": 5 } }, + "line": 396 + }, + "5": { + "name": "(anonymous_5)", + "decl": { "start": { "line": 404, "column": 28 }, "end": { "line": 404, "column": 29 } }, + "loc": { "start": { "line": 404, "column": 37 }, "end": { "line": 408, "column": 5 } }, + "line": 404 + }, + "6": { + "name": "(anonymous_6)", + "decl": { "start": { "line": 420, "column": 33 }, "end": { "line": 420, "column": 34 } }, + "loc": { "start": { "line": 420, "column": 52 }, "end": { "line": 426, "column": 3 } }, + "line": 420 + }, + "7": { + "name": "isCode", + "decl": { "start": { "line": 436, "column": 16 }, "end": { "line": 436, "column": 23 } }, + "loc": { "start": { "line": 436, "column": 46 }, "end": { "line": 500, "column": null } }, + "line": 436 + }, + "8": { + "name": "(anonymous_8)", + "decl": { "start": { "line": 479, "column": 25 }, "end": { "line": 479, "column": 26 } }, + "loc": { "start": { "line": 479, "column": 38 }, "end": { "line": 485, "column": 3 } }, + "line": 479 + }, + "9": { + "name": "hasStrongCodeIndicators", + "decl": { "start": { "line": 506, "column": 9 }, "end": { "line": 506, "column": 33 } }, + "loc": { "start": { "line": 506, "column": 56 }, "end": { "line": 521, "column": null } }, + "line": 506 + }, + "10": { + "name": "(anonymous_10)", + "decl": { "start": { "line": 520, "column": 31 }, "end": { "line": 520, "column": 32 } }, + "loc": { "start": { "line": 520, "column": 44 }, "end": { "line": 520, "column": 62 } }, + "line": 520 + }, + "11": { + "name": "mapToSyntaxHighlighterLanguage", + "decl": { "start": { "line": 526, "column": 16 }, "end": { "line": 526, "column": 47 } }, + "loc": { "start": { "line": 526, "column": 81 }, "end": { "line": 545, "column": null } }, + "line": 526 + } + }, + "branchMap": { + "0": { + "loc": { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 369 + }, + "1": { + "loc": { "start": { "line": 369, "column": 6 }, "end": { "line": 369, "column": 39 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 369, "column": 6 }, "end": { "line": 369, "column": 15 } }, + { "start": { "line": 369, "column": 15 }, "end": { "line": 369, "column": 39 } } + ], + "line": 369 + }, + "2": { + "loc": { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 390 + }, + "3": { + "loc": { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 398 + }, + "4": { + "loc": { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 405 + }, + "5": { + "loc": { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 421 + }, + "6": { + "loc": { "start": { "line": 421, "column": 8 }, "end": { "line": 421, "column": 39 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 421, "column": 8 }, "end": { "line": 421, "column": 28 } }, + { "start": { "line": 421, "column": 28 }, "end": { "line": 421, "column": 39 } } + ], + "line": 421 + }, + "7": { + "loc": { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 437 + }, + "8": { + "loc": { "start": { "line": 437, "column": 6 }, "end": { "line": 437, "column": 39 } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 437, "column": 6 }, "end": { "line": 437, "column": 15 } }, + { "start": { "line": 437, "column": 15 }, "end": { "line": 437, "column": 39 } } + ], + "line": 437 + }, + "9": { + "loc": { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 443 + }, + "10": { + "loc": { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, + { "start": {}, "end": {} } + ], + "line": 481 + }, + "11": { + "loc": { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, + { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } } + ], + "line": 490 + }, + "12": { + "loc": { "start": { "line": 492, "column": 11 }, "end": { "line": 492, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 492, "column": 11 }, "end": { "line": 492, "column": 34 } }, + { "start": { "line": 492, "column": 34 }, "end": { "line": 492, "column": null } } + ], + "line": 492 + }, + "13": { + "loc": { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, + "type": "if", + "locations": [ + { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, + { "start": { "line": 496, "column": 9 }, "end": { "line": 499, "column": null } } + ], + "line": 493 + }, + "14": { + "loc": { "start": { "line": 495, "column": 11 }, "end": { "line": 495, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 495, "column": 11 }, "end": { "line": 495, "column": 34 } }, + { "start": { "line": 495, "column": 34 }, "end": { "line": 495, "column": null } } + ], + "line": 495 + }, + "15": { + "loc": { "start": { "line": 498, "column": 11 }, "end": { "line": 498, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 498, "column": 11 }, "end": { "line": 498, "column": 34 } }, + { "start": { "line": 498, "column": 34 }, "end": { "line": 498, "column": null } } + ], + "line": 498 + }, + "16": { + "loc": { "start": { "line": 544, "column": 9 }, "end": { "line": 544, "column": null } }, + "type": "binary-expr", + "locations": [ + { "start": { "line": 544, "column": 9 }, "end": { "line": 544, "column": 42 } }, + { "start": { "line": 544, "column": 42 }, "end": { "line": 544, "column": null } } + ], + "line": 544 + } + }, + "s": { + "0": 1, + "1": 15, + "2": 5, + "3": 10, + "4": 10, + "5": 140, + "6": 10, + "7": 10, + "8": 140, + "9": 140, + "10": 1320, + "11": 1320, + "12": 1320, + "13": 42, + "14": 140, + "15": 1010, + "16": 1010, + "17": 41, + "18": 140, + "19": 260, + "20": 1, + "21": 140, + "22": 140, + "23": 10, + "24": 10, + "25": 10, + "26": 140, + "27": 16, + "28": 16, + "29": 10, + "30": 16, + "31": 5, + "32": 11, + "33": 7, + "34": 4, + "35": 4, + "36": 4, + "37": 4, + "38": 100, + "39": 100, + "40": 6, + "41": 6, + "42": 4, + "43": 4, + "44": 1, + "45": 3, + "46": 2, + "47": 1, + "48": 11, + "49": 11, + "50": 70, + "51": 16, + "52": 16 + }, + "f": { + "0": 15, + "1": 140, + "2": 140, + "3": 1320, + "4": 1010, + "5": 260, + "6": 140, + "7": 16, + "8": 100, + "9": 11, + "10": 70, + "11": 16 + }, + "b": { + "0": [5, 10], + "1": [15, 12], + "2": [42, 1278], + "3": [41, 969], + "4": [1, 259], + "5": [16, 124], + "6": [140, 16], + "7": [5, 11], + "8": [16, 13], + "9": [7, 4], + "10": [6, 94], + "11": [1, 3], + "12": [1, 1], + "13": [2, 1], + "14": [2, 1], + "15": [1, 1], + "16": [16, 1] + }, + "meta": { + "lastBranch": 17, + "lastFunction": 12, + "lastStatement": 53, + "seen": { + "s:37:45:361:Infinity": 0, + "f:368:16:368:31": 0, + "b:369:2:372:Infinity:undefined:undefined:undefined:undefined": 0, + "s:369:2:372:Infinity": 1, + "b:369:6:369:15:369:15:369:39": 1, + "s:371:4:371:Infinity": 2, + "s:374:41:374:Infinity": 3, + "s:377:2:379:Infinity": 4, + "f:377:28:377:29": 1, + "s:378:4:378:Infinity": 5, + "s:381:20:381:Infinity": 6, + "s:383:2:414:Infinity": 7, + "f:383:28:383:29": 2, + "s:384:16:384:Infinity": 8, + "s:387:4:393:Infinity": 9, + "f:387:26:387:27": 3, + "s:388:20:388:Infinity": 10, + "s:389:22:389:Infinity": 11, + "b:390:6:392:Infinity:undefined:undefined:undefined:undefined": 2, + "s:390:6:392:Infinity": 12, + "s:391:8:391:Infinity": 13, + "s:396:4:401:Infinity": 14, + "f:396:26:396:27": 4, + "s:397:22:397:Infinity": 15, + "b:398:6:400:Infinity:undefined:undefined:undefined:undefined": 3, + "s:398:6:400:Infinity": 16, + "s:399:8:399:Infinity": 17, + "s:404:4:408:Infinity": 18, + "f:404:28:404:29": 5, + "b:405:6:407:Infinity:undefined:undefined:undefined:undefined": 4, + "s:405:6:407:Infinity": 19, + "s:406:8:406:Infinity": 20, + "s:411:4:411:Infinity": 21, + "s:413:4:413:Infinity": 22, + "s:417:17:417:Infinity": 23, + "s:418:40:418:Infinity": 24, + "s:420:2:426:Infinity": 25, + "f:420:33:420:34": 6, + "b:421:4:425:Infinity:undefined:undefined:undefined:undefined": 5, + "s:421:4:425:Infinity": 26, + "b:421:8:421:28:421:28:421:39": 6, + "s:423:6:423:Infinity": 27, + "s:424:6:424:Infinity": 28, + "s:428:2:428:Infinity": 29, + "f:436:16:436:23": 7, + "b:437:2:440:Infinity:undefined:undefined:undefined:undefined": 7, + "s:437:2:440:Infinity": 30, + "b:437:6:437:15:437:15:437:39": 8, + "s:439:4:439:Infinity": 31, + "b:443:2:445:Infinity:undefined:undefined:undefined:undefined": 9, + "s:443:2:445:Infinity": 32, + "s:444:4:444:Infinity": 33, + "s:448:25:474:Infinity": 34, + "s:476:23:476:Infinity": 35, + "s:477:21:477:Infinity": 36, + "s:479:2:485:Infinity": 37, + "f:479:25:479:26": 8, + "s:480:20:480:Infinity": 38, + "b:481:4:484:Infinity:undefined:undefined:undefined:undefined": 10, + "s:481:4:484:Infinity": 39, + "s:482:6:482:Infinity": 40, + "s:483:6:483:Infinity": 41, + "s:488:21:488:Infinity": 42, + "b:490:2:499:Infinity:493:2:499:Infinity": 11, + "s:490:2:499:Infinity": 43, + "s:492:4:492:Infinity": 44, + "b:492:11:492:34:492:34:492:Infinity": 12, + "b:493:2:499:Infinity:496:9:499:Infinity": 13, + "s:493:2:499:Infinity": 45, + "s:495:4:495:Infinity": 46, + "b:495:11:495:34:495:34:495:Infinity": 14, + "s:498:4:498:Infinity": 47, + "b:498:11:498:34:498:34:498:Infinity": 15, + "f:506:9:506:33": 9, + "s:507:27:518:Infinity": 48, + "s:520:2:520:Infinity": 49, + "f:520:31:520:32": 10, + "s:520:44:520:62": 50, + "f:526:16:526:47": 11, + "s:527:46:542:Infinity": 51, + "s:544:2:544:Infinity": 52, + "b:544:9:544:42:544:42:544:Infinity": 16 + } + } + }, + "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts": { + "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts", + "statementMap": { + "0": { "start": { "line": 1, "column": 33 }, "end": { "line": 1, "column": 36 } } + }, + "fnMap": {}, + "branchMap": {}, + "s": { "0": 1 }, + "f": {}, + "b": {}, + "meta": { "lastBranch": 0, "lastFunction": 0, "lastStatement": 1, "seen": { "s:1:33:1:36": 0 } } + } } diff --git a/coverage/index.html b/coverage/index.html index 7dcdcab..040d3b6 100644 --- a/coverage/index.html +++ b/coverage/index.html @@ -1,221 +1,263 @@ - - - + Code coverage report for All files - - - - -
-
+ + + +
+

All files

-
- -
- 100% - Statements - 668/668 -
- - -
- 100% - Branches - 321/321 -
- - -
- 100% - Functions - 133/133 -
- - -
- 100% - Lines - 640/640 -
- - +
+
+ 100% + Statements + 668/668 +
+ +
+ 100% + Branches + 321/321 +
+ +
+ 100% + Functions + 133/133 +
+ +
+ 100% + Lines + 640/640 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
main/clipboard -
-
100%184/184100%60/60100%32/32100%171/171
main/hotkeys -
-
100%161/161100%70/70100%31/31100%159/159
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
+ main/clipboard + +
+
+
+
+
100%184/184100%60/60100%32/32100%171/171
main/storage -
-
100%81/81100%68/68100%27/27100%74/74
+ main/hotkeys + +
+
+
+
+
100%161/161100%70/70100%31/31100%159/159
renderer/src/components/clips/clip -
-
100%102/102100%59/59100%16/16100%102/102
+ main/storage + +
+
+
+
+
100%81/81100%68/68100%27/27100%74/74
renderer/src/hooks -
-
100%27/27100%10/10100%4/4100%27/27
+ renderer/src/components/clips/clip + +
+
+
+
+
100%102/102100%59/59100%16/16100%102/102
renderer/src/providers -
-
100%59/59100%20/20100%11/11100%54/54
+ renderer/src/hooks + +
+
+
+
+
100%27/27100%10/10100%4/4100%27/27
renderer/src/utils -
-
100%53/53100%34/34100%12/12100%52/52
+ renderer/src/providers + +
+
+
+
+
100%59/59100%20/20100%11/11100%54/54
shared -
-
100%1/1100%0/0100%0/0100%1/1
+ renderer/src/utils + +
+
+
+
+
100%53/53100%34/34100%12/12100%52/52
-
-
-
- - - - - - + + shared + +
+
+
+
+ + 100% + 1/1 + 100% + 0/0 + 100% + 0/0 + 100% + 1/1 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/clipboard/data.ts.html b/coverage/main/clipboard/data.ts.html index 042a8dd..029bf3e 100644 --- a/coverage/main/clipboard/data.ts.html +++ b/coverage/main/clipboard/data.ts.html @@ -1,68 +1,63 @@ - - - + Code coverage report for main/clipboard/data.ts - - - - -
-
-

All files / main/clipboard data.ts

-
- -
- 100% - Statements - 50/50 -
- - -
- 100% - Branches - 20/20 -
- - -
- 100% - Functions - 11/11 -
- - -
- 100% - Lines - 47/47 -
- - + + + +
+
+

+ All files / main/clipboard data.ts +

+
+
+ 100% + Statements + 50/50 +
+ +
+ 100% + Branches + 20/20 +
+ +
+ 100% + Functions + 11/11 +
+ +
+ 100% + Lines + 47/47 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -362,21 +357,22 @@

All files / main/clipboa };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/clipboard/index.html b/coverage/main/clipboard/index.html index 39d962b..0f0cdf1 100644 --- a/coverage/main/clipboard/index.html +++ b/coverage/main/clipboard/index.html @@ -1,146 +1,161 @@ - - - + Code coverage report for main/clipboard - - - - -
-
+ + + +
+

All files main/clipboard

-
- -
- 100% - Statements - 184/184 -
- - -
- 100% - Branches - 60/60 -
- - -
- 100% - Functions - 32/32 -
- - -
- 100% - Lines - 171/171 -
- - +
+
+ 100% + Statements + 184/184 +
+ +
+ 100% + Branches + 60/60 +
+ +
+ 100% + Functions + 32/32 +
+ +
+ 100% + Lines + 171/171 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
data.ts -
-
100%50/50100%20/20100%11/11100%47/47
quick-clips.ts -
-
100%94/94100%36/36100%14/14100%85/85
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
data.ts +
+
+
+
+
100%50/50100%20/20100%11/11100%47/47
quick-tools.ts -
-
100%40/40100%4/4100%7/7100%39/39
+ quick-clips.ts + +
+
+
+
+
100%94/94100%36/36100%14/14100%85/85
-
-
-
- - - - - - + + + quick-tools.ts + + +
+
+
+
+ + 100% + 40/40 + 100% + 4/4 + 100% + 7/7 + 100% + 39/39 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/clipboard/quick-clips.ts.html b/coverage/main/clipboard/quick-clips.ts.html index 24e547c..0c600a9 100644 --- a/coverage/main/clipboard/quick-clips.ts.html +++ b/coverage/main/clipboard/quick-clips.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/clipboard/quick-clips.ts - - - - -
-
-

All files / main/clipboard quick-clips.ts

-
- -
- 100% - Statements - 94/94 -
- - -
- 100% - Branches - 36/36 -
- - -
- 100% - Functions - 14/14 -
- - -
- 100% - Lines - 85/85 -
- - + + + +
+
+

+ All files / + main/clipboard quick-clips.ts +

+
+
+ 100% + Statements + 94/94 +
+ +
+ 100% + Branches + 36/36 +
+ +
+ 100% + Functions + 14/14 +
+ +
+ 100% + Lines + 85/85 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -620,21 +616,22 @@

All files / main/clipboa };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/clipboard/quick-tools.ts.html b/coverage/main/clipboard/quick-tools.ts.html index c03d0ea..80a9a84 100644 --- a/coverage/main/clipboard/quick-tools.ts.html +++ b/coverage/main/clipboard/quick-tools.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/clipboard/quick-tools.ts - - - - -
-
-

All files / main/clipboard quick-tools.ts

-
- -
- 100% - Statements - 40/40 -
- - -
- 100% - Branches - 4/4 -
- - -
- 100% - Functions - 7/7 -
- - -
- 100% - Lines - 39/39 -
- - + + + +
+
+

+ All files / + main/clipboard quick-tools.ts +

+
+
+ 100% + Statements + 40/40 +
+ +
+ 100% + Branches + 4/4 +
+ +
+ 100% + Functions + 7/7 +
+ +
+ 100% + Lines + 39/39 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -299,21 +295,22 @@

All files / main/clipboa };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/hotkeys/actions.ts.html b/coverage/main/hotkeys/actions.ts.html index dff592e..1eb47d2 100644 --- a/coverage/main/hotkeys/actions.ts.html +++ b/coverage/main/hotkeys/actions.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/hotkeys/actions.ts - - - - -
-
-

All files / main/hotkeys actions.ts

-
- -
- 100% - Statements - 76/76 -
- - -
- 100% - Branches - 48/48 -
- - -
- 100% - Functions - 7/7 -
- - -
- 100% - Lines - 74/74 -
- - + + + +
+
+

+ All files / + main/hotkeys actions.ts +

+
+
+ 100% + Statements + 76/76 +
+ +
+ 100% + Branches + 48/48 +
+ +
+ 100% + Functions + 7/7 +
+ +
+ 100% + Lines + 74/74 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -593,21 +589,22 @@

All files / main/hotkeys }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/hotkeys/index.html b/coverage/main/hotkeys/index.html index 5643e1e..67ebc48 100644 --- a/coverage/main/hotkeys/index.html +++ b/coverage/main/hotkeys/index.html @@ -1,146 +1,163 @@ - - - + Code coverage report for main/hotkeys - - - - -
-
+ + + +
+

All files main/hotkeys

-
- -
- 100% - Statements - 161/161 -
- - -
- 100% - Branches - 70/70 -
- - -
- 100% - Functions - 31/31 -
- - -
- 100% - Lines - 159/159 -
- - +
+
+ 100% + Statements + 161/161 +
+ +
+ 100% + Branches + 70/70 +
+ +
+ 100% + Functions + 31/31 +
+ +
+ 100% + Lines + 159/159 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
actions.ts -
-
100%76/76100%48/48100%7/7100%74/74
manager.ts -
-
100%60/60100%18/18100%16/16100%60/60
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
+ actions.ts + +
+
+
+
+
100%76/76100%48/48100%7/7100%74/74
registry.ts -
-
100%25/25100%4/4100%8/8100%25/25
+ manager.ts + +
+
+
+
+
100%60/60100%18/18100%16/16100%60/60
-
-
-
- - - - - - + + + registry.ts + + +
+
+
+
+ + 100% + 25/25 + 100% + 4/4 + 100% + 8/8 + 100% + 25/25 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/hotkeys/manager.ts.html b/coverage/main/hotkeys/manager.ts.html index 0763397..dae2f14 100644 --- a/coverage/main/hotkeys/manager.ts.html +++ b/coverage/main/hotkeys/manager.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/hotkeys/manager.ts - - - - -
-
-

All files / main/hotkeys manager.ts

-
- -
- 100% - Statements - 60/60 -
- - -
- 100% - Branches - 18/18 -
- - -
- 100% - Functions - 16/16 -
- - -
- 100% - Lines - 60/60 -
- - + + + +
+
+

+ All files / + main/hotkeys manager.ts +

+
+
+ 100% + Statements + 60/60 +
+ +
+ 100% + Branches + 18/18 +
+ +
+ 100% + Functions + 16/16 +
+ +
+ 100% + Lines + 60/60 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -566,21 +562,22 @@

All files / main/hotkeys }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/hotkeys/registry.ts.html b/coverage/main/hotkeys/registry.ts.html index 40cdc1b..3d57e7b 100644 --- a/coverage/main/hotkeys/registry.ts.html +++ b/coverage/main/hotkeys/registry.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/hotkeys/registry.ts - - - - -
-
-

All files / main/hotkeys registry.ts

-
- -
- 100% - Statements - 25/25 -
- - -
- 100% - Branches - 4/4 -
- - -
- 100% - Functions - 8/8 -
- - -
- 100% - Lines - 25/25 -
- - + + + +
+
+

+ All files / + main/hotkeys registry.ts +

+
+
+ 100% + Statements + 25/25 +
+ +
+ 100% + Branches + 4/4 +
+ +
+ 100% + Functions + 8/8 +
+ +
+ 100% + Lines + 25/25 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -311,21 +307,22 @@

All files / main/hotkeys }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/defaults.ts.html b/coverage/main/storage/defaults.ts.html index ff421a9..59f7337 100644 --- a/coverage/main/storage/defaults.ts.html +++ b/coverage/main/storage/defaults.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/defaults.ts - - - - -
-
-

All files / main/storage defaults.ts

-
- -
- 100% - Statements - 3/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 3/3 -
- - + + + +
+
+

+ All files / + main/storage defaults.ts +

+
+
+ 100% + Statements + 3/3 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 0/0 +
+ +
+ 100% + Lines + 3/3 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -248,21 +244,22 @@

All files / main/storage };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/file-operations.ts.html b/coverage/main/storage/file-operations.ts.html index fef9b73..1053d7d 100644 --- a/coverage/main/storage/file-operations.ts.html +++ b/coverage/main/storage/file-operations.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/file-operations.ts - - - - -
-
-

All files / main/storage file-operations.ts

-
- -
- 100% - Statements - 25/25 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 4/4 -
- - -
- 100% - Lines - 25/25 -
- - + + + +
+
+

+ All files / + main/storage file-operations.ts +

+
+
+ 100% + Statements + 25/25 +
+ +
+ 100% + Branches + 2/2 +
+ +
+ 100% + Functions + 4/4 +
+ +
+ 100% + Lines + 25/25 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -311,21 +307,22 @@

All files / main/storage }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/index.html b/coverage/main/storage/index.html index d722a49..e4bf218 100644 --- a/coverage/main/storage/index.html +++ b/coverage/main/storage/index.html @@ -1,176 +1,203 @@ - - - + Code coverage report for main/storage - - - - -
-
+ + + +
+

All files main/storage

-
- -
- 100% - Statements - 81/81 -
- - -
- 100% - Branches - 68/68 -
- - -
- 100% - Functions - 27/27 -
- - -
- 100% - Lines - 74/74 -
- - +
+
+ 100% + Statements + 81/81 +
+ +
+ 100% + Branches + 68/68 +
+ +
+ 100% + Functions + 27/27 +
+ +
+ 100% + Lines + 74/74 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
defaults.ts -
-
100%3/3100%0/0100%0/0100%3/3
file-operations.ts -
-
100%25/25100%2/2100%4/4100%25/25
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
+ defaults.ts + +
+
+
+
+
100%3/3100%0/0100%0/0100%3/3
migration.ts -
-
100%18/18100%50/50100%5/5100%18/18
+ file-operations.ts + +
+
+
+
+
100%25/25100%2/2100%4/4100%25/25
search-terms.ts -
-
100%7/7100%0/0100%7/7100%5/5
+ migration.ts + +
+
+
+
+
100%18/18100%50/50100%5/5100%18/18
templates.ts -
-
100%28/28100%16/16100%11/11100%23/23
+ search-terms.ts + +
+
+
+
+
100%7/7100%0/0100%7/7100%5/5
-
-
-
- - - - - - + + + templates.ts + + +
+
+
+
+ + 100% + 28/28 + 100% + 16/16 + 100% + 11/11 + 100% + 23/23 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/migration.ts.html b/coverage/main/storage/migration.ts.html index 084adf7..17042f9 100644 --- a/coverage/main/storage/migration.ts.html +++ b/coverage/main/storage/migration.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/migration.ts - - - - -
-
-

All files / main/storage migration.ts

-
- -
- 100% - Statements - 18/18 -
- - -
- 100% - Branches - 50/50 -
- - -
- 100% - Functions - 5/5 -
- - -
- 100% - Lines - 18/18 -
- - + + + +
+
+

+ All files / + main/storage migration.ts +

+
+
+ 100% + Statements + 18/18 +
+ +
+ 100% + Branches + 50/50 +
+ +
+ 100% + Functions + 5/5 +
+ +
+ 100% + Lines + 18/18 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -296,21 +292,22 @@

All files / main/storage }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/search-terms.ts.html b/coverage/main/storage/search-terms.ts.html index 6cea3d5..51f32df 100644 --- a/coverage/main/storage/search-terms.ts.html +++ b/coverage/main/storage/search-terms.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/search-terms.ts - - - - -
-
-

All files / main/storage search-terms.ts

-
- -
- 100% - Statements - 7/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 7/7 -
- - -
- 100% - Lines - 5/5 -
- - + + + +
+
+

+ All files / + main/storage search-terms.ts +

+
+
+ 100% + Statements + 7/7 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 7/7 +
+ +
+ 100% + Lines + 5/5 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -227,21 +223,22 @@

All files / main/storage }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/main/storage/templates.ts.html b/coverage/main/storage/templates.ts.html index 015d835..93dbfcb 100644 --- a/coverage/main/storage/templates.ts.html +++ b/coverage/main/storage/templates.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for main/storage/templates.ts - - - - -
-
-

All files / main/storage templates.ts

-
- -
- 100% - Statements - 28/28 -
- - -
- 100% - Branches - 16/16 -
- - -
- 100% - Functions - 11/11 -
- - -
- 100% - Lines - 23/23 -
- - + + + +
+
+

+ All files / + main/storage templates.ts +

+
+
+ 100% + Statements + 28/28 +
+ +
+ 100% + Branches + 16/16 +
+ +
+ 100% + Functions + 11/11 +
+ +
+ 100% + Lines + 23/23 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -368,21 +364,22 @@

All files / main/storage }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/prettify.css b/coverage/prettify.css index b317a7c..006492c 100644 --- a/coverage/prettify.css +++ b/coverage/prettify.css @@ -1 +1,101 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} +.pln { + color: #000; +} +@media screen { + .str { + color: #080; + } + .kwd { + color: #008; + } + .com { + color: #800; + } + .typ { + color: #606; + } + .lit { + color: #066; + } + .pun, + .opn, + .clo { + color: #660; + } + .tag { + color: #008; + } + .atn { + color: #606; + } + .atv { + color: #080; + } + .dec, + .var { + color: #606; + } + .fun { + color: red; + } +} +@media print, projection { + .str { + color: #060; + } + .kwd { + color: #006; + font-weight: bold; + } + .com { + color: #600; + font-style: italic; + } + .typ { + color: #404; + font-weight: bold; + } + .lit { + color: #044; + } + .pun, + .opn, + .clo { + color: #440; + } + .tag { + color: #006; + font-weight: bold; + } + .atn { + color: #404; + } + .atv { + color: #060; + } +} +pre.prettyprint { + padding: 2px; + border: 1px solid #888; +} +ol.linenums { + margin-top: 0; + margin-bottom: 0; +} +li.L0, +li.L1, +li.L2, +li.L3, +li.L5, +li.L6, +li.L7, +li.L8 { + list-style-type: none; +} +li.L1, +li.L3, +li.L5, +li.L7, +li.L9 { + background: #eee; +} diff --git a/coverage/prettify.js b/coverage/prettify.js index b322523..4b5985a 100644 --- a/coverage/prettify.js +++ b/coverage/prettify.js @@ -1,2 +1,937 @@ /* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); +window.PR_SHOULD_USE_CONTINUATION = true; +(function () { + var h = ['break,continue,do,else,for,if,return,while']; + var u = [ + h, + 'auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile', + ]; + var p = [ + u, + 'catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof', + ]; + var l = [ + p, + 'alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where', + ]; + var x = [ + p, + 'abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient', + ]; + var R = [ + x, + 'as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var', + ]; + var r = + 'all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes'; + var w = [p, 'debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN']; + var s = + 'caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END'; + var I = [ + h, + 'and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None', + ]; + var f = [ + h, + 'alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END', + ]; + var H = [h, 'case,done,elif,esac,eval,fi,function,in,local,set,then,until']; + var A = [l, R, w, s + I, f, H]; + var e = + /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/; + var C = 'str'; + var z = 'kwd'; + var j = 'com'; + var O = 'typ'; + var G = 'lit'; + var L = 'pun'; + var F = 'pln'; + var m = 'tag'; + var E = 'dec'; + var J = 'src'; + var P = 'atn'; + var n = 'atv'; + var N = 'nocode'; + var M = + '(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*'; + function k(Z) { + var ad = 0; + var S = false; + var ac = false; + for (var V = 0, U = Z.length; V < U; ++V) { + var ae = Z[V]; + if (ae.ignoreCase) { + ac = true; + } else { + if (/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) { + S = true; + ac = false; + break; + } + } + } + var Y = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 }; + function ab(ah) { + var ag = ah.charCodeAt(0); + if (ag !== 92) { + return ag; + } + var af = ah.charAt(1); + ag = Y[af]; + if (ag) { + return ag; + } else { + if ('0' <= af && af <= '7') { + return parseInt(ah.substring(1), 8); + } else { + if (af === 'u' || af === 'x') { + return parseInt(ah.substring(2), 16); + } else { + return ah.charCodeAt(1); + } + } + } + } + function T(af) { + if (af < 32) { + return (af < 16 ? '\\x0' : '\\x') + af.toString(16); + } + var ag = String.fromCharCode(af); + if (ag === '\\' || ag === '-' || ag === '[' || ag === ']') { + ag = '\\' + ag; + } + return ag; + } + function X(am) { + var aq = am + .substring(1, am.length - 1) + .match( + new RegExp( + '\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]', + 'g' + ) + ); + var ak = []; + var af = []; + var ao = aq[0] === '^'; + for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) { + var ah = aq[ar]; + if (/\\[bdsw]/i.test(ah)) { + ak.push(ah); + } else { + var ag = ab(ah); + var al; + if (ar + 2 < aj && '-' === aq[ar + 1]) { + al = ab(aq[ar + 2]); + ar += 2; + } else { + al = ag; + } + af.push([ag, al]); + if (!(al < 65 || ag > 122)) { + if (!(al < 65 || ag > 90)) { + af.push([Math.max(65, ag) | 32, Math.min(al, 90) | 32]); + } + if (!(al < 97 || ag > 122)) { + af.push([Math.max(97, ag) & ~32, Math.min(al, 122) & ~32]); + } + } + } + } + af.sort(function (av, au) { + return av[0] - au[0] || au[1] - av[1]; + }); + var ai = []; + var ap = [NaN, NaN]; + for (var ar = 0; ar < af.length; ++ar) { + var at = af[ar]; + if (at[0] <= ap[1] + 1) { + ap[1] = Math.max(ap[1], at[1]); + } else { + ai.push((ap = at)); + } + } + var an = ['[']; + if (ao) { + an.push('^'); + } + an.push.apply(an, ak); + for (var ar = 0; ar < ai.length; ++ar) { + var at = ai[ar]; + an.push(T(at[0])); + if (at[1] > at[0]) { + if (at[1] + 1 > at[0]) { + an.push('-'); + } + an.push(T(at[1])); + } + } + an.push(']'); + return an.join(''); + } + function W(al) { + var aj = al.source.match( + new RegExp( + '(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)', + 'g' + ) + ); + var ah = aj.length; + var an = []; + for (var ak = 0, am = 0; ak < ah; ++ak) { + var ag = aj[ak]; + if (ag === '(') { + ++am; + } else { + if ('\\' === ag.charAt(0)) { + var af = +ag.substring(1); + if (af && af <= am) { + an[af] = -1; + } + } + } + } + for (var ak = 1; ak < an.length; ++ak) { + if (-1 === an[ak]) { + an[ak] = ++ad; + } + } + for (var ak = 0, am = 0; ak < ah; ++ak) { + var ag = aj[ak]; + if (ag === '(') { + ++am; + if (an[am] === undefined) { + aj[ak] = '(?:'; + } + } else { + if ('\\' === ag.charAt(0)) { + var af = +ag.substring(1); + if (af && af <= am) { + aj[ak] = '\\' + an[am]; + } + } + } + } + for (var ak = 0, am = 0; ak < ah; ++ak) { + if ('^' === aj[ak] && '^' !== aj[ak + 1]) { + aj[ak] = ''; + } + } + if (al.ignoreCase && S) { + for (var ak = 0; ak < ah; ++ak) { + var ag = aj[ak]; + var ai = ag.charAt(0); + if (ag.length >= 2 && ai === '[') { + aj[ak] = X(ag); + } else { + if (ai !== '\\') { + aj[ak] = ag.replace(/[a-zA-Z]/g, function (ao) { + var ap = ao.charCodeAt(0); + return '[' + String.fromCharCode(ap & ~32, ap | 32) + ']'; + }); + } + } + } + } + return aj.join(''); + } + var aa = []; + for (var V = 0, U = Z.length; V < U; ++V) { + var ae = Z[V]; + if (ae.global || ae.multiline) { + throw new Error('' + ae); + } + aa.push('(?:' + W(ae) + ')'); + } + return new RegExp(aa.join('|'), ac ? 'gi' : 'g'); + } + function a(V) { + var U = /(?:^|\s)nocode(?:\s|$)/; + var X = []; + var T = 0; + var Z = []; + var W = 0; + var S; + if (V.currentStyle) { + S = V.currentStyle.whiteSpace; + } else { + if (window.getComputedStyle) { + S = document.defaultView.getComputedStyle(V, null).getPropertyValue('white-space'); + } + } + var Y = S && 'pre' === S.substring(0, 3); + function aa(ab) { + switch (ab.nodeType) { + case 1: + if (U.test(ab.className)) { + return; + } + for (var ae = ab.firstChild; ae; ae = ae.nextSibling) { + aa(ae); + } + var ad = ab.nodeName; + if ('BR' === ad || 'LI' === ad) { + X[W] = '\n'; + Z[W << 1] = T++; + Z[(W++ << 1) | 1] = ab; + } + break; + case 3: + case 4: + var ac = ab.nodeValue; + if (ac.length) { + if (!Y) { + ac = ac.replace(/[ \t\r\n]+/g, ' '); + } else { + ac = ac.replace(/\r\n?/g, '\n'); + } + X[W] = ac; + Z[W << 1] = T; + T += ac.length; + Z[(W++ << 1) | 1] = ab; + } + break; + } + } + aa(V); + return { sourceCode: X.join('').replace(/\n$/, ''), spans: Z }; + } + function B(S, U, W, T) { + if (!U) { + return; + } + var V = { sourceCode: U, basePos: S }; + W(V); + T.push.apply(T, V.decorations); + } + var v = /\S/; + function o(S) { + var V = undefined; + for (var U = S.firstChild; U; U = U.nextSibling) { + var T = U.nodeType; + V = T === 1 ? (V ? S : U) : T === 3 ? (v.test(U.nodeValue) ? S : V) : V; + } + return V === S ? undefined : V; + } + function g(U, T) { + var S = {}; + var V; + (function () { + var ad = U.concat(T); + var ah = []; + var ag = {}; + for (var ab = 0, Z = ad.length; ab < Z; ++ab) { + var Y = ad[ab]; + var ac = Y[3]; + if (ac) { + for (var ae = ac.length; --ae >= 0; ) { + S[ac.charAt(ae)] = Y; + } + } + var af = Y[1]; + var aa = '' + af; + if (!ag.hasOwnProperty(aa)) { + ah.push(af); + ag[aa] = null; + } + } + ah.push(/[\0-\uffff]/); + V = k(ah); + })(); + var X = T.length; + var W = function (ah) { + var Z = ah.sourceCode, + Y = ah.basePos; + var ad = [Y, F]; + var af = 0; + var an = Z.match(V) || []; + var aj = {}; + for (var ae = 0, aq = an.length; ae < aq; ++ae) { + var ag = an[ae]; + var ap = aj[ag]; + var ai = void 0; + var am; + if (typeof ap === 'string') { + am = false; + } else { + var aa = S[ag.charAt(0)]; + if (aa) { + ai = ag.match(aa[1]); + ap = aa[0]; + } else { + for (var ao = 0; ao < X; ++ao) { + aa = T[ao]; + ai = ag.match(aa[1]); + if (ai) { + ap = aa[0]; + break; + } + } + if (!ai) { + ap = F; + } + } + am = ap.length >= 5 && 'lang-' === ap.substring(0, 5); + if (am && !(ai && typeof ai[1] === 'string')) { + am = false; + ap = J; + } + if (!am) { + aj[ag] = ap; + } + } + var ab = af; + af += ag.length; + if (!am) { + ad.push(Y + ab, ap); + } else { + var al = ai[1]; + var ak = ag.indexOf(al); + var ac = ak + al.length; + if (ai[2]) { + ac = ag.length - ai[2].length; + ak = ac - al.length; + } + var ar = ap.substring(5); + B(Y + ab, ag.substring(0, ak), W, ad); + B(Y + ab + ak, al, q(ar, al), ad); + B(Y + ab + ac, ag.substring(ac), W, ad); + } + } + ah.decorations = ad; + }; + return W; + } + function i(T) { + var W = [], + S = []; + if (T.tripleQuotedStrings) { + W.push([ + C, + /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, + null, + '\'"', + ]); + } else { + if (T.multiLineStrings) { + W.push([ + C, + /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, + null, + '\'"`', + ]); + } else { + W.push([ + C, + /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, + null, + '"\'', + ]); + } + } + if (T.verbatimStrings) { + S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]); + } + var Y = T.hashComments; + if (Y) { + if (T.cStyleComments) { + if (Y > 1) { + W.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']); + } else { + W.push([ + j, + /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/, + null, + '#', + ]); + } + S.push([C, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, null]); + } else { + W.push([j, /^#[^\r\n]*/, null, '#']); + } + } + if (T.cStyleComments) { + S.push([j, /^\/\/[^\r\n]*/, null]); + S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]); + } + if (T.regexLiterals) { + var X = + '/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/'; + S.push(['lang-regex', new RegExp('^' + M + '(' + X + ')')]); + } + var V = T.types; + if (V) { + S.push([O, V]); + } + var U = ('' + T.keywords).replace(/^ | $/g, ''); + if (U.length) { + S.push([z, new RegExp('^(?:' + U.replace(/[\s,]+/g, '|') + ')\\b'), null]); + } + W.push([F, /^\s+/, null, ' \r\n\t\xA0']); + S.push( + [G, /^@[a-z_$][a-z_$@0-9]*/i, null], + [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], + [F, /^[a-z_$][a-z_$@0-9]*/i, null], + [ + G, + new RegExp( + '^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*', + 'i' + ), + null, + '0123456789', + ], + [F, /^\\[\s\S]?/, null], + [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null] + ); + return g(W, S); + } + var K = i({ + keywords: A, + hashComments: true, + cStyleComments: true, + multiLineStrings: true, + regexLiterals: true, + }); + function Q(V, ag) { + var U = /(?:^|\s)nocode(?:\s|$)/; + var ab = /\r\n?|\n/; + var ac = V.ownerDocument; + var S; + if (V.currentStyle) { + S = V.currentStyle.whiteSpace; + } else { + if (window.getComputedStyle) { + S = ac.defaultView.getComputedStyle(V, null).getPropertyValue('white-space'); + } + } + var Z = S && 'pre' === S.substring(0, 3); + var af = ac.createElement('LI'); + while (V.firstChild) { + af.appendChild(V.firstChild); + } + var W = [af]; + function ae(al) { + switch (al.nodeType) { + case 1: + if (U.test(al.className)) { + break; + } + if ('BR' === al.nodeName) { + ad(al); + if (al.parentNode) { + al.parentNode.removeChild(al); + } + } else { + for (var an = al.firstChild; an; an = an.nextSibling) { + ae(an); + } + } + break; + case 3: + case 4: + if (Z) { + var am = al.nodeValue; + var aj = am.match(ab); + if (aj) { + var ai = am.substring(0, aj.index); + al.nodeValue = ai; + var ah = am.substring(aj.index + aj[0].length); + if (ah) { + var ak = al.parentNode; + ak.insertBefore(ac.createTextNode(ah), al.nextSibling); + } + ad(al); + if (!ai) { + al.parentNode.removeChild(al); + } + } + } + break; + } + } + function ad(ak) { + while (!ak.nextSibling) { + ak = ak.parentNode; + if (!ak) { + return; + } + } + function ai(al, ar) { + var aq = ar ? al.cloneNode(false) : al; + var ao = al.parentNode; + if (ao) { + var ap = ai(ao, 1); + var an = al.nextSibling; + ap.appendChild(aq); + for (var am = an; am; am = an) { + an = am.nextSibling; + ap.appendChild(am); + } + } + return aq; + } + var ah = ai(ak.nextSibling, 0); + for (var aj; (aj = ah.parentNode) && aj.nodeType === 1; ) { + ah = aj; + } + W.push(ah); + } + for (var Y = 0; Y < W.length; ++Y) { + ae(W[Y]); + } + if (ag === (ag | 0)) { + W[0].setAttribute('value', ag); + } + var aa = ac.createElement('OL'); + aa.className = 'linenums'; + var X = Math.max(0, (ag - 1) | 0) || 0; + for (var Y = 0, T = W.length; Y < T; ++Y) { + af = W[Y]; + af.className = 'L' + ((Y + X) % 10); + if (!af.firstChild) { + af.appendChild(ac.createTextNode('\xA0')); + } + aa.appendChild(af); + } + V.appendChild(aa); + } + function D(ac) { + var aj = /\bMSIE\b/.test(navigator.userAgent); + var am = /\n/g; + var al = ac.sourceCode; + var an = al.length; + var V = 0; + var aa = ac.spans; + var T = aa.length; + var ah = 0; + var X = ac.decorations; + var Y = X.length; + var Z = 0; + X[Y] = an; + var ar, aq; + for (aq = ar = 0; aq < Y; ) { + if (X[aq] !== X[aq + 2]) { + X[ar++] = X[aq++]; + X[ar++] = X[aq++]; + } else { + aq += 2; + } + } + Y = ar; + for (aq = ar = 0; aq < Y; ) { + var at = X[aq]; + var ab = X[aq + 1]; + var W = aq + 2; + while (W + 2 <= Y && X[W + 1] === ab) { + W += 2; + } + X[ar++] = at; + X[ar++] = ab; + aq = W; + } + Y = X.length = ar; + var ae = null; + while (ah < T) { + var af = aa[ah]; + var S = aa[ah + 2] || an; + var ag = X[Z]; + var ap = X[Z + 2] || an; + var W = Math.min(S, ap); + var ak = aa[ah + 1]; + var U; + if (ak.nodeType !== 1 && (U = al.substring(V, W))) { + if (aj) { + U = U.replace(am, '\r'); + } + ak.nodeValue = U; + var ai = ak.ownerDocument; + var ao = ai.createElement('SPAN'); + ao.className = X[Z + 1]; + var ad = ak.parentNode; + ad.replaceChild(ao, ak); + ao.appendChild(ak); + if (V < S) { + aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S)); + ad.insertBefore(ak, ao.nextSibling); + } + } + V = W; + if (V >= S) { + ah += 2; + } + if (V >= ap) { + Z += 2; + } + } + } + var t = {}; + function c(U, V) { + for (var S = V.length; --S >= 0; ) { + var T = V[S]; + if (!t.hasOwnProperty(T)) { + t[T] = U; + } else { + if (window.console) { + console.warn('cannot override language handler %s', T); + } + } + } + } + function q(T, S) { + if (!(T && t.hasOwnProperty(T))) { + T = /^\s*]*(?:>|$)/], + [j, /^<\!--[\s\S]*?(?:-\->|$)/], + ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], + ['lang-', /^<%([\s\S]+?)(?:%>|$)/], + [L, /^(?:<[%?]|[%?]>)/], + ['lang-', /^]*>([\s\S]+?)<\/xmp\b[^>]*>/i], + ['lang-js', /^]*>([\s\S]*?)(<\/script\b[^>]*>)/i], + ['lang-css', /^]*>([\s\S]*?)(<\/style\b[^>]*>)/i], + ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], + ] + ), + ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl'] + ); + c( + g( + [ + [F, /^[\s]+/, null, ' \t\r\n'], + [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '"\''], + ], + [ + [m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], + [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], + ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], + [L, /^[=<>\/]+/], + ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i], + ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i], + ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i], + ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i], + ['lang-css', /^style\s*=\s*\'([^\']+)\'/i], + ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i], + ] + ), + ['in.tag'] + ); + c(g([], [[n, /^[\s\S]+/]]), ['uq.val']); + c(i({ keywords: l, hashComments: true, cStyleComments: true, types: e }), [ + 'c', + 'cc', + 'cpp', + 'cxx', + 'cyc', + 'm', + ]); + c(i({ keywords: 'null,true,false' }), ['json']); + c(i({ keywords: R, hashComments: true, cStyleComments: true, verbatimStrings: true, types: e }), [ + 'cs', + ]); + c(i({ keywords: x, cStyleComments: true }), ['java']); + c(i({ keywords: H, hashComments: true, multiLineStrings: true }), ['bsh', 'csh', 'sh']); + c(i({ keywords: I, hashComments: true, multiLineStrings: true, tripleQuotedStrings: true }), [ + 'cv', + 'py', + ]); + c(i({ keywords: s, hashComments: true, multiLineStrings: true, regexLiterals: true }), [ + 'perl', + 'pl', + 'pm', + ]); + c(i({ keywords: f, hashComments: true, multiLineStrings: true, regexLiterals: true }), ['rb']); + c(i({ keywords: w, cStyleComments: true, regexLiterals: true }), ['js']); + c( + i({ + keywords: r, + hashComments: 3, + cStyleComments: true, + multilineStrings: true, + tripleQuotedStrings: true, + regexLiterals: true, + }), + ['coffee'] + ); + c(g([], [[C, /^[\s\S]+/]]), ['regex']); + function d(V) { + var U = V.langExtension; + try { + var S = a(V.sourceNode); + var T = S.sourceCode; + V.sourceCode = T; + V.spans = S.spans; + V.basePos = 0; + q(U, T)(V); + D(V); + } catch (W) { + if ('console' in window) { + console.log(W && W.stack ? W.stack : W); + } + } + } + function y(W, V, U) { + var S = document.createElement('PRE'); + S.innerHTML = W; + if (U) { + Q(S, U); + } + var T = { langExtension: V, numberLines: U, sourceNode: S }; + d(T); + return S.innerHTML; + } + function b(ad) { + function Y(af) { + return document.getElementsByTagName(af); + } + var ac = [Y('pre'), Y('code'), Y('xmp')]; + var T = []; + for (var aa = 0; aa < ac.length; ++aa) { + for (var Z = 0, V = ac[aa].length; Z < V; ++Z) { + T.push(ac[aa][Z]); + } + } + ac = null; + var W = Date; + if (!W.now) { + W = { + now: function () { + return +new Date(); + }, + }; + } + var X = 0; + var S; + var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/; + var ae = /\bprettyprint\b/; + function U() { + var ag = window.PR_SHOULD_USE_CONTINUATION ? W.now() + 250 : Infinity; + for (; X < T.length && W.now() < ag; X++) { + var aj = T[X]; + var ai = aj.className; + if (ai.indexOf('prettyprint') >= 0) { + var ah = ai.match(ab); + var am; + if (!ah && (am = o(aj)) && 'CODE' === am.tagName) { + ah = am.className.match(ab); + } + if (ah) { + ah = ah[1]; + } + var al = false; + for (var ak = aj.parentNode; ak; ak = ak.parentNode) { + if ( + (ak.tagName === 'pre' || ak.tagName === 'code' || ak.tagName === 'xmp') && + ak.className && + ak.className.indexOf('prettyprint') >= 0 + ) { + al = true; + break; + } + } + if (!al) { + var af = aj.className.match(/\blinenums\b(?::(\d+))?/); + af = af ? (af[1] && af[1].length ? +af[1] : true) : false; + if (af) { + Q(aj, af); + } + S = { langExtension: ah, sourceNode: aj, numberLines: af }; + d(S); + } + } + } + if (X < T.length) { + setTimeout(U, 250); + } else { + if (ad) { + ad(); + } + } + } + U(); + } + window.prettyPrintOne = y; + window.prettyPrint = b; + window.PR = { + createSimpleLexer: g, + registerLangHandler: c, + sourceDecorator: i, + PR_ATTRIB_NAME: P, + PR_ATTRIB_VALUE: n, + PR_COMMENT: j, + PR_DECLARATION: E, + PR_KEYWORD: z, + PR_LITERAL: G, + PR_NOCODE: N, + PR_PLAIN: F, + PR_PUNCTUATION: L, + PR_SOURCE: J, + PR_STRING: C, + PR_TAG: m, + PR_TYPE: O, + }; +})(); +PR.registerLangHandler( + PR.createSimpleLexer( + [], + [ + [PR.PR_DECLARATION, /^]*(?:>|$)/], + [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], + [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], + ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], + ['lang-', /^<%([\s\S]+?)(?:%>|$)/], + ['lang-', /^]*>([\s\S]+?)<\/xmp\b[^>]*>/i], + [ + 'lang-handlebars', + /^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i, + ], + ['lang-js', /^]*>([\s\S]*?)(<\/script\b[^>]*>)/i], + ['lang-css', /^]*>([\s\S]*?)(<\/style\b[^>]*>)/i], + ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], + [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/], + [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/], + [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/], + [PR.PR_COMMENT, /^{{![^}]*}}/], + ] + ), + ['handlebars', 'hbs'] +); +PR.registerLangHandler( + PR.createSimpleLexer( + [[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, ' \t\r\n\f']], + [ + [PR.PR_STRING, /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null], + [PR.PR_STRING, /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null], + ['lang-css-str', /^url\(([^\)\"\']*)\)/i], + [ + PR.PR_KEYWORD, + /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i, + null, + ], + ['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i], + [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], + [PR.PR_COMMENT, /^(?:)/], + [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], + [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i], + [PR.PR_PLAIN, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i], + [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/], + ] + ), + ['css'] +); +PR.registerLangHandler( + PR.createSimpleLexer( + [], + [[PR.PR_KEYWORD, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]] + ), + ['css-kw'] +); +PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]), ['css-str']); diff --git a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html index b13eebe..4e7fb01 100644 --- a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/components/clips/clip/BookmarkClip.tsx - - - - -
-
-

All files / renderer/src/components/clips/clip BookmarkClip.tsx

-
- -
- 100% - Statements - 3/3 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 3/3 -
- - + + + +
+
+

+ All files / + renderer/src/components/clips/clip BookmarkClip.tsx +

+
+
+ 100% + Statements + 3/3 +
+ +
+ 100% + Branches + 2/2 +
+ +
+ 100% + Functions + 1/1 +
+ +
+ 100% + Lines + 3/3 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -128,21 +124,22 @@

All files / ren };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html index 5386cb2..9afd01a 100644 --- a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/components/clips/clip/HtmlClip.tsx - - - - -
-
-

All files / renderer/src/components/clips/clip HtmlClip.tsx

-
- -
- 100% - Statements - 3/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 3/3 -
- - + + + +
+
+

+ All files / + renderer/src/components/clips/clip HtmlClip.tsx +

+
+
+ 100% + Statements + 3/3 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 1/1 +
+ +
+ 100% + Lines + 3/3 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -119,21 +115,22 @@

All files / ren };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html index 599adb6..4a85e8e 100644 --- a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/components/clips/clip/ImageClip.tsx - - - - -
-
-

All files / renderer/src/components/clips/clip ImageClip.tsx

-
- -
- 100% - Statements - 32/32 -
- - -
- 100% - Branches - 13/13 -
- - -
- 100% - Functions - 3/3 -
- - -
- 100% - Lines - 32/32 -
- - + + + +
+
+

+ All files / + renderer/src/components/clips/clip ImageClip.tsx +

+
+
+ 100% + Statements + 32/32 +
+ +
+ 100% + Branches + 13/13 +
+ +
+ 100% + Functions + 3/3 +
+ +
+ 100% + Lines + 32/32 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -362,21 +358,22 @@

All files / ren };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html index 6cf044c..9280e72 100644 --- a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html +++ b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/components/clips/clip/TextClip.tsx - - - - -
-
-

All files / renderer/src/components/clips/clip TextClip.tsx

-
- -
- 100% - Statements - 64/64 -
- - -
- 100% - Branches - 44/44 -
- - -
- 100% - Functions - 11/11 -
- - -
- 100% - Lines - 64/64 -
- - + + + +
+
+

+ All files / + renderer/src/components/clips/clip TextClip.tsx +

+
+
+ 100% + Statements + 64/64 +
+ +
+ 100% + Branches + 44/44 +
+ +
+ 100% + Functions + 11/11 +
+ +
+ 100% + Lines + 64/64 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -734,21 +730,22 @@

All files / ren };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/components/clips/clip/index.html b/coverage/renderer/src/components/clips/clip/index.html index afde1a7..0a4c05a 100644 --- a/coverage/renderer/src/components/clips/clip/index.html +++ b/coverage/renderer/src/components/clips/clip/index.html @@ -1,161 +1,185 @@ - - - + Code coverage report for renderer/src/components/clips/clip - - - - -
-
-

All files renderer/src/components/clips/clip

-
- -
- 100% - Statements - 102/102 -
- - -
- 100% - Branches - 59/59 -
- - -
- 100% - Functions - 16/16 -
- - -
- 100% - Lines - 102/102 -
- - + + + +
+
+

+ All files renderer/src/components/clips/clip +

+
+
+ 100% + Statements + 102/102 +
+ +
+ 100% + Branches + 59/59 +
+ +
+ 100% + Functions + 16/16 +
+ +
+ 100% + Lines + 102/102 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
FileStatementsBranchesFunctionsLines
BookmarkClip.tsx -
-
100%3/3100%2/2100%1/1100%3/3
HtmlClip.tsx -
-
100%3/3100%0/0100%1/1100%3/3
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - -
File + Statements + BranchesFunctionsLines
+ BookmarkClip.tsx + +
+
+
+
+
100%3/3100%2/2100%1/1100%3/3
ImageClip.tsx -
-
100%32/32100%13/13100%3/3100%32/32
+ HtmlClip.tsx + +
+
+
+
+
100%3/3100%0/0100%1/1100%3/3
TextClip.tsx -
-
100%64/64100%44/44100%11/11100%64/64
+ ImageClip.tsx + +
+
+
+
+
100%32/32100%13/13100%3/3100%32/32
-
-
-
- - - - - - + + + TextClip.tsx + + +
+
+
+
+ + 100% + 64/64 + 100% + 44/44 + 100% + 11/11 + 100% + 64/64 + + + +
+
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/hooks/index.html b/coverage/renderer/src/hooks/index.html index ebe0cb4..480707b 100644 --- a/coverage/renderer/src/hooks/index.html +++ b/coverage/renderer/src/hooks/index.html @@ -1,116 +1,123 @@ - - - + Code coverage report for renderer/src/hooks - - - - -
-
+ + + +
+

All files renderer/src/hooks

-
- -
- 100% - Statements - 27/27 -
- - -
- 100% - Branches - 10/10 -
- - -
- 100% - Functions - 4/4 -
- - -
- 100% - Lines - 27/27 -
- - +
+
+ 100% + Statements + 27/27 +
+ +
+ 100% + Branches + 10/10 +
+ +
+ 100% + Functions + 4/4 +
+ +
+ 100% + Lines + 27/27 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File + Statements + BranchesFunctionsLines
+ usePatternDetection.ts + +
+
+
+
+
100%27/27100%10/10100%4/4100%27/27
+
+
+
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
usePatternDetection.ts -
-
100%27/27100%10/10100%4/4100%27/27
-
-
-
- - - - - - + + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/hooks/usePatternDetection.ts.html b/coverage/renderer/src/hooks/usePatternDetection.ts.html index b180a76..1a8370b 100644 --- a/coverage/renderer/src/hooks/usePatternDetection.ts.html +++ b/coverage/renderer/src/hooks/usePatternDetection.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/hooks/usePatternDetection.ts - - - - -
-
-

All files / renderer/src/hooks usePatternDetection.ts

-
- -
- 100% - Statements - 27/27 -
- - -
- 100% - Branches - 10/10 -
- - -
- 100% - Functions - 4/4 -
- - -
- 100% - Lines - 27/27 -
- - + + + +
+
+

+ All files / + renderer/src/hooks usePatternDetection.ts +

+
+
+ 100% + Statements + 27/27 +
+ +
+ 100% + Branches + 10/10 +
+ +
+ 100% + Functions + 4/4 +
+ +
+ 100% + Lines + 27/27 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -236,21 +232,22 @@

All files / renderer/ }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/providers/index.html b/coverage/renderer/src/providers/index.html index e9649f8..c0604b8 100644 --- a/coverage/renderer/src/providers/index.html +++ b/coverage/renderer/src/providers/index.html @@ -1,116 +1,123 @@ - - - + Code coverage report for renderer/src/providers - - - - -
-
+ + + +
+

All files renderer/src/providers

-
- -
- 100% - Statements - 59/59 -
- - -
- 100% - Branches - 20/20 -
- - -
- 100% - Functions - 11/11 -
- - -
- 100% - Lines - 54/54 -
- - +
+
+ 100% + Statements + 59/59 +
+ +
+ 100% + Branches + 20/20 +
+ +
+ 100% + Functions + 11/11 +
+ +
+ 100% + Lines + 54/54 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File + Statements + BranchesFunctionsLines
+ theme.tsx + +
+
+
+
+
100%59/59100%20/20100%11/11100%54/54
+
+
+
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
theme.tsx -
-
100%59/59100%20/20100%11/11100%54/54
-
-
-
- - - - - - + + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/providers/theme.tsx.html b/coverage/renderer/src/providers/theme.tsx.html index b0406a0..6b529ca 100644 --- a/coverage/renderer/src/providers/theme.tsx.html +++ b/coverage/renderer/src/providers/theme.tsx.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/providers/theme.tsx - - - - -
-
-

All files / renderer/src/providers theme.tsx

-
- -
- 100% - Statements - 59/59 -
- - -
- 100% - Branches - 20/20 -
- - -
- 100% - Functions - 11/11 -
- - -
- 100% - Lines - 54/54 -
- - + + + +
+
+

+ All files / + renderer/src/providers theme.tsx +

+
+
+ 100% + Statements + 59/59 +
+ +
+ 100% + Branches + 20/20 +
+ +
+ 100% + Functions + 11/11 +
+ +
+ 100% + Lines + 54/54 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -476,21 +472,22 @@

All files / renderer/ };  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/utils/index.html b/coverage/renderer/src/utils/index.html index 7d2f68d..830c92c 100644 --- a/coverage/renderer/src/utils/index.html +++ b/coverage/renderer/src/utils/index.html @@ -1,116 +1,123 @@ - - - + Code coverage report for renderer/src/utils - - - - -
-
+ + + +
+

All files renderer/src/utils

-
- -
- 100% - Statements - 53/53 -
- - -
- 100% - Branches - 34/34 -
- - -
- 100% - Functions - 12/12 -
- - -
- 100% - Lines - 52/52 -
- - +
+
+ 100% + Statements + 53/53 +
+ +
+ 100% + Branches + 34/34 +
+ +
+ 100% + Functions + 12/12 +
+ +
+ 100% + Lines + 52/52 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File + Statements + BranchesFunctionsLines
+ languageDetection.ts + +
+
+
+
+
100%53/53100%34/34100%12/12100%52/52
+
+
+
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
languageDetection.ts -
-
100%53/53100%34/34100%12/12100%52/52
-
-
-
- - - - - - + + + + + + + - \ No newline at end of file diff --git a/coverage/renderer/src/utils/languageDetection.ts.html b/coverage/renderer/src/utils/languageDetection.ts.html index a9303d6..2ca66f6 100644 --- a/coverage/renderer/src/utils/languageDetection.ts.html +++ b/coverage/renderer/src/utils/languageDetection.ts.html @@ -1,68 +1,64 @@ - - - + Code coverage report for renderer/src/utils/languageDetection.ts - - - - -
-
-

All files / renderer/src/utils languageDetection.ts

-
- -
- 100% - Statements - 53/53 -
- - -
- 100% - Branches - 34/34 -
- - -
- 100% - Functions - 12/12 -
- - -
- 100% - Lines - 52/52 -
- - + + + +
+
+

+ All files / + renderer/src/utils languageDetection.ts +

+
+
+ 100% + Statements + 53/53 +
+ +
+ 100% + Branches + 34/34 +
+ +
+ 100% + Functions + 12/12 +
+ +
+ 100% + Lines + 52/52 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 2 3 @@ -1700,21 +1696,22 @@

All files / renderer/ }  

-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/shared/constants.ts.html b/coverage/shared/constants.ts.html index e70e649..2a5ebf7 100644 --- a/coverage/shared/constants.ts.html +++ b/coverage/shared/constants.ts.html @@ -1,88 +1,84 @@ - - - + Code coverage report for shared/constants.ts - - - - -
-
-

All files / shared constants.ts

-
- -
- 100% - Statements - 1/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 1/1 -
- - + + + +
+
+

+ All files / shared constants.ts +

+
+
+ 100% + Statements + 1/1 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 0/0 +
+ +
+ 100% + Lines + 1/1 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

-
-
-

+      
+      
+
1 21x  
export const DEFAULT_MAX_CLIPS = 100;
  
-
-
- - - - - - +
+ +
+ + + + + + + - \ No newline at end of file diff --git a/coverage/shared/index.html b/coverage/shared/index.html index 505f653..454a86f 100644 --- a/coverage/shared/index.html +++ b/coverage/shared/index.html @@ -1,116 +1,123 @@ - - - + Code coverage report for shared - - - - -
-
+ + + +
+

All files shared

-
- -
- 100% - Statements - 1/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 1/1 -
- - +
+
+ 100% + Statements + 1/1 +
+ +
+ 100% + Branches + 0/0 +
+ +
+ 100% + Functions + 0/0 +
+ +
+ 100% + Lines + 1/1 +

- Press n or j to go to the next uncovered block, b, p or k for the previous block. + Press n or j to go to the next uncovered block, b, + p or k for the previous block.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File + Statements + BranchesFunctionsLines
+ constants.ts + +
+
+
+
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
constants.ts -
-
100%1/1100%0/0100%0/0100%1/1
-
-
-
- - - - - - + + + + + + + - \ No newline at end of file diff --git a/coverage/sorter.js b/coverage/sorter.js index 4ed70ae..b73cd86 100644 --- a/coverage/sorter.js +++ b/coverage/sorter.js @@ -1,210 +1,205 @@ /* eslint-disable */ -var addSorting = (function() { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false - }; +var addSorting = (function () { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false, + }; - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + + // Try to create a RegExp from the searchValue. If it fails (invalid regex), + // it will be treated as a plain text search + let searchRegex; + try { + searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive + } catch (error) { + searchRegex = null; } - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - - // Try to create a RegExp from the searchValue. If it fails (invalid regex), - // it will be treated as a plain text search - let searchRegex; - try { - searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive - } catch (error) { - searchRegex = null; - } + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + let isMatch = false; - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - let isMatch = false; - - if (searchRegex) { - // If a valid regex was created, use it for matching - isMatch = searchRegex.test(row.textContent); - } else { - // Otherwise, fall back to the original plain text search - isMatch = row.textContent - .toLowerCase() - .includes(searchValue.toLowerCase()); - } - - row.style.display = isMatch ? '' : 'none'; - } - } + if (searchRegex) { + // If a valid regex was created, use it for matching + isMatch = searchRegex.test(row.textContent); + } else { + // Otherwise, fall back to the original plain text search + isMatch = row.textContent.toLowerCase().includes(searchValue.toLowerCase()); + } - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); + row.style.display = isMatch ? '' : 'none'; } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = - colNode.innerHTML + ''; - } - } - return cols; + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string', + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = colNode.innerHTML + ''; + } } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); } + } } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; })(); window.addEventListener('load', addSorting); diff --git a/src/main/clipboard/data.test.ts b/src/main/clipboard/data.test.ts index 6778701..4a6bb8d 100644 --- a/src/main/clipboard/data.test.ts +++ b/src/main/clipboard/data.test.ts @@ -77,7 +77,10 @@ describe('getCurrentClipboardData', () => { }); it('returns bookmark type when only bookmark is available', () => { - vi.mocked(clipboard.readBookmark).mockReturnValue({ title: 'Example', url: 'https://example.com' }); + vi.mocked(clipboard.readBookmark).mockReturnValue({ + title: 'Example', + url: 'https://example.com', + }); const result = getCurrentClipboardData(); expect(result).toEqual({ type: 'bookmark', @@ -212,8 +215,6 @@ describe('setClipboardBookmark', () => { vi.mocked(clipboard.write).mockImplementation(() => { throw new Error('write failed'); }); - expect(() => - setClipboardBookmark({ text: 'a', html: 'a' }) - ).toThrow('write failed'); + expect(() => setClipboardBookmark({ text: 'a', html: 'a' })).toThrow('write failed'); }); }); diff --git a/src/main/clipboard/quick-clips.test.ts b/src/main/clipboard/quick-clips.test.ts index 5698a0d..d8bde7d 100644 --- a/src/main/clipboard/quick-clips.test.ts +++ b/src/main/clipboard/quick-clips.test.ts @@ -209,12 +209,12 @@ describe('openToolsForMatches', () => { }, ]); - const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + const matches = [ + { searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }, + ]; await openToolsForMatches(matches, ['t1']); - expect(mockOpenExternal).toHaveBeenCalledWith( - 'https://google.com/search?q=test%40example.com' - ); + expect(mockOpenExternal).toHaveBeenCalledWith('https://google.com/search?q=test%40example.com'); }); it('skips tool when no matching captures exist', async () => { @@ -230,7 +230,9 @@ describe('openToolsForMatches', () => { }, ]); - const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + const matches = [ + { searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }, + ]; await openToolsForMatches(matches, ['t1']); expect(mockOpenExternal).not.toHaveBeenCalled(); @@ -239,7 +241,9 @@ describe('openToolsForMatches', () => { it('skips unknown tool ids', async () => { mockedStorage.getQuickTools.mockResolvedValue([]); - const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + const matches = [ + { searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }, + ]; await openToolsForMatches(matches, ['unknown']); expect(mockOpenExternal).not.toHaveBeenCalled(); @@ -258,7 +262,9 @@ describe('openToolsForMatches', () => { }, ]); - const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + const matches = [ + { searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }, + ]; await openToolsForMatches(matches, ['t1']); expect(mockOpenExternal).toHaveBeenCalledWith('https://example.com/page'); @@ -277,7 +283,9 @@ describe('openToolsForMatches', () => { }, ]); - const matches = [{ searchTermId: '1', searchTermName: 'URL', captures: { url: 'https://detected.com' } }]; + const matches = [ + { searchTermId: '1', searchTermName: 'URL', captures: { url: 'https://detected.com' } }, + ]; await openToolsForMatches(matches, ['t1']); expect(mockOpenExternal).toHaveBeenCalledWith('https://detected.com'); @@ -321,7 +329,9 @@ describe('openToolsForMatches', () => { }, ]); - const matches = [{ searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }]; + const matches = [ + { searchTermId: '1', searchTermName: 'Email', captures: { email: 'test@example.com' } }, + ]; await openToolsForMatches(matches, ['t1']); expect(mockOpenExternal).not.toHaveBeenCalled(); @@ -448,17 +458,15 @@ describe('openToolsForMatches', () => { ]; await openToolsForMatches(matches, ['t1']); - expect(mockOpenExternal).toHaveBeenCalledWith( - 'https://proxy.com/https://example.com/test' - ); + expect(mockOpenExternal).toHaveBeenCalledWith('https://proxy.com/https://example.com/test'); }); it('throws when storage fails', async () => { mockedStorage.getQuickTools.mockRejectedValue(new Error('storage error')); - await expect( - openToolsForMatches([{ captures: { email: 'a@b.com' } }], ['t1']) - ).rejects.toThrow('storage error'); + await expect(openToolsForMatches([{ captures: { email: 'a@b.com' } }], ['t1'])).rejects.toThrow( + 'storage error' + ); }); }); diff --git a/src/main/clipboard/quick-tools.test.ts b/src/main/clipboard/quick-tools.test.ts index 5e26252..0d7148c 100644 --- a/src/main/clipboard/quick-tools.test.ts +++ b/src/main/clipboard/quick-tools.test.ts @@ -85,7 +85,9 @@ describe('createQuickTool', () => { it('delegates to storage.createQuickTool', async () => { mockedStorage.createQuickTool.mockResolvedValue({ id: '1' } as any); const result = await createQuickTool('Test', 'https://example.com/{q}', ['q']); - expect(mockedStorage.createQuickTool).toHaveBeenCalledWith('Test', 'https://example.com/{q}', ['q']); + expect(mockedStorage.createQuickTool).toHaveBeenCalledWith('Test', 'https://example.com/{q}', [ + 'q', + ]); expect(result).toEqual({ id: '1' }); }); diff --git a/src/main/hotkeys/actions.test.ts b/src/main/hotkeys/actions.test.ts index 81e2057..fd46416 100644 --- a/src/main/hotkeys/actions.test.ts +++ b/src/main/hotkeys/actions.test.ts @@ -125,7 +125,12 @@ describe('HotkeyActions', () => { it('copies bookmark clip with title and url', async () => { vi.mocked(storage.getClips).mockResolvedValue([ { - clip: { type: 'bookmark', content: 'Example', title: 'Example', url: 'https://example.com' }, + clip: { + type: 'bookmark', + content: 'Example', + title: 'Example', + url: 'https://example.com', + }, isLocked: false, timestamp: 1, }, @@ -147,7 +152,11 @@ describe('HotkeyActions', () => { isEmpty: () => false, } as any); vi.mocked(storage.getClips).mockResolvedValue([ - { clip: { type: 'image', content: 'data:image/png;base64,abc' }, isLocked: false, timestamp: 1 }, + { + clip: { type: 'image', content: 'data:image/png;base64,abc' }, + isLocked: false, + timestamp: 1, + }, ]); await actions.copyQuickClip(0); expect(clipboard.writeImage).toHaveBeenCalled(); @@ -158,7 +167,11 @@ describe('HotkeyActions', () => { isEmpty: () => true, } as any); vi.mocked(storage.getClips).mockResolvedValue([ - { clip: { type: 'image', content: 'data:image/png;base64,abc' }, isLocked: false, timestamp: 1 }, + { + clip: { type: 'image', content: 'data:image/png;base64,abc' }, + isLocked: false, + timestamp: 1, + }, ]); await actions.copyQuickClip(0); expect(clipboard.writeText).toHaveBeenCalledWith('data:image/png;base64,abc'); diff --git a/src/main/storage/templates.test.ts b/src/main/storage/templates.test.ts index 53def0d..985282e 100644 --- a/src/main/storage/templates.test.ts +++ b/src/main/storage/templates.test.ts @@ -126,7 +126,9 @@ describe('generateTextFromTemplate', () => { }); it('skips positional tokens during named capture replacement', () => { - const result = generateTextFromTemplate(makeTemplate('{c1} {name}'), ['clip1'], { name: 'Alice' }); + const result = generateTextFromTemplate(makeTemplate('{c1} {name}'), ['clip1'], { + name: 'Alice', + }); expect(result).toBe('clip1 Alice'); }); @@ -145,7 +147,14 @@ describe('generateTemplateId', () => { describe('updateTemplateObject', () => { it('updates fields and refreshes updatedAt', () => { - const original = { id: '1', name: 'Old', content: 'test', createdAt: 1000, updatedAt: 1000, order: 0 }; + const original = { + id: '1', + name: 'Old', + content: 'test', + createdAt: 1000, + updatedAt: 1000, + order: 0, + }; const updated = updateTemplateObject(original, { name: 'New' }); expect(updated.name).toBe('New'); expect(updated.updatedAt).toBeGreaterThan(1000); diff --git a/src/renderer/src/components/clips/clip/TextClip.test.tsx b/src/renderer/src/components/clips/clip/TextClip.test.tsx index dfa317a..98e8087 100644 --- a/src/renderer/src/components/clips/clip/TextClip.test.tsx +++ b/src/renderer/src/components/clips/clip/TextClip.test.tsx @@ -35,7 +35,11 @@ vi.mock('../../../utils/languageDetection', () => ({ vi.mock('react-syntax-highlighter', () => ({ Prism: ({ children, PreTag, ...props }: any) => { const Tag = PreTag || 'pre'; - return {children}; + return ( + + {children} + + ); }, })); diff --git a/src/renderer/src/hooks/usePatternDetection.test.ts b/src/renderer/src/hooks/usePatternDetection.test.ts index dbe7460..51cb051 100644 --- a/src/renderer/src/hooks/usePatternDetection.test.ts +++ b/src/renderer/src/hooks/usePatternDetection.test.ts @@ -58,10 +58,9 @@ describe('usePatternDetection', () => { const mockScan = vi.fn().mockResolvedValue([]); (window.api as any).quickClipsScanText = mockScan; - const { rerender, result } = renderHook( - ({ content }) => usePatternDetection(content), - { initialProps: { content: 'first' } } - ); + const { rerender, result } = renderHook(({ content }) => usePatternDetection(content), { + initialProps: { content: 'first' }, + }); // Change content before debounce fires rerender({ content: 'second' }); @@ -141,10 +140,9 @@ describe('usePatternDetection', () => { ]; (window.api as any).quickClipsScanText = vi.fn().mockResolvedValue(mockMatches); - const { rerender, result } = renderHook( - ({ content }) => usePatternDetection(content), - { initialProps: { content: 'test@example.com' } } - ); + const { rerender, result } = renderHook(({ content }) => usePatternDetection(content), { + initialProps: { content: 'test@example.com' }, + }); await waitFor(() => { expect(result.current.hasPatterns).toBe(true); From aed419a191c1f969fe9972d44e42677fd0a719db Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 20:42:50 -0700 Subject: [PATCH 09/18] fix workflow --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7c4d182..bd50a28 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,7 +24,7 @@ jobs: run: npm ci - name: Run unit tests - run: npx vitest run --coverage + run: npx vitest run --coverage --coverage.reporter=json-summary - name: Post coverage comment if: github.event_name == 'pull_request' From e4d9eeaf0fa815dbe39917dc3385e9b92e5aedcc Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 20:47:56 -0700 Subject: [PATCH 10/18] remove coverage files and fix typechecks --- .gitignore | 1 + coverage/base.css | 362 -- coverage/block-navigation.js | 82 - coverage/clover.xml | 727 --- coverage/coverage-final.json | 5032 ----------------- coverage/favicon.png | Bin 445 -> 0 bytes coverage/index.html | 263 - coverage/main/clipboard/data.ts.html | 378 -- coverage/main/clipboard/index.html | 161 - coverage/main/clipboard/quick-clips.ts.html | 637 --- coverage/main/clipboard/quick-tools.ts.html | 316 -- coverage/main/hotkeys/actions.ts.html | 610 -- coverage/main/hotkeys/index.html | 163 - coverage/main/hotkeys/manager.ts.html | 583 -- coverage/main/hotkeys/registry.ts.html | 328 -- coverage/main/storage/defaults.ts.html | 265 - coverage/main/storage/file-operations.ts.html | 328 -- coverage/main/storage/index.html | 203 - coverage/main/storage/migration.ts.html | 313 - coverage/main/storage/search-terms.ts.html | 244 - coverage/main/storage/templates.ts.html | 385 -- coverage/prettify.css | 101 - coverage/prettify.js | 937 --- .../clips/clip/BookmarkClip.tsx.html | 145 - .../components/clips/clip/HtmlClip.tsx.html | 136 - .../components/clips/clip/ImageClip.tsx.html | 379 -- .../components/clips/clip/TextClip.tsx.html | 751 --- .../src/components/clips/clip/index.html | 185 - coverage/renderer/src/hooks/index.html | 123 - .../src/hooks/usePatternDetection.ts.html | 253 - coverage/renderer/src/providers/index.html | 123 - .../renderer/src/providers/theme.tsx.html | 493 -- coverage/renderer/src/utils/index.html | 123 - .../src/utils/languageDetection.ts.html | 1717 ------ coverage/shared/constants.ts.html | 84 - coverage/shared/index.html | 123 - coverage/sort-arrow-sprite.png | Bin 138 -> 0 bytes coverage/sorter.js | 205 - src/main/hotkeys/actions.test.ts | 2 +- src/main/hotkeys/manager.test.ts | 3 +- .../components/clips/clip/TextClip.test.tsx | 2 +- 41 files changed, 4 insertions(+), 17262 deletions(-) delete mode 100644 coverage/base.css delete mode 100644 coverage/block-navigation.js delete mode 100644 coverage/clover.xml delete mode 100644 coverage/coverage-final.json delete mode 100644 coverage/favicon.png delete mode 100644 coverage/index.html delete mode 100644 coverage/main/clipboard/data.ts.html delete mode 100644 coverage/main/clipboard/index.html delete mode 100644 coverage/main/clipboard/quick-clips.ts.html delete mode 100644 coverage/main/clipboard/quick-tools.ts.html delete mode 100644 coverage/main/hotkeys/actions.ts.html delete mode 100644 coverage/main/hotkeys/index.html delete mode 100644 coverage/main/hotkeys/manager.ts.html delete mode 100644 coverage/main/hotkeys/registry.ts.html delete mode 100644 coverage/main/storage/defaults.ts.html delete mode 100644 coverage/main/storage/file-operations.ts.html delete mode 100644 coverage/main/storage/index.html delete mode 100644 coverage/main/storage/migration.ts.html delete mode 100644 coverage/main/storage/search-terms.ts.html delete mode 100644 coverage/main/storage/templates.ts.html delete mode 100644 coverage/prettify.css delete mode 100644 coverage/prettify.js delete mode 100644 coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html delete mode 100644 coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html delete mode 100644 coverage/renderer/src/components/clips/clip/ImageClip.tsx.html delete mode 100644 coverage/renderer/src/components/clips/clip/TextClip.tsx.html delete mode 100644 coverage/renderer/src/components/clips/clip/index.html delete mode 100644 coverage/renderer/src/hooks/index.html delete mode 100644 coverage/renderer/src/hooks/usePatternDetection.ts.html delete mode 100644 coverage/renderer/src/providers/index.html delete mode 100644 coverage/renderer/src/providers/theme.tsx.html delete mode 100644 coverage/renderer/src/utils/index.html delete mode 100644 coverage/renderer/src/utils/languageDetection.ts.html delete mode 100644 coverage/shared/constants.ts.html delete mode 100644 coverage/shared/index.html delete mode 100644 coverage/sort-arrow-sprite.png delete mode 100644 coverage/sorter.js diff --git a/.gitignore b/.gitignore index f64ded8..f48c7b7 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ electron.vite.config.*.mjs .cursor/rules/user .claude/ test-results/ +coverage/ \ No newline at end of file diff --git a/coverage/base.css b/coverage/base.css deleted file mode 100644 index 8cd9700..0000000 --- a/coverage/base.css +++ /dev/null @@ -1,362 +0,0 @@ -body, -html { - margin: 0; - padding: 0; - height: 100%; -} -body { - font-family: - Helvetica Neue, - Helvetica, - Arial; - font-size: 14px; - color: #333; -} -.small { - font-size: 12px; -} -*, -*:after, -*:before { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -h1 { - font-size: 20px; - margin: 0; -} -h2 { - font-size: 14px; -} -pre { - font: - 12px/1.4 Consolas, - 'Liberation Mono', - Menlo, - Courier, - monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { - color: #0074d9; - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -.strong { - font-weight: bold; -} -.space-top1 { - padding: 10px 0 0 0; -} -.pad2y { - padding: 20px 0; -} -.pad1y { - padding: 10px 0; -} -.pad2x { - padding: 0 20px; -} -.pad2 { - padding: 20px; -} -.pad1 { - padding: 10px; -} -.space-left2 { - padding-left: 55px; -} -.space-right2 { - padding-right: 20px; -} -.center { - text-align: center; -} -.clearfix { - display: block; -} -.clearfix:after { - content: ''; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -.fl { - float: left; -} -@media only screen and (max-width: 640px) { - .col3 { - width: 100%; - max-width: 100%; - } - .hide-mobile { - display: none !important; - } -} - -.quiet { - color: #7f7f7f; - color: rgba(0, 0, 0, 0.5); -} -.quiet a { - opacity: 0.7; -} - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #e8e8e8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, -div.path a:visited { - color: #333; -} -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width: 20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, -.skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { - border-bottom: 1px solid #bbb; -} -.keyline-all { - border: 1px solid #ddd; -} -.coverage-summary td, -.coverage-summary th { - padding: 10px; -} -.coverage-summary tbody { - border: 1px solid #bbb; -} -.coverage-summary td { - border-right: 1px solid #bbb; -} -.coverage-summary td:last-child { - border-right: none; -} -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { - border-right: none !important; -} -.coverage-summary th.pct { -} -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { - text-align: right; -} -.coverage-summary td.file { - white-space: nowrap; -} -.coverage-summary td.pic { - min-width: 120px !important; -} -.coverage-summary tfoot td { -} - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { - height: 10px; -} -/* yellow */ -.cbranch-no { - background: yellow !important; - color: #111; -} -/* dark red */ -.red.solid, -.status-line.low, -.low .cover-fill { - background: #c21f39; -} -.low .chart { - border: 1px solid #c21f39; -} -.highlighted, -.highlighted .cstat-no, -.highlighted .fstat-no, -.highlighted .cbranch-no { - background: #c21f39 !important; -} -/* medium red */ -.cstat-no, -.fstat-no, -.cbranch-no, -.cbranch-no { - background: #f6c6ce; -} -/* light red */ -.low, -.cline-no { - background: #fce1e5; -} -/* light green */ -.high, -.cline-yes { - background: rgb(230, 245, 208); -} -/* medium green */ -.cstat-yes { - background: rgb(161, 215, 106); -} -/* dark green */ -.status-line.high, -.high .cover-fill { - background: rgb(77, 146, 33); -} -.high .chart { - border: 1px solid rgb(77, 146, 33); -} -/* dark yellow (gold) */ -.status-line.medium, -.medium .cover-fill { - background: #f9cd0b; -} -.medium .chart { - border: 1px solid #f9cd0b; -} -/* light yellow */ -.medium { - background: #fff4c2; -} - -.cstat-skip { - background: #ddd; - color: #111; -} -.fstat-skip { - background: #ddd; - color: #111 !important; -} -.cbranch-skip { - background: #ddd !important; - color: #111; -} - -span.cline-neutral { - background: #eaeaea; -} - -.coverage-summary td.empty { - opacity: 0.5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; -} - -.cover-fill, -.cover-empty { - display: inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { - color: #999 !important; -} -.ignore-none { - color: #999; - font-weight: normal; -} - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, -.push { - height: 48px; -} diff --git a/coverage/block-navigation.js b/coverage/block-navigation.js deleted file mode 100644 index b7fa563..0000000 --- a/coverage/block-navigation.js +++ /dev/null @@ -1,82 +0,0 @@ -/* eslint-disable */ -var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; - - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - - // Selector that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); - - var currentIndex; - - function toggleClass(index) { - missingCoverageElements.item(currentIndex).classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center', - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } - - makeCurrent(nextIndex); - } - - function goToNext() { - var nextIndex = 0; - - if (typeof currentIndex === 'number' && currentIndex < missingCoverageElements.length - 1) { - nextIndex = currentIndex + 1; - } - - makeCurrent(nextIndex); - } - - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } - - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; -})(); -window.addEventListener('keydown', jumpToCode); diff --git a/coverage/clover.xml b/coverage/clover.xml deleted file mode 100644 index 31636b4..0000000 --- a/coverage/clover.xml +++ /dev/null @@ -1,727 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json deleted file mode 100644 index a59cc7d..0000000 --- a/coverage/coverage-final.json +++ /dev/null @@ -1,5032 +0,0 @@ -{ - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\data.ts", - "statementMap": { - "0": { "start": { "line": 4, "column": 39 }, "end": { "line": 36, "column": null } }, - "1": { "start": { "line": 6, "column": 15 }, "end": { "line": 6, "column": null } }, - "2": { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, - "3": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": null } }, - "4": { "start": { "line": 11, "column": 14 }, "end": { "line": 11, "column": null } }, - "5": { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, - "6": { "start": { "line": 13, "column": 4 }, "end": { "line": 13, "column": null } }, - "7": { "start": { "line": 16, "column": 15 }, "end": { "line": 16, "column": null } }, - "8": { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, - "9": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, - "10": { "start": { "line": 21, "column": 16 }, "end": { "line": 21, "column": null } }, - "11": { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, - "12": { "start": { "line": 23, "column": 4 }, "end": { "line": 23, "column": null } }, - "13": { "start": { "line": 26, "column": 2 }, "end": { "line": 33, "column": null } }, - "14": { "start": { "line": 27, "column": 21 }, "end": { "line": 27, "column": null } }, - "15": { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, - "16": { "start": { "line": 29, "column": 6 }, "end": { "line": 29, "column": null } }, - "17": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": null } }, - "18": { "start": { "line": 39, "column": 32 }, "end": { "line": 39, "column": null } }, - "19": { "start": { "line": 39, "column": 46 }, "end": { "line": 39, "column": null } }, - "20": { "start": { "line": 40, "column": 32 }, "end": { "line": 40, "column": null } }, - "21": { "start": { "line": 40, "column": 46 }, "end": { "line": 40, "column": null } }, - "22": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": null } }, - "23": { "start": { "line": 41, "column": 45 }, "end": { "line": 41, "column": null } }, - "24": { "start": { "line": 43, "column": 33 }, "end": { "line": 49, "column": null } }, - "25": { "start": { "line": 44, "column": 16 }, "end": { "line": 44, "column": null } }, - "26": { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, - "27": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": null } }, - "28": { "start": { "line": 48, "column": 2 }, "end": { "line": 48, "column": null } }, - "29": { "start": { "line": 51, "column": 36 }, "end": { "line": 57, "column": null } }, - "30": { "start": { "line": 52, "column": 2 }, "end": { "line": 56, "column": null } }, - "31": { "start": { "line": 53, "column": 4 }, "end": { "line": 53, "column": null } }, - "32": { "start": { "line": 55, "column": 4 }, "end": { "line": 55, "column": null } }, - "33": { "start": { "line": 60, "column": 32 }, "end": { "line": 62, "column": null } }, - "34": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": null } }, - "35": { "start": { "line": 64, "column": 32 }, "end": { "line": 66, "column": null } }, - "36": { "start": { "line": 65, "column": 2 }, "end": { "line": 65, "column": null } }, - "37": { "start": { "line": 68, "column": 31 }, "end": { "line": 70, "column": null } }, - "38": { "start": { "line": 69, "column": 2 }, "end": { "line": 69, "column": null } }, - "39": { "start": { "line": 72, "column": 33 }, "end": { "line": 81, "column": null } }, - "40": { "start": { "line": 73, "column": 2 }, "end": { "line": 80, "column": null } }, - "41": { "start": { "line": 75, "column": 18 }, "end": { "line": 75, "column": null } }, - "42": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": null } }, - "43": { "start": { "line": 78, "column": 4 }, "end": { "line": 78, "column": null } }, - "44": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, - "45": { "start": { "line": 83, "column": 36 }, "end": { "line": 99, "column": null } }, - "46": { "start": { "line": 89, "column": 2 }, "end": { "line": 98, "column": null } }, - "47": { "start": { "line": 91, "column": 4 }, "end": { "line": 94, "column": null } }, - "48": { "start": { "line": 96, "column": 4 }, "end": { "line": 96, "column": null } }, - "49": { "start": { "line": 97, "column": 4 }, "end": { "line": 97, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 4, "column": 39 }, "end": { "line": 4, "column": 87 } }, - "loc": { "start": { "line": 4, "column": 87 }, "end": { "line": 36, "column": null } }, - "line": 4 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 39, "column": 32 }, "end": { "line": 39, "column": 46 } }, - "loc": { "start": { "line": 39, "column": 46 }, "end": { "line": 39, "column": null } }, - "line": 39 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 40, "column": 32 }, "end": { "line": 40, "column": 46 } }, - "loc": { "start": { "line": 40, "column": 46 }, "end": { "line": 40, "column": null } }, - "line": 40 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 41, "column": 31 }, "end": { "line": 41, "column": 45 } }, - "loc": { "start": { "line": 41, "column": 45 }, "end": { "line": 41, "column": null } }, - "line": 41 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 43, "column": 33 }, "end": { "line": 43, "column": 54 } }, - "loc": { "start": { "line": 43, "column": 54 }, "end": { "line": 49, "column": null } }, - "line": 43 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 51, "column": 36 }, "end": { "line": 51, "column": 81 } }, - "loc": { "start": { "line": 51, "column": 81 }, "end": { "line": 57, "column": null } }, - "line": 51 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 60, "column": 32 }, "end": { "line": 60, "column": 33 } }, - "loc": { "start": { "line": 60, "column": 56 }, "end": { "line": 62, "column": null } }, - "line": 60 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 64, "column": 32 }, "end": { "line": 64, "column": 33 } }, - "loc": { "start": { "line": 64, "column": 56 }, "end": { "line": 66, "column": null } }, - "line": 64 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 68, "column": 31 }, "end": { "line": 68, "column": 32 } }, - "loc": { "start": { "line": 68, "column": 54 }, "end": { "line": 70, "column": null } }, - "line": 68 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 72, "column": 33 }, "end": { "line": 72, "column": 34 } }, - "loc": { "start": { "line": 72, "column": 62 }, "end": { "line": 81, "column": null } }, - "line": 72 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 83, "column": 36 }, "end": { "line": 83, "column": 37 } }, - "loc": { "start": { "line": 88, "column": 12 }, "end": { "line": 99, "column": null } }, - "line": 88 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 7, "column": 2 }, "end": { "line": 9, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 7 - }, - "1": { - "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 27 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 14 } }, - { "start": { "line": 7, "column": 14 }, "end": { "line": 7, "column": 27 } } - ], - "line": 7 - }, - "2": { - "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 12, "column": 2 }, "end": { "line": 14, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 12 - }, - "3": { - "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 25 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 13 } }, - { "start": { "line": 12, "column": 13 }, "end": { "line": 12, "column": 25 } } - ], - "line": 12 - }, - "4": { - "loc": { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 17, "column": 2 }, "end": { "line": 19, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 17 - }, - "5": { - "loc": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 27 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": 14 } }, - { "start": { "line": 17, "column": 14 }, "end": { "line": 17, "column": 27 } } - ], - "line": 17 - }, - "6": { - "loc": { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 22, "column": 2 }, "end": { "line": 24, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 22 - }, - "7": { - "loc": { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 28, "column": 4 }, "end": { "line": 30, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 28 - }, - "8": { - "loc": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 34 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 20 } }, - { "start": { "line": 28, "column": 20 }, "end": { "line": 28, "column": 34 } } - ], - "line": 28 - }, - "9": { - "loc": { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 45, "column": 2 }, "end": { "line": 47, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 45 - } - }, - "s": { - "0": 1, - "1": 8, - "2": 8, - "3": 2, - "4": 6, - "5": 6, - "6": 1, - "7": 5, - "8": 5, - "9": 1, - "10": 4, - "11": 4, - "12": 1, - "13": 3, - "14": 3, - "15": 3, - "16": 1, - "17": 2, - "18": 1, - "19": 1, - "20": 1, - "21": 1, - "22": 1, - "23": 1, - "24": 1, - "25": 2, - "26": 2, - "27": 1, - "28": 1, - "29": 1, - "30": 2, - "31": 2, - "32": 1, - "33": 1, - "34": 1, - "35": 1, - "36": 1, - "37": 1, - "38": 1, - "39": 1, - "40": 2, - "41": 2, - "42": 2, - "43": 1, - "44": 1, - "45": 1, - "46": 2, - "47": 2, - "48": 1, - "49": 1 - }, - "f": { - "0": 8, - "1": 1, - "2": 1, - "3": 1, - "4": 2, - "5": 2, - "6": 1, - "7": 1, - "8": 1, - "9": 2, - "10": 2 - }, - "b": { - "0": [2, 6], - "1": [8, 2], - "2": [1, 5], - "3": [6, 1], - "4": [1, 4], - "5": [5, 1], - "6": [1, 3], - "7": [1, 2], - "8": [3, 2], - "9": [1, 1] - }, - "meta": { - "lastBranch": 10, - "lastFunction": 11, - "lastStatement": 50, - "seen": { - "s:4:39:36:Infinity": 0, - "f:4:39:4:87": 0, - "s:6:15:6:Infinity": 1, - "b:7:2:9:Infinity:undefined:undefined:undefined:undefined": 0, - "s:7:2:9:Infinity": 2, - "b:7:6:7:14:7:14:7:27": 1, - "s:8:4:8:Infinity": 3, - "s:11:14:11:Infinity": 4, - "b:12:2:14:Infinity:undefined:undefined:undefined:undefined": 2, - "s:12:2:14:Infinity": 5, - "b:12:6:12:13:12:13:12:25": 3, - "s:13:4:13:Infinity": 6, - "s:16:15:16:Infinity": 7, - "b:17:2:19:Infinity:undefined:undefined:undefined:undefined": 4, - "s:17:2:19:Infinity": 8, - "b:17:6:17:14:17:14:17:27": 5, - "s:18:4:18:Infinity": 9, - "s:21:16:21:Infinity": 10, - "b:22:2:24:Infinity:undefined:undefined:undefined:undefined": 6, - "s:22:2:24:Infinity": 11, - "s:23:4:23:Infinity": 12, - "s:26:2:33:Infinity": 13, - "s:27:21:27:Infinity": 14, - "b:28:4:30:Infinity:undefined:undefined:undefined:undefined": 7, - "s:28:4:30:Infinity": 15, - "b:28:8:28:20:28:20:28:34": 8, - "s:29:6:29:Infinity": 16, - "s:35:2:35:Infinity": 17, - "s:39:32:39:Infinity": 18, - "f:39:32:39:46": 1, - "s:39:46:39:Infinity": 19, - "s:40:32:40:Infinity": 20, - "f:40:32:40:46": 2, - "s:40:46:40:Infinity": 21, - "s:41:31:41:Infinity": 22, - "f:41:31:41:45": 3, - "s:41:45:41:Infinity": 23, - "s:43:33:49:Infinity": 24, - "f:43:33:43:54": 4, - "s:44:16:44:Infinity": 25, - "b:45:2:47:Infinity:undefined:undefined:undefined:undefined": 9, - "s:45:2:47:Infinity": 26, - "s:46:4:46:Infinity": 27, - "s:48:2:48:Infinity": 28, - "s:51:36:57:Infinity": 29, - "f:51:36:51:81": 5, - "s:52:2:56:Infinity": 30, - "s:53:4:53:Infinity": 31, - "s:55:4:55:Infinity": 32, - "s:60:32:62:Infinity": 33, - "f:60:32:60:33": 6, - "s:61:2:61:Infinity": 34, - "s:64:32:66:Infinity": 35, - "f:64:32:64:33": 7, - "s:65:2:65:Infinity": 36, - "s:68:31:70:Infinity": 37, - "f:68:31:68:32": 8, - "s:69:2:69:Infinity": 38, - "s:72:33:81:Infinity": 39, - "f:72:33:72:34": 9, - "s:73:2:80:Infinity": 40, - "s:75:18:75:Infinity": 41, - "s:76:4:76:Infinity": 42, - "s:78:4:78:Infinity": 43, - "s:79:4:79:Infinity": 44, - "s:83:36:99:Infinity": 45, - "f:83:36:83:37": 10, - "s:89:2:98:Infinity": 46, - "s:91:4:94:Infinity": 47, - "s:96:4:96:Infinity": 48, - "s:97:4:97:Infinity": 49 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-clips.ts", - "statementMap": { - "0": { "start": { "line": 6, "column": 35 }, "end": { "line": 49, "column": null } }, - "1": { "start": { "line": 7, "column": 2 }, "end": { "line": 48, "column": null } }, - "2": { "start": { "line": 8, "column": 24 }, "end": { "line": 8, "column": null } }, - "3": { "start": { "line": 9, "column": 36 }, "end": { "line": 9, "column": null } }, - "4": { "start": { "line": 11, "column": 4 }, "end": { "line": 42, "column": null } }, - "5": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": null } }, - "6": { "start": { "line": 12, "column": 31 }, "end": { "line": 12, "column": null } }, - "7": { "start": { "line": 14, "column": 6 }, "end": { "line": 41, "column": null } }, - "8": { "start": { "line": 15, "column": 22 }, "end": { "line": 15, "column": null } }, - "9": { "start": { "line": 18, "column": 8 }, "end": { "line": 37, "column": null } }, - "10": { "start": { "line": 19, "column": 51 }, "end": { "line": 19, "column": null } }, - "11": { "start": { "line": 22, "column": 10 }, "end": { "line": 28, "column": null } }, - "12": { "start": { "line": 23, "column": 12 }, "end": { "line": 27, "column": null } }, - "13": { "start": { "line": 24, "column": 14 }, "end": { "line": 26, "column": null } }, - "14": { "start": { "line": 25, "column": 16 }, "end": { "line": 25, "column": null } }, - "15": { "start": { "line": 30, "column": 10 }, "end": { "line": 36, "column": null } }, - "16": { "start": { "line": 31, "column": 12 }, "end": { "line": 35, "column": null } }, - "17": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": null } }, - "18": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": null } }, - "19": { "start": { "line": 46, "column": 4 }, "end": { "line": 46, "column": null } }, - "20": { "start": { "line": 47, "column": 4 }, "end": { "line": 47, "column": null } }, - "21": { "start": { "line": 51, "column": 35 }, "end": { "line": 157, "column": null } }, - "22": { "start": { "line": 52, "column": 2 }, "end": { "line": 156, "column": null } }, - "23": { "start": { "line": 53, "column": 18 }, "end": { "line": 53, "column": null } }, - "24": { "start": { "line": 55, "column": 4 }, "end": { "line": 152, "column": null } }, - "25": { "start": { "line": 56, "column": 19 }, "end": { "line": 56, "column": null } }, - "26": { "start": { "line": 56, "column": 37 }, "end": { "line": 56, "column": 52 } }, - "27": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - "28": { "start": { "line": 57, "column": 17 }, "end": { "line": 57, "column": null } }, - "29": { "start": { "line": 60, "column": 32 }, "end": { "line": 62, "column": null } }, - "30": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, - "31": { "start": { "line": 61, "column": 43 }, "end": { "line": 61, "column": 66 } }, - "32": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, - "33": { "start": { "line": 64, "column": 42 }, "end": { "line": 64, "column": null } }, - "34": { "start": { "line": 67, "column": 30 }, "end": { "line": 67, "column": null } }, - "35": { "start": { "line": 68, "column": 25 }, "end": { "line": 68, "column": null } }, - "36": { "start": { "line": 71, "column": 20 }, "end": { "line": 71, "column": null } }, - "37": { "start": { "line": 74, "column": 21 }, "end": { "line": 74, "column": null } }, - "38": { "start": { "line": 76, "column": 6 }, "end": { "line": 146, "column": null } }, - "39": { "start": { "line": 78, "column": 8 }, "end": { "line": 78, "column": null } }, - "40": { "start": { "line": 81, "column": 94 }, "end": { "line": 81, "column": null } }, - "41": { "start": { "line": 83, "column": 8 }, "end": { "line": 102, "column": null } }, - "42": { "start": { "line": 84, "column": 28 }, "end": { "line": 84, "column": null } }, - "43": { "start": { "line": 85, "column": 31 }, "end": { "line": 85, "column": null } }, - "44": { "start": { "line": 86, "column": 32 }, "end": { "line": 86, "column": null } }, - "45": { "start": { "line": 86, "column": 67 }, "end": { "line": 86, "column": 75 } }, - "46": { "start": { "line": 89, "column": 35 }, "end": { "line": 89, "column": null } }, - "47": { "start": { "line": 90, "column": 22 }, "end": { "line": 90, "column": null } }, - "48": { "start": { "line": 91, "column": 10 }, "end": { "line": 99, "column": null } }, - "49": { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, - "50": { "start": { "line": 93, "column": 14 }, "end": { "line": 93, "column": null } }, - "51": { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, - "52": { "start": { "line": 96, "column": 16 }, "end": { "line": 96, "column": null } }, - "53": { "start": { "line": 101, "column": 10 }, "end": { "line": 101, "column": null } }, - "54": { "start": { "line": 105, "column": 8 }, "end": { "line": 145, "column": null } }, - "55": { "start": { "line": 105, "column": 44 }, "end": { "line": 105, "column": 64 } }, - "56": { "start": { "line": 107, "column": 10 }, "end": { "line": 144, "column": null } }, - "57": { "start": { "line": 112, "column": 12 }, "end": { "line": 112, "column": null } }, - "58": { "start": { "line": 112, "column": 57 }, "end": { "line": 112, "column": 76 } }, - "59": { "start": { "line": 115, "column": 41 }, "end": { "line": 140, "column": null } }, - "60": { "start": { "line": 116, "column": 14 }, "end": { "line": 123, "column": null } }, - "61": { "start": { "line": 117, "column": 36 }, "end": { "line": 117, "column": null } }, - "62": { "start": { "line": 118, "column": 16 }, "end": { "line": 122, "column": null } }, - "63": { "start": { "line": 120, "column": 39 }, "end": { "line": 120, "column": null } }, - "64": { "start": { "line": 121, "column": 18 }, "end": { "line": 121, "column": null } }, - "65": { "start": { "line": 126, "column": 39 }, "end": { "line": 126, "column": null } }, - "66": { "start": { "line": 127, "column": 39 }, "end": { "line": 127, "column": null } }, - "67": { "start": { "line": 128, "column": 45 }, "end": { "line": 128, "column": null } }, - "68": { "start": { "line": 130, "column": 14 }, "end": { "line": 137, "column": null } }, - "69": { "start": { "line": 131, "column": 16 }, "end": { "line": 136, "column": null } }, - "70": { "start": { "line": 133, "column": 39 }, "end": { "line": 133, "column": null } }, - "71": { "start": { "line": 134, "column": 30 }, "end": { "line": 134, "column": null } }, - "72": { "start": { "line": 135, "column": 18 }, "end": { "line": 135, "column": null } }, - "73": { "start": { "line": 139, "column": 14 }, "end": { "line": 139, "column": null } }, - "74": { "start": { "line": 142, "column": 33 }, "end": { "line": 142, "column": null } }, - "75": { "start": { "line": 143, "column": 12 }, "end": { "line": 143, "column": null } }, - "76": { "start": { "line": 143, "column": 42 }, "end": { "line": 143, "column": 61 } }, - "77": { "start": { "line": 149, "column": 6 }, "end": { "line": 151, "column": null } }, - "78": { "start": { "line": 150, "column": 8 }, "end": { "line": 150, "column": null } }, - "79": { "start": { "line": 154, "column": 4 }, "end": { "line": 154, "column": null } }, - "80": { "start": { "line": 155, "column": 4 }, "end": { "line": 155, "column": null } }, - "81": { "start": { "line": 159, "column": 38 }, "end": { "line": 175, "column": null } }, - "82": { "start": { "line": 160, "column": 2 }, "end": { "line": 174, "column": null } }, - "83": { "start": { "line": 161, "column": 24 }, "end": { "line": 161, "column": null } }, - "84": { "start": { "line": 162, "column": 18 }, "end": { "line": 162, "column": null } }, - "85": { "start": { "line": 163, "column": 22 }, "end": { "line": 163, "column": null } }, - "86": { "start": { "line": 165, "column": 4 }, "end": { "line": 170, "column": null } }, - "87": { "start": { "line": 172, "column": 4 }, "end": { "line": 172, "column": null } }, - "88": { "start": { "line": 173, "column": 4 }, "end": { "line": 173, "column": null } }, - "89": { "start": { "line": 177, "column": 38 }, "end": { "line": 185, "column": null } }, - "90": { "start": { "line": 178, "column": 2 }, "end": { "line": 184, "column": null } }, - "91": { "start": { "line": 180, "column": 4 }, "end": { "line": 180, "column": null } }, - "92": { "start": { "line": 182, "column": 4 }, "end": { "line": 182, "column": null } }, - "93": { "start": { "line": 183, "column": 4 }, "end": { "line": 183, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 6, "column": 35 }, "end": { "line": 6, "column": 42 } }, - "loc": { "start": { "line": 6, "column": 84 }, "end": { "line": 49, "column": null } }, - "line": 6 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 23, "column": 49 }, "end": { "line": 23, "column": 50 } }, - "loc": { "start": { "line": 23, "column": 73 }, "end": { "line": 27, "column": 13 } }, - "line": 23 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 51, "column": 35 }, "end": { "line": 51, "column": 42 } }, - "loc": { "start": { "line": 51, "column": 80 }, "end": { "line": 157, "column": null } }, - "line": 51 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 56, "column": 30 }, "end": { "line": 56, "column": 31 } }, - "loc": { "start": { "line": 56, "column": 37 }, "end": { "line": 56, "column": 52 } }, - "line": 56 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 60, "column": 47 }, "end": { "line": 60, "column": 48 } }, - "loc": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, - "line": 61 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 61, "column": 32 }, "end": { "line": 61, "column": 33 } }, - "loc": { "start": { "line": 61, "column": 43 }, "end": { "line": 61, "column": 66 } }, - "line": 61 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 86, "column": 60 }, "end": { "line": 86, "column": 61 } }, - "loc": { "start": { "line": 86, "column": 67 }, "end": { "line": 86, "column": 75 } }, - "line": 86 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 105, "column": 36 }, "end": { "line": 105, "column": 37 } }, - "loc": { "start": { "line": 105, "column": 44 }, "end": { "line": 105, "column": 64 } }, - "line": 105 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 112, "column": 48 }, "end": { "line": 112, "column": 49 } }, - "loc": { "start": { "line": 112, "column": 57 }, "end": { "line": 112, "column": 76 } }, - "line": 112 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 115, "column": 41 }, "end": { "line": 115, "column": 42 } }, - "loc": { "start": { "line": 115, "column": 95 }, "end": { "line": 140, "column": null } }, - "line": 115 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 118, "column": 46 }, "end": { "line": 118, "column": 47 } }, - "loc": { "start": { "line": 118, "column": 57 }, "end": { "line": 122, "column": 17 } }, - "line": 118 - }, - "11": { - "name": "(anonymous_11)", - "decl": { "start": { "line": 143, "column": 33 }, "end": { "line": 143, "column": 34 } }, - "loc": { "start": { "line": 143, "column": 42 }, "end": { "line": 143, "column": 61 } }, - "line": 143 - }, - "12": { - "name": "(anonymous_12)", - "decl": { "start": { "line": 159, "column": 38 }, "end": { "line": 159, "column": 50 } }, - "loc": { "start": { "line": 159, "column": 50 }, "end": { "line": 175, "column": null } }, - "line": 159 - }, - "13": { - "name": "(anonymous_13)", - "decl": { "start": { "line": 177, "column": 38 }, "end": { "line": 177, "column": 45 } }, - "loc": { "start": { "line": 177, "column": 61 }, "end": { "line": 185, "column": null } }, - "line": 177 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 12 - }, - "1": { - "loc": { "start": { "line": 22, "column": 10 }, "end": { "line": 28, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 22, "column": 10 }, "end": { "line": 28, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 22 - }, - "2": { - "loc": { "start": { "line": 24, "column": 14 }, "end": { "line": 26, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 24, "column": 14 }, "end": { "line": 26, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 24 - }, - "3": { - "loc": { "start": { "line": 24, "column": 18 }, "end": { "line": 24, "column": 86 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 24, "column": 18 }, "end": { "line": 24, "column": 41 } }, - { "start": { "line": 24, "column": 41 }, "end": { "line": 24, "column": 59 } }, - { "start": { "line": 24, "column": 59 }, "end": { "line": 24, "column": 86 } } - ], - "line": 24 - }, - "4": { - "loc": { "start": { "line": 30, "column": 10 }, "end": { "line": 36, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 30, "column": 10 }, "end": { "line": 36, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 30 - }, - "5": { - "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 57 - }, - "6": { - "loc": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 64 - }, - "7": { - "loc": { "start": { "line": 76, "column": 6 }, "end": { "line": 146, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 76, "column": 6 }, "end": { "line": 146, "column": null } }, - { "start": { "line": 79, "column": 13 }, "end": { "line": 146, "column": null } } - ], - "line": 76 - }, - "8": { - "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 92, "column": 12 }, "end": { "line": 98, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 92 - }, - "9": { - "loc": { "start": { "line": 92, "column": 16 }, "end": { "line": 92, "column": 66 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 92, "column": 16 }, "end": { "line": 92, "column": 43 } }, - { "start": { "line": 92, "column": 43 }, "end": { "line": 92, "column": 66 } } - ], - "line": 92 - }, - "10": { - "loc": { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 95, "column": 14 }, "end": { "line": 97, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 95 - }, - "11": { - "loc": { "start": { "line": 105, "column": 8 }, "end": { "line": 145, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 105, "column": 8 }, "end": { "line": 145, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 105 - }, - "12": { - "loc": { "start": { "line": 107, "column": 10 }, "end": { "line": 144, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 107, "column": 10 }, "end": { "line": 144, "column": null } }, - { "start": { "line": 113, "column": 17 }, "end": { "line": 144, "column": null } } - ], - "line": 107 - }, - "13": { - "loc": { "start": { "line": 108, "column": 12 }, "end": { "line": 110, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 108, "column": 12 }, "end": { "line": 108, "column": null } }, - { "start": { "line": 109, "column": 12 }, "end": { "line": 109, "column": null } }, - { "start": { "line": 110, "column": 12 }, "end": { "line": 110, "column": null } } - ], - "line": 108 - }, - "14": { - "loc": { "start": { "line": 116, "column": 14 }, "end": { "line": 123, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 116, "column": 14 }, "end": { "line": 123, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 116 - }, - "15": { - "loc": { "start": { "line": 120, "column": 39 }, "end": { "line": 120, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 120, "column": 59 }, "end": { "line": 120, "column": 67 } }, - { "start": { "line": 120, "column": 67 }, "end": { "line": 120, "column": null } } - ], - "line": 120 - }, - "16": { - "loc": { "start": { "line": 133, "column": 39 }, "end": { "line": 133, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 133, "column": 53 }, "end": { "line": 133, "column": 61 } }, - { "start": { "line": 133, "column": 61 }, "end": { "line": 133, "column": null } } - ], - "line": 133 - } - }, - "s": { - "0": 1, - "1": 10, - "2": 10, - "3": 9, - "4": 9, - "5": 9, - "6": 1, - "7": 8, - "8": 8, - "9": 8, - "10": 8, - "11": 8, - "12": 6, - "13": 8, - "14": 7, - "15": 8, - "16": 6, - "17": 1, - "18": 9, - "19": 1, - "20": 1, - "21": 1, - "22": 13, - "23": 13, - "24": 12, - "25": 12, - "26": 11, - "27": 12, - "28": 1, - "29": 11, - "30": 11, - "31": 11, - "32": 11, - "33": 2, - "34": 9, - "35": 9, - "36": 9, - "37": 9, - "38": 9, - "39": 1, - "40": 8, - "41": 8, - "42": 11, - "43": 11, - "44": 11, - "45": 14, - "46": 11, - "47": 11, - "48": 11, - "49": 14, - "50": 13, - "51": 13, - "52": 3, - "53": 11, - "54": 8, - "55": 11, - "56": 7, - "57": 1, - "58": 1, - "59": 6, - "60": 9, - "61": 6, - "62": 6, - "63": 8, - "64": 8, - "65": 3, - "66": 3, - "67": 3, - "68": 3, - "69": 4, - "70": 6, - "71": 6, - "72": 6, - "73": 3, - "74": 6, - "75": 6, - "76": 10, - "77": 9, - "78": 12, - "79": 1, - "80": 1, - "81": 1, - "82": 2, - "83": 2, - "84": 1, - "85": 1, - "86": 1, - "87": 1, - "88": 1, - "89": 1, - "90": 2, - "91": 2, - "92": 1, - "93": 1 - }, - "f": { - "0": 10, - "1": 8, - "2": 13, - "3": 11, - "4": 11, - "5": 11, - "6": 14, - "7": 11, - "8": 1, - "9": 9, - "10": 8, - "11": 10, - "12": 2, - "13": 2 - }, - "b": { - "0": [1, 8], - "1": [6, 2], - "2": [7, 1], - "3": [8, 7, 7], - "4": [6, 2], - "5": [1, 11], - "6": [2, 9], - "7": [1, 8], - "8": [13, 1], - "9": [14, 14], - "10": [3, 10], - "11": [7, 1], - "12": [1, 6], - "13": [7, 4, 2], - "14": [6, 3], - "15": [1, 7], - "16": [1, 5] - }, - "meta": { - "lastBranch": 17, - "lastFunction": 14, - "lastStatement": 94, - "seen": { - "s:6:35:49:Infinity": 0, - "f:6:35:6:42": 0, - "s:7:2:48:Infinity": 1, - "s:8:24:8:Infinity": 2, - "s:9:36:9:Infinity": 3, - "s:11:4:42:Infinity": 4, - "b:12:6:12:Infinity:undefined:undefined:undefined:undefined": 0, - "s:12:6:12:Infinity": 5, - "s:12:31:12:Infinity": 6, - "s:14:6:41:Infinity": 7, - "s:15:22:15:Infinity": 8, - "s:18:8:37:Infinity": 9, - "s:19:51:19:Infinity": 10, - "b:22:10:28:Infinity:undefined:undefined:undefined:undefined": 1, - "s:22:10:28:Infinity": 11, - "s:23:12:27:Infinity": 12, - "f:23:49:23:50": 1, - "b:24:14:26:Infinity:undefined:undefined:undefined:undefined": 2, - "s:24:14:26:Infinity": 13, - "b:24:18:24:41:24:41:24:59:24:59:24:86": 3, - "s:25:16:25:Infinity": 14, - "b:30:10:36:Infinity:undefined:undefined:undefined:undefined": 4, - "s:30:10:36:Infinity": 15, - "s:31:12:35:Infinity": 16, - "s:39:8:39:Infinity": 17, - "s:44:4:44:Infinity": 18, - "s:46:4:46:Infinity": 19, - "s:47:4:47:Infinity": 20, - "s:51:35:157:Infinity": 21, - "f:51:35:51:42": 2, - "s:52:2:156:Infinity": 22, - "s:53:18:53:Infinity": 23, - "s:55:4:152:Infinity": 24, - "s:56:19:56:Infinity": 25, - "f:56:30:56:31": 3, - "s:56:37:56:52": 26, - "b:57:6:57:Infinity:undefined:undefined:undefined:undefined": 5, - "s:57:6:57:Infinity": 27, - "s:57:17:57:Infinity": 28, - "s:60:32:62:Infinity": 29, - "f:60:47:60:48": 4, - "s:61:8:61:Infinity": 30, - "f:61:32:61:33": 5, - "s:61:43:61:66": 31, - "b:64:6:64:Infinity:undefined:undefined:undefined:undefined": 6, - "s:64:6:64:Infinity": 32, - "s:64:42:64:Infinity": 33, - "s:67:30:67:Infinity": 34, - "s:68:25:68:Infinity": 35, - "s:71:20:71:Infinity": 36, - "s:74:21:74:Infinity": 37, - "b:76:6:146:Infinity:79:13:146:Infinity": 7, - "s:76:6:146:Infinity": 38, - "s:78:8:78:Infinity": 39, - "s:81:94:81:Infinity": 40, - "s:83:8:102:Infinity": 41, - "s:84:28:84:Infinity": 42, - "s:85:31:85:Infinity": 43, - "s:86:32:86:Infinity": 44, - "f:86:60:86:61": 6, - "s:86:67:86:75": 45, - "s:89:35:89:Infinity": 46, - "s:90:22:90:Infinity": 47, - "s:91:10:99:Infinity": 48, - "b:92:12:98:Infinity:undefined:undefined:undefined:undefined": 8, - "s:92:12:98:Infinity": 49, - "b:92:16:92:43:92:43:92:66": 9, - "s:93:14:93:Infinity": 50, - "b:95:14:97:Infinity:undefined:undefined:undefined:undefined": 10, - "s:95:14:97:Infinity": 51, - "s:96:16:96:Infinity": 52, - "s:101:10:101:Infinity": 53, - "b:105:8:145:Infinity:undefined:undefined:undefined:undefined": 11, - "s:105:8:145:Infinity": 54, - "f:105:36:105:37": 7, - "s:105:44:105:64": 55, - "b:107:10:144:Infinity:113:17:144:Infinity": 12, - "s:107:10:144:Infinity": 56, - "b:108:12:108:Infinity:109:12:109:Infinity:110:12:110:Infinity": 13, - "s:112:12:112:Infinity": 57, - "f:112:48:112:49": 8, - "s:112:57:112:76": 58, - "s:115:41:140:Infinity": 59, - "f:115:41:115:42": 9, - "b:116:14:123:Infinity:undefined:undefined:undefined:undefined": 14, - "s:116:14:123:Infinity": 60, - "s:117:36:117:Infinity": 61, - "s:118:16:122:Infinity": 62, - "f:118:46:118:47": 10, - "s:120:39:120:Infinity": 63, - "b:120:59:120:67:120:67:120:Infinity": 15, - "s:121:18:121:Infinity": 64, - "s:126:39:126:Infinity": 65, - "s:127:39:127:Infinity": 66, - "s:128:45:128:Infinity": 67, - "s:130:14:137:Infinity": 68, - "s:131:16:136:Infinity": 69, - "s:133:39:133:Infinity": 70, - "b:133:53:133:61:133:61:133:Infinity": 16, - "s:134:30:134:Infinity": 71, - "s:135:18:135:Infinity": 72, - "s:139:14:139:Infinity": 73, - "s:142:33:142:Infinity": 74, - "s:143:12:143:Infinity": 75, - "f:143:33:143:34": 11, - "s:143:42:143:61": 76, - "s:149:6:151:Infinity": 77, - "s:150:8:150:Infinity": 78, - "s:154:4:154:Infinity": 79, - "s:155:4:155:Infinity": 80, - "s:159:38:175:Infinity": 81, - "f:159:38:159:50": 12, - "s:160:2:174:Infinity": 82, - "s:161:24:161:Infinity": 83, - "s:162:18:162:Infinity": 84, - "s:163:22:163:Infinity": 85, - "s:165:4:170:Infinity": 86, - "s:172:4:172:Infinity": 87, - "s:173:4:173:Infinity": 88, - "s:177:38:185:Infinity": 89, - "f:177:38:177:45": 13, - "s:178:2:184:Infinity": 90, - "s:180:4:180:Infinity": 91, - "s:182:4:182:Infinity": 92, - "s:183:4:183:Infinity": 93 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\clipboard\\quick-tools.ts", - "statementMap": { - "0": { "start": { "line": 4, "column": 32 }, "end": { "line": 11, "column": null } }, - "1": { "start": { "line": 5, "column": 2 }, "end": { "line": 10, "column": null } }, - "2": { "start": { "line": 6, "column": 4 }, "end": { "line": 6, "column": null } }, - "3": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": null } }, - "4": { "start": { "line": 9, "column": 4 }, "end": { "line": 9, "column": null } }, - "5": { "start": { "line": 13, "column": 31 }, "end": { "line": 20, "column": null } }, - "6": { "start": { "line": 14, "column": 2 }, "end": { "line": 19, "column": null } }, - "7": { "start": { "line": 15, "column": 4 }, "end": { "line": 15, "column": null } }, - "8": { "start": { "line": 17, "column": 4 }, "end": { "line": 17, "column": null } }, - "9": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, - "10": { "start": { "line": 22, "column": 31 }, "end": { "line": 29, "column": null } }, - "11": { "start": { "line": 23, "column": 2 }, "end": { "line": 28, "column": null } }, - "12": { "start": { "line": 24, "column": 4 }, "end": { "line": 24, "column": null } }, - "13": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": null } }, - "14": { "start": { "line": 27, "column": 4 }, "end": { "line": 27, "column": null } }, - "15": { "start": { "line": 31, "column": 31 }, "end": { "line": 38, "column": null } }, - "16": { "start": { "line": 32, "column": 2 }, "end": { "line": 37, "column": null } }, - "17": { "start": { "line": 33, "column": 4 }, "end": { "line": 33, "column": null } }, - "18": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": null } }, - "19": { "start": { "line": 36, "column": 4 }, "end": { "line": 36, "column": null } }, - "20": { "start": { "line": 40, "column": 33 }, "end": { "line": 47, "column": null } }, - "21": { "start": { "line": 41, "column": 2 }, "end": { "line": 46, "column": null } }, - "22": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": null } }, - "23": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": null } }, - "24": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": null } }, - "25": { "start": { "line": 49, "column": 31 }, "end": { "line": 78, "column": null } }, - "26": { "start": { "line": 50, "column": 2 }, "end": { "line": 77, "column": null } }, - "27": { "start": { "line": 51, "column": 29 }, "end": { "line": 51, "column": null } }, - "28": { "start": { "line": 54, "column": 4 }, "end": { "line": 58, "column": null } }, - "29": { "start": { "line": 55, "column": 6 }, "end": { "line": 55, "column": null } }, - "30": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - "31": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": null } }, - "32": { "start": { "line": 62, "column": 29 }, "end": { "line": 62, "column": null } }, - "33": { "start": { "line": 62, "column": 54 }, "end": { "line": 62, "column": 72 } }, - "34": { "start": { "line": 64, "column": 4 }, "end": { "line": 68, "column": null } }, - "35": { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, - "36": { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, - "37": { "start": { "line": 70, "column": 4 }, "end": { "line": 73, "column": null } }, - "38": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, - "39": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 4, "column": 32 }, "end": { "line": 4, "column": 44 } }, - "loc": { "start": { "line": 4, "column": 44 }, "end": { "line": 11, "column": null } }, - "line": 4 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 13, "column": 31 }, "end": { "line": 13, "column": 38 } }, - "loc": { "start": { "line": 13, "column": 93 }, "end": { "line": 20, "column": null } }, - "line": 13 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 22, "column": 31 }, "end": { "line": 22, "column": 38 } }, - "loc": { "start": { "line": 22, "column": 67 }, "end": { "line": 29, "column": null } }, - "line": 22 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 31, "column": 31 }, "end": { "line": 31, "column": 38 } }, - "loc": { "start": { "line": 31, "column": 53 }, "end": { "line": 38, "column": null } }, - "line": 31 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 40, "column": 33 }, "end": { "line": 40, "column": 40 } }, - "loc": { "start": { "line": 40, "column": 57 }, "end": { "line": 47, "column": null } }, - "line": 40 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 49, "column": 31 }, "end": { "line": 49, "column": 38 } }, - "loc": { "start": { "line": 49, "column": 79 }, "end": { "line": 78, "column": null } }, - "line": 49 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 62, "column": 43 }, "end": { "line": 62, "column": 44 } }, - "loc": { "start": { "line": 62, "column": 54 }, "end": { "line": 62, "column": 72 } }, - "line": 62 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 61, "column": 22 }, "end": { "line": 61, "column": 51 } }, - { "start": { "line": 61, "column": 51 }, "end": { "line": 61, "column": null } } - ], - "line": 61 - }, - "1": { - "loc": { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 65, "column": 6 }, "end": { "line": 67, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 65 - } - }, - "s": { - "0": 1, - "1": 2, - "2": 2, - "3": 1, - "4": 1, - "5": 1, - "6": 2, - "7": 2, - "8": 1, - "9": 1, - "10": 1, - "11": 2, - "12": 2, - "13": 1, - "14": 1, - "15": 1, - "16": 2, - "17": 2, - "18": 1, - "19": 1, - "20": 1, - "21": 2, - "22": 2, - "23": 1, - "24": 1, - "25": 1, - "26": 7, - "27": 7, - "28": 7, - "29": 7, - "30": 2, - "31": 7, - "32": 7, - "33": 6, - "34": 7, - "35": 6, - "36": 3, - "37": 6, - "38": 1, - "39": 1 - }, - "f": { "0": 2, "1": 2, "2": 2, "3": 2, "4": 2, "5": 7, "6": 6 }, - "b": { "0": [7, 2], "1": [3, 3] }, - "meta": { - "lastBranch": 2, - "lastFunction": 7, - "lastStatement": 40, - "seen": { - "s:4:32:11:Infinity": 0, - "f:4:32:4:44": 0, - "s:5:2:10:Infinity": 1, - "s:6:4:6:Infinity": 2, - "s:8:4:8:Infinity": 3, - "s:9:4:9:Infinity": 4, - "s:13:31:20:Infinity": 5, - "f:13:31:13:38": 1, - "s:14:2:19:Infinity": 6, - "s:15:4:15:Infinity": 7, - "s:17:4:17:Infinity": 8, - "s:18:4:18:Infinity": 9, - "s:22:31:29:Infinity": 10, - "f:22:31:22:38": 2, - "s:23:2:28:Infinity": 11, - "s:24:4:24:Infinity": 12, - "s:26:4:26:Infinity": 13, - "s:27:4:27:Infinity": 14, - "s:31:31:38:Infinity": 15, - "f:31:31:31:38": 3, - "s:32:2:37:Infinity": 16, - "s:33:4:33:Infinity": 17, - "s:35:4:35:Infinity": 18, - "s:36:4:36:Infinity": 19, - "s:40:33:47:Infinity": 20, - "f:40:33:40:40": 4, - "s:41:2:46:Infinity": 21, - "s:42:4:42:Infinity": 22, - "s:44:4:44:Infinity": 23, - "s:45:4:45:Infinity": 24, - "s:49:31:78:Infinity": 25, - "f:49:31:49:38": 5, - "s:50:2:77:Infinity": 26, - "s:51:29:51:Infinity": 27, - "s:54:4:58:Infinity": 28, - "s:55:6:55:Infinity": 29, - "s:57:6:57:Infinity": 30, - "s:61:22:61:Infinity": 31, - "b:61:22:61:51:61:51:61:Infinity": 0, - "s:62:29:62:Infinity": 32, - "f:62:43:62:44": 6, - "s:62:54:62:72": 33, - "s:64:4:68:Infinity": 34, - "b:65:6:67:Infinity:undefined:undefined:undefined:undefined": 1, - "s:65:6:67:Infinity": 35, - "s:66:8:66:Infinity": 36, - "s:70:4:73:Infinity": 37, - "s:75:4:75:Infinity": 38, - "s:76:4:76:Infinity": 39 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\actions.ts", - "statementMap": { - "0": { "start": { "line": 9, "column": 45 }, "end": { "line": 9, "column": null } }, - "1": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": null } }, - "2": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, - "3": { "start": { "line": 19, "column": 26 }, "end": { "line": 19, "column": null } }, - "4": { "start": { "line": 21, "column": 4 }, "end": { "line": 42, "column": null } }, - "5": { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, - "6": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": null } }, - "7": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": null } }, - "8": { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, - "9": { "start": { "line": 30, "column": 8 }, "end": { "line": 30, "column": null } }, - "10": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": null } }, - "11": { "start": { "line": 34, "column": 6 }, "end": { "line": 34, "column": null } }, - "12": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - "13": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, - "14": { "start": { "line": 41, "column": 6 }, "end": { "line": 41, "column": null } }, - "15": { "start": { "line": 49, "column": 4 }, "end": { "line": 74, "column": null } }, - "16": { "start": { "line": 50, "column": 20 }, "end": { "line": 50, "column": null } }, - "17": { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, - "18": { "start": { "line": 52, "column": 8 }, "end": { "line": 52, "column": null } }, - "19": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": null } }, - "20": { "start": { "line": 56, "column": 25 }, "end": { "line": 56, "column": null } }, - "21": { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, - "22": { "start": { "line": 58, "column": 8 }, "end": { "line": 58, "column": null } }, - "23": { "start": { "line": 59, "column": 8 }, "end": { "line": 59, "column": null } }, - "24": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - "25": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, - "26": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": null } }, - "27": { "start": { "line": 70, "column": 6 }, "end": { "line": 70, "column": null } }, - "28": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": null } }, - "29": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": null } }, - "30": { "start": { "line": 81, "column": 4 }, "end": { "line": 103, "column": null } }, - "31": { "start": { "line": 83, "column": 8 }, "end": { "line": 83, "column": null } }, - "32": { "start": { "line": 84, "column": 8 }, "end": { "line": 84, "column": null } }, - "33": { "start": { "line": 86, "column": 8 }, "end": { "line": 86, "column": null } }, - "34": { "start": { "line": 87, "column": 8 }, "end": { "line": 87, "column": null } }, - "35": { "start": { "line": 89, "column": 8 }, "end": { "line": 89, "column": null } }, - "36": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": null } }, - "37": { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, - "38": { "start": { "line": 93, "column": 10 }, "end": { "line": 93, "column": null } }, - "39": { "start": { "line": 95, "column": 10 }, "end": { "line": 95, "column": null } }, - "40": { "start": { "line": 97, "column": 8 }, "end": { "line": 97, "column": null } }, - "41": { "start": { "line": 99, "column": 8 }, "end": { "line": 99, "column": null } }, - "42": { "start": { "line": 100, "column": 8 }, "end": { "line": 100, "column": null } }, - "43": { "start": { "line": 102, "column": 8 }, "end": { "line": 102, "column": null } }, - "44": { "start": { "line": 110, "column": 4 }, "end": { "line": 121, "column": null } }, - "45": { "start": { "line": 111, "column": 20 }, "end": { "line": 111, "column": null } }, - "46": { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, - "47": { "start": { "line": 113, "column": 8 }, "end": { "line": 113, "column": null } }, - "48": { "start": { "line": 116, "column": 8 }, "end": { "line": 116, "column": null } }, - "49": { "start": { "line": 119, "column": 6 }, "end": { "line": 119, "column": null } }, - "50": { "start": { "line": 120, "column": 6 }, "end": { "line": 120, "column": null } }, - "51": { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, - "52": { "start": { "line": 128, "column": 26 }, "end": { "line": 128, "column": null } }, - "53": { "start": { "line": 130, "column": 4 }, "end": { "line": 145, "column": null } }, - "54": { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, - "55": { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, - "56": { "start": { "line": 133, "column": 10 }, "end": { "line": 133, "column": null } }, - "57": { "start": { "line": 135, "column": 8 }, "end": { "line": 135, "column": null } }, - "58": { "start": { "line": 136, "column": 8 }, "end": { "line": 136, "column": null } }, - "59": { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, - "60": { "start": { "line": 138, "column": 10 }, "end": { "line": 138, "column": null } }, - "61": { "start": { "line": 142, "column": 6 }, "end": { "line": 142, "column": null } }, - "62": { "start": { "line": 144, "column": 6 }, "end": { "line": 144, "column": null } }, - "63": { "start": { "line": 152, "column": 4 }, "end": { "line": 174, "column": null } }, - "64": { "start": { "line": 153, "column": 20 }, "end": { "line": 153, "column": null } }, - "65": { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, - "66": { "start": { "line": 155, "column": 8 }, "end": { "line": 155, "column": null } }, - "67": { "start": { "line": 156, "column": 8 }, "end": { "line": 156, "column": null } }, - "68": { "start": { "line": 159, "column": 24 }, "end": { "line": 159, "column": null } }, - "69": { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, - "70": { "start": { "line": 161, "column": 8 }, "end": { "line": 161, "column": null } }, - "71": { "start": { "line": 162, "column": 8 }, "end": { "line": 162, "column": null } }, - "72": { "start": { "line": 166, "column": 44 }, "end": { "line": 166, "column": null } }, - "73": { "start": { "line": 169, "column": 6 }, "end": { "line": 169, "column": null } }, - "74": { "start": { "line": 171, "column": 6 }, "end": { "line": 171, "column": null } }, - "75": { "start": { "line": 173, "column": 6 }, "end": { "line": 173, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 11, "column": 2 }, "end": { "line": 11, "column": 16 } }, - "loc": { "start": { "line": 11, "column": 52 }, "end": { "line": 13, "column": null } }, - "line": 11 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 22 } }, - "loc": { "start": { "line": 18, "column": 22 }, "end": { "line": 43, "column": null } }, - "line": 18 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": 22 } }, - "loc": { "start": { "line": 48, "column": 52 }, "end": { "line": 75, "column": null } }, - "line": 48 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 80, "column": 10 }, "end": { "line": 80, "column": 30 } }, - "loc": { "start": { "line": 80, "column": 53 }, "end": { "line": 104, "column": null } }, - "line": 80 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 109, "column": 10 }, "end": { "line": 109, "column": 24 } }, - "loc": { "start": { "line": 109, "column": 47 }, "end": { "line": 122, "column": null } }, - "line": 109 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 127, "column": 2 }, "end": { "line": 127, "column": 26 } }, - "loc": { "start": { "line": 127, "column": 26 }, "end": { "line": 146, "column": null } }, - "line": 127 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 151, "column": 8 }, "end": { "line": 151, "column": 43 } }, - "loc": { "start": { "line": 151, "column": 43 }, "end": { "line": 175, "column": null } }, - "line": 151 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 19 - }, - "1": { - "loc": { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 23, "column": 6 }, "end": { "line": 26, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 23 - }, - "2": { - "loc": { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 70 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 41 } }, - { "start": { "line": 23, "column": 41 }, "end": { "line": 23, "column": 70 } } - ], - "line": 23 - }, - "3": { - "loc": { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 29, "column": 6 }, "end": { "line": 31, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 29 - }, - "4": { - "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 37 - }, - "5": { - "loc": { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 51, "column": 6 }, "end": { "line": 54, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 51 - }, - "6": { - "loc": { "start": { "line": 51, "column": 10 }, "end": { "line": 51, "column": 43 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 51, "column": 10 }, "end": { "line": 51, "column": 20 } }, - { "start": { "line": 51, "column": 20 }, "end": { "line": 51, "column": 43 } } - ], - "line": 51 - }, - "7": { - "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 57, "column": 6 }, "end": { "line": 60, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 57 - }, - "8": { - "loc": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 63 - }, - "9": { - "loc": { "start": { "line": 63, "column": 10 }, "end": { "line": 63, "column": 61 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 63, "column": 10 }, "end": { "line": 63, "column": 29 } }, - { "start": { "line": 63, "column": 29 }, "end": { "line": 63, "column": 61 } } - ], - "line": 63 - }, - "10": { - "loc": { "start": { "line": 81, "column": 4 }, "end": { "line": 103, "column": null } }, - "type": "switch", - "locations": [ - { "start": { "line": 82, "column": 6 }, "end": { "line": 84, "column": null } }, - { "start": { "line": 85, "column": 6 }, "end": { "line": 87, "column": null } }, - { "start": { "line": 88, "column": 6 }, "end": { "line": 90, "column": null } }, - { "start": { "line": 91, "column": 6 }, "end": { "line": 97, "column": null } }, - { "start": { "line": 98, "column": 6 }, "end": { "line": 100, "column": null } }, - { "start": { "line": 101, "column": 6 }, "end": { "line": 102, "column": null } } - ], - "line": 81 - }, - "11": { - "loc": { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 92, "column": 8 }, "end": { "line": 96, "column": null } }, - { "start": { "line": 94, "column": 15 }, "end": { "line": 96, "column": null } } - ], - "line": 92 - }, - "12": { - "loc": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 58 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 35 } }, - { "start": { "line": 92, "column": 35 }, "end": { "line": 92, "column": 58 } } - ], - "line": 92 - }, - "13": { - "loc": { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 112, "column": 6 }, "end": { "line": 117, "column": null } }, - { "start": { "line": 114, "column": 13 }, "end": { "line": 117, "column": null } } - ], - "line": 112 - }, - "14": { - "loc": { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 128, "column": 4 }, "end": { "line": 128, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 128 - }, - "15": { - "loc": { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 131, "column": 6 }, "end": { "line": 140, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 131 - }, - "16": { - "loc": { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 73 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 131, "column": 10 }, "end": { "line": 131, "column": 42 } }, - { "start": { "line": 131, "column": 42 }, "end": { "line": 131, "column": 73 } } - ], - "line": 131 - }, - "17": { - "loc": { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 132, "column": 8 }, "end": { "line": 134, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 132 - }, - "18": { - "loc": { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 137, "column": 8 }, "end": { "line": 139, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 137 - }, - "19": { - "loc": { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 154, "column": 6 }, "end": { "line": 157, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 154 - }, - "20": { - "loc": { "start": { "line": 154, "column": 10 }, "end": { "line": 154, "column": 40 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 154, "column": 10 }, "end": { "line": 154, "column": 20 } }, - { "start": { "line": 154, "column": 20 }, "end": { "line": 154, "column": 40 } } - ], - "line": 154 - }, - "21": { - "loc": { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 160, "column": 6 }, "end": { "line": 163, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 160 - } - }, - "s": { - "0": 45, - "1": 33, - "2": 7, - "3": 2, - "4": 5, - "5": 5, - "6": 1, - "7": 1, - "8": 3, - "9": 1, - "10": 3, - "11": 3, - "12": 3, - "13": 1, - "14": 1, - "15": 15, - "16": 15, - "17": 14, - "18": 2, - "19": 2, - "20": 12, - "21": 12, - "22": 1, - "23": 1, - "24": 11, - "25": 10, - "26": 11, - "27": 11, - "28": 11, - "29": 1, - "30": 11, - "31": 3, - "32": 3, - "33": 1, - "34": 1, - "35": 1, - "36": 1, - "37": 2, - "38": 1, - "39": 1, - "40": 2, - "41": 3, - "42": 3, - "43": 1, - "44": 3, - "45": 3, - "46": 3, - "47": 1, - "48": 1, - "49": 1, - "50": 1, - "51": 7, - "52": 2, - "53": 5, - "54": 5, - "55": 3, - "56": 1, - "57": 3, - "58": 3, - "59": 3, - "60": 1, - "61": 4, - "62": 1, - "63": 5, - "64": 5, - "65": 4, - "66": 2, - "67": 2, - "68": 2, - "69": 2, - "70": 1, - "71": 1, - "72": 1, - "73": 1, - "74": 1, - "75": 1 - }, - "f": { "0": 33, "1": 7, "2": 15, "3": 11, "4": 3, "5": 7, "6": 5 }, - "b": { - "0": [2, 5], - "1": [1, 4], - "2": [5, 3], - "3": [1, 2], - "4": [1, 2], - "5": [2, 12], - "6": [14, 14], - "7": [1, 11], - "8": [10, 1], - "9": [11, 11], - "10": [3, 1, 1, 2, 3, 1], - "11": [1, 1], - "12": [2, 1], - "13": [1, 1], - "14": [2, 5], - "15": [3, 2], - "16": [5, 2], - "17": [1, 2], - "18": [1, 2], - "19": [2, 2], - "20": [4, 4], - "21": [1, 1] - }, - "meta": { - "lastBranch": 22, - "lastFunction": 7, - "lastStatement": 76, - "seen": { - "s:9:45:9:Infinity": 0, - "f:11:2:11:16": 0, - "s:12:4:12:Infinity": 1, - "f:18:2:18:22": 1, - "b:19:4:19:Infinity:undefined:undefined:undefined:undefined": 0, - "s:19:4:19:Infinity": 2, - "s:19:26:19:Infinity": 3, - "s:21:4:42:Infinity": 4, - "b:23:6:26:Infinity:undefined:undefined:undefined:undefined": 1, - "s:23:6:26:Infinity": 5, - "b:23:10:23:41:23:41:23:70": 2, - "s:24:8:24:Infinity": 6, - "s:25:8:25:Infinity": 7, - "b:29:6:31:Infinity:undefined:undefined:undefined:undefined": 3, - "s:29:6:31:Infinity": 8, - "s:30:8:30:Infinity": 9, - "s:33:6:33:Infinity": 10, - "s:34:6:34:Infinity": 11, - "b:37:6:39:Infinity:undefined:undefined:undefined:undefined": 4, - "s:37:6:39:Infinity": 12, - "s:38:8:38:Infinity": 13, - "s:41:6:41:Infinity": 14, - "f:48:8:48:22": 2, - "s:49:4:74:Infinity": 15, - "s:50:20:50:Infinity": 16, - "b:51:6:54:Infinity:undefined:undefined:undefined:undefined": 5, - "s:51:6:54:Infinity": 17, - "b:51:10:51:20:51:20:51:43": 6, - "s:52:8:52:Infinity": 18, - "s:53:8:53:Infinity": 19, - "s:56:25:56:Infinity": 20, - "b:57:6:60:Infinity:undefined:undefined:undefined:undefined": 7, - "s:57:6:60:Infinity": 21, - "s:58:8:58:Infinity": 22, - "s:59:8:59:Infinity": 23, - "b:63:6:65:Infinity:undefined:undefined:undefined:undefined": 8, - "s:63:6:65:Infinity": 24, - "b:63:10:63:29:63:29:63:61": 9, - "s:64:8:64:Infinity": 25, - "s:68:6:68:Infinity": 26, - "s:70:6:70:Infinity": 27, - "s:71:6:71:Infinity": 28, - "s:73:6:73:Infinity": 29, - "f:80:10:80:30": 3, - "b:82:6:84:Infinity:85:6:87:Infinity:88:6:90:Infinity:91:6:97:Infinity:98:6:100:Infinity:101:6:102:Infinity": 10, - "s:81:4:103:Infinity": 30, - "s:83:8:83:Infinity": 31, - "s:84:8:84:Infinity": 32, - "s:86:8:86:Infinity": 33, - "s:87:8:87:Infinity": 34, - "s:89:8:89:Infinity": 35, - "s:90:8:90:Infinity": 36, - "b:92:8:96:Infinity:94:15:96:Infinity": 11, - "s:92:8:96:Infinity": 37, - "b:92:12:92:35:92:35:92:58": 12, - "s:93:10:93:Infinity": 38, - "s:95:10:95:Infinity": 39, - "s:97:8:97:Infinity": 40, - "s:99:8:99:Infinity": 41, - "s:100:8:100:Infinity": 42, - "s:102:8:102:Infinity": 43, - "f:109:10:109:24": 4, - "s:110:4:121:Infinity": 44, - "s:111:20:111:Infinity": 45, - "b:112:6:117:Infinity:114:13:117:Infinity": 13, - "s:112:6:117:Infinity": 46, - "s:113:8:113:Infinity": 47, - "s:116:8:116:Infinity": 48, - "s:119:6:119:Infinity": 49, - "s:120:6:120:Infinity": 50, - "f:127:2:127:26": 5, - "b:128:4:128:Infinity:undefined:undefined:undefined:undefined": 14, - "s:128:4:128:Infinity": 51, - "s:128:26:128:Infinity": 52, - "s:130:4:145:Infinity": 53, - "b:131:6:140:Infinity:undefined:undefined:undefined:undefined": 15, - "s:131:6:140:Infinity": 54, - "b:131:10:131:42:131:42:131:73": 16, - "b:132:8:134:Infinity:undefined:undefined:undefined:undefined": 17, - "s:132:8:134:Infinity": 55, - "s:133:10:133:Infinity": 56, - "s:135:8:135:Infinity": 57, - "s:136:8:136:Infinity": 58, - "b:137:8:139:Infinity:undefined:undefined:undefined:undefined": 18, - "s:137:8:139:Infinity": 59, - "s:138:10:138:Infinity": 60, - "s:142:6:142:Infinity": 61, - "s:144:6:144:Infinity": 62, - "f:151:8:151:43": 6, - "s:152:4:174:Infinity": 63, - "s:153:20:153:Infinity": 64, - "b:154:6:157:Infinity:undefined:undefined:undefined:undefined": 19, - "s:154:6:157:Infinity": 65, - "b:154:10:154:20:154:20:154:40": 20, - "s:155:8:155:Infinity": 66, - "s:156:8:156:Infinity": 67, - "s:159:24:159:Infinity": 68, - "b:160:6:163:Infinity:undefined:undefined:undefined:undefined": 21, - "s:160:6:163:Infinity": 69, - "s:161:8:161:Infinity": 70, - "s:162:8:162:Infinity": 71, - "s:166:44:166:Infinity": 72, - "s:169:6:169:Infinity": 73, - "s:171:6:171:Infinity": 74, - "s:173:6:173:Infinity": 75 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\manager.ts", - "statementMap": { - "0": { "start": { "line": 10, "column": 21 }, "end": { "line": 10, "column": null } }, - "1": { "start": { "line": 11, "column": 20 }, "end": { "line": 11, "column": null } }, - "2": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": null } }, - "3": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, - "4": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, - "5": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": null } }, - "6": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": null } }, - "7": { "start": { "line": 24, "column": 4 }, "end": { "line": 31, "column": null } }, - "8": { "start": { "line": 25, "column": 6 }, "end": { "line": 25, "column": null } }, - "9": { "start": { "line": 26, "column": 6 }, "end": { "line": 26, "column": null } }, - "10": { "start": { "line": 27, "column": 6 }, "end": { "line": 27, "column": null } }, - "11": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": null } }, - "12": { "start": { "line": 30, "column": 6 }, "end": { "line": 30, "column": null } }, - "13": { "start": { "line": 35, "column": 4 }, "end": { "line": 63, "column": null } }, - "14": { "start": { "line": 37, "column": 6 }, "end": { "line": 37, "column": null } }, - "15": { "start": { "line": 39, "column": 23 }, "end": { "line": 39, "column": null } }, - "16": { "start": { "line": 40, "column": 6 }, "end": { "line": 40, "column": null } }, - "17": { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, - "18": { "start": { "line": 43, "column": 8 }, "end": { "line": 43, "column": null } }, - "19": { "start": { "line": 44, "column": 8 }, "end": { "line": 44, "column": null } }, - "20": { "start": { "line": 47, "column": 26 }, "end": { "line": 47, "column": null } }, - "21": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, - "22": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": null } }, - "23": { "start": { "line": 54, "column": 6 }, "end": { "line": 54, "column": null } }, - "24": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": null } }, - "25": { "start": { "line": 60, "column": 6 }, "end": { "line": 60, "column": null } }, - "26": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": null } }, - "27": { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, - "28": { "start": { "line": 68, "column": 6 }, "end": { "line": 70, "column": null } }, - "29": { "start": { "line": 71, "column": 6 }, "end": { "line": 73, "column": null } }, - "30": { "start": { "line": 72, "column": 8 }, "end": { "line": 72, "column": null } }, - "31": { "start": { "line": 79, "column": 29 }, "end": { "line": 85, "column": null } }, - "32": { "start": { "line": 87, "column": 4 }, "end": { "line": 96, "column": null } }, - "33": { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, - "34": { "start": { "line": 89, "column": 8 }, "end": { "line": 91, "column": null } }, - "35": { "start": { "line": 92, "column": 8 }, "end": { "line": 94, "column": null } }, - "36": { "start": { "line": 93, "column": 10 }, "end": { "line": 93, "column": null } }, - "37": { "start": { "line": 101, "column": 32 }, "end": { "line": 104, "column": null } }, - "38": { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, - "39": { "start": { "line": 107, "column": 6 }, "end": { "line": 109, "column": null } }, - "40": { "start": { "line": 110, "column": 6 }, "end": { "line": 112, "column": null } }, - "41": { "start": { "line": 111, "column": 8 }, "end": { "line": 111, "column": null } }, - "42": { "start": { "line": 117, "column": 25 }, "end": { "line": 120, "column": null } }, - "43": { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, - "44": { "start": { "line": 123, "column": 6 }, "end": { "line": 125, "column": null } }, - "45": { "start": { "line": 126, "column": 6 }, "end": { "line": 128, "column": null } }, - "46": { "start": { "line": 127, "column": 8 }, "end": { "line": 127, "column": null } }, - "47": { "start": { "line": 133, "column": 4 }, "end": { "line": 136, "column": null } }, - "48": { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, - "49": { "start": { "line": 138, "column": 6 }, "end": { "line": 138, "column": null } }, - "50": { "start": { "line": 139, "column": 6 }, "end": { "line": 139, "column": null } }, - "51": { "start": { "line": 140, "column": 6 }, "end": { "line": 140, "column": null } }, - "52": { "start": { "line": 143, "column": 4 }, "end": { "line": 148, "column": null } }, - "53": { "start": { "line": 144, "column": 6 }, "end": { "line": 144, "column": null } }, - "54": { "start": { "line": 145, "column": 6 }, "end": { "line": 145, "column": null } }, - "55": { "start": { "line": 147, "column": 6 }, "end": { "line": 147, "column": null } }, - "56": { "start": { "line": 152, "column": 4 }, "end": { "line": 152, "column": null } }, - "57": { "start": { "line": 157, "column": 4 }, "end": { "line": 157, "column": null } }, - "58": { "start": { "line": 161, "column": 4 }, "end": { "line": 161, "column": null } }, - "59": { "start": { "line": 165, "column": 4 }, "end": { "line": 165, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 13, "column": 2 }, "end": { "line": 13, "column": 16 } }, - "loc": { "start": { "line": 13, "column": 52 }, "end": { "line": 15, "column": null } }, - "line": 13 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 17, "column": 8 }, "end": { "line": 17, "column": 36 } }, - "loc": { "start": { "line": 17, "column": 36 }, "end": { "line": 32, "column": null } }, - "line": 17 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": 41 } }, - "loc": { "start": { "line": 34, "column": 41 }, "end": { "line": 64, "column": null } }, - "line": 34 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 66, "column": 10 }, "end": { "line": 66, "column": 36 } }, - "loc": { "start": { "line": 66, "column": 56 }, "end": { "line": 75, "column": null } }, - "line": 66 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 71, "column": 60 }, "end": { "line": 71, "column": 66 } }, - "loc": { "start": { "line": 71, "column": 66 }, "end": { "line": 73, "column": 7 } }, - "line": 71 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 77, "column": 10 }, "end": { "line": 77, "column": 35 } }, - "loc": { "start": { "line": 77, "column": 55 }, "end": { "line": 97, "column": null } }, - "line": 77 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 92, "column": 49 }, "end": { "line": 92, "column": 55 } }, - "loc": { "start": { "line": 92, "column": 55 }, "end": { "line": 94, "column": 9 } }, - "line": 92 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 99, "column": 10 }, "end": { "line": 99, "column": 38 } }, - "loc": { "start": { "line": 99, "column": 58 }, "end": { "line": 114, "column": null } }, - "line": 99 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 110, "column": 60 }, "end": { "line": 110, "column": 66 } }, - "loc": { "start": { "line": 110, "column": 66 }, "end": { "line": 112, "column": 7 } }, - "line": 110 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 116, "column": 10 }, "end": { "line": 116, "column": 31 } }, - "loc": { "start": { "line": 116, "column": 51 }, "end": { "line": 130, "column": null } }, - "line": 116 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 126, "column": 53 }, "end": { "line": 126, "column": 59 } }, - "loc": { "start": { "line": 126, "column": 59 }, "end": { "line": 128, "column": 7 } }, - "line": 126 - }, - "11": { - "name": "(anonymous_11)", - "decl": { "start": { "line": 132, "column": 8 }, "end": { "line": 132, "column": 43 } }, - "loc": { "start": { "line": 132, "column": 43 }, "end": { "line": 149, "column": null } }, - "line": 132 - }, - "12": { - "name": "(anonymous_12)", - "decl": { "start": { "line": 151, "column": 2 }, "end": { "line": 151, "column": 18 } }, - "loc": { "start": { "line": 151, "column": 18 }, "end": { "line": 153, "column": null } }, - "line": 151 - }, - "13": { - "name": "(anonymous_13)", - "decl": { "start": { "line": 156, "column": 2 }, "end": { "line": 156, "column": 32 } }, - "loc": { "start": { "line": 156, "column": 32 }, "end": { "line": 158, "column": null } }, - "line": 156 - }, - "14": { - "name": "(anonymous_14)", - "decl": { "start": { "line": 160, "column": 2 }, "end": { "line": 160, "column": 21 } }, - "loc": { "start": { "line": 160, "column": 51 }, "end": { "line": 162, "column": null } }, - "line": 160 - }, - "15": { - "name": "(anonymous_15)", - "decl": { "start": { "line": 164, "column": 6 }, "end": { "line": 164, "column": 31 } }, - "loc": { "start": { "line": 164, "column": 31 }, "end": { "line": 166, "column": null } }, - "line": 164 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 19 - }, - "1": { - "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 42, "column": 6 }, "end": { "line": 45, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 42 - }, - "2": { - "loc": { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 67, "column": 4 }, "end": { "line": 74, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 67 - }, - "3": { - "loc": { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 88, "column": 6 }, "end": { "line": 95, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 88 - }, - "4": { - "loc": { "start": { "line": 101, "column": 32 }, "end": { "line": 104, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 101, "column": 32 }, "end": { "line": 101, "column": 61 } }, - { "start": { "line": 101, "column": 61 }, "end": { "line": 104, "column": null } } - ], - "line": 101 - }, - "5": { - "loc": { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 106, "column": 4 }, "end": { "line": 113, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 106 - }, - "6": { - "loc": { "start": { "line": 117, "column": 25 }, "end": { "line": 120, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 117, "column": 25 }, "end": { "line": 117, "column": 48 } }, - { "start": { "line": 117, "column": 48 }, "end": { "line": 120, "column": null } } - ], - "line": 117 - }, - "7": { - "loc": { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 122, "column": 4 }, "end": { "line": 129, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 122 - }, - "8": { - "loc": { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 137, "column": 4 }, "end": { "line": 141, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 137 - } - }, - "s": { - "0": 15, - "1": 15, - "2": 1, - "3": 15, - "4": 15, - "5": 1, - "6": 1, - "7": 14, - "8": 14, - "9": 14, - "10": 14, - "11": 14, - "12": 1, - "13": 16, - "14": 16, - "15": 16, - "16": 14, - "17": 14, - "18": 9, - "19": 9, - "20": 5, - "21": 5, - "22": 5, - "23": 5, - "24": 5, - "25": 5, - "26": 2, - "27": 5, - "28": 3, - "29": 3, - "30": 1, - "31": 5, - "32": 5, - "33": 25, - "34": 2, - "35": 2, - "36": 1, - "37": 5, - "38": 5, - "39": 3, - "40": 3, - "41": 1, - "42": 5, - "43": 5, - "44": 3, - "45": 3, - "46": 1, - "47": 4, - "48": 4, - "49": 1, - "50": 1, - "51": 1, - "52": 3, - "53": 3, - "54": 3, - "55": 1, - "56": 1, - "57": 1, - "58": 1, - "59": 4 - }, - "f": { - "0": 1, - "1": 15, - "2": 16, - "3": 5, - "4": 1, - "5": 5, - "6": 1, - "7": 5, - "8": 1, - "9": 5, - "10": 1, - "11": 4, - "12": 1, - "13": 1, - "14": 1, - "15": 4 - }, - "b": { - "0": [1, 14], - "1": [9, 5], - "2": [3, 2], - "3": [2, 23], - "4": [5, 1], - "5": [3, 2], - "6": [5, 1], - "7": [3, 2], - "8": [1, 3] - }, - "meta": { - "lastBranch": 9, - "lastFunction": 16, - "lastStatement": 60, - "seen": { - "s:10:21:10:Infinity": 0, - "s:11:20:11:Infinity": 1, - "f:13:2:13:16": 0, - "s:14:4:14:Infinity": 2, - "f:17:8:17:36": 1, - "s:18:4:18:Infinity": 3, - "b:19:4:22:Infinity:undefined:undefined:undefined:undefined": 0, - "s:19:4:22:Infinity": 4, - "s:20:6:20:Infinity": 5, - "s:21:6:21:Infinity": 6, - "s:24:4:31:Infinity": 7, - "s:25:6:25:Infinity": 8, - "s:26:6:26:Infinity": 9, - "s:27:6:27:Infinity": 10, - "s:28:6:28:Infinity": 11, - "s:30:6:30:Infinity": 12, - "f:34:8:34:41": 2, - "s:35:4:63:Infinity": 13, - "s:37:6:37:Infinity": 14, - "s:39:23:39:Infinity": 15, - "s:40:6:40:Infinity": 16, - "b:42:6:45:Infinity:undefined:undefined:undefined:undefined": 1, - "s:42:6:45:Infinity": 17, - "s:43:8:43:Infinity": 18, - "s:44:8:44:Infinity": 19, - "s:47:26:47:Infinity": 20, - "s:48:6:48:Infinity": 21, - "s:51:6:51:Infinity": 22, - "s:54:6:54:Infinity": 23, - "s:57:6:57:Infinity": 24, - "s:60:6:60:Infinity": 25, - "s:62:6:62:Infinity": 26, - "f:66:10:66:36": 3, - "b:67:4:74:Infinity:undefined:undefined:undefined:undefined": 2, - "s:67:4:74:Infinity": 27, - "s:68:6:70:Infinity": 28, - "s:71:6:73:Infinity": 29, - "f:71:60:71:66": 4, - "s:72:8:72:Infinity": 30, - "f:77:10:77:35": 5, - "s:79:29:85:Infinity": 31, - "s:87:4:96:Infinity": 32, - "b:88:6:95:Infinity:undefined:undefined:undefined:undefined": 3, - "s:88:6:95:Infinity": 33, - "s:89:8:91:Infinity": 34, - "s:92:8:94:Infinity": 35, - "f:92:49:92:55": 6, - "s:93:10:93:Infinity": 36, - "f:99:10:99:38": 7, - "s:101:32:104:Infinity": 37, - "b:101:32:101:61:101:61:104:Infinity": 4, - "b:106:4:113:Infinity:undefined:undefined:undefined:undefined": 5, - "s:106:4:113:Infinity": 38, - "s:107:6:109:Infinity": 39, - "s:110:6:112:Infinity": 40, - "f:110:60:110:66": 8, - "s:111:8:111:Infinity": 41, - "f:116:10:116:31": 9, - "s:117:25:120:Infinity": 42, - "b:117:25:117:48:117:48:120:Infinity": 6, - "b:122:4:129:Infinity:undefined:undefined:undefined:undefined": 7, - "s:122:4:129:Infinity": 43, - "s:123:6:125:Infinity": 44, - "s:126:6:128:Infinity": 45, - "f:126:53:126:59": 10, - "s:127:8:127:Infinity": 46, - "f:132:8:132:43": 11, - "s:133:4:136:Infinity": 47, - "b:137:4:141:Infinity:undefined:undefined:undefined:undefined": 8, - "s:137:4:141:Infinity": 48, - "s:138:6:138:Infinity": 49, - "s:139:6:139:Infinity": 50, - "s:140:6:140:Infinity": 51, - "s:143:4:148:Infinity": 52, - "s:144:6:144:Infinity": 53, - "s:145:6:145:Infinity": 54, - "s:147:6:147:Infinity": 55, - "f:151:2:151:18": 12, - "s:152:4:152:Infinity": 56, - "f:156:2:156:32": 13, - "s:157:4:157:Infinity": 57, - "f:160:2:160:21": 14, - "s:161:4:161:Infinity": 58, - "f:164:6:164:31": 15, - "s:165:4:165:Infinity": 59 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\hotkeys\\registry.ts", - "statementMap": { - "0": { "start": { "line": 8, "column": 39 }, "end": { "line": 11, "column": null } }, - "1": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": null } }, - "2": { "start": { "line": 18, "column": 4 }, "end": { "line": 18, "column": null } }, - "3": { "start": { "line": 25, "column": 4 }, "end": { "line": 44, "column": null } }, - "4": { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, - "5": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": null } }, - "6": { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": null } }, - "7": { "start": { "line": 32, "column": 22 }, "end": { "line": 32, "column": null } }, - "8": { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, - "9": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": null } }, - "10": { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": null } }, - "11": { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, - "12": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": null } }, - "13": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": null } }, - "14": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": null } }, - "15": { "start": { "line": 43, "column": 6 }, "end": { "line": 43, "column": null } }, - "16": { "start": { "line": 51, "column": 4 }, "end": { "line": 57, "column": null } }, - "17": { "start": { "line": 52, "column": 6 }, "end": { "line": 56, "column": null } }, - "18": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": null } }, - "19": { "start": { "line": 55, "column": 8 }, "end": { "line": 55, "column": null } }, - "20": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": null } }, - "21": { "start": { "line": 65, "column": 4 }, "end": { "line": 65, "column": null } }, - "22": { "start": { "line": 72, "column": 4 }, "end": { "line": 72, "column": null } }, - "23": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, - "24": { "start": { "line": 80, "column": 4 }, "end": { "line": 80, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 13, "column": 6 }, "end": { "line": 13, "column": 31 } }, - "loc": { "start": { "line": 13, "column": 31 }, "end": { "line": 15, "column": null } }, - "line": 13 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 17, "column": 2 }, "end": { "line": 17, "column": 17 } }, - "loc": { "start": { "line": 17, "column": 39 }, "end": { "line": 19, "column": null } }, - "line": 17 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 24, "column": 2 }, "end": { "line": 24, "column": 17 } }, - "loc": { "start": { "line": 24, "column": 69 }, "end": { "line": 45, "column": null } }, - "line": 24 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 50, "column": 2 }, "end": { "line": 50, "column": 31 } }, - "loc": { "start": { "line": 50, "column": 31 }, "end": { "line": 59, "column": null } }, - "line": 50 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 51, "column": 38 }, "end": { "line": 51, "column": 39 } }, - "loc": { "start": { "line": 51, "column": 55 }, "end": { "line": 57, "column": 5 } }, - "line": 51 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 64, "column": 2 }, "end": { "line": 64, "column": 32 } }, - "loc": { "start": { "line": 64, "column": 32 }, "end": { "line": 66, "column": null } }, - "line": 64 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 21 } }, - "loc": { "start": { "line": 71, "column": 51 }, "end": { "line": 73, "column": null } }, - "line": 71 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 78, "column": 2 }, "end": { "line": 78, "column": 18 } }, - "loc": { "start": { "line": 78, "column": 18 }, "end": { "line": 81, "column": null } }, - "line": 78 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 27, "column": 6 }, "end": { "line": 30, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 27 - }, - "1": { - "loc": { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 33, "column": 6 }, "end": { "line": 40, "column": null } }, - { "start": { "line": 37, "column": 13 }, "end": { "line": 40, "column": null } } - ], - "line": 33 - } - }, - "s": { - "0": 25, - "1": 28, - "2": 14, - "3": 24, - "4": 24, - "5": 1, - "6": 1, - "7": 23, - "8": 23, - "9": 21, - "10": 21, - "11": 21, - "12": 1, - "13": 1, - "14": 1, - "15": 1, - "16": 20, - "17": 5, - "18": 5, - "19": 1, - "20": 20, - "21": 5, - "22": 3, - "23": 2, - "24": 2 - }, - "f": { "0": 28, "1": 14, "2": 24, "3": 20, "4": 5, "5": 5, "6": 3, "7": 2 }, - "b": { "0": [1, 23], "1": [21, 1] }, - "meta": { - "lastBranch": 2, - "lastFunction": 8, - "lastStatement": 25, - "seen": { - "s:8:39:11:Infinity": 0, - "f:13:6:13:31": 0, - "s:14:4:14:Infinity": 1, - "f:17:2:17:17": 1, - "s:18:4:18:Infinity": 2, - "f:24:2:24:17": 2, - "s:25:4:44:Infinity": 3, - "b:27:6:30:Infinity:undefined:undefined:undefined:undefined": 0, - "s:27:6:30:Infinity": 4, - "s:28:8:28:Infinity": 5, - "s:29:8:29:Infinity": 6, - "s:32:22:32:Infinity": 7, - "b:33:6:40:Infinity:37:13:40:Infinity": 1, - "s:33:6:40:Infinity": 8, - "s:34:8:34:Infinity": 9, - "s:35:8:35:Infinity": 10, - "s:36:8:36:Infinity": 11, - "s:38:8:38:Infinity": 12, - "s:39:8:39:Infinity": 13, - "s:42:6:42:Infinity": 14, - "s:43:6:43:Infinity": 15, - "f:50:2:50:31": 3, - "s:51:4:57:Infinity": 16, - "f:51:38:51:39": 4, - "s:52:6:56:Infinity": 17, - "s:53:8:53:Infinity": 18, - "s:55:8:55:Infinity": 19, - "s:58:4:58:Infinity": 20, - "f:64:2:64:32": 5, - "s:65:4:65:Infinity": 21, - "f:71:2:71:21": 6, - "s:72:4:72:Infinity": 22, - "f:78:2:78:18": 7, - "s:79:4:79:Infinity": 23, - "s:80:4:80:Infinity": 24 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\defaults.ts", - "statementMap": { - "0": { "start": { "line": 4, "column": 55 }, "end": { "line": 38, "column": null } }, - "1": { "start": { "line": 40, "column": 46 }, "end": { "line": 52, "column": null } }, - "2": { "start": { "line": 54, "column": 37 }, "end": { "line": 61, "column": null } } - }, - "fnMap": {}, - "branchMap": {}, - "s": { "0": 1, "1": 1, "2": 1 }, - "f": {}, - "b": {}, - "meta": { - "lastBranch": 0, - "lastFunction": 0, - "lastStatement": 3, - "seen": { "s:4:55:38:Infinity": 0, "s:40:46:52:Infinity": 1, "s:54:37:61:Infinity": 2 } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\file-operations.ts", - "statementMap": { - "0": { "start": { "line": 8, "column": 19 }, "end": { "line": 8, "column": null } }, - "1": { "start": { "line": 10, "column": 2 }, "end": { "line": 39, "column": null } }, - "2": { "start": { "line": 12, "column": 21 }, "end": { "line": 12, "column": null } }, - "3": { "start": { "line": 15, "column": 26 }, "end": { "line": 15, "column": null } }, - "4": { "start": { "line": 18, "column": 4 }, "end": { "line": 22, "column": null } }, - "5": { "start": { "line": 19, "column": 6 }, "end": { "line": 19, "column": null } }, - "6": { "start": { "line": 25, "column": 4 }, "end": { "line": 25, "column": null } }, - "7": { "start": { "line": 26, "column": 4 }, "end": { "line": 26, "column": null } }, - "8": { "start": { "line": 28, "column": 4 }, "end": { "line": 28, "column": null } }, - "9": { "start": { "line": 31, "column": 4 }, "end": { "line": 35, "column": null } }, - "10": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": null } }, - "11": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": null } }, - "12": { "start": { "line": 38, "column": 4 }, "end": { "line": 38, "column": null } }, - "13": { "start": { "line": 46, "column": 2 }, "end": { "line": 67, "column": null } }, - "14": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": null } }, - "15": { "start": { "line": 51, "column": 26 }, "end": { "line": 51, "column": null } }, - "16": { "start": { "line": 54, "column": 28 }, "end": { "line": 54, "column": null } }, - "17": { "start": { "line": 55, "column": 21 }, "end": { "line": 55, "column": null } }, - "18": { "start": { "line": 58, "column": 4 }, "end": { "line": 58, "column": null } }, - "19": { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, - "20": { "start": { "line": 62, "column": 6 }, "end": { "line": 62, "column": null } }, - "21": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": null } }, - "22": { "start": { "line": 65, "column": 6 }, "end": { "line": 65, "column": null } }, - "23": { "start": { "line": 74, "column": 2 }, "end": { "line": 74, "column": null } }, - "24": { "start": { "line": 81, "column": 2 }, "end": { "line": 81, "column": null } } - }, - "fnMap": { - "0": { - "name": "saveToFile", - "decl": { "start": { "line": 7, "column": 22 }, "end": { "line": 7, "column": 33 } }, - "loc": { "start": { "line": 7, "column": 86 }, "end": { "line": 40, "column": null } }, - "line": 7 - }, - "1": { - "name": "loadFromFile", - "decl": { "start": { "line": 45, "column": 22 }, "end": { "line": 45, "column": 35 } }, - "loc": { "start": { "line": 45, "column": 76 }, "end": { "line": 68, "column": null } }, - "line": 45 - }, - "2": { - "name": "ensureDataDirectory", - "decl": { "start": { "line": 73, "column": 22 }, "end": { "line": 73, "column": 42 } }, - "loc": { "start": { "line": 73, "column": 75 }, "end": { "line": 75, "column": null } }, - "line": 73 - }, - "3": { - "name": "isEncryptionAvailable", - "decl": { "start": { "line": 80, "column": 16 }, "end": { "line": 80, "column": 49 } }, - "loc": { "start": { "line": 80, "column": 49 }, "end": { "line": 82, "column": null } }, - "line": 80 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 60, "column": 4 }, "end": { "line": 66, "column": null } }, - { "start": { "line": 63, "column": 11 }, "end": { "line": 66, "column": null } } - ], - "line": 60 - } - }, - "s": { - "0": 3, - "1": 3, - "2": 3, - "3": 3, - "4": 3, - "5": 3, - "6": 3, - "7": 2, - "8": 2, - "9": 1, - "10": 1, - "11": 1, - "12": 1, - "13": 3, - "14": 3, - "15": 2, - "16": 1, - "17": 1, - "18": 1, - "19": 2, - "20": 1, - "21": 1, - "22": 1, - "23": 1, - "24": 2 - }, - "f": { "0": 3, "1": 3, "2": 1, "3": 2 }, - "b": { "0": [1, 1] }, - "meta": { - "lastBranch": 1, - "lastFunction": 4, - "lastStatement": 25, - "seen": { - "f:7:22:7:33": 0, - "s:8:19:8:Infinity": 0, - "s:10:2:39:Infinity": 1, - "s:12:21:12:Infinity": 2, - "s:15:26:15:Infinity": 3, - "s:18:4:22:Infinity": 4, - "s:19:6:19:Infinity": 5, - "s:25:4:25:Infinity": 6, - "s:26:4:26:Infinity": 7, - "s:28:4:28:Infinity": 8, - "s:31:4:35:Infinity": 9, - "s:32:6:32:Infinity": 10, - "s:37:4:37:Infinity": 11, - "s:38:4:38:Infinity": 12, - "f:45:22:45:35": 1, - "s:46:2:67:Infinity": 13, - "s:48:4:48:Infinity": 14, - "s:51:26:51:Infinity": 15, - "s:54:28:54:Infinity": 16, - "s:55:21:55:Infinity": 17, - "s:58:4:58:Infinity": 18, - "b:60:4:66:Infinity:63:11:66:Infinity": 0, - "s:60:4:66:Infinity": 19, - "s:62:6:62:Infinity": 20, - "s:64:6:64:Infinity": 21, - "s:65:6:65:Infinity": 22, - "f:73:22:73:42": 2, - "s:74:2:74:Infinity": 23, - "f:80:16:80:49": 3, - "s:81:2:81:Infinity": 24 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\migration.ts", - "statementMap": { - "0": { "start": { "line": 9, "column": 32 }, "end": { "line": 9, "column": null } }, - "1": { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, - "2": { "start": { "line": 13, "column": 4 }, "end": { "line": 16, "column": null } }, - "3": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, - "4": { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, - "5": { "start": { "line": 21, "column": 4 }, "end": { "line": 24, "column": null } }, - "6": { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, - "7": { "start": { "line": 29, "column": 4 }, "end": { "line": 38, "column": null } }, - "8": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, - "9": { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, - "10": { "start": { "line": 43, "column": 4 }, "end": { "line": 53, "column": null } }, - "11": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, - "12": { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, - "13": { "start": { "line": 58, "column": 4 }, "end": { "line": 68, "column": null } }, - "14": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, - "15": { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, - "16": { "start": { "line": 73, "column": 4 }, "end": { "line": 73, "column": null } }, - "17": { "start": { "line": 76, "column": 2 }, "end": { "line": 76, "column": null } } - }, - "fnMap": { - "0": { - "name": "migrateData", - "decl": { "start": { "line": 7, "column": 16 }, "end": { "line": 7, "column": 28 } }, - "loc": { "start": { "line": 7, "column": 48 }, "end": { "line": 77, "column": null } }, - "line": 7 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 14, "column": 6 }, "end": { "line": 14, "column": 7 } }, - "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, - "line": 15 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 30, "column": 6 }, "end": { "line": 30, "column": 7 } }, - "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, - "line": 31 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 44, "column": 6 }, "end": { "line": 44, "column": 7 } }, - "loc": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, - "line": 45 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 59, "column": 6 }, "end": { "line": 59, "column": 7 } }, - "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, - "line": 60 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 12, "column": 2 }, "end": { "line": 17, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 12 - }, - "1": { - "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 47 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 20 } }, - { "start": { "line": 12, "column": 20 }, "end": { "line": 12, "column": 47 } } - ], - "line": 12 - }, - "2": { - "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 22 } }, - { "start": { "line": 15, "column": 22 }, "end": { "line": 15, "column": 60 } }, - { "start": { "line": 15, "column": 60 }, "end": { "line": 15, "column": null } } - ], - "line": 15 - }, - "3": { - "loc": { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 20, "column": 2 }, "end": { "line": 25, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 20 - }, - "4": { - "loc": { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 58 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 20, "column": 6 }, "end": { "line": 20, "column": 23 } }, - { "start": { "line": 20, "column": 23 }, "end": { "line": 20, "column": 58 } } - ], - "line": 20 - }, - "5": { - "loc": { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 28, "column": 2 }, "end": { "line": 39, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 28 - }, - "6": { - "loc": { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 55 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 28, "column": 6 }, "end": { "line": 28, "column": 24 } }, - { "start": { "line": 28, "column": 24 }, "end": { "line": 28, "column": 55 } } - ], - "line": 28 - }, - "7": { - "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 37, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, - { "start": { "line": 32, "column": 8 }, "end": { "line": 32, "column": null } }, - { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": null } }, - { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": null } }, - { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": null } }, - { "start": { "line": 36, "column": 8 }, "end": { "line": 36, "column": null } }, - { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": null } } - ], - "line": 31 - }, - "8": { - "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 42, "column": 2 }, "end": { "line": 54, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 42 - }, - "9": { - "loc": { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 59 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 42, "column": 6 }, "end": { "line": 42, "column": 26 } }, - { "start": { "line": 42, "column": 26 }, "end": { "line": 42, "column": 59 } } - ], - "line": 42 - }, - "10": { - "loc": { "start": { "line": 45, "column": 8 }, "end": { "line": 52, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 45, "column": 8 }, "end": { "line": 45, "column": null } }, - { "start": { "line": 46, "column": 8 }, "end": { "line": 46, "column": null } }, - { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, - { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": null } }, - { "start": { "line": 49, "column": 8 }, "end": { "line": 49, "column": null } }, - { "start": { "line": 50, "column": 8 }, "end": { "line": 50, "column": null } }, - { "start": { "line": 51, "column": 8 }, "end": { "line": 51, "column": null } }, - { "start": { "line": 52, "column": 8 }, "end": { "line": 52, "column": null } } - ], - "line": 45 - }, - "11": { - "loc": { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 57, "column": 2 }, "end": { "line": 69, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 57 - }, - "12": { - "loc": { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 57 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 57, "column": 6 }, "end": { "line": 57, "column": 25 } }, - { "start": { "line": 57, "column": 25 }, "end": { "line": 57, "column": 57 } } - ], - "line": 57 - }, - "13": { - "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 67, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": null } }, - { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, - { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": null } }, - { "start": { "line": 63, "column": 8 }, "end": { "line": 63, "column": null } }, - { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, - { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": null } }, - { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, - { "start": { "line": 67, "column": 8 }, "end": { "line": 67, "column": null } } - ], - "line": 60 - }, - "14": { - "loc": { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 72, "column": 2 }, "end": { "line": 74, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 72 - }, - "15": { - "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 56 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 22 } }, - { "start": { "line": 72, "column": 22 }, "end": { "line": 72, "column": 56 } } - ], - "line": 72 - } - }, - "s": { - "0": 11, - "1": 11, - "2": 2, - "3": 5, - "4": 11, - "5": 1, - "6": 11, - "7": 2, - "8": 3, - "9": 11, - "10": 1, - "11": 1, - "12": 11, - "13": 1, - "14": 1, - "15": 11, - "16": 1, - "17": 11 - }, - "f": { "0": 11, "1": 5, "2": 3, "3": 1, "4": 1 }, - "b": { - "0": [2, 9], - "1": [11, 3], - "2": [5, 3, 2], - "3": [1, 10], - "4": [11, 1], - "5": [2, 9], - "6": [11, 2], - "7": [3, 3, 2, 2, 2, 2, 2], - "8": [1, 10], - "9": [11, 1], - "10": [1, 1, 1, 1, 1, 1, 1, 1], - "11": [1, 10], - "12": [11, 1], - "13": [1, 1, 1, 1, 1, 1, 1, 1], - "14": [1, 10], - "15": [11, 1] - }, - "meta": { - "lastBranch": 16, - "lastFunction": 5, - "lastStatement": 18, - "seen": { - "f:7:16:7:28": 0, - "s:9:32:9:Infinity": 0, - "b:12:2:17:Infinity:undefined:undefined:undefined:undefined": 0, - "s:12:2:17:Infinity": 1, - "b:12:6:12:20:12:20:12:47": 1, - "s:13:4:16:Infinity": 2, - "f:14:6:14:7": 1, - "s:15:8:15:Infinity": 3, - "b:15:8:15:22:15:22:15:60:15:60:15:Infinity": 2, - "b:20:2:25:Infinity:undefined:undefined:undefined:undefined": 3, - "s:20:2:25:Infinity": 4, - "b:20:6:20:23:20:23:20:58": 4, - "s:21:4:24:Infinity": 5, - "b:28:2:39:Infinity:undefined:undefined:undefined:undefined": 5, - "s:28:2:39:Infinity": 6, - "b:28:6:28:24:28:24:28:55": 6, - "s:29:4:38:Infinity": 7, - "f:30:6:30:7": 2, - "s:31:8:37:Infinity": 8, - "b:31:8:31:Infinity:32:8:32:Infinity:33:8:33:Infinity:34:8:34:Infinity:35:8:35:Infinity:36:8:36:Infinity:37:8:37:Infinity": 7, - "b:42:2:54:Infinity:undefined:undefined:undefined:undefined": 8, - "s:42:2:54:Infinity": 9, - "b:42:6:42:26:42:26:42:59": 9, - "s:43:4:53:Infinity": 10, - "f:44:6:44:7": 3, - "s:45:8:52:Infinity": 11, - "b:45:8:45:Infinity:46:8:46:Infinity:47:8:47:Infinity:48:8:48:Infinity:49:8:49:Infinity:50:8:50:Infinity:51:8:51:Infinity:52:8:52:Infinity": 10, - "b:57:2:69:Infinity:undefined:undefined:undefined:undefined": 11, - "s:57:2:69:Infinity": 12, - "b:57:6:57:25:57:25:57:57": 12, - "s:58:4:68:Infinity": 13, - "f:59:6:59:7": 4, - "s:60:8:67:Infinity": 14, - "b:60:8:60:Infinity:61:8:61:Infinity:62:8:62:Infinity:63:8:63:Infinity:64:8:64:Infinity:65:8:65:Infinity:66:8:66:Infinity:67:8:67:Infinity": 13, - "b:72:2:74:Infinity:undefined:undefined:undefined:undefined": 14, - "s:72:2:74:Infinity": 15, - "b:72:6:72:22:72:22:72:56": 15, - "s:73:4:73:Infinity": 16, - "s:76:2:76:Infinity": 17 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\search-terms.ts", - "statementMap": { - "0": { "start": { "line": 7, "column": 2 }, "end": { "line": 7, "column": null } }, - "1": { "start": { "line": 14, "column": 2 }, "end": { "line": 22, "column": null } }, - "2": { "start": { "line": 32, "column": 2 }, "end": { "line": 36, "column": null } }, - "3": { "start": { "line": 43, "column": 2 }, "end": { "line": 43, "column": null } }, - "4": { "start": { "line": 43, "column": 41 }, "end": { "line": 43, "column": 58 } }, - "5": { "start": { "line": 50, "column": 2 }, "end": { "line": 53, "column": null } }, - "6": { "start": { "line": 50, "column": 49 }, "end": { "line": 53, "column": 4 } } - }, - "fnMap": { - "0": { - "name": "generateId", - "decl": { "start": { "line": 6, "column": 16 }, "end": { "line": 6, "column": 37 } }, - "loc": { "start": { "line": 6, "column": 37 }, "end": { "line": 8, "column": null } }, - "line": 6 - }, - "1": { - "name": "createSearchTermObject", - "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 39 } }, - "loc": { "start": { "line": 13, "column": 97 }, "end": { "line": 23, "column": null } }, - "line": 13 - }, - "2": { - "name": "updateSearchTermObject", - "decl": { "start": { "line": 28, "column": 16 }, "end": { "line": 28, "column": null } }, - "loc": { "start": { "line": 31, "column": 14 }, "end": { "line": 37, "column": null } }, - "line": 31 - }, - "3": { - "name": "sortSearchTermsByOrder", - "decl": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 39 } }, - "loc": { "start": { "line": 42, "column": 80 }, "end": { "line": 44, "column": null } }, - "line": 42 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 43, "column": 31 }, "end": { "line": 43, "column": 32 } }, - "loc": { "start": { "line": 43, "column": 41 }, "end": { "line": 43, "column": 58 } }, - "line": 43 - }, - "5": { - "name": "reorderSearchTermsArray", - "decl": { "start": { "line": 49, "column": 16 }, "end": { "line": 49, "column": 40 } }, - "loc": { "start": { "line": 49, "column": 81 }, "end": { "line": 54, "column": null } }, - "line": 49 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 50, "column": 25 }, "end": { "line": 50, "column": 26 } }, - "loc": { "start": { "line": 50, "column": 49 }, "end": { "line": 53, "column": 4 } }, - "line": 50 - } - }, - "branchMap": {}, - "s": { "0": 2, "1": 1, "2": 1, "3": 2, "4": 5, "5": 2, "6": 2 }, - "f": { "0": 2, "1": 1, "2": 1, "3": 2, "4": 5, "5": 2, "6": 2 }, - "b": {}, - "meta": { - "lastBranch": 0, - "lastFunction": 7, - "lastStatement": 7, - "seen": { - "f:6:16:6:37": 0, - "s:7:2:7:Infinity": 0, - "f:13:16:13:39": 1, - "s:14:2:22:Infinity": 1, - "f:28:16:28:Infinity": 2, - "s:32:2:36:Infinity": 2, - "f:42:16:42:39": 3, - "s:43:2:43:Infinity": 3, - "f:43:31:43:32": 4, - "s:43:41:43:58": 4, - "f:49:16:49:40": 5, - "s:50:2:53:Infinity": 5, - "f:50:25:50:26": 6, - "s:50:49:53:4": 6 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\main\\storage\\templates.ts", - "statementMap": { - "0": { "start": { "line": 7, "column": 2 }, "end": { "line": 7, "column": null } }, - "1": { "start": { "line": 14, "column": 2 }, "end": { "line": 21, "column": null } }, - "2": { "start": { "line": 28, "column": 2 }, "end": { "line": 32, "column": null } }, - "3": { "start": { "line": 39, "column": 2 }, "end": { "line": 39, "column": null } }, - "4": { "start": { "line": 39, "column": 39 }, "end": { "line": 39, "column": 56 } }, - "5": { "start": { "line": 46, "column": 2 }, "end": { "line": 49, "column": null } }, - "6": { "start": { "line": 46, "column": 45 }, "end": { "line": 49, "column": 4 } }, - "7": { "start": { "line": 59, "column": 31 }, "end": { "line": 59, "column": null } }, - "8": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, - "9": { "start": { "line": 61, "column": 21 }, "end": { "line": 61, "column": null } }, - "10": { "start": { "line": 64, "column": 2 }, "end": { "line": 71, "column": null } }, - "11": { "start": { "line": 65, "column": 18 }, "end": { "line": 65, "column": null } }, - "12": { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, - "13": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, - "14": { "start": { "line": 67, "column": 39 }, "end": { "line": 67, "column": null } }, - "15": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, - "16": { "start": { "line": 69, "column": 34 }, "end": { "line": 69, "column": null } }, - "17": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": null } }, - "18": { "start": { "line": 84, "column": 15 }, "end": { "line": 84, "column": null } }, - "19": { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, - "20": { "start": { "line": 88, "column": 4 }, "end": { "line": 91, "column": null } }, - "21": { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, - "22": { "start": { "line": 89, "column": 36 }, "end": { "line": 89, "column": null } }, - "23": { "start": { "line": 90, "column": 6 }, "end": { "line": 90, "column": null } }, - "24": { "start": { "line": 95, "column": 2 }, "end": { "line": 98, "column": null } }, - "25": { "start": { "line": 96, "column": 18 }, "end": { "line": 96, "column": null } }, - "26": { "start": { "line": 97, "column": 4 }, "end": { "line": 97, "column": null } }, - "27": { "start": { "line": 100, "column": 2 }, "end": { "line": 100, "column": null } } - }, - "fnMap": { - "0": { - "name": "generateTemplateId", - "decl": { "start": { "line": 6, "column": 16 }, "end": { "line": 6, "column": 45 } }, - "loc": { "start": { "line": 6, "column": 45 }, "end": { "line": 8, "column": null } }, - "line": 6 - }, - "1": { - "name": "createTemplateObject", - "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 37 } }, - "loc": { "start": { "line": 13, "column": 93 }, "end": { "line": 22, "column": null } }, - "line": 13 - }, - "2": { - "name": "updateTemplateObject", - "decl": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": 37 } }, - "loc": { "start": { "line": 27, "column": 95 }, "end": { "line": 33, "column": null } }, - "line": 27 - }, - "3": { - "name": "sortTemplatesByOrder", - "decl": { "start": { "line": 38, "column": 16 }, "end": { "line": 38, "column": 37 } }, - "loc": { "start": { "line": 38, "column": 72 }, "end": { "line": 40, "column": null } }, - "line": 38 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 39, "column": 29 }, "end": { "line": 39, "column": 30 } }, - "loc": { "start": { "line": 39, "column": 39 }, "end": { "line": 39, "column": 56 } }, - "line": 39 - }, - "5": { - "name": "reorderTemplatesArray", - "decl": { "start": { "line": 45, "column": 16 }, "end": { "line": 45, "column": 38 } }, - "loc": { "start": { "line": 45, "column": 73 }, "end": { "line": 50, "column": null } }, - "line": 45 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 46, "column": 23 }, "end": { "line": 46, "column": 24 } }, - "loc": { "start": { "line": 46, "column": 45 }, "end": { "line": 49, "column": 4 } }, - "line": 46 - }, - "7": { - "name": "extractTemplateTokens", - "decl": { "start": { "line": 55, "column": 16 }, "end": { "line": 55, "column": 38 } }, - "loc": { "start": { "line": 58, "column": 2 }, "end": { "line": 74, "column": null } }, - "line": 58 - }, - "8": { - "name": "generateTextFromTemplate", - "decl": { "start": { "line": 79, "column": 16 }, "end": { "line": 79, "column": null } }, - "loc": { "start": { "line": 83, "column": 10 }, "end": { "line": 101, "column": null } }, - "line": 83 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 88, "column": 42 }, "end": { "line": 88, "column": 43 } }, - "loc": { "start": { "line": 88, "column": 64 }, "end": { "line": 91, "column": 5 } }, - "line": 88 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 95, "column": 41 }, "end": { "line": 95, "column": 42 } }, - "loc": { "start": { "line": 95, "column": 63 }, "end": { "line": 98, "column": 3 } }, - "line": 95 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 66, "column": 4 }, "end": { "line": 70, "column": null } }, - { "start": { "line": 68, "column": 11 }, "end": { "line": 70, "column": null } } - ], - "line": 66 - }, - "1": { - "loc": { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 67, "column": 6 }, "end": { "line": 67, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 67 - }, - "2": { - "loc": { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 69, "column": 6 }, "end": { "line": 69, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 69 - }, - "3": { - "loc": { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 87, "column": 2 }, "end": { "line": 92, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 87 - }, - "4": { - "loc": { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 89, "column": 6 }, "end": { "line": 89, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 89 - }, - "5": { - "loc": { "start": { "line": 90, "column": 13 }, "end": { "line": 90, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 90, "column": 37 }, "end": { "line": 90, "column": 59 } }, - { "start": { "line": 90, "column": 59 }, "end": { "line": 90, "column": null } } - ], - "line": 90 - }, - "6": { - "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 97, "column": 55 }, "end": { "line": 97, "column": 77 } }, - { "start": { "line": 97, "column": 77 }, "end": { "line": 97, "column": null } } - ], - "line": 97 - }, - "7": { - "loc": { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 55 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 97, "column": 11 }, "end": { "line": 97, "column": 25 } }, - { "start": { "line": 97, "column": 25 }, "end": { "line": 97, "column": 55 } } - ], - "line": 97 - } - }, - "s": { - "0": 2, - "1": 1, - "2": 1, - "3": 2, - "4": 5, - "5": 2, - "6": 2, - "7": 6, - "8": 6, - "9": 6, - "10": 6, - "11": 10, - "12": 10, - "13": 5, - "14": 4, - "15": 5, - "16": 4, - "17": 6, - "18": 9, - "19": 9, - "20": 4, - "21": 6, - "22": 2, - "23": 4, - "24": 9, - "25": 8, - "26": 8, - "27": 9 - }, - "f": { - "0": 2, - "1": 1, - "2": 1, - "3": 2, - "4": 5, - "5": 2, - "6": 2, - "7": 6, - "8": 9, - "9": 6, - "10": 8 - }, - "b": { - "0": [5, 5], - "1": [4, 1], - "2": [4, 1], - "3": [4, 5], - "4": [2, 4], - "5": [3, 1], - "6": [7, 1], - "7": [8, 8] - }, - "meta": { - "lastBranch": 8, - "lastFunction": 11, - "lastStatement": 28, - "seen": { - "f:6:16:6:45": 0, - "s:7:2:7:Infinity": 0, - "f:13:16:13:37": 1, - "s:14:2:21:Infinity": 1, - "f:27:16:27:37": 2, - "s:28:2:32:Infinity": 2, - "f:38:16:38:37": 3, - "s:39:2:39:Infinity": 3, - "f:39:29:39:30": 4, - "s:39:39:39:56": 4, - "f:45:16:45:38": 5, - "s:46:2:49:Infinity": 5, - "f:46:23:46:24": 6, - "s:46:45:49:4": 6, - "f:55:16:55:38": 7, - "s:59:31:59:Infinity": 7, - "s:60:26:60:Infinity": 8, - "s:61:21:61:Infinity": 9, - "s:64:2:71:Infinity": 10, - "s:65:18:65:Infinity": 11, - "b:66:4:70:Infinity:68:11:70:Infinity": 0, - "s:66:4:70:Infinity": 12, - "b:67:6:67:Infinity:undefined:undefined:undefined:undefined": 1, - "s:67:6:67:Infinity": 13, - "s:67:39:67:Infinity": 14, - "b:69:6:69:Infinity:undefined:undefined:undefined:undefined": 2, - "s:69:6:69:Infinity": 15, - "s:69:34:69:Infinity": 16, - "s:73:2:73:Infinity": 17, - "f:79:16:79:Infinity": 8, - "s:84:15:84:Infinity": 18, - "b:87:2:92:Infinity:undefined:undefined:undefined:undefined": 3, - "s:87:2:92:Infinity": 19, - "s:88:4:91:Infinity": 20, - "f:88:42:88:43": 9, - "b:89:6:89:Infinity:undefined:undefined:undefined:undefined": 4, - "s:89:6:89:Infinity": 21, - "s:89:36:89:Infinity": 22, - "s:90:6:90:Infinity": 23, - "b:90:37:90:59:90:59:90:Infinity": 5, - "s:95:2:98:Infinity": 24, - "f:95:41:95:42": 10, - "s:96:18:96:Infinity": 25, - "s:97:4:97:Infinity": 26, - "b:97:55:97:77:97:77:97:Infinity": 6, - "b:97:11:97:25:97:25:97:55": 7, - "s:100:2:100:Infinity": 27 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\BookmarkClip.tsx", - "statementMap": { - "0": { "start": { "line": 10, "column": 28 }, "end": { "line": 21, "column": null } }, - "1": { "start": { "line": 11, "column": 18 }, "end": { "line": 11, "column": null } }, - "2": { "start": { "line": 13, "column": 2 }, "end": { "line": 19, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": 29 } }, - "loc": { "start": { "line": 10, "column": 61 }, "end": { "line": 21, "column": null } }, - "line": 10 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 34 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 23 } }, - { "start": { "line": 17, "column": 23 }, "end": { "line": 17, "column": 34 } } - ], - "line": 17 - } - }, - "s": { "0": 1, "1": 2, "2": 2 }, - "f": { "0": 2 }, - "b": { "0": [2, 1] }, - "meta": { - "lastBranch": 1, - "lastFunction": 1, - "lastStatement": 3, - "seen": { - "s:10:28:21:Infinity": 0, - "f:10:28:10:29": 0, - "s:11:18:11:Infinity": 1, - "s:13:2:19:Infinity": 2, - "b:17:9:17:23:17:23:17:34": 0 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\HtmlClip.tsx", - "statementMap": { - "0": { "start": { "line": 10, "column": 24 }, "end": { "line": 18, "column": null } }, - "1": { "start": { "line": 11, "column": 18 }, "end": { "line": 11, "column": null } }, - "2": { "start": { "line": 12, "column": 2 }, "end": { "line": 16, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 10, "column": 24 }, "end": { "line": 10, "column": 25 } }, - "loc": { "start": { "line": 10, "column": 53 }, "end": { "line": 18, "column": null } }, - "line": 10 - } - }, - "branchMap": {}, - "s": { "0": 1, "1": 1, "2": 1 }, - "f": { "0": 1 }, - "b": {}, - "meta": { - "lastBranch": 0, - "lastFunction": 1, - "lastStatement": 3, - "seen": { - "s:10:24:18:Infinity": 0, - "f:10:24:10:25": 0, - "s:11:18:11:Infinity": 1, - "s:12:2:16:Infinity": 2 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\ImageClip.tsx", - "statementMap": { - "0": { "start": { "line": 11, "column": 25 }, "end": { "line": 99, "column": null } }, - "1": { "start": { "line": 12, "column": 18 }, "end": { "line": 12, "column": null } }, - "2": { "start": { "line": 13, "column": 8 }, "end": { "line": 13, "column": null } }, - "3": { "start": { "line": 15, "column": 32 }, "end": { "line": 55, "column": null } }, - "4": { "start": { "line": 16, "column": 20 }, "end": { "line": 16, "column": null } }, - "5": { "start": { "line": 18, "column": 4 }, "end": { "line": 54, "column": null } }, - "6": { "start": { "line": 19, "column": 19 }, "end": { "line": 19, "column": null } }, - "7": { "start": { "line": 20, "column": 29 }, "end": { "line": 20, "column": null } }, - "8": { "start": { "line": 21, "column": 28 }, "end": { "line": 21, "column": null } }, - "9": { "start": { "line": 22, "column": 28 }, "end": { "line": 22, "column": null } }, - "10": { "start": { "line": 23, "column": 27 }, "end": { "line": 23, "column": null } }, - "11": { "start": { "line": 26, "column": 17 }, "end": { "line": 26, "column": null } }, - "12": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": null } }, - "13": { "start": { "line": 30, "column": 6 }, "end": { "line": 33, "column": null } }, - "14": { "start": { "line": 32, "column": 8 }, "end": { "line": 32, "column": null } }, - "15": { "start": { "line": 36, "column": 6 }, "end": { "line": 38, "column": null } }, - "16": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": null } }, - "17": { "start": { "line": 41, "column": 6 }, "end": { "line": 44, "column": null } }, - "18": { "start": { "line": 43, "column": 8 }, "end": { "line": 43, "column": null } }, - "19": { "start": { "line": 47, "column": 6 }, "end": { "line": 49, "column": null } }, - "20": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": null } }, - "21": { "start": { "line": 51, "column": 6 }, "end": { "line": 51, "column": null } }, - "22": { "start": { "line": 52, "column": 6 }, "end": { "line": 52, "column": null } }, - "23": { "start": { "line": 53, "column": 6 }, "end": { "line": 53, "column": null } }, - "24": { "start": { "line": 57, "column": 2 }, "end": { "line": 97, "column": null } }, - "25": { "start": { "line": 66, "column": 25 }, "end": { "line": 66, "column": null } }, - "26": { "start": { "line": 67, "column": 10 }, "end": { "line": 67, "column": null } }, - "27": { "start": { "line": 68, "column": 27 }, "end": { "line": 68, "column": null } }, - "28": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": null } }, - "29": { "start": { "line": 70, "column": 10 }, "end": { "line": 70, "column": null } }, - "30": { "start": { "line": 71, "column": 10 }, "end": { "line": 71, "column": null } }, - "31": { "start": { "line": 72, "column": 10 }, "end": { "line": 72, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 11, "column": 25 }, "end": { "line": 11, "column": 26 } }, - "loc": { "start": { "line": 11, "column": 55 }, "end": { "line": 99, "column": null } }, - "line": 11 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 15, "column": 32 }, "end": { "line": 15, "column": 33 } }, - "loc": { "start": { "line": 15, "column": 75 }, "end": { "line": 55, "column": null } }, - "line": 15 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 64, "column": 17 }, "end": { "line": 64, "column": 18 } }, - "loc": { "start": { "line": 64, "column": 24 }, "end": { "line": 73, "column": null } }, - "line": 64 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 18, "column": 4 }, "end": { "line": 54, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 18, "column": 4 }, "end": { "line": 54, "column": null } } - ], - "line": 18 - }, - "1": { - "loc": { "start": { "line": 30, "column": 6 }, "end": { "line": 33, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 30, "column": 6 }, "end": { "line": 33, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 30 - }, - "2": { - "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 38, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 36, "column": 6 }, "end": { "line": 38, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 36 - }, - "3": { - "loc": { "start": { "line": 41, "column": 6 }, "end": { "line": 44, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 41, "column": 6 }, "end": { "line": 44, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 41 - }, - "4": { - "loc": { "start": { "line": 47, "column": 6 }, "end": { "line": 49, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 47, "column": 6 }, "end": { "line": 49, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 47 - }, - "5": { - "loc": { "start": { "line": 70, "column": 33 }, "end": { "line": 70, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 70, "column": 43 }, "end": { "line": 70, "column": 55 } }, - { "start": { "line": 70, "column": 55 }, "end": { "line": 70, "column": null } } - ], - "line": 70 - }, - "6": { - "loc": { "start": { "line": 88, "column": 11 }, "end": { "line": 90, "column": 31 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 89, "column": 14 }, "end": { "line": 89, "column": null } }, - { "start": { "line": 90, "column": 14 }, "end": { "line": 90, "column": 31 } } - ], - "line": 88 - } - }, - "s": { - "0": 1, - "1": 11, - "2": 11, - "3": 11, - "4": 5, - "5": 5, - "6": 5, - "7": 5, - "8": 5, - "9": 5, - "10": 5, - "11": 5, - "12": 5, - "13": 5, - "14": 2, - "15": 5, - "16": 1, - "17": 5, - "18": 1, - "19": 5, - "20": 4, - "21": 5, - "22": 5, - "23": 5, - "24": 11, - "25": 2, - "26": 2, - "27": 2, - "28": 2, - "29": 2, - "30": 2, - "31": 2 - }, - "f": { "0": 11, "1": 5, "2": 2 }, - "b": { - "0": [5], - "1": [2, 3], - "2": [1, 4], - "3": [1, 4], - "4": [4, 1], - "5": [1, 1], - "6": [10, 1] - }, - "meta": { - "lastBranch": 7, - "lastFunction": 3, - "lastStatement": 32, - "seen": { - "s:11:25:99:Infinity": 0, - "f:11:25:11:26": 0, - "s:12:18:12:Infinity": 1, - "s:13:8:13:Infinity": 2, - "s:15:32:55:Infinity": 3, - "f:15:32:15:33": 1, - "s:16:20:16:Infinity": 4, - "b:18:4:54:Infinity": 0, - "s:18:4:54:Infinity": 5, - "s:19:19:19:Infinity": 6, - "s:20:29:20:Infinity": 7, - "s:21:28:21:Infinity": 8, - "s:22:28:22:Infinity": 9, - "s:23:27:23:Infinity": 10, - "s:26:17:26:Infinity": 11, - "s:27:16:27:Infinity": 12, - "b:30:6:33:Infinity:undefined:undefined:undefined:undefined": 1, - "s:30:6:33:Infinity": 13, - "s:32:8:32:Infinity": 14, - "b:36:6:38:Infinity:undefined:undefined:undefined:undefined": 2, - "s:36:6:38:Infinity": 15, - "s:37:8:37:Infinity": 16, - "b:41:6:44:Infinity:undefined:undefined:undefined:undefined": 3, - "s:41:6:44:Infinity": 17, - "s:43:8:43:Infinity": 18, - "b:47:6:49:Infinity:undefined:undefined:undefined:undefined": 4, - "s:47:6:49:Infinity": 19, - "s:48:8:48:Infinity": 20, - "s:51:6:51:Infinity": 21, - "s:52:6:52:Infinity": 22, - "s:53:6:53:Infinity": 23, - "s:57:2:97:Infinity": 24, - "f:64:17:64:18": 2, - "s:66:25:66:Infinity": 25, - "s:67:10:67:Infinity": 26, - "s:68:27:68:Infinity": 27, - "s:69:10:69:Infinity": 28, - "s:70:10:70:Infinity": 29, - "b:70:43:70:55:70:55:70:Infinity": 5, - "s:71:10:71:Infinity": 30, - "s:72:10:72:Infinity": 31, - "b:89:14:89:Infinity:90:14:90:31": 6 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\components\\clips\\clip\\TextClip.tsx", - "statementMap": { - "0": { "start": { "line": 17, "column": 24 }, "end": { "line": 223, "column": null } }, - "1": { "start": { "line": 18, "column": 18 }, "end": { "line": 18, "column": null } }, - "2": { "start": { "line": 19, "column": 33 }, "end": { "line": 19, "column": null } }, - "3": { "start": { "line": 22, "column": 32 }, "end": { "line": 22, "column": null } }, - "4": { "start": { "line": 23, "column": 32 }, "end": { "line": 23, "column": null } }, - "5": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": null } }, - "6": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": null } }, - "7": { "start": { "line": 28, "column": 2 }, "end": { "line": 41, "column": null } }, - "8": { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, - "9": { "start": { "line": 30, "column": 23 }, "end": { "line": 30, "column": null } }, - "10": { "start": { "line": 31, "column": 6 }, "end": { "line": 31, "column": null } }, - "11": { "start": { "line": 32, "column": 24 }, "end": { "line": 32, "column": null } }, - "12": { "start": { "line": 33, "column": 6 }, "end": { "line": 33, "column": null } }, - "13": { "start": { "line": 36, "column": 24 }, "end": { "line": 36, "column": null } }, - "14": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - "15": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": null } }, - "16": { "start": { "line": 44, "column": 8 }, "end": { "line": 58, "column": null } }, - "17": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - "18": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": null } }, - "19": { "start": { "line": 50, "column": 6 }, "end": { "line": 55, "column": null } }, - "20": { "start": { "line": 52, "column": 8 }, "end": { "line": 54, "column": null } }, - "21": { "start": { "line": 53, "column": 10 }, "end": { "line": 53, "column": null } }, - "22": { "start": { "line": 61, "column": 2 }, "end": { "line": 67, "column": null } }, - "23": { "start": { "line": 62, "column": 4 }, "end": { "line": 66, "column": null } }, - "24": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - "25": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, - "26": { "start": { "line": 69, "column": 26 }, "end": { "line": 75, "column": null } }, - "27": { "start": { "line": 70, "column": 4 }, "end": { "line": 74, "column": null } }, - "28": { "start": { "line": 71, "column": 6 }, "end": { "line": 71, "column": null } }, - "29": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": null } }, - "30": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": null } }, - "31": { "start": { "line": 77, "column": 27 }, "end": { "line": 81, "column": null } }, - "32": { "start": { "line": 78, "column": 21 }, "end": { "line": 78, "column": null } }, - "33": { "start": { "line": 79, "column": 4 }, "end": { "line": 79, "column": null } }, - "34": { "start": { "line": 80, "column": 4 }, "end": { "line": 80, "column": null } }, - "35": { "start": { "line": 83, "column": 25 }, "end": { "line": 93, "column": null } }, - "36": { "start": { "line": 84, "column": 4 }, "end": { "line": 84, "column": null } }, - "37": { "start": { "line": 85, "column": 4 }, "end": { "line": 85, "column": null } }, - "38": { "start": { "line": 87, "column": 4 }, "end": { "line": 92, "column": null } }, - "39": { "start": { "line": 88, "column": 6 }, "end": { "line": 88, "column": null } }, - "40": { "start": { "line": 89, "column": 6 }, "end": { "line": 91, "column": null } }, - "41": { "start": { "line": 90, "column": 8 }, "end": { "line": 90, "column": null } }, - "42": { "start": { "line": 95, "column": 28 }, "end": { "line": 107, "column": null } }, - "43": { "start": { "line": 96, "column": 4 }, "end": { "line": 106, "column": null } }, - "44": { "start": { "line": 97, "column": 6 }, "end": { "line": 97, "column": null } }, - "45": { "start": { "line": 98, "column": 6 }, "end": { "line": 98, "column": null } }, - "46": { "start": { "line": 99, "column": 4 }, "end": { "line": 106, "column": null } }, - "47": { "start": { "line": 100, "column": 6 }, "end": { "line": 100, "column": null } }, - "48": { "start": { "line": 101, "column": 6 }, "end": { "line": 101, "column": null } }, - "49": { "start": { "line": 102, "column": 6 }, "end": { "line": 102, "column": null } }, - "50": { "start": { "line": 103, "column": 6 }, "end": { "line": 105, "column": null } }, - "51": { "start": { "line": 104, "column": 8 }, "end": { "line": 104, "column": null } }, - "52": { "start": { "line": 109, "column": 2 }, "end": { "line": 222, "column": null } }, - "53": { "start": { "line": 111, "column": 28 }, "end": { "line": 111, "column": null } }, - "54": { "start": { "line": 113, "column": 4 }, "end": { "line": 200, "column": null } }, - "55": { "start": { "line": 114, "column": 12 }, "end": { "line": 114, "column": null } }, - "56": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": null } }, - "57": { "start": { "line": 116, "column": 26 }, "end": { "line": 116, "column": null } }, - "58": { "start": { "line": 117, "column": 30 }, "end": { "line": 117, "column": null } }, - "59": { "start": { "line": 119, "column": 6 }, "end": { "line": 177, "column": null } }, - "60": { "start": { "line": 149, "column": 16 }, "end": { "line": 151, "column": null } }, - "61": { "start": { "line": 181, "column": 6 }, "end": { "line": 198, "column": null } }, - "62": { "start": { "line": 205, "column": 6 }, "end": { "line": 207, "column": null } }, - "63": { "start": { "line": 209, "column": 4 }, "end": { "line": 220, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 17, "column": 24 }, "end": { "line": 17, "column": 25 } }, - "loc": { "start": { "line": 17, "column": 80 }, "end": { "line": 223, "column": null } }, - "line": 17 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 28, "column": 12 }, "end": { "line": 28, "column": 18 } }, - "loc": { "start": { "line": 28, "column": 18 }, "end": { "line": 41, "column": 5 } }, - "line": 28 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 5 } }, - "loc": { "start": { "line": 45, "column": 28 }, "end": { "line": 56, "column": null } }, - "line": 45 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 50, "column": 39 }, "end": { "line": 50, "column": 45 } }, - "loc": { "start": { "line": 50, "column": 45 }, "end": { "line": 55, "column": 9 } }, - "line": 50 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 61, "column": 12 }, "end": { "line": 61, "column": 18 } }, - "loc": { "start": { "line": 61, "column": 18 }, "end": { "line": 67, "column": 5 } }, - "line": 61 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 62, "column": 11 }, "end": { "line": 62, "column": 17 } }, - "loc": { "start": { "line": 62, "column": 17 }, "end": { "line": 66, "column": null } }, - "line": 62 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 69, "column": 26 }, "end": { "line": 69, "column": 32 } }, - "loc": { "start": { "line": 69, "column": 32 }, "end": { "line": 75, "column": null } }, - "line": 69 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 77, "column": 27 }, "end": { "line": 77, "column": 28 } }, - "loc": { "start": { "line": 77, "column": 74 }, "end": { "line": 81, "column": null } }, - "line": 77 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 83, "column": 25 }, "end": { "line": 83, "column": 31 } }, - "loc": { "start": { "line": 83, "column": 31 }, "end": { "line": 93, "column": null } }, - "line": 83 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 95, "column": 28 }, "end": { "line": 95, "column": 29 } }, - "loc": { "start": { "line": 95, "column": 77 }, "end": { "line": 107, "column": null } }, - "line": 95 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 148, "column": 22 }, "end": { "line": 148, "column": 23 } }, - "loc": { "start": { "line": 149, "column": 16 }, "end": { "line": 151, "column": null } }, - "line": 149 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 29, "column": 4 }, "end": { "line": 40, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 29 - }, - "1": { - "loc": { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": 42 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 29, "column": 8 }, "end": { "line": 29, "column": 21 } }, - { "start": { "line": 29, "column": 21 }, "end": { "line": 29, "column": 42 } } - ], - "line": 29 - }, - "2": { - "loc": { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 37, "column": 6 }, "end": { "line": 39, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 37 - }, - "3": { - "loc": { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 46, "column": 6 }, "end": { "line": 48, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 46 - }, - "4": { - "loc": { "start": { "line": 52, "column": 8 }, "end": { "line": 54, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 52, "column": 8 }, "end": { "line": 54, "column": null } } - ], - "line": 52 - }, - "5": { - "loc": { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 63, "column": 6 }, "end": { "line": 65, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 63 - }, - "6": { - "loc": { "start": { "line": 70, "column": 4 }, "end": { "line": 74, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 70, "column": 4 }, "end": { "line": 74, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 70 - }, - "7": { - "loc": { "start": { "line": 87, "column": 4 }, "end": { "line": 92, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 87, "column": 4 }, "end": { "line": 92, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 87 - }, - "8": { - "loc": { "start": { "line": 89, "column": 6 }, "end": { "line": 91, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 89, "column": 6 }, "end": { "line": 91, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 89 - }, - "9": { - "loc": { "start": { "line": 96, "column": 4 }, "end": { "line": 106, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 96, "column": 4 }, "end": { "line": 106, "column": null } }, - { "start": { "line": 99, "column": 4 }, "end": { "line": 106, "column": null } } - ], - "line": 96 - }, - "10": { - "loc": { "start": { "line": 96, "column": 8 }, "end": { "line": 96, "column": 42 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 96, "column": 8 }, "end": { "line": 96, "column": 29 } }, - { "start": { "line": 96, "column": 29 }, "end": { "line": 96, "column": 42 } } - ], - "line": 96 - }, - "11": { - "loc": { "start": { "line": 99, "column": 4 }, "end": { "line": 106, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 99, "column": 4 }, "end": { "line": 106, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 99 - }, - "12": { - "loc": { "start": { "line": 103, "column": 6 }, "end": { "line": 105, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 103, "column": 6 }, "end": { "line": 105, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 103 - }, - "13": { - "loc": { "start": { "line": 109, "column": 2 }, "end": { "line": 222, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 109, "column": 2 }, "end": { "line": 222, "column": null } }, - { "start": { "line": 201, "column": 9 }, "end": { "line": 222, "column": null } } - ], - "line": 109 - }, - "14": { - "loc": { "start": { "line": 111, "column": 28 }, "end": { "line": 111, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 111, "column": 28 }, "end": { "line": 111, "column": 54 } }, - { "start": { "line": 111, "column": 54 }, "end": { "line": 111, "column": 69 } }, - { "start": { "line": 111, "column": 69 }, "end": { "line": 111, "column": null } } - ], - "line": 111 - }, - "15": { - "loc": { "start": { "line": 113, "column": 4 }, "end": { "line": 200, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 113, "column": 4 }, "end": { "line": 200, "column": null } }, - { "start": { "line": 179, "column": 11 }, "end": { "line": 200, "column": null } } - ], - "line": 113 - }, - "16": { - "loc": { "start": { "line": 115, "column": 26 }, "end": { "line": 115, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 115, "column": 36 }, "end": { "line": 115, "column": 52 } }, - { "start": { "line": 115, "column": 52 }, "end": { "line": 115, "column": null } } - ], - "line": 115 - }, - "17": { - "loc": { "start": { "line": 116, "column": 26 }, "end": { "line": 116, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 116, "column": 36 }, "end": { "line": 116, "column": 48 } }, - { "start": { "line": 116, "column": 48 }, "end": { "line": 116, "column": null } } - ], - "line": 116 - }, - "18": { - "loc": { "start": { "line": 117, "column": 30 }, "end": { "line": 117, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 117, "column": 40 }, "end": { "line": 117, "column": 52 } }, - { "start": { "line": 117, "column": 52 }, "end": { "line": 117, "column": null } } - ], - "line": 117 - }, - "19": { - "loc": { "start": { "line": 172, "column": 28 }, "end": { "line": 172, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 172, "column": 38 }, "end": { "line": 172, "column": 47 } }, - { "start": { "line": 172, "column": 47 }, "end": { "line": 172, "column": null } } - ], - "line": 172 - }, - "20": { - "loc": { "start": { "line": 205, "column": 6 }, "end": { "line": 207, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 206, "column": 10 }, "end": { "line": 206, "column": null } }, - { "start": { "line": 207, "column": 10 }, "end": { "line": 207, "column": null } } - ], - "line": 205 - }, - "21": { - "loc": { "start": { "line": 217, "column": 15 }, "end": { "line": 217, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 217, "column": 44 }, "end": { "line": 217, "column": 59 } }, - { "start": { "line": 217, "column": 59 }, "end": { "line": 217, "column": null } } - ], - "line": 217 - } - }, - "s": { - "0": 1, - "1": 62, - "2": 62, - "3": 62, - "4": 62, - "5": 62, - "6": 62, - "7": 62, - "8": 62, - "9": 28, - "10": 28, - "11": 28, - "12": 28, - "13": 28, - "14": 28, - "15": 4, - "16": 62, - "17": 9, - "18": 2, - "19": 9, - "20": 2, - "21": 2, - "22": 62, - "23": 26, - "24": 26, - "25": 7, - "26": 62, - "27": 20, - "28": 19, - "29": 19, - "30": 19, - "31": 62, - "32": 9, - "33": 9, - "34": 9, - "35": 62, - "36": 5, - "37": 5, - "38": 5, - "39": 3, - "40": 3, - "41": 2, - "42": 62, - "43": 6, - "44": 1, - "45": 1, - "46": 5, - "47": 3, - "48": 3, - "49": 3, - "50": 3, - "51": 1, - "52": 62, - "53": 28, - "54": 28, - "55": 4, - "56": 4, - "57": 4, - "58": 4, - "59": 4, - "60": 4, - "61": 24, - "62": 34, - "63": 34 - }, - "f": { - "0": 62, - "1": 62, - "2": 9, - "3": 2, - "4": 26, - "5": 26, - "6": 20, - "7": 9, - "8": 5, - "9": 6, - "10": 4 - }, - "b": { - "0": [28, 34], - "1": [62, 28], - "2": [4, 24], - "3": [2, 7], - "4": [2], - "5": [7, 19], - "6": [19, 1], - "7": [3, 2], - "8": [2, 1], - "9": [1, 5], - "10": [6, 2], - "11": [3, 2], - "12": [1, 2], - "13": [28, 34], - "14": [28, 4, 4], - "15": [4, 24], - "16": [1, 3], - "17": [1, 3], - "18": [1, 3], - "19": [1, 3], - "20": [4, 30], - "21": [4, 30] - }, - "meta": { - "lastBranch": 22, - "lastFunction": 11, - "lastStatement": 64, - "seen": { - "s:17:24:223:Infinity": 0, - "f:17:24:17:25": 0, - "s:18:18:18:Infinity": 1, - "s:19:33:19:Infinity": 2, - "s:22:32:22:Infinity": 3, - "s:23:32:23:Infinity": 4, - "s:24:8:24:Infinity": 5, - "s:25:8:25:Infinity": 6, - "s:28:2:41:Infinity": 7, - "f:28:12:28:18": 1, - "b:29:4:40:Infinity:undefined:undefined:undefined:undefined": 0, - "s:29:4:40:Infinity": 8, - "b:29:8:29:21:29:21:29:42": 1, - "s:30:23:30:Infinity": 9, - "s:31:6:31:Infinity": 10, - "s:32:24:32:Infinity": 11, - "s:33:6:33:Infinity": 12, - "s:36:24:36:Infinity": 13, - "b:37:6:39:Infinity:undefined:undefined:undefined:undefined": 2, - "s:37:6:39:Infinity": 14, - "s:38:9:38:Infinity": 15, - "s:44:8:58:Infinity": 16, - "f:45:4:45:5": 2, - "b:46:6:48:Infinity:undefined:undefined:undefined:undefined": 3, - "s:46:6:48:Infinity": 17, - "s:47:8:47:Infinity": 18, - "s:50:6:55:Infinity": 19, - "f:50:39:50:45": 3, - "b:52:8:54:Infinity": 4, - "s:52:8:54:Infinity": 20, - "s:53:10:53:Infinity": 21, - "s:61:2:67:Infinity": 22, - "f:61:12:61:18": 4, - "s:62:4:66:Infinity": 23, - "f:62:11:62:17": 5, - "b:63:6:65:Infinity:undefined:undefined:undefined:undefined": 5, - "s:63:6:65:Infinity": 24, - "s:64:8:64:Infinity": 25, - "s:69:26:75:Infinity": 26, - "f:69:26:69:32": 6, - "b:70:4:74:Infinity:undefined:undefined:undefined:undefined": 6, - "s:70:4:74:Infinity": 27, - "s:71:6:71:Infinity": 28, - "s:72:6:72:Infinity": 29, - "s:73:6:73:Infinity": 30, - "s:77:27:81:Infinity": 31, - "f:77:27:77:28": 7, - "s:78:21:78:Infinity": 32, - "s:79:4:79:Infinity": 33, - "s:80:4:80:Infinity": 34, - "s:83:25:93:Infinity": 35, - "f:83:25:83:31": 8, - "s:84:4:84:Infinity": 36, - "s:85:4:85:Infinity": 37, - "b:87:4:92:Infinity:undefined:undefined:undefined:undefined": 7, - "s:87:4:92:Infinity": 38, - "s:88:6:88:Infinity": 39, - "b:89:6:91:Infinity:undefined:undefined:undefined:undefined": 8, - "s:89:6:91:Infinity": 40, - "s:90:8:90:Infinity": 41, - "s:95:28:107:Infinity": 42, - "f:95:28:95:29": 9, - "b:96:4:106:Infinity:99:4:106:Infinity": 9, - "s:96:4:106:Infinity": 43, - "b:96:8:96:29:96:29:96:42": 10, - "s:97:6:97:Infinity": 44, - "s:98:6:98:Infinity": 45, - "b:99:4:106:Infinity:undefined:undefined:undefined:undefined": 11, - "s:99:4:106:Infinity": 46, - "s:100:6:100:Infinity": 47, - "s:101:6:101:Infinity": 48, - "s:102:6:102:Infinity": 49, - "b:103:6:105:Infinity:undefined:undefined:undefined:undefined": 12, - "s:103:6:105:Infinity": 50, - "s:104:8:104:Infinity": 51, - "b:109:2:222:Infinity:201:9:222:Infinity": 13, - "s:109:2:222:Infinity": 52, - "s:111:28:111:Infinity": 53, - "b:111:28:111:54:111:54:111:69:111:69:111:Infinity": 14, - "b:113:4:200:Infinity:179:11:200:Infinity": 15, - "s:113:4:200:Infinity": 54, - "s:114:12:114:Infinity": 55, - "s:115:26:115:Infinity": 56, - "b:115:36:115:52:115:52:115:Infinity": 16, - "s:116:26:116:Infinity": 57, - "b:116:36:116:48:116:48:116:Infinity": 17, - "s:117:30:117:Infinity": 58, - "b:117:40:117:52:117:52:117:Infinity": 18, - "s:119:6:177:Infinity": 59, - "f:148:22:148:23": 10, - "s:149:16:151:Infinity": 60, - "b:172:38:172:47:172:47:172:Infinity": 19, - "s:181:6:198:Infinity": 61, - "s:205:6:207:Infinity": 62, - "b:206:10:206:Infinity:207:10:207:Infinity": 20, - "s:209:4:220:Infinity": 63, - "b:217:44:217:59:217:59:217:Infinity": 21 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\hooks\\usePatternDetection.ts", - "statementMap": { - "0": { "start": { "line": 8, "column": 36 }, "end": { "line": 8, "column": null } }, - "1": { "start": { "line": 9, "column": 30 }, "end": { "line": 9, "column": null } }, - "2": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": null } }, - "3": { "start": { "line": 12, "column": 2 }, "end": { "line": 50, "column": null } }, - "4": { "start": { "line": 13, "column": 22 }, "end": { "line": 13, "column": null } }, - "5": { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, - "6": { "start": { "line": 16, "column": 6 }, "end": { "line": 16, "column": null } }, - "7": { "start": { "line": 17, "column": 6 }, "end": { "line": 17, "column": null } }, - "8": { "start": { "line": 18, "column": 6 }, "end": { "line": 18, "column": null } }, - "9": { "start": { "line": 21, "column": 27 }, "end": { "line": 41, "column": null } }, - "10": { "start": { "line": 22, "column": 6 }, "end": { "line": 22, "column": null } }, - "11": { "start": { "line": 23, "column": 6 }, "end": { "line": 40, "column": null } }, - "12": { "start": { "line": 24, "column": 24 }, "end": { "line": 24, "column": null } }, - "13": { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, - "14": { "start": { "line": 27, "column": 10 }, "end": { "line": 27, "column": null } }, - "15": { "start": { "line": 28, "column": 10 }, "end": { "line": 28, "column": null } }, - "16": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": null } }, - "17": { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, - "18": { "start": { "line": 33, "column": 10 }, "end": { "line": 33, "column": null } }, - "19": { "start": { "line": 34, "column": 10 }, "end": { "line": 34, "column": null } }, - "20": { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, - "21": { "start": { "line": 38, "column": 10 }, "end": { "line": 38, "column": null } }, - "22": { "start": { "line": 44, "column": 22 }, "end": { "line": 44, "column": null } }, - "23": { "start": { "line": 46, "column": 4 }, "end": { "line": 49, "column": null } }, - "24": { "start": { "line": 47, "column": 6 }, "end": { "line": 47, "column": null } }, - "25": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, - "26": { "start": { "line": 52, "column": 2 }, "end": { "line": 56, "column": null } } - }, - "fnMap": { - "0": { - "name": "usePatternDetection", - "decl": { "start": { "line": 7, "column": 16 }, "end": { "line": 7, "column": 36 } }, - "loc": { "start": { "line": 7, "column": 53 }, "end": { "line": 57, "column": null } }, - "line": 7 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 12, "column": 12 }, "end": { "line": 12, "column": 18 } }, - "loc": { "start": { "line": 12, "column": 18 }, "end": { "line": 50, "column": 5 } }, - "line": 12 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 21, "column": 27 }, "end": { "line": 21, "column": 39 } }, - "loc": { "start": { "line": 21, "column": 39 }, "end": { "line": 41, "column": null } }, - "line": 21 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 46, "column": 11 }, "end": { "line": 46, "column": 17 } }, - "loc": { "start": { "line": 46, "column": 17 }, "end": { "line": 49, "column": null } }, - "line": 46 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 15, "column": 4 }, "end": { "line": 19, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 15 - }, - "1": { - "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 49 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 20 } }, - { "start": { "line": 15, "column": 20 }, "end": { "line": 15, "column": 49 } } - ], - "line": 15 - }, - "2": { - "loc": { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 26, "column": 8 }, "end": { "line": 29, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 26 - }, - "3": { - "loc": { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 32, "column": 8 }, "end": { "line": 35, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 32 - }, - "4": { - "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 37, "column": 8 }, "end": { "line": 39, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 37 - } - }, - "s": { - "0": 22, - "1": 22, - "2": 22, - "3": 22, - "4": 11, - "5": 11, - "6": 3, - "7": 3, - "8": 3, - "9": 8, - "10": 7, - "11": 7, - "12": 7, - "13": 4, - "14": 3, - "15": 3, - "16": 3, - "17": 3, - "18": 2, - "19": 2, - "20": 7, - "21": 5, - "22": 8, - "23": 8, - "24": 4, - "25": 4, - "26": 22 - }, - "f": { "0": 22, "1": 11, "2": 7, "3": 4 }, - "b": { "0": [3, 8], "1": [11, 9], "2": [3, 1], "3": [2, 1], "4": [5, 2] }, - "meta": { - "lastBranch": 5, - "lastFunction": 4, - "lastStatement": 27, - "seen": { - "f:7:16:7:36": 0, - "s:8:36:8:Infinity": 0, - "s:9:30:9:Infinity": 1, - "s:10:28:10:Infinity": 2, - "s:12:2:50:Infinity": 3, - "f:12:12:12:18": 1, - "s:13:22:13:Infinity": 4, - "b:15:4:19:Infinity:undefined:undefined:undefined:undefined": 0, - "s:15:4:19:Infinity": 5, - "b:15:8:15:20:15:20:15:49": 1, - "s:16:6:16:Infinity": 6, - "s:17:6:17:Infinity": 7, - "s:18:6:18:Infinity": 8, - "s:21:27:41:Infinity": 9, - "f:21:27:21:39": 2, - "s:22:6:22:Infinity": 10, - "s:23:6:40:Infinity": 11, - "s:24:24:24:Infinity": 12, - "b:26:8:29:Infinity:undefined:undefined:undefined:undefined": 2, - "s:26:8:29:Infinity": 13, - "s:27:10:27:Infinity": 14, - "s:28:10:28:Infinity": 15, - "s:31:8:31:Infinity": 16, - "b:32:8:35:Infinity:undefined:undefined:undefined:undefined": 3, - "s:32:8:35:Infinity": 17, - "s:33:10:33:Infinity": 18, - "s:34:10:34:Infinity": 19, - "b:37:8:39:Infinity:undefined:undefined:undefined:undefined": 4, - "s:37:8:39:Infinity": 20, - "s:38:10:38:Infinity": 21, - "s:44:22:44:Infinity": 22, - "s:46:4:49:Infinity": 23, - "f:46:11:46:17": 3, - "s:47:6:47:Infinity": 24, - "s:48:6:48:Infinity": 25, - "s:52:2:56:Infinity": 26 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\providers\\theme.tsx", - "statementMap": { - "0": { "start": { "line": 21, "column": 6 }, "end": { "line": 21, "column": null } }, - "1": { "start": { "line": 27, "column": 59 }, "end": { "line": 129, "column": null } }, - "2": { "start": { "line": 28, "column": 29 }, "end": { "line": 28, "column": null } }, - "3": { "start": { "line": 29, "column": 42 }, "end": { "line": 29, "column": null } }, - "4": { "start": { "line": 32, "column": 8 }, "end": { "line": 51, "column": null } }, - "5": { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, - "6": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": null } }, - "7": { "start": { "line": 38, "column": 6 }, "end": { "line": 38, "column": null } }, - "8": { "start": { "line": 41, "column": 4 }, "end": { "line": 41, "column": null } }, - "9": { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, - "10": { "start": { "line": 45, "column": 6 }, "end": { "line": 45, "column": null } }, - "11": { "start": { "line": 46, "column": 6 }, "end": { "line": 46, "column": null } }, - "12": { "start": { "line": 48, "column": 6 }, "end": { "line": 48, "column": null } }, - "13": { "start": { "line": 49, "column": 6 }, "end": { "line": 49, "column": null } }, - "14": { "start": { "line": 54, "column": 2 }, "end": { "line": 71, "column": null } }, - "15": { "start": { "line": 55, "column": 22 }, "end": { "line": 68, "column": null } }, - "16": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, - "17": { "start": { "line": 56, "column": 23 }, "end": { "line": 56, "column": null } }, - "18": { "start": { "line": 58, "column": 6 }, "end": { "line": 67, "column": null } }, - "19": { "start": { "line": 59, "column": 39 }, "end": { "line": 59, "column": null } }, - "20": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, - "21": { "start": { "line": 61, "column": 8 }, "end": { "line": 61, "column": null } }, - "22": { "start": { "line": 62, "column": 8 }, "end": { "line": 62, "column": null } }, - "23": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": null } }, - "24": { "start": { "line": 66, "column": 8 }, "end": { "line": 66, "column": null } }, - "25": { "start": { "line": 70, "column": 4 }, "end": { "line": 70, "column": null } }, - "26": { "start": { "line": 74, "column": 2 }, "end": { "line": 89, "column": null } }, - "27": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, - "28": { "start": { "line": 75, "column": 40 }, "end": { "line": 75, "column": null } }, - "29": { "start": { "line": 77, "column": 33 }, "end": { "line": 82, "column": null } }, - "30": { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, - "31": { "start": { "line": 79, "column": 8 }, "end": { "line": 79, "column": null } }, - "32": { "start": { "line": 80, "column": 8 }, "end": { "line": 80, "column": null } }, - "33": { "start": { "line": 85, "column": 20 }, "end": { "line": 85, "column": null } }, - "34": { "start": { "line": 88, "column": 4 }, "end": { "line": 88, "column": null } }, - "35": { "start": { "line": 92, "column": 2 }, "end": { "line": 100, "column": null } }, - "36": { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, - "37": { "start": { "line": 93, "column": 28 }, "end": { "line": 93, "column": null } }, - "38": { "start": { "line": 95, "column": 23 }, "end": { "line": 95, "column": null } }, - "39": { "start": { "line": 96, "column": 25 }, "end": { "line": 96, "column": null } }, - "40": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": null } }, - "41": { "start": { "line": 98, "column": 4 }, "end": { "line": 98, "column": null } }, - "42": { "start": { "line": 99, "column": 4 }, "end": { "line": 99, "column": null } }, - "43": { "start": { "line": 99, "column": 17 }, "end": { "line": 99, "column": null } }, - "44": { "start": { "line": 102, "column": 19 }, "end": { "line": 118, "column": null } }, - "45": { "start": { "line": 103, "column": 4 }, "end": { "line": 103, "column": null } }, - "46": { "start": { "line": 104, "column": 4 }, "end": { "line": 104, "column": null } }, - "47": { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, - "48": { "start": { "line": 108, "column": 6 }, "end": { "line": 116, "column": null } }, - "49": { "start": { "line": 109, "column": 46 }, "end": { "line": 109, "column": null } }, - "50": { "start": { "line": 110, "column": 8 }, "end": { "line": 113, "column": null } }, - "51": { "start": { "line": 115, "column": 8 }, "end": { "line": 115, "column": null } }, - "52": { "start": { "line": 120, "column": 41 }, "end": { "line": 126, "column": null } }, - "53": { "start": { "line": 128, "column": 2 }, "end": { "line": 128, "column": null } }, - "54": { "start": { "line": 131, "column": 24 }, "end": { "line": 137, "column": null } }, - "55": { "start": { "line": 132, "column": 8 }, "end": { "line": 132, "column": null } }, - "56": { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, - "57": { "start": { "line": 134, "column": 4 }, "end": { "line": 134, "column": null } }, - "58": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": null } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 27, "column": 59 }, "end": { "line": 27, "column": 60 } }, - "loc": { "start": { "line": 27, "column": 77 }, "end": { "line": 129, "column": null } }, - "line": 27 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 32, "column": 43 }, "end": { "line": 32, "column": 44 } }, - "loc": { "start": { "line": 32, "column": 71 }, "end": { "line": 51, "column": 5 } }, - "line": 32 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 54, "column": 12 }, "end": { "line": 54, "column": 18 } }, - "loc": { "start": { "line": 54, "column": 18 }, "end": { "line": 71, "column": 5 } }, - "line": 54 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 55, "column": 22 }, "end": { "line": 55, "column": 34 } }, - "loc": { "start": { "line": 55, "column": 34 }, "end": { "line": 68, "column": null } }, - "line": 55 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 74, "column": 12 }, "end": { "line": 74, "column": 18 } }, - "loc": { "start": { "line": 74, "column": 18 }, "end": { "line": 89, "column": 5 } }, - "line": 74 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 77, "column": 33 }, "end": { "line": 77, "column": 34 } }, - "loc": { "start": { "line": 77, "column": 68 }, "end": { "line": 82, "column": null } }, - "line": 77 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 92, "column": 12 }, "end": { "line": 92, "column": 18 } }, - "loc": { "start": { "line": 92, "column": 18 }, "end": { "line": 100, "column": 5 } }, - "line": 92 - }, - "7": { - "name": "(anonymous_7)", - "decl": { "start": { "line": 96, "column": 25 }, "end": { "line": 96, "column": 31 } }, - "loc": { "start": { "line": 96, "column": 31 }, "end": { "line": 96, "column": null } }, - "line": 96 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 99, "column": 11 }, "end": { "line": 99, "column": 17 } }, - "loc": { "start": { "line": 99, "column": 17 }, "end": { "line": 99, "column": null } }, - "line": 99 - }, - "9": { - "name": "(anonymous_9)", - "decl": { "start": { "line": 102, "column": 19 }, "end": { "line": 102, "column": 26 } }, - "loc": { "start": { "line": 102, "column": 46 }, "end": { "line": 118, "column": null } }, - "line": 102 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 131, "column": 24 }, "end": { "line": 131, "column": 48 } }, - "loc": { "start": { "line": 131, "column": 48 }, "end": { "line": 137, "column": null } }, - "line": 131 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 35, "column": 4 }, "end": { "line": 39, "column": null } }, - { "start": { "line": 37, "column": 11 }, "end": { "line": 39, "column": null } } - ], - "line": 35 - }, - "1": { - "loc": { "start": { "line": 36, "column": 22 }, "end": { "line": 36, "column": null } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 36, "column": 82 }, "end": { "line": 36, "column": 91 } }, - { "start": { "line": 36, "column": 91 }, "end": { "line": 36, "column": null } } - ], - "line": 36 - }, - "2": { - "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 44, "column": 4 }, "end": { "line": 50, "column": null } }, - { "start": { "line": 47, "column": 11 }, "end": { "line": 50, "column": null } } - ], - "line": 44 - }, - "3": { - "loc": { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 56, "column": 6 }, "end": { "line": 56, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 56 - }, - "4": { - "loc": { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 60, "column": 26 }, "end": { "line": 60, "column": 45 } }, - { "start": { "line": 60, "column": 45 }, "end": { "line": 60, "column": null } } - ], - "line": 60 - }, - "5": { - "loc": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 75 - }, - "6": { - "loc": { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 78, "column": 6 }, "end": { "line": 81, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 78 - }, - "7": { - "loc": { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 93, "column": 4 }, "end": { "line": 93, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 93 - }, - "8": { - "loc": { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 107, "column": 4 }, "end": { "line": 117, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 107 - }, - "9": { - "loc": { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 133, "column": 2 }, "end": { "line": 135, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 133 - } - }, - "s": { - "0": 1, - "1": 1, - "2": 32, - "3": 32, - "4": 32, - "5": 20, - "6": 14, - "7": 6, - "8": 20, - "9": 20, - "10": 16, - "11": 16, - "12": 4, - "13": 4, - "14": 32, - "15": 15, - "16": 15, - "17": 1, - "18": 14, - "19": 14, - "20": 13, - "21": 15, - "22": 15, - "23": 1, - "24": 1, - "25": 15, - "26": 32, - "27": 15, - "28": 2, - "29": 13, - "30": 2, - "31": 1, - "32": 1, - "33": 13, - "34": 13, - "35": 32, - "36": 24, - "37": 6, - "38": 18, - "39": 18, - "40": 1, - "41": 18, - "42": 18, - "43": 18, - "44": 32, - "45": 4, - "46": 4, - "47": 4, - "48": 3, - "49": 3, - "50": 3, - "51": 1, - "52": 32, - "53": 32, - "54": 1, - "55": 35, - "56": 35, - "57": 2, - "58": 32 - }, - "f": { - "0": 32, - "1": 20, - "2": 15, - "3": 15, - "4": 15, - "5": 2, - "6": 24, - "7": 1, - "8": 18, - "9": 4, - "10": 35 - }, - "b": { - "0": [14, 6], - "1": [2, 12], - "2": [16, 4], - "3": [1, 14], - "4": [13, 1], - "5": [2, 13], - "6": [1, 1], - "7": [6, 18], - "8": [3, 1], - "9": [2, 33] - }, - "meta": { - "lastBranch": 10, - "lastFunction": 11, - "lastStatement": 59, - "seen": { - "s:21:6:21:Infinity": 0, - "s:27:59:129:Infinity": 1, - "f:27:59:27:60": 0, - "s:28:29:28:Infinity": 2, - "s:29:42:29:Infinity": 3, - "s:32:8:51:Infinity": 4, - "f:32:43:32:44": 1, - "b:35:4:39:Infinity:37:11:39:Infinity": 0, - "s:35:4:39:Infinity": 5, - "s:36:6:36:Infinity": 6, - "b:36:82:36:91:36:91:36:Infinity": 1, - "s:38:6:38:Infinity": 7, - "s:41:4:41:Infinity": 8, - "b:44:4:50:Infinity:47:11:50:Infinity": 2, - "s:44:4:50:Infinity": 9, - "s:45:6:45:Infinity": 10, - "s:46:6:46:Infinity": 11, - "s:48:6:48:Infinity": 12, - "s:49:6:49:Infinity": 13, - "s:54:2:71:Infinity": 14, - "f:54:12:54:18": 2, - "s:55:22:68:Infinity": 15, - "f:55:22:55:34": 3, - "b:56:6:56:Infinity:undefined:undefined:undefined:undefined": 3, - "s:56:6:56:Infinity": 16, - "s:56:23:56:Infinity": 17, - "s:58:6:67:Infinity": 18, - "s:59:39:59:Infinity": 19, - "s:60:26:60:Infinity": 20, - "b:60:26:60:45:60:45:60:Infinity": 4, - "s:61:8:61:Infinity": 21, - "s:62:8:62:Infinity": 22, - "s:64:8:64:Infinity": 23, - "s:66:8:66:Infinity": 24, - "s:70:4:70:Infinity": 25, - "s:74:2:89:Infinity": 26, - "f:74:12:74:18": 4, - "b:75:4:75:Infinity:undefined:undefined:undefined:undefined": 5, - "s:75:4:75:Infinity": 27, - "s:75:40:75:Infinity": 28, - "s:77:33:82:Infinity": 29, - "f:77:33:77:34": 5, - "b:78:6:81:Infinity:undefined:undefined:undefined:undefined": 6, - "s:78:6:81:Infinity": 30, - "s:79:8:79:Infinity": 31, - "s:80:8:80:Infinity": 32, - "s:85:20:85:Infinity": 33, - "s:88:4:88:Infinity": 34, - "s:92:2:100:Infinity": 35, - "f:92:12:92:18": 6, - "b:93:4:93:Infinity:undefined:undefined:undefined:undefined": 7, - "s:93:4:93:Infinity": 36, - "s:93:28:93:Infinity": 37, - "s:95:23:95:Infinity": 38, - "s:96:25:96:Infinity": 39, - "f:96:25:96:31": 7, - "s:96:31:96:Infinity": 40, - "s:98:4:98:Infinity": 41, - "s:99:4:99:Infinity": 42, - "f:99:11:99:17": 8, - "s:99:17:99:Infinity": 43, - "s:102:19:118:Infinity": 44, - "f:102:19:102:26": 9, - "s:103:4:103:Infinity": 45, - "s:104:4:104:Infinity": 46, - "b:107:4:117:Infinity:undefined:undefined:undefined:undefined": 8, - "s:107:4:117:Infinity": 47, - "s:108:6:116:Infinity": 48, - "s:109:46:109:Infinity": 49, - "s:110:8:113:Infinity": 50, - "s:115:8:115:Infinity": 51, - "s:120:41:126:Infinity": 52, - "s:128:2:128:Infinity": 53, - "s:131:24:137:Infinity": 54, - "f:131:24:131:48": 10, - "s:132:8:132:Infinity": 55, - "b:133:2:135:Infinity:undefined:undefined:undefined:undefined": 9, - "s:133:2:135:Infinity": 56, - "s:134:4:134:Infinity": 57, - "s:136:2:136:Infinity": 58 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\renderer\\src\\utils\\languageDetection.ts", - "statementMap": { - "0": { "start": { "line": 37, "column": 45 }, "end": { "line": 361, "column": null } }, - "1": { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, - "2": { "start": { "line": 371, "column": 4 }, "end": { "line": 371, "column": null } }, - "3": { "start": { "line": 374, "column": 41 }, "end": { "line": 374, "column": null } }, - "4": { "start": { "line": 377, "column": 2 }, "end": { "line": 379, "column": null } }, - "5": { "start": { "line": 378, "column": 4 }, "end": { "line": 378, "column": null } }, - "6": { "start": { "line": 381, "column": 20 }, "end": { "line": 381, "column": null } }, - "7": { "start": { "line": 383, "column": 2 }, "end": { "line": 414, "column": null } }, - "8": { "start": { "line": 384, "column": 16 }, "end": { "line": 384, "column": null } }, - "9": { "start": { "line": 387, "column": 4 }, "end": { "line": 393, "column": null } }, - "10": { "start": { "line": 388, "column": 20 }, "end": { "line": 388, "column": null } }, - "11": { "start": { "line": 389, "column": 22 }, "end": { "line": 389, "column": null } }, - "12": { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, - "13": { "start": { "line": 391, "column": 8 }, "end": { "line": 391, "column": null } }, - "14": { "start": { "line": 396, "column": 4 }, "end": { "line": 401, "column": null } }, - "15": { "start": { "line": 397, "column": 22 }, "end": { "line": 397, "column": null } }, - "16": { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, - "17": { "start": { "line": 399, "column": 8 }, "end": { "line": 399, "column": null } }, - "18": { "start": { "line": 404, "column": 4 }, "end": { "line": 408, "column": null } }, - "19": { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, - "20": { "start": { "line": 406, "column": 8 }, "end": { "line": 406, "column": null } }, - "21": { "start": { "line": 411, "column": 4 }, "end": { "line": 411, "column": null } }, - "22": { "start": { "line": 413, "column": 4 }, "end": { "line": 413, "column": null } }, - "23": { "start": { "line": 417, "column": 17 }, "end": { "line": 417, "column": null } }, - "24": { "start": { "line": 418, "column": 40 }, "end": { "line": 418, "column": null } }, - "25": { "start": { "line": 420, "column": 2 }, "end": { "line": 426, "column": null } }, - "26": { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, - "27": { "start": { "line": 423, "column": 6 }, "end": { "line": 423, "column": null } }, - "28": { "start": { "line": 424, "column": 6 }, "end": { "line": 424, "column": null } }, - "29": { "start": { "line": 428, "column": 2 }, "end": { "line": 428, "column": null } }, - "30": { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, - "31": { "start": { "line": 439, "column": 4 }, "end": { "line": 439, "column": null } }, - "32": { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, - "33": { "start": { "line": 444, "column": 4 }, "end": { "line": 444, "column": null } }, - "34": { "start": { "line": 448, "column": 25 }, "end": { "line": 474, "column": null } }, - "35": { "start": { "line": 476, "column": 23 }, "end": { "line": 476, "column": null } }, - "36": { "start": { "line": 477, "column": 21 }, "end": { "line": 477, "column": null } }, - "37": { "start": { "line": 479, "column": 2 }, "end": { "line": 485, "column": null } }, - "38": { "start": { "line": 480, "column": 20 }, "end": { "line": 480, "column": null } }, - "39": { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, - "40": { "start": { "line": 482, "column": 6 }, "end": { "line": 482, "column": null } }, - "41": { "start": { "line": 483, "column": 6 }, "end": { "line": 483, "column": null } }, - "42": { "start": { "line": 488, "column": 21 }, "end": { "line": 488, "column": null } }, - "43": { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, - "44": { "start": { "line": 492, "column": 4 }, "end": { "line": 492, "column": null } }, - "45": { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, - "46": { "start": { "line": 495, "column": 4 }, "end": { "line": 495, "column": null } }, - "47": { "start": { "line": 498, "column": 4 }, "end": { "line": 498, "column": null } }, - "48": { "start": { "line": 507, "column": 27 }, "end": { "line": 518, "column": null } }, - "49": { "start": { "line": 520, "column": 2 }, "end": { "line": 520, "column": null } }, - "50": { "start": { "line": 520, "column": 44 }, "end": { "line": 520, "column": 62 } }, - "51": { "start": { "line": 527, "column": 46 }, "end": { "line": 542, "column": null } }, - "52": { "start": { "line": 544, "column": 2 }, "end": { "line": 544, "column": null } } - }, - "fnMap": { - "0": { - "name": "detectLanguage", - "decl": { "start": { "line": 368, "column": 16 }, "end": { "line": 368, "column": 31 } }, - "loc": { "start": { "line": 368, "column": 60 }, "end": { "line": 429, "column": null } }, - "line": 368 - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 377, "column": 28 }, "end": { "line": 377, "column": 29 } }, - "loc": { "start": { "line": 377, "column": 38 }, "end": { "line": 379, "column": 3 } }, - "line": 377 - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 383, "column": 28 }, "end": { "line": 383, "column": 29 } }, - "loc": { "start": { "line": 383, "column": 38 }, "end": { "line": 414, "column": 3 } }, - "line": 383 - }, - "3": { - "name": "(anonymous_3)", - "decl": { "start": { "line": 387, "column": 26 }, "end": { "line": 387, "column": 27 } }, - "loc": { "start": { "line": 387, "column": 39 }, "end": { "line": 393, "column": 5 } }, - "line": 387 - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 396, "column": 26 }, "end": { "line": 396, "column": 27 } }, - "loc": { "start": { "line": 396, "column": 39 }, "end": { "line": 401, "column": 5 } }, - "line": 396 - }, - "5": { - "name": "(anonymous_5)", - "decl": { "start": { "line": 404, "column": 28 }, "end": { "line": 404, "column": 29 } }, - "loc": { "start": { "line": 404, "column": 37 }, "end": { "line": 408, "column": 5 } }, - "line": 404 - }, - "6": { - "name": "(anonymous_6)", - "decl": { "start": { "line": 420, "column": 33 }, "end": { "line": 420, "column": 34 } }, - "loc": { "start": { "line": 420, "column": 52 }, "end": { "line": 426, "column": 3 } }, - "line": 420 - }, - "7": { - "name": "isCode", - "decl": { "start": { "line": 436, "column": 16 }, "end": { "line": 436, "column": 23 } }, - "loc": { "start": { "line": 436, "column": 46 }, "end": { "line": 500, "column": null } }, - "line": 436 - }, - "8": { - "name": "(anonymous_8)", - "decl": { "start": { "line": 479, "column": 25 }, "end": { "line": 479, "column": 26 } }, - "loc": { "start": { "line": 479, "column": 38 }, "end": { "line": 485, "column": 3 } }, - "line": 479 - }, - "9": { - "name": "hasStrongCodeIndicators", - "decl": { "start": { "line": 506, "column": 9 }, "end": { "line": 506, "column": 33 } }, - "loc": { "start": { "line": 506, "column": 56 }, "end": { "line": 521, "column": null } }, - "line": 506 - }, - "10": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 520, "column": 31 }, "end": { "line": 520, "column": 32 } }, - "loc": { "start": { "line": 520, "column": 44 }, "end": { "line": 520, "column": 62 } }, - "line": 520 - }, - "11": { - "name": "mapToSyntaxHighlighterLanguage", - "decl": { "start": { "line": 526, "column": 16 }, "end": { "line": 526, "column": 47 } }, - "loc": { "start": { "line": 526, "column": 81 }, "end": { "line": 545, "column": null } }, - "line": 526 - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 369, "column": 2 }, "end": { "line": 372, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 369 - }, - "1": { - "loc": { "start": { "line": 369, "column": 6 }, "end": { "line": 369, "column": 39 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 369, "column": 6 }, "end": { "line": 369, "column": 15 } }, - { "start": { "line": 369, "column": 15 }, "end": { "line": 369, "column": 39 } } - ], - "line": 369 - }, - "2": { - "loc": { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 390, "column": 6 }, "end": { "line": 392, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 390 - }, - "3": { - "loc": { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 398, "column": 6 }, "end": { "line": 400, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 398 - }, - "4": { - "loc": { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 405, "column": 6 }, "end": { "line": 407, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 405 - }, - "5": { - "loc": { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 421, "column": 4 }, "end": { "line": 425, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 421 - }, - "6": { - "loc": { "start": { "line": 421, "column": 8 }, "end": { "line": 421, "column": 39 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 421, "column": 8 }, "end": { "line": 421, "column": 28 } }, - { "start": { "line": 421, "column": 28 }, "end": { "line": 421, "column": 39 } } - ], - "line": 421 - }, - "7": { - "loc": { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 437, "column": 2 }, "end": { "line": 440, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 437 - }, - "8": { - "loc": { "start": { "line": 437, "column": 6 }, "end": { "line": 437, "column": 39 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 437, "column": 6 }, "end": { "line": 437, "column": 15 } }, - { "start": { "line": 437, "column": 15 }, "end": { "line": 437, "column": 39 } } - ], - "line": 437 - }, - "9": { - "loc": { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 443, "column": 2 }, "end": { "line": 445, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 443 - }, - "10": { - "loc": { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 481, "column": 4 }, "end": { "line": 484, "column": null } }, - { "start": {}, "end": {} } - ], - "line": 481 - }, - "11": { - "loc": { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 490, "column": 2 }, "end": { "line": 499, "column": null } }, - { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } } - ], - "line": 490 - }, - "12": { - "loc": { "start": { "line": 492, "column": 11 }, "end": { "line": 492, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 492, "column": 11 }, "end": { "line": 492, "column": 34 } }, - { "start": { "line": 492, "column": 34 }, "end": { "line": 492, "column": null } } - ], - "line": 492 - }, - "13": { - "loc": { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, - "type": "if", - "locations": [ - { "start": { "line": 493, "column": 2 }, "end": { "line": 499, "column": null } }, - { "start": { "line": 496, "column": 9 }, "end": { "line": 499, "column": null } } - ], - "line": 493 - }, - "14": { - "loc": { "start": { "line": 495, "column": 11 }, "end": { "line": 495, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 495, "column": 11 }, "end": { "line": 495, "column": 34 } }, - { "start": { "line": 495, "column": 34 }, "end": { "line": 495, "column": null } } - ], - "line": 495 - }, - "15": { - "loc": { "start": { "line": 498, "column": 11 }, "end": { "line": 498, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 498, "column": 11 }, "end": { "line": 498, "column": 34 } }, - { "start": { "line": 498, "column": 34 }, "end": { "line": 498, "column": null } } - ], - "line": 498 - }, - "16": { - "loc": { "start": { "line": 544, "column": 9 }, "end": { "line": 544, "column": null } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 544, "column": 9 }, "end": { "line": 544, "column": 42 } }, - { "start": { "line": 544, "column": 42 }, "end": { "line": 544, "column": null } } - ], - "line": 544 - } - }, - "s": { - "0": 1, - "1": 15, - "2": 5, - "3": 10, - "4": 10, - "5": 140, - "6": 10, - "7": 10, - "8": 140, - "9": 140, - "10": 1320, - "11": 1320, - "12": 1320, - "13": 42, - "14": 140, - "15": 1010, - "16": 1010, - "17": 41, - "18": 140, - "19": 260, - "20": 1, - "21": 140, - "22": 140, - "23": 10, - "24": 10, - "25": 10, - "26": 140, - "27": 16, - "28": 16, - "29": 10, - "30": 16, - "31": 5, - "32": 11, - "33": 7, - "34": 4, - "35": 4, - "36": 4, - "37": 4, - "38": 100, - "39": 100, - "40": 6, - "41": 6, - "42": 4, - "43": 4, - "44": 1, - "45": 3, - "46": 2, - "47": 1, - "48": 11, - "49": 11, - "50": 70, - "51": 16, - "52": 16 - }, - "f": { - "0": 15, - "1": 140, - "2": 140, - "3": 1320, - "4": 1010, - "5": 260, - "6": 140, - "7": 16, - "8": 100, - "9": 11, - "10": 70, - "11": 16 - }, - "b": { - "0": [5, 10], - "1": [15, 12], - "2": [42, 1278], - "3": [41, 969], - "4": [1, 259], - "5": [16, 124], - "6": [140, 16], - "7": [5, 11], - "8": [16, 13], - "9": [7, 4], - "10": [6, 94], - "11": [1, 3], - "12": [1, 1], - "13": [2, 1], - "14": [2, 1], - "15": [1, 1], - "16": [16, 1] - }, - "meta": { - "lastBranch": 17, - "lastFunction": 12, - "lastStatement": 53, - "seen": { - "s:37:45:361:Infinity": 0, - "f:368:16:368:31": 0, - "b:369:2:372:Infinity:undefined:undefined:undefined:undefined": 0, - "s:369:2:372:Infinity": 1, - "b:369:6:369:15:369:15:369:39": 1, - "s:371:4:371:Infinity": 2, - "s:374:41:374:Infinity": 3, - "s:377:2:379:Infinity": 4, - "f:377:28:377:29": 1, - "s:378:4:378:Infinity": 5, - "s:381:20:381:Infinity": 6, - "s:383:2:414:Infinity": 7, - "f:383:28:383:29": 2, - "s:384:16:384:Infinity": 8, - "s:387:4:393:Infinity": 9, - "f:387:26:387:27": 3, - "s:388:20:388:Infinity": 10, - "s:389:22:389:Infinity": 11, - "b:390:6:392:Infinity:undefined:undefined:undefined:undefined": 2, - "s:390:6:392:Infinity": 12, - "s:391:8:391:Infinity": 13, - "s:396:4:401:Infinity": 14, - "f:396:26:396:27": 4, - "s:397:22:397:Infinity": 15, - "b:398:6:400:Infinity:undefined:undefined:undefined:undefined": 3, - "s:398:6:400:Infinity": 16, - "s:399:8:399:Infinity": 17, - "s:404:4:408:Infinity": 18, - "f:404:28:404:29": 5, - "b:405:6:407:Infinity:undefined:undefined:undefined:undefined": 4, - "s:405:6:407:Infinity": 19, - "s:406:8:406:Infinity": 20, - "s:411:4:411:Infinity": 21, - "s:413:4:413:Infinity": 22, - "s:417:17:417:Infinity": 23, - "s:418:40:418:Infinity": 24, - "s:420:2:426:Infinity": 25, - "f:420:33:420:34": 6, - "b:421:4:425:Infinity:undefined:undefined:undefined:undefined": 5, - "s:421:4:425:Infinity": 26, - "b:421:8:421:28:421:28:421:39": 6, - "s:423:6:423:Infinity": 27, - "s:424:6:424:Infinity": 28, - "s:428:2:428:Infinity": 29, - "f:436:16:436:23": 7, - "b:437:2:440:Infinity:undefined:undefined:undefined:undefined": 7, - "s:437:2:440:Infinity": 30, - "b:437:6:437:15:437:15:437:39": 8, - "s:439:4:439:Infinity": 31, - "b:443:2:445:Infinity:undefined:undefined:undefined:undefined": 9, - "s:443:2:445:Infinity": 32, - "s:444:4:444:Infinity": 33, - "s:448:25:474:Infinity": 34, - "s:476:23:476:Infinity": 35, - "s:477:21:477:Infinity": 36, - "s:479:2:485:Infinity": 37, - "f:479:25:479:26": 8, - "s:480:20:480:Infinity": 38, - "b:481:4:484:Infinity:undefined:undefined:undefined:undefined": 10, - "s:481:4:484:Infinity": 39, - "s:482:6:482:Infinity": 40, - "s:483:6:483:Infinity": 41, - "s:488:21:488:Infinity": 42, - "b:490:2:499:Infinity:493:2:499:Infinity": 11, - "s:490:2:499:Infinity": 43, - "s:492:4:492:Infinity": 44, - "b:492:11:492:34:492:34:492:Infinity": 12, - "b:493:2:499:Infinity:496:9:499:Infinity": 13, - "s:493:2:499:Infinity": 45, - "s:495:4:495:Infinity": 46, - "b:495:11:495:34:495:34:495:Infinity": 14, - "s:498:4:498:Infinity": 47, - "b:498:11:498:34:498:34:498:Infinity": 15, - "f:506:9:506:33": 9, - "s:507:27:518:Infinity": 48, - "s:520:2:520:Infinity": 49, - "f:520:31:520:32": 10, - "s:520:44:520:62": 50, - "f:526:16:526:47": 11, - "s:527:46:542:Infinity": 51, - "s:544:2:544:Infinity": 52, - "b:544:9:544:42:544:42:544:Infinity": 16 - } - } - }, - "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts": { - "path": "C:\\Users\\danes\\OneDrive\\Documents\\Code Projects\\clipless\\src\\shared\\constants.ts", - "statementMap": { - "0": { "start": { "line": 1, "column": 33 }, "end": { "line": 1, "column": 36 } } - }, - "fnMap": {}, - "branchMap": {}, - "s": { "0": 1 }, - "f": {}, - "b": {}, - "meta": { "lastBranch": 0, "lastFunction": 0, "lastStatement": 1, "seen": { "s:1:33:1:36": 0 } } - } -} diff --git a/coverage/favicon.png b/coverage/favicon.png deleted file mode 100644 index c1525b811a167671e9de1fa78aab9f5c0b61cef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
-
- 100% - Statements - 668/668 -
- -
- 100% - Branches - 321/321 -
- -
- 100% - Functions - 133/133 -
- -
- 100% - Lines - 640/640 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- main/clipboard - -
-
-
-
-
100%184/184100%60/60100%32/32100%171/171
- main/hotkeys - -
-
-
-
-
100%161/161100%70/70100%31/31100%159/159
- main/storage - -
-
-
-
-
100%81/81100%68/68100%27/27100%74/74
- renderer/src/components/clips/clip - -
-
-
-
-
100%102/102100%59/59100%16/16100%102/102
- renderer/src/hooks - -
-
-
-
-
100%27/27100%10/10100%4/4100%27/27
- renderer/src/providers - -
-
-
-
-
100%59/59100%20/20100%11/11100%54/54
- renderer/src/utils - -
-
-
-
-
100%53/53100%34/34100%12/12100%52/52
shared -
-
-
-
-
100%1/1100%0/0100%0/0100%1/1
-
-
- -
- - - - - - - - diff --git a/coverage/main/clipboard/data.ts.html b/coverage/main/clipboard/data.ts.html deleted file mode 100644 index 029bf3e..0000000 --- a/coverage/main/clipboard/data.ts.html +++ /dev/null @@ -1,378 +0,0 @@ - - - - Code coverage report for main/clipboard/data.ts - - - - - - - - - -
-
-

- All files / main/clipboard data.ts -

-
-
- 100% - Statements - 50/50 -
- -
- 100% - Branches - 20/20 -
- -
- 100% - Functions - 11/11 -
- -
- 100% - Lines - 47/47 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100  -  -  -1x -  -8x -8x -2x -  -  -6x -6x -1x -  -  -5x -5x -1x -  -  -4x -4x -1x -  -  -3x -3x -3x -1x -  -  -  -  -  -2x -  -  -  -1x -1x -1x -  -1x -2x -2x -1x -  -1x -  -  -1x -2x -2x -  -1x -  -  -  -  -1x -1x -  -  -1x -1x -  -  -1x -1x -  -  -1x -2x -  -2x -2x -  -1x -1x -  -  -  -1x -  -  -  -  -  -2x -  -2x -  -  -  -  -1x -1x -  -  - 
import { clipboard, nativeImage } from 'electron';
- 
-// Helper function to determine the current clipboard type and content
-export const getCurrentClipboardData = (): { type: string; content: string } | null => {
-  // Priority: text > rtf > html > image > bookmark
-  const text = clipboard.readText();
-  if (text && text.trim()) {
-    return { type: 'text', content: text };
-  }
- 
-  const rtf = clipboard.readRTF();
-  if (rtf && rtf.trim()) {
-    return { type: 'rtf', content: rtf };
-  }
- 
-  const html = clipboard.readHTML();
-  if (html && html.trim()) {
-    return { type: 'html', content: html };
-  }
- 
-  const image = clipboard.readImage();
-  if (!image.isEmpty()) {
-    return { type: 'image', content: image.toDataURL() };
-  }
- 
-  try {
-    const bookmark = clipboard.readBookmark();
-    if (bookmark && bookmark.url) {
-      return { type: 'bookmark', content: JSON.stringify(bookmark) };
-    }
-  } catch {
-    // Bookmark not available on all platforms
-  }
- 
-  return null;
-};
- 
-// Clipboard read operations
-export const getClipboardText = (): string => clipboard.readText();
-export const getClipboardHTML = (): string => clipboard.readHTML();
-export const getClipboardRTF = (): string => clipboard.readRTF();
- 
-export const getClipboardImage = (): string | null => {
-  const image = clipboard.readImage();
-  if (!image.isEmpty()) {
-    return image.toDataURL();
-  }
-  return null;
-};
- 
-export const getClipboardBookmark = (): { title: string; url: string } | null => {
-  try {
-    return clipboard.readBookmark();
-  } catch {
-    return null; // Not available on all platforms
-  }
-};
- 
-// Clipboard write operations
-export const setClipboardText = (text: string): void => {
-  clipboard.writeText(text);
-};
- 
-export const setClipboardHTML = (html: string): void => {
-  clipboard.writeHTML(html);
-};
- 
-export const setClipboardRTF = (rtf: string): void => {
-  clipboard.writeRTF(rtf);
-};
- 
-export const setClipboardImage = (imageData: string): void => {
-  try {
-    // Convert base64 data URL to NativeImage
-    const image = nativeImage.createFromDataURL(imageData);
-    clipboard.writeImage(image);
-  } catch (error) {
-    console.error('Failed to write image to clipboard:', error);
-    throw error;
-  }
-};
- 
-export const setClipboardBookmark = (bookmarkData: {
-  text: string;
-  html: string;
-  title?: string;
-  url?: string;
-}): void => {
-  try {
-    // Write both text and HTML formats for maximum compatibility
-    clipboard.write({
-      text: bookmarkData.text,
-      html: bookmarkData.html,
-    });
-  } catch (error) {
-    console.error('Failed to write bookmark to clipboard:', error);
-    throw error;
-  }
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/clipboard/index.html b/coverage/main/clipboard/index.html deleted file mode 100644 index 0f0cdf1..0000000 --- a/coverage/main/clipboard/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - Code coverage report for main/clipboard - - - - - - - - - -
-
-

All files main/clipboard

-
-
- 100% - Statements - 184/184 -
- -
- 100% - Branches - 60/60 -
- -
- 100% - Functions - 32/32 -
- -
- 100% - Lines - 171/171 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
data.ts -
-
-
-
-
100%50/50100%20/20100%11/11100%47/47
- quick-clips.ts - -
-
-
-
-
100%94/94100%36/36100%14/14100%85/85
- quick-tools.ts - -
-
-
-
-
100%40/40100%4/4100%7/7100%39/39
-
-
- -
- - - - - - - - diff --git a/coverage/main/clipboard/quick-clips.ts.html b/coverage/main/clipboard/quick-clips.ts.html deleted file mode 100644 index 0c600a9..0000000 --- a/coverage/main/clipboard/quick-clips.ts.html +++ /dev/null @@ -1,637 +0,0 @@ - - - - Code coverage report for main/clipboard/quick-clips.ts - - - - - - - - - -
-
-

- All files / - main/clipboard quick-clips.ts -

-
-
- 100% - Statements - 94/94 -
- -
- 100% - Branches - 36/36 -
- -
- 100% - Functions - 14/14 -
- -
- 100% - Lines - 85/85 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186  -  -  -  -  -1x -10x -10x -9x -  -9x -9x -  -8x -8x -  -  -8x -8x -  -  -8x -6x -8x -7x -  -  -  -  -8x -6x -  -  -  -  -  -  -  -1x -  -  -  -  -9x -  -1x -1x -  -  -  -1x -13x -13x -  -12x -12x -12x -  -  -11x -11x -  -  -11x -  -  -9x -9x -  -  -9x -  -  -9x -  -9x -  -1x -  -  -8x -  -8x -11x -11x -14x -  -  -11x -11x -11x -14x -13x -  -13x -3x -  -  -  -  -11x -  -  -  -11x -  -7x -  -  -  -  -1x -  -  -6x -9x -6x -6x -  -8x -8x -  -  -  -  -3x -3x -3x -  -3x -4x -  -6x -6x -6x -  -  -  -3x -  -  -6x -10x -  -  -  -  -  -9x -12x -  -  -  -1x -1x -  -  -  -1x -2x -2x -1x -1x -  -1x -  -  -  -  -  -  -1x -1x -  -  -  -1x -2x -  -2x -  -1x -1x -  -  - 
import { shell } from 'electron';
-import { storage } from '../storage';
-import type { PatternMatch } from '../../shared/types';
- 
-// Quick clips scanning functions
-export const scanTextForPatterns = async (text: string): Promise<PatternMatch[]> => {
-  try {
-    const searchTerms = await storage.getSearchTerms();
-    const matches: PatternMatch[] = [];
- 
-    for (const searchTerm of searchTerms) {
-      if (!searchTerm.enabled) continue;
- 
-      try {
-        const regex = new RegExp(searchTerm.pattern, 'g');
-        let match;
- 
-        while ((match = regex.exec(text)) !== null) {
-          const captures: Record<string, string> = {};
- 
-          // Extract named groups
-          if (match.groups) {
-            Object.entries(match.groups).forEach(([groupName, value]) => {
-              if (value !== undefined && value !== null && typeof value === 'string') {
-                captures[groupName] = value;
-              }
-            });
-          }
- 
-          if (Object.keys(captures).length > 0) {
-            matches.push({
-              searchTermId: searchTerm.id,
-              searchTermName: searchTerm.name,
-              captures,
-            });
-          }
-        }
-      } catch (error) {
-        console.error(`Failed to test pattern for search term ${searchTerm.name}:`, error);
-        // Continue with other patterns
-      }
-    }
- 
-    return matches;
-  } catch (error) {
-    console.error('Failed to scan text:', error);
-    throw error;
-  }
-};
- 
-export const openToolsForMatches = async (matches: any[], toolIds: string[]) => {
-  try {
-    const tools = await storage.getQuickTools();
- 
-    for (const toolId of toolIds) {
-      const tool = tools.find((t) => t.id === toolId);
-      if (!tool) continue;
- 
-      // Find matches that contain capture groups needed by this tool
-      const applicableMatches = matches.filter((match) =>
-        tool.captureGroups.some((group) => group in match.captures)
-      );
- 
-      if (applicableMatches.length === 0) continue;
- 
-      // Parse the URL to find tokens with multiple capture groups (e.g., {email|domain|phone})
-      const multiTokenRegex = /\{([^}]+)\}/g;
-      const urlsToOpen = new Set<string>();
- 
-      // Use the first applicable match to build the URL(s)
-      const match = applicableMatches[0];
- 
-      // Find all tokens in the URL
-      const tokens = [...tool.url.matchAll(multiTokenRegex)];
- 
-      if (tokens.length === 0) {
-        // No tokens, just open the URL as-is
-        urlsToOpen.add(tool.url);
-      } else {
-        // Process each token
-        const tokenReplacements: Array<{ token: string; values: string[]; isUrl: boolean }> = [];
- 
-        for (const tokenMatch of tokens) {
-          const fullToken = tokenMatch[0]; // e.g., "{email|domain|phone}"
-          const tokenContent = tokenMatch[1]; // e.g., "email|domain|phone"
-          const captureGroups = tokenContent.split('|').map((g) => g.trim());
- 
-          // Find values for this token from the matches
-          const values: string[] = [];
-          let isUrl = false;
-          for (const group of captureGroups) {
-            if (group in match.captures && match.captures[group]) {
-              values.push(match.captures[group]);
-              // Check if this is a URL capture group
-              if (group === 'url') {
-                isUrl = true;
-              }
-            }
-          }
- 
-          tokenReplacements.push({ token: fullToken, values, isUrl });
-        }
- 
-        // Generate URLs for each combination of values
-        if (tokenReplacements.every((tr) => tr.values.length > 0)) {
-          // Special case: if the tool URL is just a token that captures a URL, use it directly
-          if (
-            tokenReplacements.length === 1 &&
-            tokenReplacements[0].isUrl &&
-            tool.url === tokenReplacements[0].token
-          ) {
-            tokenReplacements[0].values.forEach((url) => urlsToOpen.add(url));
-          } else {
-            // Get all combinations of values
-            const generateCombinations = (replacements: typeof tokenReplacements): string[] => {
-              if (replacements.length === 1) {
-                const replacement = replacements[0];
-                return replacement.values.map((value) => {
-                  // Don't encode URLs if they're being used as direct replacements for URL tokens
-                  const encodedValue = replacement.isUrl ? value : encodeURIComponent(value);
-                  return tool.url.replace(replacement.token, encodedValue);
-                });
-              }
- 
-              // For multiple tokens, generate all combinations
-              const [first, ...rest] = replacements;
-              const restCombinations = generateCombinations(rest);
-              const combinations: string[] = [];
- 
-              for (const value of first.values) {
-                for (const restUrl of restCombinations) {
-                  // Don't encode URLs if they're being used as direct replacements for URL tokens
-                  const encodedValue = first.isUrl ? value : encodeURIComponent(value);
-                  const url = restUrl.replace(first.token, encodedValue);
-                  combinations.push(url);
-                }
-              }
- 
-              return combinations;
-            };
- 
-            const combinations = generateCombinations(tokenReplacements);
-            combinations.forEach((url) => urlsToOpen.add(url));
-          }
-        }
-      }
- 
-      // Open all generated URLs
-      for (const url of urlsToOpen) {
-        await shell.openExternal(url);
-      }
-    }
-  } catch (error) {
-    console.error('Failed to open tools:', error);
-    throw error;
-  }
-};
- 
-export const exportQuickClipsConfig = async () => {
-  try {
-    const searchTerms = await storage.getSearchTerms();
-    const tools = await storage.getQuickTools();
-    const templates = await storage.getTemplates();
- 
-    return {
-      searchTerms,
-      tools,
-      templates,
-      version: '1.0.0',
-    };
-  } catch (error) {
-    console.error('Failed to export quick clips config:', error);
-    throw error;
-  }
-};
- 
-export const importQuickClipsConfig = async (config: any) => {
-  try {
-    // Use the new batch import method to avoid race conditions
-    await storage.importQuickClipsConfig(config);
-  } catch (error) {
-    console.error('Failed to import quick clips config:', error);
-    throw error;
-  }
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/clipboard/quick-tools.ts.html b/coverage/main/clipboard/quick-tools.ts.html deleted file mode 100644 index 80a9a84..0000000 --- a/coverage/main/clipboard/quick-tools.ts.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - Code coverage report for main/clipboard/quick-tools.ts - - - - - - - - - -
-
-

- All files / - main/clipboard quick-tools.ts -

-
-
- 100% - Statements - 40/40 -
- -
- 100% - Branches - 4/4 -
- -
- 100% - Functions - 7/7 -
- -
- 100% - Lines - 39/39 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79  -  -  -1x -2x -2x -  -1x -1x -  -  -  -1x -2x -2x -  -1x -1x -  -  -  -1x -2x -2x -  -1x -1x -  -  -  -1x -2x -2x -  -1x -1x -  -  -  -1x -2x -2x -  -1x -1x -  -  -  -1x -7x -7x -  -  -7x -7x -  -2x -  -  -  -7x -7x -  -7x -6x -3x -  -  -  -6x -  -  -  -  -1x -1x -  -  - 
import { storage } from '../storage';
- 
-// Quick tools management functions
-export const getAllQuickTools = async () => {
-  try {
-    return await storage.getQuickTools();
-  } catch (error) {
-    console.error('Failed to get quick tools:', error);
-    throw error;
-  }
-};
- 
-export const createQuickTool = async (name: string, url: string, captureGroups: string[]) => {
-  try {
-    return await storage.createQuickTool(name, url, captureGroups);
-  } catch (error) {
-    console.error('Failed to create quick tool:', error);
-    throw error;
-  }
-};
- 
-export const updateQuickTool = async (id: string, updates: any) => {
-  try {
-    return await storage.updateQuickTool(id, updates);
-  } catch (error) {
-    console.error('Failed to update quick tool:', error);
-    throw error;
-  }
-};
- 
-export const deleteQuickTool = async (id: string) => {
-  try {
-    await storage.deleteQuickTool(id);
-  } catch (error) {
-    console.error('Failed to delete quick tool:', error);
-    throw error;
-  }
-};
- 
-export const reorderQuickTools = async (tools: any[]) => {
-  try {
-    await storage.reorderQuickTools(tools);
-  } catch (error) {
-    console.error('Failed to reorder quick tools:', error);
-    throw error;
-  }
-};
- 
-export const validateToolUrl = async (url: string, captureGroups: string[]) => {
-  try {
-    const errors: string[] = [];
- 
-    // Check if URL is valid
-    try {
-      new URL(url.replace(/\{[^}]+\}/g, 'test')); // Replace tokens with test values
-    } catch {
-      errors.push('Invalid URL format');
-    }
- 
-    // Check if all capture groups in URL are in the provided list
-    const urlTokens = url.match(/\{([^}]+)\}/g) || [];
-    const urlCaptureGroups = urlTokens.map((token) => token.slice(1, -1));
- 
-    for (const group of urlCaptureGroups) {
-      if (!captureGroups.includes(group)) {
-        errors.push(`Token '{${group}}' is not in the selected capture groups`);
-      }
-    }
- 
-    return {
-      isValid: errors.length === 0,
-      errors,
-    };
-  } catch (error) {
-    console.error('Failed to validate tool URL:', error);
-    throw error;
-  }
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/hotkeys/actions.ts.html b/coverage/main/hotkeys/actions.ts.html deleted file mode 100644 index 1eb47d2..0000000 --- a/coverage/main/hotkeys/actions.ts.html +++ /dev/null @@ -1,610 +0,0 @@ - - - - Code coverage report for main/hotkeys/actions.ts - - - - - - - - - -
-
-

- All files / - main/hotkeys actions.ts -

-
-
- 100% - Statements - 76/76 -
- -
- 100% - Branches - 48/48 -
- -
- 100% - Functions - 7/7 -
- -
- 100% - Lines - 74/74 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177  -  -  -  -  -  -  -  -45x -  -  -33x -  -  -  -  -  -  -7x -  -5x -  -5x -1x -1x -  -  -  -3x -1x -  -  -3x -3x -  -  -3x -1x -  -  -1x -  -  -  -  -  -  -  -15x -15x -14x -2x -2x -  -  -12x -12x -1x -1x -  -  -  -11x -10x -  -  -  -11x -  -11x -11x -  -1x -  -  -  -  -  -  -  -11x -  -3x -3x -  -1x -1x -  -1x -1x -  -2x -1x -  -1x -  -2x -  -3x -3x -  -1x -  -  -  -  -  -  -  -3x -3x -3x -1x -  -  -1x -  -  -1x -1x -  -  -  -  -  -  -  -7x -  -5x -5x -3x -1x -  -3x -3x -3x -1x -  -  -  -4x -  -1x -  -  -  -  -  -  -  -5x -5x -4x -2x -2x -  -  -2x -2x -1x -1x -  -  -  -1x -  -  -1x -  -1x -  -1x -  -  -  - 
import { BrowserWindow, clipboard, nativeImage, app } from 'electron';
-import { storage } from '../storage';
-import { showNotification } from '../notifications';
- 
-/**
- * Handles all hotkey action implementations
- */
-export class HotkeyActions {
-  private mainWindow: BrowserWindow | null = null;
- 
-  setMainWindow(window: BrowserWindow | null): void {
-    this.mainWindow = window;
-  }
- 
-  /**
-   * Toggle window visibility - focus if hidden/minimized, hide if currently focused
-   */
-  focusWindow(): void {
-    if (!this.mainWindow) return;
- 
-    try {
-      // If window is visible and focused, hide it
-      if (this.mainWindow.isVisible() && this.mainWindow.isFocused()) {
-        this.mainWindow.hide();
-        return;
-      }
- 
-      // Otherwise, show and focus the window
-      if (this.mainWindow.isMinimized()) {
-        this.mainWindow.restore();
-      }
- 
-      this.mainWindow.show();
-      this.mainWindow.focus();
- 
-      // On macOS, we need to bring the app to front
-      if (process.platform === 'darwin') {
-        app.focus();
-      }
-    } catch (error) {
-      console.error('Error toggling window visibility:', error);
-    }
-  }
- 
-  /**
-   * Copy a quick clip to the clipboard by index
-   */
-  async copyQuickClip(index: number): Promise<void> {
-    try {
-      const clips = await storage.getClips();
-      if (!clips || clips.length <= index) {
-        console.warn(`No clip at index ${index}`);
-        return;
-      }
- 
-      const clipToCopy = clips[index];
-      if (!clipToCopy) {
-        console.warn(`No clip found at index ${index}`);
-        return;
-      }
- 
-      // Notify renderer BEFORE copying to clipboard so it can set up duplicate detection
-      if (this.mainWindow && !this.mainWindow.isDestroyed()) {
-        this.mainWindow.webContents.send('hotkey-clip-copied', index);
-      }
- 
-      // Copy the clip content with the appropriate format based on its type
-      this.copyClipToClipboard(clipToCopy);
- 
-      console.log(`Hotkey: Copied clip ${index + 1} to clipboard`);
-      showNotification('Clip Copied', `Clip ${index + 1} copied to clipboard`);
-    } catch (error) {
-      console.error(`Error copying quick clip ${index}:`, error);
-    }
-  }
- 
-  /**
-   * Copy a clip to the system clipboard based on its type
-   */
-  private copyClipToClipboard(clipToCopy: any): void {
-    switch (clipToCopy.clip.type) {
-      case 'text':
-        clipboard.writeText(clipToCopy.clip.content);
-        break;
-      case 'html':
-        clipboard.writeHTML(clipToCopy.clip.content);
-        break;
-      case 'rtf':
-        clipboard.writeRTF(clipToCopy.clip.content);
-        break;
-      case 'bookmark':
-        if (clipToCopy.clip.url && clipToCopy.clip.title) {
-          clipboard.writeBookmark(clipToCopy.clip.title, clipToCopy.clip.url);
-        } else {
-          clipboard.writeText(clipToCopy.clip.content);
-        }
-        break;
-      case 'image':
-        this.copyImageClip(clipToCopy.clip.content);
-        break;
-      default:
-        clipboard.writeText(clipToCopy.clip.content);
-    }
-  }
- 
-  /**
-   * Handle copying image clips with fallback
-   */
-  private copyImageClip(content: string): void {
-    try {
-      const image = nativeImage.createFromDataURL(content);
-      if (!image.isEmpty()) {
-        clipboard.writeImage(image);
-      } else {
-        // Fallback to copying data URL as text
-        clipboard.writeText(content);
-      }
-    } catch (error) {
-      console.error('Failed to copy image, falling back to text:', error);
-      clipboard.writeText(content);
-    }
-  }
- 
-  /**
-   * Toggle search bar in the main window
-   */
-  toggleSearchBar(): void {
-    if (!this.mainWindow) return;
- 
-    try {
-      if (!this.mainWindow.isVisible() || this.mainWindow.isMinimized()) {
-        if (this.mainWindow.isMinimized()) {
-          this.mainWindow.restore();
-        }
-        this.mainWindow.show();
-        this.mainWindow.focus();
-        if (process.platform === 'darwin') {
-          app.focus();
-        }
-      }
- 
-      this.mainWindow.webContents.send('toggle-search');
-    } catch (error) {
-      console.error('Error toggling search bar:', error);
-    }
-  }
- 
-  /**
-   * Open tools launcher for the first (most recent) clip
-   */
-  async openToolsLauncher(): Promise<void> {
-    try {
-      const clips = await storage.getClips();
-      if (!clips || clips.length === 0) {
-        console.warn('No clips available for tools launcher');
-        return;
-      }
- 
-      const firstClip = clips[0];
-      if (!firstClip) {
-        console.warn('No first clip found');
-        return;
-      }
- 
-      // Import the createToolsLauncherWindow function
-      const { createToolsLauncherWindow } = await import('../window/creation.js');
- 
-      // Open the tools launcher with the first clip's content
-      createToolsLauncherWindow(firstClip.clip.content);
- 
-      console.log('Hotkey: Opened tools launcher for first clip');
-    } catch (error) {
-      console.error('Error opening tools launcher:', error);
-    }
-  }
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/hotkeys/index.html b/coverage/main/hotkeys/index.html deleted file mode 100644 index 67ebc48..0000000 --- a/coverage/main/hotkeys/index.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - Code coverage report for main/hotkeys - - - - - - - - - -
-
-

All files main/hotkeys

-
-
- 100% - Statements - 161/161 -
- -
- 100% - Branches - 70/70 -
- -
- 100% - Functions - 31/31 -
- -
- 100% - Lines - 159/159 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- actions.ts - -
-
-
-
-
100%76/76100%48/48100%7/7100%74/74
- manager.ts - -
-
-
-
-
100%60/60100%18/18100%16/16100%60/60
- registry.ts - -
-
-
-
-
100%25/25100%4/4100%8/8100%25/25
-
-
- -
- - - - - - - - diff --git a/coverage/main/hotkeys/manager.ts.html b/coverage/main/hotkeys/manager.ts.html deleted file mode 100644 index dae2f14..0000000 --- a/coverage/main/hotkeys/manager.ts.html +++ /dev/null @@ -1,583 +0,0 @@ - - - - Code coverage report for main/hotkeys/manager.ts - - - - - - - - - -
-
-

- All files / - main/hotkeys manager.ts -

-
-
- 100% - Statements - 60/60 -
- -
- 100% - Branches - 18/18 -
- -
- 100% - Functions - 16/16 -
- -
- 100% - Lines - 60/60 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168  -  -  -  -  -  -  -  -  -15x -15x -  -  -1x -  -  -  -15x -15x -1x -1x -  -  -14x -14x -14x -14x -14x -  -1x -  -  -  -  -16x -  -16x -  -16x -14x -  -14x -9x -9x -  -  -5x -5x -  -  -5x -  -  -5x -  -  -5x -  -  -5x -  -2x -  -  -  -  -5x -3x -  -  -3x -1x -  -  -  -  -  -  -5x -  -  -  -  -  -  -  -5x -25x -2x -  -  -2x -1x -  -  -  -  -  -  -  -5x -  -  -  -  -5x -3x -  -  -3x -1x -  -  -  -  -  -5x -  -  -  -  -5x -3x -  -  -3x -1x -  -  -  -  -  -4x -  -  -  -4x -1x -1x -1x -  -  -3x -3x -3x -  -1x -  -  -  -  -1x -  -  -  -  -1x -  -  -  -1x -  -  -  -4x -  -  - 
import { BrowserWindow } from 'electron';
-import { storage } from '../storage';
-import { HotkeyRegistry } from './registry';
-import { HotkeyActions } from './actions';
- 
-/**
- * Main hotkey manager that coordinates registration and actions
- */
-export class HotkeyManager {
-  private registry = new HotkeyRegistry();
-  private actions = new HotkeyActions();
- 
-  setMainWindow(window: BrowserWindow | null): void {
-    this.actions.setMainWindow(window);
-  }
- 
-  async initialize(): Promise<void> {
-    console.log('Hotkey Manager: Initialize called');
-    if (this.registry.isInitialized) {
-      console.log('Hotkey Manager: Already initialized, skipping');
-      return;
-    }
- 
-    try {
-      console.log('Hotkey Manager: Starting initialization...');
-      await this.registerHotkeys();
-      this.registry.setInitialized(true);
-      console.log('Hotkey Manager: Initialization completed successfully');
-    } catch (error) {
-      console.error('Failed to initialize hotkey manager:', error);
-    }
-  }
- 
-  async registerHotkeys(): Promise<void> {
-    try {
-      // Clear existing hotkeys
-      this.registry.unregisterAllHotkeys();
- 
-      const settings = await storage.getSettings();
-      console.log('Hotkey Manager: Loaded settings:', JSON.stringify(settings.hotkeys, null, 2));
- 
-      if (!settings.hotkeys?.enabled) {
-        console.log('Hotkey Manager: Hotkeys are disabled in settings');
-        return;
-      }
- 
-      const { hotkeys } = settings;
-      console.log('Hotkey Manager: Registering hotkeys...');
- 
-      // Register focus window hotkey
-      this.registerFocusWindowHotkey(hotkeys);
- 
-      // Register quick clip hotkeys
-      this.registerQuickClipHotkeys(hotkeys);
- 
-      // Register tools launcher hotkey
-      this.registerToolsLauncherHotkey(hotkeys);
- 
-      // Register search clips hotkey
-      this.registerSearchHotkey(hotkeys);
-    } catch (error) {
-      console.error('Failed to register hotkeys:', error);
-    }
-  }
- 
-  private registerFocusWindowHotkey(hotkeys: any): void {
-    if (hotkeys.focusWindow.enabled) {
-      console.log(
-        `Hotkey Manager: Attempting to register focus window hotkey: ${hotkeys.focusWindow.key}`
-      );
-      this.registry.registerHotkey(hotkeys.focusWindow.key, () => {
-        this.actions.focusWindow();
-      });
-    }
-  }
- 
-  private registerQuickClipHotkeys(hotkeys: any): void {
-    // Note: Quick clip hotkeys copy clips by their display number (1-5)
-    const quickClipHotkeys = [
-      { config: hotkeys.quickClip1, index: 0 }, // Copy 1st clip (position 1)
-      { config: hotkeys.quickClip2, index: 1 }, // Copy 2nd clip (position 2)
-      { config: hotkeys.quickClip3, index: 2 }, // Copy 3rd clip (position 3)
-      { config: hotkeys.quickClip4, index: 3 }, // Copy 4th clip (position 4)
-      { config: hotkeys.quickClip5, index: 4 }, // Copy 5th clip (position 5)
-    ];
- 
-    for (const { config, index } of quickClipHotkeys) {
-      if (config.enabled) {
-        console.log(
-          `Hotkey Manager: Attempting to register quick clip ${index} hotkey: ${config.key}`
-        );
-        this.registry.registerHotkey(config.key, () => {
-          this.actions.copyQuickClip(index);
-        });
-      }
-    }
-  }
- 
-  private registerToolsLauncherHotkey(hotkeys: any): void {
-    // Handle case where openToolsLauncher setting doesn't exist yet (new feature)
-    const toolsLauncherConfig = hotkeys.openToolsLauncher || {
-      enabled: true,
-      key: 'CommandOrControl+Shift+T',
-    };
- 
-    if (toolsLauncherConfig.enabled) {
-      console.log(
-        `Hotkey Manager: Attempting to register tools launcher hotkey: ${toolsLauncherConfig.key}`
-      );
-      this.registry.registerHotkey(toolsLauncherConfig.key, () => {
-        this.actions.openToolsLauncher();
-      });
-    }
-  }
- 
-  private registerSearchHotkey(hotkeys: any): void {
-    const searchConfig = hotkeys.searchClips || {
-      enabled: true,
-      key: 'CommandOrControl+Shift+F',
-    };
- 
-    if (searchConfig.enabled) {
-      console.log(
-        `Hotkey Manager: Attempting to register search clips hotkey: ${searchConfig.key}`
-      );
-      this.registry.registerHotkey(searchConfig.key, () => {
-        this.actions.toggleSearchBar();
-      });
-    }
-  }
- 
-  async onSettingsChanged(): Promise<void> {
-    console.log(
-      'Hotkey Manager: onSettingsChanged called, isInitialized:',
-      this.registry.isInitialized
-    );
-    if (!this.registry.isInitialized) {
-      console.log('Hotkey Manager: Not initialized yet, initializing now...');
-      await this.initialize();
-      return;
-    }
- 
-    try {
-      console.log('Hotkey Manager: Re-registering hotkeys after settings change...');
-      await this.registerHotkeys();
-    } catch (error) {
-      console.error('Failed to update hotkeys after settings change:', error);
-    }
-  }
- 
-  cleanup(): void {
-    this.registry.cleanup();
-  }
- 
-  // Expose registry methods for testing or advanced use cases
-  getCurrentHotkeys(): string[] {
-    return this.registry.getCurrentHotkeys();
-  }
- 
-  isHotkeyRegistered(accelerator: string): boolean {
-    return this.registry.isHotkeyRegistered(accelerator);
-  }
- 
-  get isInitialized(): boolean {
-    return this.registry.isInitialized;
-  }
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/hotkeys/registry.ts.html b/coverage/main/hotkeys/registry.ts.html deleted file mode 100644 index 3d57e7b..0000000 --- a/coverage/main/hotkeys/registry.ts.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - Code coverage report for main/hotkeys/registry.ts - - - - - - - - - -
-
-

- All files / - main/hotkeys registry.ts -

-
-
- 100% - Statements - 25/25 -
- -
- 100% - Branches - 4/4 -
- -
- 100% - Functions - 8/8 -
- -
- 100% - Lines - 25/25 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83  -  -  -  -  -  -  -25x -  -  -  -  -  -28x -  -  -  -14x -  -  -  -  -  -  -24x -  -24x -1x -1x -  -  -23x -23x -21x -21x -21x -  -1x -1x -  -  -1x -1x -  -  -  -  -  -  -  -20x -5x -5x -  -1x -  -  -20x -  -  -  -  -  -  -5x -  -  -  -  -  -  -3x -  -  -  -  -  -  -2x -2x -  -  - 
import { globalShortcut } from 'electron';
-import type { HotkeyRegistryState } from './types';
- 
-/**
- * Handles low-level hotkey registration and unregistration
- */
-export class HotkeyRegistry {
-  private state: HotkeyRegistryState = {
-    isInitialized: false,
-    currentHotkeys: new Set(),
-  };
- 
-  get isInitialized(): boolean {
-    return this.state.isInitialized;
-  }
- 
-  setInitialized(value: boolean): void {
-    this.state.isInitialized = value;
-  }
- 
-  /**
-   * Register a single hotkey with the system
-   */
-  registerHotkey(accelerator: string, callback: () => void): boolean {
-    try {
-      // Check if hotkey is already registered
-      if (this.state.currentHotkeys.has(accelerator)) {
-        console.warn(`Hotkey ${accelerator} is already registered`);
-        return false;
-      }
- 
-      const success = globalShortcut.register(accelerator, callback);
-      if (success) {
-        this.state.currentHotkeys.add(accelerator);
-        console.log(`Registered hotkey: ${accelerator}`);
-        return true;
-      } else {
-        console.warn(`Failed to register hotkey: ${accelerator}`);
-        return false;
-      }
-    } catch (error) {
-      console.error(`Error registering hotkey ${accelerator}:`, error);
-      return false;
-    }
-  }
- 
-  /**
-   * Unregister all currently registered hotkeys
-   */
-  unregisterAllHotkeys(): void {
-    this.state.currentHotkeys.forEach((accelerator) => {
-      try {
-        globalShortcut.unregister(accelerator);
-      } catch (error) {
-        console.error(`Error unregistering hotkey ${accelerator}:`, error);
-      }
-    });
-    this.state.currentHotkeys.clear();
-  }
- 
-  /**
-   * Get the list of currently registered hotkey accelerators
-   */
-  getCurrentHotkeys(): string[] {
-    return Array.from(this.state.currentHotkeys);
-  }
- 
-  /**
-   * Check if a specific hotkey is currently registered
-   */
-  isHotkeyRegistered(accelerator: string): boolean {
-    return this.state.currentHotkeys.has(accelerator);
-  }
- 
-  /**
-   * Clean up all hotkeys on shutdown
-   */
-  cleanup(): void {
-    this.unregisterAllHotkeys();
-    this.state.isInitialized = false;
-  }
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/storage/defaults.ts.html b/coverage/main/storage/defaults.ts.html deleted file mode 100644 index 59f7337..0000000 --- a/coverage/main/storage/defaults.ts.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - Code coverage report for main/storage/defaults.ts - - - - - - - - - -
-
-

- All files / - main/storage defaults.ts -

-
-
- 100% - Statements - 3/3 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 0/0 -
- -
- 100% - Lines - 3/3 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  - 
import type { UserSettings, AppData, HotkeySettings } from '../../shared/types';
-import { DEFAULT_MAX_CLIPS } from '../../shared/constants';
- 
-export const DEFAULT_HOTKEY_SETTINGS: HotkeySettings = {
-  enabled: false,
-  focusWindow: {
-    enabled: true,
-    key: 'CommandOrControl+Shift+V',
-  },
-  quickClip1: {
-    enabled: true,
-    key: 'CommandOrControl+Shift+1',
-  },
-  quickClip2: {
-    enabled: true,
-    key: 'CommandOrControl+Shift+2',
-  },
-  quickClip3: {
-    enabled: true,
-    key: 'CommandOrControl+Shift+3',
-  },
-  quickClip4: {
-    enabled: true,
-    key: 'CommandOrControl+Shift+4',
-  },
-  quickClip5: {
-    enabled: true,
-    key: 'CommandOrControl+Shift+5',
-  },
-  openToolsLauncher: {
-    enabled: true,
-    key: 'CommandOrControl+Shift+T',
-  },
-  searchClips: {
-    enabled: true,
-    key: 'CommandOrControl+Shift+F',
-  },
-};
- 
-export const DEFAULT_SETTINGS: UserSettings = {
-  maxClips: DEFAULT_MAX_CLIPS,
-  startMinimized: false,
-  autoStart: false,
-  theme: 'system',
-  windowTransparency: 0,
-  transparencyEnabled: false,
-  opaqueWhenFocused: true,
-  alwaysOnTop: false,
-  rememberWindowPosition: true,
-  showNotifications: false,
-  hotkeys: DEFAULT_HOTKEY_SETTINGS,
-};
- 
-export const DEFAULT_DATA: AppData = {
-  clips: [],
-  settings: DEFAULT_SETTINGS,
-  templates: [],
-  searchTerms: [],
-  quickTools: [],
-  version: __APP_VERSION__,
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/storage/file-operations.ts.html b/coverage/main/storage/file-operations.ts.html deleted file mode 100644 index 1053d7d..0000000 --- a/coverage/main/storage/file-operations.ts.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - Code coverage report for main/storage/file-operations.ts - - - - - - - - - -
-
-

- All files / - main/storage file-operations.ts -

-
-
- 100% - Statements - 25/25 -
- -
- 100% - Branches - 2/2 -
- -
- 100% - Functions - 4/4 -
- -
- 100% - Lines - 25/25 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83  -  -  -  -  -  -  -3x -  -3x -  -3x -  -  -3x -  -  -3x -3x -  -  -  -  -  -3x -2x -  -2x -  -  -1x -1x -  -  -  -  -1x -1x -  -  -  -  -  -  -  -3x -  -3x -  -  -2x -  -  -1x -1x -  -  -1x -  -2x -  -1x -  -1x -1x -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -2x -  - 
import { safeStorage } from 'electron';
-import { promises as fs } from 'fs';
- 
-/**
- * Save data to encrypted storage
- */
-export async function saveToFile(data: any, encryptedDataPath: string): Promise<void> {
-  const tempPath = encryptedDataPath + '.tmp';
- 
-  try {
-    // Serialize data
-    const jsonData = JSON.stringify(data, null, 2);
- 
-    // Encrypt data
-    const encryptedData = safeStorage.encryptString(jsonData);
- 
-    // Clean up any existing temp file first
-    try {
-      await fs.unlink(tempPath);
-    } catch {
-      // Ignore if temp file doesn't exist
-    }
- 
-    // Write to file atomically
-    await fs.writeFile(tempPath, encryptedData);
-    await fs.rename(tempPath, encryptedDataPath);
- 
-    console.log('Data saved to secure storage');
-  } catch (error) {
-    // Clean up temp file on error
-    try {
-      await fs.unlink(tempPath);
-    } catch {
-      // Ignore cleanup errors
-    }
- 
-    console.error('Failed to save data to storage:', error);
-    throw error;
-  }
-}
- 
-/**
- * Load data from encrypted storage
- */
-export async function loadFromFile(encryptedDataPath: string): Promise<any> {
-  try {
-    // Check if encrypted file exists
-    await fs.access(encryptedDataPath);
- 
-    // Read encrypted data
-    const encryptedData = await fs.readFile(encryptedDataPath);
- 
-    // Decrypt data
-    const decryptedBuffer = safeStorage.decryptString(encryptedData);
-    const jsonData = Buffer.from(decryptedBuffer).toString('utf8');
- 
-    // Parse and return data
-    return JSON.parse(jsonData);
-  } catch (error) {
-    if ((error as any).code === 'ENOENT') {
-      // File doesn't exist
-      throw new Error('FILE_NOT_FOUND');
-    } else {
-      console.error('Failed to load data from storage:', error);
-      throw error;
-    }
-  }
-}
- 
-/**
- * Ensure data directory exists
- */
-export async function ensureDataDirectory(dataPath: string): Promise<void> {
-  await fs.mkdir(dataPath, { recursive: true });
-}
- 
-/**
- * Check if encryption is available
- */
-export function isEncryptionAvailable(): boolean {
-  return safeStorage.isEncryptionAvailable();
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/storage/index.html b/coverage/main/storage/index.html deleted file mode 100644 index e4bf218..0000000 --- a/coverage/main/storage/index.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - Code coverage report for main/storage - - - - - - - - - -
-
-

All files main/storage

-
-
- 100% - Statements - 81/81 -
- -
- 100% - Branches - 68/68 -
- -
- 100% - Functions - 27/27 -
- -
- 100% - Lines - 74/74 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- defaults.ts - -
-
-
-
-
100%3/3100%0/0100%0/0100%3/3
- file-operations.ts - -
-
-
-
-
100%25/25100%2/2100%4/4100%25/25
- migration.ts - -
-
-
-
-
100%18/18100%50/50100%5/5100%18/18
- search-terms.ts - -
-
-
-
-
100%7/7100%0/0100%7/7100%5/5
- templates.ts - -
-
-
-
-
100%28/28100%16/16100%11/11100%23/23
-
-
- -
- - - - - - - - diff --git a/coverage/main/storage/migration.ts.html b/coverage/main/storage/migration.ts.html deleted file mode 100644 index 17042f9..0000000 --- a/coverage/main/storage/migration.ts.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - Code coverage report for main/storage/migration.ts - - - - - - - - - -
-
-

- All files / - main/storage migration.ts -

-
-
- 100% - Statements - 18/18 -
- -
- 100% - Branches - 50/50 -
- -
- 100% - Functions - 5/5 -
- -
- 100% - Lines - 18/18 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78  -  -  -  -  -  -  -  -11x -  -  -11x -2x -  -5x -  -  -  -  -11x -1x -  -  -  -  -  -  -11x -2x -  -3x -  -  -  -  -  -  -  -  -  -  -11x -1x -  -1x -  -  -  -  -  -  -  -  -  -  -  -11x -1x -  -1x -  -  -  -  -  -  -  -  -  -  -  -11x -1x -  -  -11x -  - 
import type { AppData } from '../../shared/types';
-import { DEFAULT_DATA, DEFAULT_SETTINGS } from './defaults';
- 
-/**
- * Migrate data from older versions
- */
-export function migrateData(data: any): AppData {
-  // Start with default data
-  const migratedData: AppData = { ...DEFAULT_DATA };
- 
-  // Copy over valid clips
-  if (data.clips && Array.isArray(data.clips)) {
-    migratedData.clips = data.clips.filter(
-      (item: any) =>
-        item?.clip && typeof item.clip.type === 'string' && typeof item.clip.content === 'string'
-    );
-  }
- 
-  // Copy over valid settings
-  if (data.settings && typeof data.settings === 'object') {
-    migratedData.settings = {
-      ...DEFAULT_SETTINGS,
-      ...data.settings,
-    };
-  }
- 
-  // Copy over valid templates
-  if (data.templates && Array.isArray(data.templates)) {
-    migratedData.templates = data.templates.filter(
-      (template: any) =>
-        template &&
-        typeof template.id === 'string' &&
-        typeof template.name === 'string' &&
-        typeof template.content === 'string' &&
-        typeof template.createdAt === 'number' &&
-        typeof template.updatedAt === 'number' &&
-        typeof template.order === 'number'
-    );
-  }
- 
-  // Copy over valid search terms
-  if (data.searchTerms && Array.isArray(data.searchTerms)) {
-    migratedData.searchTerms = data.searchTerms.filter(
-      (searchTerm: any) =>
-        searchTerm &&
-        typeof searchTerm.id === 'string' &&
-        typeof searchTerm.name === 'string' &&
-        typeof searchTerm.pattern === 'string' &&
-        typeof searchTerm.enabled === 'boolean' &&
-        typeof searchTerm.createdAt === 'number' &&
-        typeof searchTerm.updatedAt === 'number' &&
-        typeof searchTerm.order === 'number'
-    );
-  }
- 
-  // Copy over valid quick tools
-  if (data.quickTools && Array.isArray(data.quickTools)) {
-    migratedData.quickTools = data.quickTools.filter(
-      (quickTool: any) =>
-        quickTool &&
-        typeof quickTool.id === 'string' &&
-        typeof quickTool.name === 'string' &&
-        typeof quickTool.url === 'string' &&
-        Array.isArray(quickTool.captureGroups) &&
-        typeof quickTool.createdAt === 'number' &&
-        typeof quickTool.updatedAt === 'number' &&
-        typeof quickTool.order === 'number'
-    );
-  }
- 
-  // Preserve version
-  if (data.version && typeof data.version === 'string') {
-    migratedData.version = data.version;
-  }
- 
-  return migratedData;
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/storage/search-terms.ts.html b/coverage/main/storage/search-terms.ts.html deleted file mode 100644 index 51f32df..0000000 --- a/coverage/main/storage/search-terms.ts.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - Code coverage report for main/storage/search-terms.ts - - - - - - - - - -
-
-

- All files / - main/storage search-terms.ts -

-
-
- 100% - Statements - 7/7 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 7/7 -
- -
- 100% - Lines - 5/5 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55  -  -  -  -  -  -2x -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -5x -  -  -  -  -  -  -2x -  -  -  -  - 
import type { SearchTerm } from '../../shared/types';
- 
-/**
- * Generate a unique ID for any entity
- */
-export function generateId(): string {
-  return Date.now() + '-' + Math.random().toString(36).substr(2, 9);
-}
- 
-/**
- * Create a new search term object
- */
-export function createSearchTermObject(name: string, pattern: string, order: number): SearchTerm {
-  return {
-    id: generateId(),
-    name,
-    pattern,
-    enabled: true,
-    createdAt: Date.now(),
-    updatedAt: Date.now(),
-    order,
-  };
-}
- 
-/**
- * Update an existing search term with new data
- */
-export function updateSearchTermObject(
-  searchTerm: SearchTerm,
-  updates: Partial<SearchTerm>
-): SearchTerm {
-  return {
-    ...searchTerm,
-    ...updates,
-    updatedAt: Date.now(),
-  };
-}
- 
-/**
- * Sort search terms by order
- */
-export function sortSearchTermsByOrder(searchTerms: SearchTerm[]): SearchTerm[] {
-  return [...searchTerms].sort((a, b) => a.order - b.order);
-}
- 
-/**
- * Reorder search terms array
- */
-export function reorderSearchTermsArray(searchTerms: SearchTerm[]): SearchTerm[] {
-  return searchTerms.map((searchTerm, index) => ({
-    ...searchTerm,
-    order: index,
-  }));
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/main/storage/templates.ts.html b/coverage/main/storage/templates.ts.html deleted file mode 100644 index 93dbfcb..0000000 --- a/coverage/main/storage/templates.ts.html +++ /dev/null @@ -1,385 +0,0 @@ - - - - Code coverage report for main/storage/templates.ts - - - - - - - - - -
-
-

- All files / - main/storage templates.ts -

-
-
- 100% - Statements - 28/28 -
- -
- 100% - Branches - 16/16 -
- -
- 100% - Functions - 11/11 -
- -
- 100% - Lines - 23/23 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102  -  -  -  -  -  -2x -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -5x -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -6x -6x -6x -  -  -6x -10x -10x -5x -  -5x -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -9x -  -  -9x -4x -6x -4x -  -  -  -  -9x -8x -8x -  -  -9x -  - 
import type { Template } from '../../shared/types';
- 
-/**
- * Generate a unique ID for templates
- */
-export function generateTemplateId(): string {
-  return 'template-' + Date.now() + '-' + Math.random().toString(36).substr(2, 9);
-}
- 
-/**
- * Create a new template object
- */
-export function createTemplateObject(name: string, content: string, order: number): Template {
-  return {
-    id: generateTemplateId(),
-    name,
-    content,
-    createdAt: Date.now(),
-    updatedAt: Date.now(),
-    order,
-  };
-}
- 
-/**
- * Update an existing template with new data
- */
-export function updateTemplateObject(template: Template, updates: Partial<Template>): Template {
-  return {
-    ...template,
-    ...updates,
-    updatedAt: Date.now(),
-  };
-}
- 
-/**
- * Sort templates by order
- */
-export function sortTemplatesByOrder(templates: Template[]): Template[] {
-  return [...templates].sort((a, b) => a.order - b.order);
-}
- 
-/**
- * Reorder templates array
- */
-export function reorderTemplatesArray(templates: Template[]): Template[] {
-  return templates.map((template, index) => ({
-    ...template,
-    order: index,
-  }));
-}
- 
-/**
- * Extract template tokens into positional ({c1}) and named ({groupName}) categories.
- */
-export function extractTemplateTokens(content: string): {
-  positional: string[];
-  named: string[];
-} {
-  const positional: string[] = [];
-  const named: string[] = [];
-  const tokenRegex = /\{(\w+)\}/g;
-  let match;
- 
-  while ((match = tokenRegex.exec(content)) !== null) {
-    const token = match[1];
-    if (/^c\d+$/.test(token)) {
-      if (!positional.includes(token)) positional.push(token);
-    } else {
-      if (!named.includes(token)) named.push(token);
-    }
-  }
- 
-  return { positional, named };
-}
- 
-/**
- * Generate text from template using clipboard contents and optional named captures.
- */
-export function generateTextFromTemplate(
-  template: Template,
-  clipContents: string[],
-  captures?: Record<string, string>
-): string {
-  let result = template.content;
- 
-  // First pass: replace named capture group tokens (skip positional {c\d+} tokens)
-  if (captures) {
-    result = result.replace(/\{(\w+)\}/g, (match, tokenName) => {
-      if (/^c\d+$/.test(tokenName)) return match; // skip positional
-      return tokenName in captures ? captures[tokenName] : match;
-    });
-  }
- 
-  // Second pass: replace positional {c#} tokens with clip contents
-  result = result.replace(/\{c(\d+)\}/g, (match, clipIndex) => {
-    const index = parseInt(clipIndex) - 1; // Convert to 0-based index
-    return index >= 0 && index < clipContents.length ? clipContents[index] : match;
-  });
- 
-  return result;
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/prettify.css b/coverage/prettify.css deleted file mode 100644 index 006492c..0000000 --- a/coverage/prettify.css +++ /dev/null @@ -1,101 +0,0 @@ -.pln { - color: #000; -} -@media screen { - .str { - color: #080; - } - .kwd { - color: #008; - } - .com { - color: #800; - } - .typ { - color: #606; - } - .lit { - color: #066; - } - .pun, - .opn, - .clo { - color: #660; - } - .tag { - color: #008; - } - .atn { - color: #606; - } - .atv { - color: #080; - } - .dec, - .var { - color: #606; - } - .fun { - color: red; - } -} -@media print, projection { - .str { - color: #060; - } - .kwd { - color: #006; - font-weight: bold; - } - .com { - color: #600; - font-style: italic; - } - .typ { - color: #404; - font-weight: bold; - } - .lit { - color: #044; - } - .pun, - .opn, - .clo { - color: #440; - } - .tag { - color: #006; - font-weight: bold; - } - .atn { - color: #404; - } - .atv { - color: #060; - } -} -pre.prettyprint { - padding: 2px; - border: 1px solid #888; -} -ol.linenums { - margin-top: 0; - margin-bottom: 0; -} -li.L0, -li.L1, -li.L2, -li.L3, -li.L5, -li.L6, -li.L7, -li.L8 { - list-style-type: none; -} -li.L1, -li.L3, -li.L5, -li.L7, -li.L9 { - background: #eee; -} diff --git a/coverage/prettify.js b/coverage/prettify.js deleted file mode 100644 index 4b5985a..0000000 --- a/coverage/prettify.js +++ /dev/null @@ -1,937 +0,0 @@ -/* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION = true; -(function () { - var h = ['break,continue,do,else,for,if,return,while']; - var u = [ - h, - 'auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile', - ]; - var p = [ - u, - 'catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof', - ]; - var l = [ - p, - 'alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where', - ]; - var x = [ - p, - 'abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient', - ]; - var R = [ - x, - 'as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var', - ]; - var r = - 'all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes'; - var w = [p, 'debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN']; - var s = - 'caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END'; - var I = [ - h, - 'and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None', - ]; - var f = [ - h, - 'alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END', - ]; - var H = [h, 'case,done,elif,esac,eval,fi,function,in,local,set,then,until']; - var A = [l, R, w, s + I, f, H]; - var e = - /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/; - var C = 'str'; - var z = 'kwd'; - var j = 'com'; - var O = 'typ'; - var G = 'lit'; - var L = 'pun'; - var F = 'pln'; - var m = 'tag'; - var E = 'dec'; - var J = 'src'; - var P = 'atn'; - var n = 'atv'; - var N = 'nocode'; - var M = - '(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*'; - function k(Z) { - var ad = 0; - var S = false; - var ac = false; - for (var V = 0, U = Z.length; V < U; ++V) { - var ae = Z[V]; - if (ae.ignoreCase) { - ac = true; - } else { - if (/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) { - S = true; - ac = false; - break; - } - } - } - var Y = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 }; - function ab(ah) { - var ag = ah.charCodeAt(0); - if (ag !== 92) { - return ag; - } - var af = ah.charAt(1); - ag = Y[af]; - if (ag) { - return ag; - } else { - if ('0' <= af && af <= '7') { - return parseInt(ah.substring(1), 8); - } else { - if (af === 'u' || af === 'x') { - return parseInt(ah.substring(2), 16); - } else { - return ah.charCodeAt(1); - } - } - } - } - function T(af) { - if (af < 32) { - return (af < 16 ? '\\x0' : '\\x') + af.toString(16); - } - var ag = String.fromCharCode(af); - if (ag === '\\' || ag === '-' || ag === '[' || ag === ']') { - ag = '\\' + ag; - } - return ag; - } - function X(am) { - var aq = am - .substring(1, am.length - 1) - .match( - new RegExp( - '\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]', - 'g' - ) - ); - var ak = []; - var af = []; - var ao = aq[0] === '^'; - for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) { - var ah = aq[ar]; - if (/\\[bdsw]/i.test(ah)) { - ak.push(ah); - } else { - var ag = ab(ah); - var al; - if (ar + 2 < aj && '-' === aq[ar + 1]) { - al = ab(aq[ar + 2]); - ar += 2; - } else { - al = ag; - } - af.push([ag, al]); - if (!(al < 65 || ag > 122)) { - if (!(al < 65 || ag > 90)) { - af.push([Math.max(65, ag) | 32, Math.min(al, 90) | 32]); - } - if (!(al < 97 || ag > 122)) { - af.push([Math.max(97, ag) & ~32, Math.min(al, 122) & ~32]); - } - } - } - } - af.sort(function (av, au) { - return av[0] - au[0] || au[1] - av[1]; - }); - var ai = []; - var ap = [NaN, NaN]; - for (var ar = 0; ar < af.length; ++ar) { - var at = af[ar]; - if (at[0] <= ap[1] + 1) { - ap[1] = Math.max(ap[1], at[1]); - } else { - ai.push((ap = at)); - } - } - var an = ['[']; - if (ao) { - an.push('^'); - } - an.push.apply(an, ak); - for (var ar = 0; ar < ai.length; ++ar) { - var at = ai[ar]; - an.push(T(at[0])); - if (at[1] > at[0]) { - if (at[1] + 1 > at[0]) { - an.push('-'); - } - an.push(T(at[1])); - } - } - an.push(']'); - return an.join(''); - } - function W(al) { - var aj = al.source.match( - new RegExp( - '(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)', - 'g' - ) - ); - var ah = aj.length; - var an = []; - for (var ak = 0, am = 0; ak < ah; ++ak) { - var ag = aj[ak]; - if (ag === '(') { - ++am; - } else { - if ('\\' === ag.charAt(0)) { - var af = +ag.substring(1); - if (af && af <= am) { - an[af] = -1; - } - } - } - } - for (var ak = 1; ak < an.length; ++ak) { - if (-1 === an[ak]) { - an[ak] = ++ad; - } - } - for (var ak = 0, am = 0; ak < ah; ++ak) { - var ag = aj[ak]; - if (ag === '(') { - ++am; - if (an[am] === undefined) { - aj[ak] = '(?:'; - } - } else { - if ('\\' === ag.charAt(0)) { - var af = +ag.substring(1); - if (af && af <= am) { - aj[ak] = '\\' + an[am]; - } - } - } - } - for (var ak = 0, am = 0; ak < ah; ++ak) { - if ('^' === aj[ak] && '^' !== aj[ak + 1]) { - aj[ak] = ''; - } - } - if (al.ignoreCase && S) { - for (var ak = 0; ak < ah; ++ak) { - var ag = aj[ak]; - var ai = ag.charAt(0); - if (ag.length >= 2 && ai === '[') { - aj[ak] = X(ag); - } else { - if (ai !== '\\') { - aj[ak] = ag.replace(/[a-zA-Z]/g, function (ao) { - var ap = ao.charCodeAt(0); - return '[' + String.fromCharCode(ap & ~32, ap | 32) + ']'; - }); - } - } - } - } - return aj.join(''); - } - var aa = []; - for (var V = 0, U = Z.length; V < U; ++V) { - var ae = Z[V]; - if (ae.global || ae.multiline) { - throw new Error('' + ae); - } - aa.push('(?:' + W(ae) + ')'); - } - return new RegExp(aa.join('|'), ac ? 'gi' : 'g'); - } - function a(V) { - var U = /(?:^|\s)nocode(?:\s|$)/; - var X = []; - var T = 0; - var Z = []; - var W = 0; - var S; - if (V.currentStyle) { - S = V.currentStyle.whiteSpace; - } else { - if (window.getComputedStyle) { - S = document.defaultView.getComputedStyle(V, null).getPropertyValue('white-space'); - } - } - var Y = S && 'pre' === S.substring(0, 3); - function aa(ab) { - switch (ab.nodeType) { - case 1: - if (U.test(ab.className)) { - return; - } - for (var ae = ab.firstChild; ae; ae = ae.nextSibling) { - aa(ae); - } - var ad = ab.nodeName; - if ('BR' === ad || 'LI' === ad) { - X[W] = '\n'; - Z[W << 1] = T++; - Z[(W++ << 1) | 1] = ab; - } - break; - case 3: - case 4: - var ac = ab.nodeValue; - if (ac.length) { - if (!Y) { - ac = ac.replace(/[ \t\r\n]+/g, ' '); - } else { - ac = ac.replace(/\r\n?/g, '\n'); - } - X[W] = ac; - Z[W << 1] = T; - T += ac.length; - Z[(W++ << 1) | 1] = ab; - } - break; - } - } - aa(V); - return { sourceCode: X.join('').replace(/\n$/, ''), spans: Z }; - } - function B(S, U, W, T) { - if (!U) { - return; - } - var V = { sourceCode: U, basePos: S }; - W(V); - T.push.apply(T, V.decorations); - } - var v = /\S/; - function o(S) { - var V = undefined; - for (var U = S.firstChild; U; U = U.nextSibling) { - var T = U.nodeType; - V = T === 1 ? (V ? S : U) : T === 3 ? (v.test(U.nodeValue) ? S : V) : V; - } - return V === S ? undefined : V; - } - function g(U, T) { - var S = {}; - var V; - (function () { - var ad = U.concat(T); - var ah = []; - var ag = {}; - for (var ab = 0, Z = ad.length; ab < Z; ++ab) { - var Y = ad[ab]; - var ac = Y[3]; - if (ac) { - for (var ae = ac.length; --ae >= 0; ) { - S[ac.charAt(ae)] = Y; - } - } - var af = Y[1]; - var aa = '' + af; - if (!ag.hasOwnProperty(aa)) { - ah.push(af); - ag[aa] = null; - } - } - ah.push(/[\0-\uffff]/); - V = k(ah); - })(); - var X = T.length; - var W = function (ah) { - var Z = ah.sourceCode, - Y = ah.basePos; - var ad = [Y, F]; - var af = 0; - var an = Z.match(V) || []; - var aj = {}; - for (var ae = 0, aq = an.length; ae < aq; ++ae) { - var ag = an[ae]; - var ap = aj[ag]; - var ai = void 0; - var am; - if (typeof ap === 'string') { - am = false; - } else { - var aa = S[ag.charAt(0)]; - if (aa) { - ai = ag.match(aa[1]); - ap = aa[0]; - } else { - for (var ao = 0; ao < X; ++ao) { - aa = T[ao]; - ai = ag.match(aa[1]); - if (ai) { - ap = aa[0]; - break; - } - } - if (!ai) { - ap = F; - } - } - am = ap.length >= 5 && 'lang-' === ap.substring(0, 5); - if (am && !(ai && typeof ai[1] === 'string')) { - am = false; - ap = J; - } - if (!am) { - aj[ag] = ap; - } - } - var ab = af; - af += ag.length; - if (!am) { - ad.push(Y + ab, ap); - } else { - var al = ai[1]; - var ak = ag.indexOf(al); - var ac = ak + al.length; - if (ai[2]) { - ac = ag.length - ai[2].length; - ak = ac - al.length; - } - var ar = ap.substring(5); - B(Y + ab, ag.substring(0, ak), W, ad); - B(Y + ab + ak, al, q(ar, al), ad); - B(Y + ab + ac, ag.substring(ac), W, ad); - } - } - ah.decorations = ad; - }; - return W; - } - function i(T) { - var W = [], - S = []; - if (T.tripleQuotedStrings) { - W.push([ - C, - /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, - null, - '\'"', - ]); - } else { - if (T.multiLineStrings) { - W.push([ - C, - /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, - null, - '\'"`', - ]); - } else { - W.push([ - C, - /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, - null, - '"\'', - ]); - } - } - if (T.verbatimStrings) { - S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]); - } - var Y = T.hashComments; - if (Y) { - if (T.cStyleComments) { - if (Y > 1) { - W.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']); - } else { - W.push([ - j, - /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/, - null, - '#', - ]); - } - S.push([C, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, null]); - } else { - W.push([j, /^#[^\r\n]*/, null, '#']); - } - } - if (T.cStyleComments) { - S.push([j, /^\/\/[^\r\n]*/, null]); - S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]); - } - if (T.regexLiterals) { - var X = - '/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/'; - S.push(['lang-regex', new RegExp('^' + M + '(' + X + ')')]); - } - var V = T.types; - if (V) { - S.push([O, V]); - } - var U = ('' + T.keywords).replace(/^ | $/g, ''); - if (U.length) { - S.push([z, new RegExp('^(?:' + U.replace(/[\s,]+/g, '|') + ')\\b'), null]); - } - W.push([F, /^\s+/, null, ' \r\n\t\xA0']); - S.push( - [G, /^@[a-z_$][a-z_$@0-9]*/i, null], - [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], - [F, /^[a-z_$][a-z_$@0-9]*/i, null], - [ - G, - new RegExp( - '^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*', - 'i' - ), - null, - '0123456789', - ], - [F, /^\\[\s\S]?/, null], - [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null] - ); - return g(W, S); - } - var K = i({ - keywords: A, - hashComments: true, - cStyleComments: true, - multiLineStrings: true, - regexLiterals: true, - }); - function Q(V, ag) { - var U = /(?:^|\s)nocode(?:\s|$)/; - var ab = /\r\n?|\n/; - var ac = V.ownerDocument; - var S; - if (V.currentStyle) { - S = V.currentStyle.whiteSpace; - } else { - if (window.getComputedStyle) { - S = ac.defaultView.getComputedStyle(V, null).getPropertyValue('white-space'); - } - } - var Z = S && 'pre' === S.substring(0, 3); - var af = ac.createElement('LI'); - while (V.firstChild) { - af.appendChild(V.firstChild); - } - var W = [af]; - function ae(al) { - switch (al.nodeType) { - case 1: - if (U.test(al.className)) { - break; - } - if ('BR' === al.nodeName) { - ad(al); - if (al.parentNode) { - al.parentNode.removeChild(al); - } - } else { - for (var an = al.firstChild; an; an = an.nextSibling) { - ae(an); - } - } - break; - case 3: - case 4: - if (Z) { - var am = al.nodeValue; - var aj = am.match(ab); - if (aj) { - var ai = am.substring(0, aj.index); - al.nodeValue = ai; - var ah = am.substring(aj.index + aj[0].length); - if (ah) { - var ak = al.parentNode; - ak.insertBefore(ac.createTextNode(ah), al.nextSibling); - } - ad(al); - if (!ai) { - al.parentNode.removeChild(al); - } - } - } - break; - } - } - function ad(ak) { - while (!ak.nextSibling) { - ak = ak.parentNode; - if (!ak) { - return; - } - } - function ai(al, ar) { - var aq = ar ? al.cloneNode(false) : al; - var ao = al.parentNode; - if (ao) { - var ap = ai(ao, 1); - var an = al.nextSibling; - ap.appendChild(aq); - for (var am = an; am; am = an) { - an = am.nextSibling; - ap.appendChild(am); - } - } - return aq; - } - var ah = ai(ak.nextSibling, 0); - for (var aj; (aj = ah.parentNode) && aj.nodeType === 1; ) { - ah = aj; - } - W.push(ah); - } - for (var Y = 0; Y < W.length; ++Y) { - ae(W[Y]); - } - if (ag === (ag | 0)) { - W[0].setAttribute('value', ag); - } - var aa = ac.createElement('OL'); - aa.className = 'linenums'; - var X = Math.max(0, (ag - 1) | 0) || 0; - for (var Y = 0, T = W.length; Y < T; ++Y) { - af = W[Y]; - af.className = 'L' + ((Y + X) % 10); - if (!af.firstChild) { - af.appendChild(ac.createTextNode('\xA0')); - } - aa.appendChild(af); - } - V.appendChild(aa); - } - function D(ac) { - var aj = /\bMSIE\b/.test(navigator.userAgent); - var am = /\n/g; - var al = ac.sourceCode; - var an = al.length; - var V = 0; - var aa = ac.spans; - var T = aa.length; - var ah = 0; - var X = ac.decorations; - var Y = X.length; - var Z = 0; - X[Y] = an; - var ar, aq; - for (aq = ar = 0; aq < Y; ) { - if (X[aq] !== X[aq + 2]) { - X[ar++] = X[aq++]; - X[ar++] = X[aq++]; - } else { - aq += 2; - } - } - Y = ar; - for (aq = ar = 0; aq < Y; ) { - var at = X[aq]; - var ab = X[aq + 1]; - var W = aq + 2; - while (W + 2 <= Y && X[W + 1] === ab) { - W += 2; - } - X[ar++] = at; - X[ar++] = ab; - aq = W; - } - Y = X.length = ar; - var ae = null; - while (ah < T) { - var af = aa[ah]; - var S = aa[ah + 2] || an; - var ag = X[Z]; - var ap = X[Z + 2] || an; - var W = Math.min(S, ap); - var ak = aa[ah + 1]; - var U; - if (ak.nodeType !== 1 && (U = al.substring(V, W))) { - if (aj) { - U = U.replace(am, '\r'); - } - ak.nodeValue = U; - var ai = ak.ownerDocument; - var ao = ai.createElement('SPAN'); - ao.className = X[Z + 1]; - var ad = ak.parentNode; - ad.replaceChild(ao, ak); - ao.appendChild(ak); - if (V < S) { - aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S)); - ad.insertBefore(ak, ao.nextSibling); - } - } - V = W; - if (V >= S) { - ah += 2; - } - if (V >= ap) { - Z += 2; - } - } - } - var t = {}; - function c(U, V) { - for (var S = V.length; --S >= 0; ) { - var T = V[S]; - if (!t.hasOwnProperty(T)) { - t[T] = U; - } else { - if (window.console) { - console.warn('cannot override language handler %s', T); - } - } - } - } - function q(T, S) { - if (!(T && t.hasOwnProperty(T))) { - T = /^\s*]*(?:>|$)/], - [j, /^<\!--[\s\S]*?(?:-\->|$)/], - ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], - ['lang-', /^<%([\s\S]+?)(?:%>|$)/], - [L, /^(?:<[%?]|[%?]>)/], - ['lang-', /^]*>([\s\S]+?)<\/xmp\b[^>]*>/i], - ['lang-js', /^]*>([\s\S]*?)(<\/script\b[^>]*>)/i], - ['lang-css', /^]*>([\s\S]*?)(<\/style\b[^>]*>)/i], - ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], - ] - ), - ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl'] - ); - c( - g( - [ - [F, /^[\s]+/, null, ' \t\r\n'], - [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '"\''], - ], - [ - [m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], - [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], - ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], - [L, /^[=<>\/]+/], - ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i], - ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i], - ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i], - ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i], - ['lang-css', /^style\s*=\s*\'([^\']+)\'/i], - ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i], - ] - ), - ['in.tag'] - ); - c(g([], [[n, /^[\s\S]+/]]), ['uq.val']); - c(i({ keywords: l, hashComments: true, cStyleComments: true, types: e }), [ - 'c', - 'cc', - 'cpp', - 'cxx', - 'cyc', - 'm', - ]); - c(i({ keywords: 'null,true,false' }), ['json']); - c(i({ keywords: R, hashComments: true, cStyleComments: true, verbatimStrings: true, types: e }), [ - 'cs', - ]); - c(i({ keywords: x, cStyleComments: true }), ['java']); - c(i({ keywords: H, hashComments: true, multiLineStrings: true }), ['bsh', 'csh', 'sh']); - c(i({ keywords: I, hashComments: true, multiLineStrings: true, tripleQuotedStrings: true }), [ - 'cv', - 'py', - ]); - c(i({ keywords: s, hashComments: true, multiLineStrings: true, regexLiterals: true }), [ - 'perl', - 'pl', - 'pm', - ]); - c(i({ keywords: f, hashComments: true, multiLineStrings: true, regexLiterals: true }), ['rb']); - c(i({ keywords: w, cStyleComments: true, regexLiterals: true }), ['js']); - c( - i({ - keywords: r, - hashComments: 3, - cStyleComments: true, - multilineStrings: true, - tripleQuotedStrings: true, - regexLiterals: true, - }), - ['coffee'] - ); - c(g([], [[C, /^[\s\S]+/]]), ['regex']); - function d(V) { - var U = V.langExtension; - try { - var S = a(V.sourceNode); - var T = S.sourceCode; - V.sourceCode = T; - V.spans = S.spans; - V.basePos = 0; - q(U, T)(V); - D(V); - } catch (W) { - if ('console' in window) { - console.log(W && W.stack ? W.stack : W); - } - } - } - function y(W, V, U) { - var S = document.createElement('PRE'); - S.innerHTML = W; - if (U) { - Q(S, U); - } - var T = { langExtension: V, numberLines: U, sourceNode: S }; - d(T); - return S.innerHTML; - } - function b(ad) { - function Y(af) { - return document.getElementsByTagName(af); - } - var ac = [Y('pre'), Y('code'), Y('xmp')]; - var T = []; - for (var aa = 0; aa < ac.length; ++aa) { - for (var Z = 0, V = ac[aa].length; Z < V; ++Z) { - T.push(ac[aa][Z]); - } - } - ac = null; - var W = Date; - if (!W.now) { - W = { - now: function () { - return +new Date(); - }, - }; - } - var X = 0; - var S; - var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/; - var ae = /\bprettyprint\b/; - function U() { - var ag = window.PR_SHOULD_USE_CONTINUATION ? W.now() + 250 : Infinity; - for (; X < T.length && W.now() < ag; X++) { - var aj = T[X]; - var ai = aj.className; - if (ai.indexOf('prettyprint') >= 0) { - var ah = ai.match(ab); - var am; - if (!ah && (am = o(aj)) && 'CODE' === am.tagName) { - ah = am.className.match(ab); - } - if (ah) { - ah = ah[1]; - } - var al = false; - for (var ak = aj.parentNode; ak; ak = ak.parentNode) { - if ( - (ak.tagName === 'pre' || ak.tagName === 'code' || ak.tagName === 'xmp') && - ak.className && - ak.className.indexOf('prettyprint') >= 0 - ) { - al = true; - break; - } - } - if (!al) { - var af = aj.className.match(/\blinenums\b(?::(\d+))?/); - af = af ? (af[1] && af[1].length ? +af[1] : true) : false; - if (af) { - Q(aj, af); - } - S = { langExtension: ah, sourceNode: aj, numberLines: af }; - d(S); - } - } - } - if (X < T.length) { - setTimeout(U, 250); - } else { - if (ad) { - ad(); - } - } - } - U(); - } - window.prettyPrintOne = y; - window.prettyPrint = b; - window.PR = { - createSimpleLexer: g, - registerLangHandler: c, - sourceDecorator: i, - PR_ATTRIB_NAME: P, - PR_ATTRIB_VALUE: n, - PR_COMMENT: j, - PR_DECLARATION: E, - PR_KEYWORD: z, - PR_LITERAL: G, - PR_NOCODE: N, - PR_PLAIN: F, - PR_PUNCTUATION: L, - PR_SOURCE: J, - PR_STRING: C, - PR_TAG: m, - PR_TYPE: O, - }; -})(); -PR.registerLangHandler( - PR.createSimpleLexer( - [], - [ - [PR.PR_DECLARATION, /^]*(?:>|$)/], - [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], - [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], - ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], - ['lang-', /^<%([\s\S]+?)(?:%>|$)/], - ['lang-', /^]*>([\s\S]+?)<\/xmp\b[^>]*>/i], - [ - 'lang-handlebars', - /^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i, - ], - ['lang-js', /^]*>([\s\S]*?)(<\/script\b[^>]*>)/i], - ['lang-css', /^]*>([\s\S]*?)(<\/style\b[^>]*>)/i], - ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i], - [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/], - [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/], - [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/], - [PR.PR_COMMENT, /^{{![^}]*}}/], - ] - ), - ['handlebars', 'hbs'] -); -PR.registerLangHandler( - PR.createSimpleLexer( - [[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, ' \t\r\n\f']], - [ - [PR.PR_STRING, /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null], - [PR.PR_STRING, /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null], - ['lang-css-str', /^url\(([^\)\"\']*)\)/i], - [ - PR.PR_KEYWORD, - /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i, - null, - ], - ['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i], - [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], - [PR.PR_COMMENT, /^(?:)/], - [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], - [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i], - [PR.PR_PLAIN, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i], - [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/], - ] - ), - ['css'] -); -PR.registerLangHandler( - PR.createSimpleLexer( - [], - [[PR.PR_KEYWORD, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]] - ), - ['css-kw'] -); -PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]), ['css-str']); diff --git a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html b/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html deleted file mode 100644 index 4e7fb01..0000000 --- a/coverage/renderer/src/components/clips/clip/BookmarkClip.tsx.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - Code coverage report for renderer/src/components/clips/clip/BookmarkClip.tsx - - - - - - - - - -
-
-

- All files / - renderer/src/components/clips/clip BookmarkClip.tsx -

-
-
- 100% - Statements - 3/3 -
- -
- 100% - Branches - 2/2 -
- -
- 100% - Functions - 1/1 -
- -
- 100% - Lines - 3/3 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -  -  -  -  -  -  -  -1x -2x -  -2x -  -  -  -  -  -  -  -  - 
import classNames from 'classnames';
-import { ClipItem } from '../../../providers/clips';
-import { useTheme } from '../../../providers/theme';
-import styles from './Clip.module.css';
- 
-interface BookmarkClipProps {
-  clip: ClipItem;
-}
- 
-export const BookmarkClip = ({ clip }: BookmarkClipProps) => {
-  const { isLight } = useTheme();
- 
-  return (
-    <div>
-      <span className={classNames(styles.typeLabel, { [styles.light]: isLight })}>Bookmark:</span>
-      <span>
-        {clip.title || 'Untitled'} - {clip.url}
-      </span>
-    </div>
-  );
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html b/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html deleted file mode 100644 index 9afd01a..0000000 --- a/coverage/renderer/src/components/clips/clip/HtmlClip.tsx.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - Code coverage report for renderer/src/components/clips/clip/HtmlClip.tsx - - - - - - - - - -
-
-

- All files / - renderer/src/components/clips/clip HtmlClip.tsx -

-
-
- 100% - Statements - 3/3 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 1/1 -
- -
- 100% - Lines - 3/3 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -1x -1x -1x -  -  -  -  -  -  - 
import classNames from 'classnames';
-import { ClipItem } from '../../../providers/clips';
-import { useTheme } from '../../../providers/theme';
-import styles from './Clip.module.css';
- 
-interface HtmlClipProps {
-  clip: ClipItem;
-}
- 
-export const HtmlClip = ({ clip }: HtmlClipProps) => {
-  const { isLight } = useTheme();
-  return (
-    <div>
-      <span className={classNames(styles.typeLabel, { [styles.light]: isLight })}>HTML:</span>
-      <span>{clip.content}</span>
-    </div>
-  );
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html b/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html deleted file mode 100644 index 4a85e8e..0000000 --- a/coverage/renderer/src/components/clips/clip/ImageClip.tsx.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - Code coverage report for renderer/src/components/clips/clip/ImageClip.tsx - - - - - - - - - -
-
-

- All files / - renderer/src/components/clips/clip ImageClip.tsx -

-
-
- 100% - Statements - 32/32 -
- -
- 100% - Branches - 13/13 -
- -
- 100% - Functions - 3/3 -
- -
- 100% - Lines - 32/32 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100  -  -  -  -  -  -  -  -  -  -1x -11x -11x -  -11x -5x -  -5x -5x -5x -5x -5x -5x -  -  -5x -5x -  -  -5x -  -2x -  -  -  -5x -1x -  -  -  -5x -  -1x -  -  -  -5x -4x -  -  -5x -5x -5x -  -  -  -11x -  -  -  -  -  -  -  -  -2x -2x -2x -2x -2x -2x -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useRef } from 'react';
-import classNames from 'classnames';
-import { ClipItem } from '../../../providers/clips';
-import { useTheme } from '../../../providers/theme';
-import styles from './Clip.module.css';
- 
-interface ImageClipProps {
-  clip: ClipItem;
-}
- 
-export const ImageClip = ({ clip }: ImageClipProps) => {
-  const { isLight } = useTheme();
-  const popoverRef = useRef<HTMLDivElement>(null);
- 
-  const handleImageMouseEnter = (e: React.MouseEvent<HTMLImageElement>) => {
-    const popover = popoverRef.current;
-    /* istanbul ignore else -- @preserve */
-    if (popover) {
-      const rect = e.currentTarget.getBoundingClientRect();
-      const viewportHeight = window.innerHeight;
-      const viewportWidth = window.innerWidth;
-      const popoverHeight = 320; // 20rem max-height
-      const popoverWidth = 320; // 20rem max-width
- 
-      // Calculate preferred position (to the right of the image)
-      let left = rect.right + 16;
-      let top = rect.top + rect.height / 2 - popoverHeight / 2; // Center the popover vertically on the image
- 
-      // Check if popover would extend beyond right edge of viewport
-      if (left + popoverWidth > viewportWidth) {
-        // Position to the left of the image instead
-        left = rect.left - popoverWidth - 16;
-      }
- 
-      // Ensure popover doesn't go beyond left edge
-      if (left < 16) {
-        left = 16;
-      }
- 
-      // Check if popover would extend beyond bottom of viewport
-      if (top + popoverHeight > viewportHeight) {
-        // Position at bottom edge of viewport with padding
-        top = viewportHeight - popoverHeight - 16;
-      }
- 
-      // Check if popover would extend beyond top of viewport
-      if (top < 16) {
-        top = 16;
-      }
- 
-      popover.style.left = `${left}px`;
-      popover.style.top = `${top}px`;
-      popover.style.transform = 'none'; // Always use none since we calculate exact position
-    }
-  };
- 
-  return (
-    <div className={styles.imagePreviewContainer}>
-      <img
-        src={clip.content}
-        alt="Clipboard image preview"
-        className={classNames(styles.imagePreview, { [styles.light]: isLight })}
-        onMouseEnter={handleImageMouseEnter}
-        onError={(e) => {
-          // Fallback to text if image fails to load
-          const target = e.target as HTMLImageElement;
-          target.style.display = 'none';
-          const fallback = document.createElement('span');
-          fallback.textContent = 'Invalid image data';
-          fallback.style.color = isLight ? '#666666' : 'rgb(156 163 175)';
-          fallback.style.fontSize = '0.75rem';
-          target.parentNode?.appendChild(fallback);
-        }}
-      />
-      <div
-        ref={popoverRef}
-        className={classNames(styles.imagePopover, { [styles.light]: isLight })}
-      >
-        <img
-          src={clip.content}
-          alt="Large image preview"
-          className={classNames(styles.popoverImage, { [styles.light]: isLight })}
-        />
-      </div>
-      <div className={styles.imageInfo}>
-        <span className={classNames(styles.imageFilename, { [styles.light]: isLight })}>
-          Image (
-          {clip.content.startsWith('data:image/')
-            ? clip.content.split(';')[0].split('/')[1].toUpperCase()
-            : 'Unknown format'}
-          )
-        </span>
-        <span className={classNames(styles.imageSize, { [styles.light]: isLight })}>
-          {Math.round((clip.content.length * 0.75) / 1024)} KB
-        </span>
-      </div>
-    </div>
-  );
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html b/coverage/renderer/src/components/clips/clip/TextClip.tsx.html deleted file mode 100644 index 9280e72..0000000 --- a/coverage/renderer/src/components/clips/clip/TextClip.tsx.html +++ /dev/null @@ -1,751 +0,0 @@ - - - - Code coverage report for renderer/src/components/clips/clip/TextClip.tsx - - - - - - - - - -
-
-

- All files / - renderer/src/components/clips/clip TextClip.tsx -

-
-
- 100% - Statements - 64/64 -
- -
- 100% - Branches - 44/44 -
- -
- 100% - Functions - 11/11 -
- -
- 100% - Lines - 64/64 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -62x -62x -  -  -62x -62x -62x -62x -  -  -62x -62x -28x -28x -28x -28x -  -  -28x -28x -4x -  -  -  -  -  -62x -  -9x -2x -  -  -9x -  -2x -2x -  -  -  -  -  -  -  -62x -26x -26x -7x -  -  -  -  -62x -20x -19x -19x -19x -  -  -  -62x -9x -9x -9x -  -  -62x -5x -5x -  -5x -3x -3x -2x -  -  -  -  -62x -6x -1x -1x -5x -3x -3x -3x -3x -1x -  -  -  -  -62x -  -28x -  -28x -4x -4x -4x -4x -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -24x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -34x -  -  -  -34x -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useRef, useState, useEffect, useCallback } from 'react';
-import classNames from 'classnames';
-import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
-import { materialDark, materialLight } from 'react-syntax-highlighter/dist/esm/styles/prism';
-import { ClipItem } from '../../../providers/clips';
-import { useTheme } from '../../../providers/theme';
-import { useLanguageDetection } from '../../../providers/languageDetection';
-import { mapToSyntaxHighlighterLanguage } from '../../../utils/languageDetection';
-import styles from './Clip.module.css';
- 
-interface TextClipProps {
-  clip: ClipItem;
-  onUpdate: (newContent: string) => void;
-  onEditingChange?: (isEditing: boolean) => void;
-}
- 
-export const TextClip = ({ clip, onUpdate, onEditingChange }: TextClipProps) => {
-  const { isLight } = useTheme();
-  const { isCodeDetectionEnabled } = useLanguageDetection();
- 
-  // State for inline editing
-  const [isEditing, setIsEditing] = useState(false);
-  const [editValue, setEditValue] = useState('');
-  const debounceRef = useRef<NodeJS.Timeout | null>(null);
-  const textareaRef = useRef<HTMLTextAreaElement>(null);
- 
-  // Auto-resize textarea
-  useEffect(() => {
-    if (isEditing && textareaRef.current) {
-      const textarea = textareaRef.current;
-      textarea.style.height = 'auto';
-      const newHeight = `${textarea.scrollHeight}px`;
-      textarea.style.height = newHeight;
- 
-      // Also update the syntax highlighter container if it exists
-      const container = textarea.closest(`.${styles.syntaxHighlightContainer}`);
-      if (container) {
-        (container as HTMLElement).style.height = newHeight;
-      }
-    }
-  }, [isEditing, editValue]);
- 
-  // Debounced update function
-  const debouncedUpdate = useCallback(
-    (newContent: string) => {
-      if (debounceRef.current) {
-        clearTimeout(debounceRef.current);
-      }
- 
-      debounceRef.current = setTimeout(() => {
-        /* istanbul ignore else -- @preserve */
-        if (newContent !== clip.content) {
-          onUpdate(newContent);
-        }
-      }, 500); // 500ms debounce
-    },
-    [clip.content, onUpdate]
-  );
- 
-  // Clean up timeout on unmount
-  useEffect(() => {
-    return () => {
-      if (debounceRef.current) {
-        clearTimeout(debounceRef.current);
-      }
-    };
-  }, []);
- 
-  const handleTextClick = () => {
-    if (clip.content.trim() !== '') {
-      setIsEditing(true);
-      setEditValue(clip.content);
-      onEditingChange?.(true);
-    }
-  };
- 
-  const handleTextChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {
-    const newValue = e.target.value;
-    setEditValue(newValue);
-    debouncedUpdate(newValue);
-  };
- 
-  const handleTextBlur = () => {
-    setIsEditing(false);
-    onEditingChange?.(false);
-    // Force immediate update on blur if there are pending changes
-    if (debounceRef.current) {
-      clearTimeout(debounceRef.current);
-      if (editValue !== clip.content) {
-        onUpdate(editValue);
-      }
-    }
-  };
- 
-  const handleTextKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
-    if (e.key === 'Enter' && !e.shiftKey) {
-      e.preventDefault();
-      handleTextBlur();
-    } else if (e.key === 'Escape') {
-      setEditValue(clip.content); // Reset to original value
-      setIsEditing(false);
-      onEditingChange?.(false);
-      if (debounceRef.current) {
-        clearTimeout(debounceRef.current);
-      }
-    }
-  };
- 
-  if (isEditing) {
-    // Check if syntax highlighting should be applied
-    const shouldHighlight = isCodeDetectionEnabled && clip.isCode && clip.language;
- 
-    if (shouldHighlight) {
-      const syntaxLanguage = mapToSyntaxHighlighterLanguage(clip.language!);
-      const syntaxStyle = isLight ? materialLight : materialDark;
-      const borderColor = isLight ? '#d0d0d0' : '#404040';
-      const backgroundColor = isLight ? '#f8f8f8' : '#404040';
- 
-      return (
-        <div className={styles.textEditorWrapper}>
-          <div className={styles.syntaxHighlightContainer}>
-            <SyntaxHighlighter
-              language={syntaxLanguage}
-              style={syntaxStyle}
-              customStyle={{
-                margin: 0,
-                padding: 0,
-                background: backgroundColor,
-                fontSize: 'inherit',
-                fontFamily: 'inherit',
-                lineHeight: 'inherit',
-                border: `1px solid ${borderColor}`,
-                borderRadius: '0.25rem',
-                overflow: 'hidden',
-                boxSizing: 'border-box',
-              }}
-              codeTagProps={{
-                style: {
-                  fontFamily: 'inherit',
-                  fontSize: 'inherit',
-                  lineHeight: 'inherit',
-                  background: 'transparent !important',
-                  padding: 0,
-                  margin: 0,
-                },
-              }}
-              preTag="pre"
-              PreTag={({ children, ...props }) => (
-                <pre {...props} style={{ ...props.style, margin: 0, padding: '0.125rem 0.25rem' }}>
-                  {children}
-                </pre>
-              )}
-            >
-              {editValue}
-            </SyntaxHighlighter>
-            <textarea
-              ref={textareaRef}
-              value={editValue}
-              onChange={handleTextChange}
-              onBlur={handleTextBlur}
-              onKeyDown={handleTextKeyDown}
-              className={classNames(styles.textEditor, styles.syntaxOverlay, {
-                [styles.light]: isLight,
-              })}
-              autoFocus
-              rows={1}
-              spellCheck={false}
-              style={{
-                resize: 'none',
-                minHeight: '1.2em',
-                color: 'transparent',
-                caretColor: isLight ? '#000' : '#fff',
-                lineHeight: 'inherit',
-              }}
-            />
-          </div>
-        </div>
-      );
-    } else {
-      // Regular textarea without syntax highlighting
-      return (
-        <div className={styles.textEditorWrapper}>
-          <textarea
-            ref={textareaRef}
-            value={editValue}
-            onChange={handleTextChange}
-            onBlur={handleTextBlur}
-            onKeyDown={handleTextKeyDown}
-            className={classNames(styles.textEditor, { [styles.light]: isLight })}
-            autoFocus
-            rows={1}
-            spellCheck={false}
-            style={{
-              resize: 'none',
-              minHeight: '1.2em',
-            }}
-          />
-        </div>
-      );
-    }
-  } else {
-    // Display mode - single line with no language indicators
-    // Convert multiline text to single line for display
-    const displayContent =
-      clip.content.trim() === ''
-        ? '(empty)'
-        : clip.content.replace(/\r?\n/g, ' ').replace(/\s+/g, ' ');
- 
-    return (
-      <span
-        onClick={handleTextClick}
-        className={classNames(
-          styles.editableText,
-          { [styles.light]: isLight },
-          { [styles.emptyText]: clip.content.trim() === '' }
-        )}
-        title={clip.content.trim() === '' ? 'Empty clip' : 'Click to edit'}
-      >
-        {displayContent}
-      </span>
-    );
-  }
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/renderer/src/components/clips/clip/index.html b/coverage/renderer/src/components/clips/clip/index.html deleted file mode 100644 index 0a4c05a..0000000 --- a/coverage/renderer/src/components/clips/clip/index.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - Code coverage report for renderer/src/components/clips/clip - - - - - - - - - -
-
-

- All files renderer/src/components/clips/clip -

-
-
- 100% - Statements - 102/102 -
- -
- 100% - Branches - 59/59 -
- -
- 100% - Functions - 16/16 -
- -
- 100% - Lines - 102/102 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- BookmarkClip.tsx - -
-
-
-
-
100%3/3100%2/2100%1/1100%3/3
- HtmlClip.tsx - -
-
-
-
-
100%3/3100%0/0100%1/1100%3/3
- ImageClip.tsx - -
-
-
-
-
100%32/32100%13/13100%3/3100%32/32
- TextClip.tsx - -
-
-
-
-
100%64/64100%44/44100%11/11100%64/64
-
-
- -
- - - - - - - - diff --git a/coverage/renderer/src/hooks/index.html b/coverage/renderer/src/hooks/index.html deleted file mode 100644 index 480707b..0000000 --- a/coverage/renderer/src/hooks/index.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - Code coverage report for renderer/src/hooks - - - - - - - - - -
-
-

All files renderer/src/hooks

-
-
- 100% - Statements - 27/27 -
- -
- 100% - Branches - 10/10 -
- -
- 100% - Functions - 4/4 -
- -
- 100% - Lines - 27/27 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- usePatternDetection.ts - -
-
-
-
-
100%27/27100%10/10100%4/4100%27/27
-
-
- -
- - - - - - - - diff --git a/coverage/renderer/src/hooks/usePatternDetection.ts.html b/coverage/renderer/src/hooks/usePatternDetection.ts.html deleted file mode 100644 index 1a8370b..0000000 --- a/coverage/renderer/src/hooks/usePatternDetection.ts.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - Code coverage report for renderer/src/hooks/usePatternDetection.ts - - - - - - - - - -
-
-

- All files / - renderer/src/hooks usePatternDetection.ts -

-
-
- 100% - Statements - 27/27 -
- -
- 100% - Branches - 10/10 -
- -
- 100% - Functions - 4/4 -
- -
- 100% - Lines - 27/27 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58  -  -  -  -  -  -  -22x -22x -22x -  -22x -11x -  -11x -3x -3x -3x -  -  -8x -7x -7x -7x -  -4x -3x -3x -  -  -3x -3x -2x -2x -  -  -7x -5x -  -  -  -  -  -8x -  -8x -4x -4x -  -  -  -22x -  -  -  -  -  - 
import { useState, useEffect } from 'react';
-import { PatternMatch } from '../../../shared/types';
- 
-/**
- * Hook to detect patterns in clip content using Quick Clips search terms
- */
-export function usePatternDetection(content: string) {
-  const [hasPatterns, setHasPatterns] = useState(false);
-  const [patterns, setPatterns] = useState<PatternMatch[]>([]);
-  const [loading, setLoading] = useState(false);
- 
-  useEffect(() => {
-    let isCancelled = false;
- 
-    if (!content || content.trim().length === 0) {
-      setHasPatterns(false);
-      setPatterns([]);
-      return;
-    }
- 
-    const detectPatterns = async () => {
-      setLoading(true);
-      try {
-        const matches = await window.api.quickClipsScanText(content);
- 
-        if (!isCancelled) {
-          setPatterns(matches);
-          setHasPatterns(matches.length > 0);
-        }
-      } catch (error) {
-        console.error('Failed to scan for patterns:', error);
-        if (!isCancelled) {
-          setPatterns([]);
-          setHasPatterns(false);
-        }
-      } finally {
-        if (!isCancelled) {
-          setLoading(false);
-        }
-      }
-    };
- 
-    // Debounce pattern detection to avoid excessive API calls
-    const timeoutId = setTimeout(detectPatterns, 300);
- 
-    return () => {
-      isCancelled = true;
-      clearTimeout(timeoutId);
-    };
-  }, [content]);
- 
-  return {
-    hasPatterns,
-    patterns,
-    loading,
-  };
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/renderer/src/providers/index.html b/coverage/renderer/src/providers/index.html deleted file mode 100644 index c0604b8..0000000 --- a/coverage/renderer/src/providers/index.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - Code coverage report for renderer/src/providers - - - - - - - - - -
-
-

All files renderer/src/providers

-
-
- 100% - Statements - 59/59 -
- -
- 100% - Branches - 20/20 -
- -
- 100% - Functions - 11/11 -
- -
- 100% - Lines - 54/54 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- theme.tsx - -
-
-
-
-
100%59/59100%20/20100%11/11100%54/54
-
-
- -
- - - - - - - - diff --git a/coverage/renderer/src/providers/theme.tsx.html b/coverage/renderer/src/providers/theme.tsx.html deleted file mode 100644 index 6b529ca..0000000 --- a/coverage/renderer/src/providers/theme.tsx.html +++ /dev/null @@ -1,493 +0,0 @@ - - - - Code coverage report for renderer/src/providers/theme.tsx - - - - - - - - - -
-
-

- All files / - renderer/src/providers theme.tsx -

-
-
- 100% - Statements - 59/59 -
- -
- 100% - Branches - 20/20 -
- -
- 100% - Functions - 11/11 -
- -
- 100% - Lines - 54/54 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -1x -32x -32x -  -  -32x -  -  -20x -14x -  -6x -  -  -20x -  -  -20x -16x -16x -  -4x -4x -  -  -  -  -32x -15x -15x -  -14x -14x -13x -15x -15x -  -1x -  -1x -  -  -  -15x -  -  -  -32x -15x -  -13x -2x -1x -1x -  -  -  -  -13x -  -  -13x -  -  -  -32x -24x -  -18x -18x -  -18x -18x -  -  -32x -4x -4x -  -  -4x -3x -3x -3x -  -  -  -  -1x -  -  -  -  -32x -  -  -  -  -  -  -  -32x -  -  -1x -35x -35x -2x -  -32x -  - 
import React, {
-  createContext,
-  useContext,
-  useState,
-  useEffect,
-  useCallback,
-  ReactNode,
-} from 'react';
-import type { UserSettings } from '../../../shared/types';
- 
-export type Theme = 'light' | 'dark' | 'system';
- 
-interface ThemeContextType {
-  theme: Theme;
-  effectiveTheme: 'light' | 'dark';
-  setTheme: (theme: Theme) => void;
-  isLight: boolean;
-  isDark: boolean;
-}
- 
-const ThemeContext = createContext<ThemeContextType | undefined>(undefined);
- 
-interface ThemeProviderProps {
-  children: ReactNode;
-}
- 
-export const ThemeProvider: React.FC<ThemeProviderProps> = ({ children }) => {
-  const [theme, setThemeState] = useState<Theme>('system');
-  const [effectiveTheme, setEffectiveTheme] = useState<'light' | 'dark'>('dark');
- 
-  // Update effective theme based on user preference and system preference
-  const updateEffectiveTheme = useCallback((themePreference: Theme) => {
-    let resolvedTheme: 'light' | 'dark';
- 
-    if (themePreference === 'system') {
-      resolvedTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
-    } else {
-      resolvedTheme = themePreference;
-    }
- 
-    setEffectiveTheme(resolvedTheme);
- 
-    // Apply theme to document body for global CSS
-    if (resolvedTheme === 'light') {
-      document.body.classList.add('light');
-      document.body.classList.remove('dark');
-    } else {
-      document.body.classList.add('dark');
-      document.body.classList.remove('light');
-    }
-  }, []);
- 
-  // Load theme from settings
-  useEffect(() => {
-    const loadTheme = async () => {
-      if (!window.api) return;
- 
-      try {
-        const settings: UserSettings = await window.api.storageGetSettings();
-        const userTheme = settings?.theme || 'system';
-        setThemeState(userTheme);
-        updateEffectiveTheme(userTheme);
-      } catch (error) {
-        console.error('Failed to load theme settings:', error);
-        // Default to system theme
-        updateEffectiveTheme('system');
-      }
-    };
- 
-    loadTheme();
-  }, []);
- 
-  // Listen for settings changes from other windows
-  useEffect(() => {
-    if (!window.api?.onSettingsUpdated) return;
- 
-    const handleSettingsUpdate = (updatedSettings: UserSettings) => {
-      if (updatedSettings.theme) {
-        setThemeState(updatedSettings.theme);
-        updateEffectiveTheme(updatedSettings.theme);
-      }
-    };
- 
-    // onSettingsUpdated now returns a cleanup function
-    const cleanup = window.api.onSettingsUpdated(handleSettingsUpdate);
- 
-    // Return the cleanup function to remove only this specific listener
-    return cleanup;
-  }, []); // Empty dependency array since we want this to run only once
- 
-  // Listen for system theme changes when using system theme
-  useEffect(() => {
-    if (theme !== 'system') return;
- 
-    const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
-    const handleChange = () => updateEffectiveTheme('system');
- 
-    mediaQuery.addEventListener('change', handleChange);
-    return () => mediaQuery.removeEventListener('change', handleChange);
-  }, [theme]);
- 
-  const setTheme = async (newTheme: Theme) => {
-    setThemeState(newTheme);
-    updateEffectiveTheme(newTheme);
- 
-    // Save theme to settings
-    if (window.api) {
-      try {
-        const currentSettings: UserSettings = await window.api.storageGetSettings();
-        await window.api.storageSaveSettings({
-          ...currentSettings,
-          theme: newTheme,
-        });
-      } catch (error) {
-        console.error('Failed to save theme settings:', error);
-      }
-    }
-  };
- 
-  const contextValue: ThemeContextType = {
-    theme,
-    effectiveTheme,
-    setTheme,
-    isLight: effectiveTheme === 'light',
-    isDark: effectiveTheme === 'dark',
-  };
- 
-  return <ThemeContext.Provider value={contextValue}>{children}</ThemeContext.Provider>;
-};
- 
-export const useTheme = (): ThemeContextType => {
-  const context = useContext(ThemeContext);
-  if (context === undefined) {
-    throw new Error('useTheme must be used within a ThemeProvider');
-  }
-  return context;
-};
- 
- -
- -
- - - - - - - - diff --git a/coverage/renderer/src/utils/index.html b/coverage/renderer/src/utils/index.html deleted file mode 100644 index 830c92c..0000000 --- a/coverage/renderer/src/utils/index.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - Code coverage report for renderer/src/utils - - - - - - - - - -
-
-

All files renderer/src/utils

-
-
- 100% - Statements - 53/53 -
- -
- 100% - Branches - 34/34 -
- -
- 100% - Functions - 12/12 -
- -
- 100% - Lines - 52/52 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- languageDetection.ts - -
-
-
-
-
100%53/53100%34/34100%12/12100%52/52
-
-
- -
- - - - - - - - diff --git a/coverage/renderer/src/utils/languageDetection.ts.html b/coverage/renderer/src/utils/languageDetection.ts.html deleted file mode 100644 index 2ca66f6..0000000 --- a/coverage/renderer/src/utils/languageDetection.ts.html +++ /dev/null @@ -1,1717 +0,0 @@ - - - - Code coverage report for renderer/src/utils/languageDetection.ts - - - - - - - - - -
-
-

- All files / - renderer/src/utils languageDetection.ts -

-
-
- 100% - Statements - 53/53 -
- -
- 100% - Branches - 34/34 -
- -
- 100% - Functions - 12/12 -
- -
- 100% - Lines - 52/52 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -541 -542 -543 -544 -545 -546  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -15x -  -5x -  -  -10x -  -  -10x -140x -  -  -10x -  -10x -140x -  -  -140x -1320x -1320x -1320x -42x -  -  -  -  -140x -1010x -1010x -41x -  -  -  -  -140x -260x -1x -  -  -  -  -140x -  -140x -  -  -  -10x -10x -  -10x -140x -  -16x -16x -  -  -  -10x -  -  -  -  -  -  -  -  -16x -  -5x -  -  -  -11x -7x -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -4x -  -4x -100x -100x -6x -6x -  -  -  -  -4x -  -4x -  -1x -3x -  -2x -  -  -1x -  -  -  -  -  -  -  -  -11x -  -  -  -  -  -  -  -  -  -  -  -  -70x -  -  -  -  -  -  -16x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -16x -  - 
/**
- * Language detection ut  {
-    name: 'typescript',
-    extensions: ['.ts', '.tsx'],
-    keywords: ['interface', 'type', 'enum', 'namespace', 'declare', 'readonly', 'private', 'public', 'protected', 'const', 'let'],
-    patterns: [
-      /interface\s+\w+/,
-      /type\s+\w+\s*=/,
-      /:\s*(string|number|boolean|void|any|unknown|object)/,
-      /enum\s+\w+/,
-      /<.*>/,
-      /React\.FC/,
-      /useState|useEffect|useCallback/,
-      /\w+\s*:\s*\w+\s*=>/,        // Arrow function with type annotation
-      /=>\s*\{/,                   // Arrow function body
-      /const\s+\w+\s*:\s*\w+/,     // Typed constants
-      /\w+\.\w+\s*\(/,             // Method calls like setThemeState()
-      /\(\w+:\s*\w+\)/,            // Function parameters with types
-      /\w+Settings/,               // Common TS naming patterns
-      /update\w+\(/,               // Update function patterns
-      /const\s+\w+\s*=\s*\(/,      // const functionName = (
-      /if\s*\(\w+\.\w+\)/,         // if (object.property)
-      /\w+\.\w+\);/,               // method calls with semicolon
-    ],
-    priority: 8  // Increased priority for better detection
-  },snippets
- */
- 
-interface LanguagePattern {
-  name: string;
-  extensions: string[];
-  keywords: string[];
-  patterns: RegExp[];
-  priority: number; // Higher priority wins in case of conflicts
-}
- 
-const LANGUAGE_PATTERNS: LanguagePattern[] = [
-  {
-    name: 'javascript',
-    extensions: ['.js', '.jsx', '.mjs'],
-    keywords: [
-      'function',
-      'const',
-      'let',
-      'var',
-      'class',
-      'extends',
-      'import',
-      'export',
-      'async',
-      'await',
-      'console.log',
-      'if',
-      'else',
-    ],
-    patterns: [
-      /console\.log\s*\(/,
-      /function\s+\w+\s*\(/,
-      /=>\s*[{(]/,
-      /require\s*\(\s*['"`]/,
-      /import\s+.*\s+from\s+['"`]/,
-      /export\s+(default\s+)?/,
-      /\.addEventListener\s*\(/,
-      /document\.(getElementById|querySelector)/,
-      /const\s+\w+\s*=/,
-      /let\s+\w+\s*=/,
-      /var\s+\w+\s*=/,
-      /\w+\.\w+\s*\(/, // Method calls
-      /if\s*\(/, // Conditionals
-      /\{\s*\w+/, // Object literals
-    ],
-    priority: 6, // Increased priority
-  },
-  {
-    name: 'typescript',
-    extensions: ['.ts', '.tsx'],
-    keywords: [
-      'interface',
-      'type',
-      'enum',
-      'const',
-      'namespace',
-      'declare',
-      'readonly',
-      'private',
-      'public',
-      'protected',
-    ],
-    patterns: [
-      /interface\s+\w+/,
-      /type\s+\w+\s*=/,
-      /:\s*(string|number|boolean|void|any|unknown)/,
-      /enum\s+\w+/,
-      /<.*>/,
-      /React\.FC/,
-      /useState|useEffect|useCallback/,
-    ],
-    priority: 7,
-  },
-  {
-    name: 'python',
-    extensions: ['.py', '.pyw'],
-    keywords: [
-      'def',
-      'class',
-      'import',
-      'from',
-      'if',
-      'elif',
-      'else',
-      'for',
-      'while',
-      'try',
-      'except',
-      'finally',
-      'with',
-      'as',
-      'lambda',
-    ],
-    patterns: [
-      /def\s+\w+\s*\(/,
-      /class\s+\w+.*:/,
-      /if\s+__name__\s*==\s*['"]__main__['"]/,
-      /import\s+\w+/,
-      /from\s+\w+\s+import/,
-      /print\s*\(/,
-      /range\s*\(/,
-      /len\s*\(/,
-    ],
-    priority: 6,
-  },
-  {
-    name: 'java',
-    extensions: ['.java'],
-    keywords: [
-      'public',
-      'private',
-      'protected',
-      'static',
-      'final',
-      'abstract',
-      'class',
-      'interface',
-      'extends',
-      'implements',
-      'package',
-    ],
-    patterns: [
-      /public\s+static\s+void\s+main/,
-      /public\s+class\s+\w+/,
-      /System\.out\.println/,
-      /package\s+[\w.]+;/,
-      /import\s+[\w.]+;/,
-      /@Override/,
-      /new\s+\w+\s*\(/,
-    ],
-    priority: 6,
-  },
-  {
-    name: 'csharp',
-    extensions: ['.cs'],
-    keywords: [
-      'using',
-      'namespace',
-      'class',
-      'interface',
-      'struct',
-      'enum',
-      'public',
-      'private',
-      'protected',
-      'internal',
-      'static',
-      'readonly',
-    ],
-    patterns: [
-      /using\s+System/,
-      /namespace\s+\w+/,
-      /public\s+class\s+\w+/,
-      /Console\.WriteLine/,
-      /string\[\]\s+args/,
-      /\[.*Attribute.*\]/,
-      /var\s+\w+\s*=/,
-    ],
-    priority: 6,
-  },
-  {
-    name: 'cpp',
-    extensions: ['.cpp', '.cc', '.cxx', '.c++'],
-    keywords: [
-      '#include',
-      'using',
-      'namespace',
-      'class',
-      'struct',
-      'template',
-      'typename',
-      'public',
-      'private',
-      'protected',
-    ],
-    patterns: [
-      /#include\s*<.*>/,
-      /std::/,
-      /cout\s*<<|cin\s*>>/,
-      /using\s+namespace\s+std/,
-      /template\s*<.*>/,
-      /class\s+\w+.*{/,
-      /int\s+main\s*\(/,
-    ],
-    priority: 6,
-  },
-  {
-    name: 'c',
-    extensions: ['.c', '.h'],
-    keywords: [
-      '#include',
-      '#define',
-      'int',
-      'char',
-      'float',
-      'double',
-      'void',
-      'struct',
-      'typedef',
-      'static',
-      'extern',
-    ],
-    patterns: [
-      /#include\s*<stdio\.h>/,
-      /#include\s*<stdlib\.h>/,
-      /printf\s*\(/,
-      /scanf\s*\(/,
-      /malloc\s*\(/,
-      /free\s*\(/,
-      /int\s+main\s*\(/,
-    ],
-    priority: 5,
-  },
-  {
-    name: 'html',
-    extensions: ['.html', '.htm'],
-    keywords: ['<!DOCTYPE', '<html', '<head', '<body', '<div', '<span', '<p', '<a', '<img'],
-    patterns: [
-      /<!DOCTYPE\s+html>/i,
-      /<html.*>/,
-      /<\/?\w+.*>/,
-      /<\w+\s+.*=.*>/,
-      /<script.*>/,
-      /<style.*>/,
-    ],
-    priority: 8,
-  },
-  {
-    name: 'css',
-    extensions: ['.css'],
-    keywords: [
-      'color',
-      'background',
-      'margin',
-      'padding',
-      'border',
-      'font',
-      'display',
-      'position',
-      'width',
-      'height',
-    ],
-    patterns: [
-      /\w+\s*:\s*[^;]+;/,
-      /\.\w+\s*{/,
-      /#\w+\s*{/,
-      /@media.*{/,
-      /@import/,
-      /rgb\s*\(/,
-      /rgba\s*\(/,
-      /:\s*hover/,
-    ],
-    priority: 7,
-  },
-  {
-    name: 'json',
-    extensions: ['.json'],
-    keywords: [],
-    patterns: [
-      /^\s*\{[\s\S]*\}\s*$/,
-      /^\s*\[[\s\S]*\]\s*$/,
-      /"[^"]*"\s*:\s*"[^"]*"/,
-      /"[^"]*"\s*:\s*\d+/,
-      /"[^"]*"\s*:\s*(true|false|null)/,
-    ],
-    priority: 9,
-  },
-  {
-    name: 'xml',
-    extensions: ['.xml', '.xsd', '.xsl'],
-    keywords: ['<?xml', '</', '<!--'],
-    patterns: [/<\?xml.*\?>/, /<\/?\w+.*>/, /<!--.*-->/, /<\w+\s+.*=.*\/>/],
-    priority: 7,
-  },
-  {
-    name: 'sql',
-    extensions: ['.sql'],
-    keywords: [
-      'SELECT',
-      'FROM',
-      'WHERE',
-      'INSERT',
-      'UPDATE',
-      'DELETE',
-      'CREATE',
-      'DROP',
-      'ALTER',
-      'TABLE',
-      'INDEX',
-    ],
-    patterns: [
-      /SELECT\s+.*\s+FROM/i,
-      /INSERT\s+INTO/i,
-      /UPDATE\s+.*\s+SET/i,
-      /DELETE\s+FROM/i,
-      /CREATE\s+TABLE/i,
-      /DROP\s+TABLE/i,
-      /ALTER\s+TABLE/i,
-    ],
-    priority: 8,
-  },
-  {
-    name: 'bash',
-    extensions: ['.sh', '.bash'],
-    keywords: [
-      '#!/bin/bash',
-      '#!/bin/sh',
-      'echo',
-      'cd',
-      'ls',
-      'grep',
-      'awk',
-      'sed',
-      'chmod',
-      'chown',
-    ],
-    patterns: [/^#!/, /\$\w+/, /echo\s+/, /\|\s*grep/, /\|\s*awk/, /chmod\s+/, /cd\s+/],
-    priority: 6,
-  },
-  {
-    name: 'powershell',
-    extensions: ['.ps1'],
-    keywords: ['Get-', 'Set-', 'New-', 'Remove-', '$_', 'ForEach-Object', 'Where-Object'],
-    patterns: [
-      /Get-\w+/,
-      /Set-\w+/,
-      /New-\w+/,
-      /\$\w+/,
-      /\|\s*ForEach-Object/,
-      /\|\s*Where-Object/,
-      /Write-Host/,
-    ],
-    priority: 6,
-  },
-];
- 
-/**
- * Detects the programming language of a text snippet
- * @param text The text to analyze
- * @returns The detected language name or null if no language detected
- */
-export function detectLanguage(text: string): string | null {
-  if (!text || text.trim().length < 5) {
-    // Reduced from 10 to 5
-    return null; // Too short to reliably detect
-  }
- 
-  const scores: Record<string, number> = {};
- 
-  // Initialize scores
-  LANGUAGE_PATTERNS.forEach((lang) => {
-    scores[lang.name] = 0;
-  });
- 
-  const lowerText = text.toLowerCase();
- 
-  LANGUAGE_PATTERNS.forEach((lang) => {
-    let score = 0;
- 
-    // Check for keywords
-    lang.keywords.forEach((keyword) => {
-      const regex = new RegExp(`\\b${keyword.toLowerCase()}\\b`, 'g');
-      const matches = lowerText.match(regex);
-      if (matches) {
-        score += matches.length * 2; // Keywords are worth 2 points each
-      }
-    });
- 
-    // Check for patterns
-    lang.patterns.forEach((pattern) => {
-      const matches = text.match(pattern);
-      if (matches) {
-        score += matches.length * 3; // Patterns are worth 3 points each
-      }
-    });
- 
-    // Bonus for file extension mentions (if any)
-    lang.extensions.forEach((ext) => {
-      if (lowerText.includes(ext)) {
-        score += 5;
-      }
-    });
- 
-    // Apply priority multiplier
-    score *= lang.priority;
- 
-    scores[lang.name] = score;
-  });
- 
-  // Find the language with the highest score
-  let maxScore = 0;
-  let detectedLanguage: string | null = null;
- 
-  Object.entries(scores).forEach(([lang, score]) => {
-    if (score > maxScore && score > 6) {
-      // Reduced threshold from 10 to 6
-      maxScore = score;
-      detectedLanguage = lang;
-    }
-  });
- 
-  return detectedLanguage;
-}
- 
-/**
- * Checks if text appears to be code (any programming language)
- * @param text The text to analyze
- * @returns true if the text appears to be code
- */
-export function isCode(text: string): boolean {
-  if (!text || text.trim().length < 3) {
-    // Reduced from 5 to 3
-    return false;
-  }
- 
-  // Check for strong code indicators first
-  if (hasStrongCodeIndicators(text)) {
-    return true;
-  }
- 
-  // Enhanced code indicators with more patterns
-  const codeIndicators = [
-    /[{}();]/g, // Brackets, parentheses, semicolons
-    /\w+\s*=\s*\w+/g, // Assignments
-    /\w+\s*:\s*\w+/g, // Type annotations, object properties
-    /=>\s*[{(]/g, // Arrow functions
-    /function\s*\(/g, // Function declarations
-    /if\s*\(/g, // Conditional statements
-    /for\s*\(/g, // Loops
-    /while\s*\(/g, // While loops
-    /class\s+\w+/g, // Class declarations
-    /interface\s+\w+/g, // Interface declarations
-    /type\s+\w+\s*=/g, // Type definitions
-    /import\s+/g, // Import statements
-    /export\s+/g, // Export statements
-    /include\s*</g, // Include statements
-    /console\./g, // Console methods
-    /\$\w+/g, // Variables (shell, PHP, etc.)
-    /<\/?\w+.*>/g, // HTML/XML tags
-    /\w+\s*:\s*[^;]+;/g, // CSS properties
-    /SELECT\s+.*\s+FROM/gi, // SQL queries
-    /const\s+\w+/g, // const declarations
-    /let\s+\w+/g, // let declarations
-    /var\s+\w+/g, // var declarations
-    /\.\w+\(/g, // Method calls
-    /new\s+\w+/g, // Object instantiation
-    /\w+\[\w*\]/g, // Array/object access
-  ];
- 
-  let indicatorCount = 0;
-  let totalMatches = 0;
- 
-  codeIndicators.forEach((pattern) => {
-    const matches = text.match(pattern);
-    if (matches) {
-      indicatorCount += 1;
-      totalMatches += matches.length;
-    }
-  });
- 
-  // More lenient detection for small snippets
-  const textLength = text.trim().length;
- 
-  if (textLength < 20) {
-    // Very small snippets: need at least 1 strong indicator
-    return indicatorCount >= 1 && totalMatches >= 1;
-  } else if (textLength < 50) {
-    // Small snippets: need at least 2 indicators
-    return indicatorCount >= 2 || totalMatches >= 3;
-  } else {
-    // Larger snippets: use original threshold
-    return indicatorCount >= 3 || totalMatches >= 4;
-  }
-}
- 
-/**
- * Enhanced code detection that specifically looks for common code patterns
- * This supplements the main isCode function for better small snippet detection
- */
-function hasStrongCodeIndicators(text: string): boolean {
-  const strongIndicators = [
-    /const\s+\w+\s*=\s*\(/, // const handleX = (
-    /\w+\s*:\s*\w+\s*\)\s*=>/, // parameter: Type) =>
-    /if\s*\(\s*\w+\.\w+/, // if (object.property
-    /\w+\.\w+\(/, // method calls
-    /setThemeState|updateEffectiveTheme/, // Specific React/state patterns
-    /updatedSettings\.\w+/, // Object property access
-    /\}\s*;?\s*$/, // Code block ending
-    /\w+Settings\s*:\s*\w+/, // Settings type patterns
-    /=>\s*\{/, // Arrow function with block
-    /\w+\s*:\s*\w+\s*\)\s*=>/, // Typed parameters in arrow functions
-  ];
- 
-  return strongIndicators.some((pattern) => pattern.test(text));
-}
- 
-/**
- * Maps detected language names to react-syntax-highlighter language identifiers
- */
-export function mapToSyntaxHighlighterLanguage(detectedLanguage: string): string {
-  const languageMap: Record<string, string> = {
-    javascript: 'javascript',
-    typescript: 'typescript',
-    python: 'python',
-    java: 'java',
-    csharp: 'csharp',
-    cpp: 'cpp',
-    c: 'c',
-    html: 'markup',
-    css: 'css',
-    json: 'json',
-    xml: 'xml',
-    sql: 'sql',
-    bash: 'bash',
-    powershell: 'powershell',
-  };
- 
-  return languageMap[detectedLanguage] || 'text';
-}
- 
- -
- -
- - - - - - - - diff --git a/coverage/shared/constants.ts.html b/coverage/shared/constants.ts.html deleted file mode 100644 index 2a5ebf7..0000000 --- a/coverage/shared/constants.ts.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - Code coverage report for shared/constants.ts - - - - - - - - - -
-
-

- All files / shared constants.ts -

-
-
- 100% - Statements - 1/1 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 0/0 -
- -
- 100% - Lines - 1/1 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-

-
1 -21x - 
export const DEFAULT_MAX_CLIPS = 100;
- 
- -
- -
- - - - - - - - diff --git a/coverage/shared/index.html b/coverage/shared/index.html deleted file mode 100644 index 454a86f..0000000 --- a/coverage/shared/index.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - Code coverage report for shared - - - - - - - - - -
-
-

All files shared

-
-
- 100% - Statements - 1/1 -
- -
- 100% - Branches - 0/0 -
- -
- 100% - Functions - 0/0 -
- -
- 100% - Lines - 1/1 -
-
-

- Press n or j to go to the next uncovered block, b, - p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File - Statements - BranchesFunctionsLines
- constants.ts - -
-
-
-
-
100%1/1100%0/0100%0/0100%1/1
-
-
- -
- - - - - - - - diff --git a/coverage/sort-arrow-sprite.png b/coverage/sort-arrow-sprite.png deleted file mode 100644 index 6ed68316eb3f65dec9063332d2f69bf3093bbfab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc diff --git a/coverage/sorter.js b/coverage/sorter.js deleted file mode 100644 index b73cd86..0000000 --- a/coverage/sorter.js +++ /dev/null @@ -1,205 +0,0 @@ -/* eslint-disable */ -var addSorting = (function () { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false, - }; - - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; - } - - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - - // Try to create a RegExp from the searchValue. If it fails (invalid regex), - // it will be treated as a plain text search - let searchRegex; - try { - searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive - } catch (error) { - searchRegex = null; - } - - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - let isMatch = false; - - if (searchRegex) { - // If a valid regex was created, use it for matching - isMatch = searchRegex.test(row.textContent); - } else { - // Otherwise, fall back to the original plain text search - isMatch = row.textContent.toLowerCase().includes(searchValue.toLowerCase()); - } - - row.style.display = isMatch ? '' : 'none'; - } - } - - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); - } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string', - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = colNode.innerHTML + ''; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function (a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function (a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function () { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function () { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/src/main/hotkeys/actions.test.ts b/src/main/hotkeys/actions.test.ts index fd46416..24c1ad3 100644 --- a/src/main/hotkeys/actions.test.ts +++ b/src/main/hotkeys/actions.test.ts @@ -190,7 +190,7 @@ describe('HotkeyActions', () => { it('copies unknown type as text', async () => { vi.mocked(storage.getClips).mockResolvedValue([ - { clip: { type: 'unknown', content: 'fallback' }, isLocked: false, timestamp: 1 }, + { clip: { type: 'unknown' as any, content: 'fallback' }, isLocked: false, timestamp: 1 }, ]); await actions.copyQuickClip(0); expect(clipboard.writeText).toHaveBeenCalledWith('fallback'); diff --git a/src/main/hotkeys/manager.test.ts b/src/main/hotkeys/manager.test.ts index 1d18487..df1ba91 100644 --- a/src/main/hotkeys/manager.test.ts +++ b/src/main/hotkeys/manager.test.ts @@ -186,7 +186,7 @@ describe('HotkeyManager', () => { quickClip4: { enabled: false, key: 'Ctrl+Shift+4' }, quickClip5: { enabled: false, key: 'Ctrl+Shift+5' }, // openToolsLauncher and searchClips deliberately missing - }, + } as any, }); await manager.initialize(); @@ -257,7 +257,6 @@ describe('HotkeyManager', () => { await manager.initialize(); // Make registerHotkeys throw by overriding unregisterAllHotkeys to throw outside inner try - const registry = (manager as any).registry; const origMethod = (manager as any).registerHotkeys.bind(manager); (manager as any).registerHotkeys = vi.fn().mockRejectedValue(new Error('register fail')); diff --git a/src/renderer/src/components/clips/clip/TextClip.test.tsx b/src/renderer/src/components/clips/clip/TextClip.test.tsx index 98e8087..4c68412 100644 --- a/src/renderer/src/components/clips/clip/TextClip.test.tsx +++ b/src/renderer/src/components/clips/clip/TextClip.test.tsx @@ -33,7 +33,7 @@ vi.mock('../../../utils/languageDetection', () => ({ })); vi.mock('react-syntax-highlighter', () => ({ - Prism: ({ children, PreTag, ...props }: any) => { + Prism: ({ children, PreTag }: any) => { const Tag = PreTag || 'pre'; return ( From ae0878747db794060df80e94e9c62261195dbf04 Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 20:53:01 -0700 Subject: [PATCH 11/18] patch call fix for pr comment --- .github/workflows/test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bd50a28..c559834 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -55,9 +55,9 @@ jobs: REPO="${{ github.repository }}" PR_NUMBER="${{ github.event.pull_request.number }}" - COMMENT_ID=$(gh api "repos/$REPO/issues/$PR_NUMBER/comments" --jq ".[] | select(.body | contains(\"$MARKER\")) | .id" 2>/dev/null || echo "") + COMMENT_ID=$(gh api "repos/$REPO/issues/$PR_NUMBER/comments" --jq ".[] | select(.body | contains(\"$MARKER\")) | .id" 2>/dev/null | head -1 | tr -d '[:space:]') if [ -n "$COMMENT_ID" ]; then - gh api "repos/$REPO/issues/$PR_NUMBER/comments/$COMMENT_ID" -X PATCH -f body="$BODY" + gh api "repos/$REPO/issues/comments/$COMMENT_ID" -X PATCH -f body="$BODY" else gh api "repos/$REPO/issues/$PR_NUMBER/comments" -f body="$BODY" fi @@ -138,9 +138,9 @@ jobs: REPO="${{ github.repository }}" PR_NUMBER="${{ github.event.pull_request.number }}" - COMMENT_ID=$(gh api "repos/$REPO/issues/$PR_NUMBER/comments" --jq ".[] | select(.body | contains(\"$MARKER\")) | .id" 2>/dev/null || echo "") + COMMENT_ID=$(gh api "repos/$REPO/issues/$PR_NUMBER/comments" --jq ".[] | select(.body | contains(\"$MARKER\")) | .id" 2>/dev/null | head -1 | tr -d '[:space:]') if [ -n "$COMMENT_ID" ]; then - gh api "repos/$REPO/issues/$PR_NUMBER/comments/$COMMENT_ID" -X PATCH -f body="$BODY" + gh api "repos/$REPO/issues/comments/$COMMENT_ID" -X PATCH -f body="$BODY" else gh api "repos/$REPO/issues/$PR_NUMBER/comments" -f body="$BODY" fi From cf0cf788da40e7916656fe88f24d2aa8f7de9f89 Mon Sep 17 00:00:00 2001 From: Dan Essig Date: Sat, 31 Jan 2026 21:15:23 -0700 Subject: [PATCH 12/18] fix typechecks and lint warnings --- electron.vite.config.ts | 4 +- src/main/clipboard/data.test.ts | 4 + src/main/clipboard/data.ts | 8 +- src/main/clipboard/quick-clips.test.ts | 16 ++-- src/main/clipboard/quick-clips.ts | 6 +- src/main/clipboard/quick-tools.test.ts | 7 +- src/main/clipboard/quick-tools.ts | 5 +- src/main/clipboard/search-terms.ts | 6 +- src/main/clipboard/storage-integration.ts | 10 +-- src/main/clipboard/templates.ts | 5 +- src/main/hotkeys/actions.test.ts | 6 ++ src/main/hotkeys/actions.ts | 3 +- src/main/hotkeys/manager.test.ts | 26 ++++-- src/main/hotkeys/manager.ts | 17 ++-- src/main/storage/file-operations.ts | 6 +- src/main/storage/index.ts | 5 +- src/main/storage/migration.ts | 82 ++++++++++++----- src/main/storage/quick-tools.ts | 12 +-- src/main/updater/index.ts | 15 ++-- src/main/window/creation.ts | 4 +- src/preload/index.ts | 44 +++++---- .../components/clips/QuickClipsScanner.tsx | 90 +++++++++---------- .../components/clips/clip/TextClip.test.tsx | 1 + .../components/settings/TemplateManager.tsx | 2 +- .../components/settings/UpdaterControl.tsx | 2 +- .../settings/hotkeys/HotkeyInstructions.tsx | 4 +- .../settings/hotkeys/useHotkeyManager.ts | 83 ++++++++--------- .../settings/quickclips/ToolsSection.tsx | 2 +- .../components/settings/quickclips/types.ts | 6 +- .../usersettings/ApplicationSettings.tsx | 2 +- .../settings/usersettings/WindowSettings.tsx | 2 +- .../settings/usersettings/useUserSettings.ts | 9 +- .../src/hooks/usePatternDetection.test.ts | 10 +++ src/renderer/src/providers/clips/index.tsx | 8 +- src/renderer/src/providers/clips/storage.ts | 9 +- .../src/providers/languageDetection.tsx | 7 +- src/renderer/src/providers/theme.test.tsx | 9 ++ src/renderer/src/providers/theme.tsx | 7 +- .../src/utils/languageDetection.test.ts | 4 + 39 files changed, 343 insertions(+), 205 deletions(-) diff --git a/electron.vite.config.ts b/electron.vite.config.ts index 5f73258..ee1c278 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -2,9 +2,7 @@ import { resolve } from 'path'; import { defineConfig, externalizeDepsPlugin } from 'electron-vite'; import react from '@vitejs/plugin-react'; import tailwindcss from '@tailwindcss/vite'; - -// Load package.json to get the version -const packageJson = require('./package.json'); +import packageJson from './package.json'; export default defineConfig({ main: { diff --git a/src/main/clipboard/data.test.ts b/src/main/clipboard/data.test.ts index 4a6bb8d..36b25a4 100644 --- a/src/main/clipboard/data.test.ts +++ b/src/main/clipboard/data.test.ts @@ -45,6 +45,7 @@ describe('getCurrentClipboardData', () => { vi.mocked(clipboard.readImage).mockReturnValue({ isEmpty: () => true, toDataURL: () => '', + // eslint-disable-next-line @typescript-eslint/no-explicit-any } as any); vi.mocked(clipboard.readBookmark).mockReturnValue({ title: '', url: '' }); }); @@ -71,6 +72,7 @@ describe('getCurrentClipboardData', () => { vi.mocked(clipboard.readImage).mockReturnValue({ isEmpty: () => false, toDataURL: () => 'data:image/png;base64,abc', + // eslint-disable-next-line @typescript-eslint/no-explicit-any } as any); const result = getCurrentClipboardData(); expect(result).toEqual({ type: 'image', content: 'data:image/png;base64,abc' }); @@ -150,6 +152,7 @@ describe('getClipboardImage', () => { vi.mocked(clipboard.readImage).mockReturnValue({ isEmpty: () => false, toDataURL: () => 'data:image/png;base64,abc', + // eslint-disable-next-line @typescript-eslint/no-explicit-any } as any); expect(getClipboardImage()).toBe('data:image/png;base64,abc'); }); @@ -158,6 +161,7 @@ describe('getClipboardImage', () => { vi.mocked(clipboard.readImage).mockReturnValue({ isEmpty: () => true, toDataURL: () => '', + // eslint-disable-next-line @typescript-eslint/no-explicit-any } as any); expect(getClipboardImage()).toBeNull(); }); diff --git a/src/main/clipboard/data.ts b/src/main/clipboard/data.ts index fb16c94..5f79918 100644 --- a/src/main/clipboard/data.ts +++ b/src/main/clipboard/data.ts @@ -4,17 +4,17 @@ import { clipboard, nativeImage } from 'electron'; export const getCurrentClipboardData = (): { type: string; content: string } | null => { // Priority: text > rtf > html > image > bookmark const text = clipboard.readText(); - if (text && text.trim()) { + if (text?.trim()) { return { type: 'text', content: text }; } const rtf = clipboard.readRTF(); - if (rtf && rtf.trim()) { + if (rtf?.trim()) { return { type: 'rtf', content: rtf }; } const html = clipboard.readHTML(); - if (html && html.trim()) { + if (html?.trim()) { return { type: 'html', content: html }; } @@ -25,7 +25,7 @@ export const getCurrentClipboardData = (): { type: string; content: string } | n try { const bookmark = clipboard.readBookmark(); - if (bookmark && bookmark.url) { + if (bookmark?.url) { return { type: 'bookmark', content: JSON.stringify(bookmark) }; } } catch { diff --git a/src/main/clipboard/quick-clips.test.ts b/src/main/clipboard/quick-clips.test.ts index d8bde7d..80d6370 100644 --- a/src/main/clipboard/quick-clips.test.ts +++ b/src/main/clipboard/quick-clips.test.ts @@ -464,9 +464,10 @@ describe('openToolsForMatches', () => { it('throws when storage fails', async () => { mockedStorage.getQuickTools.mockRejectedValue(new Error('storage error')); - await expect(openToolsForMatches([{ captures: { email: 'a@b.com' } }], ['t1'])).rejects.toThrow( - 'storage error' - ); + await expect( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + openToolsForMatches([{ captures: { email: 'a@b.com' } }] as any, ['t1']) + ).rejects.toThrow('storage error'); }); }); @@ -476,8 +477,11 @@ describe('exportQuickClipsConfig', () => { }); it('returns config with searchTerms, tools, templates, and version', async () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any mockedStorage.getSearchTerms.mockResolvedValue([{ id: '1' }] as any); + // eslint-disable-next-line @typescript-eslint/no-explicit-any mockedStorage.getQuickTools.mockResolvedValue([{ id: '2' }] as any); + // eslint-disable-next-line @typescript-eslint/no-explicit-any mockedStorage.getTemplates.mockResolvedValue([{ id: '3' }] as any); const result = await exportQuickClipsConfig(); @@ -502,13 +506,15 @@ describe('importQuickClipsConfig', () => { }); it('delegates to storage.importQuickClipsConfig', async () => { - const config = { searchTerms: [], tools: [], templates: [] }; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const config = { searchTerms: [], tools: [], templates: [] } as any; await importQuickClipsConfig(config); expect(mockedStorage.importQuickClipsConfig).toHaveBeenCalledWith(config); }); it('throws when storage fails', async () => { mockedStorage.importQuickClipsConfig.mockRejectedValue(new Error('import fail')); - await expect(importQuickClipsConfig({})).rejects.toThrow('import fail'); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + await expect(importQuickClipsConfig({} as any)).rejects.toThrow('import fail'); }); }); diff --git a/src/main/clipboard/quick-clips.ts b/src/main/clipboard/quick-clips.ts index 9618526..7ee26d3 100644 --- a/src/main/clipboard/quick-clips.ts +++ b/src/main/clipboard/quick-clips.ts @@ -1,6 +1,6 @@ import { shell } from 'electron'; import { storage } from '../storage'; -import type { PatternMatch } from '../../shared/types'; +import type { PatternMatch, QuickClipsConfig } from '../../shared/types'; // Quick clips scanning functions export const scanTextForPatterns = async (text: string): Promise => { @@ -48,7 +48,7 @@ export const scanTextForPatterns = async (text: string): Promise } }; -export const openToolsForMatches = async (matches: any[], toolIds: string[]) => { +export const openToolsForMatches = async (matches: PatternMatch[], toolIds: string[]) => { try { const tools = await storage.getQuickTools(); @@ -174,7 +174,7 @@ export const exportQuickClipsConfig = async () => { } }; -export const importQuickClipsConfig = async (config: any) => { +export const importQuickClipsConfig = async (config: QuickClipsConfig) => { try { // Use the new batch import method to avoid race conditions await storage.importQuickClipsConfig(config); diff --git a/src/main/clipboard/quick-tools.test.ts b/src/main/clipboard/quick-tools.test.ts index 0d7148c..e860578 100644 --- a/src/main/clipboard/quick-tools.test.ts +++ b/src/main/clipboard/quick-tools.test.ts @@ -59,6 +59,7 @@ describe('validateToolUrl', () => { it('throws when an unexpected error occurs', async () => { // Force an error by passing null as url + // eslint-disable-next-line @typescript-eslint/no-explicit-any await expect(validateToolUrl(null as any, [])).rejects.toThrow(); }); }); @@ -68,6 +69,7 @@ describe('getAllQuickTools', () => { it('returns tools from storage', async () => { const tools = [{ id: '1', name: 'Tool' }]; + // eslint-disable-next-line @typescript-eslint/no-explicit-any mockedStorage.getQuickTools.mockResolvedValue(tools as any); const result = await getAllQuickTools(); expect(result).toEqual(tools); @@ -83,6 +85,7 @@ describe('createQuickTool', () => { beforeEach(() => vi.clearAllMocks()); it('delegates to storage.createQuickTool', async () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any mockedStorage.createQuickTool.mockResolvedValue({ id: '1' } as any); const result = await createQuickTool('Test', 'https://example.com/{q}', ['q']); expect(mockedStorage.createQuickTool).toHaveBeenCalledWith('Test', 'https://example.com/{q}', [ @@ -101,6 +104,7 @@ describe('updateQuickTool', () => { beforeEach(() => vi.clearAllMocks()); it('delegates to storage.updateQuickTool', async () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any mockedStorage.updateQuickTool.mockResolvedValue({ id: '1' } as any); await updateQuickTool('1', { name: 'Updated' }); expect(mockedStorage.updateQuickTool).toHaveBeenCalledWith('1', { name: 'Updated' }); @@ -131,7 +135,8 @@ describe('reorderQuickTools', () => { beforeEach(() => vi.clearAllMocks()); it('delegates to storage.reorderQuickTools', async () => { - const tools = [{ id: '1' }, { id: '2' }]; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const tools = [{ id: '1' }, { id: '2' }] as any; mockedStorage.reorderQuickTools.mockResolvedValue(undefined); await reorderQuickTools(tools); expect(mockedStorage.reorderQuickTools).toHaveBeenCalledWith(tools); diff --git a/src/main/clipboard/quick-tools.ts b/src/main/clipboard/quick-tools.ts index d8665f3..c219d92 100644 --- a/src/main/clipboard/quick-tools.ts +++ b/src/main/clipboard/quick-tools.ts @@ -1,4 +1,5 @@ import { storage } from '../storage'; +import type { QuickTool } from '../../shared/types'; // Quick tools management functions export const getAllQuickTools = async () => { @@ -19,7 +20,7 @@ export const createQuickTool = async (name: string, url: string, captureGroups: } }; -export const updateQuickTool = async (id: string, updates: any) => { +export const updateQuickTool = async (id: string, updates: Partial) => { try { return await storage.updateQuickTool(id, updates); } catch (error) { @@ -37,7 +38,7 @@ export const deleteQuickTool = async (id: string) => { } }; -export const reorderQuickTools = async (tools: any[]) => { +export const reorderQuickTools = async (tools: QuickTool[]) => { try { await storage.reorderQuickTools(tools); } catch (error) { diff --git a/src/main/clipboard/search-terms.ts b/src/main/clipboard/search-terms.ts index 60e8f21..e960963 100644 --- a/src/main/clipboard/search-terms.ts +++ b/src/main/clipboard/search-terms.ts @@ -1,5 +1,5 @@ import { storage } from '../storage'; -import type { PatternMatch } from '../../shared/types'; +import type { PatternMatch, SearchTerm } from '../../shared/types'; const RESERVED_GROUP_NAME = /^c\d+$/; @@ -40,7 +40,7 @@ export const createSearchTerm = async (name: string, pattern: string) => { } }; -export const updateSearchTerm = async (id: string, updates: any) => { +export const updateSearchTerm = async (id: string, updates: Partial) => { try { if (updates.pattern) { validateCaptureGroupNames(updates.pattern); @@ -61,7 +61,7 @@ export const deleteSearchTerm = async (id: string) => { } }; -export const reorderSearchTerms = async (searchTerms: any[]) => { +export const reorderSearchTerms = async (searchTerms: SearchTerm[]) => { try { await storage.reorderSearchTerms(searchTerms); } catch (error) { diff --git a/src/main/clipboard/storage-integration.ts b/src/main/clipboard/storage-integration.ts index 955f9fc..bba0d67 100644 --- a/src/main/clipboard/storage-integration.ts +++ b/src/main/clipboard/storage-integration.ts @@ -1,8 +1,8 @@ import { storage } from '../storage'; -import type { ClipItem } from '../../shared/types'; +import type { ClipItem, StoredClip, UserSettings } from '../../shared/types'; // Storage integration functions -export const getClips = async (): Promise => { +export const getClips = async (): Promise => { try { return await storage.getClips(); } catch (error) { @@ -24,16 +24,16 @@ export const saveClips = async ( } }; -export const getSettings = async (): Promise => { +export const getSettings = async (): Promise => { try { return await storage.getSettings(); } catch (error) { console.error('Failed to get settings from storage:', error); - return {}; + return {} as UserSettings; } }; -export const saveSettings = async (settings: any): Promise => { +export const saveSettings = async (settings: UserSettings): Promise => { try { await storage.saveSettings(settings); return true; diff --git a/src/main/clipboard/templates.ts b/src/main/clipboard/templates.ts index 51d7fbb..bdb8df8 100644 --- a/src/main/clipboard/templates.ts +++ b/src/main/clipboard/templates.ts @@ -1,4 +1,5 @@ import { storage } from '../storage'; +import type { Template } from '../../shared/types'; // Template management functions export const getAllTemplates = async () => { @@ -19,7 +20,7 @@ export const createTemplate = async (name: string, content: string) => { } }; -export const updateTemplate = async (id: string, updates: any) => { +export const updateTemplate = async (id: string, updates: Partial