UNPKG

nativescript-secure-storage

Version:
183 lines 7.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var secure_storage_common_1 = require("./secure-storage.common"); var SecureStorage = (function (_super) { __extends(SecureStorage, _super); function SecureStorage(accessibilityType, disableFallbackToUserDefaults) { if (accessibilityType === void 0) { accessibilityType = kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly; } if (disableFallbackToUserDefaults === void 0) { disableFallbackToUserDefaults = false; } var _this = _super.call(this) || this; if (disableFallbackToUserDefaults) { _this.isSimulator = false; } else { var isMinIOS9 = NSProcessInfo.processInfo.isOperatingSystemAtLeastVersion({ majorVersion: 9, minorVersion: 0, patchVersion: 0 }); if (isMinIOS9) { var simDeviceName = NSProcessInfo.processInfo.environment.objectForKey("SIMULATOR_DEVICE_NAME"); _this.isSimulator = simDeviceName !== null; } else { _this.isSimulator = UIDevice.currentDevice.name.toLowerCase().indexOf("simulator") > -1; } } _this.accessibilityType = accessibilityType; return _this; } SecureStorage.prototype.get = function (arg) { var _this = this; return new Promise(function (resolve, reject) { if (_this.isSimulator) { resolve(NSUserDefaults.standardUserDefaults.objectForKey(arg.key)); return; } var query = SAMKeychainQuery.new(); query.service = arg.service || SecureStorage.defaultService; query.account = arg.key; try { query.fetch(); resolve(query.password); } catch (e) { resolve(null); } }); }; SecureStorage.prototype.getSync = function (arg) { if (this.isSimulator) { return NSUserDefaults.standardUserDefaults.objectForKey(arg.key); } var query = SAMKeychainQuery.new(); query.service = arg.service || SecureStorage.defaultService; query.account = arg.key; try { query.fetch(); return query.password; } catch (e) { return null; } }; SecureStorage.prototype.set = function (arg) { var _this = this; return new Promise(function (resolve, reject) { if (_this.isSimulator) { NSUserDefaults.standardUserDefaults.setObjectForKey(arg.value, arg.key); resolve(true); return; } SAMKeychain.setAccessibilityType(_this.accessibilityType); var query = SAMKeychainQuery.new(); query.service = arg.service || SecureStorage.defaultService; query.account = arg.key; query.password = arg.value; resolve(query.save()); }); }; SecureStorage.prototype.setSync = function (arg) { if (this.isSimulator) { NSUserDefaults.standardUserDefaults.setObjectForKey(arg.value, arg.key); return true; } SAMKeychain.setAccessibilityType(this.accessibilityType); var query = SAMKeychainQuery.new(); query.service = arg.service || SecureStorage.defaultService; query.account = arg.key; query.password = arg.value; return query.save(); }; SecureStorage.prototype.remove = function (arg) { var _this = this; return new Promise(function (resolve, reject) { if (_this.isSimulator) { NSUserDefaults.standardUserDefaults.removeObjectForKey(arg.key); resolve(true); return; } var query = SAMKeychainQuery.new(); query.service = arg.service || SecureStorage.defaultService; query.account = arg.key; try { resolve(query.deleteItem()); } catch (e) { resolve(false); } }); }; SecureStorage.prototype.removeSync = function (arg) { if (this.isSimulator) { NSUserDefaults.standardUserDefaults.removeObjectForKey(arg.key); return true; } var query = SAMKeychainQuery.new(); query.service = arg.service || SecureStorage.defaultService; query.account = arg.key; try { return query.deleteItem(); } catch (e) { return false; } }; SecureStorage.prototype.removeAll = function (arg) { var _this = this; return new Promise(function (resolve, reject) { if (_this.isSimulator) { var defaults = NSUserDefaults.standardUserDefaults; var bundleId = NSBundle.mainBundle.bundleIdentifier; defaults.removePersistentDomainForName(bundleId); resolve(true); return; } var allAccounts = SAMKeychain.allAccounts(); if (allAccounts) { for (var i = 0; i < allAccounts.count; i++) { var key = allAccounts[i].objectForKey(SecureStorage.kSSKeychainAccountKey_copy); try { var query = SAMKeychainQuery.new(); query.service = arg && arg.service ? arg.service : SecureStorage.defaultService; query.account = key; query.deleteItem(); } catch (e) { console.log("SecureStorage: Could not remove key -> " + key); } } } resolve(true); }); }; SecureStorage.prototype.removeAllSync = function (arg) { if (this.isSimulator) { var defaults = NSUserDefaults.standardUserDefaults; var bundleId = NSBundle.mainBundle.bundleIdentifier; defaults.removePersistentDomainForName(bundleId); return true; } var allAccounts = SAMKeychain.allAccounts(); if (allAccounts) { for (var i = 0; i < allAccounts.count; i++) { var key = allAccounts[i].objectForKey(SecureStorage.kSSKeychainAccountKey_copy); try { var query = SAMKeychainQuery.new(); query.service = arg && arg.service ? arg.service : SecureStorage.defaultService; query.account = key; query.deleteItem(); } catch (e) { console.log("SecureStorage: Could not remove key -> " + key); } } } return true; }; SecureStorage.defaultService = "my_app"; SecureStorage.kSSKeychainAccountKey_copy = "acct"; return SecureStorage; }(secure_storage_common_1.SecureStorageCommon)); exports.SecureStorage = SecureStorage; //# sourceMappingURL=secure-storage.ios.js.map