forked from public/fvtt-cthulhu-eternal
26 lines
520 B
JavaScript
26 lines
520 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var validateRegistry = require('./helpers/validateRegistry');
|
||
|
|
||
|
function setTasks(registry, nameAndTask) {
|
||
|
var name = nameAndTask[0];
|
||
|
var task = nameAndTask[1];
|
||
|
registry.set(name, task);
|
||
|
return registry;
|
||
|
}
|
||
|
|
||
|
function registry(newRegistry) {
|
||
|
if (!newRegistry) {
|
||
|
return this._registry;
|
||
|
}
|
||
|
|
||
|
validateRegistry(newRegistry);
|
||
|
|
||
|
var tasks = this._registry.tasks();
|
||
|
|
||
|
this._registry = Object.entries(tasks).reduce(setTasks, newRegistry);
|
||
|
this._registry.init(this);
|
||
|
}
|
||
|
|
||
|
module.exports = registry;
|