capacitor-secure-storage-plugin 0.6.0 → 0.6.4-testing
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/CHANGELOG.md +11 -0
- package/CapacitorSecureStoragePlugin.podspec +12 -7
- package/README.md +18 -7
- package/android/build.gradle +13 -7
- package/android/src/main/AndroidManifest.xml +3 -5
- package/android/src/main/java/com/whitestein/securestorage/{SecureStoragePlugin.java → SecureStoragePluginPlugin.java} +33 -16
- package/android/{.gradle/5.6.4/gc.properties → src/main/res/.gitkeep} +0 -0
- package/dist/docs.json +93 -0
- package/dist/esm/definitions.js +1 -0
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/web.d.ts +2 -4
- package/dist/esm/web.js +15 -11
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +64 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +67 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Plugin/{Plugin.h → SecureStoragePluginPlugin.h} +0 -0
- package/ios/Plugin/{Plugin.m → SecureStoragePluginPlugin.m} +0 -0
- package/ios/Plugin/{Plugin.swift → SecureStoragePluginPlugin.swift} +19 -10
- package/package.json +56 -29
- package/android/.gitignore +0 -72
- package/android/.gradle/5.6.4/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/5.6.4/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/5.6.4/fileChanges/last-build.bin +0 -0
- package/android/.gradle/5.6.4/fileContent/fileContent.lock +0 -0
- package/android/.gradle/5.6.4/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/5.6.4/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/5.6.4/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/5.6.4/javaCompile/classAnalysis.bin +0 -0
- package/android/.gradle/5.6.4/javaCompile/jarAnalysis.bin +0 -0
- package/android/.gradle/5.6.4/javaCompile/javaCompile.lock +0 -0
- package/android/.gradle/5.6.4/javaCompile/taskHistory.bin +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/.gitignore +0 -3
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/gradle.xml +0 -20
- package/android/.idea/jarRepositories.xml +0 -30
- package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_core_core_1_3_2_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_test_core_1_2_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_2_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_2_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_1_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__androidx_test_monitor_1_2_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__androidx_test_runner_1_2_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml +0 -9
- package/android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml +0 -13
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
- package/android/.idea/libraries/Gradle__junit_junit_4_12.xml +0 -13
- package/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_18.xml +0 -13
- package/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_18.xml +0 -13
- package/android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml +0 -13
- package/android/.idea/libraries/Gradle__org_apache_cordova_framework_7_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml +0 -13
- package/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml +0 -13
- package/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml +0 -13
- package/android/.idea/libraries/Gradle__org_json_json_20140107.xml +0 -13
- package/android/.idea/libraries/Gradle__org_mockito_mockito_core_3_6_28.xml +0 -13
- package/android/.idea/libraries/Gradle__org_mockito_mockito_inline_3_6_28.xml +0 -13
- package/android/.idea/libraries/Gradle__org_objenesis_objenesis_3_1.xml +0 -13
- package/android/.idea/misc.xml +0 -9
- package/android/.idea/modules/1586507569/android.capacitor-android.iml +0 -93
- package/android/.idea/modules/android.iml +0 -65
- package/android/.idea/modules.xml +0 -9
- package/android/.idea/vcs.xml +0 -6
- package/android/.npmignore +0 -1
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/android/gradle.properties +0 -21
- package/android/gradlew +0 -160
- package/android/gradlew.bat +0 -90
- package/android/local.properties +0 -8
- package/android/proguard-rules.pro +0 -21
- package/android/settings.gradle +0 -2
- package/android/src/androidTest/java/com/getcapacitor/android/ExampleInstrumentedTest.java +0 -121
- package/android/src/main/res/layout/bridge_layout_main.xml +0 -15
- package/android/src/main/res/values/colors.xml +0 -3
- package/android/src/main/res/values/strings.xml +0 -3
- package/android/src/main/res/values/styles.xml +0 -3
- package/android/src/test/java/com/getcapacitor/ExampleUnitTest.java +0 -17
- package/ios/Plugin.xcodeproj/project.pbxproj +0 -735
- package/ios/Plugin.xcodeproj/xcshareddata/xcschemes/Plugin.xcscheme +0 -77
- package/ios/Plugin.xcodeproj/xcshareddata/xcschemes/TestApp.xcscheme +0 -88
- package/ios/Plugin.xcodeproj/xcuserdata/mka.xcuserdatad/xcschemes/xcschememanagement.plist +0 -37
- package/ios/Plugin.xcworkspace/contents.xcworkspacedata +0 -10
- package/ios/Plugin.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Plugin.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -5
- package/ios/Plugin.xcworkspace/xcuserdata/mka.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Plugin.xcworkspace/xcuserdata/mka.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -24
- package/ios/PluginTests/Info.plist +0 -22
- package/ios/PluginTests/PluginTests.swift +0 -245
- package/ios/Podfile +0 -18
- package/ios/Podfile.lock +0 -29
- package/ios/Pods/CapacitorCordova/LICENSE +0 -23
- package/ios/Pods/CapacitorCordova/README.md +0 -37
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/CapacitorCordova.h +0 -21
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/AppDelegate.h +0 -8
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/AppDelegate.m +0 -5
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDV.h +0 -28
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVAvailability.h +0 -109
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVCommandDelegate.h +0 -51
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVCommandDelegateImpl.h +0 -39
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVCommandDelegateImpl.m +0 -154
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVConfigParser.h +0 -31
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVConfigParser.m +0 -81
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVInvokedUrlCommand.h +0 -52
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVInvokedUrlCommand.m +0 -116
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVPlugin.h +0 -81
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVPlugin.m +0 -154
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVPluginManager.h +0 -25
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVPluginManager.m +0 -77
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVPluginResult.h +0 -82
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVPluginResult.m +0 -216
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVScreenOrientationDelegate.h +0 -33
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVUIWebViewDelegate.h +0 -41
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVUIWebViewDelegate.m +0 -399
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVURLProtocol.h +0 -27
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVURLProtocol.m +0 -74
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVUserAgentUtil.h +0 -27
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVUserAgentUtil.m +0 -156
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVViewController.h +0 -30
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/CDVViewController.m +0 -34
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/NSDictionary+CordovaPreferences.h +0 -35
- package/ios/Pods/CapacitorCordova/ios/CapacitorCordova/CapacitorCordova/Classes/Public/NSDictionary+CordovaPreferences.m +0 -63
- package/ios/Pods/Local Podspecs/Capacitor.podspec.json +0 -34
- package/ios/Pods/Local Podspecs/CapacitorCordova.podspec.json +0 -26
- package/ios/Pods/Manifest.lock +0 -29
- package/ios/Pods/Pods.xcodeproj/project.pbxproj +0 -1512
- package/ios/Pods/Pods.xcodeproj/xcuserdata/mka.xcuserdatad/xcschemes/Capacitor.xcscheme +0 -58
- package/ios/Pods/Pods.xcodeproj/xcuserdata/mka.xcuserdatad/xcschemes/CapacitorCordova.xcscheme +0 -58
- package/ios/Pods/Pods.xcodeproj/xcuserdata/mka.xcuserdatad/xcschemes/Pods-Plugin.xcscheme +0 -58
- package/ios/Pods/Pods.xcodeproj/xcuserdata/mka.xcuserdatad/xcschemes/Pods-PluginTests.xcscheme +0 -58
- package/ios/Pods/Pods.xcodeproj/xcuserdata/mka.xcuserdatad/xcschemes/SwiftKeychainWrapper.xcscheme +0 -58
- package/ios/Pods/Pods.xcodeproj/xcuserdata/mka.xcuserdatad/xcschemes/xcschememanagement.plist +0 -36
- package/ios/Pods/SwiftKeychainWrapper/LICENSE +0 -22
- package/ios/Pods/SwiftKeychainWrapper/README.md +0 -168
- package/ios/Pods/SwiftKeychainWrapper/SwiftKeychainWrapper/KeychainItemAccessibility.swift +0 -123
- package/ios/Pods/SwiftKeychainWrapper/SwiftKeychainWrapper/KeychainWrapper.swift +0 -447
- package/ios/Pods/SwiftKeychainWrapper/SwiftKeychainWrapper/SwiftKeychainWrapper.h +0 -37
- package/ios/Pods/Target Support Files/Capacitor/Capacitor-Info.plist +0 -26
- package/ios/Pods/Target Support Files/Capacitor/Capacitor-dummy.m +0 -5
- package/ios/Pods/Target Support Files/Capacitor/Capacitor-prefix.pch +0 -12
- package/ios/Pods/Target Support Files/Capacitor/Capacitor-umbrella.h +0 -23
- package/ios/Pods/Target Support Files/Capacitor/Capacitor.debug.xcconfig +0 -13
- package/ios/Pods/Target Support Files/Capacitor/Capacitor.modulemap +0 -7
- package/ios/Pods/Target Support Files/Capacitor/Capacitor.release.xcconfig +0 -13
- package/ios/Pods/Target Support Files/Capacitor/Capacitor.xcconfig +0 -10
- package/ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova-Info.plist +0 -26
- package/ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova-dummy.m +0 -5
- package/ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova-prefix.pch +0 -12
- package/ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova-umbrella.h +0 -33
- package/ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova.debug.xcconfig +0 -12
- package/ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova.modulemap +0 -6
- package/ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova.release.xcconfig +0 -12
- package/ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova.xcconfig +0 -9
- package/ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-Info.plist +0 -26
- package/ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-acknowledgements.markdown +0 -83
- package/ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-acknowledgements.plist +0 -127
- package/ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-dummy.m +0 -5
- package/ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-umbrella.h +0 -16
- package/ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin.debug.xcconfig +0 -13
- package/ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin.modulemap +0 -6
- package/ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin.release.xcconfig +0 -13
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-Info.plist +0 -26
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-acknowledgements.markdown +0 -83
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-acknowledgements.plist +0 -127
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-dummy.m +0 -5
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-frameworks.sh +0 -189
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-umbrella.h +0 -16
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests.debug.xcconfig +0 -14
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests.modulemap +0 -6
- package/ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests.release.xcconfig +0 -14
- package/ios/Pods/Target Support Files/SwiftKeychainWrapper/SwiftKeychainWrapper-Info.plist +0 -26
- package/ios/Pods/Target Support Files/SwiftKeychainWrapper/SwiftKeychainWrapper-dummy.m +0 -5
- package/ios/Pods/Target Support Files/SwiftKeychainWrapper/SwiftKeychainWrapper-prefix.pch +0 -12
- package/ios/Pods/Target Support Files/SwiftKeychainWrapper/SwiftKeychainWrapper-umbrella.h +0 -17
- package/ios/Pods/Target Support Files/SwiftKeychainWrapper/SwiftKeychainWrapper.debug.xcconfig +0 -12
- package/ios/Pods/Target Support Files/SwiftKeychainWrapper/SwiftKeychainWrapper.modulemap +0 -6
- package/ios/Pods/Target Support Files/SwiftKeychainWrapper/SwiftKeychainWrapper.release.xcconfig +0 -12
- package/ios/Pods/Target Support Files/SwiftKeychainWrapper/SwiftKeychainWrapper.xcconfig +0 -9
- package/ios/TestApp/AppDelegate.swift +0 -37
- package/ios/TestApp/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
- package/ios/TestApp/Assets.xcassets/Contents.json +0 -6
- package/ios/TestApp/Base.lproj/LaunchScreen.storyboard +0 -25
- package/ios/TestApp/Base.lproj/Main.storyboard +0 -24
- package/ios/TestApp/ContentView.swift +0 -21
- package/ios/TestApp/Info.plist +0 -60
- package/ios/TestApp/Preview Content/Preview Assets.xcassets/Contents.json +0 -6
- package/ios/TestApp/SceneDelegate.swift +0 -64
- package/ios/TestApp/TestApp/AppDelegate.swift +0 -46
- package/ios/TestApp/TestApp/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
- package/ios/TestApp/TestApp/Assets.xcassets/Contents.json +0 -6
- package/ios/TestApp/TestApp/Base.lproj/LaunchScreen.storyboard +0 -25
- package/ios/TestApp/TestApp/Base.lproj/Main.storyboard +0 -24
- package/ios/TestApp/TestApp/Info.plist +0 -45
- package/ios/TestApp/TestApp/TestApp.entitlements +0 -10
- package/ios/TestApp/TestApp/ViewController.swift +0 -20
- package/ios/TestApp/TestApp.entitlements +0 -8
- package/ios/TestApp/ViewController.swift +0 -20
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
|
+
## v0.6.2
|
|
2
|
+
|
|
3
|
+
- fix keys() serialization error on Android
|
|
4
|
+
|
|
5
|
+
## v0.6.1
|
|
6
|
+
|
|
7
|
+
- fix keys() serializable error on iOS
|
|
8
|
+
|
|
1
9
|
## v0.6.0
|
|
2
10
|
|
|
3
11
|
- migrate to capacitor 3.0
|
|
4
12
|
- for Capacitor 2.X.X install vesrion v0.5.1
|
|
13
|
+
|
|
5
14
|
- `npm install capacitor-secure-storage-plugin@0.5.1`
|
|
6
15
|
|
|
16
|
+
- import plugin in web project in Capacitor v3 is `import { SecureStoragePlugin } from 'capacitor-secure-storage-plugin';` directly, instead of import of Plugins from capacitor/core
|
|
17
|
+
|
|
7
18
|
## v0.5.1
|
|
8
19
|
|
|
9
20
|
- fix Capacitor version to 2.X.X
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
4
|
+
|
|
1
5
|
Pod::Spec.new do |s|
|
|
2
6
|
s.name = 'CapacitorSecureStoragePlugin'
|
|
3
|
-
s.version = '
|
|
4
|
-
s.summary = '
|
|
5
|
-
s.license = '
|
|
6
|
-
s.homepage = '
|
|
7
|
-
s.author = '
|
|
8
|
-
s.source = { :git => '
|
|
7
|
+
s.version = package['version']
|
|
8
|
+
s.summary = package['description']
|
|
9
|
+
s.license = package['license']
|
|
10
|
+
s.homepage = package['repository']['url']
|
|
11
|
+
s.author = package['author']
|
|
12
|
+
s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
|
|
9
13
|
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
|
|
10
14
|
s.ios.deployment_target = '12.0'
|
|
11
15
|
s.dependency 'Capacitor'
|
|
12
16
|
s.dependency 'SwiftKeychainWrapper'
|
|
13
|
-
|
|
17
|
+
s.swift_version = '5.1'
|
|
18
|
+
end
|
package/README.md
CHANGED
|
@@ -3,21 +3,32 @@
|
|
|
3
3
|
Capacitor plugin for storing string values securly on iOS and Android.
|
|
4
4
|
|
|
5
5
|
## How to install
|
|
6
|
-
|
|
7
|
-
For Capacitor < 2.0.0
|
|
6
|
+
For Capacitor v3
|
|
8
7
|
|
|
9
8
|
```
|
|
10
|
-
npm install capacitor-secure-storage-plugin
|
|
9
|
+
npm install capacitor-secure-storage-plugin
|
|
11
10
|
```
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
|
|
13
|
+
For Capacitor v2 - install with fixed version 0.5.1
|
|
14
14
|
|
|
15
15
|
```
|
|
16
|
-
npm install capacitor-secure-storage-plugin
|
|
16
|
+
npm install capacitor-secure-storage-plugin@0.5.1
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
|
|
19
20
|
## Usage
|
|
20
21
|
|
|
22
|
+
For Capacitor v3
|
|
23
|
+
|
|
24
|
+
In a component where you want to use this plugin add to or modify imports:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
import { SecureStoragePlugin } from 'capacitor-secure-storage-plugin';
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
For Capacitor v2
|
|
31
|
+
|
|
21
32
|
In a component where you want to use this plugin add to or modify imports:
|
|
22
33
|
|
|
23
34
|
```
|
|
@@ -31,9 +42,9 @@ First line is needed because of web part of the plugin (current behavior of Capa
|
|
|
31
42
|
|
|
32
43
|
### Android
|
|
33
44
|
|
|
34
|
-
In Android you have to register plugins manually in MainActivity class of your app.
|
|
45
|
+
In Android with Capacitor v2 you have to register plugins manually in MainActivity class of your app.
|
|
35
46
|
|
|
36
|
-
https://
|
|
47
|
+
https://capacitorjs.com/docs/v2/plugins/android#export-to-capacitor
|
|
37
48
|
|
|
38
49
|
```
|
|
39
50
|
import com.whitestein.securestorage.SecureStoragePlugin;
|
package/android/build.gradle
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
ext {
|
|
2
|
-
junitVersion =
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.1'
|
|
3
|
+
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.2.0'
|
|
4
|
+
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.2'
|
|
5
|
+
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.3.0'
|
|
5
6
|
}
|
|
6
7
|
|
|
7
8
|
buildscript {
|
|
@@ -10,17 +11,17 @@ buildscript {
|
|
|
10
11
|
jcenter()
|
|
11
12
|
}
|
|
12
13
|
dependencies {
|
|
13
|
-
classpath 'com.android.tools.build:gradle:
|
|
14
|
+
classpath 'com.android.tools.build:gradle:4.2.1'
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
apply plugin: 'com.android.library'
|
|
18
19
|
|
|
19
20
|
android {
|
|
20
|
-
compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion :
|
|
21
|
+
compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 30
|
|
21
22
|
defaultConfig {
|
|
22
23
|
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 21
|
|
23
|
-
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion :
|
|
24
|
+
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 30
|
|
24
25
|
versionCode 1
|
|
25
26
|
versionName "1.0"
|
|
26
27
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
@@ -34,18 +35,23 @@ android {
|
|
|
34
35
|
lintOptions {
|
|
35
36
|
abortOnError false
|
|
36
37
|
}
|
|
38
|
+
compileOptions {
|
|
39
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
40
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
|
|
39
44
|
repositories {
|
|
40
45
|
google()
|
|
41
|
-
jcenter()
|
|
42
46
|
mavenCentral()
|
|
47
|
+
jcenter()
|
|
43
48
|
}
|
|
44
49
|
|
|
45
50
|
|
|
46
51
|
dependencies {
|
|
47
52
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
48
53
|
implementation project(':capacitor-android')
|
|
54
|
+
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
|
|
49
55
|
testImplementation "junit:junit:$junitVersion"
|
|
50
56
|
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
51
57
|
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
</manifest>
|
|
5
|
-
|
|
1
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
package="com.whitestein.securestorage">
|
|
3
|
+
</manifest>
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
package com.whitestein.securestorage;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
|
-
|
|
4
|
+
import com.getcapacitor.JSArray;
|
|
5
5
|
import com.getcapacitor.JSObject;
|
|
6
6
|
import com.getcapacitor.NativePlugin;
|
|
7
7
|
import com.getcapacitor.Plugin;
|
|
8
8
|
import com.getcapacitor.PluginCall;
|
|
9
9
|
import com.getcapacitor.PluginMethod;
|
|
10
10
|
import com.getcapacitor.annotation.CapacitorPlugin;
|
|
11
|
-
|
|
12
11
|
import java.nio.charset.Charset;
|
|
13
12
|
import java.util.Set;
|
|
14
13
|
|
|
15
|
-
@CapacitorPlugin()
|
|
16
|
-
public class
|
|
14
|
+
@CapacitorPlugin(name = "SecureStoragePlugin")
|
|
15
|
+
public class SecureStoragePluginPlugin extends Plugin {
|
|
16
|
+
|
|
17
17
|
private PasswordStorageHelper passwordStorageHelper;
|
|
18
18
|
|
|
19
19
|
@Override
|
|
@@ -26,43 +26,52 @@ public class SecureStoragePlugin extends Plugin {
|
|
|
26
26
|
this.passwordStorageHelper = new PasswordStorageHelper(context);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
@PluginMethod
|
|
29
|
+
@PluginMethod
|
|
30
30
|
public void set(PluginCall call) {
|
|
31
31
|
String key = call.getString("key");
|
|
32
32
|
String value = call.getString("value");
|
|
33
|
+
if(value == null) {
|
|
34
|
+
value = "";
|
|
35
|
+
}
|
|
36
|
+
|
|
33
37
|
try {
|
|
34
|
-
call.resolve(this._set(key,value));
|
|
38
|
+
call.resolve(this._set(key, value));
|
|
35
39
|
} catch (Exception exception) {
|
|
36
40
|
call.reject(exception.getMessage(), exception);
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
43
|
|
|
40
|
-
@PluginMethod
|
|
44
|
+
@PluginMethod
|
|
41
45
|
public void get(PluginCall call) {
|
|
42
46
|
String key = call.getString("key");
|
|
43
47
|
try {
|
|
44
|
-
|
|
48
|
+
call.resolve(this._get(key));
|
|
45
49
|
} catch (Exception exception) {
|
|
46
50
|
call.reject(exception.getMessage(), exception);
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
|
|
50
|
-
@PluginMethod
|
|
54
|
+
@PluginMethod
|
|
51
55
|
public void keys(PluginCall call) {
|
|
52
56
|
call.resolve(this._keys());
|
|
53
57
|
}
|
|
54
58
|
|
|
55
|
-
@PluginMethod
|
|
59
|
+
@PluginMethod
|
|
56
60
|
public void remove(PluginCall call) {
|
|
57
61
|
String key = call.getString("key");
|
|
58
62
|
try {
|
|
59
|
-
|
|
63
|
+
if(this.has(key)) {
|
|
64
|
+
call.resolve(this._remove(key));
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
call.reject("Item with given key does not exist");
|
|
68
|
+
}
|
|
60
69
|
} catch (Exception exception) {
|
|
61
70
|
call.reject(exception.getMessage(), exception);
|
|
62
71
|
}
|
|
63
72
|
}
|
|
64
73
|
|
|
65
|
-
@PluginMethod
|
|
74
|
+
@PluginMethod
|
|
66
75
|
public void clear(PluginCall call) {
|
|
67
76
|
try {
|
|
68
77
|
call.resolve(this._clear());
|
|
@@ -71,7 +80,7 @@ public class SecureStoragePlugin extends Plugin {
|
|
|
71
80
|
}
|
|
72
81
|
}
|
|
73
82
|
|
|
74
|
-
@PluginMethod
|
|
83
|
+
@PluginMethod
|
|
75
84
|
public void getPlatform(PluginCall call) {
|
|
76
85
|
call.resolve(this._getPlatform());
|
|
77
86
|
}
|
|
@@ -83,9 +92,18 @@ public class SecureStoragePlugin extends Plugin {
|
|
|
83
92
|
return ret;
|
|
84
93
|
}
|
|
85
94
|
|
|
95
|
+
public boolean has(String key) throws Exception {
|
|
96
|
+
byte[] buffer = this.passwordStorageHelper.getData(key);
|
|
97
|
+
if (buffer != null) {
|
|
98
|
+
return true;
|
|
99
|
+
} else {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
86
104
|
public JSObject _get(String key) throws Exception {
|
|
87
105
|
byte[] buffer = this.passwordStorageHelper.getData(key);
|
|
88
|
-
if (buffer != null
|
|
106
|
+
if (buffer != null) {
|
|
89
107
|
String value = new String(buffer, Charset.forName("UTF-8"));
|
|
90
108
|
JSObject ret = new JSObject();
|
|
91
109
|
ret.put("value", value);
|
|
@@ -98,7 +116,7 @@ public class SecureStoragePlugin extends Plugin {
|
|
|
98
116
|
public JSObject _keys() {
|
|
99
117
|
String[] keys = this.passwordStorageHelper.keys();
|
|
100
118
|
JSObject ret = new JSObject();
|
|
101
|
-
ret.put("value", keys);
|
|
119
|
+
ret.put("value", JSArray.from(keys));
|
|
102
120
|
return ret;
|
|
103
121
|
}
|
|
104
122
|
|
|
@@ -121,5 +139,4 @@ public class SecureStoragePlugin extends Plugin {
|
|
|
121
139
|
ret.put("value", "android");
|
|
122
140
|
return ret;
|
|
123
141
|
}
|
|
124
|
-
|
|
125
142
|
}
|
|
File without changes
|
package/dist/docs.json
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"api": {
|
|
3
|
+
"name": "SecureStoragePluginPlugin",
|
|
4
|
+
"slug": "securestoragepluginplugin",
|
|
5
|
+
"docs": "",
|
|
6
|
+
"tags": [],
|
|
7
|
+
"methods": [
|
|
8
|
+
{
|
|
9
|
+
"name": "get",
|
|
10
|
+
"signature": "(options: { key: string; }) => Promise<{ value: string; }>",
|
|
11
|
+
"parameters": [
|
|
12
|
+
{
|
|
13
|
+
"name": "options",
|
|
14
|
+
"docs": "",
|
|
15
|
+
"type": "{ key: string; }"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"returns": "Promise<{ value: string; }>",
|
|
19
|
+
"tags": [],
|
|
20
|
+
"docs": "",
|
|
21
|
+
"complexTypes": [],
|
|
22
|
+
"slug": "get"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "set",
|
|
26
|
+
"signature": "(options: { key: string; value: string; }) => Promise<{ value: boolean; }>",
|
|
27
|
+
"parameters": [
|
|
28
|
+
{
|
|
29
|
+
"name": "options",
|
|
30
|
+
"docs": "",
|
|
31
|
+
"type": "{ key: string; value: string; }"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"returns": "Promise<{ value: boolean; }>",
|
|
35
|
+
"tags": [],
|
|
36
|
+
"docs": "",
|
|
37
|
+
"complexTypes": [],
|
|
38
|
+
"slug": "set"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "remove",
|
|
42
|
+
"signature": "(options: { key: string; }) => Promise<{ value: boolean; }>",
|
|
43
|
+
"parameters": [
|
|
44
|
+
{
|
|
45
|
+
"name": "options",
|
|
46
|
+
"docs": "",
|
|
47
|
+
"type": "{ key: string; }"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"returns": "Promise<{ value: boolean; }>",
|
|
51
|
+
"tags": [],
|
|
52
|
+
"docs": "",
|
|
53
|
+
"complexTypes": [],
|
|
54
|
+
"slug": "remove"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "clear",
|
|
58
|
+
"signature": "() => Promise<{ value: boolean; }>",
|
|
59
|
+
"parameters": [],
|
|
60
|
+
"returns": "Promise<{ value: boolean; }>",
|
|
61
|
+
"tags": [],
|
|
62
|
+
"docs": "",
|
|
63
|
+
"complexTypes": [],
|
|
64
|
+
"slug": "clear"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "keys",
|
|
68
|
+
"signature": "() => Promise<{ value: string[]; }>",
|
|
69
|
+
"parameters": [],
|
|
70
|
+
"returns": "Promise<{ value: string[]; }>",
|
|
71
|
+
"tags": [],
|
|
72
|
+
"docs": "",
|
|
73
|
+
"complexTypes": [],
|
|
74
|
+
"slug": "keys"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "getPlatform",
|
|
78
|
+
"signature": "() => Promise<{ value: string; }>",
|
|
79
|
+
"parameters": [],
|
|
80
|
+
"returns": "Promise<{ value: string; }>",
|
|
81
|
+
"tags": [],
|
|
82
|
+
"docs": "",
|
|
83
|
+
"complexTypes": [],
|
|
84
|
+
"slug": "getplatform"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"properties": []
|
|
88
|
+
},
|
|
89
|
+
"interfaces": [],
|
|
90
|
+
"enums": [],
|
|
91
|
+
"typeAliases": [],
|
|
92
|
+
"pluginConfigs": []
|
|
93
|
+
}
|
package/dist/esm/definitions.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["export interface SecureStoragePluginPlugin {\n get(options: { key: string }): Promise<{ value: string }>;\n set(options: { key: string; value: string }): Promise<{ value: boolean }>;\n remove(options: { key: string }): Promise<{ value: boolean }>;\n clear(): Promise<{ value: boolean }>;\n keys(): Promise<{ value: string[] }>;\n getPlatform(): Promise<{ value: string }>;\n}\n"]}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { registerPlugin } from '@capacitor/core';
|
|
2
2
|
const SecureStoragePlugin = registerPlugin('SecureStoragePlugin', {
|
|
3
|
-
web: () => import('./web').then(
|
|
3
|
+
web: () => import('./web').then(m => new m.SecureStoragePluginWeb()),
|
|
4
4
|
});
|
|
5
5
|
export * from './definitions';
|
|
6
6
|
export { SecureStoragePlugin };
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,mBAAmB,GAAG,cAAc,CACxC,qBAAqB,EACrB;IACE,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC;CACrE,CACF,CAAC;AAEF,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,CAAC","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport type { SecureStoragePluginPlugin } from './definitions';\n\nconst SecureStoragePlugin = registerPlugin<SecureStoragePluginPlugin>(\n 'SecureStoragePlugin',\n {\n web: () => import('./web').then(m => new m.SecureStoragePluginWeb()),\n },\n);\n\nexport * from './definitions';\nexport { SecureStoragePlugin };\n"]}
|
package/dist/esm/web.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { WebPlugin } from '@capacitor/core';
|
|
2
|
-
import { SecureStoragePluginPlugin } from './definitions';
|
|
2
|
+
import type { SecureStoragePluginPlugin } from './definitions';
|
|
3
3
|
export declare class SecureStoragePluginWeb extends WebPlugin implements SecureStoragePluginPlugin {
|
|
4
4
|
PREFIX: string;
|
|
5
|
-
constructor();
|
|
6
5
|
get(options: {
|
|
7
6
|
key: string;
|
|
8
7
|
}): Promise<{
|
|
@@ -29,6 +28,5 @@ export declare class SecureStoragePluginWeb extends WebPlugin implements SecureS
|
|
|
29
28
|
value: string;
|
|
30
29
|
}>;
|
|
31
30
|
private addPrefix;
|
|
31
|
+
private removePrefix;
|
|
32
32
|
}
|
|
33
|
-
declare const SecureStoragePlugin: SecureStoragePluginWeb;
|
|
34
|
-
export { SecureStoragePlugin };
|
package/dist/esm/web.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { WebPlugin } from '@capacitor/core';
|
|
2
2
|
export class SecureStoragePluginWeb extends WebPlugin {
|
|
3
3
|
constructor() {
|
|
4
|
-
super(
|
|
5
|
-
name: 'SecureStoragePlugin',
|
|
6
|
-
platforms: ['web'],
|
|
7
|
-
});
|
|
4
|
+
super(...arguments);
|
|
8
5
|
this.PREFIX = 'cap_sec_';
|
|
9
6
|
this.addPrefix = (key) => this.PREFIX + key;
|
|
7
|
+
this.removePrefix = (key) => key.replace(this.PREFIX, '');
|
|
10
8
|
}
|
|
11
9
|
get(options) {
|
|
12
|
-
|
|
10
|
+
const value = localStorage.getItem(this.addPrefix(options.key));
|
|
11
|
+
return value !== null
|
|
13
12
|
? Promise.resolve({
|
|
14
|
-
value: atob(
|
|
13
|
+
value: atob(value),
|
|
15
14
|
})
|
|
16
15
|
: Promise.reject('Item with given key does not exist');
|
|
17
16
|
}
|
|
@@ -20,8 +19,13 @@ export class SecureStoragePluginWeb extends WebPlugin {
|
|
|
20
19
|
return Promise.resolve({ value: true });
|
|
21
20
|
}
|
|
22
21
|
remove(options) {
|
|
23
|
-
localStorage.
|
|
24
|
-
|
|
22
|
+
if (localStorage.getItem(this.addPrefix(options.key))) {
|
|
23
|
+
localStorage.removeItem(this.addPrefix(options.key));
|
|
24
|
+
return Promise.resolve({ value: true });
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return Promise.reject('Item with given key does not exist');
|
|
28
|
+
}
|
|
25
29
|
}
|
|
26
30
|
clear() {
|
|
27
31
|
for (const key in localStorage) {
|
|
@@ -32,13 +36,13 @@ export class SecureStoragePluginWeb extends WebPlugin {
|
|
|
32
36
|
return Promise.resolve({ value: true });
|
|
33
37
|
}
|
|
34
38
|
keys() {
|
|
35
|
-
const keys = Object.keys(localStorage)
|
|
39
|
+
const keys = Object.keys(localStorage)
|
|
40
|
+
.filter(k => k.indexOf(this.PREFIX) === 0)
|
|
41
|
+
.map(this.removePrefix);
|
|
36
42
|
return Promise.resolve({ value: keys });
|
|
37
43
|
}
|
|
38
44
|
getPlatform() {
|
|
39
45
|
return Promise.resolve({ value: 'web' });
|
|
40
46
|
}
|
|
41
47
|
}
|
|
42
|
-
const SecureStoragePlugin = new SecureStoragePluginWeb();
|
|
43
|
-
export { SecureStoragePlugin };
|
|
44
48
|
//# sourceMappingURL=web.js.map
|
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,OAAO,sBACX,SAAQ,SAAS;IADnB;;QAGE,WAAM,GAAG,UAAU,CAAC;QAyCZ,cAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAC/C,iBAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAzCC,GAAG,CAAC,OAAwB;QAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,KAAK,KAAK,IAAI;YACnB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;aACnB,CAAC;YACJ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC3D,CAAC;IACD,GAAG,CAAC,OAAuC;QACzC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,OAAwB;QAC7B,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;YACrD,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SACzC;aAAM;YACL,OAAO,OAAO,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;SAC7D;IACH,CAAC;IACD,KAAK;QACH,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;YAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAClC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACzC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW;QACT,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;CAIF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\nimport type { SecureStoragePluginPlugin } from './definitions';\n\nexport class SecureStoragePluginWeb\n extends WebPlugin\n implements SecureStoragePluginPlugin {\n PREFIX = 'cap_sec_';\n\n get(options: { key: string }): Promise<{ value: string }> {\n const value = localStorage.getItem(this.addPrefix(options.key));\n return value !== null\n ? Promise.resolve({\n value: atob(value),\n })\n : Promise.reject('Item with given key does not exist');\n }\n set(options: { key: string; value: string }): Promise<{ value: boolean }> {\n localStorage.setItem(this.addPrefix(options.key), btoa(options.value));\n return Promise.resolve({ value: true });\n }\n remove(options: { key: string }): Promise<{ value: boolean }> {\n if (localStorage.getItem(this.addPrefix(options.key))) {\n localStorage.removeItem(this.addPrefix(options.key));\n return Promise.resolve({ value: true });\n } else {\n return Promise.reject('Item with given key does not exist');\n }\n }\n clear(): Promise<{ value: boolean }> {\n for (const key in localStorage) {\n if (key.indexOf(this.PREFIX) === 0) {\n localStorage.removeItem(key);\n }\n }\n return Promise.resolve({ value: true });\n }\n keys(): Promise<{ value: string[] }> {\n const keys = Object.keys(localStorage)\n .filter(k => k.indexOf(this.PREFIX) === 0)\n .map(this.removePrefix);\n return Promise.resolve({ value: keys });\n }\n\n getPlatform(): Promise<{ value: string }> {\n return Promise.resolve({ value: 'web' });\n }\n\n private addPrefix = (key: string) => this.PREFIX + key;\n private removePrefix = (key: string) => key.replace(this.PREFIX, '');\n}\n"]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var core = require('@capacitor/core');
|
|
6
|
+
|
|
7
|
+
const SecureStoragePlugin = core.registerPlugin('SecureStoragePlugin', {
|
|
8
|
+
web: () => Promise.resolve().then(function () { return web; }).then(m => new m.SecureStoragePluginWeb()),
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
class SecureStoragePluginWeb extends core.WebPlugin {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.PREFIX = 'cap_sec_';
|
|
15
|
+
this.addPrefix = (key) => this.PREFIX + key;
|
|
16
|
+
this.removePrefix = (key) => key.replace(this.PREFIX, '');
|
|
17
|
+
}
|
|
18
|
+
get(options) {
|
|
19
|
+
const value = localStorage.getItem(this.addPrefix(options.key));
|
|
20
|
+
return value !== null
|
|
21
|
+
? Promise.resolve({
|
|
22
|
+
value: atob(value),
|
|
23
|
+
})
|
|
24
|
+
: Promise.reject('Item with given key does not exist');
|
|
25
|
+
}
|
|
26
|
+
set(options) {
|
|
27
|
+
localStorage.setItem(this.addPrefix(options.key), btoa(options.value));
|
|
28
|
+
return Promise.resolve({ value: true });
|
|
29
|
+
}
|
|
30
|
+
remove(options) {
|
|
31
|
+
if (localStorage.getItem(this.addPrefix(options.key))) {
|
|
32
|
+
localStorage.removeItem(this.addPrefix(options.key));
|
|
33
|
+
return Promise.resolve({ value: true });
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return Promise.reject('Item with given key does not exist');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
clear() {
|
|
40
|
+
for (const key in localStorage) {
|
|
41
|
+
if (key.indexOf(this.PREFIX) === 0) {
|
|
42
|
+
localStorage.removeItem(key);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return Promise.resolve({ value: true });
|
|
46
|
+
}
|
|
47
|
+
keys() {
|
|
48
|
+
const keys = Object.keys(localStorage)
|
|
49
|
+
.filter(k => k.indexOf(this.PREFIX) === 0)
|
|
50
|
+
.map(this.removePrefix);
|
|
51
|
+
return Promise.resolve({ value: keys });
|
|
52
|
+
}
|
|
53
|
+
getPlatform() {
|
|
54
|
+
return Promise.resolve({ value: 'web' });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var web = /*#__PURE__*/Object.freeze({
|
|
59
|
+
__proto__: null,
|
|
60
|
+
SecureStoragePluginWeb: SecureStoragePluginWeb
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
exports.SecureStoragePlugin = SecureStoragePlugin;
|
|
64
|
+
//# sourceMappingURL=plugin.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst SecureStoragePlugin = registerPlugin('SecureStoragePlugin', {\n web: () => import('./web').then(m => new m.SecureStoragePluginWeb()),\n});\nexport * from './definitions';\nexport { SecureStoragePlugin };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class SecureStoragePluginWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.PREFIX = 'cap_sec_';\n this.addPrefix = (key) => this.PREFIX + key;\n this.removePrefix = (key) => key.replace(this.PREFIX, '');\n }\n get(options) {\n const value = localStorage.getItem(this.addPrefix(options.key));\n return value !== null\n ? Promise.resolve({\n value: atob(value),\n })\n : Promise.reject('Item with given key does not exist');\n }\n set(options) {\n localStorage.setItem(this.addPrefix(options.key), btoa(options.value));\n return Promise.resolve({ value: true });\n }\n remove(options) {\n if (localStorage.getItem(this.addPrefix(options.key))) {\n localStorage.removeItem(this.addPrefix(options.key));\n return Promise.resolve({ value: true });\n }\n else {\n return Promise.reject('Item with given key does not exist');\n }\n }\n clear() {\n for (const key in localStorage) {\n if (key.indexOf(this.PREFIX) === 0) {\n localStorage.removeItem(key);\n }\n }\n return Promise.resolve({ value: true });\n }\n keys() {\n const keys = Object.keys(localStorage)\n .filter(k => k.indexOf(this.PREFIX) === 0)\n .map(this.removePrefix);\n return Promise.resolve({ value: keys });\n }\n getPlatform() {\n return Promise.resolve({ value: 'web' });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var capacitorSecureStoragePlugin = (function (exports, core) {
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const SecureStoragePlugin = core.registerPlugin('SecureStoragePlugin', {
|
|
5
|
+
web: () => Promise.resolve().then(function () { return web; }).then(m => new m.SecureStoragePluginWeb()),
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
class SecureStoragePluginWeb extends core.WebPlugin {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.PREFIX = 'cap_sec_';
|
|
12
|
+
this.addPrefix = (key) => this.PREFIX + key;
|
|
13
|
+
this.removePrefix = (key) => key.replace(this.PREFIX, '');
|
|
14
|
+
}
|
|
15
|
+
get(options) {
|
|
16
|
+
const value = localStorage.getItem(this.addPrefix(options.key));
|
|
17
|
+
return value !== null
|
|
18
|
+
? Promise.resolve({
|
|
19
|
+
value: atob(value),
|
|
20
|
+
})
|
|
21
|
+
: Promise.reject('Item with given key does not exist');
|
|
22
|
+
}
|
|
23
|
+
set(options) {
|
|
24
|
+
localStorage.setItem(this.addPrefix(options.key), btoa(options.value));
|
|
25
|
+
return Promise.resolve({ value: true });
|
|
26
|
+
}
|
|
27
|
+
remove(options) {
|
|
28
|
+
if (localStorage.getItem(this.addPrefix(options.key))) {
|
|
29
|
+
localStorage.removeItem(this.addPrefix(options.key));
|
|
30
|
+
return Promise.resolve({ value: true });
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return Promise.reject('Item with given key does not exist');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
clear() {
|
|
37
|
+
for (const key in localStorage) {
|
|
38
|
+
if (key.indexOf(this.PREFIX) === 0) {
|
|
39
|
+
localStorage.removeItem(key);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return Promise.resolve({ value: true });
|
|
43
|
+
}
|
|
44
|
+
keys() {
|
|
45
|
+
const keys = Object.keys(localStorage)
|
|
46
|
+
.filter(k => k.indexOf(this.PREFIX) === 0)
|
|
47
|
+
.map(this.removePrefix);
|
|
48
|
+
return Promise.resolve({ value: keys });
|
|
49
|
+
}
|
|
50
|
+
getPlatform() {
|
|
51
|
+
return Promise.resolve({ value: 'web' });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
var web = /*#__PURE__*/Object.freeze({
|
|
56
|
+
__proto__: null,
|
|
57
|
+
SecureStoragePluginWeb: SecureStoragePluginWeb
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
exports.SecureStoragePlugin = SecureStoragePlugin;
|
|
61
|
+
|
|
62
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
63
|
+
|
|
64
|
+
return exports;
|
|
65
|
+
|
|
66
|
+
})({}, capacitorExports);
|
|
67
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst SecureStoragePlugin = registerPlugin('SecureStoragePlugin', {\n web: () => import('./web').then(m => new m.SecureStoragePluginWeb()),\n});\nexport * from './definitions';\nexport { SecureStoragePlugin };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class SecureStoragePluginWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.PREFIX = 'cap_sec_';\n this.addPrefix = (key) => this.PREFIX + key;\n this.removePrefix = (key) => key.replace(this.PREFIX, '');\n }\n get(options) {\n const value = localStorage.getItem(this.addPrefix(options.key));\n return value !== null\n ? Promise.resolve({\n value: atob(value),\n })\n : Promise.reject('Item with given key does not exist');\n }\n set(options) {\n localStorage.setItem(this.addPrefix(options.key), btoa(options.value));\n return Promise.resolve({ value: true });\n }\n remove(options) {\n if (localStorage.getItem(this.addPrefix(options.key))) {\n localStorage.removeItem(this.addPrefix(options.key));\n return Promise.resolve({ value: true });\n }\n else {\n return Promise.reject('Item with given key does not exist');\n }\n }\n clear() {\n for (const key in localStorage) {\n if (key.indexOf(this.PREFIX) === 0) {\n localStorage.removeItem(key);\n }\n }\n return Promise.resolve({ value: true });\n }\n keys() {\n const keys = Object.keys(localStorage)\n .filter(k => k.indexOf(this.PREFIX) === 0)\n .map(this.removePrefix);\n return Promise.resolve({ value: keys });\n }\n getPlatform() {\n return Promise.resolve({ value: 'web' });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
File without changes
|