Skip to content

Commit d173735

Browse files
author
pemrouz
committed
should make active change accessible
1 parent d32bd33 commit d173735

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

dist/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ function data(ripple) {
5454
res.body = (0, _set2.default)()(res.body || [], existing.body && existing.body.log, _is2.default.num(res.headers.log) ? res.headers.log : -1);
5555
(0, _overwrite2.default)(res.body.on)(listeners(existing));
5656
res.body.on('change.bubble', function (change) {
57-
return ripple.emit('change', [res.name, change], (0, _not2.default)(_is2.default.in(['data'])));
57+
console.log("before", ripple.change);
58+
ripple.emit('change', ripple.change = [res.name, change], (0, _not2.default)(_is2.default.in(['data'])));
59+
console.log("here", ripple.change);
60+
delete ripple.change;
5861
});
5962

6063
return res;

src/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ export default function data(ripple){
1717
, is.num(res.headers.log) ? res.headers.log : -1
1818
)
1919
overwrite(res.body.on)(listeners(existing))
20-
res.body.on('change.bubble', change => ripple.emit('change', [res.name, change], not(is.in(['data']))))
20+
res.body.on('change.bubble', change => {
21+
ripple.emit('change', ripple.change = [res.name, change], not(is.in(['data'])))
22+
delete ripple.change
23+
})
2124

2225
return res
2326
}

test.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ var core = require('rijs.core').default
22
, update = require('utilise/update')
33
, clone = require('utilise/clone')
44
, expect = require('chai').expect
5+
, time = require('utilise/time')
56
, keys = require('utilise/keys')
67
, data = require('./').default
78
, key = require('utilise/key')
@@ -152,4 +153,23 @@ describe('Data Type', function() {
152153
ripple('foo', { bar: 2 })
153154
expect(ripple.resources.foo.headers.foo).to.eql({ bar: 5 })
154155
})
156+
157+
it('should make active change accessible', function(done){
158+
var ripple = data(core())
159+
, result
160+
161+
ripple('foo', { bar: 5 })
162+
ripple.on('change', function(data){
163+
result = ripple.change
164+
})
165+
166+
expect(ripple.change).to.be.not.ok
167+
update('bar', 15)(ripple('foo'))
168+
expect(ripple.change).to.be.not.ok
169+
170+
time(10, function(){
171+
expect(result).to.eql(['foo', { type: 'update', key: 'bar', value: 15, time: 1 }])
172+
done()
173+
})
174+
})
155175
})

0 commit comments

Comments
 (0)