UNPKG

nope-js-node

Version:

NoPE Runtime for Nodejs. For Browser-Support please use nope-browser

52 lines (51 loc) 2.32 kB
"use strict"; /** * @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;