@live-change/dao 0.4.5 → 0.4.8

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/lib/DaoProxy.js CHANGED
@@ -57,10 +57,12 @@ class DaoProxy extends EventEmitter {
57
57
  const newObservable = this.observables.get(spath)
58
58
  if(newObservable && newObservable !== observable) {
59
59
  observable.observable = newObservable
60
- } else if(this.dao) {
61
- observable.observable = this.dao.observable(what)
62
- } else {
63
- observable.observable = null
60
+ } else if(!observable.observable || observable.observable.isDisposed()) {
61
+ if(this.dao) {
62
+ observable.observable = this.dao.observable(what)
63
+ } else {
64
+ observable.observable = null
65
+ }
64
66
  }
65
67
  oldRespawn.call(observable, ...args)
66
68
  }
@@ -91,13 +91,17 @@ class ObservableProxy extends Observable {
91
91
  }
92
92
 
93
93
  bindProperty(object, property) {
94
- if(this.isDisposed()) this.respawn()
94
+ if(this.isDisposed()) {
95
+ this.respawn()
96
+ }
95
97
  this.properties.push([object, property])
96
- if(this.observable) this.observable.bindProperty(object, property)
98
+ if(this.observable) {
99
+ this.observable.bindProperty(object, property)
100
+ }
97
101
  }
98
102
  unbindProperty(object, property) {
99
- for(var i = 0; i < this.properties.length; i++) {
100
- var prop = this.properties[i]
103
+ for(let i = 0; i < this.properties.length; i++) {
104
+ const prop = this.properties[i]
101
105
  if(prop[0] === object && prop[1] === property) {
102
106
  this.properties.splice(i, 1)
103
107
  if(this.observable) this.observable.unbindProperty(object, property)
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "url": "https://github.com/live-change/live-change-dao.git"
14
14
  },
15
15
  "dependencies": {
16
- "debug": "^4.3.2"
16
+ "debug": "^4.3.4"
17
17
  },
18
18
  "description": "live data access object",
19
19
  "devDependencies": {
@@ -35,6 +35,6 @@
35
35
  "scripts": {
36
36
  "test": "NODE_ENV=test blue-tape tests/*"
37
37
  },
38
- "version": "0.4.5",
39
- "gitHead": "1473e5de44d17cb2fb9b048d44adf6a75df10ce8"
38
+ "version": "0.4.8",
39
+ "gitHead": "7e38d4629d65410f7552d3d69857547caf709e20"
40
40
  }