sunmao-sdk
Version:
榫卯-开箱即用赋能-sdk
128 lines (108 loc) • 4.07 kB
JavaScript
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
import localforage from "localforage";
export function get(name, defaultValue) {
var ret;
try {
ret = localStorage.getItem(name);
} catch (e) {
console.warn(e, name, defaultValue);
}
return ret || defaultValue;
}
export function getObject(name) {
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var ret, json;
try {
json = get(name, JSON.stringify(defaultValue));
ret = JSON.parse(json);
} catch (e) {
console.warn(e, name, defaultValue);
}
return ret || defaultValue;
}
export function getAsync(_x, _x2) {
return _getAsync.apply(this, arguments);
}
function _getAsync() {
_getAsync = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(name, defaultValue) {
var ret;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.next = 3;
return localforage.getItem(name);
case 3:
ret = _context.sent;
_context.next = 9;
break;
case 6:
_context.prev = 6;
_context.t0 = _context["catch"](0);
console.warn(_context.t0, name, defaultValue);
case 9:
return _context.abrupt("return", ret || defaultValue);
case 10:
case "end":
return _context.stop();
}
}
}, _callee, null, [[0, 6]]);
}));
return _getAsync.apply(this, arguments);
}
export function getObjectAsync(_x3) {
return _getObjectAsync.apply(this, arguments);
}
function _getObjectAsync() {
_getObjectAsync = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(name) {
var defaultValue,
ret,
json,
_args2 = arguments;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
defaultValue = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
_context2.prev = 1;
_context2.next = 4;
return getAsync(name, JSON.stringify(defaultValue));
case 4:
json = _context2.sent;
ret = JSON.parse(json);
_context2.next = 11;
break;
case 8:
_context2.prev = 8;
_context2.t0 = _context2["catch"](1);
console.warn(_context2.t0, name, defaultValue);
case 11:
return _context2.abrupt("return", ret || defaultValue);
case 12:
case "end":
return _context2.stop();
}
}
}, _callee2, null, [[1, 8]]);
}));
return _getObjectAsync.apply(this, arguments);
}
export function set(name, value) {
var isAsync = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
try {
if (isAsync) localforage.setItem(name, value);else localStorage.setItem(name, value);
} catch (e) {
console.warn("localStorage缓存失败!", name, value, e);
}
}
export function setObject(name, value) {
var isAsync = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
try {
set(name, JSON.stringify(value), isAsync);
} catch (e) {
console.warn("localStorage缓存失败!", name, value, e);
}
}