telefunc
Version:
Remote functions. Instead of API.
15 lines (14 loc) • 609 B
JavaScript
export { assertModuleScope };
import { getGlobalObject } from './getGlobalObject.js';
import { assert } from './assert.js';
const globalObject = getGlobalObject('./assertModuleScope.ts', {
loadedModules: [],
});
/** Ensure that the module's variable scope is unique (i.e. not duplicated). Which is equivalent to ensure that the module was loaded only once.
*
* We should use `assertModuleScope()` everytime we define variables on the module scope.
*/
function assertModuleScope(moduleKey) {
assert(!globalObject.loadedModules.includes(moduleKey));
globalObject.loadedModules.push(moduleKey);
}