Sha256: a4d7f3f2e84b34e6c15dc9ced94839eeeb73acd408ed93d4371b33e34087f7db
Contents?: true
Size: 986 Bytes
Versions: 17
Compression:
Stored size: 986 Bytes
Contents
var observation, observationable; observation = { add: function(keypath, callback) { return this.observers[keypath].add(callback); }, remove: function(keypath, callback) { return this.observers[keypath].remove(callback); }, deliver: function(discard) { var keypath, observer, _ref, _results; _ref = this.observers; _results = []; for (keypath in _ref) { observer = _ref[keypath]; _results.push(observer.deliver(discard)); } return _results; }, mute: function(keypath) { this.observers[keypath].close(); return delete this.observers[keypath]; }, destroy: function(keypath) { var observer, _ref; _ref = this.observers; for (keypath in _ref) { observer = _ref[keypath]; observer.close(); } return delete this.observers; } }; observationable = function(object) { return Object.create(observation, { observers: { value: {} } }); }; export default observationable;
Version data entries
17 entries across 15 versions & 1 rubygems