Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

pfchangs / redux-storage   js

Repository URL to install this package:

Version: 1.4.1-ccinternal 

/ engines / localStorageFakePromise.js

"use strict";

Object.defineProperty(exports, "__esModule", {
    value: true
});
var noop = function noop() {};

function createFakePromise(thenResult) {
    return {
        then: function then() {
            var cb = arguments.length <= 0 || arguments[0] === undefined ? noop : arguments[0];

            cb(thenResult);
            return createFakePromise();
        },
        "catch": function _catch() {
            return createFakePromise();
        }
    };
}

exports.default = function (key) {
    return {
        load: function load() {
            var jsonState = localStorage.getItem(key);
            var jsonObj = JSON.parse(jsonState) || {};
            return createFakePromise(jsonObj);
        },
        save: function save(state) {
            var jsonState = JSON.stringify(state);
            localStorage.setItem(key, jsonState);
            return createFakePromise();
        }
    };
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmdpbmVzL2xvY2FsU3RvcmFnZUZha2VQcm9taXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBTSxJQUFJLEdBQUcsU0FBUCxJQUFJLEdBQVMsRUFBRSxDQUFDOztBQUV0QixTQUFTLGlCQUFpQixDQUFDLFVBQVUsRUFBRTtBQUNuQyxXQUFPO0FBQ0gsWUFBSSxFQUFFLGdCQUFlO2dCQUFkLEVBQUUseURBQUcsSUFBSTs7QUFDWixjQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDZixtQkFBTyxpQkFBaUIsRUFBRSxDQUFDO1NBQzlCO0FBQ0QsaUJBQU87bUJBQU0saUJBQWlCLEVBQUU7U0FBQTtLQUNuQyxDQUFDO0NBQ0w7O2tCQUVjLFVBQUMsR0FBRztXQUFNO0FBQ3JCLFlBQUksa0JBQUc7QUFDSCxnQkFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QyxnQkFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDNUMsbUJBQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckM7QUFFRCxZQUFJLGdCQUFDLEtBQUssRUFBRTtBQUNSLGdCQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hDLHdCQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNyQyxtQkFBTyxpQkFBaUIsRUFBRSxDQUFDO1NBQzlCO0tBQ0o7Q0FBQyIsImZpbGUiOiJsb2NhbFN0b3JhZ2VGYWtlUHJvbWlzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcblxuZnVuY3Rpb24gY3JlYXRlRmFrZVByb21pc2UodGhlblJlc3VsdCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHRoZW46IChjYiA9IG5vb3ApID0+IHtcbiAgICAgICAgICAgIGNiKHRoZW5SZXN1bHQpO1xuICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUZha2VQcm9taXNlKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGNhdGNoOiAoKSA9PiBjcmVhdGVGYWtlUHJvbWlzZSgpXG4gICAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgKGtleSkgPT4gKHtcbiAgICBsb2FkKCkge1xuICAgICAgICBjb25zdCBqc29uU3RhdGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICBjb25zdCBqc29uT2JqID0gSlNPTi5wYXJzZShqc29uU3RhdGUpIHx8IHt9O1xuICAgICAgICByZXR1cm4gY3JlYXRlRmFrZVByb21pc2UoanNvbk9iaik7XG4gICAgfSxcblxuICAgIHNhdmUoc3RhdGUpIHtcbiAgICAgICAgY29uc3QganNvblN0YXRlID0gSlNPTi5zdHJpbmdpZnkoc3RhdGUpO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIGpzb25TdGF0ZSk7XG4gICAgICAgIHJldHVybiBjcmVhdGVGYWtlUHJvbWlzZSgpO1xuICAgIH1cbn0pO1xuIl19