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

Version Path
ende-0.5.22 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.22 components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.21 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.21 components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.20 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.19 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.18 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.17 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.16 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.15 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.14 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.13 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.12 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.10 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.9 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.8 components/indefinido/observable/es6-modules/lib/observable/observation.js
ende-0.5.7 components/indefinido/observable/es6-modules/lib/observable/observation.js