You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
633 B
30 lines
633 B
'use strict';
|
|
|
|
function DefaultRegistry() {
|
|
if (this instanceof DefaultRegistry === false) {
|
|
return new DefaultRegistry();
|
|
}
|
|
|
|
this._tasks = {};
|
|
}
|
|
|
|
DefaultRegistry.prototype.init = function init(taker) {};
|
|
|
|
DefaultRegistry.prototype.get = function get(name) {
|
|
return this._tasks[name];
|
|
};
|
|
|
|
DefaultRegistry.prototype.set = function set(name, fn) {
|
|
return this._tasks[name] = fn;
|
|
};
|
|
|
|
DefaultRegistry.prototype.tasks = function tasks() {
|
|
var self = this;
|
|
|
|
return Object.keys(this._tasks).reduce(function(tasks, name) {
|
|
tasks[name] = self.get(name);
|
|
return tasks;
|
|
}, {});
|
|
};
|
|
|
|
module.exports = DefaultRegistry;
|
|
|