@legendapp/spark 0.0.1-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/app.ts +1 -0
- package/audio.ts +1 -0
- package/auth-session.ts +1 -0
- package/bin/spark.cjs +5 -0
- package/clipboard.ts +1 -0
- package/config-plugin.cjs +1 -0
- package/config.cjs +1 -0
- package/config.d.cts +1 -0
- package/context-menu.ts +1 -0
- package/dialogs.ts +2 -0
- package/drag-drop.ts +1 -0
- package/expo-config.cjs +1 -0
- package/expo-metro.cjs +1 -0
- package/files.ts +1 -0
- package/global-shortcuts.ts +1 -0
- package/init-template.cjs +2 -0
- package/links.ts +1 -0
- package/menus.ts +1 -0
- package/message-dialog.ts +1 -0
- package/metro-gate.cjs +1 -0
- package/metro.cjs +1 -0
- package/native.cjs +1 -0
- package/notifications.ts +1 -0
- package/package.json +161 -0
- package/processes.ts +1 -0
- package/runtime-entry.cjs +1 -0
- package/schema.json +305 -0
- package/secure-storage.ts +1 -0
- package/settings.ts +1 -0
- package/shortcuts.ts +1 -0
- package/sqlite.ts +1 -0
- package/system.ts +1 -0
- package/tray.ts +1 -0
- package/ui-uniwind.ts +1 -0
- package/ui.ts +1 -0
- package/universal.cjs +1 -0
- package/updates.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/RNSparkAudio.podspec +18 -0
- package/vendor/node_modules/@legendapp/spark-audio/macos/RNSparkAudio.h +4 -0
- package/vendor/node_modules/@legendapp/spark-audio/macos/RNSparkAudio.mm +154 -0
- package/vendor/node_modules/@legendapp/spark-audio/package.json +49 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/NativeSparkAudio.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/desktop.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.web.ts +42 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session-unavailable.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session.ts +25 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session.web.ts +35 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-types.ts +32 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/mobile.ts +38 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/status-listeners.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/types.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.def +3 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.h +146 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/package.json +41 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/core.ts +68 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/mobile.ts +52 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/types.ts +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/add-desktop.js +164 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/build-mode.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/build.js +278 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/commands.js +107 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/create.js +99 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/credentials.js +69 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/dev-command.js +81 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/dev.js +408 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/examples.js +43 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/executable.js +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-extension.cjs +51 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-patch.cjs +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-preload.cjs +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-metro.cjs +41 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-native.cjs +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-node.js +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/go-profile.js +20 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/helpers.js +79 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/index.js +263 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/init-template.cjs +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/local.js +124 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/macos-release.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro-gate.cjs +33 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro.cjs +63 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro.js +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/npm-bin/npm +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/npm-bin/npm.cmd +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/pack-archive.js +23 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/package-manager.js +45 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/package.js +199 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/platform.js +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/process.js +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/project.js +324 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/release.js +42 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/release.json +37 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/runner-install.js +138 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/runtime-entry.cjs +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/sdk-install.js +66 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/sdk-transfer.js +113 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/session-status.js +22 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/signing.js +175 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/universal.cjs +28 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/updates.js +110 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-associations.js +45 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-associations.ps1 +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-geometry.js +33 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-metro.js +112 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows.js +141 -0
- package/vendor/node_modules/@legendapp/spark-cli/package.json +22 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/App.tsx +29 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/app.json +11 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/desktop.config.json +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/gitignore +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/index.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/metro.config.js +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/package.json +55 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/App.tsx +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/Git.macos.tsx +13 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/Git.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/compare.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/App.tsx +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.macos.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.tsx +13 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.web.tsx +14 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.windows.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/document.ts +58 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.macos.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.ts +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.web.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/sessions.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/useDocument.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.desktop.tsx +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.tsx +14 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.web.tsx +20 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.desktop.tsx +28 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.tsx +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/document.ts +58 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.macos.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.ts +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.web.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/lifecycle-types.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/lifetime.ts +23 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/records.ts +51 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/storage.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/useModel.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.desktop.tsx +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/App.tsx +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.desktop.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.macos.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.ts +18 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.web.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/model.ts +91 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/store.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.desktop.tsx +5 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/App.tsx +92 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.desktop.ts +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.macos.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Theme.tsx +17 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/model.ts +61 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/search.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/session.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/store.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/window-session.ts +62 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/App.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/app.json +15 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/desktop.config.json +62 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/gitignore +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/global.css +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/index.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/metro.config.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/package.json +70 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/react-native.config.js +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/uniwind-types.d.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/App.tsx +16 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/app.json +11 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/desktop.config.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/gitignore +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/index.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/metro.config.js +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/package.json +56 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/react-native.config.js +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/RNDesktopClipboard.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/macos/RNDesktopClipboard.h +4 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/macos/RNDesktopClipboard.mm +87 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/package.json +52 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/NativeDesktopClipboard.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/desktop.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/expo.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/formats.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.def +3 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.h +119 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/RNContextMenu.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/macos/RNContextMenu.h +9 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/macos/RNContextMenu.mm +160 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/src/NativeContextMenu.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/src/index.ts +29 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.def +3 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.h +112 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/RNDesktopApp.podspec +15 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/RNDesktopApp.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/RNDesktopApp.mm +34 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkDesktop.h +23 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkDesktop.mm +135 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkWindow.mm +81 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/package.json +39 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/NativeDesktopApp.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/api.ts +42 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/app.plugin.cjs +75 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/config.cjs +161 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/config.d.cts +13 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/entitlements.cjs +23 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/expo.cjs +26 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/fabric-lifecycle.cjs +125 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/helpers.cjs +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/identity.cjs +28 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/keyboard-events.cjs +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/package.json +19 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/schema.json +305 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/updates.cjs +24 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/windows.plugin.cjs +72 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/AppDelegate.mm +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/package.json +13 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/SparkComponentGeometry.h +9 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/application.inc +647 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/notifications.inc +60 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/runtime.inc +63 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/runtimes.inc +162 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/RNDesktopLinks.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/common/AuthLoopback.h +121 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/macos/RNDesktopLinks.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/macos/RNDesktopLinks.mm +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/package.json +53 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/NativeDesktopLinks.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/api.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/expo.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.def +3 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.h +128 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/RNDesktopShortcuts.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/macos/RNDesktopShortcuts.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/macos/RNDesktopShortcuts.mm +56 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/package.json +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/NativeDesktopShortcuts.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/accelerator.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/api.ts +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/RNDesktopWindows.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/macos/RNDesktopWindows.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/macos/RNDesktopWindows.mm +210 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/NativeDesktopWindowManager.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/api.ts +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/windows-options.ts +11 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/RNDesktopDrag.podspec +20 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/macos/RNDesktopDragView.h +4 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/macos/RNDesktopDragView.mm +94 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/DesktopDragViewNativeComponent.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/contracts.ts +28 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/index.tsx +17 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.cpp +21 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.def +3 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.h +209 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/RNFileDialog.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/ios/RNFileDialog.h +9 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/ios/RNFileDialog.mm +259 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/package.json +43 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/NativeFileDialog.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/index.ts +89 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/index.windows.ts +15 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/options.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.def +3 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.h +128 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-file-system/RNDesktopFileSystem.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-file-system/macos/RNDesktopFileSystem.h +4 -0
- package/vendor/node_modules/@legendapp/spark-file-system/macos/RNDesktopFileSystem.mm +211 -0
- package/vendor/node_modules/@legendapp/spark-file-system/package.json +47 -0
- package/vendor/node_modules/@legendapp/spark-file-system/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/NativeDesktopFileSystem.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/handles.ts +45 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/index.ts +61 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/path.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.def +3 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.h +295 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.vcxproj +144 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.vcxproj.filters +45 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/Trash.h +52 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/RNDesktopGlobalShortcuts.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/macos/RNDesktopGlobalShortcuts.h +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/macos/RNDesktopGlobalShortcuts.mm +65 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/NativeDesktopGlobalShortcuts.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/accelerator.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/index.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.def +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.h +80 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/RNDesktopMessageDialog.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/macos/RNDesktopMessageDialog.h +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/macos/RNDesktopMessageDialog.mm +36 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/src/NativeDesktopMessageDialog.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/src/index.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.def +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.h +145 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/RNNativeMenu.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/ios/RNNativeMenu.h +10 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/ios/RNNativeMenu.mm +632 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/package.json +41 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/NativeMenu.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/api.ts +128 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/windows-menus.ts +43 -0
- package/vendor/node_modules/@legendapp/spark-notifications/RNDesktopNotifications.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-notifications/macos/RNDesktopNotifications.h +4 -0
- package/vendor/node_modules/@legendapp/spark-notifications/macos/RNDesktopNotifications.mm +111 -0
- package/vendor/node_modules/@legendapp/spark-notifications/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-notifications/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-notifications/src/NativeDesktopNotifications.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-notifications/src/index.ts +53 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.def +3 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.h +132 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-processes/RNDesktopProcesses.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-processes/macos/RNDesktopProcesses.h +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/macos/RNDesktopProcesses.mm +153 -0
- package/vendor/node_modules/@legendapp/spark-processes/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-processes/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-processes/src/NativeDesktopProcesses.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/src/index.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.def +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.h +171 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/RNDesktopSecureStorage.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/macos/RNDesktopSecureStorage.h +4 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/macos/RNDesktopSecureStorage.mm +53 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/package.json +52 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/NativeDesktopSecureStorage.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/expo.ts +14 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.windows.ts +2 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/options.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/unavailable.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.def +3 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.h +48 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-settings/package.json +13 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/filename.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/filename.windows.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/index.ts +19 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/store.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-sqlite/package.json +16 -0
- package/vendor/node_modules/@legendapp/spark-sqlite/src/index.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-system/RNDesktopSystem.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-system/macos/RNDesktopSystem.h +3 -0
- package/vendor/node_modules/@legendapp/spark-system/macos/RNDesktopSystem.mm +108 -0
- package/vendor/node_modules/@legendapp/spark-system/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-system/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-system/src/NativeDesktopSystem.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-system/src/index.ts +35 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.def +3 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.h +154 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-tray/RNDesktopTray.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-tray/macos/RNDesktopTray.h +4 -0
- package/vendor/node_modules/@legendapp/spark-tray/macos/RNDesktopTray.mm +63 -0
- package/vendor/node_modules/@legendapp/spark-tray/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-tray/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-tray/src/NativeDesktopTray.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-tray/src/index.ts +46 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.def +3 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.h +133 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-ui/RNSparkUI.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkButton.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkButton.mm +51 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkSelect.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkSelect.mm +53 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkTextInput.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkTextInput.mm +45 -0
- package/vendor/node_modules/@legendapp/spark-ui/package.json +61 -0
- package/vendor/node_modules/@legendapp/spark-ui/react-native.config.js +5 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkButtonNativeComponent.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkSelectNativeComponent.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkTextInputNativeComponent.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.android.tsx +25 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.ios.tsx +30 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.tsx +27 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.web.tsx +23 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.windows.tsx +42 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/select.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/types.ts +28 -0
- package/vendor/node_modules/@legendapp/spark-ui/uniwind.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-ui/uniwind.web.ts +17 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.cpp +21 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkAppearance.h +61 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.def +3 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.h +181 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.vcxproj +144 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-updates/RNDesktopUpdates.podspec +18 -0
- package/vendor/node_modules/@legendapp/spark-updates/Sparkle.podspec.json +39 -0
- package/vendor/node_modules/@legendapp/spark-updates/macos/RNDesktopUpdates.h +4 -0
- package/vendor/node_modules/@legendapp/spark-updates/macos/RNDesktopUpdates.mm +72 -0
- package/vendor/node_modules/@legendapp/spark-updates/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-updates/src/NativeDesktopUpdates.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-updates/src/index.ts +23 -0
- package/vendor/node_modules/@legendapp/spark-webview/package.json +15 -0
- package/vendor/node_modules/@legendapp/spark-webview/src/index.ts +2 -0
- package/vendor/node_modules/@legendapp/spark-window-options/index.cjs +25 -0
- package/vendor/node_modules/@legendapp/spark-window-options/index.d.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-window-options/package.json +12 -0
- package/webview.ts +1 -0
- package/windows.ts +1 -0
package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.h
ADDED
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "NativeModules.h"
|
|
3
|
+
#include <shlobj.h>
|
|
4
|
+
#include <shlwapi.h>
|
|
5
|
+
#include <winrt/Windows.Data.Json.h>
|
|
6
|
+
#include <winrt/Windows.Security.Cryptography.h>
|
|
7
|
+
#include <winrt/Windows.Storage.Streams.h>
|
|
8
|
+
#include <filesystem>
|
|
9
|
+
#include <algorithm>
|
|
10
|
+
#include <thread>
|
|
11
|
+
#include <mutex>
|
|
12
|
+
#include <condition_variable>
|
|
13
|
+
#include <deque>
|
|
14
|
+
#include <functional>
|
|
15
|
+
#include <map>
|
|
16
|
+
#include <vector>
|
|
17
|
+
#include <algorithm>
|
|
18
|
+
#include <climits>
|
|
19
|
+
#include <cmath>
|
|
20
|
+
#include "Trash.h"
|
|
21
|
+
#pragma comment(lib, "Ole32.lib")
|
|
22
|
+
#pragma comment(lib, "Shell32.lib")
|
|
23
|
+
#pragma comment(lib, "Shlwapi.lib")
|
|
24
|
+
|
|
25
|
+
namespace winrt::SparkFileSystem {
|
|
26
|
+
namespace React = Microsoft::ReactNative;
|
|
27
|
+
namespace Json = Windows::Data::Json;
|
|
28
|
+
namespace fs = std::filesystem;
|
|
29
|
+
using Crypto = Windows::Security::Cryptography::CryptographicBuffer;
|
|
30
|
+
|
|
31
|
+
inline fs::path FilePath(hstring const &input) {
|
|
32
|
+
std::wstring value(input);
|
|
33
|
+
if (value.empty() || value.find(L'\0') != std::wstring::npos) throw hresult_invalid_argument(L"Expected an absolute path or file URL");
|
|
34
|
+
if (value.starts_with(L"file://")) {
|
|
35
|
+
Windows::Foundation::Uri uri(input);
|
|
36
|
+
if ((!uri.Host().empty() && uri.Host() != L"localhost") || !uri.Query().empty() || !uri.Fragment().empty())
|
|
37
|
+
throw hresult_invalid_argument(L"Expected a local file URL without a query or fragment");
|
|
38
|
+
std::vector<wchar_t> decoded(32768); DWORD length = static_cast<DWORD>(decoded.size());
|
|
39
|
+
check_hresult(PathCreateFromUrlW(value.c_str(), decoded.data(), &length, 0)); value.assign(decoded.data());
|
|
40
|
+
}
|
|
41
|
+
// Device namespaces are not ordinary filesystem paths. Extended drive/UNC paths are supported.
|
|
42
|
+
if (value.starts_with(L"\\\\.\\") || (value.starts_with(L"\\\\?\\") &&
|
|
43
|
+
!(value.size() > 6 && value[5] == L':' && value[6] == L'\\') && !value.starts_with(L"\\\\?\\UNC\\")))
|
|
44
|
+
throw hresult_invalid_argument(L"Expected a filesystem path");
|
|
45
|
+
fs::path result(value);
|
|
46
|
+
if (!result.is_absolute()) throw hresult_invalid_argument(L"Expected an absolute path");
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
inline std::string PathString(fs::path const &path) { return to_string(path.wstring()); }
|
|
50
|
+
inline std::string ErrorCode(DWORD error) {
|
|
51
|
+
switch (error) {
|
|
52
|
+
case ERROR_FILE_NOT_FOUND: case ERROR_PATH_NOT_FOUND: return "E_NOT_FOUND";
|
|
53
|
+
case ERROR_ACCESS_DENIED: case ERROR_PRIVILEGE_NOT_HELD: return "E_PERMISSION";
|
|
54
|
+
case ERROR_ALREADY_EXISTS: case ERROR_FILE_EXISTS: return "E_EXISTS";
|
|
55
|
+
case ERROR_DIR_NOT_EMPTY: return "E_NOT_EMPTY";
|
|
56
|
+
case ERROR_INVALID_HANDLE: return "E_CLOSED";
|
|
57
|
+
case ERROR_INVALID_PARAMETER: case ERROR_INVALID_NAME: return "E_INVALID_ARGUMENT";
|
|
58
|
+
default: return "E_IO";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
inline void Reject(React::ReactPromise<std::string> const &promise) noexcept {
|
|
62
|
+
try { throw; }
|
|
63
|
+
catch (fs::filesystem_error const &e) {
|
|
64
|
+
auto code = e.code(); std::string kind = "E_IO";
|
|
65
|
+
if (code == std::errc::no_such_file_or_directory) kind = "E_NOT_FOUND";
|
|
66
|
+
else if (code == std::errc::permission_denied) kind = "E_PERMISSION";
|
|
67
|
+
else if (code == std::errc::file_exists) kind = "E_EXISTS";
|
|
68
|
+
else if (code == std::errc::directory_not_empty) kind = "E_NOT_EMPTY";
|
|
69
|
+
promise.Reject(React::ReactError{kind, e.what()});
|
|
70
|
+
} catch (hresult_error const &e) {
|
|
71
|
+
promise.Reject(React::ReactError{e.code() == E_INVALIDARG ? "E_INVALID_ARGUMENT" : ErrorCode(HRESULT_CODE(e.code())), to_string(e.message())});
|
|
72
|
+
} catch (std::exception const &e) { promise.Reject(React::ReactError{"E_IO", e.what()}); }
|
|
73
|
+
catch (...) { promise.Reject(React::ReactError{"E_IO", "Filesystem operation failed"}); }
|
|
74
|
+
}
|
|
75
|
+
inline handle Open(fs::path const &path, DWORD access, DWORD creation, DWORD flags = FILE_ATTRIBUTE_NORMAL) {
|
|
76
|
+
auto raw = CreateFileW(path.c_str(), access, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, creation, flags, nullptr);
|
|
77
|
+
if (raw == INVALID_HANDLE_VALUE) throw_last_error();
|
|
78
|
+
return handle(raw);
|
|
79
|
+
}
|
|
80
|
+
inline std::vector<uint8_t> Read(fs::path const &path) {
|
|
81
|
+
auto file = Open(path, GENERIC_READ, OPEN_EXISTING);
|
|
82
|
+
std::vector<uint8_t> data; uint8_t buffer[65536]; DWORD count;
|
|
83
|
+
do {
|
|
84
|
+
if (!ReadFile(file.get(), buffer, sizeof(buffer), &count, nullptr)) throw_last_error();
|
|
85
|
+
data.insert(data.end(), buffer, buffer + count);
|
|
86
|
+
} while (count);
|
|
87
|
+
return data;
|
|
88
|
+
}
|
|
89
|
+
inline void Write(fs::path const &path, std::vector<uint8_t> const &data) {
|
|
90
|
+
GUID guid{}; check_hresult(CoCreateGuid(&guid)); wchar_t id[40]{}; StringFromGUID2(guid, id, 40);
|
|
91
|
+
auto temporary = path.parent_path() / (std::wstring(L".spark-") + id);
|
|
92
|
+
try {
|
|
93
|
+
auto file = Open(temporary, GENERIC_WRITE, CREATE_NEW);
|
|
94
|
+
for (size_t offset = 0; offset < data.size();) {
|
|
95
|
+
DWORD count = 0, requested = static_cast<DWORD>((std::min)(data.size() - offset, size_t(65536)));
|
|
96
|
+
if (!WriteFile(file.get(), data.data() + offset, requested, &count, nullptr) || !count) throw_last_error();
|
|
97
|
+
offset += count;
|
|
98
|
+
}
|
|
99
|
+
if (!FlushFileBuffers(file.get())) throw_last_error(); file.close();
|
|
100
|
+
if (!MoveFileExW(temporary.c_str(), path.c_str(), MOVEFILE_REPLACE_EXISTING | MOVEFILE_WRITE_THROUGH)) throw_last_error();
|
|
101
|
+
} catch (...) { std::error_code ignored; fs::remove(temporary, ignored); throw; }
|
|
102
|
+
}
|
|
103
|
+
inline fs::path Directory(hstring const &kind) {
|
|
104
|
+
wchar_t identity[201]{}; auto count = GetEnvironmentVariableW(L"SPARK_PROJECT_ID", identity, 201);
|
|
105
|
+
if (!count || count >= 201) throw hresult_invalid_argument(L"Launch through Spark to establish project storage identity");
|
|
106
|
+
// Hex encoding is injective and cannot introduce separators or reserved device names.
|
|
107
|
+
std::wstring project; constexpr wchar_t hex[] = L"0123456789abcdef";
|
|
108
|
+
for (auto byte : to_string(hstring(identity))) { project += hex[(static_cast<unsigned char>(byte) >> 4) & 15]; project += hex[byte & 15]; }
|
|
109
|
+
fs::path base;
|
|
110
|
+
if (kind == L"temp") {
|
|
111
|
+
std::vector<wchar_t> value(32768); auto size = GetTempPathW(static_cast<DWORD>(value.size()), value.data());
|
|
112
|
+
if (!size || size >= value.size()) throw_last_error(); base = value.data();
|
|
113
|
+
} else if (kind == L"data" || kind == L"cache") {
|
|
114
|
+
PWSTR value = nullptr; check_hresult(SHGetKnownFolderPath(FOLDERID_LocalAppData, KF_FLAG_CREATE, nullptr, &value));
|
|
115
|
+
base = value; CoTaskMemFree(value);
|
|
116
|
+
} else throw hresult_invalid_argument(L"Unknown directory kind");
|
|
117
|
+
// Split long identities into components to stay below NTFS's filename limit.
|
|
118
|
+
base /= L"Spark"; for (size_t i = 0; i < project.size(); i += 100) base /= project.substr(i, 100);
|
|
119
|
+
base /= kind.c_str(); fs::create_directories(base); return base;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Invalidation: a file watches its parent so atomic replacement does
|
|
123
|
+
// not detach the subscription. Signals may include sibling changes, as on macOS.
|
|
124
|
+
struct Watch {
|
|
125
|
+
std::vector<HANDLE> notifications;
|
|
126
|
+
handle stop{CreateEventW(nullptr, TRUE, FALSE, nullptr)};
|
|
127
|
+
std::thread thread;
|
|
128
|
+
Watch(fs::path const &path, std::string id, React::ReactContext context, bool recursive) {
|
|
129
|
+
if (!stop) throw_last_error();
|
|
130
|
+
if (recursive && !fs::is_directory(path)) throw hresult_invalid_argument(L"Recursive watch requires an existing directory");
|
|
131
|
+
const auto observed = fs::is_directory(path) ? path : path.parent_path();
|
|
132
|
+
auto observe = [this](fs::path const &directory, bool subtree) {
|
|
133
|
+
auto handle = FindFirstChangeNotificationW(directory.c_str(), subtree,
|
|
134
|
+
FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME | FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SIZE | FILE_NOTIFY_CHANGE_LAST_WRITE);
|
|
135
|
+
if (handle == INVALID_HANDLE_VALUE) throw_last_error();
|
|
136
|
+
notifications.push_back(handle);
|
|
137
|
+
};
|
|
138
|
+
try {
|
|
139
|
+
observe(observed, recursive);
|
|
140
|
+
// A directory's own rename/deletion changes its parent, not its contents.
|
|
141
|
+
// Keep that invalidation too; as on macOS, listeners must re-read the path.
|
|
142
|
+
if (observed.has_parent_path() && observed.parent_path() != observed) observe(observed.parent_path(), recursive);
|
|
143
|
+
thread = std::thread([this, id, context, path = PathString(path)] {
|
|
144
|
+
init_apartment(apartment_type::multi_threaded);
|
|
145
|
+
std::vector<HANDLE> signals{stop.get()}; signals.insert(signals.end(), notifications.begin(), notifications.end());
|
|
146
|
+
for (;;) {
|
|
147
|
+
auto result = WaitForMultipleObjects(static_cast<DWORD>(signals.size()), signals.data(), FALSE, INFINITE);
|
|
148
|
+
if (result < WAIT_OBJECT_0 + 1 || result >= WAIT_OBJECT_0 + signals.size()) break;
|
|
149
|
+
const bool rearmed = FindNextChangeNotification(signals[result - WAIT_OBJECT_0]) != FALSE;
|
|
150
|
+
if (WaitForSingleObject(stop.get(), 0) != WAIT_TIMEOUT) break;
|
|
151
|
+
context.EmitJSEvent(L"RCTDeviceEventEmitter", L"change", React::JSValueObject{{"id", id}, {"path", path}});
|
|
152
|
+
if (!rearmed) {
|
|
153
|
+
const auto index = result - WAIT_OBJECT_0;
|
|
154
|
+
auto failed = signals[index]; signals.erase(signals.begin() + index);
|
|
155
|
+
notifications.erase(std::remove(notifications.begin(), notifications.end(), failed), notifications.end());
|
|
156
|
+
FindCloseChangeNotification(failed);
|
|
157
|
+
if (signals.size() == 1) break;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
uninit_apartment();
|
|
161
|
+
});
|
|
162
|
+
} catch (...) { for (auto handle : notifications) FindCloseChangeNotification(handle); throw; }
|
|
163
|
+
}
|
|
164
|
+
~Watch() { SetEvent(stop.get()); if (thread.joinable()) thread.join(); for (auto handle : notifications) FindCloseChangeNotification(handle); }
|
|
165
|
+
};
|
|
166
|
+
struct FileQueue {
|
|
167
|
+
React::ReactContext context;
|
|
168
|
+
std::mutex mutex; std::condition_variable ready; bool stopping = false;
|
|
169
|
+
std::deque<std::function<void()>> pending;
|
|
170
|
+
std::map<std::string, std::unique_ptr<Watch>> watches;
|
|
171
|
+
std::map<std::string, handle> files;
|
|
172
|
+
std::thread worker;
|
|
173
|
+
explicit FileQueue(React::ReactContext value) : context(value), worker([this] {
|
|
174
|
+
init_apartment(apartment_type::multi_threaded);
|
|
175
|
+
for (;;) {
|
|
176
|
+
std::function<void()> action;
|
|
177
|
+
{ std::unique_lock lock(mutex); ready.wait(lock, [this] { return stopping || !pending.empty(); });
|
|
178
|
+
if (pending.empty()) break; action = std::move(pending.front()); pending.pop_front(); }
|
|
179
|
+
action();
|
|
180
|
+
}
|
|
181
|
+
files.clear(); watches.clear(); uninit_apartment();
|
|
182
|
+
}) {}
|
|
183
|
+
~FileQueue() { { std::lock_guard lock(mutex); stopping = true; } ready.notify_one(); worker.join(); }
|
|
184
|
+
void Post(std::function<void()> action) { { std::lock_guard lock(mutex); pending.push_back(std::move(action)); } ready.notify_one(); }
|
|
185
|
+
Json::IJsonValue Call(std::string const &method, Json::JsonObject const &args) {
|
|
186
|
+
if (method == "directory") return Json::JsonValue::CreateStringValue(Directory(args.GetNamedString(L"kind")).wstring());
|
|
187
|
+
if (method == "unwatch") { watches.erase(to_string(args.GetNamedString(L"id"))); return Json::JsonValue::Parse(L"null"); }
|
|
188
|
+
if (method == "closeFile") { files.erase(to_string(args.GetNamedString(L"id"))); return Json::JsonValue::Parse(L"null"); }
|
|
189
|
+
if (method == "readChunk" || method == "writeChunk" || method == "flushFile") {
|
|
190
|
+
auto found = files.find(to_string(args.GetNamedString(L"id")));
|
|
191
|
+
if (found == files.end()) throw hresult_error(HRESULT_FROM_WIN32(ERROR_INVALID_HANDLE), L"Unknown or closed file handle");
|
|
192
|
+
auto file = found->second.get();
|
|
193
|
+
if (method == "flushFile") { if (!FlushFileBuffers(file)) throw_last_error(); return Json::JsonValue::Parse(L"null"); }
|
|
194
|
+
double offset = args.GetNamedNumber(L"offset");
|
|
195
|
+
if (!std::isfinite(offset) || offset < 0 || std::floor(offset) != offset || offset > 9007199254740991.0) throw hresult_invalid_argument(L"Invalid file offset");
|
|
196
|
+
LARGE_INTEGER position{}; position.QuadPart = static_cast<LONGLONG>(offset);
|
|
197
|
+
if (!SetFilePointerEx(file, position, nullptr, FILE_BEGIN)) throw_last_error();
|
|
198
|
+
if (method == "readChunk") {
|
|
199
|
+
double length = args.GetNamedNumber(L"length");
|
|
200
|
+
if (!std::isfinite(length) || length < 1 || length > 1048576 || std::floor(length) != length || offset + length > 9007199254740991.0) throw hresult_invalid_argument(L"Invalid chunk length");
|
|
201
|
+
std::vector<uint8_t> data(static_cast<size_t>(length)); DWORD count = 0;
|
|
202
|
+
if (!ReadFile(file, data.data(), static_cast<DWORD>(data.size()), &count, nullptr)) throw_last_error();
|
|
203
|
+
data.resize(count); return Json::JsonValue::CreateStringValue(Crypto::EncodeToBase64String(Crypto::CreateFromByteArray(data)));
|
|
204
|
+
}
|
|
205
|
+
auto base64 = args.GetNamedString(L"base64");
|
|
206
|
+
if (base64.size() > 1398104) throw hresult_invalid_argument(L"Chunk exceeds 1 MiB");
|
|
207
|
+
auto buffer = Crypto::DecodeFromBase64String(base64);
|
|
208
|
+
if (Crypto::EncodeToBase64String(buffer) != base64 || buffer.Length() > 1048576 || offset + buffer.Length() > 9007199254740991.0) throw hresult_invalid_argument(L"Invalid chunk");
|
|
209
|
+
com_array<uint8_t> data; Crypto::CopyToByteArray(buffer, data);
|
|
210
|
+
size_t written = 0;
|
|
211
|
+
while (written < data.size()) { DWORD count = 0; if (!WriteFile(file, data.data() + written, static_cast<DWORD>(data.size() - written), &count, nullptr)) throw_last_error(); if (!count) throw hresult_error(E_FAIL, L"File write made no progress"); written += count; }
|
|
212
|
+
return Json::JsonValue::CreateNumberValue(static_cast<double>(written));
|
|
213
|
+
}
|
|
214
|
+
auto path = FilePath(args.GetNamedString(L"path"));
|
|
215
|
+
if (method == "openFile") {
|
|
216
|
+
auto mode = args.GetNamedString(L"mode"); DWORD access, creation;
|
|
217
|
+
if (mode == L"read") { access = GENERIC_READ; creation = OPEN_EXISTING; }
|
|
218
|
+
else if (mode == L"readWrite") { access = GENERIC_READ | GENERIC_WRITE; creation = OPEN_EXISTING; }
|
|
219
|
+
else if (mode == L"write") { access = GENERIC_WRITE; creation = OPEN_ALWAYS; }
|
|
220
|
+
else if (mode == L"createNew") { access = GENERIC_WRITE; creation = CREATE_NEW; }
|
|
221
|
+
else throw hresult_invalid_argument(L"Invalid file mode");
|
|
222
|
+
auto file = Open(path, access, creation);
|
|
223
|
+
BY_HANDLE_FILE_INFORMATION info{}; if (!GetFileInformationByHandle(file.get(), &info)) throw_last_error();
|
|
224
|
+
if (GetFileType(file.get()) != FILE_TYPE_DISK || (info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) throw hresult_invalid_argument(L"Expected a regular file");
|
|
225
|
+
if (mode == L"write" && !SetEndOfFile(file.get())) throw_last_error();
|
|
226
|
+
GUID guid{}; check_hresult(CoCreateGuid(&guid)); wchar_t identifier[40]{}; StringFromGUID2(guid, identifier, 40);
|
|
227
|
+
files.emplace(to_string(hstring(identifier)), std::move(file)); return Json::JsonValue::CreateStringValue(identifier);
|
|
228
|
+
}
|
|
229
|
+
if (method == "trash") { Trash(path); return Json::JsonValue::Parse(L"null"); }
|
|
230
|
+
if (method == "readText") {
|
|
231
|
+
const auto bytes = Read(path); std::string text(bytes.begin(), bytes.end());
|
|
232
|
+
if (text.starts_with("\xef\xbb\xbf")) text.erase(0, 3);
|
|
233
|
+
// Reject malformed UTF-8 before WinRT conversion can replace bytes.
|
|
234
|
+
if (text.size() > INT_MAX) throw hresult_error(E_FAIL, L"Text exceeds the UTF-8 conversion limit");
|
|
235
|
+
if (!text.empty() && !MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, text.data(), static_cast<int>(text.size()), nullptr, 0)) throw_last_error();
|
|
236
|
+
return Json::JsonValue::CreateStringValue(to_hstring(text));
|
|
237
|
+
} else if (method == "readBytes") return Json::JsonValue::CreateStringValue(Crypto::EncodeToBase64String(Crypto::CreateFromByteArray(Read(path))));
|
|
238
|
+
else if (method == "writeText") { auto text = to_string(args.GetNamedString(L"text")); Write(path, std::vector<uint8_t>(text.begin(), text.end())); }
|
|
239
|
+
else if (method == "writeBytes") {
|
|
240
|
+
auto base64 = args.GetNamedString(L"base64"); Windows::Storage::Streams::IBuffer buffer{nullptr};
|
|
241
|
+
try { buffer = base64.empty() ? Crypto::CreateFromByteArray(array_view<uint8_t const>{}) : Crypto::DecodeFromBase64String(base64); } catch (hresult_error const &) { throw hresult_invalid_argument(L"Invalid base64 data"); }
|
|
242
|
+
if (Crypto::EncodeToBase64String(buffer) != base64) throw hresult_invalid_argument(L"Invalid base64 data");
|
|
243
|
+
com_array<uint8_t> data; Crypto::CopyToByteArray(buffer, data); Write(path, std::vector<uint8_t>(data.begin(), data.end()));
|
|
244
|
+
} else if (method == "mkdir") {
|
|
245
|
+
if (args.GetNamedBoolean(L"recursive", true)) fs::create_directories(path);
|
|
246
|
+
else if (!fs::create_directory(path)) throw hresult_error(HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS));
|
|
247
|
+
} else if (method == "remove") {
|
|
248
|
+
if (args.GetNamedBoolean(L"recursive", false)) return Json::JsonValue::CreateBooleanValue(fs::remove_all(path) != 0);
|
|
249
|
+
return Json::JsonValue::CreateBooleanValue(fs::remove(path));
|
|
250
|
+
} else if (method == "copy" || method == "move") {
|
|
251
|
+
auto to = FilePath(args.GetNamedString(L"to"));
|
|
252
|
+
auto destination = fs::symlink_status(to);
|
|
253
|
+
if (destination.type() != fs::file_type::not_found) throw hresult_error(HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS));
|
|
254
|
+
if (method == "copy") fs::copy(path, to, fs::copy_options::recursive | fs::copy_options::copy_symlinks);
|
|
255
|
+
else if (!MoveFileExW(path.c_str(), to.c_str(), MOVEFILE_COPY_ALLOWED | MOVEFILE_WRITE_THROUGH)) {
|
|
256
|
+
if (GetLastError() != ERROR_NOT_SAME_DEVICE || !fs::is_directory(path)) throw_last_error();
|
|
257
|
+
try { fs::copy(path, to, fs::copy_options::recursive | fs::copy_options::copy_symlinks); }
|
|
258
|
+
catch (...) { std::error_code ignored; fs::remove_all(to, ignored); throw; }
|
|
259
|
+
fs::remove_all(path);
|
|
260
|
+
}
|
|
261
|
+
} else if (method == "stat") {
|
|
262
|
+
// OPEN_REPARSE_POINT describes a link itself, including dangling links.
|
|
263
|
+
auto file = Open(path, FILE_READ_ATTRIBUTES, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT);
|
|
264
|
+
BY_HANDLE_FILE_INFORMATION info{}; if (!GetFileInformationByHandle(file.get(), &info)) throw_last_error();
|
|
265
|
+
ULARGE_INTEGER time{}; time.LowPart = info.ftLastWriteTime.dwLowDateTime; time.HighPart = info.ftLastWriteTime.dwHighDateTime;
|
|
266
|
+
Json::JsonObject result;
|
|
267
|
+
result.SetNamedValue(L"type", Json::JsonValue::CreateStringValue(fs::is_symlink(fs::symlink_status(path)) ? L"symlink" : (info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? L"directory" : L"file"));
|
|
268
|
+
result.SetNamedValue(L"size", Json::JsonValue::CreateNumberValue(static_cast<double>((uint64_t(info.nFileSizeHigh) << 32) | info.nFileSizeLow)));
|
|
269
|
+
result.SetNamedValue(L"modifiedAt", Json::JsonValue::CreateNumberValue(static_cast<double>(time.QuadPart) / 10000.0 - 11644473600000.0)); return result;
|
|
270
|
+
} else if (method == "list") {
|
|
271
|
+
std::vector<std::wstring> names; for (auto const &item : fs::directory_iterator(path)) names.push_back(item.path().filename().wstring());
|
|
272
|
+
std::sort(names.begin(), names.end()); Json::JsonArray result;
|
|
273
|
+
for (auto const &name : names) result.Append(Json::JsonValue::CreateStringValue(name)); return result;
|
|
274
|
+
} else if (method == "watch") {
|
|
275
|
+
auto id = to_string(args.GetNamedString(L"id"));
|
|
276
|
+
if (id.empty() || watches.count(id)) throw hresult_invalid_argument(L"Watch id must be unique and nonempty");
|
|
277
|
+
watches.emplace(id, std::make_unique<Watch>(path, id, context, args.GetNamedBoolean(L"recursive", false)));
|
|
278
|
+
} else throw hresult_invalid_argument(L"Unknown filesystem operation");
|
|
279
|
+
return Json::JsonValue::Parse(L"null");
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
REACT_MODULE(SparkFileSystem, L"NativeDesktopFileSystem")
|
|
283
|
+
struct SparkFileSystem {
|
|
284
|
+
std::unique_ptr<FileQueue> queue;
|
|
285
|
+
REACT_INIT(Initialize) void Initialize(React::ReactContext const &context) noexcept { queue = std::make_unique<FileQueue>(context); }
|
|
286
|
+
REACT_METHOD(call) void call(std::string method, std::string args, React::ReactPromise<std::string> promise) noexcept {
|
|
287
|
+
queue->Post([state = queue.get(), method, args, promise] {
|
|
288
|
+
try { promise.Resolve(to_string(state->Call(method, Json::JsonObject::Parse(to_hstring(args))).Stringify())); }
|
|
289
|
+
catch (...) { Reject(promise); }
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
REACT_METHOD(addListener) void addListener(std::string) noexcept {}
|
|
293
|
+
REACT_METHOD(removeListeners) void removeListeners(double) noexcept {}
|
|
294
|
+
};
|
|
295
|
+
}
|
package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.rc
ADDED
|
Binary file
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- This project was created with react-native-windows 0.81.35 -->
|
|
3
|
+
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
4
|
+
<Import Project="$(SolutionDir)\ExperimentalFeatures.props" Condition="Exists('$(SolutionDir)\ExperimentalFeatures.props')" />
|
|
5
|
+
<PropertyGroup Label="Globals">
|
|
6
|
+
<CppWinRTOptimized>true</CppWinRTOptimized>
|
|
7
|
+
<MinimalCoreWin>true</MinimalCoreWin>
|
|
8
|
+
<ProjectGuid>{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}</ProjectGuid>
|
|
9
|
+
<ProjectName>SparkFileSystem</ProjectName>
|
|
10
|
+
<Keyword>Win32Proj</Keyword>
|
|
11
|
+
<RootNamespace>SparkFileSystem</RootNamespace>
|
|
12
|
+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
|
13
|
+
<DefaultLanguage>en-US</DefaultLanguage>
|
|
14
|
+
<MinimumVisualStudioVersion>17.0</MinimumVisualStudioVersion>
|
|
15
|
+
<AppxPackage>false</AppxPackage>
|
|
16
|
+
</PropertyGroup>
|
|
17
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
18
|
+
<PropertyGroup Label="ReactNativeWindowsProps">
|
|
19
|
+
<ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\</ReactNativeWindowsDir>
|
|
20
|
+
<RunAutolinkCheck>false</RunAutolinkCheck>
|
|
21
|
+
</PropertyGroup>
|
|
22
|
+
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.WindowsSdk.Default.props" />
|
|
23
|
+
<ItemGroup Label="ProjectConfigurations">
|
|
24
|
+
<ProjectConfiguration Include="Debug|Win32">
|
|
25
|
+
<Configuration>Debug</Configuration>
|
|
26
|
+
<Platform>Win32</Platform>
|
|
27
|
+
</ProjectConfiguration>
|
|
28
|
+
<ProjectConfiguration Include="Release|Win32">
|
|
29
|
+
<Configuration>Release</Configuration>
|
|
30
|
+
<Platform>Win32</Platform>
|
|
31
|
+
</ProjectConfiguration>
|
|
32
|
+
<ProjectConfiguration Include="Debug|x64">
|
|
33
|
+
<Configuration>Debug</Configuration>
|
|
34
|
+
<Platform>x64</Platform>
|
|
35
|
+
</ProjectConfiguration>
|
|
36
|
+
<ProjectConfiguration Include="Release|x64">
|
|
37
|
+
<Configuration>Release</Configuration>
|
|
38
|
+
<Platform>x64</Platform>
|
|
39
|
+
</ProjectConfiguration>
|
|
40
|
+
<ProjectConfiguration Include="Debug|ARM64">
|
|
41
|
+
<Configuration>Debug</Configuration>
|
|
42
|
+
<Platform>ARM64</Platform>
|
|
43
|
+
</ProjectConfiguration>
|
|
44
|
+
<ProjectConfiguration Include="Release|ARM64">
|
|
45
|
+
<Configuration>Release</Configuration>
|
|
46
|
+
<Platform>ARM64</Platform>
|
|
47
|
+
</ProjectConfiguration>
|
|
48
|
+
</ItemGroup>
|
|
49
|
+
<PropertyGroup Label="Configuration">
|
|
50
|
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
51
|
+
<CharacterSet>Unicode</CharacterSet>
|
|
52
|
+
<PlatformToolset>v145</PlatformToolset>
|
|
53
|
+
<GenerateManifest>false</GenerateManifest>
|
|
54
|
+
</PropertyGroup>
|
|
55
|
+
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
|
56
|
+
<UseDebugLibraries>true</UseDebugLibraries>
|
|
57
|
+
</PropertyGroup>
|
|
58
|
+
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
|
59
|
+
<UseDebugLibraries>false</UseDebugLibraries>
|
|
60
|
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
61
|
+
</PropertyGroup>
|
|
62
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
63
|
+
<ImportGroup Label="ExtensionSettings">
|
|
64
|
+
</ImportGroup>
|
|
65
|
+
<ImportGroup Label="PropertySheets">
|
|
66
|
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
67
|
+
</ImportGroup>
|
|
68
|
+
<ImportGroup Label="ReactNativeWindowsPropertySheets">
|
|
69
|
+
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.props" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.props')" />
|
|
70
|
+
</ImportGroup>
|
|
71
|
+
<ItemDefinitionGroup>
|
|
72
|
+
<ClCompile>
|
|
73
|
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
74
|
+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
75
|
+
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
|
76
|
+
<WarningLevel>Level4</WarningLevel>
|
|
77
|
+
<SDLCheck>true</SDLCheck>
|
|
78
|
+
<AdditionalOptions>%(AdditionalOptions) /bigobj</AdditionalOptions>
|
|
79
|
+
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
|
|
80
|
+
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
81
|
+
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
|
82
|
+
<AdditionalIncludeDirectories>
|
|
83
|
+
$(MSBuildThisFileDirectory);
|
|
84
|
+
%(AdditionalIncludeDirectories)
|
|
85
|
+
</AdditionalIncludeDirectories>
|
|
86
|
+
</ClCompile>
|
|
87
|
+
<Link>
|
|
88
|
+
<AdditionalDependencies>shell32.lib;user32.lib;windowsapp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
89
|
+
<SubSystem>Console</SubSystem>
|
|
90
|
+
<GenerateWindowsMetadata>true</GenerateWindowsMetadata>
|
|
91
|
+
<ModuleDefinitionFile>SparkFileSystem.def</ModuleDefinitionFile>
|
|
92
|
+
</Link>
|
|
93
|
+
</ItemDefinitionGroup>
|
|
94
|
+
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
|
95
|
+
<ClCompile>
|
|
96
|
+
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
97
|
+
</ClCompile>
|
|
98
|
+
</ItemDefinitionGroup>
|
|
99
|
+
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
|
100
|
+
<ClCompile>
|
|
101
|
+
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
102
|
+
</ClCompile>
|
|
103
|
+
</ItemDefinitionGroup>
|
|
104
|
+
<PropertyGroup Label="UserMacros" />
|
|
105
|
+
<ItemGroup>
|
|
106
|
+
<ClInclude Include="Trash.h" />
|
|
107
|
+
<ClInclude Include="SparkFileSystem.h" />
|
|
108
|
+
<ClInclude Include="ReactPackageProvider.h">
|
|
109
|
+
<DependentUpon>ReactPackageProvider.idl</DependentUpon>
|
|
110
|
+
</ClInclude>
|
|
111
|
+
<ClInclude Include="resource.h" />
|
|
112
|
+
<ClInclude Include="pch.h" />
|
|
113
|
+
<ClInclude Include="targetver.h" />
|
|
114
|
+
</ItemGroup>
|
|
115
|
+
<ItemGroup>
|
|
116
|
+
<ClCompile Include="SparkFileSystem.cpp" />
|
|
117
|
+
<ClCompile Include="pch.cpp">
|
|
118
|
+
<PrecompiledHeader>Create</PrecompiledHeader>
|
|
119
|
+
</ClCompile>
|
|
120
|
+
<ClCompile Include="ReactPackageProvider.cpp">
|
|
121
|
+
<DependentUpon>ReactPackageProvider.idl</DependentUpon>
|
|
122
|
+
</ClCompile>
|
|
123
|
+
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
|
|
124
|
+
</ItemGroup>
|
|
125
|
+
<ItemGroup>
|
|
126
|
+
<Midl Include="ReactPackageProvider.idl" />
|
|
127
|
+
</ItemGroup>
|
|
128
|
+
<ItemGroup>
|
|
129
|
+
<ResourceCompile Include="SparkFileSystem.rc" />
|
|
130
|
+
</ItemGroup>
|
|
131
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
132
|
+
<ImportGroup Label="ReactNativeWindowsTargets">
|
|
133
|
+
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.targets" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.targets')" />
|
|
134
|
+
</ImportGroup>
|
|
135
|
+
<ItemGroup>
|
|
136
|
+
</ItemGroup>
|
|
137
|
+
<Target Name="EnsureReactNativeWindowsTargets" BeforeTargets="PrepareForBuild">
|
|
138
|
+
<PropertyGroup>
|
|
139
|
+
<ErrorText>This project references targets in your node_modules\react-native-windows folder. The missing file is {0}.</ErrorText>
|
|
140
|
+
</PropertyGroup>
|
|
141
|
+
<Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.props')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.props'))" />
|
|
142
|
+
<Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.targets'))" />
|
|
143
|
+
</Target>
|
|
144
|
+
</Project>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
<ItemGroup>
|
|
4
|
+
<Filter Include="Source Files">
|
|
5
|
+
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
|
6
|
+
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
|
7
|
+
</Filter>
|
|
8
|
+
<Filter Include="Header Files">
|
|
9
|
+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
|
10
|
+
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
|
11
|
+
</Filter>
|
|
12
|
+
<Filter Include="Resource Files">
|
|
13
|
+
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
|
14
|
+
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
|
15
|
+
</Filter>
|
|
16
|
+
</ItemGroup>
|
|
17
|
+
<ItemGroup>
|
|
18
|
+
<ClInclude Include="targetver.h">
|
|
19
|
+
<Filter>Header Files</Filter>
|
|
20
|
+
</ClInclude>
|
|
21
|
+
<ClInclude Include="resource.h">
|
|
22
|
+
<Filter>Header Files</Filter>
|
|
23
|
+
</ClInclude>
|
|
24
|
+
<ClInclude Include="Trash.h" />
|
|
25
|
+
<ClInclude Include="SparkFileSystem.h">
|
|
26
|
+
<Filter>Header Files</Filter>
|
|
27
|
+
</ClInclude>
|
|
28
|
+
<ClInclude Include="pch.h">
|
|
29
|
+
<Filter>Header Files</Filter>
|
|
30
|
+
</ClInclude>
|
|
31
|
+
</ItemGroup>
|
|
32
|
+
<ItemGroup>
|
|
33
|
+
<ClCompile Include="SparkFileSystem.cpp">
|
|
34
|
+
<Filter>Source Files</Filter>
|
|
35
|
+
</ClCompile>
|
|
36
|
+
<ClCompile Include="pch.cpp">
|
|
37
|
+
<Filter>Source Files</Filter>
|
|
38
|
+
</ClCompile>
|
|
39
|
+
</ItemGroup>
|
|
40
|
+
<ItemGroup>
|
|
41
|
+
<ResourceCompile Include="SparkFileSystem.rc">
|
|
42
|
+
<Filter>Resource Files</Filter>
|
|
43
|
+
</ResourceCompile>
|
|
44
|
+
</ItemGroup>
|
|
45
|
+
</Project>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include <shobjidl.h>
|
|
3
|
+
#include <wrl.h>
|
|
4
|
+
#include <thread>
|
|
5
|
+
#include <exception>
|
|
6
|
+
|
|
7
|
+
namespace winrt::SparkFileSystem {
|
|
8
|
+
// The shell can choose permanent deletion even when recycling was requested.
|
|
9
|
+
// Veto that choice before any deletion, including on network/removable volumes.
|
|
10
|
+
struct RecycleGuard final : Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>, IFileOperationProgressSink> {
|
|
11
|
+
HRESULT result = E_ABORT;
|
|
12
|
+
bool completed = false;
|
|
13
|
+
IFACEMETHODIMP PreDeleteItem(DWORD flags, IShellItem *) override { return (flags & TSF_DELETE_RECYCLE_IF_POSSIBLE) ? S_OK : E_ABORT; }
|
|
14
|
+
IFACEMETHODIMP PostDeleteItem(DWORD, IShellItem *, HRESULT status, IShellItem *) override { result = status; completed = true; return S_OK; }
|
|
15
|
+
IFACEMETHODIMP StartOperations() override { return S_OK; }
|
|
16
|
+
IFACEMETHODIMP FinishOperations(HRESULT) override { return S_OK; }
|
|
17
|
+
IFACEMETHODIMP UpdateProgress(UINT, UINT) override { return S_OK; }
|
|
18
|
+
IFACEMETHODIMP ResetTimer() override { return S_OK; }
|
|
19
|
+
IFACEMETHODIMP PauseTimer() override { return S_OK; }
|
|
20
|
+
IFACEMETHODIMP ResumeTimer() override { return S_OK; }
|
|
21
|
+
IFACEMETHODIMP PreRenameItem(DWORD, IShellItem *, LPCWSTR) override { return E_NOTIMPL; }
|
|
22
|
+
IFACEMETHODIMP PostRenameItem(DWORD, IShellItem *, LPCWSTR, HRESULT, IShellItem *) override { return E_NOTIMPL; }
|
|
23
|
+
IFACEMETHODIMP PreMoveItem(DWORD, IShellItem *, IShellItem *, LPCWSTR) override { return E_NOTIMPL; }
|
|
24
|
+
IFACEMETHODIMP PostMoveItem(DWORD, IShellItem *, IShellItem *, LPCWSTR, HRESULT, IShellItem *) override { return E_NOTIMPL; }
|
|
25
|
+
IFACEMETHODIMP PreCopyItem(DWORD, IShellItem *, IShellItem *, LPCWSTR) override { return E_NOTIMPL; }
|
|
26
|
+
IFACEMETHODIMP PostCopyItem(DWORD, IShellItem *, IShellItem *, LPCWSTR, HRESULT, IShellItem *) override { return E_NOTIMPL; }
|
|
27
|
+
IFACEMETHODIMP PreNewItem(DWORD, IShellItem *, LPCWSTR) override { return E_NOTIMPL; }
|
|
28
|
+
IFACEMETHODIMP PostNewItem(DWORD, IShellItem *, LPCWSTR, LPCWSTR, DWORD, HRESULT, IShellItem *) override { return E_NOTIMPL; }
|
|
29
|
+
};
|
|
30
|
+
inline void Trash(std::filesystem::path const &path) {
|
|
31
|
+
std::exception_ptr failure;
|
|
32
|
+
std::thread sta([&] {
|
|
33
|
+
auto initialized = CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
|
|
34
|
+
if (FAILED(initialized)) { failure = std::make_exception_ptr(hresult_error(initialized)); return; }
|
|
35
|
+
try {
|
|
36
|
+
com_ptr<IFileOperation> operation;
|
|
37
|
+
check_hresult(CoCreateInstance(CLSID_FileOperation, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(operation.put())));
|
|
38
|
+
check_hresult(operation->SetOperationFlags(FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_ALLOWUNDO | FOFX_RECYCLEONDELETE | FOFX_EARLYFAILURE));
|
|
39
|
+
com_ptr<IShellItem> item;
|
|
40
|
+
check_hresult(SHCreateItemFromParsingName(path.c_str(), nullptr, IID_PPV_ARGS(item.put())));
|
|
41
|
+
auto guard = Microsoft::WRL::Make<RecycleGuard>();
|
|
42
|
+
check_hresult(operation->DeleteItem(item.get(), guard.Get()));
|
|
43
|
+
check_hresult(operation->PerformOperations());
|
|
44
|
+
BOOL aborted = FALSE; check_hresult(operation->GetAnyOperationsAborted(&aborted));
|
|
45
|
+
if (aborted || !guard->completed) throw hresult_error(E_ABORT, L"Item could not be recycled; permanent deletion was refused");
|
|
46
|
+
check_hresult(guard->result);
|
|
47
|
+
} catch (...) { failure = std::current_exception(); }
|
|
48
|
+
CoUninitialize();
|
|
49
|
+
});
|
|
50
|
+
sta.join(); if (failure) std::rethrow_exception(failure);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#include "pch.h"
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// pch.h : include file for standard system include files,
|
|
2
|
+
// or project specific include files that are used frequently, but
|
|
3
|
+
// are changed infrequently
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#pragma once
|
|
7
|
+
|
|
8
|
+
#include "targetver.h"
|
|
9
|
+
|
|
10
|
+
#define NOMINMAX 1
|
|
11
|
+
#define WIN32_LEAN_AND_MEAN 1
|
|
12
|
+
#define WINRT_LEAN_AND_MEAN 1
|
|
13
|
+
|
|
14
|
+
// Windows Header Files
|
|
15
|
+
#include <windows.h>
|
|
16
|
+
#undef GetCurrentTime
|
|
17
|
+
#include <unknwn.h>
|
|
18
|
+
|
|
19
|
+
// WinRT Header Files
|
|
20
|
+
#include <winrt/base.h>
|
|
21
|
+
#include <CppWinRTIncludes.h>
|
|
22
|
+
#include <winrt/Microsoft.ReactNative.h>
|
|
23
|
+
|
|
24
|
+
// C RunTime Header Files
|
|
25
|
+
#include <malloc.h>
|
|
26
|
+
#include <memory.h>
|
|
27
|
+
#include <stdlib.h>
|
|
28
|
+
#include <tchar.h>
|
|
29
|
+
|
|
30
|
+
// Reference additional headers your project requires here
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
// Including SDKDDKVer.h defines the highest available Windows platform.
|
|
4
|
+
|
|
5
|
+
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
|
|
6
|
+
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
|
|
7
|
+
|
|
8
|
+
#include <SDKDDKVer.h>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
3
|
+
# Visual Studio Version 17
|
|
4
|
+
VisualStudioVersion = 17.3.32929.385
|
|
5
|
+
MinimumVisualStudioVersion = 10.0.40219.1
|
|
6
|
+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SparkFileSystem", "SparkFileSystem\SparkFileSystem.vcxproj", "{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}"
|
|
7
|
+
EndProject
|
|
8
|
+
Global
|
|
9
|
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
10
|
+
Debug|x64 = Debug|x64
|
|
11
|
+
Debug|x86 = Debug|x86
|
|
12
|
+
Debug|ARM64 = Debug|ARM64
|
|
13
|
+
Release|x64 = Release|x64
|
|
14
|
+
Release|x86 = Release|x86
|
|
15
|
+
Release|ARM64 = Release|ARM64
|
|
16
|
+
EndGlobalSection
|
|
17
|
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
18
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|x64.ActiveCfg = Debug|x64
|
|
19
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|x64.Build.0 = Debug|x64
|
|
20
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|x64.Deploy.0 = Debug|x64
|
|
21
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|x86.ActiveCfg = Debug|Win32
|
|
22
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|x86.Build.0 = Debug|Win32
|
|
23
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|x86.Deploy.0 = Debug|Win32
|
|
24
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
|
25
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|ARM64.Build.0 = Debug|ARM64
|
|
26
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
|
27
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|x64.ActiveCfg = Release|x64
|
|
28
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|x64.Build.0 = Release|x64
|
|
29
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|x64.Deploy.0 = Release|x64
|
|
30
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|x86.ActiveCfg = Release|Win32
|
|
31
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|x86.Build.0 = Release|Win32
|
|
32
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|x86.Deploy.0 = Release|Win32
|
|
33
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|ARM64.ActiveCfg = Release|ARM64
|
|
34
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|ARM64.Build.0 = Release|ARM64
|
|
35
|
+
{1DFD2919-6543-4CC4-8F0C-A864BFB5050C}.Release|ARM64.Deploy.0 = Release|ARM64
|
|
36
|
+
EndGlobalSection
|
|
37
|
+
GlobalSection(SolutionProperties) = preSolution
|
|
38
|
+
HideSolutionNode = FALSE
|
|
39
|
+
EndGlobalSection
|
|
40
|
+
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
41
|
+
SolutionGuid = {E8F1617F-F0A1-46B8-9AF8-6B6980AC2208}
|
|
42
|
+
EndGlobalSection
|
|
43
|
+
EndGlobal
|