mirror of
https://github.com/parnic/node-intellicenter.git
synced 2025-06-16 18:20:14 -05:00
This allows require() and import to work for even better compatibility between CJS and ESM consumers. I dislike that this kills our ability for top-level awaits in example.ts, but seeing as how my primary use case for this library is a commonjs module, I think this is a fair trade-off. Also changed "messages" to not encapsulate its export under the name "messages" to remove some repetition in importing "messages" and still needing to do "messages." to get the methods out. Now it's simple to import each message by name or group them under something like "messages" as desired on a per-library-user basis. Refs: * https://www.kravchyk.com/typescript-npm-package-json-exports/ * https://arethetypeswrong.github.io/ * https://evertpot.com/universal-commonjs-esm-typescript-packages/
30 lines
878 B
JavaScript
30 lines
878 B
JavaScript
import { ICParam } from "./param.js";
|
|
import { GetRequest, ICRequestObj } from "./request.js";
|
|
/**
|
|
* Requests to change the status of objects known to this controller.
|
|
*
|
|
* Turns one or more objects on or off. Use the `objnam` of the circuit to be set.
|
|
*
|
|
* @returns the object used to issue this request
|
|
*/
|
|
export function SetObjectStatus(object, status) {
|
|
const req = GetRequest();
|
|
req.command = "SetParamList";
|
|
req.objectList = [];
|
|
let objects;
|
|
if (Array.isArray(object)) {
|
|
objects = object;
|
|
}
|
|
else {
|
|
objects = [object];
|
|
}
|
|
for (const i of objects) {
|
|
const reqObj = new ICRequestObj();
|
|
reqObj.objnam = i;
|
|
reqObj.params = new ICParam();
|
|
reqObj.params.STATUS = status ? "ON" : "OFF";
|
|
req.objectList.push(reqObj);
|
|
}
|
|
return req;
|
|
}
|
|
//# sourceMappingURL=set-object-status.js.map
|