react-x-keychain
Version:
Cross-platform persistent storage for ReactDOM (cookies) and React Native (keychain) apps.
147 lines (123 loc) • 4.47 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _cookiesJs = _interopRequireDefault(require("cookies-js"));
// Libraries
/**
* Persistent secure storage for the web. Wrapper around Cookies for the web.
*/
var KeychainX =
/*#__PURE__*/
function () {
function KeychainX() {
(0, _classCallCheck2["default"])(this, KeychainX);
}
(0, _createClass2["default"])(KeychainX, [{
key: "getEntries",
value: function () {
var _getEntries = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee() {
var keys,
accumulate,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
keys = _args.length > 0 && _args[0] !== undefined ? _args[0] : [];
accumulate = function accumulate(all, key) {
all[key] = _cookiesJs["default"].get(key);
return all;
};
return _context.abrupt("return", keys.reduce(accumulate, {}));
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function getEntries() {
return _getEntries.apply(this, arguments);
}
return getEntries;
}()
}, {
key: "save",
value: function () {
var _save = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee2() {
var all,
options,
_args2 = arguments;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
all = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
return _context2.abrupt("return", Object.entries(all).forEach(function (_ref) {
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
key = _ref2[0],
value = _ref2[1];
_cookiesJs["default"].set(key, value, options);
}));
case 3:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function save() {
return _save.apply(this, arguments);
}
return save;
}()
}, {
key: "clearKeys",
value: function () {
var _clearKeys = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee3() {
var keys,
all,
options,
_args3 = arguments;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
keys = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : [];
all = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
options = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};
return _context3.abrupt("return", keys.map(function (key) {
return _cookiesJs["default"].expire(key, options);
}));
case 4:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
function clearKeys() {
return _clearKeys.apply(this, arguments);
}
return clearKeys;
}()
}]);
return KeychainX;
}();
var _default = KeychainX;
exports["default"] = _default;