dataflux 1.10.4 → 1.11.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/README.md +2 -0
- package/dist/BasicObj.js +0 -53
- package/dist/Model.js +24 -148
- package/dist/Obj.js +0 -47
- package/dist/ObserverStore.js +16 -129
- package/dist/PersistentStore.js +10 -61
- package/dist/PubSub.js +1 -17
- package/dist/ReactStore.js +1 -52
- package/dist/Store.js +51 -148
- package/dist/SubObj.js +0 -45
- package/dist/dataflux.min.js +1 -1
- package/dist/dataflux.min.js.map +1 -1
- package/dist/fingerprint.js +1 -19
- package/dist/index.js +0 -3
- package/dist/modelHooksUtils.js +0 -28
- package/package.json +9 -9
package/dist/Store.js
CHANGED
|
@@ -4,83 +4,54 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _Obj = _interopRequireDefault(require("./Obj"));
|
|
9
|
-
|
|
10
8
|
var _PubSub = _interopRequireDefault(require("./PubSub"));
|
|
11
|
-
|
|
12
9
|
var _batchPromises = _interopRequireDefault(require("batch-promises"));
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
|
|
16
11
|
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
|
-
|
|
18
12
|
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
|
-
|
|
20
13
|
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
|
-
|
|
22
14
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
23
|
-
|
|
24
15
|
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); } }
|
|
25
|
-
|
|
26
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; }
|
|
27
|
-
|
|
28
17
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
|
29
|
-
|
|
30
18
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
31
|
-
|
|
32
19
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
33
|
-
|
|
34
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; }
|
|
35
|
-
|
|
36
21
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
|
37
|
-
|
|
38
22
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
|
39
|
-
|
|
40
23
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
|
41
|
-
|
|
42
24
|
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
|
43
|
-
|
|
44
25
|
var objectStatuses = ["new", "old", "mock", "deleted"];
|
|
45
|
-
|
|
46
26
|
var _merge = /*#__PURE__*/new WeakMap();
|
|
47
|
-
|
|
48
27
|
var _error = /*#__PURE__*/new WeakSet();
|
|
49
|
-
|
|
50
28
|
var _deleteByObject = /*#__PURE__*/new WeakMap();
|
|
51
|
-
|
|
52
29
|
var _deleteByFilter = /*#__PURE__*/new WeakSet();
|
|
53
|
-
|
|
54
|
-
var _getPromise = /*#__PURE__*/new WeakSet();
|
|
55
|
-
|
|
56
30
|
var _insertObject = /*#__PURE__*/new WeakMap();
|
|
57
|
-
|
|
58
31
|
var _loadObjects = /*#__PURE__*/new WeakSet();
|
|
59
|
-
|
|
60
32
|
var Store = /*#__PURE__*/function () {
|
|
61
33
|
function Store() {
|
|
62
34
|
var _this = this,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
35
|
+
_options$autoSave,
|
|
36
|
+
_options$lazyLoad;
|
|
66
37
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
67
|
-
|
|
68
38
|
_classCallCheck(this, Store);
|
|
69
|
-
|
|
70
39
|
_classPrivateMethodInitSpec(this, _loadObjects);
|
|
71
|
-
|
|
72
|
-
_classPrivateMethodInitSpec(this, _getPromise);
|
|
73
|
-
|
|
74
40
|
_classPrivateMethodInitSpec(this, _deleteByFilter);
|
|
75
|
-
|
|
76
41
|
_classPrivateMethodInitSpec(this, _error);
|
|
77
|
-
|
|
78
42
|
_defineProperty(this, "getModels", function () {
|
|
79
43
|
return Object.keys(_this.models);
|
|
80
44
|
});
|
|
81
|
-
|
|
45
|
+
_defineProperty(this, "findSync", function (type, filterFunction) {
|
|
46
|
+
var all = Object.values(_this.models[type].storedObjects).filter(function (i) {
|
|
47
|
+
return i.status !== "deleted";
|
|
48
|
+
}).map(function (i) {
|
|
49
|
+
return i.object;
|
|
50
|
+
});
|
|
51
|
+
return filterFunction ? all.filter(filterFunction) : all;
|
|
52
|
+
});
|
|
82
53
|
_defineProperty(this, "refreshObjectByType", function (type) {
|
|
83
|
-
return
|
|
54
|
+
return _this._getPromise(type).then(function () {
|
|
84
55
|
var item = _this.models[type];
|
|
85
56
|
var inserted = [];
|
|
86
57
|
var deleted = [];
|
|
@@ -97,37 +68,31 @@ var Store = /*#__PURE__*/function () {
|
|
|
97
68
|
});
|
|
98
69
|
}).then(function (objects) {
|
|
99
70
|
var _iterator = _createForOfIteratorHelper(objects),
|
|
100
|
-
|
|
101
|
-
|
|
71
|
+
_step;
|
|
102
72
|
try {
|
|
103
73
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
104
74
|
var object = _step.value;
|
|
105
75
|
var wrapper = new _Obj["default"](object, item.model);
|
|
106
|
-
|
|
107
76
|
var _id = wrapper.getId();
|
|
108
|
-
|
|
109
77
|
var currentObject = item === null || item === void 0 ? void 0 : item.storedObjects[_id];
|
|
110
|
-
|
|
111
78
|
if (currentObject) {
|
|
112
79
|
currentObject.deleted = false;
|
|
113
80
|
var newFingerprint = wrapper.getFingerprint();
|
|
114
81
|
var oldFingerprint = currentObject.fingerprint;
|
|
115
|
-
|
|
116
82
|
if (oldFingerprint !== newFingerprint) {
|
|
117
83
|
// Nothing to do otherwise
|
|
118
84
|
if (_this.hasChanged(type, currentObject.object)) {// Was the object edited locally?
|
|
85
|
+
|
|
119
86
|
// Nothing for now
|
|
120
87
|
} else {
|
|
121
88
|
// Update with the new object
|
|
122
89
|
_classPrivateFieldGet(_this, _merge).call(_this, currentObject.object, wrapper.toJSON());
|
|
123
|
-
|
|
124
90
|
currentObject.fingerprint = newFingerprint;
|
|
125
91
|
updated.push(currentObject.object);
|
|
126
92
|
}
|
|
127
93
|
}
|
|
128
94
|
} else {
|
|
129
95
|
var newObject = _classPrivateFieldGet(_this, _insertObject).call(_this, type, object, "old");
|
|
130
|
-
|
|
131
96
|
item.storedObjects[newObject.getId()].deleted = false;
|
|
132
97
|
inserted.push(newObject);
|
|
133
98
|
}
|
|
@@ -137,10 +102,8 @@ var Store = /*#__PURE__*/function () {
|
|
|
137
102
|
} finally {
|
|
138
103
|
_iterator.f();
|
|
139
104
|
}
|
|
140
|
-
|
|
141
105
|
for (var id in item === null || item === void 0 ? void 0 : item.storedObjects) {
|
|
142
106
|
var obj = item.storedObjects[id];
|
|
143
|
-
|
|
144
107
|
if (obj.deleted === undefined) {
|
|
145
108
|
deleted.push(obj.object);
|
|
146
109
|
delete item.storedObjects[id];
|
|
@@ -148,61 +111,49 @@ var Store = /*#__PURE__*/function () {
|
|
|
148
111
|
delete obj.deleted;
|
|
149
112
|
}
|
|
150
113
|
}
|
|
151
|
-
|
|
152
114
|
return [inserted, updated, deleted];
|
|
153
115
|
});
|
|
154
116
|
return item.promise;
|
|
155
117
|
});
|
|
156
118
|
});
|
|
157
|
-
|
|
158
119
|
_classPrivateFieldInitSpec(this, _merge, {
|
|
159
120
|
writable: true,
|
|
160
121
|
value: function value(originalObject, newObject) {
|
|
161
122
|
for (var key in newObject) {
|
|
162
123
|
originalObject[key] = newObject[key];
|
|
163
|
-
}
|
|
164
|
-
|
|
124
|
+
}
|
|
125
|
+
// originalObject.update();
|
|
165
126
|
}
|
|
166
127
|
});
|
|
167
|
-
|
|
168
128
|
_classPrivateFieldInitSpec(this, _deleteByObject, {
|
|
169
129
|
writable: true,
|
|
170
130
|
value: function value(object) {
|
|
171
131
|
var id = object.getId();
|
|
172
|
-
|
|
173
132
|
var filterFunction = function filterFunction(item) {
|
|
174
133
|
return id === item.getId();
|
|
175
134
|
};
|
|
176
|
-
|
|
177
135
|
return _classPrivateMethodGet(_this, _deleteByFilter, _deleteByFilter2).call(_this, object.getModel().getType(), filterFunction);
|
|
178
136
|
}
|
|
179
137
|
});
|
|
180
|
-
|
|
181
138
|
_classPrivateFieldInitSpec(this, _insertObject, {
|
|
182
139
|
writable: true,
|
|
183
140
|
value: function value(type, item, status) {
|
|
184
141
|
var model = _this.models[type].model;
|
|
185
142
|
var wrapper = new _Obj["default"](item, model);
|
|
186
143
|
var id = wrapper.getId();
|
|
187
|
-
|
|
188
144
|
if (_this.models[type].storedObjects[id]) {
|
|
189
145
|
throw new Error("The IDs provided for the model ".concat(type, " are not unique"));
|
|
190
146
|
}
|
|
191
|
-
|
|
192
147
|
if (!objectStatuses.includes(status)) {
|
|
193
148
|
throw new Error("The provided status is not valid");
|
|
194
149
|
}
|
|
195
|
-
|
|
196
150
|
if (status === "mock") {
|
|
197
151
|
wrapper.insert = function () {
|
|
198
152
|
_this.models[type].storedObjects[id].status = "new";
|
|
199
|
-
|
|
200
153
|
_this.update([wrapper]);
|
|
201
|
-
|
|
202
154
|
delete wrapper.insert;
|
|
203
155
|
};
|
|
204
156
|
}
|
|
205
|
-
|
|
206
157
|
_this.models[type].storedObjects[id] = {
|
|
207
158
|
id: id,
|
|
208
159
|
fingerprint: wrapper.getFingerprint(),
|
|
@@ -212,7 +163,6 @@ var Store = /*#__PURE__*/function () {
|
|
|
212
163
|
return wrapper;
|
|
213
164
|
}
|
|
214
165
|
});
|
|
215
|
-
|
|
216
166
|
this.options = {
|
|
217
167
|
autoSave: (_options$autoSave = options.autoSave) !== null && _options$autoSave !== void 0 ? _options$autoSave : true,
|
|
218
168
|
saveDelay: options.saveDelay || 1000,
|
|
@@ -222,7 +172,6 @@ var Store = /*#__PURE__*/function () {
|
|
|
222
172
|
this.models = {};
|
|
223
173
|
this.pubSub = new _PubSub["default"]();
|
|
224
174
|
}
|
|
225
|
-
|
|
226
175
|
_createClass(Store, [{
|
|
227
176
|
key: "on",
|
|
228
177
|
value: function on(channel, callback) {
|
|
@@ -232,7 +181,6 @@ var Store = /*#__PURE__*/function () {
|
|
|
232
181
|
key: "validateModel",
|
|
233
182
|
value: function validateModel(model) {
|
|
234
183
|
var type = model.getType();
|
|
235
|
-
|
|
236
184
|
if (typeof type !== "string" || type === "") {
|
|
237
185
|
throw new Error("Not valid model object: type missing");
|
|
238
186
|
}
|
|
@@ -241,22 +189,17 @@ var Store = /*#__PURE__*/function () {
|
|
|
241
189
|
key: "addModel",
|
|
242
190
|
value: function addModel(model) {
|
|
243
191
|
var _this2 = this;
|
|
244
|
-
|
|
245
192
|
return new Promise(function (resolve, reject) {
|
|
246
193
|
_this2.validateModel(model);
|
|
247
|
-
|
|
248
194
|
var type = model.getType();
|
|
249
|
-
|
|
250
195
|
if (!_this2.models[type]) {
|
|
251
196
|
var _model$options$lazyLo;
|
|
252
|
-
|
|
253
197
|
_this2.models[type] = {
|
|
254
198
|
model: model,
|
|
255
199
|
storedObjects: {}
|
|
256
200
|
};
|
|
257
201
|
model.setStore(_this2);
|
|
258
202
|
var lazyLoad = (_model$options$lazyLo = model.options.lazyLoad) !== null && _model$options$lazyLo !== void 0 ? _model$options$lazyLo : _this2.options.lazyLoad;
|
|
259
|
-
|
|
260
203
|
if (lazyLoad) {
|
|
261
204
|
resolve();
|
|
262
205
|
} else {
|
|
@@ -264,9 +207,7 @@ var Store = /*#__PURE__*/function () {
|
|
|
264
207
|
}
|
|
265
208
|
} else {
|
|
266
209
|
var error = "The model already exists";
|
|
267
|
-
|
|
268
210
|
_this2.pubSub.publish("error", error);
|
|
269
|
-
|
|
270
211
|
reject(error);
|
|
271
212
|
}
|
|
272
213
|
});
|
|
@@ -297,8 +238,7 @@ var Store = /*#__PURE__*/function () {
|
|
|
297
238
|
key: "insert",
|
|
298
239
|
value: function insert(type, objects) {
|
|
299
240
|
var _this3 = this;
|
|
300
|
-
|
|
301
|
-
return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
|
|
241
|
+
return this._getPromise(type).then(function () {
|
|
302
242
|
return objects.map(function (object) {
|
|
303
243
|
return _classPrivateFieldGet(_this3, _insertObject).call(_this3, type, object, "new");
|
|
304
244
|
});
|
|
@@ -308,8 +248,7 @@ var Store = /*#__PURE__*/function () {
|
|
|
308
248
|
key: "mock",
|
|
309
249
|
value: function mock(type, objects) {
|
|
310
250
|
var _this4 = this;
|
|
311
|
-
|
|
312
|
-
return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
|
|
251
|
+
return this._getPromise(type).then(function () {
|
|
313
252
|
return objects.map(function (object) {
|
|
314
253
|
return _classPrivateFieldGet(_this4, _insertObject).call(_this4, type, object, "mock");
|
|
315
254
|
});
|
|
@@ -319,8 +258,7 @@ var Store = /*#__PURE__*/function () {
|
|
|
319
258
|
key: "get",
|
|
320
259
|
value: function get(type, id) {
|
|
321
260
|
var _this5 = this;
|
|
322
|
-
|
|
323
|
-
return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
|
|
261
|
+
return this._getPromise(type).then(function () {
|
|
324
262
|
try {
|
|
325
263
|
return _this5.models[type].storedObjects[id].object;
|
|
326
264
|
} catch (error) {
|
|
@@ -332,17 +270,10 @@ var Store = /*#__PURE__*/function () {
|
|
|
332
270
|
key: "find",
|
|
333
271
|
value: function find(type, filterFunction) {
|
|
334
272
|
var _this6 = this;
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
var all = Object.values(_this6.models[type].storedObjects).filter(function (i) {
|
|
338
|
-
return i.status !== "deleted";
|
|
339
|
-
}).map(function (i) {
|
|
340
|
-
return i.object;
|
|
341
|
-
});
|
|
342
|
-
return filterFunction ? all.filter(filterFunction) : all;
|
|
273
|
+
return this._getPromise(type).then(function () {
|
|
274
|
+
return _this6.findSync(type, filterFunction);
|
|
343
275
|
})["catch"](function (error) {
|
|
344
276
|
_this6.pubSub.publish("error", error);
|
|
345
|
-
|
|
346
277
|
return Promise.reject(error);
|
|
347
278
|
});
|
|
348
279
|
}
|
|
@@ -350,18 +281,16 @@ var Store = /*#__PURE__*/function () {
|
|
|
350
281
|
key: "applyDiff",
|
|
351
282
|
value: function applyDiff(_ref, type) {
|
|
352
283
|
var _this7 = this;
|
|
353
|
-
|
|
354
284
|
var _ref$inserted = _ref.inserted,
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
285
|
+
inserted = _ref$inserted === void 0 ? [] : _ref$inserted,
|
|
286
|
+
_ref$updated = _ref.updated,
|
|
287
|
+
updated = _ref$updated === void 0 ? [] : _ref$updated,
|
|
288
|
+
_ref$deleted = _ref.deleted,
|
|
289
|
+
deleted = _ref$deleted === void 0 ? [] : _ref$deleted;
|
|
360
290
|
return new Promise(function (resolve, reject) {
|
|
361
291
|
try {
|
|
362
292
|
var _iterator2 = _createForOfIteratorHelper(inserted.concat(updated)),
|
|
363
|
-
|
|
364
|
-
|
|
293
|
+
_step2;
|
|
365
294
|
try {
|
|
366
295
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
367
296
|
var object = _step2.value;
|
|
@@ -369,12 +298,10 @@ var Store = /*#__PURE__*/function () {
|
|
|
369
298
|
var newId = object.object.getId();
|
|
370
299
|
var oldId = object.id;
|
|
371
300
|
var item = _this7.models[type].storedObjects[object.id];
|
|
372
|
-
|
|
373
301
|
if (newId !== oldId) {
|
|
374
302
|
_this7.models[type].storedObjects[newId] = item;
|
|
375
303
|
delete _this7.models[type].storedObjects[object.id];
|
|
376
304
|
}
|
|
377
|
-
|
|
378
305
|
item.fingerprint = object.object.getFingerprint();
|
|
379
306
|
item.status = "old";
|
|
380
307
|
}
|
|
@@ -383,10 +310,8 @@ var Store = /*#__PURE__*/function () {
|
|
|
383
310
|
} finally {
|
|
384
311
|
_iterator2.f();
|
|
385
312
|
}
|
|
386
|
-
|
|
387
313
|
var _iterator3 = _createForOfIteratorHelper(deleted),
|
|
388
|
-
|
|
389
|
-
|
|
314
|
+
_step3;
|
|
390
315
|
try {
|
|
391
316
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
392
317
|
var _object = _step3.value;
|
|
@@ -397,7 +322,6 @@ var Store = /*#__PURE__*/function () {
|
|
|
397
322
|
} finally {
|
|
398
323
|
_iterator3.f();
|
|
399
324
|
}
|
|
400
|
-
|
|
401
325
|
resolve();
|
|
402
326
|
} catch (error) {
|
|
403
327
|
reject(error);
|
|
@@ -413,22 +337,19 @@ var Store = /*#__PURE__*/function () {
|
|
|
413
337
|
}, {
|
|
414
338
|
key: "preload",
|
|
415
339
|
value: function preload(type) {
|
|
416
|
-
return
|
|
340
|
+
return this._getPromise(type);
|
|
417
341
|
}
|
|
418
342
|
}, {
|
|
419
343
|
key: "getDiff",
|
|
420
344
|
value: function getDiff(type) {
|
|
421
345
|
var _this8 = this;
|
|
422
|
-
|
|
423
|
-
return _classPrivateMethodGet(this, _getPromise, _getPromise2).call(this, type).then(function () {
|
|
346
|
+
return this._getPromise(type).then(function () {
|
|
424
347
|
var objects = Object.values(_this8.models[type].storedObjects);
|
|
425
348
|
var inserted = [];
|
|
426
349
|
var updated = [];
|
|
427
350
|
var deleted = [];
|
|
428
|
-
|
|
429
351
|
for (var _i = 0, _objects = objects; _i < _objects.length; _i++) {
|
|
430
352
|
var object = _objects[_i];
|
|
431
|
-
|
|
432
353
|
if (object.status === "new") {
|
|
433
354
|
inserted.push(object);
|
|
434
355
|
} else if (object.status === "deleted") {
|
|
@@ -436,7 +357,6 @@ var Store = /*#__PURE__*/function () {
|
|
|
436
357
|
} else if (object.status === "old" && _this8.hasChanged(type, object.object)) {
|
|
437
358
|
updated.push(object);
|
|
438
359
|
} // Nothing for mock objects
|
|
439
|
-
|
|
440
360
|
}
|
|
441
361
|
|
|
442
362
|
return {
|
|
@@ -450,7 +370,6 @@ var Store = /*#__PURE__*/function () {
|
|
|
450
370
|
key: "factory",
|
|
451
371
|
value: function factory(type, params) {
|
|
452
372
|
var _this9 = this;
|
|
453
|
-
|
|
454
373
|
var item = this.models[type];
|
|
455
374
|
this.pubSub.publish("loading", {
|
|
456
375
|
status: "start",
|
|
@@ -458,12 +377,10 @@ var Store = /*#__PURE__*/function () {
|
|
|
458
377
|
});
|
|
459
378
|
item.promise = item.model.factory(params).then(function (items) {
|
|
460
379
|
var _iterator4 = _createForOfIteratorHelper(items),
|
|
461
|
-
|
|
462
|
-
|
|
380
|
+
_step4;
|
|
463
381
|
try {
|
|
464
382
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
465
383
|
var _item = _step4.value;
|
|
466
|
-
|
|
467
384
|
_classPrivateFieldGet(_this9, _insertObject).call(_this9, type, _item, "old");
|
|
468
385
|
}
|
|
469
386
|
} catch (err) {
|
|
@@ -471,7 +388,6 @@ var Store = /*#__PURE__*/function () {
|
|
|
471
388
|
} finally {
|
|
472
389
|
_iterator4.f();
|
|
473
390
|
}
|
|
474
|
-
|
|
475
391
|
_this9.pubSub.publish("loading", {
|
|
476
392
|
status: "end",
|
|
477
393
|
model: type
|
|
@@ -479,30 +395,39 @@ var Store = /*#__PURE__*/function () {
|
|
|
479
395
|
});
|
|
480
396
|
return item.promise;
|
|
481
397
|
}
|
|
398
|
+
}, {
|
|
399
|
+
key: "_getPromise",
|
|
400
|
+
value: function _getPromise(type) {
|
|
401
|
+
var _this10 = this;
|
|
402
|
+
if (!this.models[type]) {
|
|
403
|
+
return Promise.reject("The model doesn't exist");
|
|
404
|
+
} else if (!this.models[type].promise && !this.options.lazyLoad) {
|
|
405
|
+
return Promise.reject("The model is not loaded");
|
|
406
|
+
} else if (!this.models[type].promise && this.options.lazyLoad) {
|
|
407
|
+
return _classPrivateMethodGet(this, _loadObjects, _loadObjects2).call(this, type).then(function () {
|
|
408
|
+
return _this10.models[type].promise;
|
|
409
|
+
});
|
|
410
|
+
} else {
|
|
411
|
+
return this.models[type].promise;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
482
414
|
}]);
|
|
483
|
-
|
|
484
415
|
return Store;
|
|
485
416
|
}();
|
|
486
|
-
|
|
487
417
|
exports["default"] = Store;
|
|
488
|
-
|
|
489
418
|
function _error2(error) {
|
|
490
419
|
error = error.message || error;
|
|
491
420
|
this.pubSub.publish("error", error);
|
|
492
421
|
return Promise.reject(error);
|
|
493
422
|
}
|
|
494
|
-
|
|
495
423
|
function _deleteByFilter2(type, filterFunction) {
|
|
496
|
-
var
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
var deleted = Object.values(_this10.models[type].storedObjects).filter(function (i) {
|
|
424
|
+
var _this11 = this;
|
|
425
|
+
return this._getPromise(type).then(function () {
|
|
426
|
+
var deleted = Object.values(_this11.models[type].storedObjects).filter(function (i) {
|
|
500
427
|
return filterFunction(i.object);
|
|
501
428
|
});
|
|
502
|
-
|
|
503
429
|
var _iterator5 = _createForOfIteratorHelper(deleted),
|
|
504
|
-
|
|
505
|
-
|
|
430
|
+
_step5;
|
|
506
431
|
try {
|
|
507
432
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
508
433
|
var object = _step5.value;
|
|
@@ -513,32 +438,13 @@ function _deleteByFilter2(type, filterFunction) {
|
|
|
513
438
|
} finally {
|
|
514
439
|
_iterator5.f();
|
|
515
440
|
}
|
|
516
|
-
|
|
517
441
|
return deleted.map(function (i) {
|
|
518
442
|
return i.object;
|
|
519
443
|
});
|
|
520
444
|
});
|
|
521
445
|
}
|
|
522
|
-
|
|
523
|
-
function _getPromise2(type) {
|
|
524
|
-
var _this11 = this;
|
|
525
|
-
|
|
526
|
-
if (!this.models[type]) {
|
|
527
|
-
return Promise.reject("The model doesn't exist");
|
|
528
|
-
} else if (!this.models[type].promise && !this.options.lazyLoad) {
|
|
529
|
-
return Promise.reject("The model is not loaded");
|
|
530
|
-
} else if (!this.models[type].promise && this.options.lazyLoad) {
|
|
531
|
-
return _classPrivateMethodGet(this, _loadObjects, _loadObjects2).call(this, type).then(function () {
|
|
532
|
-
return _this11.models[type].promise;
|
|
533
|
-
});
|
|
534
|
-
} else {
|
|
535
|
-
return this.models[type].promise;
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
|
|
539
446
|
function _loadObjects2(type) {
|
|
540
447
|
var _this12 = this;
|
|
541
|
-
|
|
542
448
|
var item = this.models[type];
|
|
543
449
|
this.pubSub.publish("loading", {
|
|
544
450
|
status: "start",
|
|
@@ -546,12 +452,10 @@ function _loadObjects2(type) {
|
|
|
546
452
|
});
|
|
547
453
|
item.promise = item.model.retrieveAll().then(function (items) {
|
|
548
454
|
var _iterator6 = _createForOfIteratorHelper(items),
|
|
549
|
-
|
|
550
|
-
|
|
455
|
+
_step6;
|
|
551
456
|
try {
|
|
552
457
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
553
458
|
var _item2 = _step6.value;
|
|
554
|
-
|
|
555
459
|
_classPrivateFieldGet(_this12, _insertObject).call(_this12, type, _item2, "old");
|
|
556
460
|
}
|
|
557
461
|
} catch (err) {
|
|
@@ -559,7 +463,6 @@ function _loadObjects2(type) {
|
|
|
559
463
|
} finally {
|
|
560
464
|
_iterator6.f();
|
|
561
465
|
}
|
|
562
|
-
|
|
563
466
|
_this12.pubSub.publish("loading", {
|
|
564
467
|
status: "end",
|
|
565
468
|
model: type
|
package/dist/SubObj.js
CHANGED
|
@@ -1,98 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
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); }
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _BasicObj2 = require("./BasicObj");
|
|
11
|
-
|
|
12
9
|
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); } }
|
|
13
|
-
|
|
14
10
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
15
|
-
|
|
16
11
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
17
|
-
|
|
18
12
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
19
|
-
|
|
20
13
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
21
|
-
|
|
22
14
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
23
|
-
|
|
24
15
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
25
|
-
|
|
26
16
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
27
|
-
|
|
28
17
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
29
|
-
|
|
30
18
|
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
|
31
|
-
|
|
32
19
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
|
33
|
-
|
|
34
20
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
35
|
-
|
|
36
21
|
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; }
|
|
37
|
-
|
|
38
22
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
39
|
-
|
|
40
23
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
41
|
-
|
|
42
24
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
|
43
|
-
|
|
44
25
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
|
45
|
-
|
|
46
26
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
|
47
|
-
|
|
48
27
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
|
49
|
-
|
|
50
28
|
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
|
51
|
-
|
|
52
29
|
var _model = /*#__PURE__*/new WeakMap();
|
|
53
|
-
|
|
54
30
|
var _parent = /*#__PURE__*/new WeakMap();
|
|
55
|
-
|
|
56
31
|
var _parentField = /*#__PURE__*/new WeakMap();
|
|
57
|
-
|
|
58
32
|
var SubObj = /*#__PURE__*/function (_BasicObj) {
|
|
59
33
|
_inherits(SubObj, _BasicObj);
|
|
60
|
-
|
|
61
34
|
var _super = _createSuper(SubObj);
|
|
62
|
-
|
|
63
35
|
function SubObj(parent, field, values, model) {
|
|
64
36
|
var _thisSuper, _this;
|
|
65
|
-
|
|
66
37
|
_classCallCheck(this, SubObj);
|
|
67
|
-
|
|
68
38
|
_this = _super.call(this, values, model);
|
|
69
|
-
|
|
70
39
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _model, {
|
|
71
40
|
writable: true,
|
|
72
41
|
value: void 0
|
|
73
42
|
});
|
|
74
|
-
|
|
75
43
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _parent, {
|
|
76
44
|
writable: true,
|
|
77
45
|
value: void 0
|
|
78
46
|
});
|
|
79
|
-
|
|
80
47
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _parentField, {
|
|
81
48
|
writable: true,
|
|
82
49
|
value: void 0
|
|
83
50
|
});
|
|
84
|
-
|
|
85
51
|
_defineProperty(_assertThisInitialized(_this), "set", function (attribute, value, hidden) {
|
|
86
52
|
return _get((_thisSuper = _assertThisInitialized(_this), _getPrototypeOf(SubObj.prototype)), "set", _thisSuper).call(_thisSuper, attribute, value, hidden);
|
|
87
53
|
});
|
|
88
|
-
|
|
89
54
|
_defineProperty(_assertThisInitialized(_this), "save", function () {
|
|
90
55
|
return _classPrivateFieldGet(_assertThisInitialized(_this), _model).getStore().save([_classPrivateFieldGet(_assertThisInitialized(_this), _parent)]);
|
|
91
56
|
});
|
|
92
|
-
|
|
93
57
|
_defineProperty(_assertThisInitialized(_this), "destroy", function () {
|
|
94
58
|
var _classPrivateFieldGet2;
|
|
95
|
-
|
|
96
59
|
if (Array.isArray(_classPrivateFieldGet(_assertThisInitialized(_this), _parent)[_classPrivateFieldGet(_assertThisInitialized(_this), _parentField)])) {
|
|
97
60
|
_classPrivateFieldGet(_assertThisInitialized(_this), _parent)[_classPrivateFieldGet(_assertThisInitialized(_this), _parentField)] = _classPrivateFieldGet(_assertThisInitialized(_this), _parent)[_classPrivateFieldGet(_assertThisInitialized(_this), _parentField)].filter(function (i) {
|
|
98
61
|
return i.getId() !== _this.getId();
|
|
@@ -100,25 +63,17 @@ var SubObj = /*#__PURE__*/function (_BasicObj) {
|
|
|
100
63
|
} else if ((_classPrivateFieldGet2 = _classPrivateFieldGet(_assertThisInitialized(_this), _parent)[_classPrivateFieldGet(_assertThisInitialized(_this), _parentField)]) !== null && _classPrivateFieldGet2 !== void 0 && _classPrivateFieldGet2.getId) {
|
|
101
64
|
_classPrivateFieldGet(_assertThisInitialized(_this), _parent)[_classPrivateFieldGet(_assertThisInitialized(_this), _parentField)] = null;
|
|
102
65
|
}
|
|
103
|
-
|
|
104
66
|
return _classPrivateFieldGet(_assertThisInitialized(_this), _model).getStore().update([_classPrivateFieldGet(_assertThisInitialized(_this), _parent)]);
|
|
105
67
|
});
|
|
106
|
-
|
|
107
68
|
_defineProperty(_assertThisInitialized(_this), "update", function () {
|
|
108
69
|
return _classPrivateFieldGet(_assertThisInitialized(_this), _model).getStore().update([_classPrivateFieldGet(_assertThisInitialized(_this), _parent)]);
|
|
109
70
|
});
|
|
110
|
-
|
|
111
71
|
_classPrivateFieldSet(_assertThisInitialized(_this), _model, model);
|
|
112
|
-
|
|
113
72
|
_classPrivateFieldSet(_assertThisInitialized(_this), _parent, parent);
|
|
114
|
-
|
|
115
73
|
_classPrivateFieldSet(_assertThisInitialized(_this), _parentField, field);
|
|
116
|
-
|
|
117
74
|
(0, _BasicObj2.setValues)(values, model, SubObj, _classPrivateFieldGet(_assertThisInitialized(_this), _parent), _assertThisInitialized(_this));
|
|
118
75
|
return _this;
|
|
119
76
|
}
|
|
120
|
-
|
|
121
77
|
return _createClass(SubObj);
|
|
122
78
|
}(_BasicObj2.BasicObj);
|
|
123
|
-
|
|
124
79
|
exports["default"] = SubObj;
|