nope-js-node
Version:
NoPE Runtime for Nodejs. For Browser-Support please use nope-browser
52 lines (51 loc) • 2.32 kB
JavaScript
;
/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @desc [description]
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.addAllBaseServices = exports.SERVICES_NAME = exports.waitForDispatcher = exports.enablingSyncingData = exports.generateSyncServices = exports.generatePingServices = exports.generateDefineMaster = void 0;
const connectivy_1 = require("./connectivy");
Object.defineProperty(exports, "generateSyncServices", { enumerable: true, get: function () { return connectivy_1.enableTimeSyncing; } });
Object.defineProperty(exports, "generateDefineMaster", { enumerable: true, get: function () { return connectivy_1.generateDefineMaster; } });
Object.defineProperty(exports, "generatePingServices", { enumerable: true, get: function () { return connectivy_1.generatePingServices; } });
Object.defineProperty(exports, "waitForDispatcher", { enumerable: true, get: function () { return connectivy_1.waitForDispatcher; } });
const data_1 = require("./data");
Object.defineProperty(exports, "enablingSyncingData", { enumerable: true, get: function () { return data_1.enablingSyncingData; } });
/**
* Helper to define simpler names for the Services
*/
exports.SERVICES_NAME = {
defineMaster: connectivy_1.generateDefineMaster,
pingService: connectivy_1.generatePingServices,
timeSyncingService: connectivy_1.enableTimeSyncing,
syncingDataService: data_1.enablingSyncingData,
};
/**
* Helper, which will enable all BaseServices
*
* @author M.Karkowski
* @export
* @param {INopeDispatcher} dispatcher The Dispatcher to use.
* @param {{
* services?: Array<keyof typeof SERVICES_NAME>;
* }} [opts]
* @return The provided Functions.
*/
async function addAllBaseServices(dispatcher, opts = {}) {
await dispatcher.ready.waitFor();
let services = {};
if (opts.services) {
for (const name of opts.services) {
services = Object.assign(services, await exports.SERVICES_NAME[name](dispatcher));
}
}
else {
for (const name in exports.SERVICES_NAME) {
services = Object.assign(services, await exports.SERVICES_NAME[name](dispatcher));
}
}
return services;
}
exports.addAllBaseServices = addAllBaseServices;