dataflux 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/PubSub.js ADDED
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
9
+
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
13
+
14
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15
+
16
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
17
+
18
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
22
+ var PubSub = /*#__PURE__*/_createClass(function PubSub() {
23
+ var _this = this;
24
+
25
+ _classCallCheck(this, PubSub);
26
+
27
+ _defineProperty(this, "subscribe", function (channel, callback) {
28
+ _this.callbacks[channel] = _this.callbacks[channel] || [];
29
+
30
+ _this.callbacks[channel].push(callback);
31
+ });
32
+
33
+ _defineProperty(this, "publish", function (channel, content) {
34
+ var _iterator = _createForOfIteratorHelper(_this.callbacks[channel] || []),
35
+ _step;
36
+
37
+ try {
38
+ var _loop = function _loop() {
39
+ var clb = _step.value;
40
+ new Promise(function (resolve, reject) {
41
+ clb(content, channel);
42
+ resolve(true);
43
+ })["catch"](console.log);
44
+ };
45
+
46
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
47
+ _loop();
48
+ }
49
+ } catch (err) {
50
+ _iterator.e(err);
51
+ } finally {
52
+ _iterator.f();
53
+ }
54
+ });
55
+
56
+ this.callbacks = {};
57
+ });
58
+
59
+ exports["default"] = PubSub;
package/dist/Store.js CHANGED
@@ -7,202 +7,333 @@ exports["default"] = void 0;
7
7
 
8
8
  var _StoreObject = _interopRequireDefault(require("./StoreObject"));
9
9
 
10
- var _fingerprint = _interopRequireDefault(require("./fingerprint"));
10
+ var _PubSub = _interopRequireDefault(require("./PubSub"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
13
 
14
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
15
-
16
14
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
17
15
 
18
16
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
17
 
20
18
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21
19
 
20
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
21
+
22
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
+
22
24
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
23
25
 
24
26
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
25
27
 
26
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
28
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
27
29
 
28
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
30
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
29
31
 
30
- var Store = /*#__PURE__*/_createClass(function Store() {
31
- var _this = this;
32
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
32
33
 
33
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
34
+ var _deleteByObject = /*#__PURE__*/new WeakSet();
34
35
 
35
- _classCallCheck(this, Store);
36
+ var _deleteByFilter = /*#__PURE__*/new WeakSet();
36
37
 
37
- _defineProperty(this, "validateModel", function (model) {
38
- var type = model.getType();
38
+ var _getPromise = /*#__PURE__*/new WeakSet();
39
39
 
40
- if (typeof type !== "string" || type === "") {
41
- throw new Error("Not valid model object: type missing");
42
- }
43
- });
40
+ var _insertObject = /*#__PURE__*/new WeakSet();
44
41
 
45
- _defineProperty(this, "addModel", function (model) {
46
- _this.validateModel(model);
42
+ var _loadObjects = /*#__PURE__*/new WeakSet();
47
43
 
48
- var type = model.getType();
44
+ var Store = /*#__PURE__*/function () {
45
+ function Store() {
46
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
49
47
 
50
- if (!_this.models[type]) {
51
- _this.models[type] = {
52
- model: model,
53
- storedObjects: {}
54
- };
55
- model.store = _this;
48
+ _classCallCheck(this, Store);
56
49
 
57
- if (!_this.options.lazyLoad) {
58
- _this._loadObjects(type);
59
- }
60
- } else {
61
- throw new Error("The model already exists");
62
- }
63
- });
50
+ _classPrivateMethodInitSpec(this, _loadObjects);
64
51
 
65
- _defineProperty(this, "_getPromise", function (type) {
66
- if (!_this.models[type]) {
67
- return Promise.reject("The model doesn't exist");
68
- } else if (!_this.models[type].promise && !_this.options.lazyLoad) {
69
- return Promise.reject("The model is not loaded");
70
- } else if (!_this.models[type].promise && _this.options.lazyLoad) {
71
- return _this._loadObjects(type).then(function () {
72
- return _this.models[type].promise;
73
- });
74
- } else {
75
- return _this.models[type].promise;
76
- }
77
- });
52
+ _classPrivateMethodInitSpec(this, _insertObject);
78
53
 
79
- _defineProperty(this, "_insertObject", function (type, item) {
80
- var markAsNew = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
81
- var model = _this.models[type].model;
82
- var wrapper = new _StoreObject["default"](item, model);
83
- var id = wrapper.getId();
54
+ _classPrivateMethodInitSpec(this, _getPromise);
84
55
 
85
- if (_this.models[type].storedObjects[id]) {
86
- throw new Error("The IDs provided for the model ".concat(type, " are not unique"));
87
- }
56
+ _classPrivateMethodInitSpec(this, _deleteByFilter);
88
57
 
89
- _this.models[type].storedObjects[id] = {
90
- id: id,
91
- fingerprint: wrapper.getFingerprint(),
92
- object: wrapper,
93
- status: markAsNew ? "new" : "old"
94
- };
95
- return wrapper;
96
- });
58
+ _classPrivateMethodInitSpec(this, _deleteByObject);
97
59
 
98
- _defineProperty(this, "_loadObjects", function (type) {
99
- var item = _this.models[type];
100
- return item.promise = item.model.retrieveAll().then(function (items) {
101
- var _iterator = _createForOfIteratorHelper(items),
102
- _step;
103
-
104
- try {
105
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
106
- var _item = _step.value;
60
+ this.options = {
61
+ autoSave: options.autoSave !== undefined ? options.autoSave : 5000,
62
+ saveDelay: options.saveDelay || 1000,
63
+ lazyLoad: options.lazyLoad || false
64
+ };
65
+ this.models = {};
66
+ this.pubSub = new _PubSub["default"]();
67
+ }
68
+
69
+ _createClass(Store, [{
70
+ key: "on",
71
+ value: function on(channel, callback) {
72
+ this.pubSub.subscribe(channel, callback);
73
+ }
74
+ }, {
75
+ key: "validateModel",
76
+ value: function validateModel(model) {
77
+ var type = model.getType();
107
78
 
108
- _this._insertObject(type, _item, false);
109
- }
110
- } catch (err) {
111
- _iterator.e(err);
112
- } finally {
113
- _iterator.f();
79
+ if (typeof type !== "string" || type === "") {
80
+ throw new Error("Not valid model object: type missing");
114
81
  }
115
- });
116
- });
117
-
118
- _defineProperty(this, "get", function (type, id) {
119
- return _this._getPromise(type).then(function () {
120
- try {
121
- _this.models[type].storedObjects[id].object;
122
- } catch (error) {
123
- return Promise.reject("Object not found");
82
+ }
83
+ }, {
84
+ key: "addModel",
85
+ value: function addModel(model) {
86
+ var _this = this;
87
+
88
+ return new Promise(function (resolve, reject) {
89
+ _this.validateModel(model);
90
+
91
+ var type = model.getType();
92
+
93
+ if (!_this.models[type]) {
94
+ _this.models[type] = {
95
+ model: model,
96
+ storedObjects: {}
97
+ };
98
+ model.setStore(_this);
99
+
100
+ if (!_this.options.lazyLoad) {
101
+ resolve(_classPrivateMethodGet(_this, _loadObjects, _loadObjects2).call(_this, type));
102
+ } else {
103
+ resolve();
104
+ }
105
+ } else {
106
+ reject("The model already exists");
107
+ }
108
+ });
109
+ }
110
+ }, {
111
+ key: "update",
112
+ value: function update(objects) {
113
+ return Promise.resolve(); // Nothing to do at this level
114
+ }
115
+ }, {
116
+ key: "delete",
117
+ value: function _delete(typeOrObjects, filterFunction) {
118
+ if (typeof typeOrObjects === "string" && typeof filterFunction === "function") {
119
+ return _classPrivateMethodGet(this, _deleteByFilter, _deleteByFilter2).call(this, typeOrObjects, filterFunction);
120
+ } else if (_typeof(typeOrObjects) === "object" && typeOrObjects.length) {
121
+ return Promise.all(typeOrObjects.map(_classPrivateMethodGet(this, _deleteByObject, _deleteByObject2)));
122
+ } else {
123
+ return Promise.reject("Invalid delete request. You have to provide a list of objects or a type and a filter function");
124
124
  }
125
- });
126
- });
127
-
128
- _defineProperty(this, "find", function (type, filterFunction) {
129
- return _this._getPromise(type).then(function () {
130
- var all = Object.values(_this.models[type].storedObjects).filter(function (i) {
131
- return i.status !== "deleted";
132
- }).map(function (i) {
133
- return i.object;
125
+ }
126
+ }, {
127
+ key: "insert",
128
+ value: function insert(type, objects) {
129
+ var _this2 = this;
130
+
131
+ return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
132
+ return objects.map(function (object) {
133
+ return _classPrivateMethodGet(_this2, _insertObject, _insertObject2).call(_this2, type, object, true);
134
+ });
134
135
  });
135
- return filterFunction ? all.filter(filterFunction) : all;
136
- });
137
- });
138
-
139
- _defineProperty(this, "_deleteByObject", function (object) {
140
- return _this._deleteByFilter(object.getType(), function (item) {
141
- return (0, _fingerprint["default"])(object) === (0, _fingerprint["default"])(item);
142
- });
143
- });
144
-
145
- _defineProperty(this, "_deleteByFilter", function (type, filterFunction) {
146
- return _this._getPromise(type).then(function () {
147
- var deleted = Object.values(_this.models[type].storedObjects).filter(function (i) {
148
- return filterFunction(i.object);
136
+ }
137
+ }, {
138
+ key: "get",
139
+ value: function get(type, id) {
140
+ var _this3 = this;
141
+
142
+ return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
143
+ try {
144
+ return _this3.models[type].storedObjects[id].object;
145
+ } catch (error) {
146
+ return Promise.reject("Object not found");
147
+ }
148
+ });
149
+ }
150
+ }, {
151
+ key: "find",
152
+ value: function find(type, filterFunction) {
153
+ var _this4 = this;
154
+
155
+ return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
156
+ var all = Object.values(_this4.models[type].storedObjects).filter(function (i) {
157
+ return i.status !== "deleted";
158
+ }).map(function (i) {
159
+ return i.object;
160
+ });
161
+ return filterFunction ? all.filter(filterFunction) : all;
149
162
  });
163
+ }
164
+ }, {
165
+ key: "applyDiff",
166
+ value: function applyDiff(_ref, type) {
167
+ var _this5 = this;
168
+
169
+ var _ref$inserted = _ref.inserted,
170
+ inserted = _ref$inserted === void 0 ? [] : _ref$inserted,
171
+ _ref$updated = _ref.updated,
172
+ updated = _ref$updated === void 0 ? [] : _ref$updated,
173
+ _ref$deleted = _ref.deleted,
174
+ deleted = _ref$deleted === void 0 ? [] : _ref$deleted;
175
+ return new Promise(function (resolve, reject) {
176
+ try {
177
+ var _iterator = _createForOfIteratorHelper(inserted.concat(updated)),
178
+ _step;
179
+
180
+ try {
181
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
182
+ var object = _step.value;
183
+
184
+ var item = _this5.models[type || object.object.getModel().getType()].storedObjects[object.id];
185
+
186
+ item.fingerprint = object.object.getFingerprint();
187
+ item.status = "old";
188
+ }
189
+ } catch (err) {
190
+ _iterator.e(err);
191
+ } finally {
192
+ _iterator.f();
193
+ }
194
+
195
+ var _iterator2 = _createForOfIteratorHelper(deleted),
196
+ _step2;
197
+
198
+ try {
199
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
200
+ var _object = _step2.value;
201
+ delete _this5.models[type || _object.object.getModel().getType()].storedObjects[_object.id];
202
+ }
203
+ } catch (err) {
204
+ _iterator2.e(err);
205
+ } finally {
206
+ _iterator2.f();
207
+ }
208
+
209
+ resolve();
210
+ } catch (error) {
211
+ return reject(error);
212
+ }
213
+ });
214
+ }
215
+ }, {
216
+ key: "getDiff",
217
+ value: function getDiff(type) {
218
+ var _this6 = this;
219
+
220
+ return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
221
+ var objects = Object.values(_this6.models[type].storedObjects);
222
+ var inserted = [];
223
+ var updated = [];
224
+ var deleted = [];
225
+
226
+ for (var _i = 0, _objects = objects; _i < _objects.length; _i++) {
227
+ var object = _objects[_i];
228
+
229
+ if (object.status === "new") {
230
+ inserted.push(object);
231
+ } else if (object.status === "deleted") {
232
+ deleted.push(object);
233
+ } else if (object.fingerprint !== object.object.getFingerprint()) {
234
+ updated.push(object);
235
+ }
236
+ }
150
237
 
151
- var _iterator2 = _createForOfIteratorHelper(deleted),
152
- _step2;
238
+ return {
239
+ inserted: inserted,
240
+ updated: updated,
241
+ deleted: deleted
242
+ };
243
+ });
244
+ }
245
+ }]);
153
246
 
154
- try {
155
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
156
- var object = _step2.value;
157
- object.status = "deleted";
158
- }
159
- } catch (err) {
160
- _iterator2.e(err);
161
- } finally {
162
- _iterator2.f();
163
- }
247
+ return Store;
248
+ }();
164
249
 
165
- _this.trigger("delete", deleted.map(function (i) {
166
- return i.object;
167
- }));
250
+ exports["default"] = Store;
168
251
 
169
- return true;
170
- });
252
+ function _deleteByObject2(object) {
253
+ return _classPrivateMethodGet(this, _deleteByFilter, _deleteByFilter2).call(this, object.getType(), function (item) {
254
+ return object.getId() === item.getId();
171
255
  });
256
+ }
172
257
 
173
- _defineProperty(this, "delete", function (typeOrObjects, filterFunction) {
174
- if (typeof typeOrObjects === "string" && typeof filterFunction === "function") {
175
- return _this._deleteByFilter(typeOrObjects, filterFunction);
176
- } else if (_typeof(typeOrObjects) === "object" && typeOrObjects.length) {
177
- return Promise.all(typeOrObjects.map(_this._deleteByObject));
178
- } else {
179
- throw new Error("Invalid delete request. You have to provide a list of objects or a type and a filter function");
180
- }
181
- });
258
+ function _deleteByFilter2(type, filterFunction) {
259
+ var _this7 = this;
182
260
 
183
- _defineProperty(this, "insert", function (type, object) {
184
- return _this._getPromise(type).then(function () {
185
- var newObj = _this._insertObject(type, object, true);
261
+ return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
262
+ var deleted = Object.values(_this7.models[type].storedObjects).filter(function (i) {
263
+ return filterFunction(i.object);
264
+ });
186
265
 
187
- _this.trigger("insert", [newObj]);
266
+ var _iterator3 = _createForOfIteratorHelper(deleted),
267
+ _step3;
188
268
 
189
- return true;
190
- });
191
- });
269
+ try {
270
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
271
+ var object = _step3.value;
272
+ object.status = "deleted";
273
+ }
274
+ } catch (err) {
275
+ _iterator3.e(err);
276
+ } finally {
277
+ _iterator3.f();
278
+ }
192
279
 
193
- _defineProperty(this, "update", function (objects) {
194
- _this.trigger("update", objects);
280
+ return true;
195
281
  });
282
+ }
283
+
284
+ function _getPromise2(type) {
285
+ var _this8 = this;
286
+
287
+ if (!this.models[type]) {
288
+ return Promise.reject("The model doesn't exist");
289
+ } else if (!this.models[type].promise && !this.options.lazyLoad) {
290
+ return Promise.reject("The model is not loaded");
291
+ } else if (!this.models[type].promise && this.options.lazyLoad) {
292
+ return _classPrivateMethodGet(this, _loadObjects, _loadObjects2).call(this, type).then(function () {
293
+ return _this8.models[type].promise;
294
+ });
295
+ } else {
296
+ return this.models[type].promise;
297
+ }
298
+ }
299
+
300
+ function _insertObject2(type, item) {
301
+ var markAsNew = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
302
+ var model = this.models[type].model;
303
+ var wrapper = new _StoreObject["default"](item, model);
304
+ var id = wrapper.getId();
305
+
306
+ if (this.models[type].storedObjects[id]) {
307
+ throw new Error("The IDs provided for the model ".concat(type, " are not unique"));
308
+ }
309
+
310
+ this.models[type].storedObjects[id] = {
311
+ id: id,
312
+ fingerprint: wrapper.getFingerprint(),
313
+ object: wrapper,
314
+ status: markAsNew ? "new" : "old"
315
+ };
316
+ return wrapper;
317
+ }
196
318
 
197
- _defineProperty(this, "trigger", function (event, objects) {// Nothing here
198
- });
319
+ function _loadObjects2(type) {
320
+ var _this9 = this;
199
321
 
200
- this.options = {
201
- autoSave: options.autoSave || 3000,
202
- saveDelay: options.autoSave || 1000,
203
- lazyLoad: options.lazyLoad || false
204
- };
205
- this.models = {};
206
- });
322
+ var item = this.models[type];
323
+ return item.promise = item.model.retrieveAll().then(function (items) {
324
+ var _iterator4 = _createForOfIteratorHelper(items),
325
+ _step4;
207
326
 
208
- exports["default"] = Store;
327
+ try {
328
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
329
+ var _item = _step4.value;
330
+
331
+ _classPrivateMethodGet(_this9, _insertObject, _insertObject2).call(_this9, type, _item, false);
332
+ }
333
+ } catch (err) {
334
+ _iterator4.e(err);
335
+ } finally {
336
+ _iterator4.f();
337
+ }
338
+ });
339
+ }
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = fingerprint;
7
7
 
8
+ var _crc = _interopRequireDefault(require("crc/crc32"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
8
12
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
9
13
 
10
14
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -13,34 +17,28 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
13
17
 
14
18
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
15
19
 
16
- var md5 = require("md5");
17
-
18
20
  var _getFingerprint = function _getFingerprint(object) {
19
21
  switch (_typeof(object)) {
20
22
  case "object":
21
- return markType(object, object !== null ? getObjectFingerprint(object) : "null");
23
+ return "o:".concat(object !== null ? getObjectFingerprint(object) : "null");
22
24
 
23
25
  case "boolean":
24
- return markType(object, object.toString());
26
+ return "b:".concat(object ? "t" : "f");
25
27
 
26
28
  case "function":
27
29
  throw new Error("You cannot pass a function as data item");
28
30
 
29
31
  case "number":
30
- return markType(object, object.toString());
32
+ return "n:".concat(object.toString());
31
33
 
32
34
  case "string":
33
- return markType(object, object);
35
+ return "s:".concat(object);
34
36
 
35
37
  case "undefined":
36
- return markType(object, "undefined");
38
+ return "u";
37
39
  }
38
40
  };
39
41
 
40
- var markType = function markType(object, fingerprint) {
41
- return _typeof(object) + ":" + fingerprint;
42
- };
43
-
44
42
  var getObjectFingerprint = function getObjectFingerprint(value) {
45
43
  var sortedKeys = Object.keys(value).sort();
46
44
  var buff = "";
@@ -51,7 +49,7 @@ var getObjectFingerprint = function getObjectFingerprint(value) {
51
49
  try {
52
50
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
53
51
  var key = _step.value;
54
- buff += key + "<" + fingerprint(value[key]) + ">";
52
+ buff += "".concat(key, "<").concat(fingerprint(value[key]), ">");
55
53
  }
56
54
  } catch (err) {
57
55
  _iterator.e(err);
@@ -63,5 +61,5 @@ var getObjectFingerprint = function getObjectFingerprint(value) {
63
61
  };
64
62
 
65
63
  function fingerprint(object) {
66
- return md5(_getFingerprint(object));
64
+ return (0, _crc["default"])(_getFingerprint(object)).toString(16);
67
65
  }