UNPKG

nope-js-browser

Version:

NoPE Runtime for the Browser. For nodejs please use nope-js-node

44 lines (43 loc) 1.44 kB
/** * @author Martin Karkowski * @email m.karkowski@zema.de * @desc [description] */ import { enableTimeSyncing, generateDefineMaster, generatePingServices, waitForDispatcher, } from "./connectivy"; import { enablingSyncingData } from "./data"; export { generateDefineMaster, generatePingServices, enableTimeSyncing as generateSyncServices, enablingSyncingData, waitForDispatcher, }; /** * Helper to define simpler names for the Services */ export const SERVICES_NAME = { defineMaster: generateDefineMaster, pingService: generatePingServices, timeSyncingService: enableTimeSyncing, syncingDataService: 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. */ export 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 SERVICES_NAME[name](dispatcher)); } } else { for (const name in SERVICES_NAME) { services = Object.assign(services, await SERVICES_NAME[name](dispatcher)); } } return services; }