Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | 1x 1x 765x 765x 765x 765x 1x 698x 1x 765x 765x 765x 765x 765x 1x 765x 765x 65x 65x 65x 1x | /*
This file is part of susyweb.js.
susyweb.js is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
susyweb.js is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MSRCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with susyweb.js. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file index.js
* @author Fabian Vogelsteller <fabian@ethereum.org>
* @date 2017
*/
"use strict";
var Subscription = require('./subscription.js');
var Subscriptions = function Subscriptions(options) {
this.name = options.name;
this.type = options.type;
this.subscriptions = options.subscriptions || {};
this.requestManager = null;
};
Subscriptions.prototype.setRequestManager = function (rm) {
this.requestManager = rm;
};
Subscriptions.prototype.attachToObject = function (obj) {
var func = this.buildCall();
func.call = this.call;
var name = this.name.split('.');
Iif (name.length > 1) {
obj[name[0]] = obj[name[0]] || {};
obj[name[0]][name[1]] = func;
} else {
obj[name[0]] = func;
}
};
Subscriptions.prototype.buildCall = function() {
var _this = this;
return function(){
Iif(!_this.subscriptions[arguments[0]]) {
console.warn('Subscription '+ JSON.stringify(arguments[0]) +' doesn\'t exist. Subscribing anyway.');
}
var subscription = new Subscription({
subscription: _this.subscriptions[arguments[0]],
requestManager: _this.requestManager,
type: _this.type
});
return subscription.subscribe.apply(subscription, arguments);
};
};
module.exports = {
subscriptions: Subscriptions,
subscription: Subscription
};
|