Socket
Socket
Sign inDemoInstall

mobx-localstorage

Package Overview
Dependencies
2
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.5 to 1.0.0-alpha.1

7

es/index.d.ts
import { ObservableMap } from 'mobx';
export declare class LocalStorage extends ObservableMap<any> implements Storage {
namespace: string;
constructor();
bind(namespace?: string): PropertyDecorator;
bind(target: {}, key: string): void;
readonly length: number;

@@ -16,4 +13,2 @@ key(index: number): string | null;

}
export declare function feed(store: ObservableMap<any>, key: string | null, newValue: any, oldValue: any): void;
export declare function listen(cb: (this: Window, ev: WindowEventMap['storage']) => any): void;
export declare function cloneLocalStorage(): {

@@ -23,5 +18,3 @@ [key: string]: any;

export declare function parseValue(value: any): any;
export declare function makeSyncLocalstorage(localstorage: LocalStorage, namespace: string): (target: {}, key: string) => void;
export declare function getInitializedMap(target: any): any;
declare const _default: LocalStorage;
export default _default;

102

es/index.js
import { ObservableMap, toJS, observable } from 'mobx';
const ENV = typeof window !== 'undefined' ? window : (typeof global !== 'undefined' ? global : undefined);
if (!ENV) {
throw new Error('unknown environment');
}
if (process.env.NODE_ENV !== 'production') {
if (!('localStorage' in ENV)) {
console.warn(`You environment doesn't support localStorage`);
}
}
const localStorage = ENV.localStorage;
import localStorage from 'reactive-localstorage';
const referenceEnhancer = observable.map({}, { deep: false }).enhancer;

@@ -16,15 +7,11 @@ export class LocalStorage extends ObservableMap {

super(cloneLocalStorage(), referenceEnhancer, 'LocalStorage');
this.namespace = '';
listen(({ key, newValue, oldValue }) => {
feed(this, key, newValue, oldValue);
localStorage.on('change', (key, value) => {
if (typeof value === 'string') {
super.set(key, parseValue(value));
}
else {
super.delete(key);
}
});
this.bind = this.bind.bind(this);
}
bind(...args) {
const ns = this.namespace;
if (args.length < 2) {
return makeSyncLocalstorage(this, args[0] ? `${ns} ${args[0]}` : ns);
}
return makeSyncLocalstorage(this, ns)(args[0], args[1]);
}
get length() {

@@ -40,5 +27,3 @@ return this.size;

setItem(key, value) {
const json = JSON.stringify(value);
localStorage.setItem(key, json);
super.set(key, value);
this.set(key, value);
}

@@ -53,47 +38,11 @@ removeItem(key) {

set(key, value) {
const json = JSON.stringify(toJS(value));
localStorage.setItem(key, json);
super.set(key, value);
localStorage.setItem(key, JSON.stringify(toJS(value)));
return this;
}
delete(key) {
const has = super.has(key);
localStorage.removeItem(key);
return super.delete(key);
return has;
}
}
export function feed(store, key, newValue, oldValue) {
if (!key)
return;
if (newValue === null) {
if (oldValue === null) {
if (process.env.NODE_ENV !== 'production') {
console.warn(`localStorage: unexpected event type`);
}
}
else {
store.delete(key);
}
}
else {
store.set(key, parseValue(newValue));
}
}
export function listen(cb) {
if (ENV) {
if (ENV.addEventListener) {
ENV.addEventListener('storage', cb, true);
}
else if (ENV.attachEvent) {
ENV.attachEvent('storage', cb);
}
else {
console.warn(`You environment doesn't support event listener`);
}
}
else {
if (process.env.NODE_ENV !== 'production') {
console.warn(`You environment doesn't support localStorage`);
}
}
}
export function cloneLocalStorage() {

@@ -117,28 +66,3 @@ const state = {};

}
export function makeSyncLocalstorage(localstorage, namespace) {
return function syncLocalstorage(target, key) {
const descriptor = Object.getOwnPropertyDescriptor(target, key) || {};
delete descriptor.value;
const itemKey = `${namespace} ${key}`;
Object.defineProperty(target, key, {
...descriptor,
get() {
return localstorage.getItem(itemKey);
},
set(value) {
const map = getInitializedMap(this);
if (!map[key]) {
map[key] = true;
if (localstorage.has(itemKey))
return;
}
localstorage.setItem(itemKey, value);
},
});
};
}
export function getInitializedMap(target) {
return target.__mobx_localstorage || (target.__mobx_localstorage = {});
}
export default new LocalStorage();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRXRELE1BQU0sR0FBRyxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNuRCxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN0QixDQUFBO0FBRTlCLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7Q0FDdkM7QUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFlBQVksRUFBRTtJQUN6QyxJQUFJLENBQUMsQ0FBQyxjQUFjLElBQUksR0FBRyxDQUFDLEVBQUU7UUFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFBO0tBQzdEO0NBQ0Y7QUFFRCxNQUFNLFlBQVksR0FBSSxHQUFXLENBQUMsWUFBdUIsQ0FBQTtBQUV6RCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFBO0FBRXRFLE1BQU0sbUJBQW9CLFNBQVEsYUFBa0I7SUFHbEQ7UUFDRSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLENBQUMsQ0FBQTtRQUgvRCxjQUFTLEdBQUcsRUFBRSxDQUFBO1FBS1osTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3RELE9BQU8sWUFBWSxNQUFNLHVCQUF1QixDQUFBO0FBRWhELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUE7QUFFdEUsTUFBTSxtQkFBb0IsU0FBUSxhQUFrQjtJQUNsRDtRQUNFLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFBO1FBQzdELFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO2dCQUM3QixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTthQUNsQztpQkFBTTtnQkFDTCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBYTtRQUNmLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVc7UUFDakIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRUQsS0FBSztRQUNILFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNwQixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDZixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFXO1FBQzFCLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN0RCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzFCLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDNUIsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0NBQ0Y7QUFFRCxNQUFNO0lBQ0osTUFBTSxLQUFLLEdBQTJCLEVBQUUsQ0FBQTtJQUN4QyxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFBO0lBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDNUIsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsQ0FBQTtRQUNoQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUNyQixZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUMxQixDQUFBO0tBQ0Y7SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRCxNQUFNLHFCQUFxQixLQUFVO0lBQ25DLElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7S0FDekI7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLGlDQUFpQztLQUNsQztJQUNELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELGVBQWUsSUFBSSxZQUFZLEVBQUUsQ0FBQSJ9
import { ObservableMap } from 'mobx';
export declare class LocalStorage extends ObservableMap<any> implements Storage {
namespace: string;
constructor();
bind(namespace?: string): PropertyDecorator;
bind(target: {}, key: string): void;
readonly length: number;

@@ -16,4 +13,2 @@ key(index: number): string | null;

}
export declare function feed(store: ObservableMap<any>, key: string | null, newValue: any, oldValue: any): void;
export declare function listen(cb: (this: Window, ev: WindowEventMap['storage']) => any): void;
export declare function cloneLocalStorage(): {

@@ -23,5 +18,3 @@ [key: string]: any;

export declare function parseValue(value: any): any;
export declare function makeSyncLocalstorage(localstorage: LocalStorage, namespace: string): (target: {}, key: string) => void;
export declare function getInitializedMap(target: any): any;
declare const _default: LocalStorage;
export default _default;

@@ -12,22 +12,5 @@ "use strict";

})();
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
var mobx_1 = require("mobx");
var ENV = typeof window !== 'undefined' ? window : (typeof global !== 'undefined' ? global : undefined);
if (!ENV) {
throw new Error('unknown environment');
}
if (process.env.NODE_ENV !== 'production') {
if (!('localStorage' in ENV)) {
console.warn("You environment doesn't support localStorage");
}
}
var localStorage = ENV.localStorage;
var reactive_localstorage_1 = require("reactive-localstorage");
var referenceEnhancer = mobx_1.observable.map({}, { deep: false }).enhancer;

@@ -38,21 +21,12 @@ var LocalStorage = /** @class */ (function (_super) {

var _this = _super.call(this, cloneLocalStorage(), referenceEnhancer, 'LocalStorage') || this;
_this.namespace = '';
listen(function (_a) {
var key = _a.key, newValue = _a.newValue, oldValue = _a.oldValue;
feed(_this, key, newValue, oldValue);
reactive_localstorage_1.default.on('change', function (key, value) {
if (typeof value === 'string') {
_super.prototype.set.call(_this, key, parseValue(value));
}
else {
_super.prototype.delete.call(_this, key);
}
});
_this.bind = _this.bind.bind(_this);
return _this;
}
LocalStorage.prototype.bind = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var ns = this.namespace;
if (args.length < 2) {
return makeSyncLocalstorage(this, args[0] ? ns + " " + args[0] : ns);
}
return makeSyncLocalstorage(this, ns)(args[0], args[1]);
};
Object.defineProperty(LocalStorage.prototype, "length", {

@@ -66,3 +40,3 @@ get: function () {

LocalStorage.prototype.key = function (index) {
return localStorage.key(index);
return reactive_localstorage_1.default.key(index);
};

@@ -73,5 +47,3 @@ LocalStorage.prototype.getItem = function (key) {

LocalStorage.prototype.setItem = function (key, value) {
var json = JSON.stringify(value);
localStorage.setItem(key, json);
_super.prototype.set.call(this, key, value);
this.set(key, value);
};

@@ -82,14 +54,13 @@ LocalStorage.prototype.removeItem = function (key) {

LocalStorage.prototype.clear = function () {
localStorage.clear();
reactive_localstorage_1.default.clear();
_super.prototype.clear.call(this);
};
LocalStorage.prototype.set = function (key, value) {
var json = JSON.stringify(mobx_1.toJS(value));
localStorage.setItem(key, json);
_super.prototype.set.call(this, key, value);
reactive_localstorage_1.default.setItem(key, JSON.stringify(mobx_1.toJS(value)));
return this;
};
LocalStorage.prototype.delete = function (key) {
localStorage.removeItem(key);
return _super.prototype.delete.call(this, key);
var has = _super.prototype.has.call(this, key);
reactive_localstorage_1.default.removeItem(key);
return has;
};

@@ -99,45 +70,8 @@ return LocalStorage;

exports.LocalStorage = LocalStorage;
function feed(store, key, newValue, oldValue) {
if (!key)
return;
if (newValue === null) {
if (oldValue === null) {
if (process.env.NODE_ENV !== 'production') {
console.warn("localStorage: unexpected event type");
}
}
else {
store.delete(key);
}
}
else {
store.set(key, parseValue(newValue));
}
}
exports.feed = feed;
function listen(cb) {
if (ENV) {
if (ENV.addEventListener) {
ENV.addEventListener('storage', cb, true);
}
else if (ENV.attachEvent) {
ENV.attachEvent('storage', cb);
}
else {
console.warn("You environment doesn't support event listener");
}
}
else {
if (process.env.NODE_ENV !== 'production') {
console.warn("You environment doesn't support localStorage");
}
}
}
exports.listen = listen;
function cloneLocalStorage() {
var state = {};
var len = localStorage.length;
var len = reactive_localstorage_1.default.length;
for (var i = 0; i < len; i++) {
var key = localStorage.key(i);
state[key] = parseValue(localStorage.getItem(key));
var key = reactive_localstorage_1.default.key(i);
state[key] = parseValue(reactive_localstorage_1.default.getItem(key));
}

@@ -157,27 +91,3 @@ return state;

exports.parseValue = parseValue;
function makeSyncLocalstorage(localstorage, namespace) {
return function syncLocalstorage(target, key) {
var descriptor = Object.getOwnPropertyDescriptor(target, key) || {};
delete descriptor.value;
var itemKey = namespace + " " + key;
Object.defineProperty(target, key, __assign({}, descriptor, { get: function () {
return localstorage.getItem(itemKey);
},
set: function (value) {
var map = getInitializedMap(this);
if (!map[key]) {
map[key] = true;
if (localstorage.has(itemKey))
return;
}
localstorage.setItem(itemKey, value);
} }));
};
}
exports.makeSyncLocalstorage = makeSyncLocalstorage;
function getInitializedMap(target) {
return target.__mobx_localstorage || (target.__mobx_localstorage = {});
}
exports.getInitializedMap = getInitializedMap;
exports.default = new LocalStorage();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2QkFBc0Q7QUFFdEQsSUFBTSxHQUFHLEdBQUcsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ25ELE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQ3RCLENBQUE7QUFFOUIsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtDQUN2QztBQUVELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWSxFQUFFO0lBQ3pDLElBQUksQ0FBQyxDQUFDLGNBQWMsSUFBSSxHQUFHLENBQUMsRUFBRTtRQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxDQUFDLENBQUE7S0FDN0Q7Q0FDRjtBQUVELElBQU0sWUFBWSxHQUFJLEdBQVcsQ0FBQyxZQUF1QixDQUFBO0FBRXpELElBQU0saUJBQWlCLEdBQUcsaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFBO0FBRXRFO0lBQWtDLGdDQUFrQjtJQUdsRDtRQUFBLFlBQ0Usa0JBQU0saUJBQWlCLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLENBQUMsU0FPOUQ7UUFWRCxlQUFTLEdBQUcsRUFBRSxDQUFBO1FBS1osTUFBTSxDQUFDLFVBQUMsRUFBMkI7Z0JBQXpCLFlBQUcsRUFBRSxzQkFBUSxFQUFFLHNCQUFRO1lBQy9CLElBQUksQ0FBQyxLQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUNyQyxDQUFDLENBQUMsQ0FB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsNkJBQXNEO0FBQ3RELCtEQUFnRDtBQUVoRCxJQUFNLGlCQUFpQixHQUFHLGlCQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtBQUV0RTtJQUFrQyxnQ0FBa0I7SUFDbEQ7UUFBQSxZQUNFLGtCQUFNLGlCQUFpQixFQUFFLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLFNBUTlEO1FBUEMsK0JBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQUMsR0FBRyxFQUFFLEtBQUs7WUFDbkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQzdCLGlCQUFNLEdBQUcsYUFBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7YUFDbEM7aUJBQU07Z0JBQ0wsaUJBQU0sTUFBTSxhQUFDLEdBQUcsQ0FBQyxDQUFBO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7O0lBQ0osQ0FBQztJQUVELHNCQUFJLGdDQUFNO2FBQVY7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDbEIsQ0FBQzs7O09BQUE7SUFFRCwwQkFBRyxHQUFILFVBQUksS0FBYTtRQUNmLE9BQU8sK0JBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVELDhCQUFPLEdBQVAsVUFBUSxHQUFXO1FBQ2pCLE9BQU8saUJBQU0sR0FBRyxZQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7SUFFRCw4QkFBTyxHQUFQLFVBQVEsR0FBVyxFQUFFLEtBQVU7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEIsQ0FBQztJQUVELGlDQUFVLEdBQVYsVUFBVyxHQUFXO1FBQ3BCLE9BQU8saUJBQU0sTUFBTSxZQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFFRCw0QkFBSyxHQUFMO1FBQ0UsK0JBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNwQixpQkFBTSxLQUFLLFdBQUUsQ0FBQTtJQUNmLENBQUM7SUFFRCwwQkFBRyxHQUFILFVBQUksR0FBVyxFQUFFLEtBQVc7UUFDMUIsK0JBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN0RCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCw2QkFBTSxHQUFOLFVBQU8sR0FBVztRQUNoQixJQUFNLEdBQUcsR0FBRyxpQkFBTSxHQUFHLFlBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUIsK0JBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDNUIsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBL0NELENBQWtDLG9CQUFhLEdBK0M5QztBQS9DWSxvQ0FBWTtBQWlEekI7SUFDRSxJQUFNLEtBQUssR0FBMkIsRUFBRSxDQUFBO0lBQ3hDLElBQU0sR0FBRyxHQUFHLCtCQUFZLENBQUMsTUFBTSxDQUFBO0lBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDNUIsSUFBTSxHQUFHLEdBQUcsK0JBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLENBQUE7UUFDaEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FDckIsK0JBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQzFCLENBQUE7S0FDRjtJQUNELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQVZELDhDQVVDO0FBRUQsb0JBQTJCLEtBQVU7SUFDbkMsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtLQUN6QjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsaUNBQWlDO0tBQ2xDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBUEQsZ0NBT0M7QUFFRCxrQkFBZSxJQUFJLFlBQVksRUFBRSxDQUFBIn0=

6

package.json
{
"name": "mobx-localstorage",
"version": "0.2.5",
"version": "1.0.0-alpha.1",
"description": "A declarative reactive localStorage using MobX",

@@ -33,2 +33,3 @@ "main": "lib/index.js",

"mocha": "^3.2.0",
"reactive-localstorage": "^0.0.2",
"tslint": "^5.10.0",

@@ -38,2 +39,5 @@ "tslint-eslint-rules": "^5.3.1",

},
"dependencies": {
"reactive-localstorage": "^0.0.2"
},
"peerDependencies": {

@@ -40,0 +44,0 @@ "mobx": "^3.0.0 || ^4.0.0 || ^5.0.0"

@@ -6,2 +6,5 @@ # mobx-localstorage

```bash
yarn add mobx-localstorage
```
```bash
npm i -S mobx-localstorage

@@ -18,4 +21,4 @@ ```

```js
const { autorun } = require('mobx');
const localStorage = require('mobx-localstorage');
import { autorun } from 'mobx';
import localStorage from 'mobx-localstorage';

@@ -22,0 +25,0 @@ autorun(() => {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc