1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.PureStorage = exports.AsyncStorage = exports.dcList = exports.TimeOffset = exports.ValueStoreMap = exports.ValueStore = undefined;
|
7 |
|
8 | var _bluebird = require('bluebird');
|
9 |
|
10 | var _bluebird2 = _interopRequireDefault(_bluebird);
|
11 |
|
12 | var _ramda = require('ramda');
|
13 |
|
14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15 |
|
16 | const ValueStore = exports.ValueStore = () => {
|
17 | let val = null;
|
18 |
|
19 | return {
|
20 | get: () => (0, _ramda.clone)(val),
|
21 | set: newVal => val = newVal
|
22 | };
|
23 | };
|
24 |
|
25 | const ValueStoreMap = exports.ValueStoreMap = () => {
|
26 | const val = new Map();
|
27 |
|
28 | return {
|
29 | get: key => (0, _ramda.clone)(val.get(key)),
|
30 | set: (key, newVal) => val.set(key, newVal)
|
31 | };
|
32 | };
|
33 |
|
34 | const TimeOffset = exports.TimeOffset = ValueStore();
|
35 | const dcList = exports.dcList = ValueStoreMap();
|
36 |
|
37 | const flatProps = (0, _ramda.pipe)((0, _ramda.flip)(_ramda.props), _ramda.unapply);
|
38 |
|
39 | const AsyncStorage = exports.AsyncStorage = () => {
|
40 | let store = {};
|
41 |
|
42 | const flatGet = flatProps(store);
|
43 | const set = obj => store = Object.assign({}, store, obj);
|
44 | const remove = keys => store = (0, _ramda.omit)(keys, store);
|
45 | const clr = () => store = {};
|
46 | return {
|
47 | get: (...keys) => _bluebird2.default.resolve(flatGet(...keys)),
|
48 | set: obj => _bluebird2.default.resolve(set(obj)),
|
49 | remove: (...keys) => _bluebird2.default.resolve(remove(keys)),
|
50 | clear: () => _bluebird2.default.resolve(clr()),
|
51 | noPrefix: () => ({})
|
52 | };
|
53 | };
|
54 |
|
55 | const PureStorage = exports.PureStorage = AsyncStorage(); |
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
\ | No newline at end of file |