dataflux 1.17.5 → 1.17.7

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/Obj.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _fingerprint = _interopRequireDefault(require("./fingerprint"));
7
+ var _objectFingerprint = _interopRequireDefault(require("object-fingerprint"));
8
8
  var _BasicObj2 = require("./BasicObj");
9
9
  var _SubObj = _interopRequireDefault(require("./SubObj"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
@@ -85,7 +85,7 @@ var Obj = exports["default"] = /*#__PURE__*/function (_BasicObj) {
85
85
  }
86
86
  });
87
87
  _defineProperty(_this, "getFingerprint", function () {
88
- return (0, _fingerprint["default"])(_this.toJSON());
88
+ return (0, _objectFingerprint["default"])(_this.toJSON()).toString();
89
89
  });
90
90
  _defineProperty(_this, "getRelation", function (type, filterFunction) {
91
91
  return _this.getModel().getRelation(_this, type, filterFunction);
@@ -72,14 +72,19 @@ var PersistentStore = exports["default"] = /*#__PURE__*/function (_Store) {
72
72
  });
73
73
  });
74
74
  _defineProperty(_this, "save", function () {
75
+ return _this._save(true);
76
+ });
77
+ _defineProperty(_this, "_save", function () {
78
+ var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
75
79
  _this._busy = true;
76
80
  _this.pubSub.publish("save", "start");
77
81
  if (_this._delayedSaveTimer) {
78
82
  clearTimeout(_this._delayedSaveTimer);
79
83
  }
80
84
  return Promise.all(Object.keys(_this.models).filter(function (m) {
81
- return _this.models[m].model.options.autoSave !== false;
82
- }).map(function (i) {
85
+ return _this.models[m].model.options.autoSave !== false || force;
86
+ }) // explicit false check (null = true)
87
+ .map(function (i) {
83
88
  return _this._saveByType(i, true);
84
89
  })).then(function (data) {
85
90
  _this._busy = false;
@@ -155,7 +160,7 @@ var PersistentStore = exports["default"] = /*#__PURE__*/function (_Store) {
155
160
  }
156
161
  _this._delayedSavePromise = resolve;
157
162
  _this._delayedSaveTimer = setTimeout(function () {
158
- resolve(_this.save());
163
+ resolve(_this._save(false));
159
164
  _this._delayedSavePromise = null;
160
165
  }, _this.options.saveDelay);
161
166
  } else {
package/dist/Store.js CHANGED
@@ -128,9 +128,12 @@ var Store = exports["default"] = /*#__PURE__*/function () {
128
128
  var currentObject = item === null || item === void 0 ? void 0 : item.storedObjects[_id];
129
129
  if (currentObject) {
130
130
  currentObject.deleted = false;
131
+ if (currentObject.status === "deleted") {
132
+ currentObject.status = "old";
133
+ }
131
134
  var newFingerprint = wrapper.getFingerprint();
132
135
  var oldFingerprint = currentObject.fingerprint;
133
- if (oldFingerprint !== newFingerprint) {
136
+ if (oldFingerprint !== newFingerprint || force) {
134
137
  // Nothing to do otherwise
135
138
  if (force) {
136
139
  _classPrivateFieldGet(_wipe, _this).call(_this, currentObject.object);
@@ -139,7 +142,7 @@ var Store = exports["default"] = /*#__PURE__*/function () {
139
142
  updated.push(currentObject.object);
140
143
  } else if (_this.hasChanged(type, currentObject.object)) {// Was the object edited locally?
141
144
 
142
- // Nothing for now
145
+ // Nothing
143
146
  } else {
144
147
  // Update with the new object
145
148
  _classPrivateFieldGet(_merge, _this).call(_this, currentObject.object, wrapper.toJSON());
@@ -475,7 +478,9 @@ var Store = exports["default"] = /*#__PURE__*/function () {
475
478
  value: function getCollection(type) {
476
479
  var _this12 = this;
477
480
  return this._getPromise(type).then(function () {
478
- return Object.values(_this12.models[type].storedObjects).map(function (i) {
481
+ return Object.values(_this12.models[type].storedObjects).filter(function (i) {
482
+ return i.status !== "deleted";
483
+ }).map(function (i) {
479
484
  return i.object;
480
485
  }).sort(function (a, b) {
481
486
  return a.getId().localeCompare(b.getId());