UNPKG

@intuitionrobotics/thunderstorm

Version:
65 lines 2.4 kB
"use strict"; /* * Thunderstorm is a full web app framework! * * Typescript & Express backend infrastructure that natively runs on firebase function * Typescript & React frontend infrastructure * * Copyright (C) 2020 Intuition Robotics * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.dispatch_requestCompleted = exports.AbstractThunder = void 0; const thunder_dispatcher_1 = require("./thunder-dispatcher"); const module_manager_1 = require("@intuitionrobotics/ts-common/core/module-manager"); const array_tools_1 = require("@intuitionrobotics/ts-common/utils/array-tools"); class AbstractThunder extends module_manager_1.ModuleManager { constructor() { super(); this.listeners = []; this.renderApp = () => { // Stub }; this._DEBUG_FLAG.enable(false); // @ts-ignore thunder_dispatcher_1.ThunderDispatcher.listenersResolver = () => this.listeners; } static getInstance() { return AbstractThunder.instance; } init() { super.init(); this.renderApp(); return this; } setRenderApp(renderApp) { this.renderApp = renderApp; return this; } addUIListener(listener) { this.logInfo(`Register UI listener: ${listener}`); this.listeners.push(listener); } removeUIListener(listener) { this.logInfo(`Unregister UI listener: ${listener}`); (0, array_tools_1.removeItemFromArray)(this.listeners, listener); } build(onStarted) { super.build(); onStarted === null || onStarted === void 0 ? void 0 : onStarted(); } } exports.AbstractThunder = AbstractThunder; exports.dispatch_requestCompleted = new thunder_dispatcher_1.ThunderDispatcher("__onRequestCompleted"); //# sourceMappingURL=AbstractThunder.js.map