UNPKG

scriptable-testlab

Version:

A lightweight, efficient tool designed to manage and update scripts for Scriptable.

85 lines 2.99 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var system_exports = {}; __export(system_exports, { SystemState: () => SystemState }); module.exports = __toCommonJS(system_exports); var import_events = require("events"); const STATE_CHANGE_EVENT = "stateChange"; var SystemState; ((SystemState2) => { const emitter = new import_events.EventEmitter(); let state = {}; function getState() { return { ...state }; } SystemState2.getState = getState; function setState(newState) { state = { ...state, ...newState }; emitter.emit(STATE_CHANGE_EVENT, getState()); } SystemState2.setState = setState; function reset() { state = {}; emitter.emit(STATE_CHANGE_EVENT, getState()); } SystemState2.reset = reset; function getAlertResponse() { return state.alertResponse; } SystemState2.getAlertResponse = getAlertResponse; function setAlertResponse(response) { setState({ alertResponse: response }); } SystemState2.setAlertResponse = setAlertResponse; function getTextFieldValue(fieldId) { return state.textFieldValues?.[fieldId]; } SystemState2.getTextFieldValue = getTextFieldValue; function setTextFieldValue(fieldId, value) { const textFieldValues = { ...state.textFieldValues || {} }; textFieldValues[fieldId] = value; setState({ textFieldValues }); } SystemState2.setTextFieldValue = setTextFieldValue; function addEventListener(event, listener) { if (event !== STATE_CHANGE_EVENT) { throw new Error(`Invalid event: ${event}`); } emitter.addListener(event, listener); } SystemState2.addEventListener = addEventListener; function removeEventListener(event, listener) { if (event !== STATE_CHANGE_EVENT) { throw new Error(`Invalid event: ${event}`); } emitter.removeListener(event, listener); } SystemState2.removeEventListener = removeEventListener; function subscribe(handler) { addEventListener(STATE_CHANGE_EVENT, handler); return () => removeEventListener(STATE_CHANGE_EVENT, handler); } SystemState2.subscribe = subscribe; })(SystemState || (SystemState = {})); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { SystemState }); //# sourceMappingURL=system.js.map