dataflux 1.7.2 → 1.7.3

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.
Files changed (2) hide show
  1. package/dist/Model.js +25 -4
  2. package/package.json +1 -1
package/dist/Model.js CHANGED
@@ -99,6 +99,8 @@ var _bulkOperation = /*#__PURE__*/new WeakMap();
99
99
 
100
100
  var _toArray = /*#__PURE__*/new WeakMap();
101
101
 
102
+ var _unWrap = /*#__PURE__*/new WeakMap();
103
+
102
104
  var _insertObjects = /*#__PURE__*/new WeakMap();
103
105
 
104
106
  var _updateObjects = /*#__PURE__*/new WeakMap();
@@ -284,7 +286,13 @@ var Model = /*#__PURE__*/_createClass(function Model(name) {
284
286
  if (!_this.options.lazyLoad) {
285
287
  return Promise.reject("Factory can be used only on a model declared with lazyLoad: true");
286
288
  } else {
287
- return (0, _modelHooksUtils.executeHook)("retrieve", _classPrivateFieldGet(_this, _retrieveHook), params, _classPrivateFieldGet(_this, _axios));
289
+ return (0, _modelHooksUtils.executeHook)("retrieve", _classPrivateFieldGet(_this, _retrieveHook), params, _classPrivateFieldGet(_this, _axios)).then(function (data) {
290
+ if (!Array.isArray(data)) {
291
+ _classPrivateFieldSet(_this, _singleItemQuery, true);
292
+ }
293
+
294
+ return _classPrivateFieldGet(_this, _toArray).call(_this, data);
295
+ });
288
296
  }
289
297
  });
290
298
 
@@ -370,24 +378,37 @@ var Model = /*#__PURE__*/_createClass(function Model(name) {
370
378
  }
371
379
  });
372
380
 
381
+ _classPrivateFieldInitSpec(this, _unWrap, {
382
+ writable: true,
383
+ value: function value(data) {
384
+ if (data.value != null && Object.keys(data).length === 1) {
385
+ return data.value;
386
+ } else if (Array.isArray(data) && data.length === 1 && data[0].value != null && Object.keys(data[0]).length === 1) {
387
+ return data[0].value;
388
+ } else {
389
+ return data;
390
+ }
391
+ }
392
+ });
393
+
373
394
  _classPrivateFieldInitSpec(this, _insertObjects, {
374
395
  writable: true,
375
396
  value: function value(data) {
376
- return (0, _modelHooksUtils.executeHook)("insert", _classPrivateFieldGet(_this, _insertHook), data, _classPrivateFieldGet(_this, _axios)).then(_classPrivateFieldGet(_this, _toArray));
397
+ return (0, _modelHooksUtils.executeHook)("insert", _classPrivateFieldGet(_this, _insertHook), _classPrivateFieldGet(_this, _unWrap).call(_this, data), _classPrivateFieldGet(_this, _axios)).then(_classPrivateFieldGet(_this, _toArray));
377
398
  }
378
399
  });
379
400
 
380
401
  _classPrivateFieldInitSpec(this, _updateObjects, {
381
402
  writable: true,
382
403
  value: function value(data) {
383
- return (0, _modelHooksUtils.executeHook)("update", _classPrivateFieldGet(_this, _updateHook), data, _classPrivateFieldGet(_this, _axios)).then(_classPrivateFieldGet(_this, _toArray));
404
+ return (0, _modelHooksUtils.executeHook)("update", _classPrivateFieldGet(_this, _updateHook), _classPrivateFieldGet(_this, _unWrap).call(_this, data), _classPrivateFieldGet(_this, _axios)).then(_classPrivateFieldGet(_this, _toArray));
384
405
  }
385
406
  });
386
407
 
387
408
  _classPrivateFieldInitSpec(this, _deleteObjects, {
388
409
  writable: true,
389
410
  value: function value(data) {
390
- return (0, _modelHooksUtils.executeHook)("delete", _classPrivateFieldGet(_this, _deleteHook), data, _classPrivateFieldGet(_this, _axios)).then(_classPrivateFieldGet(_this, _toArray));
411
+ return (0, _modelHooksUtils.executeHook)("delete", _classPrivateFieldGet(_this, _deleteHook), _classPrivateFieldGet(_this, _unWrap).call(_this, data), _classPrivateFieldGet(_this, _axios)).then(_classPrivateFieldGet(_this, _toArray));
391
412
  }
392
413
  });
393
414
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dataflux",
3
- "version": "1.7.2",
3
+ "version": "1.7.3",
4
4
  "description": "DataFlux, automatically interfaces with your REST APIs to create a 2-way-synced local data store. Transparently manages data propagation in the React state.",
5
5
  "main": "dist/index.js",
6
6
  "bin": "dist/index.js",