Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Event Emitter Class
- // ringo/events.js
- export('EventEmitter');
- function EventEmitter() {
- }
- EventEmitter.prototype = Object.create(Object.prototype,
- event: {
- value: {}
- },
- on: {
- value: function(event, callback) {
- if (event in this.events) {
- this.events[event] = [];
- }
- this.events[event].push(callback);
- }
- },
- emit: {
- value: function(event, args) {
- if ( ! (event in this.events)) {
- return;
- }
- this.events[event].forEach(function(callback) {
- callback.apply(undefined, args);
- });
- }
- }
- }
- // My Observable Class
- // Implements the event emitter interface
- {EventEmitter} = require('ringo/events');
- export('MyClass');
- function MyClass() {
- }
- MyClass.prototype = Object.create(EventEmitter.prototype, {
- myValue: { value: 'abc' }
- });
Add Comment
Please, Sign In to add comment