├── .gitignore ├── .vscode └── extensions.json ├── LICENSE ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── pnpm-lock.yaml ├── public ├── tauri.svg └── vite.svg ├── scripts └── generate-macros.py ├── src-tauri ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── build.rs ├── icons │ ├── 128x128.png │ ├── 128x128@2x.png │ ├── 32x32.png │ ├── Square107x107Logo.png │ ├── Square142x142Logo.png │ ├── Square150x150Logo.png │ ├── Square284x284Logo.png │ ├── Square30x30Logo.png │ ├── Square310x310Logo.png │ ├── Square44x44Logo.png │ ├── Square71x71Logo.png │ ├── Square89x89Logo.png │ ├── StoreLogo.png │ ├── icon.icns │ ├── icon.ico │ └── icon.png ├── src │ ├── autogen │ │ └── constants.rs │ ├── main.rs │ └── states │ │ └── states.rs └── tauri.conf.json ├── src ├── App.css ├── App.tsx ├── assets │ └── react.svg ├── constants │ ├── events.ts │ ├── global.ts │ └── index.ts ├── main.tsx ├── states │ └── global-state.ts ├── styles.css ├── types │ └── state.ts └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Sushant S Samuel 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tauri Global State Management 2 | 3 | A Tauri application with global state management. The local state for individual frontend windows is managed using Zustand, while the global state is managed and synced across all frontend windows using the Rust backend. 4 | 5 | ## Project Structure 6 | 7 | ```bash 8 | Project Root 9 | ├── scripts 10 | │ └── generate-macros.py 11 | ├── src 12 | │ ├── assets 13 | │ ├── constants 14 | │ │ ├── events.ts 15 | │ │ ├── global.ts 16 | │ │ └── index.ts 17 | │ ├── states 18 | │ │ └── global-state.ts 19 | │ ├── types 20 | │ │ └── state.ts 21 | │ ├── App.tsx 22 | │ ├── App.css 23 | │ ├── main.tsx 24 | │ ├── styles.css 25 | │ └── vite-env.d.ts 26 | ├── src-tauri 27 | │ ├── src 28 | │ │ ├── autogen 29 | │ │ │ └── constants.rs 30 | │ │ ├── states 31 | │ │ │ └── states.rs 32 | │ │ └── main.rs 33 | │ └── ... other files and folders 34 | └── ... other files and folders 35 | ``` 36 | 37 | ## Installation 38 | 39 | Clone the repository: 40 | 41 | ```bash 42 | git clone https://github.com/robosushie/tauri-global-state-management.git 43 | ``` 44 | 45 | Navigate into the project directory: 46 | 47 | ```bash 48 | cd tauri-global-state-management 49 | ``` 50 | 51 | Install the dependencies: 52 | 53 | ```bash 54 | pnpm install 55 | ``` 56 | 57 | Generate the Rust constants and enums: 58 | 59 | ```bash 60 | pnpm run autogen 61 | ``` 62 | 63 | ## Usage 64 | 65 | Start the Tauri application in development mode: 66 | 67 | ```bash 68 | pnpm run dev 69 | ``` 70 | 71 | You can interact with the frontend by clicking the increment, decrement, and toggle buttons. The global state should be updated and synced across all frontend windows. 72 | 73 | ## Future Roadmap 74 | 75 | - [ ] Add a STATE_FETCH event to fetch the state when different frontend windows come up at different times. This will also be useful when a webview window comes up after a crash. 76 | 77 | - [ ] Convert this into a single plugin with most of the backend state management code written with autogeneration. 78 | 79 | ## License 80 | 81 | This project is licensed under the MIT License. 82 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Tauri + React + TS 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tauri-global-state-management", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "autogen": "python scripts/generate-macros.py", 8 | "dev": "pnpm run autogen && vite", 9 | "build": "tsc && pnpm run autogen && vite build", 10 | "preview": "vite preview", 11 | "tauri": "tauri" 12 | }, 13 | "dependencies": { 14 | "@tauri-apps/api": "^1.4.0", 15 | "react": "^18.2.0", 16 | "react-dom": "^18.2.0", 17 | "zustand": "^4.3.9" 18 | }, 19 | "devDependencies": { 20 | "@tauri-apps/cli": "^1.4.0", 21 | "@types/node": "^20.4.4", 22 | "@types/react": "^18.2.15", 23 | "@types/react-dom": "^18.2.7", 24 | "@vitejs/plugin-react": "^4.0.3", 25 | "typescript": "^5.0.2", 26 | "vite": "^4.4.4" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | dependencies: 4 | '@tauri-apps/api': 5 | specifier: ^1.4.0 6 | version: 1.4.0 7 | '@types/node': 8 | specifier: ^20.4.4 9 | version: 20.4.4 10 | react: 11 | specifier: ^18.2.0 12 | version: 18.2.0 13 | react-dom: 14 | specifier: ^18.2.0 15 | version: 18.2.0(react@18.2.0) 16 | zustand: 17 | specifier: ^4.3.9 18 | version: 4.3.9(react@18.2.0) 19 | 20 | devDependencies: 21 | '@tauri-apps/cli': 22 | specifier: ^1.4.0 23 | version: 1.4.0 24 | '@types/react': 25 | specifier: ^18.2.15 26 | version: 18.2.15 27 | '@types/react-dom': 28 | specifier: ^18.2.7 29 | version: 18.2.7 30 | '@vitejs/plugin-react': 31 | specifier: ^4.0.3 32 | version: 4.0.3(vite@4.4.4) 33 | typescript: 34 | specifier: ^5.0.2 35 | version: 5.0.2 36 | vite: 37 | specifier: ^4.4.4 38 | version: 4.4.4(@types/node@20.4.4) 39 | 40 | packages: 41 | 42 | /@ampproject/remapping@2.2.1: 43 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} 44 | engines: {node: '>=6.0.0'} 45 | dependencies: 46 | '@jridgewell/gen-mapping': 0.3.3 47 | '@jridgewell/trace-mapping': 0.3.18 48 | dev: true 49 | 50 | /@babel/code-frame@7.22.5: 51 | resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} 52 | engines: {node: '>=6.9.0'} 53 | dependencies: 54 | '@babel/highlight': 7.22.5 55 | dev: true 56 | 57 | /@babel/compat-data@7.22.9: 58 | resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} 59 | engines: {node: '>=6.9.0'} 60 | dev: true 61 | 62 | /@babel/core@7.22.9: 63 | resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} 64 | engines: {node: '>=6.9.0'} 65 | dependencies: 66 | '@ampproject/remapping': 2.2.1 67 | '@babel/code-frame': 7.22.5 68 | '@babel/generator': 7.22.9 69 | '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) 70 | '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) 71 | '@babel/helpers': 7.22.6 72 | '@babel/parser': 7.22.7 73 | '@babel/template': 7.22.5 74 | '@babel/traverse': 7.22.8 75 | '@babel/types': 7.22.5 76 | convert-source-map: 1.9.0 77 | debug: 4.3.4 78 | gensync: 1.0.0-beta.2 79 | json5: 2.2.3 80 | semver: 6.3.1 81 | transitivePeerDependencies: 82 | - supports-color 83 | dev: true 84 | 85 | /@babel/generator@7.22.9: 86 | resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} 87 | engines: {node: '>=6.9.0'} 88 | dependencies: 89 | '@babel/types': 7.22.5 90 | '@jridgewell/gen-mapping': 0.3.3 91 | '@jridgewell/trace-mapping': 0.3.18 92 | jsesc: 2.5.2 93 | dev: true 94 | 95 | /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): 96 | resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} 97 | engines: {node: '>=6.9.0'} 98 | peerDependencies: 99 | '@babel/core': ^7.0.0 100 | dependencies: 101 | '@babel/compat-data': 7.22.9 102 | '@babel/core': 7.22.9 103 | '@babel/helper-validator-option': 7.22.5 104 | browserslist: 4.21.9 105 | lru-cache: 5.1.1 106 | semver: 6.3.1 107 | dev: true 108 | 109 | /@babel/helper-environment-visitor@7.22.5: 110 | resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} 111 | engines: {node: '>=6.9.0'} 112 | dev: true 113 | 114 | /@babel/helper-function-name@7.22.5: 115 | resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} 116 | engines: {node: '>=6.9.0'} 117 | dependencies: 118 | '@babel/template': 7.22.5 119 | '@babel/types': 7.22.5 120 | dev: true 121 | 122 | /@babel/helper-hoist-variables@7.22.5: 123 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} 124 | engines: {node: '>=6.9.0'} 125 | dependencies: 126 | '@babel/types': 7.22.5 127 | dev: true 128 | 129 | /@babel/helper-module-imports@7.22.5: 130 | resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} 131 | engines: {node: '>=6.9.0'} 132 | dependencies: 133 | '@babel/types': 7.22.5 134 | dev: true 135 | 136 | /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): 137 | resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} 138 | engines: {node: '>=6.9.0'} 139 | peerDependencies: 140 | '@babel/core': ^7.0.0 141 | dependencies: 142 | '@babel/core': 7.22.9 143 | '@babel/helper-environment-visitor': 7.22.5 144 | '@babel/helper-module-imports': 7.22.5 145 | '@babel/helper-simple-access': 7.22.5 146 | '@babel/helper-split-export-declaration': 7.22.6 147 | '@babel/helper-validator-identifier': 7.22.5 148 | dev: true 149 | 150 | /@babel/helper-plugin-utils@7.22.5: 151 | resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} 152 | engines: {node: '>=6.9.0'} 153 | dev: true 154 | 155 | /@babel/helper-simple-access@7.22.5: 156 | resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} 157 | engines: {node: '>=6.9.0'} 158 | dependencies: 159 | '@babel/types': 7.22.5 160 | dev: true 161 | 162 | /@babel/helper-split-export-declaration@7.22.6: 163 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} 164 | engines: {node: '>=6.9.0'} 165 | dependencies: 166 | '@babel/types': 7.22.5 167 | dev: true 168 | 169 | /@babel/helper-string-parser@7.22.5: 170 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} 171 | engines: {node: '>=6.9.0'} 172 | dev: true 173 | 174 | /@babel/helper-validator-identifier@7.22.5: 175 | resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} 176 | engines: {node: '>=6.9.0'} 177 | dev: true 178 | 179 | /@babel/helper-validator-option@7.22.5: 180 | resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} 181 | engines: {node: '>=6.9.0'} 182 | dev: true 183 | 184 | /@babel/helpers@7.22.6: 185 | resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} 186 | engines: {node: '>=6.9.0'} 187 | dependencies: 188 | '@babel/template': 7.22.5 189 | '@babel/traverse': 7.22.8 190 | '@babel/types': 7.22.5 191 | transitivePeerDependencies: 192 | - supports-color 193 | dev: true 194 | 195 | /@babel/highlight@7.22.5: 196 | resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} 197 | engines: {node: '>=6.9.0'} 198 | dependencies: 199 | '@babel/helper-validator-identifier': 7.22.5 200 | chalk: 2.4.2 201 | js-tokens: 4.0.0 202 | dev: true 203 | 204 | /@babel/parser@7.22.7: 205 | resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} 206 | engines: {node: '>=6.0.0'} 207 | hasBin: true 208 | dependencies: 209 | '@babel/types': 7.22.5 210 | dev: true 211 | 212 | /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.9): 213 | resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} 214 | engines: {node: '>=6.9.0'} 215 | peerDependencies: 216 | '@babel/core': ^7.0.0-0 217 | dependencies: 218 | '@babel/core': 7.22.9 219 | '@babel/helper-plugin-utils': 7.22.5 220 | dev: true 221 | 222 | /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.9): 223 | resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} 224 | engines: {node: '>=6.9.0'} 225 | peerDependencies: 226 | '@babel/core': ^7.0.0-0 227 | dependencies: 228 | '@babel/core': 7.22.9 229 | '@babel/helper-plugin-utils': 7.22.5 230 | dev: true 231 | 232 | /@babel/template@7.22.5: 233 | resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} 234 | engines: {node: '>=6.9.0'} 235 | dependencies: 236 | '@babel/code-frame': 7.22.5 237 | '@babel/parser': 7.22.7 238 | '@babel/types': 7.22.5 239 | dev: true 240 | 241 | /@babel/traverse@7.22.8: 242 | resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} 243 | engines: {node: '>=6.9.0'} 244 | dependencies: 245 | '@babel/code-frame': 7.22.5 246 | '@babel/generator': 7.22.9 247 | '@babel/helper-environment-visitor': 7.22.5 248 | '@babel/helper-function-name': 7.22.5 249 | '@babel/helper-hoist-variables': 7.22.5 250 | '@babel/helper-split-export-declaration': 7.22.6 251 | '@babel/parser': 7.22.7 252 | '@babel/types': 7.22.5 253 | debug: 4.3.4 254 | globals: 11.12.0 255 | transitivePeerDependencies: 256 | - supports-color 257 | dev: true 258 | 259 | /@babel/types@7.22.5: 260 | resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} 261 | engines: {node: '>=6.9.0'} 262 | dependencies: 263 | '@babel/helper-string-parser': 7.22.5 264 | '@babel/helper-validator-identifier': 7.22.5 265 | to-fast-properties: 2.0.0 266 | dev: true 267 | 268 | /@esbuild/android-arm64@0.18.16: 269 | resolution: {integrity: sha512-wsCqSPqLz+6Ov+OM4EthU43DyYVVyfn15S4j1bJzylDpc1r1jZFFfJQNfDuT8SlgwuqpmpJXK4uPlHGw6ve7eA==} 270 | engines: {node: '>=12'} 271 | cpu: [arm64] 272 | os: [android] 273 | requiresBuild: true 274 | dev: true 275 | optional: true 276 | 277 | /@esbuild/android-arm@0.18.16: 278 | resolution: {integrity: sha512-gCHjjQmA8L0soklKbLKA6pgsLk1byULuHe94lkZDzcO3/Ta+bbeewJioEn1Fr7kgy9NWNFy/C+MrBwC6I/WCug==} 279 | engines: {node: '>=12'} 280 | cpu: [arm] 281 | os: [android] 282 | requiresBuild: true 283 | dev: true 284 | optional: true 285 | 286 | /@esbuild/android-x64@0.18.16: 287 | resolution: {integrity: sha512-ldsTXolyA3eTQ1//4DS+E15xl0H/3DTRJaRL0/0PgkqDsI0fV/FlOtD+h0u/AUJr+eOTlZv4aC9gvfppo3C4sw==} 288 | engines: {node: '>=12'} 289 | cpu: [x64] 290 | os: [android] 291 | requiresBuild: true 292 | dev: true 293 | optional: true 294 | 295 | /@esbuild/darwin-arm64@0.18.16: 296 | resolution: {integrity: sha512-aBxruWCII+OtluORR/KvisEw0ALuw/qDQWvkoosA+c/ngC/Kwk0lLaZ+B++LLS481/VdydB2u6tYpWxUfnLAIw==} 297 | engines: {node: '>=12'} 298 | cpu: [arm64] 299 | os: [darwin] 300 | requiresBuild: true 301 | dev: true 302 | optional: true 303 | 304 | /@esbuild/darwin-x64@0.18.16: 305 | resolution: {integrity: sha512-6w4Dbue280+rp3LnkgmriS1icOUZDyPuZo/9VsuMUTns7SYEiOaJ7Ca1cbhu9KVObAWfmdjUl4gwy9TIgiO5eA==} 306 | engines: {node: '>=12'} 307 | cpu: [x64] 308 | os: [darwin] 309 | requiresBuild: true 310 | dev: true 311 | optional: true 312 | 313 | /@esbuild/freebsd-arm64@0.18.16: 314 | resolution: {integrity: sha512-x35fCebhe9s979DGKbVAwXUOcTmCIE32AIqB9CB1GralMIvxdnMLAw5CnID17ipEw9/3MvDsusj/cspYt2ZLNQ==} 315 | engines: {node: '>=12'} 316 | cpu: [arm64] 317 | os: [freebsd] 318 | requiresBuild: true 319 | dev: true 320 | optional: true 321 | 322 | /@esbuild/freebsd-x64@0.18.16: 323 | resolution: {integrity: sha512-YM98f+PeNXF3GbxIJlUsj+McUWG1irguBHkszCIwfr3BXtXZsXo0vqybjUDFfu9a8Wr7uUD/YSmHib+EeGAFlg==} 324 | engines: {node: '>=12'} 325 | cpu: [x64] 326 | os: [freebsd] 327 | requiresBuild: true 328 | dev: true 329 | optional: true 330 | 331 | /@esbuild/linux-arm64@0.18.16: 332 | resolution: {integrity: sha512-XIqhNUxJiuy+zsR77+H5Z2f7s4YRlriSJKtvx99nJuG5ATuJPjmZ9n0ANgnGlPCpXGSReFpgcJ7O3SMtzIFeiQ==} 333 | engines: {node: '>=12'} 334 | cpu: [arm64] 335 | os: [linux] 336 | requiresBuild: true 337 | dev: true 338 | optional: true 339 | 340 | /@esbuild/linux-arm@0.18.16: 341 | resolution: {integrity: sha512-b5ABb+5Ha2C9JkeZXV+b+OruR1tJ33ePmv9ZwMeETSEKlmu/WJ45XTTG+l6a2KDsQtJJ66qo/hbSGBtk0XVLHw==} 342 | engines: {node: '>=12'} 343 | cpu: [arm] 344 | os: [linux] 345 | requiresBuild: true 346 | dev: true 347 | optional: true 348 | 349 | /@esbuild/linux-ia32@0.18.16: 350 | resolution: {integrity: sha512-no+pfEpwnRvIyH+txbBAWtjxPU9grslmTBfsmDndj7bnBmr55rOo/PfQmRfz7Qg9isswt1FP5hBbWb23fRWnow==} 351 | engines: {node: '>=12'} 352 | cpu: [ia32] 353 | os: [linux] 354 | requiresBuild: true 355 | dev: true 356 | optional: true 357 | 358 | /@esbuild/linux-loong64@0.18.16: 359 | resolution: {integrity: sha512-Zbnczs9ZXjmo0oZSS0zbNlJbcwKXa/fcNhYQjahDs4Xg18UumpXG/lwM2lcSvHS3mTrRyCYZvJbmzYc4laRI1g==} 360 | engines: {node: '>=12'} 361 | cpu: [loong64] 362 | os: [linux] 363 | requiresBuild: true 364 | dev: true 365 | optional: true 366 | 367 | /@esbuild/linux-mips64el@0.18.16: 368 | resolution: {integrity: sha512-YMF7hih1HVR/hQVa/ot4UVffc5ZlrzEb3k2ip0nZr1w6fnYypll9td2qcoMLvd3o8j3y6EbJM3MyIcXIVzXvQQ==} 369 | engines: {node: '>=12'} 370 | cpu: [mips64el] 371 | os: [linux] 372 | requiresBuild: true 373 | dev: true 374 | optional: true 375 | 376 | /@esbuild/linux-ppc64@0.18.16: 377 | resolution: {integrity: sha512-Wkz++LZ29lDwUyTSEnzDaaP5OveOgTU69q9IyIw9WqLRxM4BjTBjz9un4G6TOvehWpf/J3gYVFN96TjGHrbcNQ==} 378 | engines: {node: '>=12'} 379 | cpu: [ppc64] 380 | os: [linux] 381 | requiresBuild: true 382 | dev: true 383 | optional: true 384 | 385 | /@esbuild/linux-riscv64@0.18.16: 386 | resolution: {integrity: sha512-LFMKZ30tk78/mUv1ygvIP+568bwf4oN6reG/uczXnz6SvFn4e2QUFpUpZY9iSJT6Qpgstrhef/nMykIXZtZWGQ==} 387 | engines: {node: '>=12'} 388 | cpu: [riscv64] 389 | os: [linux] 390 | requiresBuild: true 391 | dev: true 392 | optional: true 393 | 394 | /@esbuild/linux-s390x@0.18.16: 395 | resolution: {integrity: sha512-3ZC0BgyYHYKfZo3AV2/66TD/I9tlSBaW7eWTEIkrQQKfJIifKMMttXl9FrAg+UT0SGYsCRLI35Gwdmm96vlOjg==} 396 | engines: {node: '>=12'} 397 | cpu: [s390x] 398 | os: [linux] 399 | requiresBuild: true 400 | dev: true 401 | optional: true 402 | 403 | /@esbuild/linux-x64@0.18.16: 404 | resolution: {integrity: sha512-xu86B3647DihHJHv/wx3NCz2Dg1gjQ8bbf9cVYZzWKY+gsvxYmn/lnVlqDRazObc3UMwoHpUhNYaZset4X8IPA==} 405 | engines: {node: '>=12'} 406 | cpu: [x64] 407 | os: [linux] 408 | requiresBuild: true 409 | dev: true 410 | optional: true 411 | 412 | /@esbuild/netbsd-x64@0.18.16: 413 | resolution: {integrity: sha512-uVAgpimx9Ffw3xowtg/7qQPwHFx94yCje+DoBx+LNm2ePDpQXHrzE+Sb0Si2VBObYz+LcRps15cq+95YM7gkUw==} 414 | engines: {node: '>=12'} 415 | cpu: [x64] 416 | os: [netbsd] 417 | requiresBuild: true 418 | dev: true 419 | optional: true 420 | 421 | /@esbuild/openbsd-x64@0.18.16: 422 | resolution: {integrity: sha512-6OjCQM9wf7z8/MBi6BOWaTL2AS/SZudsZtBziXMtNI8r/U41AxS9x7jn0ATOwVy08OotwkPqGRMkpPR2wcTJXA==} 423 | engines: {node: '>=12'} 424 | cpu: [x64] 425 | os: [openbsd] 426 | requiresBuild: true 427 | dev: true 428 | optional: true 429 | 430 | /@esbuild/sunos-x64@0.18.16: 431 | resolution: {integrity: sha512-ZoNkruFYJp9d1LbUYCh8awgQDvB9uOMZqlQ+gGEZR7v6C+N6u7vPr86c+Chih8niBR81Q/bHOSKGBK3brJyvkQ==} 432 | engines: {node: '>=12'} 433 | cpu: [x64] 434 | os: [sunos] 435 | requiresBuild: true 436 | dev: true 437 | optional: true 438 | 439 | /@esbuild/win32-arm64@0.18.16: 440 | resolution: {integrity: sha512-+j4anzQ9hrs+iqO+/wa8UE6TVkKua1pXUb0XWFOx0FiAj6R9INJ+WE//1/Xo6FG1vB5EpH3ko+XcgwiDXTxcdw==} 441 | engines: {node: '>=12'} 442 | cpu: [arm64] 443 | os: [win32] 444 | requiresBuild: true 445 | dev: true 446 | optional: true 447 | 448 | /@esbuild/win32-ia32@0.18.16: 449 | resolution: {integrity: sha512-5PFPmq3sSKTp9cT9dzvI67WNfRZGvEVctcZa1KGjDDu4n3H8k59Inbk0du1fz0KrAbKKNpJbdFXQMDUz7BG4rQ==} 450 | engines: {node: '>=12'} 451 | cpu: [ia32] 452 | os: [win32] 453 | requiresBuild: true 454 | dev: true 455 | optional: true 456 | 457 | /@esbuild/win32-x64@0.18.16: 458 | resolution: {integrity: sha512-sCIVrrtcWN5Ua7jYXNG1xD199IalrbfV2+0k/2Zf2OyV2FtnQnMgdzgpRAbi4AWlKJj1jkX+M+fEGPQj6BQB4w==} 459 | engines: {node: '>=12'} 460 | cpu: [x64] 461 | os: [win32] 462 | requiresBuild: true 463 | dev: true 464 | optional: true 465 | 466 | /@jridgewell/gen-mapping@0.3.3: 467 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 468 | engines: {node: '>=6.0.0'} 469 | dependencies: 470 | '@jridgewell/set-array': 1.1.2 471 | '@jridgewell/sourcemap-codec': 1.4.15 472 | '@jridgewell/trace-mapping': 0.3.18 473 | dev: true 474 | 475 | /@jridgewell/resolve-uri@3.1.0: 476 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 477 | engines: {node: '>=6.0.0'} 478 | dev: true 479 | 480 | /@jridgewell/set-array@1.1.2: 481 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 482 | engines: {node: '>=6.0.0'} 483 | dev: true 484 | 485 | /@jridgewell/sourcemap-codec@1.4.14: 486 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 487 | dev: true 488 | 489 | /@jridgewell/sourcemap-codec@1.4.15: 490 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 491 | dev: true 492 | 493 | /@jridgewell/trace-mapping@0.3.18: 494 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} 495 | dependencies: 496 | '@jridgewell/resolve-uri': 3.1.0 497 | '@jridgewell/sourcemap-codec': 1.4.14 498 | dev: true 499 | 500 | /@tauri-apps/api@1.4.0: 501 | resolution: {integrity: sha512-Jd6HPoTM1PZSFIzq7FB8VmMu3qSSyo/3lSwLpoapW+lQ41CL5Dow2KryLg+gyazA/58DRWI9vu/XpEeHK4uMdw==} 502 | engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} 503 | dev: false 504 | 505 | /@tauri-apps/cli-darwin-arm64@1.4.0: 506 | resolution: {integrity: sha512-nA/ml0SfUt6/CYLVbHmT500Y+ijqsuv5+s9EBnVXYSLVg9kbPUZJJHluEYK+xKuOj6xzyuT/+rZFMRapmJD3jQ==} 507 | engines: {node: '>= 10'} 508 | cpu: [arm64] 509 | os: [darwin] 510 | requiresBuild: true 511 | dev: true 512 | optional: true 513 | 514 | /@tauri-apps/cli-darwin-x64@1.4.0: 515 | resolution: {integrity: sha512-ov/F6Zr+dg9B0PtRu65stFo2G0ow2TUlneqYYrkj+vA3n+moWDHfVty0raDjMLQbQt3rv3uayFMXGPMgble9OA==} 516 | engines: {node: '>= 10'} 517 | cpu: [x64] 518 | os: [darwin] 519 | requiresBuild: true 520 | dev: true 521 | optional: true 522 | 523 | /@tauri-apps/cli-linux-arm-gnueabihf@1.4.0: 524 | resolution: {integrity: sha512-zwjbiMncycXDV7doovymyKD7sCg53ouAmfgpUqEBOTY3vgBi9TwijyPhJOqoG5vUVWhouNBC08akGmE4dja15g==} 525 | engines: {node: '>= 10'} 526 | cpu: [arm] 527 | os: [linux] 528 | requiresBuild: true 529 | dev: true 530 | optional: true 531 | 532 | /@tauri-apps/cli-linux-arm64-gnu@1.4.0: 533 | resolution: {integrity: sha512-5MCBcziqXC72mMXnkZU68mutXIR6zavDxopArE2gQtK841IlE06bIgtLi0kUUhlFJk2nhPRgiDgdLbrPlyt7fw==} 534 | engines: {node: '>= 10'} 535 | cpu: [arm64] 536 | os: [linux] 537 | requiresBuild: true 538 | dev: true 539 | optional: true 540 | 541 | /@tauri-apps/cli-linux-arm64-musl@1.4.0: 542 | resolution: {integrity: sha512-7J3pRB6n6uNYgIfCeKt2Oz8J7oSaz2s8GGFRRH2HPxuTHrBNCinzVYm68UhVpJrL3bnGkU0ziVZLsW/iaOGfUg==} 543 | engines: {node: '>= 10'} 544 | cpu: [arm64] 545 | os: [linux] 546 | requiresBuild: true 547 | dev: true 548 | optional: true 549 | 550 | /@tauri-apps/cli-linux-x64-gnu@1.4.0: 551 | resolution: {integrity: sha512-Zh5gfAJxOv5AVWxcwuueaQ2vIAhlg0d6nZui6nMyfIJ8dbf3aZQ5ZzP38sYow5h/fbvgL+3GSQxZRBIa3c2E1w==} 552 | engines: {node: '>= 10'} 553 | cpu: [x64] 554 | os: [linux] 555 | requiresBuild: true 556 | dev: true 557 | optional: true 558 | 559 | /@tauri-apps/cli-linux-x64-musl@1.4.0: 560 | resolution: {integrity: sha512-OLAYoICU3FaYiTdBsI+lQTKnDHeMmFMXIApN0M+xGiOkoIOQcV9CConMPjgmJQ867+NHRNgUGlvBEAh9CiJodQ==} 561 | engines: {node: '>= 10'} 562 | cpu: [x64] 563 | os: [linux] 564 | requiresBuild: true 565 | dev: true 566 | optional: true 567 | 568 | /@tauri-apps/cli-win32-arm64-msvc@1.4.0: 569 | resolution: {integrity: sha512-gZ05GENFbI6CB5MlOUsLlU0kZ9UtHn9riYtSXKT6MYs8HSPRffPHaHSL0WxsJweWh9nR5Hgh/TUU8uW3sYCzCg==} 570 | engines: {node: '>= 10'} 571 | cpu: [arm64] 572 | os: [win32] 573 | requiresBuild: true 574 | dev: true 575 | optional: true 576 | 577 | /@tauri-apps/cli-win32-ia32-msvc@1.4.0: 578 | resolution: {integrity: sha512-JsetT/lTx/Zq98eo8T5CiRyF1nKeX04RO8JlJrI3ZOYsZpp/A5RJvMd/szQ17iOzwiHdge+tx7k2jHysR6oBlQ==} 579 | engines: {node: '>= 10'} 580 | cpu: [ia32] 581 | os: [win32] 582 | requiresBuild: true 583 | dev: true 584 | optional: true 585 | 586 | /@tauri-apps/cli-win32-x64-msvc@1.4.0: 587 | resolution: {integrity: sha512-z8Olcnwp5aYhzqUAarFjqF+oELCjuYWnB2HAJHlfsYNfDCAORY5kct3Fklz8PSsubC3U2EugWn8n42DwnThurg==} 588 | engines: {node: '>= 10'} 589 | cpu: [x64] 590 | os: [win32] 591 | requiresBuild: true 592 | dev: true 593 | optional: true 594 | 595 | /@tauri-apps/cli@1.4.0: 596 | resolution: {integrity: sha512-VXYr2i2iVFl98etQSQsqLzXgX96bnWiNZd1YADgatqwy/qecbd6Kl5ZAPB5R4ynsgE8A1gU7Fbzh7dCEQYFfmA==} 597 | engines: {node: '>= 10'} 598 | hasBin: true 599 | optionalDependencies: 600 | '@tauri-apps/cli-darwin-arm64': 1.4.0 601 | '@tauri-apps/cli-darwin-x64': 1.4.0 602 | '@tauri-apps/cli-linux-arm-gnueabihf': 1.4.0 603 | '@tauri-apps/cli-linux-arm64-gnu': 1.4.0 604 | '@tauri-apps/cli-linux-arm64-musl': 1.4.0 605 | '@tauri-apps/cli-linux-x64-gnu': 1.4.0 606 | '@tauri-apps/cli-linux-x64-musl': 1.4.0 607 | '@tauri-apps/cli-win32-arm64-msvc': 1.4.0 608 | '@tauri-apps/cli-win32-ia32-msvc': 1.4.0 609 | '@tauri-apps/cli-win32-x64-msvc': 1.4.0 610 | dev: true 611 | 612 | /@types/node@20.4.4: 613 | resolution: {integrity: sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==} 614 | 615 | /@types/prop-types@15.7.5: 616 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} 617 | dev: true 618 | 619 | /@types/react-dom@18.2.7: 620 | resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} 621 | dependencies: 622 | '@types/react': 18.2.15 623 | dev: true 624 | 625 | /@types/react@18.2.15: 626 | resolution: {integrity: sha512-oEjE7TQt1fFTFSbf8kkNuc798ahTUzn3Le67/PWjE8MAfYAD/qB7O8hSTcromLFqHCt9bcdOg5GXMokzTjJ5SA==} 627 | dependencies: 628 | '@types/prop-types': 15.7.5 629 | '@types/scheduler': 0.16.3 630 | csstype: 3.1.2 631 | dev: true 632 | 633 | /@types/scheduler@0.16.3: 634 | resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} 635 | dev: true 636 | 637 | /@vitejs/plugin-react@4.0.3(vite@4.4.4): 638 | resolution: {integrity: sha512-pwXDog5nwwvSIzwrvYYmA2Ljcd/ZNlcsSG2Q9CNDBwnsd55UGAyr2doXtB5j+2uymRCnCfExlznzzSFbBRcoCg==} 639 | engines: {node: ^14.18.0 || >=16.0.0} 640 | peerDependencies: 641 | vite: ^4.2.0 642 | dependencies: 643 | '@babel/core': 7.22.9 644 | '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.9) 645 | '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.9) 646 | react-refresh: 0.14.0 647 | vite: 4.4.4(@types/node@20.4.4) 648 | transitivePeerDependencies: 649 | - supports-color 650 | dev: true 651 | 652 | /ansi-styles@3.2.1: 653 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 654 | engines: {node: '>=4'} 655 | dependencies: 656 | color-convert: 1.9.3 657 | dev: true 658 | 659 | /browserslist@4.21.9: 660 | resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} 661 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 662 | hasBin: true 663 | dependencies: 664 | caniuse-lite: 1.0.30001517 665 | electron-to-chromium: 1.4.468 666 | node-releases: 2.0.13 667 | update-browserslist-db: 1.0.11(browserslist@4.21.9) 668 | dev: true 669 | 670 | /caniuse-lite@1.0.30001517: 671 | resolution: {integrity: sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==} 672 | dev: true 673 | 674 | /chalk@2.4.2: 675 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 676 | engines: {node: '>=4'} 677 | dependencies: 678 | ansi-styles: 3.2.1 679 | escape-string-regexp: 1.0.5 680 | supports-color: 5.5.0 681 | dev: true 682 | 683 | /color-convert@1.9.3: 684 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 685 | dependencies: 686 | color-name: 1.1.3 687 | dev: true 688 | 689 | /color-name@1.1.3: 690 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 691 | dev: true 692 | 693 | /convert-source-map@1.9.0: 694 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} 695 | dev: true 696 | 697 | /csstype@3.1.2: 698 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} 699 | dev: true 700 | 701 | /debug@4.3.4: 702 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 703 | engines: {node: '>=6.0'} 704 | peerDependencies: 705 | supports-color: '*' 706 | peerDependenciesMeta: 707 | supports-color: 708 | optional: true 709 | dependencies: 710 | ms: 2.1.2 711 | dev: true 712 | 713 | /electron-to-chromium@1.4.468: 714 | resolution: {integrity: sha512-6M1qyhaJOt7rQtNti1lBA0GwclPH+oKCmsra/hkcWs5INLxfXXD/dtdnaKUYQu/pjOBP/8Osoe4mAcNvvzoFag==} 715 | dev: true 716 | 717 | /esbuild@0.18.16: 718 | resolution: {integrity: sha512-1xLsOXrDqwdHxyXb/x/SOyg59jpf/SH7YMvU5RNSU7z3TInaASNJWNFJ6iRvLvLETZMasF3d1DdZLg7sgRimRQ==} 719 | engines: {node: '>=12'} 720 | hasBin: true 721 | requiresBuild: true 722 | optionalDependencies: 723 | '@esbuild/android-arm': 0.18.16 724 | '@esbuild/android-arm64': 0.18.16 725 | '@esbuild/android-x64': 0.18.16 726 | '@esbuild/darwin-arm64': 0.18.16 727 | '@esbuild/darwin-x64': 0.18.16 728 | '@esbuild/freebsd-arm64': 0.18.16 729 | '@esbuild/freebsd-x64': 0.18.16 730 | '@esbuild/linux-arm': 0.18.16 731 | '@esbuild/linux-arm64': 0.18.16 732 | '@esbuild/linux-ia32': 0.18.16 733 | '@esbuild/linux-loong64': 0.18.16 734 | '@esbuild/linux-mips64el': 0.18.16 735 | '@esbuild/linux-ppc64': 0.18.16 736 | '@esbuild/linux-riscv64': 0.18.16 737 | '@esbuild/linux-s390x': 0.18.16 738 | '@esbuild/linux-x64': 0.18.16 739 | '@esbuild/netbsd-x64': 0.18.16 740 | '@esbuild/openbsd-x64': 0.18.16 741 | '@esbuild/sunos-x64': 0.18.16 742 | '@esbuild/win32-arm64': 0.18.16 743 | '@esbuild/win32-ia32': 0.18.16 744 | '@esbuild/win32-x64': 0.18.16 745 | dev: true 746 | 747 | /escalade@3.1.1: 748 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 749 | engines: {node: '>=6'} 750 | dev: true 751 | 752 | /escape-string-regexp@1.0.5: 753 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 754 | engines: {node: '>=0.8.0'} 755 | dev: true 756 | 757 | /fsevents@2.3.2: 758 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 759 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 760 | os: [darwin] 761 | requiresBuild: true 762 | dev: true 763 | optional: true 764 | 765 | /gensync@1.0.0-beta.2: 766 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 767 | engines: {node: '>=6.9.0'} 768 | dev: true 769 | 770 | /globals@11.12.0: 771 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 772 | engines: {node: '>=4'} 773 | dev: true 774 | 775 | /has-flag@3.0.0: 776 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 777 | engines: {node: '>=4'} 778 | dev: true 779 | 780 | /js-tokens@4.0.0: 781 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 782 | 783 | /jsesc@2.5.2: 784 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 785 | engines: {node: '>=4'} 786 | hasBin: true 787 | dev: true 788 | 789 | /json5@2.2.3: 790 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 791 | engines: {node: '>=6'} 792 | hasBin: true 793 | dev: true 794 | 795 | /loose-envify@1.4.0: 796 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 797 | hasBin: true 798 | dependencies: 799 | js-tokens: 4.0.0 800 | dev: false 801 | 802 | /lru-cache@5.1.1: 803 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 804 | dependencies: 805 | yallist: 3.1.1 806 | dev: true 807 | 808 | /ms@2.1.2: 809 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 810 | dev: true 811 | 812 | /nanoid@3.3.6: 813 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 814 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 815 | hasBin: true 816 | dev: true 817 | 818 | /node-releases@2.0.13: 819 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} 820 | dev: true 821 | 822 | /picocolors@1.0.0: 823 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 824 | dev: true 825 | 826 | /postcss@8.4.27: 827 | resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} 828 | engines: {node: ^10 || ^12 || >=14} 829 | dependencies: 830 | nanoid: 3.3.6 831 | picocolors: 1.0.0 832 | source-map-js: 1.0.2 833 | dev: true 834 | 835 | /react-dom@18.2.0(react@18.2.0): 836 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 837 | peerDependencies: 838 | react: ^18.2.0 839 | dependencies: 840 | loose-envify: 1.4.0 841 | react: 18.2.0 842 | scheduler: 0.23.0 843 | dev: false 844 | 845 | /react-refresh@0.14.0: 846 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} 847 | engines: {node: '>=0.10.0'} 848 | dev: true 849 | 850 | /react@18.2.0: 851 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 852 | engines: {node: '>=0.10.0'} 853 | dependencies: 854 | loose-envify: 1.4.0 855 | dev: false 856 | 857 | /rollup@3.26.3: 858 | resolution: {integrity: sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==} 859 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 860 | hasBin: true 861 | optionalDependencies: 862 | fsevents: 2.3.2 863 | dev: true 864 | 865 | /scheduler@0.23.0: 866 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 867 | dependencies: 868 | loose-envify: 1.4.0 869 | dev: false 870 | 871 | /semver@6.3.1: 872 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 873 | hasBin: true 874 | dev: true 875 | 876 | /source-map-js@1.0.2: 877 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 878 | engines: {node: '>=0.10.0'} 879 | dev: true 880 | 881 | /supports-color@5.5.0: 882 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 883 | engines: {node: '>=4'} 884 | dependencies: 885 | has-flag: 3.0.0 886 | dev: true 887 | 888 | /to-fast-properties@2.0.0: 889 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 890 | engines: {node: '>=4'} 891 | dev: true 892 | 893 | /typescript@5.0.2: 894 | resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} 895 | engines: {node: '>=12.20'} 896 | hasBin: true 897 | dev: true 898 | 899 | /update-browserslist-db@1.0.11(browserslist@4.21.9): 900 | resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} 901 | hasBin: true 902 | peerDependencies: 903 | browserslist: '>= 4.21.0' 904 | dependencies: 905 | browserslist: 4.21.9 906 | escalade: 3.1.1 907 | picocolors: 1.0.0 908 | dev: true 909 | 910 | /use-sync-external-store@1.2.0(react@18.2.0): 911 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} 912 | peerDependencies: 913 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 914 | dependencies: 915 | react: 18.2.0 916 | dev: false 917 | 918 | /vite@4.4.4(@types/node@20.4.4): 919 | resolution: {integrity: sha512-4mvsTxjkveWrKDJI70QmelfVqTm+ihFAb6+xf4sjEU2TmUCTlVX87tmg/QooPEMQb/lM9qGHT99ebqPziEd3wg==} 920 | engines: {node: ^14.18.0 || >=16.0.0} 921 | hasBin: true 922 | peerDependencies: 923 | '@types/node': '>= 14' 924 | less: '*' 925 | lightningcss: ^1.21.0 926 | sass: '*' 927 | stylus: '*' 928 | sugarss: '*' 929 | terser: ^5.4.0 930 | peerDependenciesMeta: 931 | '@types/node': 932 | optional: true 933 | less: 934 | optional: true 935 | lightningcss: 936 | optional: true 937 | sass: 938 | optional: true 939 | stylus: 940 | optional: true 941 | sugarss: 942 | optional: true 943 | terser: 944 | optional: true 945 | dependencies: 946 | '@types/node': 20.4.4 947 | esbuild: 0.18.16 948 | postcss: 8.4.27 949 | rollup: 3.26.3 950 | optionalDependencies: 951 | fsevents: 2.3.2 952 | dev: true 953 | 954 | /yallist@3.1.1: 955 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 956 | dev: true 957 | 958 | /zustand@4.3.9(react@18.2.0): 959 | resolution: {integrity: sha512-Tat5r8jOMG1Vcsj8uldMyqYKC5IZvQif8zetmLHs9WoZlntTHmIoNM8TpLRY31ExncuUvUOXehd0kvahkuHjDw==} 960 | engines: {node: '>=12.7.0'} 961 | peerDependencies: 962 | immer: '>=9.0' 963 | react: '>=16.8' 964 | peerDependenciesMeta: 965 | immer: 966 | optional: true 967 | react: 968 | optional: true 969 | dependencies: 970 | react: 18.2.0 971 | use-sync-external-store: 1.2.0(react@18.2.0) 972 | dev: false 973 | -------------------------------------------------------------------------------- /public/tauri.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/generate-macros.py: -------------------------------------------------------------------------------- 1 | import re 2 | inputDirectory = 'src/constants/' 3 | outputDirectory = 'src-tauri/src/autogen/' 4 | inputFileList = ['events.ts', 'global.ts'] 5 | outputFile = 'constants.rs' 6 | 7 | finalOutput = '#![allow(non_camel_case_types)]\n\n// Autogenerated file do not edit !!!!!\n\n' 8 | 9 | expressionList = { 10 | # 'enum': r"(enum\s+\w+\s+\{[^}]*\})", 11 | # 'const': "(const.*?})" 12 | 'enum': r"enum (\w+) \{([^}]+)\}", 13 | 'const': r"const (\w+): \{([^}]+)\} = \{([^}]+)\};" 14 | } 15 | 16 | def enumParse(matches): 17 | rust_code = "" 18 | for enum_name, enum_body in matches: 19 | enum_items = [item.strip() for item in enum_body.split(",") if item.strip()] 20 | rust_code += f"pub enum {enum_name} {{\n" 21 | for i, item in enumerate(enum_items): 22 | rust_code += f" {item.split('=')[0].strip()} = {i},\n" 23 | rust_code += "}\n\n" 24 | 25 | # Implement From for the enum 26 | rust_code += f"impl From for {enum_name} {{\n" 27 | rust_code += " fn from(item: u32) -> Self {\n" 28 | rust_code += " match item {\n" 29 | for i, item in enumerate(enum_items): 30 | rust_code += f" {i} => {enum_name}::{item.split('=')[0].strip()},\n" 31 | rust_code += f" _ => panic!(\"Not a valid value for the enum {enum_name}\"),\n" 32 | rust_code += " }\n" 33 | rust_code += " }\n" 34 | rust_code += "}\n\n" 35 | 36 | # Implement Into for the enum 37 | rust_code += f"impl Into for {enum_name} {{\n" 38 | rust_code += " fn into(self) -> u32 {\n" 39 | rust_code += " match self {\n" 40 | for i, item in enumerate(enum_items): 41 | rust_code += f" {enum_name}::{item.split('=')[0].strip()} => {i},\n" 42 | rust_code += " }\n" 43 | rust_code += " }\n" 44 | rust_code += "}\n\n" 45 | 46 | return rust_code 47 | 48 | def constParse(matches): 49 | rust_code = "" 50 | for match in matches: 51 | const_name, const_types, const_values = match 52 | types = re.findall(r"(\w+): (\w+);", const_types) 53 | values = re.findall(r"(\w+): \"?([^\",]+)\"?,?", const_values) 54 | 55 | for (name, _type), (_, value) in zip(types, values): 56 | rust_type = { 57 | "string": "&str", 58 | "bool": "bool", 59 | "number": "i32", 60 | }.get(_type, "&str") # Default to &str if type is not recognized 61 | 62 | rust_code += f"pub const {name.upper()}: {rust_type} = " 63 | if rust_type == "&str": 64 | rust_code += f"\"{value}\";\n" 65 | else: 66 | rust_code += f"{value};\n" 67 | 68 | return rust_code 69 | 70 | 71 | for inputFile in inputFileList: 72 | with open(inputDirectory+inputFile, 'r') as file: 73 | contents = file.read() 74 | for key in expressionList: 75 | matches = re.findall(expressionList[key], contents) 76 | if key == 'enum': 77 | finalOutput += enumParse(matches) 78 | if key == 'const': 79 | finalOutput += constParse(matches) 80 | 81 | print(finalOutput) 82 | 83 | with open(outputDirectory+outputFile, 'w') as file: 84 | file.write(finalOutput) 85 | -------------------------------------------------------------------------------- /src-tauri/.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | -------------------------------------------------------------------------------- /src-tauri/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.20.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "1.0.2" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "alloc-no-stdlib" 31 | version = "2.0.4" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 34 | 35 | [[package]] 36 | name = "alloc-stdlib" 37 | version = "0.2.2" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 40 | dependencies = [ 41 | "alloc-no-stdlib", 42 | ] 43 | 44 | [[package]] 45 | name = "android-tzdata" 46 | version = "0.1.1" 47 | source = "registry+https://github.com/rust-lang/crates.io-index" 48 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 49 | 50 | [[package]] 51 | name = "android_system_properties" 52 | version = "0.1.5" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 55 | dependencies = [ 56 | "libc", 57 | ] 58 | 59 | [[package]] 60 | name = "anyhow" 61 | version = "1.0.72" 62 | source = "registry+https://github.com/rust-lang/crates.io-index" 63 | checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" 64 | 65 | [[package]] 66 | name = "atk" 67 | version = "0.15.1" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" 70 | dependencies = [ 71 | "atk-sys", 72 | "bitflags 1.3.2", 73 | "glib", 74 | "libc", 75 | ] 76 | 77 | [[package]] 78 | name = "atk-sys" 79 | version = "0.15.1" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" 82 | dependencies = [ 83 | "glib-sys", 84 | "gobject-sys", 85 | "libc", 86 | "system-deps 6.1.1", 87 | ] 88 | 89 | [[package]] 90 | name = "autocfg" 91 | version = "1.1.0" 92 | source = "registry+https://github.com/rust-lang/crates.io-index" 93 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 94 | 95 | [[package]] 96 | name = "backtrace" 97 | version = "0.3.68" 98 | source = "registry+https://github.com/rust-lang/crates.io-index" 99 | checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" 100 | dependencies = [ 101 | "addr2line", 102 | "cc", 103 | "cfg-if", 104 | "libc", 105 | "miniz_oxide", 106 | "object", 107 | "rustc-demangle", 108 | ] 109 | 110 | [[package]] 111 | name = "base64" 112 | version = "0.13.1" 113 | source = "registry+https://github.com/rust-lang/crates.io-index" 114 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 115 | 116 | [[package]] 117 | name = "base64" 118 | version = "0.21.2" 119 | source = "registry+https://github.com/rust-lang/crates.io-index" 120 | checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" 121 | 122 | [[package]] 123 | name = "bitflags" 124 | version = "1.3.2" 125 | source = "registry+https://github.com/rust-lang/crates.io-index" 126 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 127 | 128 | [[package]] 129 | name = "bitflags" 130 | version = "2.3.3" 131 | source = "registry+https://github.com/rust-lang/crates.io-index" 132 | checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" 133 | 134 | [[package]] 135 | name = "block" 136 | version = "0.1.6" 137 | source = "registry+https://github.com/rust-lang/crates.io-index" 138 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 139 | 140 | [[package]] 141 | name = "block-buffer" 142 | version = "0.10.4" 143 | source = "registry+https://github.com/rust-lang/crates.io-index" 144 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 145 | dependencies = [ 146 | "generic-array", 147 | ] 148 | 149 | [[package]] 150 | name = "brotli" 151 | version = "3.3.4" 152 | source = "registry+https://github.com/rust-lang/crates.io-index" 153 | checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" 154 | dependencies = [ 155 | "alloc-no-stdlib", 156 | "alloc-stdlib", 157 | "brotli-decompressor", 158 | ] 159 | 160 | [[package]] 161 | name = "brotli-decompressor" 162 | version = "2.3.4" 163 | source = "registry+https://github.com/rust-lang/crates.io-index" 164 | checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" 165 | dependencies = [ 166 | "alloc-no-stdlib", 167 | "alloc-stdlib", 168 | ] 169 | 170 | [[package]] 171 | name = "bstr" 172 | version = "1.6.0" 173 | source = "registry+https://github.com/rust-lang/crates.io-index" 174 | checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" 175 | dependencies = [ 176 | "memchr", 177 | "serde", 178 | ] 179 | 180 | [[package]] 181 | name = "bumpalo" 182 | version = "3.13.0" 183 | source = "registry+https://github.com/rust-lang/crates.io-index" 184 | checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" 185 | 186 | [[package]] 187 | name = "bytemuck" 188 | version = "1.13.1" 189 | source = "registry+https://github.com/rust-lang/crates.io-index" 190 | checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" 191 | 192 | [[package]] 193 | name = "byteorder" 194 | version = "1.4.3" 195 | source = "registry+https://github.com/rust-lang/crates.io-index" 196 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 197 | 198 | [[package]] 199 | name = "bytes" 200 | version = "1.4.0" 201 | source = "registry+https://github.com/rust-lang/crates.io-index" 202 | checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" 203 | 204 | [[package]] 205 | name = "cairo-rs" 206 | version = "0.15.12" 207 | source = "registry+https://github.com/rust-lang/crates.io-index" 208 | checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" 209 | dependencies = [ 210 | "bitflags 1.3.2", 211 | "cairo-sys-rs", 212 | "glib", 213 | "libc", 214 | "thiserror", 215 | ] 216 | 217 | [[package]] 218 | name = "cairo-sys-rs" 219 | version = "0.15.1" 220 | source = "registry+https://github.com/rust-lang/crates.io-index" 221 | checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" 222 | dependencies = [ 223 | "glib-sys", 224 | "libc", 225 | "system-deps 6.1.1", 226 | ] 227 | 228 | [[package]] 229 | name = "cargo_toml" 230 | version = "0.15.3" 231 | source = "registry+https://github.com/rust-lang/crates.io-index" 232 | checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" 233 | dependencies = [ 234 | "serde", 235 | "toml 0.7.6", 236 | ] 237 | 238 | [[package]] 239 | name = "cc" 240 | version = "1.0.79" 241 | source = "registry+https://github.com/rust-lang/crates.io-index" 242 | checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 243 | 244 | [[package]] 245 | name = "cesu8" 246 | version = "1.1.0" 247 | source = "registry+https://github.com/rust-lang/crates.io-index" 248 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 249 | 250 | [[package]] 251 | name = "cfb" 252 | version = "0.7.3" 253 | source = "registry+https://github.com/rust-lang/crates.io-index" 254 | checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" 255 | dependencies = [ 256 | "byteorder", 257 | "fnv", 258 | "uuid", 259 | ] 260 | 261 | [[package]] 262 | name = "cfg-expr" 263 | version = "0.9.1" 264 | source = "registry+https://github.com/rust-lang/crates.io-index" 265 | checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" 266 | dependencies = [ 267 | "smallvec", 268 | ] 269 | 270 | [[package]] 271 | name = "cfg-expr" 272 | version = "0.15.3" 273 | source = "registry+https://github.com/rust-lang/crates.io-index" 274 | checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c" 275 | dependencies = [ 276 | "smallvec", 277 | "target-lexicon", 278 | ] 279 | 280 | [[package]] 281 | name = "cfg-if" 282 | version = "1.0.0" 283 | source = "registry+https://github.com/rust-lang/crates.io-index" 284 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 285 | 286 | [[package]] 287 | name = "chrono" 288 | version = "0.4.26" 289 | source = "registry+https://github.com/rust-lang/crates.io-index" 290 | checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" 291 | dependencies = [ 292 | "android-tzdata", 293 | "iana-time-zone", 294 | "num-traits", 295 | "serde", 296 | "winapi", 297 | ] 298 | 299 | [[package]] 300 | name = "cocoa" 301 | version = "0.24.1" 302 | source = "registry+https://github.com/rust-lang/crates.io-index" 303 | checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" 304 | dependencies = [ 305 | "bitflags 1.3.2", 306 | "block", 307 | "cocoa-foundation", 308 | "core-foundation", 309 | "core-graphics", 310 | "foreign-types", 311 | "libc", 312 | "objc", 313 | ] 314 | 315 | [[package]] 316 | name = "cocoa-foundation" 317 | version = "0.1.1" 318 | source = "registry+https://github.com/rust-lang/crates.io-index" 319 | checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6" 320 | dependencies = [ 321 | "bitflags 1.3.2", 322 | "block", 323 | "core-foundation", 324 | "core-graphics-types", 325 | "foreign-types", 326 | "libc", 327 | "objc", 328 | ] 329 | 330 | [[package]] 331 | name = "color_quant" 332 | version = "1.1.0" 333 | source = "registry+https://github.com/rust-lang/crates.io-index" 334 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 335 | 336 | [[package]] 337 | name = "combine" 338 | version = "4.6.6" 339 | source = "registry+https://github.com/rust-lang/crates.io-index" 340 | checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" 341 | dependencies = [ 342 | "bytes", 343 | "memchr", 344 | ] 345 | 346 | [[package]] 347 | name = "convert_case" 348 | version = "0.4.0" 349 | source = "registry+https://github.com/rust-lang/crates.io-index" 350 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" 351 | 352 | [[package]] 353 | name = "core-foundation" 354 | version = "0.9.3" 355 | source = "registry+https://github.com/rust-lang/crates.io-index" 356 | checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" 357 | dependencies = [ 358 | "core-foundation-sys", 359 | "libc", 360 | ] 361 | 362 | [[package]] 363 | name = "core-foundation-sys" 364 | version = "0.8.4" 365 | source = "registry+https://github.com/rust-lang/crates.io-index" 366 | checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" 367 | 368 | [[package]] 369 | name = "core-graphics" 370 | version = "0.22.3" 371 | source = "registry+https://github.com/rust-lang/crates.io-index" 372 | checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" 373 | dependencies = [ 374 | "bitflags 1.3.2", 375 | "core-foundation", 376 | "core-graphics-types", 377 | "foreign-types", 378 | "libc", 379 | ] 380 | 381 | [[package]] 382 | name = "core-graphics-types" 383 | version = "0.1.2" 384 | source = "registry+https://github.com/rust-lang/crates.io-index" 385 | checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" 386 | dependencies = [ 387 | "bitflags 1.3.2", 388 | "core-foundation", 389 | "libc", 390 | ] 391 | 392 | [[package]] 393 | name = "cpufeatures" 394 | version = "0.2.9" 395 | source = "registry+https://github.com/rust-lang/crates.io-index" 396 | checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" 397 | dependencies = [ 398 | "libc", 399 | ] 400 | 401 | [[package]] 402 | name = "crc32fast" 403 | version = "1.3.2" 404 | source = "registry+https://github.com/rust-lang/crates.io-index" 405 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" 406 | dependencies = [ 407 | "cfg-if", 408 | ] 409 | 410 | [[package]] 411 | name = "crossbeam-channel" 412 | version = "0.5.8" 413 | source = "registry+https://github.com/rust-lang/crates.io-index" 414 | checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" 415 | dependencies = [ 416 | "cfg-if", 417 | "crossbeam-utils", 418 | ] 419 | 420 | [[package]] 421 | name = "crossbeam-utils" 422 | version = "0.8.16" 423 | source = "registry+https://github.com/rust-lang/crates.io-index" 424 | checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" 425 | dependencies = [ 426 | "cfg-if", 427 | ] 428 | 429 | [[package]] 430 | name = "crypto-common" 431 | version = "0.1.6" 432 | source = "registry+https://github.com/rust-lang/crates.io-index" 433 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 434 | dependencies = [ 435 | "generic-array", 436 | "typenum", 437 | ] 438 | 439 | [[package]] 440 | name = "cssparser" 441 | version = "0.27.2" 442 | source = "registry+https://github.com/rust-lang/crates.io-index" 443 | checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" 444 | dependencies = [ 445 | "cssparser-macros", 446 | "dtoa-short", 447 | "itoa 0.4.8", 448 | "matches", 449 | "phf 0.8.0", 450 | "proc-macro2", 451 | "quote", 452 | "smallvec", 453 | "syn 1.0.109", 454 | ] 455 | 456 | [[package]] 457 | name = "cssparser-macros" 458 | version = "0.6.1" 459 | source = "registry+https://github.com/rust-lang/crates.io-index" 460 | checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" 461 | dependencies = [ 462 | "quote", 463 | "syn 2.0.27", 464 | ] 465 | 466 | [[package]] 467 | name = "ctor" 468 | version = "0.1.26" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" 471 | dependencies = [ 472 | "quote", 473 | "syn 1.0.109", 474 | ] 475 | 476 | [[package]] 477 | name = "darling" 478 | version = "0.20.3" 479 | source = "registry+https://github.com/rust-lang/crates.io-index" 480 | checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" 481 | dependencies = [ 482 | "darling_core", 483 | "darling_macro", 484 | ] 485 | 486 | [[package]] 487 | name = "darling_core" 488 | version = "0.20.3" 489 | source = "registry+https://github.com/rust-lang/crates.io-index" 490 | checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" 491 | dependencies = [ 492 | "fnv", 493 | "ident_case", 494 | "proc-macro2", 495 | "quote", 496 | "strsim", 497 | "syn 2.0.27", 498 | ] 499 | 500 | [[package]] 501 | name = "darling_macro" 502 | version = "0.20.3" 503 | source = "registry+https://github.com/rust-lang/crates.io-index" 504 | checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" 505 | dependencies = [ 506 | "darling_core", 507 | "quote", 508 | "syn 2.0.27", 509 | ] 510 | 511 | [[package]] 512 | name = "derive_more" 513 | version = "0.99.17" 514 | source = "registry+https://github.com/rust-lang/crates.io-index" 515 | checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" 516 | dependencies = [ 517 | "convert_case", 518 | "proc-macro2", 519 | "quote", 520 | "rustc_version", 521 | "syn 1.0.109", 522 | ] 523 | 524 | [[package]] 525 | name = "digest" 526 | version = "0.10.7" 527 | source = "registry+https://github.com/rust-lang/crates.io-index" 528 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 529 | dependencies = [ 530 | "block-buffer", 531 | "crypto-common", 532 | ] 533 | 534 | [[package]] 535 | name = "dirs-next" 536 | version = "2.0.0" 537 | source = "registry+https://github.com/rust-lang/crates.io-index" 538 | checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" 539 | dependencies = [ 540 | "cfg-if", 541 | "dirs-sys-next", 542 | ] 543 | 544 | [[package]] 545 | name = "dirs-sys-next" 546 | version = "0.1.2" 547 | source = "registry+https://github.com/rust-lang/crates.io-index" 548 | checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" 549 | dependencies = [ 550 | "libc", 551 | "redox_users", 552 | "winapi", 553 | ] 554 | 555 | [[package]] 556 | name = "dispatch" 557 | version = "0.2.0" 558 | source = "registry+https://github.com/rust-lang/crates.io-index" 559 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" 560 | 561 | [[package]] 562 | name = "dtoa" 563 | version = "1.0.9" 564 | source = "registry+https://github.com/rust-lang/crates.io-index" 565 | checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" 566 | 567 | [[package]] 568 | name = "dtoa-short" 569 | version = "0.3.4" 570 | source = "registry+https://github.com/rust-lang/crates.io-index" 571 | checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" 572 | dependencies = [ 573 | "dtoa", 574 | ] 575 | 576 | [[package]] 577 | name = "dunce" 578 | version = "1.0.4" 579 | source = "registry+https://github.com/rust-lang/crates.io-index" 580 | checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" 581 | 582 | [[package]] 583 | name = "embed-resource" 584 | version = "2.2.0" 585 | source = "registry+https://github.com/rust-lang/crates.io-index" 586 | checksum = "f7f1e82a60222fc67bfd50d752a9c89da5cce4c39ed39decc84a443b07bbd69a" 587 | dependencies = [ 588 | "cc", 589 | "rustc_version", 590 | "toml 0.7.6", 591 | "vswhom", 592 | "winreg", 593 | ] 594 | 595 | [[package]] 596 | name = "embed_plist" 597 | version = "1.2.2" 598 | source = "registry+https://github.com/rust-lang/crates.io-index" 599 | checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" 600 | 601 | [[package]] 602 | name = "encoding_rs" 603 | version = "0.8.32" 604 | source = "registry+https://github.com/rust-lang/crates.io-index" 605 | checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" 606 | dependencies = [ 607 | "cfg-if", 608 | ] 609 | 610 | [[package]] 611 | name = "equivalent" 612 | version = "1.0.1" 613 | source = "registry+https://github.com/rust-lang/crates.io-index" 614 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 615 | 616 | [[package]] 617 | name = "errno" 618 | version = "0.3.1" 619 | source = "registry+https://github.com/rust-lang/crates.io-index" 620 | checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" 621 | dependencies = [ 622 | "errno-dragonfly", 623 | "libc", 624 | "windows-sys 0.48.0", 625 | ] 626 | 627 | [[package]] 628 | name = "errno-dragonfly" 629 | version = "0.1.2" 630 | source = "registry+https://github.com/rust-lang/crates.io-index" 631 | checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 632 | dependencies = [ 633 | "cc", 634 | "libc", 635 | ] 636 | 637 | [[package]] 638 | name = "fastrand" 639 | version = "2.0.0" 640 | source = "registry+https://github.com/rust-lang/crates.io-index" 641 | checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" 642 | 643 | [[package]] 644 | name = "fdeflate" 645 | version = "0.3.0" 646 | source = "registry+https://github.com/rust-lang/crates.io-index" 647 | checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" 648 | dependencies = [ 649 | "simd-adler32", 650 | ] 651 | 652 | [[package]] 653 | name = "field-offset" 654 | version = "0.3.6" 655 | source = "registry+https://github.com/rust-lang/crates.io-index" 656 | checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" 657 | dependencies = [ 658 | "memoffset", 659 | "rustc_version", 660 | ] 661 | 662 | [[package]] 663 | name = "filetime" 664 | version = "0.2.21" 665 | source = "registry+https://github.com/rust-lang/crates.io-index" 666 | checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" 667 | dependencies = [ 668 | "cfg-if", 669 | "libc", 670 | "redox_syscall 0.2.16", 671 | "windows-sys 0.48.0", 672 | ] 673 | 674 | [[package]] 675 | name = "flate2" 676 | version = "1.0.26" 677 | source = "registry+https://github.com/rust-lang/crates.io-index" 678 | checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" 679 | dependencies = [ 680 | "crc32fast", 681 | "miniz_oxide", 682 | ] 683 | 684 | [[package]] 685 | name = "fnv" 686 | version = "1.0.7" 687 | source = "registry+https://github.com/rust-lang/crates.io-index" 688 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 689 | 690 | [[package]] 691 | name = "foreign-types" 692 | version = "0.3.2" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 695 | dependencies = [ 696 | "foreign-types-shared", 697 | ] 698 | 699 | [[package]] 700 | name = "foreign-types-shared" 701 | version = "0.1.1" 702 | source = "registry+https://github.com/rust-lang/crates.io-index" 703 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 704 | 705 | [[package]] 706 | name = "form_urlencoded" 707 | version = "1.2.0" 708 | source = "registry+https://github.com/rust-lang/crates.io-index" 709 | checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" 710 | dependencies = [ 711 | "percent-encoding", 712 | ] 713 | 714 | [[package]] 715 | name = "futf" 716 | version = "0.1.5" 717 | source = "registry+https://github.com/rust-lang/crates.io-index" 718 | checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 719 | dependencies = [ 720 | "mac", 721 | "new_debug_unreachable", 722 | ] 723 | 724 | [[package]] 725 | name = "futures-channel" 726 | version = "0.3.28" 727 | source = "registry+https://github.com/rust-lang/crates.io-index" 728 | checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" 729 | dependencies = [ 730 | "futures-core", 731 | ] 732 | 733 | [[package]] 734 | name = "futures-core" 735 | version = "0.3.28" 736 | source = "registry+https://github.com/rust-lang/crates.io-index" 737 | checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" 738 | 739 | [[package]] 740 | name = "futures-executor" 741 | version = "0.3.28" 742 | source = "registry+https://github.com/rust-lang/crates.io-index" 743 | checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" 744 | dependencies = [ 745 | "futures-core", 746 | "futures-task", 747 | "futures-util", 748 | ] 749 | 750 | [[package]] 751 | name = "futures-io" 752 | version = "0.3.28" 753 | source = "registry+https://github.com/rust-lang/crates.io-index" 754 | checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" 755 | 756 | [[package]] 757 | name = "futures-macro" 758 | version = "0.3.28" 759 | source = "registry+https://github.com/rust-lang/crates.io-index" 760 | checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" 761 | dependencies = [ 762 | "proc-macro2", 763 | "quote", 764 | "syn 2.0.27", 765 | ] 766 | 767 | [[package]] 768 | name = "futures-task" 769 | version = "0.3.28" 770 | source = "registry+https://github.com/rust-lang/crates.io-index" 771 | checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" 772 | 773 | [[package]] 774 | name = "futures-util" 775 | version = "0.3.28" 776 | source = "registry+https://github.com/rust-lang/crates.io-index" 777 | checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" 778 | dependencies = [ 779 | "futures-core", 780 | "futures-macro", 781 | "futures-task", 782 | "pin-project-lite", 783 | "pin-utils", 784 | "slab", 785 | ] 786 | 787 | [[package]] 788 | name = "fxhash" 789 | version = "0.2.1" 790 | source = "registry+https://github.com/rust-lang/crates.io-index" 791 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" 792 | dependencies = [ 793 | "byteorder", 794 | ] 795 | 796 | [[package]] 797 | name = "gdk" 798 | version = "0.15.4" 799 | source = "registry+https://github.com/rust-lang/crates.io-index" 800 | checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" 801 | dependencies = [ 802 | "bitflags 1.3.2", 803 | "cairo-rs", 804 | "gdk-pixbuf", 805 | "gdk-sys", 806 | "gio", 807 | "glib", 808 | "libc", 809 | "pango", 810 | ] 811 | 812 | [[package]] 813 | name = "gdk-pixbuf" 814 | version = "0.15.11" 815 | source = "registry+https://github.com/rust-lang/crates.io-index" 816 | checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" 817 | dependencies = [ 818 | "bitflags 1.3.2", 819 | "gdk-pixbuf-sys", 820 | "gio", 821 | "glib", 822 | "libc", 823 | ] 824 | 825 | [[package]] 826 | name = "gdk-pixbuf-sys" 827 | version = "0.15.10" 828 | source = "registry+https://github.com/rust-lang/crates.io-index" 829 | checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" 830 | dependencies = [ 831 | "gio-sys", 832 | "glib-sys", 833 | "gobject-sys", 834 | "libc", 835 | "system-deps 6.1.1", 836 | ] 837 | 838 | [[package]] 839 | name = "gdk-sys" 840 | version = "0.15.1" 841 | source = "registry+https://github.com/rust-lang/crates.io-index" 842 | checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" 843 | dependencies = [ 844 | "cairo-sys-rs", 845 | "gdk-pixbuf-sys", 846 | "gio-sys", 847 | "glib-sys", 848 | "gobject-sys", 849 | "libc", 850 | "pango-sys", 851 | "pkg-config", 852 | "system-deps 6.1.1", 853 | ] 854 | 855 | [[package]] 856 | name = "gdkwayland-sys" 857 | version = "0.15.3" 858 | source = "registry+https://github.com/rust-lang/crates.io-index" 859 | checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2" 860 | dependencies = [ 861 | "gdk-sys", 862 | "glib-sys", 863 | "gobject-sys", 864 | "libc", 865 | "pkg-config", 866 | "system-deps 6.1.1", 867 | ] 868 | 869 | [[package]] 870 | name = "gdkx11-sys" 871 | version = "0.15.1" 872 | source = "registry+https://github.com/rust-lang/crates.io-index" 873 | checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" 874 | dependencies = [ 875 | "gdk-sys", 876 | "glib-sys", 877 | "libc", 878 | "system-deps 6.1.1", 879 | "x11", 880 | ] 881 | 882 | [[package]] 883 | name = "generator" 884 | version = "0.7.5" 885 | source = "registry+https://github.com/rust-lang/crates.io-index" 886 | checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" 887 | dependencies = [ 888 | "cc", 889 | "libc", 890 | "log", 891 | "rustversion", 892 | "windows 0.48.0", 893 | ] 894 | 895 | [[package]] 896 | name = "generic-array" 897 | version = "0.14.7" 898 | source = "registry+https://github.com/rust-lang/crates.io-index" 899 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 900 | dependencies = [ 901 | "typenum", 902 | "version_check", 903 | ] 904 | 905 | [[package]] 906 | name = "getrandom" 907 | version = "0.1.16" 908 | source = "registry+https://github.com/rust-lang/crates.io-index" 909 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 910 | dependencies = [ 911 | "cfg-if", 912 | "libc", 913 | "wasi 0.9.0+wasi-snapshot-preview1", 914 | ] 915 | 916 | [[package]] 917 | name = "getrandom" 918 | version = "0.2.10" 919 | source = "registry+https://github.com/rust-lang/crates.io-index" 920 | checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" 921 | dependencies = [ 922 | "cfg-if", 923 | "libc", 924 | "wasi 0.11.0+wasi-snapshot-preview1", 925 | ] 926 | 927 | [[package]] 928 | name = "gimli" 929 | version = "0.27.3" 930 | source = "registry+https://github.com/rust-lang/crates.io-index" 931 | checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" 932 | 933 | [[package]] 934 | name = "gio" 935 | version = "0.15.12" 936 | source = "registry+https://github.com/rust-lang/crates.io-index" 937 | checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" 938 | dependencies = [ 939 | "bitflags 1.3.2", 940 | "futures-channel", 941 | "futures-core", 942 | "futures-io", 943 | "gio-sys", 944 | "glib", 945 | "libc", 946 | "once_cell", 947 | "thiserror", 948 | ] 949 | 950 | [[package]] 951 | name = "gio-sys" 952 | version = "0.15.10" 953 | source = "registry+https://github.com/rust-lang/crates.io-index" 954 | checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" 955 | dependencies = [ 956 | "glib-sys", 957 | "gobject-sys", 958 | "libc", 959 | "system-deps 6.1.1", 960 | "winapi", 961 | ] 962 | 963 | [[package]] 964 | name = "glib" 965 | version = "0.15.12" 966 | source = "registry+https://github.com/rust-lang/crates.io-index" 967 | checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" 968 | dependencies = [ 969 | "bitflags 1.3.2", 970 | "futures-channel", 971 | "futures-core", 972 | "futures-executor", 973 | "futures-task", 974 | "glib-macros", 975 | "glib-sys", 976 | "gobject-sys", 977 | "libc", 978 | "once_cell", 979 | "smallvec", 980 | "thiserror", 981 | ] 982 | 983 | [[package]] 984 | name = "glib-macros" 985 | version = "0.15.13" 986 | source = "registry+https://github.com/rust-lang/crates.io-index" 987 | checksum = "10c6ae9f6fa26f4fb2ac16b528d138d971ead56141de489f8111e259b9df3c4a" 988 | dependencies = [ 989 | "anyhow", 990 | "heck 0.4.1", 991 | "proc-macro-crate", 992 | "proc-macro-error", 993 | "proc-macro2", 994 | "quote", 995 | "syn 1.0.109", 996 | ] 997 | 998 | [[package]] 999 | name = "glib-sys" 1000 | version = "0.15.10" 1001 | source = "registry+https://github.com/rust-lang/crates.io-index" 1002 | checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" 1003 | dependencies = [ 1004 | "libc", 1005 | "system-deps 6.1.1", 1006 | ] 1007 | 1008 | [[package]] 1009 | name = "glob" 1010 | version = "0.3.1" 1011 | source = "registry+https://github.com/rust-lang/crates.io-index" 1012 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 1013 | 1014 | [[package]] 1015 | name = "globset" 1016 | version = "0.4.11" 1017 | source = "registry+https://github.com/rust-lang/crates.io-index" 1018 | checksum = "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df" 1019 | dependencies = [ 1020 | "aho-corasick", 1021 | "bstr", 1022 | "fnv", 1023 | "log", 1024 | "regex", 1025 | ] 1026 | 1027 | [[package]] 1028 | name = "gobject-sys" 1029 | version = "0.15.10" 1030 | source = "registry+https://github.com/rust-lang/crates.io-index" 1031 | checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" 1032 | dependencies = [ 1033 | "glib-sys", 1034 | "libc", 1035 | "system-deps 6.1.1", 1036 | ] 1037 | 1038 | [[package]] 1039 | name = "gtk" 1040 | version = "0.15.5" 1041 | source = "registry+https://github.com/rust-lang/crates.io-index" 1042 | checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" 1043 | dependencies = [ 1044 | "atk", 1045 | "bitflags 1.3.2", 1046 | "cairo-rs", 1047 | "field-offset", 1048 | "futures-channel", 1049 | "gdk", 1050 | "gdk-pixbuf", 1051 | "gio", 1052 | "glib", 1053 | "gtk-sys", 1054 | "gtk3-macros", 1055 | "libc", 1056 | "once_cell", 1057 | "pango", 1058 | "pkg-config", 1059 | ] 1060 | 1061 | [[package]] 1062 | name = "gtk-sys" 1063 | version = "0.15.3" 1064 | source = "registry+https://github.com/rust-lang/crates.io-index" 1065 | checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" 1066 | dependencies = [ 1067 | "atk-sys", 1068 | "cairo-sys-rs", 1069 | "gdk-pixbuf-sys", 1070 | "gdk-sys", 1071 | "gio-sys", 1072 | "glib-sys", 1073 | "gobject-sys", 1074 | "libc", 1075 | "pango-sys", 1076 | "system-deps 6.1.1", 1077 | ] 1078 | 1079 | [[package]] 1080 | name = "gtk3-macros" 1081 | version = "0.15.6" 1082 | source = "registry+https://github.com/rust-lang/crates.io-index" 1083 | checksum = "684c0456c086e8e7e9af73ec5b84e35938df394712054550e81558d21c44ab0d" 1084 | dependencies = [ 1085 | "anyhow", 1086 | "proc-macro-crate", 1087 | "proc-macro-error", 1088 | "proc-macro2", 1089 | "quote", 1090 | "syn 1.0.109", 1091 | ] 1092 | 1093 | [[package]] 1094 | name = "hashbrown" 1095 | version = "0.12.3" 1096 | source = "registry+https://github.com/rust-lang/crates.io-index" 1097 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1098 | 1099 | [[package]] 1100 | name = "hashbrown" 1101 | version = "0.14.0" 1102 | source = "registry+https://github.com/rust-lang/crates.io-index" 1103 | checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" 1104 | 1105 | [[package]] 1106 | name = "heck" 1107 | version = "0.3.3" 1108 | source = "registry+https://github.com/rust-lang/crates.io-index" 1109 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 1110 | dependencies = [ 1111 | "unicode-segmentation", 1112 | ] 1113 | 1114 | [[package]] 1115 | name = "heck" 1116 | version = "0.4.1" 1117 | source = "registry+https://github.com/rust-lang/crates.io-index" 1118 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1119 | 1120 | [[package]] 1121 | name = "hermit-abi" 1122 | version = "0.3.2" 1123 | source = "registry+https://github.com/rust-lang/crates.io-index" 1124 | checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" 1125 | 1126 | [[package]] 1127 | name = "hex" 1128 | version = "0.4.3" 1129 | source = "registry+https://github.com/rust-lang/crates.io-index" 1130 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1131 | 1132 | [[package]] 1133 | name = "html5ever" 1134 | version = "0.25.2" 1135 | source = "registry+https://github.com/rust-lang/crates.io-index" 1136 | checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" 1137 | dependencies = [ 1138 | "log", 1139 | "mac", 1140 | "markup5ever", 1141 | "proc-macro2", 1142 | "quote", 1143 | "syn 1.0.109", 1144 | ] 1145 | 1146 | [[package]] 1147 | name = "http" 1148 | version = "0.2.9" 1149 | source = "registry+https://github.com/rust-lang/crates.io-index" 1150 | checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" 1151 | dependencies = [ 1152 | "bytes", 1153 | "fnv", 1154 | "itoa 1.0.9", 1155 | ] 1156 | 1157 | [[package]] 1158 | name = "http-range" 1159 | version = "0.1.5" 1160 | source = "registry+https://github.com/rust-lang/crates.io-index" 1161 | checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" 1162 | 1163 | [[package]] 1164 | name = "iana-time-zone" 1165 | version = "0.1.57" 1166 | source = "registry+https://github.com/rust-lang/crates.io-index" 1167 | checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" 1168 | dependencies = [ 1169 | "android_system_properties", 1170 | "core-foundation-sys", 1171 | "iana-time-zone-haiku", 1172 | "js-sys", 1173 | "wasm-bindgen", 1174 | "windows 0.48.0", 1175 | ] 1176 | 1177 | [[package]] 1178 | name = "iana-time-zone-haiku" 1179 | version = "0.1.2" 1180 | source = "registry+https://github.com/rust-lang/crates.io-index" 1181 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1182 | dependencies = [ 1183 | "cc", 1184 | ] 1185 | 1186 | [[package]] 1187 | name = "ico" 1188 | version = "0.3.0" 1189 | source = "registry+https://github.com/rust-lang/crates.io-index" 1190 | checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" 1191 | dependencies = [ 1192 | "byteorder", 1193 | "png", 1194 | ] 1195 | 1196 | [[package]] 1197 | name = "ident_case" 1198 | version = "1.0.1" 1199 | source = "registry+https://github.com/rust-lang/crates.io-index" 1200 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1201 | 1202 | [[package]] 1203 | name = "idna" 1204 | version = "0.4.0" 1205 | source = "registry+https://github.com/rust-lang/crates.io-index" 1206 | checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" 1207 | dependencies = [ 1208 | "unicode-bidi", 1209 | "unicode-normalization", 1210 | ] 1211 | 1212 | [[package]] 1213 | name = "ignore" 1214 | version = "0.4.20" 1215 | source = "registry+https://github.com/rust-lang/crates.io-index" 1216 | checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" 1217 | dependencies = [ 1218 | "globset", 1219 | "lazy_static", 1220 | "log", 1221 | "memchr", 1222 | "regex", 1223 | "same-file", 1224 | "thread_local", 1225 | "walkdir", 1226 | "winapi-util", 1227 | ] 1228 | 1229 | [[package]] 1230 | name = "image" 1231 | version = "0.24.6" 1232 | source = "registry+https://github.com/rust-lang/crates.io-index" 1233 | checksum = "527909aa81e20ac3a44803521443a765550f09b5130c2c2fa1ea59c2f8f50a3a" 1234 | dependencies = [ 1235 | "bytemuck", 1236 | "byteorder", 1237 | "color_quant", 1238 | "num-rational", 1239 | "num-traits", 1240 | ] 1241 | 1242 | [[package]] 1243 | name = "indexmap" 1244 | version = "1.9.3" 1245 | source = "registry+https://github.com/rust-lang/crates.io-index" 1246 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1247 | dependencies = [ 1248 | "autocfg", 1249 | "hashbrown 0.12.3", 1250 | "serde", 1251 | ] 1252 | 1253 | [[package]] 1254 | name = "indexmap" 1255 | version = "2.0.0" 1256 | source = "registry+https://github.com/rust-lang/crates.io-index" 1257 | checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" 1258 | dependencies = [ 1259 | "equivalent", 1260 | "hashbrown 0.14.0", 1261 | ] 1262 | 1263 | [[package]] 1264 | name = "infer" 1265 | version = "0.12.0" 1266 | source = "registry+https://github.com/rust-lang/crates.io-index" 1267 | checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3" 1268 | dependencies = [ 1269 | "cfb", 1270 | ] 1271 | 1272 | [[package]] 1273 | name = "instant" 1274 | version = "0.1.12" 1275 | source = "registry+https://github.com/rust-lang/crates.io-index" 1276 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 1277 | dependencies = [ 1278 | "cfg-if", 1279 | ] 1280 | 1281 | [[package]] 1282 | name = "itoa" 1283 | version = "0.4.8" 1284 | source = "registry+https://github.com/rust-lang/crates.io-index" 1285 | checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" 1286 | 1287 | [[package]] 1288 | name = "itoa" 1289 | version = "1.0.9" 1290 | source = "registry+https://github.com/rust-lang/crates.io-index" 1291 | checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 1292 | 1293 | [[package]] 1294 | name = "javascriptcore-rs" 1295 | version = "0.16.0" 1296 | source = "registry+https://github.com/rust-lang/crates.io-index" 1297 | checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" 1298 | dependencies = [ 1299 | "bitflags 1.3.2", 1300 | "glib", 1301 | "javascriptcore-rs-sys", 1302 | ] 1303 | 1304 | [[package]] 1305 | name = "javascriptcore-rs-sys" 1306 | version = "0.4.0" 1307 | source = "registry+https://github.com/rust-lang/crates.io-index" 1308 | checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" 1309 | dependencies = [ 1310 | "glib-sys", 1311 | "gobject-sys", 1312 | "libc", 1313 | "system-deps 5.0.0", 1314 | ] 1315 | 1316 | [[package]] 1317 | name = "jni" 1318 | version = "0.20.0" 1319 | source = "registry+https://github.com/rust-lang/crates.io-index" 1320 | checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" 1321 | dependencies = [ 1322 | "cesu8", 1323 | "combine", 1324 | "jni-sys", 1325 | "log", 1326 | "thiserror", 1327 | "walkdir", 1328 | ] 1329 | 1330 | [[package]] 1331 | name = "jni-sys" 1332 | version = "0.3.0" 1333 | source = "registry+https://github.com/rust-lang/crates.io-index" 1334 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1335 | 1336 | [[package]] 1337 | name = "js-sys" 1338 | version = "0.3.64" 1339 | source = "registry+https://github.com/rust-lang/crates.io-index" 1340 | checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" 1341 | dependencies = [ 1342 | "wasm-bindgen", 1343 | ] 1344 | 1345 | [[package]] 1346 | name = "json-patch" 1347 | version = "1.0.0" 1348 | source = "registry+https://github.com/rust-lang/crates.io-index" 1349 | checksum = "1f54898088ccb91df1b492cc80029a6fdf1c48ca0db7c6822a8babad69c94658" 1350 | dependencies = [ 1351 | "serde", 1352 | "serde_json", 1353 | "thiserror", 1354 | "treediff", 1355 | ] 1356 | 1357 | [[package]] 1358 | name = "kuchiki" 1359 | version = "0.8.1" 1360 | source = "registry+https://github.com/rust-lang/crates.io-index" 1361 | checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" 1362 | dependencies = [ 1363 | "cssparser", 1364 | "html5ever", 1365 | "matches", 1366 | "selectors", 1367 | ] 1368 | 1369 | [[package]] 1370 | name = "lazy_static" 1371 | version = "1.4.0" 1372 | source = "registry+https://github.com/rust-lang/crates.io-index" 1373 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1374 | 1375 | [[package]] 1376 | name = "libc" 1377 | version = "0.2.147" 1378 | source = "registry+https://github.com/rust-lang/crates.io-index" 1379 | checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" 1380 | 1381 | [[package]] 1382 | name = "line-wrap" 1383 | version = "0.1.1" 1384 | source = "registry+https://github.com/rust-lang/crates.io-index" 1385 | checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" 1386 | dependencies = [ 1387 | "safemem", 1388 | ] 1389 | 1390 | [[package]] 1391 | name = "linux-raw-sys" 1392 | version = "0.4.3" 1393 | source = "registry+https://github.com/rust-lang/crates.io-index" 1394 | checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" 1395 | 1396 | [[package]] 1397 | name = "lock_api" 1398 | version = "0.4.10" 1399 | source = "registry+https://github.com/rust-lang/crates.io-index" 1400 | checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" 1401 | dependencies = [ 1402 | "autocfg", 1403 | "scopeguard", 1404 | ] 1405 | 1406 | [[package]] 1407 | name = "log" 1408 | version = "0.4.19" 1409 | source = "registry+https://github.com/rust-lang/crates.io-index" 1410 | checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" 1411 | 1412 | [[package]] 1413 | name = "loom" 1414 | version = "0.5.6" 1415 | source = "registry+https://github.com/rust-lang/crates.io-index" 1416 | checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" 1417 | dependencies = [ 1418 | "cfg-if", 1419 | "generator", 1420 | "scoped-tls", 1421 | "serde", 1422 | "serde_json", 1423 | "tracing", 1424 | "tracing-subscriber", 1425 | ] 1426 | 1427 | [[package]] 1428 | name = "mac" 1429 | version = "0.1.1" 1430 | source = "registry+https://github.com/rust-lang/crates.io-index" 1431 | checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 1432 | 1433 | [[package]] 1434 | name = "malloc_buf" 1435 | version = "0.0.6" 1436 | source = "registry+https://github.com/rust-lang/crates.io-index" 1437 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 1438 | dependencies = [ 1439 | "libc", 1440 | ] 1441 | 1442 | [[package]] 1443 | name = "markup5ever" 1444 | version = "0.10.1" 1445 | source = "registry+https://github.com/rust-lang/crates.io-index" 1446 | checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" 1447 | dependencies = [ 1448 | "log", 1449 | "phf 0.8.0", 1450 | "phf_codegen", 1451 | "string_cache", 1452 | "string_cache_codegen", 1453 | "tendril", 1454 | ] 1455 | 1456 | [[package]] 1457 | name = "matchers" 1458 | version = "0.1.0" 1459 | source = "registry+https://github.com/rust-lang/crates.io-index" 1460 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 1461 | dependencies = [ 1462 | "regex-automata 0.1.10", 1463 | ] 1464 | 1465 | [[package]] 1466 | name = "matches" 1467 | version = "0.1.10" 1468 | source = "registry+https://github.com/rust-lang/crates.io-index" 1469 | checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" 1470 | 1471 | [[package]] 1472 | name = "memchr" 1473 | version = "2.5.0" 1474 | source = "registry+https://github.com/rust-lang/crates.io-index" 1475 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 1476 | 1477 | [[package]] 1478 | name = "memoffset" 1479 | version = "0.9.0" 1480 | source = "registry+https://github.com/rust-lang/crates.io-index" 1481 | checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" 1482 | dependencies = [ 1483 | "autocfg", 1484 | ] 1485 | 1486 | [[package]] 1487 | name = "miniz_oxide" 1488 | version = "0.7.1" 1489 | source = "registry+https://github.com/rust-lang/crates.io-index" 1490 | checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" 1491 | dependencies = [ 1492 | "adler", 1493 | "simd-adler32", 1494 | ] 1495 | 1496 | [[package]] 1497 | name = "ndk" 1498 | version = "0.6.0" 1499 | source = "registry+https://github.com/rust-lang/crates.io-index" 1500 | checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" 1501 | dependencies = [ 1502 | "bitflags 1.3.2", 1503 | "jni-sys", 1504 | "ndk-sys", 1505 | "num_enum", 1506 | "thiserror", 1507 | ] 1508 | 1509 | [[package]] 1510 | name = "ndk-context" 1511 | version = "0.1.1" 1512 | source = "registry+https://github.com/rust-lang/crates.io-index" 1513 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1514 | 1515 | [[package]] 1516 | name = "ndk-sys" 1517 | version = "0.3.0" 1518 | source = "registry+https://github.com/rust-lang/crates.io-index" 1519 | checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" 1520 | dependencies = [ 1521 | "jni-sys", 1522 | ] 1523 | 1524 | [[package]] 1525 | name = "new_debug_unreachable" 1526 | version = "1.0.4" 1527 | source = "registry+https://github.com/rust-lang/crates.io-index" 1528 | checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" 1529 | 1530 | [[package]] 1531 | name = "nodrop" 1532 | version = "0.1.14" 1533 | source = "registry+https://github.com/rust-lang/crates.io-index" 1534 | checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" 1535 | 1536 | [[package]] 1537 | name = "nu-ansi-term" 1538 | version = "0.46.0" 1539 | source = "registry+https://github.com/rust-lang/crates.io-index" 1540 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1541 | dependencies = [ 1542 | "overload", 1543 | "winapi", 1544 | ] 1545 | 1546 | [[package]] 1547 | name = "num-integer" 1548 | version = "0.1.45" 1549 | source = "registry+https://github.com/rust-lang/crates.io-index" 1550 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 1551 | dependencies = [ 1552 | "autocfg", 1553 | "num-traits", 1554 | ] 1555 | 1556 | [[package]] 1557 | name = "num-rational" 1558 | version = "0.4.1" 1559 | source = "registry+https://github.com/rust-lang/crates.io-index" 1560 | checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" 1561 | dependencies = [ 1562 | "autocfg", 1563 | "num-integer", 1564 | "num-traits", 1565 | ] 1566 | 1567 | [[package]] 1568 | name = "num-traits" 1569 | version = "0.2.16" 1570 | source = "registry+https://github.com/rust-lang/crates.io-index" 1571 | checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" 1572 | dependencies = [ 1573 | "autocfg", 1574 | ] 1575 | 1576 | [[package]] 1577 | name = "num_cpus" 1578 | version = "1.16.0" 1579 | source = "registry+https://github.com/rust-lang/crates.io-index" 1580 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 1581 | dependencies = [ 1582 | "hermit-abi", 1583 | "libc", 1584 | ] 1585 | 1586 | [[package]] 1587 | name = "num_enum" 1588 | version = "0.5.11" 1589 | source = "registry+https://github.com/rust-lang/crates.io-index" 1590 | checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" 1591 | dependencies = [ 1592 | "num_enum_derive", 1593 | ] 1594 | 1595 | [[package]] 1596 | name = "num_enum_derive" 1597 | version = "0.5.11" 1598 | source = "registry+https://github.com/rust-lang/crates.io-index" 1599 | checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" 1600 | dependencies = [ 1601 | "proc-macro-crate", 1602 | "proc-macro2", 1603 | "quote", 1604 | "syn 1.0.109", 1605 | ] 1606 | 1607 | [[package]] 1608 | name = "objc" 1609 | version = "0.2.7" 1610 | source = "registry+https://github.com/rust-lang/crates.io-index" 1611 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 1612 | dependencies = [ 1613 | "malloc_buf", 1614 | "objc_exception", 1615 | ] 1616 | 1617 | [[package]] 1618 | name = "objc_exception" 1619 | version = "0.1.2" 1620 | source = "registry+https://github.com/rust-lang/crates.io-index" 1621 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" 1622 | dependencies = [ 1623 | "cc", 1624 | ] 1625 | 1626 | [[package]] 1627 | name = "objc_id" 1628 | version = "0.1.1" 1629 | source = "registry+https://github.com/rust-lang/crates.io-index" 1630 | checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" 1631 | dependencies = [ 1632 | "objc", 1633 | ] 1634 | 1635 | [[package]] 1636 | name = "object" 1637 | version = "0.31.1" 1638 | source = "registry+https://github.com/rust-lang/crates.io-index" 1639 | checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" 1640 | dependencies = [ 1641 | "memchr", 1642 | ] 1643 | 1644 | [[package]] 1645 | name = "once_cell" 1646 | version = "1.18.0" 1647 | source = "registry+https://github.com/rust-lang/crates.io-index" 1648 | checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" 1649 | 1650 | [[package]] 1651 | name = "open" 1652 | version = "3.2.0" 1653 | source = "registry+https://github.com/rust-lang/crates.io-index" 1654 | checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" 1655 | dependencies = [ 1656 | "pathdiff", 1657 | "windows-sys 0.42.0", 1658 | ] 1659 | 1660 | [[package]] 1661 | name = "overload" 1662 | version = "0.1.1" 1663 | source = "registry+https://github.com/rust-lang/crates.io-index" 1664 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1665 | 1666 | [[package]] 1667 | name = "pango" 1668 | version = "0.15.10" 1669 | source = "registry+https://github.com/rust-lang/crates.io-index" 1670 | checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" 1671 | dependencies = [ 1672 | "bitflags 1.3.2", 1673 | "glib", 1674 | "libc", 1675 | "once_cell", 1676 | "pango-sys", 1677 | ] 1678 | 1679 | [[package]] 1680 | name = "pango-sys" 1681 | version = "0.15.10" 1682 | source = "registry+https://github.com/rust-lang/crates.io-index" 1683 | checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" 1684 | dependencies = [ 1685 | "glib-sys", 1686 | "gobject-sys", 1687 | "libc", 1688 | "system-deps 6.1.1", 1689 | ] 1690 | 1691 | [[package]] 1692 | name = "parking_lot" 1693 | version = "0.12.1" 1694 | source = "registry+https://github.com/rust-lang/crates.io-index" 1695 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 1696 | dependencies = [ 1697 | "lock_api", 1698 | "parking_lot_core", 1699 | ] 1700 | 1701 | [[package]] 1702 | name = "parking_lot_core" 1703 | version = "0.9.8" 1704 | source = "registry+https://github.com/rust-lang/crates.io-index" 1705 | checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" 1706 | dependencies = [ 1707 | "cfg-if", 1708 | "libc", 1709 | "redox_syscall 0.3.5", 1710 | "smallvec", 1711 | "windows-targets", 1712 | ] 1713 | 1714 | [[package]] 1715 | name = "pathdiff" 1716 | version = "0.2.1" 1717 | source = "registry+https://github.com/rust-lang/crates.io-index" 1718 | checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" 1719 | 1720 | [[package]] 1721 | name = "percent-encoding" 1722 | version = "2.3.0" 1723 | source = "registry+https://github.com/rust-lang/crates.io-index" 1724 | checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" 1725 | 1726 | [[package]] 1727 | name = "phf" 1728 | version = "0.8.0" 1729 | source = "registry+https://github.com/rust-lang/crates.io-index" 1730 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" 1731 | dependencies = [ 1732 | "phf_macros 0.8.0", 1733 | "phf_shared 0.8.0", 1734 | "proc-macro-hack", 1735 | ] 1736 | 1737 | [[package]] 1738 | name = "phf" 1739 | version = "0.10.1" 1740 | source = "registry+https://github.com/rust-lang/crates.io-index" 1741 | checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" 1742 | dependencies = [ 1743 | "phf_macros 0.10.0", 1744 | "phf_shared 0.10.0", 1745 | "proc-macro-hack", 1746 | ] 1747 | 1748 | [[package]] 1749 | name = "phf_codegen" 1750 | version = "0.8.0" 1751 | source = "registry+https://github.com/rust-lang/crates.io-index" 1752 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" 1753 | dependencies = [ 1754 | "phf_generator 0.8.0", 1755 | "phf_shared 0.8.0", 1756 | ] 1757 | 1758 | [[package]] 1759 | name = "phf_generator" 1760 | version = "0.8.0" 1761 | source = "registry+https://github.com/rust-lang/crates.io-index" 1762 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" 1763 | dependencies = [ 1764 | "phf_shared 0.8.0", 1765 | "rand 0.7.3", 1766 | ] 1767 | 1768 | [[package]] 1769 | name = "phf_generator" 1770 | version = "0.10.0" 1771 | source = "registry+https://github.com/rust-lang/crates.io-index" 1772 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" 1773 | dependencies = [ 1774 | "phf_shared 0.10.0", 1775 | "rand 0.8.5", 1776 | ] 1777 | 1778 | [[package]] 1779 | name = "phf_macros" 1780 | version = "0.8.0" 1781 | source = "registry+https://github.com/rust-lang/crates.io-index" 1782 | checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" 1783 | dependencies = [ 1784 | "phf_generator 0.8.0", 1785 | "phf_shared 0.8.0", 1786 | "proc-macro-hack", 1787 | "proc-macro2", 1788 | "quote", 1789 | "syn 1.0.109", 1790 | ] 1791 | 1792 | [[package]] 1793 | name = "phf_macros" 1794 | version = "0.10.0" 1795 | source = "registry+https://github.com/rust-lang/crates.io-index" 1796 | checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" 1797 | dependencies = [ 1798 | "phf_generator 0.10.0", 1799 | "phf_shared 0.10.0", 1800 | "proc-macro-hack", 1801 | "proc-macro2", 1802 | "quote", 1803 | "syn 1.0.109", 1804 | ] 1805 | 1806 | [[package]] 1807 | name = "phf_shared" 1808 | version = "0.8.0" 1809 | source = "registry+https://github.com/rust-lang/crates.io-index" 1810 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" 1811 | dependencies = [ 1812 | "siphasher", 1813 | ] 1814 | 1815 | [[package]] 1816 | name = "phf_shared" 1817 | version = "0.10.0" 1818 | source = "registry+https://github.com/rust-lang/crates.io-index" 1819 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" 1820 | dependencies = [ 1821 | "siphasher", 1822 | ] 1823 | 1824 | [[package]] 1825 | name = "pin-project-lite" 1826 | version = "0.2.10" 1827 | source = "registry+https://github.com/rust-lang/crates.io-index" 1828 | checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" 1829 | 1830 | [[package]] 1831 | name = "pin-utils" 1832 | version = "0.1.0" 1833 | source = "registry+https://github.com/rust-lang/crates.io-index" 1834 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1835 | 1836 | [[package]] 1837 | name = "pkg-config" 1838 | version = "0.3.27" 1839 | source = "registry+https://github.com/rust-lang/crates.io-index" 1840 | checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" 1841 | 1842 | [[package]] 1843 | name = "plist" 1844 | version = "1.5.0" 1845 | source = "registry+https://github.com/rust-lang/crates.io-index" 1846 | checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" 1847 | dependencies = [ 1848 | "base64 0.21.2", 1849 | "indexmap 1.9.3", 1850 | "line-wrap", 1851 | "quick-xml", 1852 | "serde", 1853 | "time", 1854 | ] 1855 | 1856 | [[package]] 1857 | name = "png" 1858 | version = "0.17.9" 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" 1860 | checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11" 1861 | dependencies = [ 1862 | "bitflags 1.3.2", 1863 | "crc32fast", 1864 | "fdeflate", 1865 | "flate2", 1866 | "miniz_oxide", 1867 | ] 1868 | 1869 | [[package]] 1870 | name = "ppv-lite86" 1871 | version = "0.2.17" 1872 | source = "registry+https://github.com/rust-lang/crates.io-index" 1873 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1874 | 1875 | [[package]] 1876 | name = "precomputed-hash" 1877 | version = "0.1.1" 1878 | source = "registry+https://github.com/rust-lang/crates.io-index" 1879 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 1880 | 1881 | [[package]] 1882 | name = "proc-macro-crate" 1883 | version = "1.3.1" 1884 | source = "registry+https://github.com/rust-lang/crates.io-index" 1885 | checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" 1886 | dependencies = [ 1887 | "once_cell", 1888 | "toml_edit", 1889 | ] 1890 | 1891 | [[package]] 1892 | name = "proc-macro-error" 1893 | version = "1.0.4" 1894 | source = "registry+https://github.com/rust-lang/crates.io-index" 1895 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1896 | dependencies = [ 1897 | "proc-macro-error-attr", 1898 | "proc-macro2", 1899 | "quote", 1900 | "syn 1.0.109", 1901 | "version_check", 1902 | ] 1903 | 1904 | [[package]] 1905 | name = "proc-macro-error-attr" 1906 | version = "1.0.4" 1907 | source = "registry+https://github.com/rust-lang/crates.io-index" 1908 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1909 | dependencies = [ 1910 | "proc-macro2", 1911 | "quote", 1912 | "version_check", 1913 | ] 1914 | 1915 | [[package]] 1916 | name = "proc-macro-hack" 1917 | version = "0.5.20+deprecated" 1918 | source = "registry+https://github.com/rust-lang/crates.io-index" 1919 | checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" 1920 | 1921 | [[package]] 1922 | name = "proc-macro2" 1923 | version = "1.0.66" 1924 | source = "registry+https://github.com/rust-lang/crates.io-index" 1925 | checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" 1926 | dependencies = [ 1927 | "unicode-ident", 1928 | ] 1929 | 1930 | [[package]] 1931 | name = "quick-xml" 1932 | version = "0.29.0" 1933 | source = "registry+https://github.com/rust-lang/crates.io-index" 1934 | checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" 1935 | dependencies = [ 1936 | "memchr", 1937 | ] 1938 | 1939 | [[package]] 1940 | name = "quote" 1941 | version = "1.0.32" 1942 | source = "registry+https://github.com/rust-lang/crates.io-index" 1943 | checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" 1944 | dependencies = [ 1945 | "proc-macro2", 1946 | ] 1947 | 1948 | [[package]] 1949 | name = "rand" 1950 | version = "0.7.3" 1951 | source = "registry+https://github.com/rust-lang/crates.io-index" 1952 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 1953 | dependencies = [ 1954 | "getrandom 0.1.16", 1955 | "libc", 1956 | "rand_chacha 0.2.2", 1957 | "rand_core 0.5.1", 1958 | "rand_hc", 1959 | "rand_pcg", 1960 | ] 1961 | 1962 | [[package]] 1963 | name = "rand" 1964 | version = "0.8.5" 1965 | source = "registry+https://github.com/rust-lang/crates.io-index" 1966 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1967 | dependencies = [ 1968 | "libc", 1969 | "rand_chacha 0.3.1", 1970 | "rand_core 0.6.4", 1971 | ] 1972 | 1973 | [[package]] 1974 | name = "rand_chacha" 1975 | version = "0.2.2" 1976 | source = "registry+https://github.com/rust-lang/crates.io-index" 1977 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 1978 | dependencies = [ 1979 | "ppv-lite86", 1980 | "rand_core 0.5.1", 1981 | ] 1982 | 1983 | [[package]] 1984 | name = "rand_chacha" 1985 | version = "0.3.1" 1986 | source = "registry+https://github.com/rust-lang/crates.io-index" 1987 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1988 | dependencies = [ 1989 | "ppv-lite86", 1990 | "rand_core 0.6.4", 1991 | ] 1992 | 1993 | [[package]] 1994 | name = "rand_core" 1995 | version = "0.5.1" 1996 | source = "registry+https://github.com/rust-lang/crates.io-index" 1997 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 1998 | dependencies = [ 1999 | "getrandom 0.1.16", 2000 | ] 2001 | 2002 | [[package]] 2003 | name = "rand_core" 2004 | version = "0.6.4" 2005 | source = "registry+https://github.com/rust-lang/crates.io-index" 2006 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2007 | dependencies = [ 2008 | "getrandom 0.2.10", 2009 | ] 2010 | 2011 | [[package]] 2012 | name = "rand_hc" 2013 | version = "0.2.0" 2014 | source = "registry+https://github.com/rust-lang/crates.io-index" 2015 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 2016 | dependencies = [ 2017 | "rand_core 0.5.1", 2018 | ] 2019 | 2020 | [[package]] 2021 | name = "rand_pcg" 2022 | version = "0.2.1" 2023 | source = "registry+https://github.com/rust-lang/crates.io-index" 2024 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" 2025 | dependencies = [ 2026 | "rand_core 0.5.1", 2027 | ] 2028 | 2029 | [[package]] 2030 | name = "raw-window-handle" 2031 | version = "0.5.2" 2032 | source = "registry+https://github.com/rust-lang/crates.io-index" 2033 | checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" 2034 | 2035 | [[package]] 2036 | name = "redox_syscall" 2037 | version = "0.2.16" 2038 | source = "registry+https://github.com/rust-lang/crates.io-index" 2039 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 2040 | dependencies = [ 2041 | "bitflags 1.3.2", 2042 | ] 2043 | 2044 | [[package]] 2045 | name = "redox_syscall" 2046 | version = "0.3.5" 2047 | source = "registry+https://github.com/rust-lang/crates.io-index" 2048 | checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" 2049 | dependencies = [ 2050 | "bitflags 1.3.2", 2051 | ] 2052 | 2053 | [[package]] 2054 | name = "redox_users" 2055 | version = "0.4.3" 2056 | source = "registry+https://github.com/rust-lang/crates.io-index" 2057 | checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" 2058 | dependencies = [ 2059 | "getrandom 0.2.10", 2060 | "redox_syscall 0.2.16", 2061 | "thiserror", 2062 | ] 2063 | 2064 | [[package]] 2065 | name = "regex" 2066 | version = "1.9.1" 2067 | source = "registry+https://github.com/rust-lang/crates.io-index" 2068 | checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" 2069 | dependencies = [ 2070 | "aho-corasick", 2071 | "memchr", 2072 | "regex-automata 0.3.3", 2073 | "regex-syntax 0.7.4", 2074 | ] 2075 | 2076 | [[package]] 2077 | name = "regex-automata" 2078 | version = "0.1.10" 2079 | source = "registry+https://github.com/rust-lang/crates.io-index" 2080 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 2081 | dependencies = [ 2082 | "regex-syntax 0.6.29", 2083 | ] 2084 | 2085 | [[package]] 2086 | name = "regex-automata" 2087 | version = "0.3.3" 2088 | source = "registry+https://github.com/rust-lang/crates.io-index" 2089 | checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" 2090 | dependencies = [ 2091 | "aho-corasick", 2092 | "memchr", 2093 | "regex-syntax 0.7.4", 2094 | ] 2095 | 2096 | [[package]] 2097 | name = "regex-syntax" 2098 | version = "0.6.29" 2099 | source = "registry+https://github.com/rust-lang/crates.io-index" 2100 | checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 2101 | 2102 | [[package]] 2103 | name = "regex-syntax" 2104 | version = "0.7.4" 2105 | source = "registry+https://github.com/rust-lang/crates.io-index" 2106 | checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" 2107 | 2108 | [[package]] 2109 | name = "rustc-demangle" 2110 | version = "0.1.23" 2111 | source = "registry+https://github.com/rust-lang/crates.io-index" 2112 | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 2113 | 2114 | [[package]] 2115 | name = "rustc_version" 2116 | version = "0.4.0" 2117 | source = "registry+https://github.com/rust-lang/crates.io-index" 2118 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 2119 | dependencies = [ 2120 | "semver", 2121 | ] 2122 | 2123 | [[package]] 2124 | name = "rustix" 2125 | version = "0.38.4" 2126 | source = "registry+https://github.com/rust-lang/crates.io-index" 2127 | checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" 2128 | dependencies = [ 2129 | "bitflags 2.3.3", 2130 | "errno", 2131 | "libc", 2132 | "linux-raw-sys", 2133 | "windows-sys 0.48.0", 2134 | ] 2135 | 2136 | [[package]] 2137 | name = "rustversion" 2138 | version = "1.0.14" 2139 | source = "registry+https://github.com/rust-lang/crates.io-index" 2140 | checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" 2141 | 2142 | [[package]] 2143 | name = "ryu" 2144 | version = "1.0.15" 2145 | source = "registry+https://github.com/rust-lang/crates.io-index" 2146 | checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" 2147 | 2148 | [[package]] 2149 | name = "safemem" 2150 | version = "0.3.3" 2151 | source = "registry+https://github.com/rust-lang/crates.io-index" 2152 | checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" 2153 | 2154 | [[package]] 2155 | name = "same-file" 2156 | version = "1.0.6" 2157 | source = "registry+https://github.com/rust-lang/crates.io-index" 2158 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 2159 | dependencies = [ 2160 | "winapi-util", 2161 | ] 2162 | 2163 | [[package]] 2164 | name = "scoped-tls" 2165 | version = "1.0.1" 2166 | source = "registry+https://github.com/rust-lang/crates.io-index" 2167 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 2168 | 2169 | [[package]] 2170 | name = "scopeguard" 2171 | version = "1.2.0" 2172 | source = "registry+https://github.com/rust-lang/crates.io-index" 2173 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 2174 | 2175 | [[package]] 2176 | name = "selectors" 2177 | version = "0.22.0" 2178 | source = "registry+https://github.com/rust-lang/crates.io-index" 2179 | checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" 2180 | dependencies = [ 2181 | "bitflags 1.3.2", 2182 | "cssparser", 2183 | "derive_more", 2184 | "fxhash", 2185 | "log", 2186 | "matches", 2187 | "phf 0.8.0", 2188 | "phf_codegen", 2189 | "precomputed-hash", 2190 | "servo_arc", 2191 | "smallvec", 2192 | "thin-slice", 2193 | ] 2194 | 2195 | [[package]] 2196 | name = "semver" 2197 | version = "1.0.18" 2198 | source = "registry+https://github.com/rust-lang/crates.io-index" 2199 | checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" 2200 | dependencies = [ 2201 | "serde", 2202 | ] 2203 | 2204 | [[package]] 2205 | name = "serde" 2206 | version = "1.0.175" 2207 | source = "registry+https://github.com/rust-lang/crates.io-index" 2208 | checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b" 2209 | dependencies = [ 2210 | "serde_derive", 2211 | ] 2212 | 2213 | [[package]] 2214 | name = "serde_derive" 2215 | version = "1.0.175" 2216 | source = "registry+https://github.com/rust-lang/crates.io-index" 2217 | checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4" 2218 | dependencies = [ 2219 | "proc-macro2", 2220 | "quote", 2221 | "syn 2.0.27", 2222 | ] 2223 | 2224 | [[package]] 2225 | name = "serde_json" 2226 | version = "1.0.103" 2227 | source = "registry+https://github.com/rust-lang/crates.io-index" 2228 | checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" 2229 | dependencies = [ 2230 | "itoa 1.0.9", 2231 | "ryu", 2232 | "serde", 2233 | ] 2234 | 2235 | [[package]] 2236 | name = "serde_repr" 2237 | version = "0.1.15" 2238 | source = "registry+https://github.com/rust-lang/crates.io-index" 2239 | checksum = "e168eaaf71e8f9bd6037feb05190485708e019f4fd87d161b3c0a0d37daf85e5" 2240 | dependencies = [ 2241 | "proc-macro2", 2242 | "quote", 2243 | "syn 2.0.27", 2244 | ] 2245 | 2246 | [[package]] 2247 | name = "serde_spanned" 2248 | version = "0.6.3" 2249 | source = "registry+https://github.com/rust-lang/crates.io-index" 2250 | checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" 2251 | dependencies = [ 2252 | "serde", 2253 | ] 2254 | 2255 | [[package]] 2256 | name = "serde_with" 2257 | version = "3.1.0" 2258 | source = "registry+https://github.com/rust-lang/crates.io-index" 2259 | checksum = "21e47d95bc83ed33b2ecf84f4187ad1ab9685d18ff28db000c99deac8ce180e3" 2260 | dependencies = [ 2261 | "base64 0.21.2", 2262 | "chrono", 2263 | "hex", 2264 | "indexmap 1.9.3", 2265 | "serde", 2266 | "serde_json", 2267 | "serde_with_macros", 2268 | "time", 2269 | ] 2270 | 2271 | [[package]] 2272 | name = "serde_with_macros" 2273 | version = "3.1.0" 2274 | source = "registry+https://github.com/rust-lang/crates.io-index" 2275 | checksum = "ea3cee93715c2e266b9338b7544da68a9f24e227722ba482bd1c024367c77c65" 2276 | dependencies = [ 2277 | "darling", 2278 | "proc-macro2", 2279 | "quote", 2280 | "syn 2.0.27", 2281 | ] 2282 | 2283 | [[package]] 2284 | name = "serialize-to-javascript" 2285 | version = "0.1.1" 2286 | source = "registry+https://github.com/rust-lang/crates.io-index" 2287 | checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" 2288 | dependencies = [ 2289 | "serde", 2290 | "serde_json", 2291 | "serialize-to-javascript-impl", 2292 | ] 2293 | 2294 | [[package]] 2295 | name = "serialize-to-javascript-impl" 2296 | version = "0.1.1" 2297 | source = "registry+https://github.com/rust-lang/crates.io-index" 2298 | checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" 2299 | dependencies = [ 2300 | "proc-macro2", 2301 | "quote", 2302 | "syn 1.0.109", 2303 | ] 2304 | 2305 | [[package]] 2306 | name = "servo_arc" 2307 | version = "0.1.1" 2308 | source = "registry+https://github.com/rust-lang/crates.io-index" 2309 | checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" 2310 | dependencies = [ 2311 | "nodrop", 2312 | "stable_deref_trait", 2313 | ] 2314 | 2315 | [[package]] 2316 | name = "sha2" 2317 | version = "0.10.7" 2318 | source = "registry+https://github.com/rust-lang/crates.io-index" 2319 | checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" 2320 | dependencies = [ 2321 | "cfg-if", 2322 | "cpufeatures", 2323 | "digest", 2324 | ] 2325 | 2326 | [[package]] 2327 | name = "sharded-slab" 2328 | version = "0.1.4" 2329 | source = "registry+https://github.com/rust-lang/crates.io-index" 2330 | checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" 2331 | dependencies = [ 2332 | "lazy_static", 2333 | ] 2334 | 2335 | [[package]] 2336 | name = "simd-adler32" 2337 | version = "0.3.6" 2338 | source = "registry+https://github.com/rust-lang/crates.io-index" 2339 | checksum = "c72d35cdc6eb62d243faa568cd524a56f2600d548c5dafb44b4c21f391c3d816" 2340 | 2341 | [[package]] 2342 | name = "siphasher" 2343 | version = "0.3.10" 2344 | source = "registry+https://github.com/rust-lang/crates.io-index" 2345 | checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" 2346 | 2347 | [[package]] 2348 | name = "slab" 2349 | version = "0.4.8" 2350 | source = "registry+https://github.com/rust-lang/crates.io-index" 2351 | checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" 2352 | dependencies = [ 2353 | "autocfg", 2354 | ] 2355 | 2356 | [[package]] 2357 | name = "smallvec" 2358 | version = "1.11.0" 2359 | source = "registry+https://github.com/rust-lang/crates.io-index" 2360 | checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" 2361 | 2362 | [[package]] 2363 | name = "soup2" 2364 | version = "0.2.1" 2365 | source = "registry+https://github.com/rust-lang/crates.io-index" 2366 | checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" 2367 | dependencies = [ 2368 | "bitflags 1.3.2", 2369 | "gio", 2370 | "glib", 2371 | "libc", 2372 | "once_cell", 2373 | "soup2-sys", 2374 | ] 2375 | 2376 | [[package]] 2377 | name = "soup2-sys" 2378 | version = "0.2.0" 2379 | source = "registry+https://github.com/rust-lang/crates.io-index" 2380 | checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" 2381 | dependencies = [ 2382 | "bitflags 1.3.2", 2383 | "gio-sys", 2384 | "glib-sys", 2385 | "gobject-sys", 2386 | "libc", 2387 | "system-deps 5.0.0", 2388 | ] 2389 | 2390 | [[package]] 2391 | name = "stable_deref_trait" 2392 | version = "1.2.0" 2393 | source = "registry+https://github.com/rust-lang/crates.io-index" 2394 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 2395 | 2396 | [[package]] 2397 | name = "state" 2398 | version = "0.5.3" 2399 | source = "registry+https://github.com/rust-lang/crates.io-index" 2400 | checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" 2401 | dependencies = [ 2402 | "loom", 2403 | ] 2404 | 2405 | [[package]] 2406 | name = "string_cache" 2407 | version = "0.8.7" 2408 | source = "registry+https://github.com/rust-lang/crates.io-index" 2409 | checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" 2410 | dependencies = [ 2411 | "new_debug_unreachable", 2412 | "once_cell", 2413 | "parking_lot", 2414 | "phf_shared 0.10.0", 2415 | "precomputed-hash", 2416 | "serde", 2417 | ] 2418 | 2419 | [[package]] 2420 | name = "string_cache_codegen" 2421 | version = "0.5.2" 2422 | source = "registry+https://github.com/rust-lang/crates.io-index" 2423 | checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" 2424 | dependencies = [ 2425 | "phf_generator 0.10.0", 2426 | "phf_shared 0.10.0", 2427 | "proc-macro2", 2428 | "quote", 2429 | ] 2430 | 2431 | [[package]] 2432 | name = "strsim" 2433 | version = "0.10.0" 2434 | source = "registry+https://github.com/rust-lang/crates.io-index" 2435 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 2436 | 2437 | [[package]] 2438 | name = "syn" 2439 | version = "1.0.109" 2440 | source = "registry+https://github.com/rust-lang/crates.io-index" 2441 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2442 | dependencies = [ 2443 | "proc-macro2", 2444 | "quote", 2445 | "unicode-ident", 2446 | ] 2447 | 2448 | [[package]] 2449 | name = "syn" 2450 | version = "2.0.27" 2451 | source = "registry+https://github.com/rust-lang/crates.io-index" 2452 | checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" 2453 | dependencies = [ 2454 | "proc-macro2", 2455 | "quote", 2456 | "unicode-ident", 2457 | ] 2458 | 2459 | [[package]] 2460 | name = "system-deps" 2461 | version = "5.0.0" 2462 | source = "registry+https://github.com/rust-lang/crates.io-index" 2463 | checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" 2464 | dependencies = [ 2465 | "cfg-expr 0.9.1", 2466 | "heck 0.3.3", 2467 | "pkg-config", 2468 | "toml 0.5.11", 2469 | "version-compare 0.0.11", 2470 | ] 2471 | 2472 | [[package]] 2473 | name = "system-deps" 2474 | version = "6.1.1" 2475 | source = "registry+https://github.com/rust-lang/crates.io-index" 2476 | checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3" 2477 | dependencies = [ 2478 | "cfg-expr 0.15.3", 2479 | "heck 0.4.1", 2480 | "pkg-config", 2481 | "toml 0.7.6", 2482 | "version-compare 0.1.1", 2483 | ] 2484 | 2485 | [[package]] 2486 | name = "tao" 2487 | version = "0.16.2" 2488 | source = "registry+https://github.com/rust-lang/crates.io-index" 2489 | checksum = "6a6d198e01085564cea63e976ad1566c1ba2c2e4cc79578e35d9f05521505e31" 2490 | dependencies = [ 2491 | "bitflags 1.3.2", 2492 | "cairo-rs", 2493 | "cc", 2494 | "cocoa", 2495 | "core-foundation", 2496 | "core-graphics", 2497 | "crossbeam-channel", 2498 | "dispatch", 2499 | "gdk", 2500 | "gdk-pixbuf", 2501 | "gdk-sys", 2502 | "gdkwayland-sys", 2503 | "gdkx11-sys", 2504 | "gio", 2505 | "glib", 2506 | "glib-sys", 2507 | "gtk", 2508 | "image", 2509 | "instant", 2510 | "jni", 2511 | "lazy_static", 2512 | "libc", 2513 | "log", 2514 | "ndk", 2515 | "ndk-context", 2516 | "ndk-sys", 2517 | "objc", 2518 | "once_cell", 2519 | "parking_lot", 2520 | "png", 2521 | "raw-window-handle", 2522 | "scopeguard", 2523 | "serde", 2524 | "tao-macros", 2525 | "unicode-segmentation", 2526 | "uuid", 2527 | "windows 0.39.0", 2528 | "windows-implement", 2529 | "x11-dl", 2530 | ] 2531 | 2532 | [[package]] 2533 | name = "tao-macros" 2534 | version = "0.1.1" 2535 | source = "registry+https://github.com/rust-lang/crates.io-index" 2536 | checksum = "3b27a4bcc5eb524658234589bdffc7e7bfb996dbae6ce9393bfd39cb4159b445" 2537 | dependencies = [ 2538 | "proc-macro2", 2539 | "quote", 2540 | "syn 1.0.109", 2541 | ] 2542 | 2543 | [[package]] 2544 | name = "tar" 2545 | version = "0.4.39" 2546 | source = "registry+https://github.com/rust-lang/crates.io-index" 2547 | checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96" 2548 | dependencies = [ 2549 | "filetime", 2550 | "libc", 2551 | "xattr", 2552 | ] 2553 | 2554 | [[package]] 2555 | name = "target-lexicon" 2556 | version = "0.12.10" 2557 | source = "registry+https://github.com/rust-lang/crates.io-index" 2558 | checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e" 2559 | 2560 | [[package]] 2561 | name = "tauri" 2562 | version = "1.4.1" 2563 | source = "registry+https://github.com/rust-lang/crates.io-index" 2564 | checksum = "7fbe522898e35407a8e60dc3870f7579fea2fc262a6a6072eccdd37ae1e1d91e" 2565 | dependencies = [ 2566 | "anyhow", 2567 | "cocoa", 2568 | "dirs-next", 2569 | "embed_plist", 2570 | "encoding_rs", 2571 | "flate2", 2572 | "futures-util", 2573 | "glib", 2574 | "glob", 2575 | "gtk", 2576 | "heck 0.4.1", 2577 | "http", 2578 | "ignore", 2579 | "objc", 2580 | "once_cell", 2581 | "open", 2582 | "percent-encoding", 2583 | "rand 0.8.5", 2584 | "raw-window-handle", 2585 | "regex", 2586 | "semver", 2587 | "serde", 2588 | "serde_json", 2589 | "serde_repr", 2590 | "serialize-to-javascript", 2591 | "state", 2592 | "tar", 2593 | "tauri-macros", 2594 | "tauri-runtime", 2595 | "tauri-runtime-wry", 2596 | "tauri-utils", 2597 | "tempfile", 2598 | "thiserror", 2599 | "tokio", 2600 | "url", 2601 | "uuid", 2602 | "webkit2gtk", 2603 | "webview2-com", 2604 | "windows 0.39.0", 2605 | ] 2606 | 2607 | [[package]] 2608 | name = "tauri-build" 2609 | version = "1.4.0" 2610 | source = "registry+https://github.com/rust-lang/crates.io-index" 2611 | checksum = "7d2edd6a259b5591c8efdeb9d5702cb53515b82a6affebd55c7fd6d3a27b7d1b" 2612 | dependencies = [ 2613 | "anyhow", 2614 | "cargo_toml", 2615 | "heck 0.4.1", 2616 | "json-patch", 2617 | "semver", 2618 | "serde", 2619 | "serde_json", 2620 | "tauri-utils", 2621 | "tauri-winres", 2622 | ] 2623 | 2624 | [[package]] 2625 | name = "tauri-codegen" 2626 | version = "1.4.0" 2627 | source = "registry+https://github.com/rust-lang/crates.io-index" 2628 | checksum = "54ad2d49fdeab4a08717f5b49a163bdc72efc3b1950b6758245fcde79b645e1a" 2629 | dependencies = [ 2630 | "base64 0.21.2", 2631 | "brotli", 2632 | "ico", 2633 | "json-patch", 2634 | "plist", 2635 | "png", 2636 | "proc-macro2", 2637 | "quote", 2638 | "regex", 2639 | "semver", 2640 | "serde", 2641 | "serde_json", 2642 | "sha2", 2643 | "tauri-utils", 2644 | "thiserror", 2645 | "time", 2646 | "uuid", 2647 | "walkdir", 2648 | ] 2649 | 2650 | [[package]] 2651 | name = "tauri-global-state-management" 2652 | version = "0.0.0" 2653 | dependencies = [ 2654 | "serde", 2655 | "serde_json", 2656 | "tauri", 2657 | "tauri-build", 2658 | ] 2659 | 2660 | [[package]] 2661 | name = "tauri-macros" 2662 | version = "1.4.0" 2663 | source = "registry+https://github.com/rust-lang/crates.io-index" 2664 | checksum = "8eb12a2454e747896929338d93b0642144bb51e0dddbb36e579035731f0d76b7" 2665 | dependencies = [ 2666 | "heck 0.4.1", 2667 | "proc-macro2", 2668 | "quote", 2669 | "syn 1.0.109", 2670 | "tauri-codegen", 2671 | "tauri-utils", 2672 | ] 2673 | 2674 | [[package]] 2675 | name = "tauri-runtime" 2676 | version = "0.14.0" 2677 | source = "registry+https://github.com/rust-lang/crates.io-index" 2678 | checksum = "108683199cb18f96d2d4134187bb789964143c845d2d154848dda209191fd769" 2679 | dependencies = [ 2680 | "gtk", 2681 | "http", 2682 | "http-range", 2683 | "rand 0.8.5", 2684 | "raw-window-handle", 2685 | "serde", 2686 | "serde_json", 2687 | "tauri-utils", 2688 | "thiserror", 2689 | "url", 2690 | "uuid", 2691 | "webview2-com", 2692 | "windows 0.39.0", 2693 | ] 2694 | 2695 | [[package]] 2696 | name = "tauri-runtime-wry" 2697 | version = "0.14.0" 2698 | source = "registry+https://github.com/rust-lang/crates.io-index" 2699 | checksum = "0b7aa256a1407a3a091b5d843eccc1a5042289baf0a43d1179d9f0fcfea37c1b" 2700 | dependencies = [ 2701 | "cocoa", 2702 | "gtk", 2703 | "percent-encoding", 2704 | "rand 0.8.5", 2705 | "raw-window-handle", 2706 | "tauri-runtime", 2707 | "tauri-utils", 2708 | "uuid", 2709 | "webkit2gtk", 2710 | "webview2-com", 2711 | "windows 0.39.0", 2712 | "wry", 2713 | ] 2714 | 2715 | [[package]] 2716 | name = "tauri-utils" 2717 | version = "1.4.0" 2718 | source = "registry+https://github.com/rust-lang/crates.io-index" 2719 | checksum = "03fc02bb6072bb397e1d473c6f76c953cda48b4a2d0cce605df284aa74a12e84" 2720 | dependencies = [ 2721 | "brotli", 2722 | "ctor", 2723 | "dunce", 2724 | "glob", 2725 | "heck 0.4.1", 2726 | "html5ever", 2727 | "infer", 2728 | "json-patch", 2729 | "kuchiki", 2730 | "memchr", 2731 | "phf 0.10.1", 2732 | "proc-macro2", 2733 | "quote", 2734 | "semver", 2735 | "serde", 2736 | "serde_json", 2737 | "serde_with", 2738 | "thiserror", 2739 | "url", 2740 | "walkdir", 2741 | "windows 0.39.0", 2742 | ] 2743 | 2744 | [[package]] 2745 | name = "tauri-winres" 2746 | version = "0.1.1" 2747 | source = "registry+https://github.com/rust-lang/crates.io-index" 2748 | checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" 2749 | dependencies = [ 2750 | "embed-resource", 2751 | "toml 0.7.6", 2752 | ] 2753 | 2754 | [[package]] 2755 | name = "tempfile" 2756 | version = "3.7.0" 2757 | source = "registry+https://github.com/rust-lang/crates.io-index" 2758 | checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" 2759 | dependencies = [ 2760 | "cfg-if", 2761 | "fastrand", 2762 | "redox_syscall 0.3.5", 2763 | "rustix", 2764 | "windows-sys 0.48.0", 2765 | ] 2766 | 2767 | [[package]] 2768 | name = "tendril" 2769 | version = "0.4.3" 2770 | source = "registry+https://github.com/rust-lang/crates.io-index" 2771 | checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 2772 | dependencies = [ 2773 | "futf", 2774 | "mac", 2775 | "utf-8", 2776 | ] 2777 | 2778 | [[package]] 2779 | name = "thin-slice" 2780 | version = "0.1.1" 2781 | source = "registry+https://github.com/rust-lang/crates.io-index" 2782 | checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" 2783 | 2784 | [[package]] 2785 | name = "thiserror" 2786 | version = "1.0.44" 2787 | source = "registry+https://github.com/rust-lang/crates.io-index" 2788 | checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" 2789 | dependencies = [ 2790 | "thiserror-impl", 2791 | ] 2792 | 2793 | [[package]] 2794 | name = "thiserror-impl" 2795 | version = "1.0.44" 2796 | source = "registry+https://github.com/rust-lang/crates.io-index" 2797 | checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" 2798 | dependencies = [ 2799 | "proc-macro2", 2800 | "quote", 2801 | "syn 2.0.27", 2802 | ] 2803 | 2804 | [[package]] 2805 | name = "thread_local" 2806 | version = "1.1.7" 2807 | source = "registry+https://github.com/rust-lang/crates.io-index" 2808 | checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 2809 | dependencies = [ 2810 | "cfg-if", 2811 | "once_cell", 2812 | ] 2813 | 2814 | [[package]] 2815 | name = "time" 2816 | version = "0.3.23" 2817 | source = "registry+https://github.com/rust-lang/crates.io-index" 2818 | checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" 2819 | dependencies = [ 2820 | "itoa 1.0.9", 2821 | "serde", 2822 | "time-core", 2823 | "time-macros", 2824 | ] 2825 | 2826 | [[package]] 2827 | name = "time-core" 2828 | version = "0.1.1" 2829 | source = "registry+https://github.com/rust-lang/crates.io-index" 2830 | checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" 2831 | 2832 | [[package]] 2833 | name = "time-macros" 2834 | version = "0.2.10" 2835 | source = "registry+https://github.com/rust-lang/crates.io-index" 2836 | checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" 2837 | dependencies = [ 2838 | "time-core", 2839 | ] 2840 | 2841 | [[package]] 2842 | name = "tinyvec" 2843 | version = "1.6.0" 2844 | source = "registry+https://github.com/rust-lang/crates.io-index" 2845 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 2846 | dependencies = [ 2847 | "tinyvec_macros", 2848 | ] 2849 | 2850 | [[package]] 2851 | name = "tinyvec_macros" 2852 | version = "0.1.1" 2853 | source = "registry+https://github.com/rust-lang/crates.io-index" 2854 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 2855 | 2856 | [[package]] 2857 | name = "tokio" 2858 | version = "1.29.1" 2859 | source = "registry+https://github.com/rust-lang/crates.io-index" 2860 | checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" 2861 | dependencies = [ 2862 | "autocfg", 2863 | "backtrace", 2864 | "bytes", 2865 | "num_cpus", 2866 | "pin-project-lite", 2867 | ] 2868 | 2869 | [[package]] 2870 | name = "toml" 2871 | version = "0.5.11" 2872 | source = "registry+https://github.com/rust-lang/crates.io-index" 2873 | checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" 2874 | dependencies = [ 2875 | "serde", 2876 | ] 2877 | 2878 | [[package]] 2879 | name = "toml" 2880 | version = "0.7.6" 2881 | source = "registry+https://github.com/rust-lang/crates.io-index" 2882 | checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" 2883 | dependencies = [ 2884 | "serde", 2885 | "serde_spanned", 2886 | "toml_datetime", 2887 | "toml_edit", 2888 | ] 2889 | 2890 | [[package]] 2891 | name = "toml_datetime" 2892 | version = "0.6.3" 2893 | source = "registry+https://github.com/rust-lang/crates.io-index" 2894 | checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" 2895 | dependencies = [ 2896 | "serde", 2897 | ] 2898 | 2899 | [[package]] 2900 | name = "toml_edit" 2901 | version = "0.19.14" 2902 | source = "registry+https://github.com/rust-lang/crates.io-index" 2903 | checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" 2904 | dependencies = [ 2905 | "indexmap 2.0.0", 2906 | "serde", 2907 | "serde_spanned", 2908 | "toml_datetime", 2909 | "winnow", 2910 | ] 2911 | 2912 | [[package]] 2913 | name = "tracing" 2914 | version = "0.1.37" 2915 | source = "registry+https://github.com/rust-lang/crates.io-index" 2916 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 2917 | dependencies = [ 2918 | "cfg-if", 2919 | "pin-project-lite", 2920 | "tracing-attributes", 2921 | "tracing-core", 2922 | ] 2923 | 2924 | [[package]] 2925 | name = "tracing-attributes" 2926 | version = "0.1.26" 2927 | source = "registry+https://github.com/rust-lang/crates.io-index" 2928 | checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" 2929 | dependencies = [ 2930 | "proc-macro2", 2931 | "quote", 2932 | "syn 2.0.27", 2933 | ] 2934 | 2935 | [[package]] 2936 | name = "tracing-core" 2937 | version = "0.1.31" 2938 | source = "registry+https://github.com/rust-lang/crates.io-index" 2939 | checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" 2940 | dependencies = [ 2941 | "once_cell", 2942 | "valuable", 2943 | ] 2944 | 2945 | [[package]] 2946 | name = "tracing-log" 2947 | version = "0.1.3" 2948 | source = "registry+https://github.com/rust-lang/crates.io-index" 2949 | checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" 2950 | dependencies = [ 2951 | "lazy_static", 2952 | "log", 2953 | "tracing-core", 2954 | ] 2955 | 2956 | [[package]] 2957 | name = "tracing-subscriber" 2958 | version = "0.3.17" 2959 | source = "registry+https://github.com/rust-lang/crates.io-index" 2960 | checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" 2961 | dependencies = [ 2962 | "matchers", 2963 | "nu-ansi-term", 2964 | "once_cell", 2965 | "regex", 2966 | "sharded-slab", 2967 | "smallvec", 2968 | "thread_local", 2969 | "tracing", 2970 | "tracing-core", 2971 | "tracing-log", 2972 | ] 2973 | 2974 | [[package]] 2975 | name = "treediff" 2976 | version = "4.0.2" 2977 | source = "registry+https://github.com/rust-lang/crates.io-index" 2978 | checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303" 2979 | dependencies = [ 2980 | "serde_json", 2981 | ] 2982 | 2983 | [[package]] 2984 | name = "typenum" 2985 | version = "1.16.0" 2986 | source = "registry+https://github.com/rust-lang/crates.io-index" 2987 | checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" 2988 | 2989 | [[package]] 2990 | name = "unicode-bidi" 2991 | version = "0.3.13" 2992 | source = "registry+https://github.com/rust-lang/crates.io-index" 2993 | checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" 2994 | 2995 | [[package]] 2996 | name = "unicode-ident" 2997 | version = "1.0.11" 2998 | source = "registry+https://github.com/rust-lang/crates.io-index" 2999 | checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" 3000 | 3001 | [[package]] 3002 | name = "unicode-normalization" 3003 | version = "0.1.22" 3004 | source = "registry+https://github.com/rust-lang/crates.io-index" 3005 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 3006 | dependencies = [ 3007 | "tinyvec", 3008 | ] 3009 | 3010 | [[package]] 3011 | name = "unicode-segmentation" 3012 | version = "1.10.1" 3013 | source = "registry+https://github.com/rust-lang/crates.io-index" 3014 | checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" 3015 | 3016 | [[package]] 3017 | name = "url" 3018 | version = "2.4.0" 3019 | source = "registry+https://github.com/rust-lang/crates.io-index" 3020 | checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" 3021 | dependencies = [ 3022 | "form_urlencoded", 3023 | "idna", 3024 | "percent-encoding", 3025 | "serde", 3026 | ] 3027 | 3028 | [[package]] 3029 | name = "utf-8" 3030 | version = "0.7.6" 3031 | source = "registry+https://github.com/rust-lang/crates.io-index" 3032 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 3033 | 3034 | [[package]] 3035 | name = "uuid" 3036 | version = "1.4.1" 3037 | source = "registry+https://github.com/rust-lang/crates.io-index" 3038 | checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" 3039 | dependencies = [ 3040 | "getrandom 0.2.10", 3041 | ] 3042 | 3043 | [[package]] 3044 | name = "valuable" 3045 | version = "0.1.0" 3046 | source = "registry+https://github.com/rust-lang/crates.io-index" 3047 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 3048 | 3049 | [[package]] 3050 | name = "version-compare" 3051 | version = "0.0.11" 3052 | source = "registry+https://github.com/rust-lang/crates.io-index" 3053 | checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" 3054 | 3055 | [[package]] 3056 | name = "version-compare" 3057 | version = "0.1.1" 3058 | source = "registry+https://github.com/rust-lang/crates.io-index" 3059 | checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" 3060 | 3061 | [[package]] 3062 | name = "version_check" 3063 | version = "0.9.4" 3064 | source = "registry+https://github.com/rust-lang/crates.io-index" 3065 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 3066 | 3067 | [[package]] 3068 | name = "vswhom" 3069 | version = "0.1.0" 3070 | source = "registry+https://github.com/rust-lang/crates.io-index" 3071 | checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" 3072 | dependencies = [ 3073 | "libc", 3074 | "vswhom-sys", 3075 | ] 3076 | 3077 | [[package]] 3078 | name = "vswhom-sys" 3079 | version = "0.1.2" 3080 | source = "registry+https://github.com/rust-lang/crates.io-index" 3081 | checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" 3082 | dependencies = [ 3083 | "cc", 3084 | "libc", 3085 | ] 3086 | 3087 | [[package]] 3088 | name = "walkdir" 3089 | version = "2.3.3" 3090 | source = "registry+https://github.com/rust-lang/crates.io-index" 3091 | checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" 3092 | dependencies = [ 3093 | "same-file", 3094 | "winapi-util", 3095 | ] 3096 | 3097 | [[package]] 3098 | name = "wasi" 3099 | version = "0.9.0+wasi-snapshot-preview1" 3100 | source = "registry+https://github.com/rust-lang/crates.io-index" 3101 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 3102 | 3103 | [[package]] 3104 | name = "wasi" 3105 | version = "0.11.0+wasi-snapshot-preview1" 3106 | source = "registry+https://github.com/rust-lang/crates.io-index" 3107 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3108 | 3109 | [[package]] 3110 | name = "wasm-bindgen" 3111 | version = "0.2.87" 3112 | source = "registry+https://github.com/rust-lang/crates.io-index" 3113 | checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" 3114 | dependencies = [ 3115 | "cfg-if", 3116 | "wasm-bindgen-macro", 3117 | ] 3118 | 3119 | [[package]] 3120 | name = "wasm-bindgen-backend" 3121 | version = "0.2.87" 3122 | source = "registry+https://github.com/rust-lang/crates.io-index" 3123 | checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" 3124 | dependencies = [ 3125 | "bumpalo", 3126 | "log", 3127 | "once_cell", 3128 | "proc-macro2", 3129 | "quote", 3130 | "syn 2.0.27", 3131 | "wasm-bindgen-shared", 3132 | ] 3133 | 3134 | [[package]] 3135 | name = "wasm-bindgen-macro" 3136 | version = "0.2.87" 3137 | source = "registry+https://github.com/rust-lang/crates.io-index" 3138 | checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" 3139 | dependencies = [ 3140 | "quote", 3141 | "wasm-bindgen-macro-support", 3142 | ] 3143 | 3144 | [[package]] 3145 | name = "wasm-bindgen-macro-support" 3146 | version = "0.2.87" 3147 | source = "registry+https://github.com/rust-lang/crates.io-index" 3148 | checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" 3149 | dependencies = [ 3150 | "proc-macro2", 3151 | "quote", 3152 | "syn 2.0.27", 3153 | "wasm-bindgen-backend", 3154 | "wasm-bindgen-shared", 3155 | ] 3156 | 3157 | [[package]] 3158 | name = "wasm-bindgen-shared" 3159 | version = "0.2.87" 3160 | source = "registry+https://github.com/rust-lang/crates.io-index" 3161 | checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" 3162 | 3163 | [[package]] 3164 | name = "webkit2gtk" 3165 | version = "0.18.2" 3166 | source = "registry+https://github.com/rust-lang/crates.io-index" 3167 | checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" 3168 | dependencies = [ 3169 | "bitflags 1.3.2", 3170 | "cairo-rs", 3171 | "gdk", 3172 | "gdk-sys", 3173 | "gio", 3174 | "gio-sys", 3175 | "glib", 3176 | "glib-sys", 3177 | "gobject-sys", 3178 | "gtk", 3179 | "gtk-sys", 3180 | "javascriptcore-rs", 3181 | "libc", 3182 | "once_cell", 3183 | "soup2", 3184 | "webkit2gtk-sys", 3185 | ] 3186 | 3187 | [[package]] 3188 | name = "webkit2gtk-sys" 3189 | version = "0.18.0" 3190 | source = "registry+https://github.com/rust-lang/crates.io-index" 3191 | checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" 3192 | dependencies = [ 3193 | "atk-sys", 3194 | "bitflags 1.3.2", 3195 | "cairo-sys-rs", 3196 | "gdk-pixbuf-sys", 3197 | "gdk-sys", 3198 | "gio-sys", 3199 | "glib-sys", 3200 | "gobject-sys", 3201 | "gtk-sys", 3202 | "javascriptcore-rs-sys", 3203 | "libc", 3204 | "pango-sys", 3205 | "pkg-config", 3206 | "soup2-sys", 3207 | "system-deps 6.1.1", 3208 | ] 3209 | 3210 | [[package]] 3211 | name = "webview2-com" 3212 | version = "0.19.1" 3213 | source = "registry+https://github.com/rust-lang/crates.io-index" 3214 | checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" 3215 | dependencies = [ 3216 | "webview2-com-macros", 3217 | "webview2-com-sys", 3218 | "windows 0.39.0", 3219 | "windows-implement", 3220 | ] 3221 | 3222 | [[package]] 3223 | name = "webview2-com-macros" 3224 | version = "0.6.0" 3225 | source = "registry+https://github.com/rust-lang/crates.io-index" 3226 | checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" 3227 | dependencies = [ 3228 | "proc-macro2", 3229 | "quote", 3230 | "syn 1.0.109", 3231 | ] 3232 | 3233 | [[package]] 3234 | name = "webview2-com-sys" 3235 | version = "0.19.0" 3236 | source = "registry+https://github.com/rust-lang/crates.io-index" 3237 | checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" 3238 | dependencies = [ 3239 | "regex", 3240 | "serde", 3241 | "serde_json", 3242 | "thiserror", 3243 | "windows 0.39.0", 3244 | "windows-bindgen", 3245 | "windows-metadata", 3246 | ] 3247 | 3248 | [[package]] 3249 | name = "winapi" 3250 | version = "0.3.9" 3251 | source = "registry+https://github.com/rust-lang/crates.io-index" 3252 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 3253 | dependencies = [ 3254 | "winapi-i686-pc-windows-gnu", 3255 | "winapi-x86_64-pc-windows-gnu", 3256 | ] 3257 | 3258 | [[package]] 3259 | name = "winapi-i686-pc-windows-gnu" 3260 | version = "0.4.0" 3261 | source = "registry+https://github.com/rust-lang/crates.io-index" 3262 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 3263 | 3264 | [[package]] 3265 | name = "winapi-util" 3266 | version = "0.1.5" 3267 | source = "registry+https://github.com/rust-lang/crates.io-index" 3268 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 3269 | dependencies = [ 3270 | "winapi", 3271 | ] 3272 | 3273 | [[package]] 3274 | name = "winapi-x86_64-pc-windows-gnu" 3275 | version = "0.4.0" 3276 | source = "registry+https://github.com/rust-lang/crates.io-index" 3277 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 3278 | 3279 | [[package]] 3280 | name = "windows" 3281 | version = "0.39.0" 3282 | source = "registry+https://github.com/rust-lang/crates.io-index" 3283 | checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" 3284 | dependencies = [ 3285 | "windows-implement", 3286 | "windows_aarch64_msvc 0.39.0", 3287 | "windows_i686_gnu 0.39.0", 3288 | "windows_i686_msvc 0.39.0", 3289 | "windows_x86_64_gnu 0.39.0", 3290 | "windows_x86_64_msvc 0.39.0", 3291 | ] 3292 | 3293 | [[package]] 3294 | name = "windows" 3295 | version = "0.48.0" 3296 | source = "registry+https://github.com/rust-lang/crates.io-index" 3297 | checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" 3298 | dependencies = [ 3299 | "windows-targets", 3300 | ] 3301 | 3302 | [[package]] 3303 | name = "windows-bindgen" 3304 | version = "0.39.0" 3305 | source = "registry+https://github.com/rust-lang/crates.io-index" 3306 | checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" 3307 | dependencies = [ 3308 | "windows-metadata", 3309 | "windows-tokens", 3310 | ] 3311 | 3312 | [[package]] 3313 | name = "windows-implement" 3314 | version = "0.39.0" 3315 | source = "registry+https://github.com/rust-lang/crates.io-index" 3316 | checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" 3317 | dependencies = [ 3318 | "syn 1.0.109", 3319 | "windows-tokens", 3320 | ] 3321 | 3322 | [[package]] 3323 | name = "windows-metadata" 3324 | version = "0.39.0" 3325 | source = "registry+https://github.com/rust-lang/crates.io-index" 3326 | checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" 3327 | 3328 | [[package]] 3329 | name = "windows-sys" 3330 | version = "0.42.0" 3331 | source = "registry+https://github.com/rust-lang/crates.io-index" 3332 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 3333 | dependencies = [ 3334 | "windows_aarch64_gnullvm 0.42.2", 3335 | "windows_aarch64_msvc 0.42.2", 3336 | "windows_i686_gnu 0.42.2", 3337 | "windows_i686_msvc 0.42.2", 3338 | "windows_x86_64_gnu 0.42.2", 3339 | "windows_x86_64_gnullvm 0.42.2", 3340 | "windows_x86_64_msvc 0.42.2", 3341 | ] 3342 | 3343 | [[package]] 3344 | name = "windows-sys" 3345 | version = "0.48.0" 3346 | source = "registry+https://github.com/rust-lang/crates.io-index" 3347 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 3348 | dependencies = [ 3349 | "windows-targets", 3350 | ] 3351 | 3352 | [[package]] 3353 | name = "windows-targets" 3354 | version = "0.48.1" 3355 | source = "registry+https://github.com/rust-lang/crates.io-index" 3356 | checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" 3357 | dependencies = [ 3358 | "windows_aarch64_gnullvm 0.48.0", 3359 | "windows_aarch64_msvc 0.48.0", 3360 | "windows_i686_gnu 0.48.0", 3361 | "windows_i686_msvc 0.48.0", 3362 | "windows_x86_64_gnu 0.48.0", 3363 | "windows_x86_64_gnullvm 0.48.0", 3364 | "windows_x86_64_msvc 0.48.0", 3365 | ] 3366 | 3367 | [[package]] 3368 | name = "windows-tokens" 3369 | version = "0.39.0" 3370 | source = "registry+https://github.com/rust-lang/crates.io-index" 3371 | checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" 3372 | 3373 | [[package]] 3374 | name = "windows_aarch64_gnullvm" 3375 | version = "0.42.2" 3376 | source = "registry+https://github.com/rust-lang/crates.io-index" 3377 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 3378 | 3379 | [[package]] 3380 | name = "windows_aarch64_gnullvm" 3381 | version = "0.48.0" 3382 | source = "registry+https://github.com/rust-lang/crates.io-index" 3383 | checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" 3384 | 3385 | [[package]] 3386 | name = "windows_aarch64_msvc" 3387 | version = "0.39.0" 3388 | source = "registry+https://github.com/rust-lang/crates.io-index" 3389 | checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" 3390 | 3391 | [[package]] 3392 | name = "windows_aarch64_msvc" 3393 | version = "0.42.2" 3394 | source = "registry+https://github.com/rust-lang/crates.io-index" 3395 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 3396 | 3397 | [[package]] 3398 | name = "windows_aarch64_msvc" 3399 | version = "0.48.0" 3400 | source = "registry+https://github.com/rust-lang/crates.io-index" 3401 | checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" 3402 | 3403 | [[package]] 3404 | name = "windows_i686_gnu" 3405 | version = "0.39.0" 3406 | source = "registry+https://github.com/rust-lang/crates.io-index" 3407 | checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" 3408 | 3409 | [[package]] 3410 | name = "windows_i686_gnu" 3411 | version = "0.42.2" 3412 | source = "registry+https://github.com/rust-lang/crates.io-index" 3413 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 3414 | 3415 | [[package]] 3416 | name = "windows_i686_gnu" 3417 | version = "0.48.0" 3418 | source = "registry+https://github.com/rust-lang/crates.io-index" 3419 | checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" 3420 | 3421 | [[package]] 3422 | name = "windows_i686_msvc" 3423 | version = "0.39.0" 3424 | source = "registry+https://github.com/rust-lang/crates.io-index" 3425 | checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" 3426 | 3427 | [[package]] 3428 | name = "windows_i686_msvc" 3429 | version = "0.42.2" 3430 | source = "registry+https://github.com/rust-lang/crates.io-index" 3431 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 3432 | 3433 | [[package]] 3434 | name = "windows_i686_msvc" 3435 | version = "0.48.0" 3436 | source = "registry+https://github.com/rust-lang/crates.io-index" 3437 | checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" 3438 | 3439 | [[package]] 3440 | name = "windows_x86_64_gnu" 3441 | version = "0.39.0" 3442 | source = "registry+https://github.com/rust-lang/crates.io-index" 3443 | checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" 3444 | 3445 | [[package]] 3446 | name = "windows_x86_64_gnu" 3447 | version = "0.42.2" 3448 | source = "registry+https://github.com/rust-lang/crates.io-index" 3449 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 3450 | 3451 | [[package]] 3452 | name = "windows_x86_64_gnu" 3453 | version = "0.48.0" 3454 | source = "registry+https://github.com/rust-lang/crates.io-index" 3455 | checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" 3456 | 3457 | [[package]] 3458 | name = "windows_x86_64_gnullvm" 3459 | version = "0.42.2" 3460 | source = "registry+https://github.com/rust-lang/crates.io-index" 3461 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 3462 | 3463 | [[package]] 3464 | name = "windows_x86_64_gnullvm" 3465 | version = "0.48.0" 3466 | source = "registry+https://github.com/rust-lang/crates.io-index" 3467 | checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" 3468 | 3469 | [[package]] 3470 | name = "windows_x86_64_msvc" 3471 | version = "0.39.0" 3472 | source = "registry+https://github.com/rust-lang/crates.io-index" 3473 | checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" 3474 | 3475 | [[package]] 3476 | name = "windows_x86_64_msvc" 3477 | version = "0.42.2" 3478 | source = "registry+https://github.com/rust-lang/crates.io-index" 3479 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 3480 | 3481 | [[package]] 3482 | name = "windows_x86_64_msvc" 3483 | version = "0.48.0" 3484 | source = "registry+https://github.com/rust-lang/crates.io-index" 3485 | checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" 3486 | 3487 | [[package]] 3488 | name = "winnow" 3489 | version = "0.5.0" 3490 | source = "registry+https://github.com/rust-lang/crates.io-index" 3491 | checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" 3492 | dependencies = [ 3493 | "memchr", 3494 | ] 3495 | 3496 | [[package]] 3497 | name = "winreg" 3498 | version = "0.11.0" 3499 | source = "registry+https://github.com/rust-lang/crates.io-index" 3500 | checksum = "76a1a57ff50e9b408431e8f97d5456f2807f8eb2a2cd79b06068fc87f8ecf189" 3501 | dependencies = [ 3502 | "cfg-if", 3503 | "winapi", 3504 | ] 3505 | 3506 | [[package]] 3507 | name = "wry" 3508 | version = "0.24.3" 3509 | source = "registry+https://github.com/rust-lang/crates.io-index" 3510 | checksum = "33748f35413c8a98d45f7a08832d848c0c5915501803d1faade5a4ebcd258cea" 3511 | dependencies = [ 3512 | "base64 0.13.1", 3513 | "block", 3514 | "cocoa", 3515 | "core-graphics", 3516 | "crossbeam-channel", 3517 | "dunce", 3518 | "gdk", 3519 | "gio", 3520 | "glib", 3521 | "gtk", 3522 | "html5ever", 3523 | "http", 3524 | "kuchiki", 3525 | "libc", 3526 | "log", 3527 | "objc", 3528 | "objc_id", 3529 | "once_cell", 3530 | "serde", 3531 | "serde_json", 3532 | "sha2", 3533 | "soup2", 3534 | "tao", 3535 | "thiserror", 3536 | "url", 3537 | "webkit2gtk", 3538 | "webkit2gtk-sys", 3539 | "webview2-com", 3540 | "windows 0.39.0", 3541 | "windows-implement", 3542 | ] 3543 | 3544 | [[package]] 3545 | name = "x11" 3546 | version = "2.21.0" 3547 | source = "registry+https://github.com/rust-lang/crates.io-index" 3548 | checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" 3549 | dependencies = [ 3550 | "libc", 3551 | "pkg-config", 3552 | ] 3553 | 3554 | [[package]] 3555 | name = "x11-dl" 3556 | version = "2.21.0" 3557 | source = "registry+https://github.com/rust-lang/crates.io-index" 3558 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 3559 | dependencies = [ 3560 | "libc", 3561 | "once_cell", 3562 | "pkg-config", 3563 | ] 3564 | 3565 | [[package]] 3566 | name = "xattr" 3567 | version = "0.2.3" 3568 | source = "registry+https://github.com/rust-lang/crates.io-index" 3569 | checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" 3570 | dependencies = [ 3571 | "libc", 3572 | ] 3573 | -------------------------------------------------------------------------------- /src-tauri/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "tauri-global-state-management" 3 | version = "0.0.0" 4 | description = "A Tauri App" 5 | authors = ["you"] 6 | license = "" 7 | repository = "" 8 | edition = "2021" 9 | 10 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 11 | 12 | [build-dependencies] 13 | tauri-build = { version = "1.4", features = [] } 14 | 15 | [dependencies] 16 | tauri = { version = "1.4", features = ["shell-open"] } 17 | serde = { version = "1.0", features = ["derive"] } 18 | serde_json = "1.0" 19 | 20 | [features] 21 | # this feature is used for production builds or when `devPath` points to the filesystem 22 | # DO NOT REMOVE!! 23 | custom-protocol = ["tauri/custom-protocol"] 24 | -------------------------------------------------------------------------------- /src-tauri/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | tauri_build::build() 3 | } 4 | -------------------------------------------------------------------------------- /src-tauri/icons/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/128x128.png -------------------------------------------------------------------------------- /src-tauri/icons/128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/128x128@2x.png -------------------------------------------------------------------------------- /src-tauri/icons/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/32x32.png -------------------------------------------------------------------------------- /src-tauri/icons/Square107x107Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square107x107Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square142x142Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square142x142Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square150x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square150x150Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square284x284Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square284x284Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square30x30Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square30x30Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square310x310Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square310x310Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square44x44Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square71x71Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square71x71Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square89x89Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/Square89x89Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/StoreLogo.png -------------------------------------------------------------------------------- /src-tauri/icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/icon.icns -------------------------------------------------------------------------------- /src-tauri/icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/icon.ico -------------------------------------------------------------------------------- /src-tauri/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robosushie/tauri-global-state-management/e6c5995cd40f80949ca26e54060b49efbb9d5938/src-tauri/icons/icon.png -------------------------------------------------------------------------------- /src-tauri/src/autogen/constants.rs: -------------------------------------------------------------------------------- 1 | #![allow(non_camel_case_types)] 2 | 3 | // Autogenerated file do not edit !!!!! 4 | 5 | pub const STATE_CHANGE_EVENT: &str = "state_change_event"; 6 | pub const STATE_SYNC_EVENT: &str = "state_sync_event"; 7 | pub enum GLOBAL_APP_STATE_MACRO { 8 | COUNT = 0, 9 | CHECK = 1, 10 | } 11 | 12 | impl From for GLOBAL_APP_STATE_MACRO { 13 | fn from(item: u32) -> Self { 14 | match item { 15 | 0 => GLOBAL_APP_STATE_MACRO::COUNT, 16 | 1 => GLOBAL_APP_STATE_MACRO::CHECK, 17 | _ => panic!("Not a valid value for the enum GLOBAL_APP_STATE_MACRO"), 18 | } 19 | } 20 | } 21 | 22 | impl Into for GLOBAL_APP_STATE_MACRO { 23 | fn into(self) -> u32 { 24 | match self { 25 | GLOBAL_APP_STATE_MACRO::COUNT => 0, 26 | GLOBAL_APP_STATE_MACRO::CHECK => 1, 27 | } 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /src-tauri/src/main.rs: -------------------------------------------------------------------------------- 1 | // Prevents additional console window on Windows in release, DO NOT REMOVE!! 2 | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] 3 | 4 | mod autogen{ 5 | pub mod constants; 6 | } 7 | 8 | mod states{ 9 | pub mod states; 10 | } 11 | 12 | use crate::states::states::subscribe_state_events; 13 | 14 | fn main() { 15 | tauri::Builder::default() 16 | .setup(|app| { 17 | subscribe_state_events(app.handle()); 18 | Ok(()) 19 | }) 20 | .manage(states::states::set_default_state()) 21 | .run(tauri::generate_context!()) 22 | .expect("error while running tauri application"); 23 | } 24 | -------------------------------------------------------------------------------- /src-tauri/src/states/states.rs: -------------------------------------------------------------------------------- 1 | use std::sync::Mutex; 2 | use tauri::Manager; 3 | use tauri::AppHandle; 4 | 5 | use crate::autogen::constants::STATE_CHANGE_EVENT; 6 | use crate::autogen::constants::STATE_SYNC_EVENT; 7 | use crate::autogen::constants::GLOBAL_APP_STATE_MACRO; 8 | 9 | #[derive(Clone, serde::Serialize, serde::Deserialize)] 10 | #[serde(untagged)] 11 | enum Value { 12 | Bool(bool), 13 | String(String), 14 | Number(i32), 15 | } 16 | 17 | // the payload type must implement `Serialize` and `Clone`. 18 | #[derive(Clone, serde::Serialize, serde::Deserialize)] 19 | struct Payload { 20 | key: u32, 21 | value: Value, 22 | } 23 | 24 | 25 | pub struct GlobalAppState { 26 | count : Mutex, 27 | check: Mutex 28 | } 29 | 30 | pub fn set_default_state() -> GlobalAppState { 31 | GlobalAppState { 32 | count: Mutex::new(0), 33 | check: Mutex::new(false) 34 | } 35 | } 36 | 37 | fn emit_state_sync(payload: Payload, app_handle: AppHandle) { 38 | let state = app_handle.state::(); 39 | match GLOBAL_APP_STATE_MACRO::from(payload.key) { 40 | GLOBAL_APP_STATE_MACRO::COUNT => { 41 | let mut count = state.count.lock().unwrap(); 42 | if let Value::Number(data) = payload.value { 43 | *count = data; 44 | app_handle.emit_all(STATE_SYNC_EVENT, Payload{key: payload.key, value:Value::Number(data)}).unwrap(); 45 | } 46 | 47 | }, 48 | GLOBAL_APP_STATE_MACRO::CHECK => { 49 | let mut check = state.check.lock().unwrap(); 50 | if let Value::Bool(data) = payload.value { 51 | *check = data; 52 | app_handle.emit_all(STATE_SYNC_EVENT, Payload{key: payload.key, value:Value::Bool(data)}).unwrap(); 53 | } 54 | } 55 | } 56 | } 57 | 58 | 59 | 60 | pub fn subscribe_state_events(app_handle: tauri::AppHandle) { 61 | let app_handle_clone = app_handle.clone(); 62 | let _id = app_handle.listen_global(STATE_CHANGE_EVENT, move |event| { 63 | if let Some(payload) = event.payload() { 64 | let data: Result = serde_json::from_str(payload); 65 | match data { 66 | Ok(data) =>{ 67 | emit_state_sync(data, app_handle_clone.clone()) 68 | } 69 | Err(e) => { 70 | println!("Failed to deserialize payload: {}", e); 71 | } 72 | } 73 | } 74 | }); 75 | } 76 | 77 | -------------------------------------------------------------------------------- /src-tauri/tauri.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "beforeDevCommand": "pnpm dev", 4 | "beforeBuildCommand": "pnpm build", 5 | "devPath": "http://localhost:1420", 6 | "distDir": "../dist", 7 | "withGlobalTauri": false 8 | }, 9 | "package": { 10 | "productName": "tauri-global-state-management", 11 | "version": "0.0.0" 12 | }, 13 | "tauri": { 14 | "allowlist": { 15 | "all": false, 16 | "shell": { 17 | "all": false, 18 | "open": true 19 | } 20 | }, 21 | "bundle": { 22 | "active": true, 23 | "targets": "all", 24 | "identifier": "com.tauri.dev", 25 | "icon": [ 26 | "icons/32x32.png", 27 | "icons/128x128.png", 28 | "icons/128x128@2x.png", 29 | "icons/icon.icns", 30 | "icons/icon.ico" 31 | ] 32 | }, 33 | "security": { 34 | "csp": null 35 | }, 36 | "windows": [ 37 | { 38 | "label": "secondary", 39 | "fullscreen": false, 40 | "resizable": true, 41 | "title": "Secondary Window", 42 | "width": 800, 43 | "height": 600, 44 | "url": "index.html" 45 | }, 46 | { 47 | "fullscreen": false, 48 | "resizable": true, 49 | "title": "Main Window", 50 | "width": 800, 51 | "height": 600 52 | } 53 | ] 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | .app_container { 2 | width: 100vw; 3 | height: 100vh; 4 | display: flex; 5 | flex-direction: column; 6 | } 7 | 8 | .menu_container { 9 | width: 100%; 10 | flex-grow: 1; 11 | display: flex; 12 | flex-direction: column; 13 | justify-content: center; 14 | align-items: center; 15 | } 16 | 17 | .menu_item { 18 | width: 50%; 19 | padding: 40px; 20 | display: flex; 21 | flex-direction: column; 22 | gap: 20px; 23 | } 24 | 25 | .menu_heading { 26 | font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; 27 | } 28 | 29 | .menu_button_container { 30 | width: 100%; 31 | display: flex; 32 | justify-content: space-between; 33 | } 34 | 35 | .count_btn { 36 | width: 40%; 37 | } 38 | .menu_button { 39 | font-size: medium; 40 | font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; 41 | color: white; 42 | background-color: #008cba; 43 | padding: 10px; 44 | } 45 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect } from "react"; 2 | import useGlobalAppStore, { subscribeStateSync } from "@states/global-state"; 3 | 4 | import "./App.css"; 5 | 6 | function App() { 7 | const { count, setCount, check, setCheck } = useGlobalAppStore(); 8 | 9 | useEffect(() => { 10 | const unsubscribeStateSync = subscribeStateSync(); 11 | return () => { 12 | unsubscribeStateSync.then((unsubscribe) => unsubscribe()); 13 | }; 14 | }, []); 15 | 16 | return ( 17 |
18 |
19 |
20 |

Count: {count}

21 |
22 | 28 | 34 |
35 |
36 |
37 |

Check: {check.toString()}

38 | 41 |
42 |
43 |
44 | ); 45 | } 46 | 47 | export default App; 48 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/constants/events.ts: -------------------------------------------------------------------------------- 1 | // Thie file is used for autogenerating rust code so make sure you maintain the structure otherwise it would create unwanted issues 2 | 3 | const EVENTS: { 4 | STATE_CHANGE_EVENT: string; 5 | STATE_SYNC_EVENT: string; 6 | } = { 7 | STATE_CHANGE_EVENT: "state_change_event", 8 | STATE_SYNC_EVENT: "state_sync_event", 9 | }; 10 | 11 | export default EVENTS; 12 | -------------------------------------------------------------------------------- /src/constants/global.ts: -------------------------------------------------------------------------------- 1 | enum GLOBAL_APP_STATE_MACRO { 2 | COUNT = 0, 3 | CHECK, 4 | } 5 | 6 | export default GLOBAL_APP_STATE_MACRO; 7 | -------------------------------------------------------------------------------- /src/constants/index.ts: -------------------------------------------------------------------------------- 1 | import GLOBAL_APP_STATE_MACRO from "./global"; 2 | import EVENTS from "./events"; 3 | 4 | export { EVENTS, GLOBAL_APP_STATE_MACRO }; 5 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import App from "./App"; 4 | import "./styles.css"; 5 | 6 | ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( 7 | 8 | 9 | , 10 | ); 11 | -------------------------------------------------------------------------------- /src/states/global-state.ts: -------------------------------------------------------------------------------- 1 | import { emit as emitStateEvent, listen } from "@tauri-apps/api/event"; 2 | import { GlobalAppState } from "@app/types/state"; 3 | import { create } from "zustand"; 4 | 5 | import { EVENTS, GLOBAL_APP_STATE_MACRO } from "@app/constants"; 6 | 7 | const emit = (key: number, value: any) => { 8 | console.log(Object.keys(value)[0]); 9 | emitStateEvent(EVENTS.STATE_CHANGE_EVENT, { 10 | key: key, 11 | value: value, 12 | }); 13 | }; 14 | 15 | const useGlobalAppStore = create(() => ({ 16 | count: 0, 17 | check: false, 18 | setCount: (count: number) => { 19 | emit(GLOBAL_APP_STATE_MACRO.COUNT, count); 20 | }, 21 | setCheck: (check: boolean) => { 22 | emit(GLOBAL_APP_STATE_MACRO.CHECK, check); 23 | }, 24 | })); 25 | 26 | const getKey = (key: number) => { 27 | if (key == GLOBAL_APP_STATE_MACRO.COUNT) { 28 | return "count"; 29 | } else if (key == GLOBAL_APP_STATE_MACRO.CHECK) { 30 | return "check"; 31 | } 32 | }; 33 | 34 | const subscribeStateSync = async () => { 35 | const unsubscribeStateSyncListener = await listen( 36 | EVENTS.STATE_SYNC_EVENT, 37 | (event) => { 38 | const key = (event.payload as any).key; 39 | const value = (event.payload as any).value; 40 | console.log(event); 41 | useGlobalAppStore.setState({ [getKey(key) as string]: value }); 42 | } 43 | ); 44 | 45 | return async () => { 46 | unsubscribeStateSyncListener(); 47 | }; 48 | }; 49 | 50 | export default useGlobalAppStore; 51 | export { subscribeStateSync }; 52 | -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | box-sizing: border-box; 3 | margin: 0; 4 | padding: 0; 5 | } 6 | -------------------------------------------------------------------------------- /src/types/state.ts: -------------------------------------------------------------------------------- 1 | export interface GlobalAppState { 2 | count: number; 3 | check: boolean; 4 | setCount: (count: number) => void; 5 | setCheck: (check: boolean) => void; 6 | } 7 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "noEmit": true, 15 | "jsx": "react-jsx", 16 | "baseUrl": ".", 17 | "paths": { 18 | "@app/*": ["src/*"], 19 | "@assets/*": ["src/assets/*"], 20 | "@constants/*": ["src/constants/*"], 21 | "@states/*": ["src/states/*"], 22 | "@types/*": ["src/types/*"] 23 | }, 24 | 25 | /* Linting */ 26 | "strict": true, 27 | "noUnusedLocals": true, 28 | "noUnusedParameters": true, 29 | "noFallthroughCasesInSwitch": true 30 | }, 31 | "include": ["src"], 32 | "references": [{ "path": "./tsconfig.node.json" }] 33 | } 34 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true 8 | }, 9 | "include": ["vite.config.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import react from "@vitejs/plugin-react"; 3 | import path from "path"; 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig(async () => ({ 7 | plugins: [react()], 8 | 9 | // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` 10 | // 11 | // 1. prevent vite from obscuring rust errors 12 | clearScreen: false, 13 | // 2. tauri expects a fixed port, fail if that port is not available 14 | server: { 15 | port: 1420, 16 | strictPort: true, 17 | }, 18 | // 3. to make use of `TAURI_DEBUG` and other env variables 19 | // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand 20 | envPrefix: ["VITE_", "TAURI_"], 21 | resolve: { 22 | alias: { 23 | "@app": path.resolve(__dirname, "src/"), 24 | "@assets": path.resolve(__dirname, "src/assets/"), 25 | "@constants": path.resolve(__dirname, "src/constants/"), 26 | "@states": path.resolve(__dirname, "src/states/"), 27 | "@types": path.resolve(__dirname, "src/types/"), 28 | }, 29 | }, 30 | })); 31 | --------------------------------------------------------------------------------