UNPKG

@colony/colony-js-contract-client

Version:

Method-like interface for Smart Contracts

52 lines (43 loc) 1.56 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var MockEmittingContract = function () { function MockEmittingContract() { (0, _classCallCheck3.default)(this, MockEmittingContract); this._listeners = []; } (0, _createClass3.default)(MockEmittingContract, [{ key: 'addListener', value: function addListener(eventName, callback) { this._listeners.push({ eventName: eventName, callback: callback }); } }, { key: 'removeListener', value: function removeListener(eventName, callback) { this._listeners = this._listeners.filter(function (listener) { return listener.eventName !== eventName || listener.callback !== callback; }); } }, { key: '_dispatchEvent', value: function _dispatchEvent(eventName, data) { this._listeners.filter(function (listener) { return listener.eventName === eventName; }).forEach(function (listener) { return listener.callback({ event: eventName, args: data }); }); } }]); return MockEmittingContract; }(); exports.default = MockEmittingContract; //# sourceMappingURL=MockEmittingContract.js.map