@ikalogic/at1000 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{at1000-Dm22ae18.mjs → at1000-C4IWLsB5.mjs} +2 -2
- package/build/{at1000-Dm22ae18.mjs.map → at1000-C4IWLsB5.mjs.map} +1 -1
- package/build/{at1000-BP0pglbW.d.mts → at1000-CLAU-6bK.d.cts} +7 -7
- package/build/{at1000-PJk1gPSR.d.cts.map → at1000-CLAU-6bK.d.cts.map} +1 -1
- package/build/at1000-DHgno6tN.cjs +2 -0
- package/build/{at1000-CYNSd3Yp.cjs.map → at1000-DHgno6tN.cjs.map} +1 -1
- package/build/{at1000-PJk1gPSR.d.cts → at1000-DQH1Wh8F.d.mts} +7 -7
- package/build/{at1000-BP0pglbW.d.mts.map → at1000-DQH1Wh8F.d.mts.map} +1 -1
- package/build/browser.cjs +1 -1
- package/build/browser.d.cts +8 -8
- package/build/browser.d.mts +8 -8
- package/build/browser.mjs +1 -1
- package/build/{com-BNsFbKeD.d.mts → com-BpvKDtok.d.cts} +25 -25
- package/build/com-BpvKDtok.d.cts.map +1 -0
- package/build/{com-qCDie6XG.d.cts → com-D8lyypKh.d.mts} +25 -25
- package/build/com-D8lyypKh.d.mts.map +1 -0
- package/build/{com-B1QZqhWz.cjs → com-JaZkZAlG.cjs} +2 -2
- package/build/{com-B1QZqhWz.cjs.map → com-JaZkZAlG.cjs.map} +1 -1
- package/build/{com-9odKA1Fj.mjs → com-VtVWh7gI.mjs} +2 -2
- package/build/{com-9odKA1Fj.mjs.map → com-VtVWh7gI.mjs.map} +1 -1
- package/build/com.cjs +1 -1
- package/build/com.d.cts +1 -1
- package/build/com.d.mts +1 -1
- package/build/com.mjs +1 -1
- package/build/common-B6_Yo59b.mjs +2 -0
- package/build/{common-DSzy5K03.mjs.map → common-B6_Yo59b.mjs.map} +1 -1
- package/build/{common-ClinPNdn.d.mts → common-DAOxX-Zx.d.cts} +1 -1
- package/build/{common-ClinPNdn.d.mts.map → common-DAOxX-Zx.d.cts.map} +1 -1
- package/build/common-DBMgtoTL.cjs +2 -0
- package/build/{common-ix04NEFn.cjs.map → common-DBMgtoTL.cjs.map} +1 -1
- package/build/{common-CsBdb633.d.cts → common-SiysH9tt.d.mts} +1 -1
- package/build/{common-CsBdb633.d.cts.map → common-SiysH9tt.d.mts.map} +1 -1
- package/build/{gpio-CHQBPi-F.d.mts → gpio-BWWyeo8o.d.cts} +68 -23
- package/build/gpio-BWWyeo8o.d.cts.map +1 -0
- package/build/gpio-Bz0JdP3l.cjs +2 -0
- package/build/gpio-Bz0JdP3l.cjs.map +1 -0
- package/build/gpio-CGsMbcQN.mjs +2 -0
- package/build/gpio-CGsMbcQN.mjs.map +1 -0
- package/build/{gpio-Cp-OTdEv.d.cts → gpio-MW3n1K2g.d.mts} +68 -23
- package/build/gpio-MW3n1K2g.d.mts.map +1 -0
- package/build/gpio.cjs +1 -1
- package/build/gpio.d.cts +3 -3
- package/build/gpio.d.mts +3 -3
- package/build/gpio.mjs +1 -1
- package/build/{hmi-BY5MO6bQ.d.cts → hmi-C1-vU40b.d.cts} +5 -5
- package/build/{hmi-CdttEybP.d.mts.map → hmi-C1-vU40b.d.cts.map} +1 -1
- package/build/{hmi-CdttEybP.d.mts → hmi-CIOjZVch.d.mts} +5 -5
- package/build/{hmi-BY5MO6bQ.d.cts.map → hmi-CIOjZVch.d.mts.map} +1 -1
- package/build/hmi-CocSngQM.mjs +2 -0
- package/build/hmi-CocSngQM.mjs.map +1 -0
- package/build/hmi-DCplypi6.cjs +2 -0
- package/build/hmi-DCplypi6.cjs.map +1 -0
- package/build/hmi.cjs +1 -1
- package/build/hmi.d.cts +1 -1
- package/build/hmi.d.mts +1 -1
- package/build/hmi.mjs +1 -1
- package/build/management-B9Tdk00K.cjs +2 -0
- package/build/{management-PEkkZaQ3.cjs.map → management-B9Tdk00K.cjs.map} +1 -1
- package/build/{management-COw5z8sl.d.cts → management-BIDVdvlQ.d.cts} +1 -1
- package/build/{management-COw5z8sl.d.cts.map → management-BIDVdvlQ.d.cts.map} +1 -1
- package/build/{management-CGmaS4-D.mjs → management-CXGT-yoC.mjs} +1 -1
- package/build/{management-CGmaS4-D.mjs.map → management-CXGT-yoC.mjs.map} +1 -1
- package/build/{management-CinGOMF_.d.mts → management-CwNeejKZ.d.mts} +1 -1
- package/build/{management-CinGOMF_.d.mts.map → management-CwNeejKZ.d.mts.map} +1 -1
- package/build/management.cjs +1 -1
- package/build/management.d.cts +1 -1
- package/build/management.d.mts +1 -1
- package/build/management.mjs +1 -1
- package/build/node.cjs +1 -1
- package/build/node.cjs.map +1 -1
- package/build/node.d.cts +8 -8
- package/build/node.d.mts +8 -8
- package/build/node.mjs +1 -1
- package/build/power-1yzD9ymI.cjs +2 -0
- package/build/power-1yzD9ymI.cjs.map +1 -0
- package/build/{power-B-Zc-SK6.d.cts → power-BQQQElr8.d.mts} +51 -51
- package/build/{power-B-Zc-SK6.d.cts.map → power-BQQQElr8.d.mts.map} +1 -1
- package/build/power-DqULYfeX.mjs +2 -0
- package/build/power-DqULYfeX.mjs.map +1 -0
- package/build/{power-knJhVejG.d.mts → power-V9pMltIX.d.cts} +51 -51
- package/build/{power-knJhVejG.d.mts.map → power-V9pMltIX.d.cts.map} +1 -1
- package/build/power.cjs +1 -1
- package/build/power.d.cts +3 -3
- package/build/power.d.mts +3 -3
- package/build/power.mjs +1 -1
- package/build/{relays-I7rKvd13.mjs → relays-BPQj7abl.mjs} +1 -1
- package/build/{relays-I7rKvd13.mjs.map → relays-BPQj7abl.mjs.map} +1 -1
- package/build/{relays-BR6408vm.d.mts → relays-Bn8LBgWl.d.cts} +1 -1
- package/build/{relays-BR6408vm.d.mts.map → relays-Bn8LBgWl.d.cts.map} +1 -1
- package/build/{relays-CoF1h8ZQ.d.cts → relays-CkBk7SOg.d.mts} +1 -1
- package/build/{relays-CoF1h8ZQ.d.cts.map → relays-CkBk7SOg.d.mts.map} +1 -1
- package/build/{relays-D_kWwwIR.cjs → relays-Mo3ywliK.cjs} +2 -2
- package/build/{relays-D_kWwwIR.cjs.map → relays-Mo3ywliK.cjs.map} +1 -1
- package/build/relays.cjs +1 -1
- package/build/relays.d.cts +1 -1
- package/build/relays.d.mts +1 -1
- package/build/relays.mjs +1 -1
- package/package.json +5 -5
- package/build/at1000-CYNSd3Yp.cjs +0 -2
- package/build/com-BNsFbKeD.d.mts.map +0 -1
- package/build/com-qCDie6XG.d.cts.map +0 -1
- package/build/common-DSzy5K03.mjs +0 -2
- package/build/common-ix04NEFn.cjs +0 -2
- package/build/gpio-BRimmVQo.cjs +0 -2
- package/build/gpio-BRimmVQo.cjs.map +0 -1
- package/build/gpio-CHQBPi-F.d.mts.map +0 -1
- package/build/gpio-Cp-OTdEv.d.cts.map +0 -1
- package/build/gpio-nD6e5nNZ.mjs +0 -2
- package/build/gpio-nD6e5nNZ.mjs.map +0 -1
- package/build/hmi-DVUFmRMo.cjs +0 -2
- package/build/hmi-DVUFmRMo.cjs.map +0 -1
- package/build/hmi-dJ8Y4DVD.mjs +0 -2
- package/build/hmi-dJ8Y4DVD.mjs.map +0 -1
- package/build/management-PEkkZaQ3.cjs +0 -2
- package/build/power-B1rs9Bqf.mjs +0 -2
- package/build/power-B1rs9Bqf.mjs.map +0 -1
- package/build/power-BpI1_Yav.cjs +0 -2
- package/build/power-BpI1_Yav.cjs.map +0 -1
- /package/build/{chunk-DjWAcSYV.cjs → chunk-Bmb41Sf3.cjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-
|
|
1
|
+
{"version":3,"file":"power-V9pMltIX.d.cts","names":[],"sources":["../src/api/power.ts"],"sourcesContent":[],"mappings":"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"}
|
package/build/power.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./common-
|
|
1
|
+
require(`./common-DBMgtoTL.cjs`);const e=require(`./power-1yzD9ymI.cjs`);exports.Dut=e.t,exports.PowerApi=e.n,exports.RelayPower=e.r,exports.Usb=e.i;
|
package/build/power.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as AnalogOutputLevel } from "./common-
|
|
2
|
-
import "./management-
|
|
3
|
-
import { a as RelayPower, c as UsbConfiguration, i as PowerApi, l as UsbState, n as DutConfiguration, o as RelayState, r as DutState, s as Usb, t as Dut } from "./power-
|
|
1
|
+
import { t as AnalogOutputLevel } from "./common-DAOxX-Zx.cjs";
|
|
2
|
+
import "./management-BIDVdvlQ.cjs";
|
|
3
|
+
import { a as RelayPower, c as UsbConfiguration, i as PowerApi, l as UsbState, n as DutConfiguration, o as RelayState, r as DutState, s as Usb, t as Dut } from "./power-V9pMltIX.cjs";
|
|
4
4
|
export { AnalogOutputLevel, Dut, DutConfiguration, DutState, PowerApi, RelayPower, RelayState, Usb, UsbConfiguration, UsbState };
|
package/build/power.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as AnalogOutputLevel } from "./common-
|
|
2
|
-
import "./management-
|
|
3
|
-
import { a as RelayPower, c as UsbConfiguration, i as PowerApi, l as UsbState, n as DutConfiguration, o as RelayState, r as DutState, s as Usb, t as Dut } from "./power-
|
|
1
|
+
import { t as AnalogOutputLevel } from "./common-SiysH9tt.mjs";
|
|
2
|
+
import "./management-CwNeejKZ.mjs";
|
|
3
|
+
import { a as RelayPower, c as UsbConfiguration, i as PowerApi, l as UsbState, n as DutConfiguration, o as RelayState, r as DutState, s as Usb, t as Dut } from "./power-BQQQElr8.mjs";
|
|
4
4
|
export { AnalogOutputLevel, Dut, DutConfiguration, DutState, PowerApi, RelayPower, RelayState, Usb, UsbConfiguration, UsbState };
|
package/build/power.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./common-
|
|
1
|
+
import"./common-B6_Yo59b.mjs";import{i as e,n as t,r as n,t as r}from"./power-DqULYfeX.mjs";export{r as Dut,t as PowerApi,n as RelayPower,e as Usb};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import*as e from"valibot";const t=e.picklist([`open`,`closed`]),n=e.array(t),r=e.object({state:t}),i=e.picklist([`open`,`close`]);e.object({action:i});var a=class{constructor(e){this.fetch=e}reset(){return this.fetch(`/relays/reset`,{method:`POST`,parseResponse:()=>{}})}relay(e){return new o(this.fetch,e)}read(){return this.fetch(`/relays`,{schema:n})}open(){return this.fetch(`/relays`,{method:`POST`,body:{action:`open`},schema:n})}close(){return this.fetch(`/relays`,{method:`POST`,body:{action:`close`},schema:n})}},o=class{constructor(e,t){this.fetch=e,this.id=t}async read(){return(await this.fetch(`/relays/${this.id}`,{schema:r})).state}async is_open(){return await this.read()===`open`}async is_closed(){return await this.read()===`closed`}async open(){return(await this.fetch(`/relays/${this.id}`,{method:`POST`,body:{action:`open`},schema:r})).state}async close(){return(await this.fetch(`/relays/${this.id}`,{method:`POST`,body:{action:`close`},schema:r})).state}};export{a as n,o as t};
|
|
2
|
-
//# sourceMappingURL=relays-
|
|
2
|
+
//# sourceMappingURL=relays-BPQj7abl.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relays-
|
|
1
|
+
{"version":3,"file":"relays-BPQj7abl.mjs","names":["fetch: UpFetch","id: number"],"sources":["../src/api/relays.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nconst state = v.picklist(['open', 'closed']);\nexport type State = v.InferOutput<typeof state>;\nconst states = v.array(state);\nexport type States = v.InferOutput<typeof states>;\nconst relayState = v.object({ state: state });\n\nconst action = v.picklist(['open', 'close']);\nconst relayAction = v.object({ action: action });\ntype RelayAction = v.InferOutput<typeof relayAction>;\n\n/** @hideconstructor */\nexport class RelaysApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Resets all relays to their default state.\n */\n reset() {\n return this.fetch('/relays/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific relay by id.\n * @param id The relay id.\n * @returns The relay instance.\n */\n relay(id: number): Relay {\n return new Relay(this.fetch, id);\n }\n\n /**\n * Reads the state of all relays.\n * @returns The state of all relays.\n */\n read(): Promise<States> {\n return this.fetch(`/relays`, { schema: states });\n }\n\n /**\n * Opens all the relays.\n * @returns The new state of all relays.\n */\n open(): Promise<States> {\n return this.fetch(`/relays`, {\n method: 'POST',\n body: { action: 'open' } satisfies RelayAction,\n schema: states,\n });\n }\n\n /**\n * Closes all the relays.\n * @returns The new state of all relays.\n */\n close(): Promise<States> {\n return this.fetch(`/relays`, {\n method: 'POST',\n body: { action: 'close' } satisfies RelayAction,\n schema: states,\n });\n }\n}\n\n/** @hideconstructor */\nexport class Relay {\n constructor(\n private readonly fetch: UpFetch,\n /**\n * The relay id.\n */\n public readonly id: number,\n ) {}\n\n /**\n * Reads the state of the relay.\n * @returns The relay state.\n */\n async read(): Promise<State> {\n return (await this.fetch(`/relays/${this.id}`, { schema: relayState })).state;\n }\n\n /**\n * Returns whether the relay is open.\n * @returns True if the relay is open, false otherwise.\n */\n async is_open(): Promise<boolean> {\n return (await this.read()) === 'open';\n }\n\n /**\n * Returns whether the relay is closed.\n * @returns True if the relay is closed, false otherwise.\n */\n async is_closed(): Promise<boolean> {\n return (await this.read()) === 'closed';\n }\n\n /**\n * Opens the relay.\n * @returns The new relay state.\n */\n async open(): Promise<State> {\n return (await this.fetch(`/relays/${this.id}`, {\n method: 'POST',\n body: { action: 'open' } satisfies RelayAction,\n schema: relayState,\n }))\n .state;\n }\n\n /**\n * Closes the relay.\n * @returns The new relay state.\n */\n async close(): Promise<State> {\n return (await this.fetch(`/relays/${this.id}`, {\n method: 'POST',\n body: { action: 'close' } satisfies RelayAction,\n schema: relayState,\n }))\n .state;\n }\n}\n"],"mappings":"0BAGA,MAAM,EAAQ,EAAE,SAAS,CAAC,OAAQ,SAAS,CAAC,CAEtC,EAAS,EAAE,MAAM,EAAM,CAEvB,EAAa,EAAE,OAAO,CAAS,QAAO,CAAC,CAEvC,EAAS,EAAE,SAAS,CAAC,OAAQ,QAAQ,CAAC,CACxB,EAAE,OAAO,CAAU,SAAQ,CAAC,CAIhD,IAAa,EAAb,KAAuB,CACrB,YAAY,EAAiC,CAAhB,KAAA,MAAA,EAK7B,OAAQ,CACN,OAAO,KAAK,MAAM,gBAAiB,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAQjF,MAAM,EAAmB,CACvB,OAAO,IAAI,EAAM,KAAK,MAAO,EAAG,CAOlC,MAAwB,CACtB,OAAO,KAAK,MAAM,UAAW,CAAE,OAAQ,EAAQ,CAAC,CAOlD,MAAwB,CACtB,OAAO,KAAK,MAAM,UAAW,CAC3B,OAAQ,OACR,KAAM,CAAE,OAAQ,OAAQ,CACxB,OAAQ,EACT,CAAC,CAOJ,OAAyB,CACvB,OAAO,KAAK,MAAM,UAAW,CAC3B,OAAQ,OACR,KAAM,CAAE,OAAQ,QAAS,CACzB,OAAQ,EACT,CAAC,GAKO,EAAb,KAAmB,CACjB,YACE,EAIA,EACA,CALiB,KAAA,MAAA,EAID,KAAA,GAAA,EAOlB,MAAM,MAAuB,CAC3B,OAAQ,MAAM,KAAK,MAAM,WAAW,KAAK,KAAM,CAAE,OAAQ,EAAY,CAAC,EAAE,MAO1E,MAAM,SAA4B,CAChC,OAAQ,MAAM,KAAK,MAAM,GAAM,OAOjC,MAAM,WAA8B,CAClC,OAAQ,MAAM,KAAK,MAAM,GAAM,SAOjC,MAAM,MAAuB,CAC3B,OAAQ,MAAM,KAAK,MAAM,WAAW,KAAK,KAAM,CAC7C,OAAQ,OACR,KAAM,CAAE,OAAQ,OAAQ,CACxB,OAAQ,EACT,CAAC,EACC,MAOL,MAAM,OAAwB,CAC5B,OAAQ,MAAM,KAAK,MAAM,WAAW,KAAK,KAAM,CAC7C,OAAQ,OACR,KAAM,CAAE,OAAQ,QAAS,CACzB,OAAQ,EACT,CAAC,EACC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relays-
|
|
1
|
+
{"version":3,"file":"relays-Bn8LBgWl.d.cts","names":[],"sources":["../src/api/relays.ts"],"sourcesContent":[],"mappings":";;;;cAGM,OAAK,CAAA,CAAA;KACC,KAAA,GAAQ,CAAA,CAAE,mBAAmB;AAHZ,cAIvB,MAFsC,EAEhC,CAAA,CAAA,WAFD,CAEC,CAAA,CAAA,cAFD,CAAA,CAAA,MAAA,EAAA,QAAA,CAAA,EAAA,SAAA,CAAA,EAAA,SAAA,CAAA;AACC,KAEA,MAAA,GAAS,CAAA,CAAE,WAFD,CAAA,OAEoB,MAFT,CAAA;AAAe;AAEpC,cAQC,SAAA,CAR6B;EAQ7B,iBAAS,KAAA;EACgB,WAAA,CAAA,KAAA,EAAA,OAAA;EAK/B;;;EAiBG,KAAA,CAAA,CAAA,EAjBH,OAiBG,CAAA,IAAA,CAAA;EAQQ;;;;;EAsBL,KAAA,CAAA,EAAK,EAAA,MAAA,CAAA,EAtCG,KAsCH;EAEU;;;;EA2BP,IAAA,CAAA,CAAA,EA3DX,OA2DW,CA3DH,MA2DG,CAAA;EAQG;;;;EAaA,IAAA,CAAA,CAAA,EAxEd,OAwEc,CAxEN,MAwEM,CAAA;;;;;WA5Db,QAAQ;;;cAUN,KAAA;;;;;;qBAEe;;;;;;;;;UAWZ,QAAQ;;;;;aAQL;;;;;eAQE;;;;;UAQL,QAAQ;;;;;WAaP,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relays-
|
|
1
|
+
{"version":3,"file":"relays-CkBk7SOg.d.mts","names":[],"sources":["../src/api/relays.ts"],"sourcesContent":[],"mappings":";;;;cAGM,OAAK,CAAA,CAAA;KACC,KAAA,GAAQ,CAAA,CAAE,mBAAmB;AAHZ,cAIvB,MAFsC,EAEhC,CAAA,CAAA,WAFD,CAEC,CAAA,CAAA,cAFD,CAAA,CAAA,MAAA,EAAA,QAAA,CAAA,EAAA,SAAA,CAAA,EAAA,SAAA,CAAA;AACC,KAEA,MAAA,GAAS,CAAA,CAAE,WAFD,CAAA,OAEoB,MAFT,CAAA;AAAe;AAEpC,cAQC,SAAA,CAR6B;EAQ7B,iBAAS,KAAA;EACgB,WAAA,CAAA,KAAA,EAAA,OAAA;EAK/B;;;EAiBG,KAAA,CAAA,CAAA,EAjBH,OAiBG,CAAA,IAAA,CAAA;EAQQ;;;;;EAsBL,KAAA,CAAA,EAAK,EAAA,MAAA,CAAA,EAtCG,KAsCH;EAEU;;;;EA2BP,IAAA,CAAA,CAAA,EA3DX,OA2DW,CA3DH,MA2DG,CAAA;EAQG;;;;EAaA,IAAA,CAAA,CAAA,EAxEd,OAwEc,CAxEN,MAwEM,CAAA;;;;;WA5Db,QAAQ;;;cAUN,KAAA;;;;;;qBAEe;;;;;;;;;UAWZ,QAAQ;;;;;aAQL;;;;;eAQE;;;;;UAQL,QAAQ;;;;;WAaP,QAAQ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-
|
|
2
|
-
//# sourceMappingURL=relays-
|
|
1
|
+
const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`valibot`);t=e.t(t);const n=t.picklist([`open`,`closed`]),r=t.array(n),i=t.object({state:n}),a=t.picklist([`open`,`close`]);t.object({action:a});var o=class{constructor(e){this.fetch=e}reset(){return this.fetch(`/relays/reset`,{method:`POST`,parseResponse:()=>{}})}relay(e){return new s(this.fetch,e)}read(){return this.fetch(`/relays`,{schema:r})}open(){return this.fetch(`/relays`,{method:`POST`,body:{action:`open`},schema:r})}close(){return this.fetch(`/relays`,{method:`POST`,body:{action:`close`},schema:r})}},s=class{constructor(e,t){this.fetch=e,this.id=t}async read(){return(await this.fetch(`/relays/${this.id}`,{schema:i})).state}async is_open(){return await this.read()===`open`}async is_closed(){return await this.read()===`closed`}async open(){return(await this.fetch(`/relays/${this.id}`,{method:`POST`,body:{action:`open`},schema:i})).state}async close(){return(await this.fetch(`/relays/${this.id}`,{method:`POST`,body:{action:`close`},schema:i})).state}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
2
|
+
//# sourceMappingURL=relays-Mo3ywliK.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relays-
|
|
1
|
+
{"version":3,"file":"relays-Mo3ywliK.cjs","names":["v","fetch: UpFetch","id: number"],"sources":["../src/api/relays.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nconst state = v.picklist(['open', 'closed']);\nexport type State = v.InferOutput<typeof state>;\nconst states = v.array(state);\nexport type States = v.InferOutput<typeof states>;\nconst relayState = v.object({ state: state });\n\nconst action = v.picklist(['open', 'close']);\nconst relayAction = v.object({ action: action });\ntype RelayAction = v.InferOutput<typeof relayAction>;\n\n/** @hideconstructor */\nexport class RelaysApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Resets all relays to their default state.\n */\n reset() {\n return this.fetch('/relays/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific relay by id.\n * @param id The relay id.\n * @returns The relay instance.\n */\n relay(id: number): Relay {\n return new Relay(this.fetch, id);\n }\n\n /**\n * Reads the state of all relays.\n * @returns The state of all relays.\n */\n read(): Promise<States> {\n return this.fetch(`/relays`, { schema: states });\n }\n\n /**\n * Opens all the relays.\n * @returns The new state of all relays.\n */\n open(): Promise<States> {\n return this.fetch(`/relays`, {\n method: 'POST',\n body: { action: 'open' } satisfies RelayAction,\n schema: states,\n });\n }\n\n /**\n * Closes all the relays.\n * @returns The new state of all relays.\n */\n close(): Promise<States> {\n return this.fetch(`/relays`, {\n method: 'POST',\n body: { action: 'close' } satisfies RelayAction,\n schema: states,\n });\n }\n}\n\n/** @hideconstructor */\nexport class Relay {\n constructor(\n private readonly fetch: UpFetch,\n /**\n * The relay id.\n */\n public readonly id: number,\n ) {}\n\n /**\n * Reads the state of the relay.\n * @returns The relay state.\n */\n async read(): Promise<State> {\n return (await this.fetch(`/relays/${this.id}`, { schema: relayState })).state;\n }\n\n /**\n * Returns whether the relay is open.\n * @returns True if the relay is open, false otherwise.\n */\n async is_open(): Promise<boolean> {\n return (await this.read()) === 'open';\n }\n\n /**\n * Returns whether the relay is closed.\n * @returns True if the relay is closed, false otherwise.\n */\n async is_closed(): Promise<boolean> {\n return (await this.read()) === 'closed';\n }\n\n /**\n * Opens the relay.\n * @returns The new relay state.\n */\n async open(): Promise<State> {\n return (await this.fetch(`/relays/${this.id}`, {\n method: 'POST',\n body: { action: 'open' } satisfies RelayAction,\n schema: relayState,\n }))\n .state;\n }\n\n /**\n * Closes the relay.\n * @returns The new relay state.\n */\n async close(): Promise<State> {\n return (await this.fetch(`/relays/${this.id}`, {\n method: 'POST',\n body: { action: 'close' } satisfies RelayAction,\n schema: relayState,\n }))\n .state;\n }\n}\n"],"mappings":"0EAGA,MAAM,EAAQA,EAAE,SAAS,CAAC,OAAQ,SAAS,CAAC,CAEtC,EAASA,EAAE,MAAM,EAAM,CAEvB,EAAaA,EAAE,OAAO,CAAS,QAAO,CAAC,CAEvC,EAASA,EAAE,SAAS,CAAC,OAAQ,QAAQ,CAAC,CACxBA,EAAE,OAAO,CAAU,SAAQ,CAAC,CAIhD,IAAa,EAAb,KAAuB,CACrB,YAAY,EAAiC,CAAhB,KAAA,MAAA,EAK7B,OAAQ,CACN,OAAO,KAAK,MAAM,gBAAiB,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAQjF,MAAM,EAAmB,CACvB,OAAO,IAAI,EAAM,KAAK,MAAO,EAAG,CAOlC,MAAwB,CACtB,OAAO,KAAK,MAAM,UAAW,CAAE,OAAQ,EAAQ,CAAC,CAOlD,MAAwB,CACtB,OAAO,KAAK,MAAM,UAAW,CAC3B,OAAQ,OACR,KAAM,CAAE,OAAQ,OAAQ,CACxB,OAAQ,EACT,CAAC,CAOJ,OAAyB,CACvB,OAAO,KAAK,MAAM,UAAW,CAC3B,OAAQ,OACR,KAAM,CAAE,OAAQ,QAAS,CACzB,OAAQ,EACT,CAAC,GAKO,EAAb,KAAmB,CACjB,YACE,EAIA,EACA,CALiB,KAAA,MAAA,EAID,KAAA,GAAA,EAOlB,MAAM,MAAuB,CAC3B,OAAQ,MAAM,KAAK,MAAM,WAAW,KAAK,KAAM,CAAE,OAAQ,EAAY,CAAC,EAAE,MAO1E,MAAM,SAA4B,CAChC,OAAQ,MAAM,KAAK,MAAM,GAAM,OAOjC,MAAM,WAA8B,CAClC,OAAQ,MAAM,KAAK,MAAM,GAAM,SAOjC,MAAM,MAAuB,CAC3B,OAAQ,MAAM,KAAK,MAAM,WAAW,KAAK,KAAM,CAC7C,OAAQ,OACR,KAAM,CAAE,OAAQ,OAAQ,CACxB,OAAQ,EACT,CAAC,EACC,MAOL,MAAM,OAAwB,CAC5B,OAAQ,MAAM,KAAK,MAAM,WAAW,KAAK,KAAM,CAC7C,OAAQ,OACR,KAAM,CAAE,OAAQ,QAAS,CACzB,OAAQ,EACT,CAAC,EACC"}
|
package/build/relays.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./relays-
|
|
1
|
+
const e=require(`./relays-Mo3ywliK.cjs`);exports.Relay=e.t,exports.RelaysApi=e.n;
|
package/build/relays.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as States, n as RelaysApi, r as State, t as Relay } from "./relays-
|
|
1
|
+
import { i as States, n as RelaysApi, r as State, t as Relay } from "./relays-Bn8LBgWl.cjs";
|
|
2
2
|
export { Relay, RelaysApi, State, States };
|
package/build/relays.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as States, n as RelaysApi, r as State, t as Relay } from "./relays-
|
|
1
|
+
import { i as States, n as RelaysApi, r as State, t as Relay } from "./relays-CkBk7SOg.mjs";
|
|
2
2
|
export { Relay, RelaysApi, State, States };
|
package/build/relays.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./relays-
|
|
1
|
+
import{n as e,t}from"./relays-BPQj7abl.mjs";export{t as Relay,e as RelaysApi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ikalogic/at1000",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "Ikalogic AT1000 API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/node.cjs",
|
|
@@ -103,18 +103,18 @@
|
|
|
103
103
|
},
|
|
104
104
|
"dependencies": {
|
|
105
105
|
"dns-packet": "^5.6.1",
|
|
106
|
-
"ip-address": "^10.0
|
|
106
|
+
"ip-address": "^10.1.0",
|
|
107
107
|
"up-fetch": "^2.5.0",
|
|
108
108
|
"valibot": "^1.1.0"
|
|
109
109
|
},
|
|
110
110
|
"devDependencies": {
|
|
111
111
|
"@arethetypeswrong/core": "^0.18.2",
|
|
112
|
-
"@types/bun": "^1.3.
|
|
112
|
+
"@types/bun": "^1.3.3",
|
|
113
113
|
"@types/dns-packet": "^5.6.5",
|
|
114
|
-
"@types/node": "^24.10.
|
|
114
|
+
"@types/node": "^24.10.1",
|
|
115
115
|
"@typhonjs-typedoc/typedoc-pkg": "^0.4.0",
|
|
116
116
|
"publint": "^0.3.15",
|
|
117
|
-
"tsdown": "^0.
|
|
117
|
+
"tsdown": "^0.16.6",
|
|
118
118
|
"typedoc": "^0.28.14",
|
|
119
119
|
"typescript": "^5.9.3"
|
|
120
120
|
},
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-DjWAcSYV.cjs`),t=require(`./com-B1QZqhWz.cjs`),n=require(`./gpio-BRimmVQo.cjs`),r=require(`./hmi-DVUFmRMo.cjs`),i=require(`./management-PEkkZaQ3.cjs`),a=require(`./power-BpI1_Yav.cjs`),o=require(`./relays-D_kWwwIR.cjs`);let s=require(`up-fetch`);s=e.t(s);var c=class e{host;device;fetch;com;hmi;gpio;management;power;relays;constructor(e,c){this.host=e,this.device=c,this.fetch=(0,s.up)(fetch,()=>({baseUrl:`http://${this.host}/v0`,timeout:1e3,parseRejected:async(e,t)=>{let n,r=e.headers.get(`content-type`);try{n=r?.includes(`application/json`)?await e.json():await e.text()}catch{n=`Failed to parse response body`}throw typeof n==`object`&&[`code`,`message`,`suggestion`,`path`].every(e=>e in n)?Error(`${n.message} (${n.code})\n Suggestion: ${n.suggestion}\n Path: ${n.path}`):Error(`API request to ${t.method} ${e.url} failed with status ${e.status}: ${typeof n==`string`?n:JSON.stringify(n)}`)}})),this.com=new t.n(this.fetch),this.hmi=new r.n(this.fetch),this.gpio=new n.r(this.fetch,this.device),this.management=new i.n(this.fetch),this.power=new a.n(this.fetch,this.device),this.relays=new o.n(this.fetch)}async reset(){await this.com.reset(),await this.hmi.reset(),await this.gpio.reset(),await this.power.reset(),await this.relays.reset()}static create=async t=>new e(t,await new i.n((0,s.up)(fetch,()=>({baseUrl:`http://${t}/v0`,timeout:1e3}))).device())};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
|
|
2
|
-
//# sourceMappingURL=at1000-CYNSd3Yp.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"com-BNsFbKeD.d.mts","names":[],"sources":["../src/api/com.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"com-qCDie6XG.d.cts","names":[],"sources":["../src/api/com.ts"],"sourcesContent":[],"mappings":";;;;cAGM,UAAQ,CAAA,CAAA;;EAAR,SAAA,IAGJ,kBAAA,CAAA,SAAA,cAAA,eAAA,CAAA,SAAA,CAAA,EAAA,SAAA,CAAA,mBAAA,CAAA,MAAA,EAAA,EAAA,CAAA,EAAA,SAAA,CAAA,mBAAA,CAAA,MAAA,EAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;KACU,QAAA,GAAW,CAAA,CAAE,mBAAmB;cAEtC,YAAU,CAAA,CAAA,yBAAA,CAAA,CAAA,YAAA,CAAA,CAAA,qCAAA,CAAA,CAAA,yCAAA,CAAA,CAAA;KACJ,UAAA,GAAa,CAAA,CAAE,mBAAmB;cAQxC,oBAAkB,CAAA,CAAA,iBAAA,KAAA,CAAA,CAAA;;EAfV,SAAA,KAAA,iBAAA,CAAA,SAAA,CAAA;EAAA,SAAA,IAAA,iBAAA,CAAA,SAAA,CAAA;EAIF,SAAA,cAAgC,iBAAnB,CAAA,SAAW,CAAA;AAAkB,CAAA,EAAA,SAEhD,CAAA,EAAA,WAA2E,GAAA,QAAA,GAAA,MAAA,GAAA,SAAA,CAAA,GAAA;EAAjE,SAAA,OAAA,EAAA;IAAA,SAAA,OAAA,gBAAA,CAAA,SAAA,CAAA;IAAA,SAAA,KAAA,kBAAA,gBAAA,CAAA,SAAA,CAAA,EAAA,SAAA,CAAA;IAAA,SAAA,IAAA,kBAAA,gBAAA,CAAA,SAAA,CAAA,EAAA,SAAA,CAAA;IAAA,SAAA,cAAA,kBAAA,gBAAA,CAAA,SAAA,CAAA,EAAA,SAAA,CAAA;EAAA,CAAA;EACJ,SAAA,WAAU,iBAAG,CAAA;IAQnB,OAAA,EAAA,MAAA;;;;;IAAkB,OAAA,EAAA,MAAA;IAAA,KAAA,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;EAAA,CAAA,GAAA,SAAA;CAAA,gBAAA,CAAA;EAInB,SAAA,MAAA,kBAA0C,CAAA,SAAA,eAAnB,CAAA,SAAW,CAAA,kBAAA,CAAA,MAAA,EAAA,CAAA,EAAA,SAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAAA,CAAA,EAAA,SACjC,CAAA,CAAA,EAAA,SAAA,CAGJ;KAJG,kBAAA,GAAqB,CAAA,CAAE,mBAAmB;cACzC,qBAAmB,CAAA,CAAA,iBAAA,KAAA,CAAA,CAAA;;;EAAA,SAAA,IAAA,iBAAA,CAAA,SAAA,CAAA;EAAA,SAAA,cAAA,iBAAA,CAAA,SAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;EAAA,SAAA,QAAA,CAAA,EAAA;IAAA,SAAA,KAAA,EAAA;MAIpB,OAAA,EAAA,MAAmB;MAElB,KAMJ,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;;;;MANa,cAAA,CAAA,EAAA,OAAA,GAAA,SAAA;IAAA,CAAA;IAOH,SAAS,KAAA,gBAAwB,gBAAR,gBAAA;EAC/B,CAAA,GAAA,SAAA;;;;KAVD,mBAAA,GAAsB,CAAA,CAAE,mBAAmB;cAE1C,WAAS,CAAA,CAAA;;;EAQK,SAAA,qBAAA,iBAAA,CAAA,SAAA,CAAA;EAAA,SAAA,SAAA,gBAAA,CAAA;;;;;;KADR,SAAA,GAAY,CAAA,CAAE,mBAAmB;cACvC,gBAAc,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;EACR,CAAA;EAEN,SAAA,WAGJ,iBAAA,CAAA;;;;;;MAHe,EAAA,EAAA,MAAA;MAAA,IAAA,EAAA,MAAA;IAIL,CAAA,GAAA,SAAW;EACjB,CAAA,EAAA;;;;;;MAAgB,EAAA,EAAA,MAAA;MAAA,IAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;IACV,SAAA,MAAgB,EAAA;MAEtB,OAIJ,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;;;MAJe,CAAA,GAAA,SAAA;IAAA,CAAA;IAKL,SAAA,KAAW,iBAAwB,iBAAnB,gBAAW,gBAAA;EACjC,CAAA,GAAA,SAAA;;KAhBM,cAAA,GAAiB,CAAA,CAAE,mBAAmB;cAE5C,aAAW,CAAA,CAAA;;;;AAcK,KAVV,WAAA,GAAc,CAAA,CAAE,WAUN,CAAA,OAVyB,WAUzB,CAAA;cAThB,gBASgB,EATA,IASA,CATA,CAAA,CAAA,YASA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;MACV,SAAA,CAAA,EAAgB,MAAA,GAAA,SAAwB;IAE9C,CAAA;;;;KAXM,gBAAA,GAAmB,CAAA,CAAE,mBAAmB;cAE9C,aAAW,CAAA,CAAA;;;;;AASF,KAJH,WAAA,GAAc,CAAA,CAAE,WAIb,CAAA,OAJgC,WAIhC,CAAA;cAHT,gBAGS,EAHO,IAGP,CAHO,CAAA,CAAA,YAGP,CAAA;EAKH,SAAA,OAAS,iBAAwB,CAAA,SAAnB,CAAA;EACpB,SAAA,SAAqC,kBAAA,CAAA,SAAA,eAAA,CAAA,SAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,EAAA,SAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;;;;;;;;;IAAvB,SAAA,CAAA,EAAA,MAAA,GAAA,SAAA;IAAA,qBAAA,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;KARR,gBAAA,GAAmB,CAAA,CAAE,mBAAmB;cAE9C,WAAS,CAAA,CAAA;;;;;KAKH,SAAA,GAAY,CAAA,CAAE,mBAAmB;cACvC,gBAAc,KAAA,CAAA,CAAA;EACR,SAAA,OAAA,iBAAsC,CAAA,SAAA,CAAA;EAE5C,SAAA,SAIJ,kBAAA,CAAA,SAAA,eAAA,CAAA,SAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,EAAA,SAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;;;;;;EAJa,CAAA;EAAA,SAAA,WAAA,iBAAA,CAAA;IAKH,OAAA,CAAS,EAAA,OAAA,GAAwB,SAAA;IACvC,SAAA,CAAA,EAAA,MAAqC,GAAA,SAAA;;;;;;;EAAvB,SAAA,MAAA,EAAA,CAAA,OAAA,kBAAA,EAAA,MAAA,UAAA,YAAA,CAAA,OAAA,CAAA,CAAA,EAAA,kBAAA,CAAA;IAAA,OAAA,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;;;;;;;;;;;;;;KARR,cAAA,GAAiB,CAAA,CAAE,mBAAmB;cAE5C,WAAS,CAAA,CAAA;;;;;KAKH,SAAA,GAAY,CAAA,CAAE,mBAAmB;cACvC,gBAAc,KAAA,CAAA,CAAA;;;EACR,SAAA,GAAA,kBAAsC,CAAA,SAAA,eAAnB,CAAA,SAAW,CAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,EAAA,SAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAAwB,CAAA,EAAA,SAE5D,CAAA,EAAA,WAIJ,GAAA,QAAA,GAAA,MAAA,GAAA,SAAA,CAAA,GAAA;;;;;;;;;;EAJc,CAAA,EAAA;IAAA,OAAA,CAAA,EAAA,OAAA,GAAA,SAAA;IAKJ,SAAU,CAAA,EAAA,MAAA,GAAwB,OAAA,GAAA,MAAnB,GAAA,SAAW;IAChC,GAAA,CAAA,EAAA,MAAA,GAAuC,SAAA;;;;;;;;;;MAAxB,SAAA,CAAA,EAAA,MAAA,GAAA,OAAA,GAAA,MAAA,GAAA,SAAA;MAAA,GAAA,CAAA,EAAA,MAAA,GAAA,SAAA;;;;;;;;;;KART,cAAA,GAAiB,CAAA,CAAE,mBAAmB;cAE5C,YAAU,CAAA,CAAA;;;;;KAKJ,UAAA,GAAa,CAAA,CAAE,mBAAmB;cACxC,iBAAe,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;IACT,SAAA,CAAA,EAAA,MAAe,GAAA,SAAwB;IAGtC,GAAA,CAAA,EAAM,MAAA,GAAA,SAAA;EACmB,CAAA,CAAA;EAK3B,SAAA,MAAA,EAAA,CAAA,OAAA,kBAAA,EAAA,MAAA,UAAA,YAAA,CAAA,OAAA,CAAA,CAAA,EAAA,kBAAA,CAAA;IASQ,OAAA,CAAA,EAAA,OAAA,GAAA,SAAA;IASE,SAAA,CAAA,EAAA,MAAA,GAAA,SAAA;IASA,GAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EASF,CAAA,gBAAA,gBAAA,gBAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,QAAA,CAAA,CAAA;EASA,SAAA,QAAA,CAAA,EAAA;IASC,SAAA,KAAA,EAAA;MAAI,OAAA,CAAA,EAAA,OAAA,GAAA,SAAA;MAMR,SAAA,CAAA,EAAA,MAAA,GAAA,SAAA;MACsB,GAAA,CAAA,EAAA,MAAA,GAAA,SAAA;IAOlB,CAAA;IAAyB,SAAA,MAAA,EAAA;MAAR,OAAA,CAAA,EAAA,OAAA,GAAA,SAAA;MAa1B,SAAA,CAAA,EAAA,MAAA,GAAA,SAAA;MAAmB,GAAA,CAAA,EAAA,MAAA,GAAA,SAAA;IAAR,CAAA;IAWR,SAAA,KAAA,gBAAA,gBAAA,gBAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,QAAA,CAAA;EAOD,CAAA,GAAA,SAAA;CAQG;AAAR,KApHI,eAAA,GAAkB,CAAA,CAAE,WAoHxB,CAAA,OApH2C,eAoH3C,CAAA;;AAMK,cAvHA,MAAA,CAuHK;EACoB,iBAAA,KAAA;EAOlB,WAAA,CAAA,KAAA,EA9HkB,OA8HlB;EAA2B;;;EAaf,KAAA,CAAA,CAAA,EAtIrB,OAsIqB,CAAA,IAAA,CAAA;EAAR;;;;;EA6BT,GAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EA1JI,GA0JJ;EAMF;;;;;EAqBF,KAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EA5KU,KA4KV;EAAqB;;;;;EA6BxB,KAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EAhMa,KAgMb;EAAO;AAMf;;;;EAQqC,GAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EArMlB,GAqMkB;EAazB;;;;AAUZ;EACsC,GAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EApNnB,GAoNmB;EAOlB;;;;;EAgBF,IAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EAlOE,IAkOF;;;AAA4B,cA5NjC,GAAA,CA4NiC;EAUjC,iBAAI,KAAA;EACqB,SAAA,EAAA,EAAA,MAAA;EAOlB,WAAA,CAAA,KAAA,EA7OkB,OA6OlB,EAAA,EAAA,EAAA,MAAA;EAA0B;;;;;EAuBhC,SAAA,CAAA,MAAA,EA7PM,cA6PN,CAAA,EA7PuB,OA6PvB,CA7P+B,SA6P/B,CAAA;EAOD;;;;;WAvPF,WAAW,QAAQ;;;;cAWhB;;;;aAOD;;;;;QAQL,QAAQ;;;cAMH,KAAA;;;qBACyB;;;;;;oBAOlB,mBAAmB,QAAQ;;;;;;WAapC,aAAa,QAAQ;;;;cAWlB;;;;aAUD;;;;;QAQL,QAAQ;;;cAMH,KAAA;;;qBACyB;;;;;;oBAOlB,mBAAmB,QAAQ;;;;;;WAapC,aAAa,QAAQ;;;;cAWlB;;;;aAUD;;;;;QAQL,QAAQ;;;cAMH,GAAA;;;qBACyB;;;;;;oBAOlB,iBAAiB,QAAQ;;;;;;YAajC,aAAa,QAAQ;;;cAUpB,GAAA;;;qBACyB;;;;;;oBAOlB,iBAAiB,QAAQ;kBAQ3B,sBAAsB;kBAQtB,qBAAqB,QAAQ;;;cAUlC,IAAA;;;qBACyB;;;;;;oBAOlB,kBAAkB,QAAQ;;;;;;WAanC,aAAa,QAAQ;;;;cAUlB;;;;aAOD;;;;;QAQL,QAAQ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-DjWAcSYV.cjs`);let t=require(`valibot`);t=e.t(t);const n=t.pipe(t.number(),t.minValue(-24),t.maxValue(24)),r=t.pipe(t.number(),t.minValue(0),t.maxValue(24)),i=t.boolean();Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|
|
2
|
-
//# sourceMappingURL=common-ix04NEFn.cjs.map
|
package/build/gpio-BRimmVQo.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-DjWAcSYV.cjs`),t=require(`./common-ix04NEFn.cjs`);let n=require(`valibot`);n=e.t(n);const r=n.picklist([`release`,`hold`],`Invalid sync action`),i=n.object({mode:n.literal(`analog`),direction:n.literal(`input`)}),a=n.object({mode:n.literal(`analog`),direction:n.literal(`output`),value:n.optional(t.n)}),o=n.object({mode:n.literal(`digital`),direction:n.literal(`input`),vil:t.t,vih:t.t}),s=n.object({mode:n.literal(`digital`),direction:n.literal(`output`),value:t.r,vol:t.n,voh:t.n,vil:t.t,vih:t.t});n.omit(a,[`direction`,`mode`]),n.omit(o,[`direction`,`mode`]),n.omit(s,[`direction`,`mode`]);const c=n.object({value:t.r}),l=n.object({value:t.t}),u=n.object({action:r});var d=class{count;constructor(e,t){this.fetch=e,this.count=t.capabilities.io.count}reset(){return this.fetch(`/gpio/reset`,{method:`POST`,parseResponse:()=>{}})}digital(e){if(e<0||e>=this.count)throw Error(`Invalid GPIO pin ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a pin number between 0 and ${this.count-1}\n Path: /gpio/${e}`);return new f(this.fetch,e)}analog(e){if(e<0||e>=this.count)throw Error(`Invalid GPIO pin ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a pin number between 0 and ${this.count-1}\n Path: /gpio/${e}`);return new p(this.fetch,e)}hold(){return this.fetch(`/gpio/sync`,{method:`POST`,body:{action:`hold`},schema:u})}release(){return this.fetch(`/gpio/sync`,{method:`POST`,body:{action:`release`},schema:u})}},f=class{constructor(e,t){this.fetch=e,this.id=t}configure_input(e){return this.fetch(`/gpio/${this.id}/config`,{method:`PATCH`,body:n.parse(o,{...e,mode:`digital`,direction:`input`}),schema:o})}configure_output(e){return this.fetch(`/gpio/${this.id}/config`,{method:`PATCH`,body:n.parse(s,{...e,mode:`digital`,direction:`output`}),schema:s})}async read(){return(await this.fetch(`/gpio/${this.id}/state`,{schema:c})).value}async write(e){return(await this.fetch(`/gpio/${this.id}/state`,{method:`PUT`,body:{value:e},schema:c})).value}},p=class{constructor(e,t){this.fetch=e,this.id=t}configure_input(){return this.fetch(`/gpio/${this.id}/config`,{method:`PATCH`,body:{mode:`analog`,direction:`input`},schema:i})}configure_output(e){return this.fetch(`/gpio/${this.id}/config`,{method:`PATCH`,body:n.parse(a,{value:e,mode:`analog`,direction:`output`}),schema:a})}async read(){return(await this.fetch(`/gpio/${this.id}/state`,{schema:l})).value}async write(e){return(await this.fetch(`/gpio/${this.id}/state`,{method:`PUT`,body:{value:e},schema:l})).value}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
|
|
2
|
-
//# sourceMappingURL=gpio-BRimmVQo.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gpio-BRimmVQo.cjs","names":["v","analogOutputLevel","analogLevel","digitalLevel","fetch: UpFetch","id: number"],"sources":["../src/api/gpio.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nimport { analogLevel, type AnalogOutputLevel, analogOutputLevel, digitalLevel } from './common';\nimport type { Device } from './management';\n\nexport type { AnalogOutputLevel };\n\nconst syncAction = v.picklist(['release', 'hold'], 'Invalid sync action');\nconst analogInputConfiguration = v.object({\n mode: v.literal('analog'),\n direction: v.literal('input'),\n});\nconst analogOutputConfiguration = v.object({\n mode: v.literal('analog'),\n direction: v.literal('output'),\n value: v.optional(analogOutputLevel),\n});\nconst digitalInputConfiguration = v.object({\n mode: v.literal('digital'),\n direction: v.literal('input'),\n vil: analogLevel,\n vih: analogLevel,\n});\nconst digitalOutputConfiguration = v.object({\n mode: v.literal('digital'),\n direction: v.literal('output'),\n value: digitalLevel,\n vol: analogOutputLevel,\n voh: analogOutputLevel,\n vil: analogLevel,\n vih: analogLevel,\n});\nexport type AnalogInputConfiguration = v.InferOutput<typeof analogInputConfiguration>;\nexport type AnalogOutputConfiguration = v.InferOutput<typeof analogOutputConfiguration>;\nexport type DigitalInputConfiguration = v.InferOutput<typeof digitalInputConfiguration>;\nexport type DigitalOutputConfiguration = v.InferOutput<typeof digitalOutputConfiguration>;\n\nconst partialAnalogOutputConfiguration = v.omit(analogOutputConfiguration, ['direction', 'mode']);\nexport type PartialAnalogOutputConfiguration = v.InferOutput<\n typeof partialAnalogOutputConfiguration\n>;\nconst partialDigitalInputConfiguration = v.omit(digitalInputConfiguration, ['direction', 'mode']);\nexport type PartialDigitalInputConfiguration = v.InferOutput<\n typeof partialDigitalInputConfiguration\n>;\nconst partialDigitalOutputConfiguration = v.omit(digitalOutputConfiguration, ['direction', 'mode']);\nexport type PartialDigitalOutputConfiguration = v.InferOutput<\n typeof partialDigitalOutputConfiguration\n>;\n\nconst digitalState = v.object({ value: digitalLevel });\nconst analogState = v.object({ value: analogLevel });\n\nconst syncConfiguration = v.object({ action: syncAction });\nexport type SyncConfiguration = v.InferOutput<typeof syncConfiguration>;\n\n/** @hideconstructor */\nexport class GpioApi {\n private count: number;\n\n constructor(private readonly fetch: UpFetch, device: Device) {\n this.count = device.capabilities.io.count;\n }\n\n /**\n * Resets all IO configurations to default.\n */\n reset(): Promise<void> {\n return this.fetch('/gpio/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific digital IO pin by id.\n * @param io The IO pin id.\n * @returns The digital IO instance.\n */\n digital(io: number): DigitalIO {\n if (io < 0 || io >= this.count) {\n throw new Error(\n `Invalid GPIO pin ${io} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a pin number between 0 and ${\n this.count - 1\n }\\n Path: /gpio/${io}`,\n );\n }\n\n return new DigitalIO(this.fetch, io);\n }\n\n /**\n * Access a specific analog IO pin by id.\n * @param io The IO pin id.\n * @returns The analog IO instance.\n */\n analog(io: number): AnalogIO {\n if (io < 0 || io >= this.count) {\n throw new Error(\n `Invalid GPIO pin ${io} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a pin number between 0 and ${\n this.count - 1\n }\\n Path: /gpio/${io}`,\n );\n }\n\n return new AnalogIO(this.fetch, io);\n }\n\n /**\n * Holds the current state of all GPIO pins.\n * @returns The applied sync state.\n */\n hold(): Promise<SyncConfiguration> {\n return this.fetch('/gpio/sync', {\n method: 'POST',\n body: { action: 'hold' } satisfies SyncConfiguration,\n schema: syncConfiguration,\n });\n }\n\n /**\n * Releases control of the IO pins, allowing external control.\n *\n * This also sets the device as a slave.\n *\n * @returns The applied sync state.\n */\n release(): Promise<SyncConfiguration> {\n return this.fetch('/gpio/sync', {\n method: 'POST',\n body: { action: 'release' } satisfies SyncConfiguration,\n schema: syncConfiguration,\n });\n }\n}\n\n/** @hideconstructor */\nexport class DigitalIO {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configure the pin as a digital input.\n * @param config The digital input configuration.\n * @returns The applied configuration.\n */\n configure_input(config: PartialDigitalInputConfiguration): Promise<DigitalInputConfiguration> {\n return this.fetch(`/gpio/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(\n digitalInputConfiguration,\n { ...config, mode: 'digital', direction: 'input' } satisfies DigitalInputConfiguration,\n ),\n schema: digitalInputConfiguration,\n });\n }\n\n /**\n * Configures the pin as a digital output.\n * @param config The digital output configuration.\n * @returns The applied configuration.\n */\n configure_output(config: PartialDigitalOutputConfiguration): Promise<DigitalOutputConfiguration> {\n return this.fetch(`/gpio/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(\n digitalOutputConfiguration,\n { ...config, mode: 'digital', direction: 'output' } satisfies DigitalOutputConfiguration,\n ),\n schema: digitalOutputConfiguration,\n });\n }\n\n /**\n * Reads the current state of the pin.\n * @returns The current state of the pin.\n */\n async read(): Promise<boolean> {\n return (await this.fetch(`/gpio/${this.id}/state`, { schema: digitalState })).value;\n }\n\n /**\n * Writes a value to the pin.\n * @param value The value to write.\n * @returns The written value.\n */\n async write(value: boolean): Promise<boolean> {\n return (await this.fetch(`/gpio/${this.id}/state`, {\n method: 'PUT',\n body: { value },\n schema: digitalState,\n }))\n .value;\n }\n}\n\n/** @hideconstructor */\nexport class AnalogIO {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the pin as an analog input.\n * @returns The applied configuration.\n * @returns The applied configuration.\n */\n configure_input(): Promise<AnalogInputConfiguration> {\n return this.fetch(`/gpio/${this.id}/config`, {\n method: 'PATCH',\n body: { mode: 'analog', direction: 'input' } satisfies AnalogInputConfiguration,\n schema: analogInputConfiguration,\n });\n }\n\n /**\n * Configures the pin as an analog output.\n * @param config The analog output configuration.\n * @returns The applied configuration.\n */\n configure_output(value: AnalogOutputLevel): Promise<AnalogOutputConfiguration> {\n return this.fetch(`/gpio/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(\n analogOutputConfiguration,\n { value, mode: 'analog', direction: 'output' } satisfies AnalogOutputConfiguration,\n ),\n schema: analogOutputConfiguration,\n });\n }\n\n /**\n * Reads the current state of the pin.\n * @returns The current state of the pin.\n */\n async read(): Promise<number> {\n return (await this.fetch(`/gpio/${this.id}/state`, { schema: analogState })).value;\n }\n\n /**\n * Writes a value to the pin.\n * @param value The value to write.\n * @returns The written value.\n */\n async write(value: number): Promise<number> {\n return (await this.fetch(`/gpio/${this.id}/state`, {\n method: 'PUT',\n body: { value },\n schema: analogState,\n }))\n .value;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gpio-CHQBPi-F.d.mts","names":[],"sources":["../src/api/gpio.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gpio-Cp-OTdEv.d.cts","names":[],"sources":["../src/api/gpio.ts"],"sourcesContent":[],"mappings":"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"}
|
package/build/gpio-nD6e5nNZ.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"./common-DSzy5K03.mjs";import*as r from"valibot";const i=r.picklist([`release`,`hold`],`Invalid sync action`),a=r.object({mode:r.literal(`analog`),direction:r.literal(`input`)}),o=r.object({mode:r.literal(`analog`),direction:r.literal(`output`),value:r.optional(e)}),s=r.object({mode:r.literal(`digital`),direction:r.literal(`input`),vil:n,vih:n}),c=r.object({mode:r.literal(`digital`),direction:r.literal(`output`),value:t,vol:e,voh:e,vil:n,vih:n});r.omit(o,[`direction`,`mode`]),r.omit(s,[`direction`,`mode`]),r.omit(c,[`direction`,`mode`]);const l=r.object({value:t}),u=r.object({value:n}),d=r.object({action:i});var f=class{count;constructor(e,t){this.fetch=e,this.count=t.capabilities.io.count}reset(){return this.fetch(`/gpio/reset`,{method:`POST`,parseResponse:()=>{}})}digital(e){if(e<0||e>=this.count)throw Error(`Invalid GPIO pin ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a pin number between 0 and ${this.count-1}\n Path: /gpio/${e}`);return new p(this.fetch,e)}analog(e){if(e<0||e>=this.count)throw Error(`Invalid GPIO pin ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a pin number between 0 and ${this.count-1}\n Path: /gpio/${e}`);return new m(this.fetch,e)}hold(){return this.fetch(`/gpio/sync`,{method:`POST`,body:{action:`hold`},schema:d})}release(){return this.fetch(`/gpio/sync`,{method:`POST`,body:{action:`release`},schema:d})}},p=class{constructor(e,t){this.fetch=e,this.id=t}configure_input(e){return this.fetch(`/gpio/${this.id}/config`,{method:`PATCH`,body:r.parse(s,{...e,mode:`digital`,direction:`input`}),schema:s})}configure_output(e){return this.fetch(`/gpio/${this.id}/config`,{method:`PATCH`,body:r.parse(c,{...e,mode:`digital`,direction:`output`}),schema:c})}async read(){return(await this.fetch(`/gpio/${this.id}/state`,{schema:l})).value}async write(e){return(await this.fetch(`/gpio/${this.id}/state`,{method:`PUT`,body:{value:e},schema:l})).value}},m=class{constructor(e,t){this.fetch=e,this.id=t}configure_input(){return this.fetch(`/gpio/${this.id}/config`,{method:`PATCH`,body:{mode:`analog`,direction:`input`},schema:a})}configure_output(e){return this.fetch(`/gpio/${this.id}/config`,{method:`PATCH`,body:r.parse(o,{value:e,mode:`analog`,direction:`output`}),schema:o})}async read(){return(await this.fetch(`/gpio/${this.id}/state`,{schema:u})).value}async write(e){return(await this.fetch(`/gpio/${this.id}/state`,{method:`PUT`,body:{value:e},schema:u})).value}};export{p as n,f as r,m as t};
|
|
2
|
-
//# sourceMappingURL=gpio-nD6e5nNZ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gpio-nD6e5nNZ.mjs","names":["fetch: UpFetch","id: number"],"sources":["../src/api/gpio.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nimport { analogLevel, type AnalogOutputLevel, analogOutputLevel, digitalLevel } from './common';\nimport type { Device } from './management';\n\nexport type { AnalogOutputLevel };\n\nconst syncAction = v.picklist(['release', 'hold'], 'Invalid sync action');\nconst analogInputConfiguration = v.object({\n mode: v.literal('analog'),\n direction: v.literal('input'),\n});\nconst analogOutputConfiguration = v.object({\n mode: v.literal('analog'),\n direction: v.literal('output'),\n value: v.optional(analogOutputLevel),\n});\nconst digitalInputConfiguration = v.object({\n mode: v.literal('digital'),\n direction: v.literal('input'),\n vil: analogLevel,\n vih: analogLevel,\n});\nconst digitalOutputConfiguration = v.object({\n mode: v.literal('digital'),\n direction: v.literal('output'),\n value: digitalLevel,\n vol: analogOutputLevel,\n voh: analogOutputLevel,\n vil: analogLevel,\n vih: analogLevel,\n});\nexport type AnalogInputConfiguration = v.InferOutput<typeof analogInputConfiguration>;\nexport type AnalogOutputConfiguration = v.InferOutput<typeof analogOutputConfiguration>;\nexport type DigitalInputConfiguration = v.InferOutput<typeof digitalInputConfiguration>;\nexport type DigitalOutputConfiguration = v.InferOutput<typeof digitalOutputConfiguration>;\n\nconst partialAnalogOutputConfiguration = v.omit(analogOutputConfiguration, ['direction', 'mode']);\nexport type PartialAnalogOutputConfiguration = v.InferOutput<\n typeof partialAnalogOutputConfiguration\n>;\nconst partialDigitalInputConfiguration = v.omit(digitalInputConfiguration, ['direction', 'mode']);\nexport type PartialDigitalInputConfiguration = v.InferOutput<\n typeof partialDigitalInputConfiguration\n>;\nconst partialDigitalOutputConfiguration = v.omit(digitalOutputConfiguration, ['direction', 'mode']);\nexport type PartialDigitalOutputConfiguration = v.InferOutput<\n typeof partialDigitalOutputConfiguration\n>;\n\nconst digitalState = v.object({ value: digitalLevel });\nconst analogState = v.object({ value: analogLevel });\n\nconst syncConfiguration = v.object({ action: syncAction });\nexport type SyncConfiguration = v.InferOutput<typeof syncConfiguration>;\n\n/** @hideconstructor */\nexport class GpioApi {\n private count: number;\n\n constructor(private readonly fetch: UpFetch, device: Device) {\n this.count = device.capabilities.io.count;\n }\n\n /**\n * Resets all IO configurations to default.\n */\n reset(): Promise<void> {\n return this.fetch('/gpio/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific digital IO pin by id.\n * @param io The IO pin id.\n * @returns The digital IO instance.\n */\n digital(io: number): DigitalIO {\n if (io < 0 || io >= this.count) {\n throw new Error(\n `Invalid GPIO pin ${io} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a pin number between 0 and ${\n this.count - 1\n }\\n Path: /gpio/${io}`,\n );\n }\n\n return new DigitalIO(this.fetch, io);\n }\n\n /**\n * Access a specific analog IO pin by id.\n * @param io The IO pin id.\n * @returns The analog IO instance.\n */\n analog(io: number): AnalogIO {\n if (io < 0 || io >= this.count) {\n throw new Error(\n `Invalid GPIO pin ${io} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a pin number between 0 and ${\n this.count - 1\n }\\n Path: /gpio/${io}`,\n );\n }\n\n return new AnalogIO(this.fetch, io);\n }\n\n /**\n * Holds the current state of all GPIO pins.\n * @returns The applied sync state.\n */\n hold(): Promise<SyncConfiguration> {\n return this.fetch('/gpio/sync', {\n method: 'POST',\n body: { action: 'hold' } satisfies SyncConfiguration,\n schema: syncConfiguration,\n });\n }\n\n /**\n * Releases control of the IO pins, allowing external control.\n *\n * This also sets the device as a slave.\n *\n * @returns The applied sync state.\n */\n release(): Promise<SyncConfiguration> {\n return this.fetch('/gpio/sync', {\n method: 'POST',\n body: { action: 'release' } satisfies SyncConfiguration,\n schema: syncConfiguration,\n });\n }\n}\n\n/** @hideconstructor */\nexport class DigitalIO {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configure the pin as a digital input.\n * @param config The digital input configuration.\n * @returns The applied configuration.\n */\n configure_input(config: PartialDigitalInputConfiguration): Promise<DigitalInputConfiguration> {\n return this.fetch(`/gpio/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(\n digitalInputConfiguration,\n { ...config, mode: 'digital', direction: 'input' } satisfies DigitalInputConfiguration,\n ),\n schema: digitalInputConfiguration,\n });\n }\n\n /**\n * Configures the pin as a digital output.\n * @param config The digital output configuration.\n * @returns The applied configuration.\n */\n configure_output(config: PartialDigitalOutputConfiguration): Promise<DigitalOutputConfiguration> {\n return this.fetch(`/gpio/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(\n digitalOutputConfiguration,\n { ...config, mode: 'digital', direction: 'output' } satisfies DigitalOutputConfiguration,\n ),\n schema: digitalOutputConfiguration,\n });\n }\n\n /**\n * Reads the current state of the pin.\n * @returns The current state of the pin.\n */\n async read(): Promise<boolean> {\n return (await this.fetch(`/gpio/${this.id}/state`, { schema: digitalState })).value;\n }\n\n /**\n * Writes a value to the pin.\n * @param value The value to write.\n * @returns The written value.\n */\n async write(value: boolean): Promise<boolean> {\n return (await this.fetch(`/gpio/${this.id}/state`, {\n method: 'PUT',\n body: { value },\n schema: digitalState,\n }))\n .value;\n }\n}\n\n/** @hideconstructor */\nexport class AnalogIO {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Configures the pin as an analog input.\n * @returns The applied configuration.\n * @returns The applied configuration.\n */\n configure_input(): Promise<AnalogInputConfiguration> {\n return this.fetch(`/gpio/${this.id}/config`, {\n method: 'PATCH',\n body: { mode: 'analog', direction: 'input' } satisfies AnalogInputConfiguration,\n schema: analogInputConfiguration,\n });\n }\n\n /**\n * Configures the pin as an analog output.\n * @param config The analog output configuration.\n * @returns The applied configuration.\n */\n configure_output(value: AnalogOutputLevel): Promise<AnalogOutputConfiguration> {\n return this.fetch(`/gpio/${this.id}/config`, {\n method: 'PATCH',\n body: v.parse(\n analogOutputConfiguration,\n { value, mode: 'analog', direction: 'output' } satisfies AnalogOutputConfiguration,\n ),\n schema: analogOutputConfiguration,\n });\n }\n\n /**\n * Reads the current state of the pin.\n * @returns The current state of the pin.\n */\n async read(): Promise<number> {\n return (await this.fetch(`/gpio/${this.id}/state`, { schema: analogState })).value;\n }\n\n /**\n * Writes a value to the pin.\n * @param value The value to write.\n * @returns The written value.\n */\n async write(value: number): Promise<number> {\n return (await this.fetch(`/gpio/${this.id}/state`, {\n method: 'PUT',\n body: { value },\n schema: analogState,\n }))\n .value;\n }\n}\n"],"mappings":"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"}
|
package/build/hmi-DVUFmRMo.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-DjWAcSYV.cjs`);let t=require(`valibot`);t=e.t(t);const n=t.pipe(t.string(),t.maxLength(1024)),r=t.object({text:n}),i=t.optional(t.pipe(t.string(),t.length(7),t.hexColor())),a=t.object({text:i,progress:i,background:i}),o=t.pipe(t.number(),t.minValue(0),t.maxValue(100)),s=t.object({progress:o}),c=t.object({sound_id:t.picklist([`sound1`,`sound2`,`sound3`]),volume:t.pipe(t.number(),t.minValue(0),t.maxValue(100))}),l=t.object({button_pressed:t.boolean(),button_held:t.boolean(),rotation_delta:t.number()});t.omit(l,[`button_held`]);var u=class{constructor(e){this.fetch=e}reset(){return this.fetch(`/hmi/reset`,{method:`POST`,parseResponse:()=>{}})}screen(){return new d(this.fetch)}audio(){return new f(this.fetch)}knob(){return new p(this.fetch)}},d=class{constructor(e){this.fetch=e}async print(e){return(await this.fetch(`/hmi/screen/text`,{method:`POST`,body:t.parse(r,{text:e}),schema:r})).text}colors(e){return this.fetch(`/hmi/screen/colors`,{method:`PATCH`,body:t.parse(a,e),schema:a})}async progress(e){return e==0?await this.fetch(`/hmi/screen/progress`,{method:`DELETE`,parseResponse:()=>({progress:0})}):this.fetch(`/hmi/screen/progress`,{method:`PUT`,body:t.parse(s,{progress:e}),schema:s})}clear(){return this.fetch(`/hmi/screen/clear`,{method:`POST`,parseResponse:()=>{}})}},f=class{constructor(e){this.fetch=e}async play(e){return this.fetch(`/hmi/speaker/play`,{method:`POST`,body:t.parse(c,e),schema:c})}},p=class{constructor(e){this.fetch=e}get_knob_event=()=>this.fetch(`/hmi/knob/get_knob_event`,{method:`POST`,schema:l});is_button_pressed=async()=>(await this.get_knob_event()).button_held;async wait_event(e){await this.get_knob_event();let t=Math.min(50,e/10),n=Date.now();for(;Date.now()-n<e;){let e=await this.get_knob_event();if(e.button_pressed||e.rotation_delta!==0)return{button_pressed:e.button_pressed,rotation_delta:e.rotation_delta};await new Promise(e=>setTimeout(e,t))}return null}};Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
|
|
2
|
-
//# sourceMappingURL=hmi-DVUFmRMo.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hmi-DVUFmRMo.cjs","names":["v","fetch: UpFetch"],"sources":["../src/api/hmi.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nconst screenText = v.pipe(v.string(), v.maxLength(1024));\nexport type ScreenText = v.InferOutput<typeof screenText>;\n\nconst text = v.object({ text: screenText });\ntype Text = v.InferOutput<typeof text>;\n\nconst optionalHexColor = v.optional(v.pipe(v.string(), v.length(7), v.hexColor()));\nconst color = v.object({\n text: optionalHexColor,\n progress: optionalHexColor,\n background: optionalHexColor,\n});\nexport type Color = v.InferOutput<typeof color>;\n\nconst progressValue = v.pipe(v.number(), v.minValue(0), v.maxValue(100));\nexport type ProgressValue = v.InferOutput<typeof progressValue>;\nconst progress = v.object({ progress: progressValue });\nexport type Progress = v.InferOutput<typeof progress>;\n\nconst playbackConfiguration = v.object({\n sound_id: v.picklist(['sound1', 'sound2', 'sound3']),\n volume: v.pipe(v.number(), v.minValue(0), v.maxValue(100)),\n});\nexport type PlaybackConfiguration = v.InferOutput<typeof playbackConfiguration>;\n\nconst internalKnobEvent = v.object({\n button_pressed: v.boolean(),\n button_held: v.boolean(),\n rotation_delta: v.number(),\n});\nconst knobEvent = v.omit(internalKnobEvent, ['button_held']);\nexport type KnobEvent = v.InferOutput<typeof knobEvent>;\n\n/** @hideconstructor */\nexport class HmiApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Resets the HMI.\n */\n reset(): Promise<void> {\n return this.fetch('/hmi/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access the screen API.\n * @returns The screen instance.\n */\n screen(): Screen {\n return new Screen(this.fetch);\n }\n\n /**\n * Access the audio API.\n * @returns The audio instance.\n */\n audio(): Audio {\n return new Audio(this.fetch);\n }\n\n /**\n * Access the knob API.\n * @returns The knob instance.\n */\n knob(): Knob {\n return new Knob(this.fetch);\n }\n}\n\n/** @hideconstructor */\nexport class Screen {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Prints text to the screen.\n * @param data The text to print.\n * @returns The printed text.\n */\n async print(data: ScreenText): Promise<string> {\n return (await this.fetch('/hmi/screen/text', {\n method: 'POST',\n body: v.parse(text, { text: data } satisfies Text),\n schema: text,\n }))\n .text;\n }\n\n /**\n * Sets the screen colors.\n * @param colors The colors to set.\n * @returns The updated colors.\n */\n colors(colors: Color): Promise<Color> {\n return this.fetch('/hmi/screen/colors', {\n method: 'PATCH',\n body: v.parse(color, colors satisfies Color),\n schema: color,\n });\n }\n\n /**\n * Sets the screen progress.\n * @param data The progress value to set.\n * @returns The updated progress.\n */\n async progress(data: ProgressValue): Promise<Progress> {\n if (data == 0) {\n return await this.fetch('/hmi/screen/progress', {\n method: 'DELETE',\n parseResponse: () => ({ progress: 0 }),\n });\n }\n\n return this.fetch('/hmi/screen/progress', {\n method: 'PUT',\n body: v.parse(progress, { progress: data } satisfies Progress),\n schema: progress,\n });\n }\n\n /**\n * Clears the screen.\n */\n clear(): Promise<void> {\n return this.fetch('/hmi/screen/clear', { method: 'POST', parseResponse: () => {} });\n }\n}\n\n/** @hideconstructor */\nexport class Audio {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Plays a sound.\n * @param config The configuration (sound_id, volume).\n * @returns The play configuration.\n */\n async play(config: PlaybackConfiguration): Promise<PlaybackConfiguration> {\n return this.fetch('/hmi/speaker/play', {\n method: 'POST',\n body: v.parse(playbackConfiguration, config satisfies PlaybackConfiguration),\n schema: playbackConfiguration,\n });\n }\n}\n\n/** @hideconstructor */\nexport class Knob {\n constructor(private readonly fetch: UpFetch) {}\n\n private get_knob_event = () =>\n this.fetch('/hmi/knob/get_knob_event', { method: 'POST', schema: internalKnobEvent });\n\n is_button_pressed = async () => (await this.get_knob_event()).button_held;\n\n /**\n * Waits for a knob event and returns it.\n * @param timeout_ms The timeout in milliseconds.\n * @returns The knob event or null if the timeout was reached.\n */\n async wait_event(timeout_ms: number): Promise<KnobEvent | null> {\n await this.get_knob_event(); // Discard any previous events\n\n const interval = Math.min(50, timeout_ms / 10);\n\n const startTime = Date.now();\n while (Date.now() - startTime < timeout_ms) {\n const knobEvent = await this.get_knob_event();\n if (knobEvent.button_pressed || knobEvent.rotation_delta !== 0) {\n return {\n button_pressed: knobEvent.button_pressed,\n rotation_delta: knobEvent.rotation_delta,\n };\n }\n await new Promise((resolve) => setTimeout(resolve, interval));\n }\n\n return null;\n }\n}\n"],"mappings":"0EAGA,MAAM,EAAaA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,UAAU,KAAK,CAAC,CAGlD,EAAOA,EAAE,OAAO,CAAE,KAAM,EAAY,CAAC,CAGrC,EAAmBA,EAAE,SAASA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,OAAO,EAAE,CAAEA,EAAE,UAAU,CAAC,CAAC,CAC5E,EAAQA,EAAE,OAAO,CACrB,KAAM,EACN,SAAU,EACV,WAAY,EACb,CAAC,CAGI,EAAgBA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAEA,EAAE,SAAS,IAAI,CAAC,CAElE,EAAWA,EAAE,OAAO,CAAE,SAAU,EAAe,CAAC,CAGhD,EAAwBA,EAAE,OAAO,CACrC,SAAUA,EAAE,SAAS,CAAC,SAAU,SAAU,SAAS,CAAC,CACpD,OAAQA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAEA,EAAE,SAAS,IAAI,CAAC,CAC3D,CAAC,CAGI,EAAoBA,EAAE,OAAO,CACjC,eAAgBA,EAAE,SAAS,CAC3B,YAAaA,EAAE,SAAS,CACxB,eAAgBA,EAAE,QAAQ,CAC3B,CAAC,CACgBA,EAAE,KAAK,EAAmB,CAAC,cAAc,CAAC,CAI5D,IAAa,EAAb,KAAoB,CAClB,YAAY,EAAiC,CAAhB,KAAA,MAAA,EAK7B,OAAuB,CACrB,OAAO,KAAK,MAAM,aAAc,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAO9E,QAAiB,CACf,OAAO,IAAI,EAAO,KAAK,MAAM,CAO/B,OAAe,CACb,OAAO,IAAI,EAAM,KAAK,MAAM,CAO9B,MAAa,CACX,OAAO,IAAI,EAAK,KAAK,MAAM,GAKlB,EAAb,KAAoB,CAClB,YAAY,EAAiC,CAAhB,KAAA,MAAA,EAO7B,MAAM,MAAM,EAAmC,CAC7C,OAAQ,MAAM,KAAK,MAAM,mBAAoB,CAC3C,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAM,CAAE,KAAM,EAAM,CAAgB,CAClD,OAAQ,EACT,CAAC,EACC,KAQL,OAAO,EAA+B,CACpC,OAAO,KAAK,MAAM,qBAAsB,CACtC,OAAQ,QACR,KAAMA,EAAE,MAAM,EAAO,EAAuB,CAC5C,OAAQ,EACT,CAAC,CAQJ,MAAM,SAAS,EAAwC,CAQrD,OAPI,GAAQ,EACH,MAAM,KAAK,MAAM,uBAAwB,CAC9C,OAAQ,SACR,mBAAsB,CAAE,SAAU,EAAG,EACtC,CAAC,CAGG,KAAK,MAAM,uBAAwB,CACxC,OAAQ,MACR,KAAMA,EAAE,MAAM,EAAU,CAAE,SAAU,EAAM,CAAoB,CAC9D,OAAQ,EACT,CAAC,CAMJ,OAAuB,CACrB,OAAO,KAAK,MAAM,oBAAqB,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,GAK1E,EAAb,KAAmB,CACjB,YAAY,EAAiC,CAAhB,KAAA,MAAA,EAO7B,MAAM,KAAK,EAA+D,CACxE,OAAO,KAAK,MAAM,oBAAqB,CACrC,OAAQ,OACR,KAAMA,EAAE,MAAM,EAAuB,EAAuC,CAC5E,OAAQ,EACT,CAAC,GAKO,EAAb,KAAkB,CAChB,YAAY,EAAiC,CAAhB,KAAA,MAAA,EAE7B,mBACE,KAAK,MAAM,2BAA4B,CAAE,OAAQ,OAAQ,OAAQ,EAAmB,CAAC,CAEvF,kBAAoB,UAAa,MAAM,KAAK,gBAAgB,EAAE,YAO9D,MAAM,WAAW,EAA+C,CAC9D,MAAM,KAAK,gBAAgB,CAE3B,IAAM,EAAW,KAAK,IAAI,GAAI,EAAa,GAAG,CAExC,EAAY,KAAK,KAAK,CAC5B,KAAO,KAAK,KAAK,CAAG,EAAY,GAAY,CAC1C,IAAM,EAAY,MAAM,KAAK,gBAAgB,CAC7C,GAAI,EAAU,gBAAkB,EAAU,iBAAmB,EAC3D,MAAO,CACL,eAAgB,EAAU,eAC1B,eAAgB,EAAU,eAC3B,CAEH,MAAM,IAAI,QAAS,GAAY,WAAW,EAAS,EAAS,CAAC,CAG/D,OAAO"}
|
package/build/hmi-dJ8Y4DVD.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import*as e from"valibot";const t=e.pipe(e.string(),e.maxLength(1024)),n=e.object({text:t}),r=e.optional(e.pipe(e.string(),e.length(7),e.hexColor())),i=e.object({text:r,progress:r,background:r}),a=e.pipe(e.number(),e.minValue(0),e.maxValue(100)),o=e.object({progress:a}),s=e.object({sound_id:e.picklist([`sound1`,`sound2`,`sound3`]),volume:e.pipe(e.number(),e.minValue(0),e.maxValue(100))}),c=e.object({button_pressed:e.boolean(),button_held:e.boolean(),rotation_delta:e.number()});e.omit(c,[`button_held`]);var l=class{constructor(e){this.fetch=e}reset(){return this.fetch(`/hmi/reset`,{method:`POST`,parseResponse:()=>{}})}screen(){return new u(this.fetch)}audio(){return new d(this.fetch)}knob(){return new f(this.fetch)}},u=class{constructor(e){this.fetch=e}async print(t){return(await this.fetch(`/hmi/screen/text`,{method:`POST`,body:e.parse(n,{text:t}),schema:n})).text}colors(t){return this.fetch(`/hmi/screen/colors`,{method:`PATCH`,body:e.parse(i,t),schema:i})}async progress(t){return t==0?await this.fetch(`/hmi/screen/progress`,{method:`DELETE`,parseResponse:()=>({progress:0})}):this.fetch(`/hmi/screen/progress`,{method:`PUT`,body:e.parse(o,{progress:t}),schema:o})}clear(){return this.fetch(`/hmi/screen/clear`,{method:`POST`,parseResponse:()=>{}})}},d=class{constructor(e){this.fetch=e}async play(t){return this.fetch(`/hmi/speaker/play`,{method:`POST`,body:e.parse(s,t),schema:s})}},f=class{constructor(e){this.fetch=e}get_knob_event=()=>this.fetch(`/hmi/knob/get_knob_event`,{method:`POST`,schema:c});is_button_pressed=async()=>(await this.get_knob_event()).button_held;async wait_event(e){await this.get_knob_event();let t=Math.min(50,e/10),n=Date.now();for(;Date.now()-n<e;){let e=await this.get_knob_event();if(e.button_pressed||e.rotation_delta!==0)return{button_pressed:e.button_pressed,rotation_delta:e.rotation_delta};await new Promise(e=>setTimeout(e,t))}return null}};export{u as i,l as n,f as r,d as t};
|
|
2
|
-
//# sourceMappingURL=hmi-dJ8Y4DVD.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hmi-dJ8Y4DVD.mjs","names":["fetch: UpFetch"],"sources":["../src/api/hmi.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nconst screenText = v.pipe(v.string(), v.maxLength(1024));\nexport type ScreenText = v.InferOutput<typeof screenText>;\n\nconst text = v.object({ text: screenText });\ntype Text = v.InferOutput<typeof text>;\n\nconst optionalHexColor = v.optional(v.pipe(v.string(), v.length(7), v.hexColor()));\nconst color = v.object({\n text: optionalHexColor,\n progress: optionalHexColor,\n background: optionalHexColor,\n});\nexport type Color = v.InferOutput<typeof color>;\n\nconst progressValue = v.pipe(v.number(), v.minValue(0), v.maxValue(100));\nexport type ProgressValue = v.InferOutput<typeof progressValue>;\nconst progress = v.object({ progress: progressValue });\nexport type Progress = v.InferOutput<typeof progress>;\n\nconst playbackConfiguration = v.object({\n sound_id: v.picklist(['sound1', 'sound2', 'sound3']),\n volume: v.pipe(v.number(), v.minValue(0), v.maxValue(100)),\n});\nexport type PlaybackConfiguration = v.InferOutput<typeof playbackConfiguration>;\n\nconst internalKnobEvent = v.object({\n button_pressed: v.boolean(),\n button_held: v.boolean(),\n rotation_delta: v.number(),\n});\nconst knobEvent = v.omit(internalKnobEvent, ['button_held']);\nexport type KnobEvent = v.InferOutput<typeof knobEvent>;\n\n/** @hideconstructor */\nexport class HmiApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Resets the HMI.\n */\n reset(): Promise<void> {\n return this.fetch('/hmi/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access the screen API.\n * @returns The screen instance.\n */\n screen(): Screen {\n return new Screen(this.fetch);\n }\n\n /**\n * Access the audio API.\n * @returns The audio instance.\n */\n audio(): Audio {\n return new Audio(this.fetch);\n }\n\n /**\n * Access the knob API.\n * @returns The knob instance.\n */\n knob(): Knob {\n return new Knob(this.fetch);\n }\n}\n\n/** @hideconstructor */\nexport class Screen {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Prints text to the screen.\n * @param data The text to print.\n * @returns The printed text.\n */\n async print(data: ScreenText): Promise<string> {\n return (await this.fetch('/hmi/screen/text', {\n method: 'POST',\n body: v.parse(text, { text: data } satisfies Text),\n schema: text,\n }))\n .text;\n }\n\n /**\n * Sets the screen colors.\n * @param colors The colors to set.\n * @returns The updated colors.\n */\n colors(colors: Color): Promise<Color> {\n return this.fetch('/hmi/screen/colors', {\n method: 'PATCH',\n body: v.parse(color, colors satisfies Color),\n schema: color,\n });\n }\n\n /**\n * Sets the screen progress.\n * @param data The progress value to set.\n * @returns The updated progress.\n */\n async progress(data: ProgressValue): Promise<Progress> {\n if (data == 0) {\n return await this.fetch('/hmi/screen/progress', {\n method: 'DELETE',\n parseResponse: () => ({ progress: 0 }),\n });\n }\n\n return this.fetch('/hmi/screen/progress', {\n method: 'PUT',\n body: v.parse(progress, { progress: data } satisfies Progress),\n schema: progress,\n });\n }\n\n /**\n * Clears the screen.\n */\n clear(): Promise<void> {\n return this.fetch('/hmi/screen/clear', { method: 'POST', parseResponse: () => {} });\n }\n}\n\n/** @hideconstructor */\nexport class Audio {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Plays a sound.\n * @param config The configuration (sound_id, volume).\n * @returns The play configuration.\n */\n async play(config: PlaybackConfiguration): Promise<PlaybackConfiguration> {\n return this.fetch('/hmi/speaker/play', {\n method: 'POST',\n body: v.parse(playbackConfiguration, config satisfies PlaybackConfiguration),\n schema: playbackConfiguration,\n });\n }\n}\n\n/** @hideconstructor */\nexport class Knob {\n constructor(private readonly fetch: UpFetch) {}\n\n private get_knob_event = () =>\n this.fetch('/hmi/knob/get_knob_event', { method: 'POST', schema: internalKnobEvent });\n\n is_button_pressed = async () => (await this.get_knob_event()).button_held;\n\n /**\n * Waits for a knob event and returns it.\n * @param timeout_ms The timeout in milliseconds.\n * @returns The knob event or null if the timeout was reached.\n */\n async wait_event(timeout_ms: number): Promise<KnobEvent | null> {\n await this.get_knob_event(); // Discard any previous events\n\n const interval = Math.min(50, timeout_ms / 10);\n\n const startTime = Date.now();\n while (Date.now() - startTime < timeout_ms) {\n const knobEvent = await this.get_knob_event();\n if (knobEvent.button_pressed || knobEvent.rotation_delta !== 0) {\n return {\n button_pressed: knobEvent.button_pressed,\n rotation_delta: knobEvent.rotation_delta,\n };\n }\n await new Promise((resolve) => setTimeout(resolve, interval));\n }\n\n return null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-DjWAcSYV.cjs`);let t=require(`up-fetch`);t=e.t(t);let n=require(`valibot`);n=e.t(n);let r=function(e){return e.Can=`can`,e.Rs232=`rs232`,e.Rs485=`rs485`,e.I2c=`i2c`,e.Spi=`spi`,e.Uart=`uart`,e}({});const i=n.enum(r),a=n.object({min:n.pipe(n.number(),n.minValue(-24),n.maxValue(24)),max:n.pipe(n.number(),n.minValue(-24),n.maxValue(24))}),o=n.object({max:n.number()}),s=n.object({count:n.pipe(n.number(),n.minValue(1)),input_voltage:a,output_voltage:a}),c=n.object({count:n.pipe(n.number(),n.minValue(0)),max_current:n.number(),max_voltage:n.number(),on_resistance:n.pipe(n.number(),n.minValue(0))}),l=n.object({type:n.picklist([`3.0`,`2.0`]),count:n.pipe(n.number(),n.minValue(1))}),u=n.object({type:n.picklist([`1000BASE-T`,`100BASE-T`,`10BASE-T`]),count:n.pipe(n.number(),n.minValue(1))}),d=n.object({type:i,count:n.pipe(n.number(),n.minValue(1))}),f=n.object({count:n.pipe(n.number(),n.minValue(1)),output_voltage:a,current:o}),p=n.object({type:n.picklist([`low_precision`,`high_precision`]),source:n.string(),resolution:n.pipe(n.number(),n.minValue(0))}),m=n.object({width:n.pipe(n.number(),n.minValue(1)),height:n.pipe(n.number(),n.minValue(1))}),h=n.object({type:n.string(),size:m}),g=n.object({count:n.pipe(n.number(),n.minValue(0)),type:n.string()}),_=n.object({count:n.pipe(n.number(),n.minValue(0)),type:n.string()}),v=n.object({display:h,input:g,speaker:_}),y=n.object({name:n.string(),serial_number:n.string(),io:s,relays:c,usb_ports:n.array(l),ethernet:n.array(u),communication:n.array(d),power_supply:f,current_measurement:n.array(p),hmi:v}),b=n.object({model:n.string(),serial_number:n.string(),firmware_version:n.string(),firmware_commit:n.string(),disk_used:n.number(),disk_total:n.number(),docker_used:n.number(),capabilities:y}),x=n.object({name:n.string(),path:n.string(),container_id:n.string(),image:n.string()});n.object({name:n.string(),image:n.string()});var S=class{constructor(e){this.fetch=e}device(){return this.fetch(`/management/device`,{schema:b})}async datetime(){let e=await this.fetch(`/management/time`,{schema:n.object({epoch_seconds:n.number()})});return new Date(e.epoch_seconds*1e3)}setDatetime(e){return this.fetch(`/management/time`,{method:`POST`,body:{epoch_seconds:Math.floor(e.getTime()/1e3)},parseResponse:()=>{}})}getProjects(){return this.fetch(`/management/projects`,{schema:n.array(x)})}createProject(e){return this.fetch(`/management/projects`,{method:`POST`,body:e,schema:x})}updateProject(e,t){return this.fetch(`/management/projects/${e}`,{method:`PATCH`,body:t,schema:x})}runProject(e){return this.fetch(`/management/projects/${e}/run`,{method:`POST`})}stopProject(e){return this.fetch(`/management/projects/${e}/stop`,{method:`POST`})}deleteProject(e){return this.fetch(`/management/projects/${e}`,{method:`DELETE`})}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
-
//# sourceMappingURL=management-PEkkZaQ3.cjs.map
|
package/build/power-B1rs9Bqf.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./common-DSzy5K03.mjs";import*as t from"valibot";const n=t.object({enabled:t.boolean(),target_voltage:e,voltage:e,current:t.number()}),r=t.partial(t.pick(n,[`enabled`,`target_voltage`])),i=t.pick(n,[`enabled`,`current`,`voltage`]),a=t.pick(i,[`enabled`]),o=t.pick(n,[`current`]);var s=class{usb_count;dut_count=1;constructor(e,t){this.fetch=e,this.usb_count=t.capabilities.usb_ports.length}reset(){return this.fetch(`/power/reset`,{method:`POST`,parseResponse:()=>{}})}dut(e){if(e<0||e>=this.dut_count)throw Error(`Invalid DUT id ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a DUT ID between 0 and ${this.dut_count-1}\n Path: /power/dut/${e}`);return new c(this.fetch,e)}usb(e){if(e<0||e>=this.usb_count)throw Error(`Invalid USB port ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a USB port ID between 0 and ${this.usb_count-1}\n Path: /power/usb/${e}`);return new l(this.fetch,e)}relay_4(){return new u(this.fetch,4)}},c=class{constructor(e,t){this.fetch=e,this.id=t}reset(){return this.fetch(`/power/dut/${this.id}/reset`,{method:`POST`,parseResponse:()=>{}})}configure(e){return this.fetch(`/power/dut/${this.id}`,{method:`PATCH`,body:t.parse(r,e),schema:n})}async power_up(e){return this.configure({enabled:!0,target_voltage:e})}async power_down(){return this.configure({enabled:!1})}read(){return this.fetch(`/power/dut/${this.id}`,{schema:n})}async read_current(){return(await this.read()).current}async read_voltage(){return(await this.read()).voltage}},l=class{constructor(e,t){this.fetch=e,this.id=t}reset(){return this.fetch(`/power/usb/${this.id}/reset`,{method:`POST`,parseResponse:()=>{}})}configure(e){return this.fetch(`/power/usb/${this.id}`,{method:`PATCH`,body:t.parse(a,e),schema:i})}power_up(){return this.configure({enabled:!0})}power_down(){return this.configure({enabled:!1})}read(){return this.fetch(`/power/usb/${this.id}`,{schema:i})}async read_current(){return(await this.read()).current}async read_voltage(){return(await this.read()).voltage}},u=class{constructor(e,t){this.fetch=e,this.id=t}read(){return this.fetch(`/power/relay/${this.id}`,{schema:o})}async read_current(){return(await this.read()).current}};export{l as i,s as n,u as r,c as t};
|
|
2
|
-
//# sourceMappingURL=power-B1rs9Bqf.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"power-B1rs9Bqf.mjs","names":["fetch: UpFetch","id: number"],"sources":["../src/api/power.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nimport { analogLevel, type AnalogOutputLevel } from './common';\nimport type { Device } from './management';\n\nexport type { AnalogOutputLevel };\n\nconst dutState = v.object({\n enabled: v.boolean(),\n target_voltage: analogLevel,\n voltage: analogLevel,\n current: v.number(),\n});\nexport type DutState = v.InferOutput<typeof dutState>;\n\nconst dutConfiguration = v.partial(v.pick(dutState, ['enabled', 'target_voltage']));\nexport type DutConfiguration = v.InferOutput<typeof dutConfiguration>;\n\nconst usbState = v.pick(dutState, ['enabled', 'current', 'voltage']);\nexport type UsbState = v.InferOutput<typeof usbState>;\n\nconst usbConfiguration = v.pick(usbState, ['enabled']);\nexport type UsbConfiguration = v.InferOutput<typeof usbConfiguration>;\n\nconst relayState = v.pick(dutState, ['current']);\nexport type RelayState = v.InferOutput<typeof relayState>;\n\n/** @hideconstructor */\nexport class PowerApi {\n private readonly usb_count: number;\n private readonly dut_count = 1;\n\n constructor(private readonly fetch: UpFetch, device: Device) {\n this.usb_count = device.capabilities.usb_ports.length;\n }\n\n /**\n * Resets the power API.\n */\n reset(): Promise<void> {\n return this.fetch('/power/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific DUT by id.\n * @param id The DUT id.\n * @returns The DUT instance.\n */\n dut(id: number): Dut {\n if (id < 0 || id >= this.dut_count) {\n throw new Error(\n `Invalid DUT id ${id} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a DUT ID between 0 and ${\n this.dut_count - 1\n }\\n Path: /power/dut/${id}`,\n );\n }\n\n return new Dut(this.fetch, id);\n }\n\n /**\n * Access a specific USB port by id.\n * @param id The USB port id.\n * @returns The USB port instance.\n */\n usb(id: number): Usb {\n if (id < 0 || id >= this.usb_count) {\n throw new Error(\n `Invalid USB port ${id} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a USB port ID between 0 and ${\n this.usb_count - 1\n }\\n Path: /power/usb/${id}`,\n );\n }\n\n return new Usb(this.fetch, id);\n }\n\n /**\n * Access the relay at index 4.\n * @returns The relay instance.\n */\n relay_4(): RelayPower {\n return new RelayPower(this.fetch, 4);\n }\n}\n\n/** @hideconstructor */\nexport class Dut {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Resets the DUT.\n */\n reset(): Promise<void> {\n return this.fetch(`/power/dut/${this.id}/reset`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Configures the DUT.\n * @param config The configuration to apply.\n * @returns The updated DUT state.\n */\n configure(config: DutConfiguration): Promise<DutState> {\n return this.fetch(`/power/dut/${this.id}`, {\n method: 'PATCH',\n body: v.parse(dutConfiguration, config),\n schema: dutState,\n });\n }\n\n /**\n * Powers up the DUT to the specified voltage.\n * @param voltage The target voltage to set.\n * @returns The updated DUT state.\n */\n async power_up(voltage: AnalogOutputLevel): Promise<DutState> {\n return this.configure({ enabled: true, target_voltage: voltage });\n }\n\n /**\n * Powers down the DUT.\n * @returns The updated DUT state.\n */\n async power_down(): Promise<DutState> {\n return this.configure({ enabled: false });\n }\n\n /**\n * Reads the current DUT state.\n * @returns The current DUT state.\n */\n read(): Promise<DutState> {\n return this.fetch(`/power/dut/${this.id}`, { schema: dutState });\n }\n\n /**\n * Reads the current drawn by the DUT.\n * @returns The current drawn by the DUT.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n\n /**\n * Reads the voltage supplied to the DUT.\n * @returns The voltage supplied to the DUT.\n */\n async read_voltage(): Promise<number> {\n return (await this.read()).voltage;\n }\n}\n\n/** @hideconstructor */\nexport class Usb {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Resets the USB port.\n */\n reset(): Promise<void> {\n return this.fetch(`/power/usb/${this.id}/reset`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Configures the USB port.\n * @param config The configuration to apply.\n * @returns The updated USB state.\n */\n configure(config: UsbConfiguration): Promise<UsbState> {\n return this.fetch(`/power/usb/${this.id}`, {\n method: 'PATCH',\n body: v.parse(usbConfiguration, config),\n schema: usbState,\n });\n }\n\n /**\n * Powers up the USB port.\n * @returns The updated USB state.\n */\n power_up(): Promise<UsbState> {\n return this.configure({ enabled: true });\n }\n\n /**\n * Powers down the USB port.\n * @returns The updated USB state.\n */\n power_down(): Promise<UsbState> {\n return this.configure({ enabled: false });\n }\n\n /**\n * Reads the current state of the USB port.\n * @returns The current USB state.\n */\n read(): Promise<UsbState> {\n return this.fetch(`/power/usb/${this.id}`, { schema: usbState });\n }\n\n /**\n * Reads the current drawn by the USB port.\n * @returns The current drawn by the USB port.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n\n /**\n * Reads the voltage at the USB port.\n * @returns The voltage at the USB port.\n */\n async read_voltage(): Promise<number> {\n return (await this.read()).voltage;\n }\n}\n\n/** @hideconstructor */\nexport class RelayPower {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Reads the current state of the relay.\n * @returns The current relay state.\n */\n read(): Promise<RelayState> {\n return this.fetch(`/power/relay/${this.id}`, { schema: relayState });\n }\n\n /**\n * Reads the current drawn through the relay.\n * @returns The current drawn through the relay.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n}\n"],"mappings":"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"}
|
package/build/power-BpI1_Yav.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-DjWAcSYV.cjs`),t=require(`./common-ix04NEFn.cjs`);let n=require(`valibot`);n=e.t(n);const r=n.object({enabled:n.boolean(),target_voltage:t.t,voltage:t.t,current:n.number()}),i=n.partial(n.pick(r,[`enabled`,`target_voltage`])),a=n.pick(r,[`enabled`,`current`,`voltage`]),o=n.pick(a,[`enabled`]),s=n.pick(r,[`current`]);var c=class{usb_count;dut_count=1;constructor(e,t){this.fetch=e,this.usb_count=t.capabilities.usb_ports.length}reset(){return this.fetch(`/power/reset`,{method:`POST`,parseResponse:()=>{}})}dut(e){if(e<0||e>=this.dut_count)throw Error(`Invalid DUT id ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a DUT ID between 0 and ${this.dut_count-1}\n Path: /power/dut/${e}`);return new l(this.fetch,e)}usb(e){if(e<0||e>=this.usb_count)throw Error(`Invalid USB port ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a USB port ID between 0 and ${this.usb_count-1}\n Path: /power/usb/${e}`);return new u(this.fetch,e)}relay_4(){return new d(this.fetch,4)}},l=class{constructor(e,t){this.fetch=e,this.id=t}reset(){return this.fetch(`/power/dut/${this.id}/reset`,{method:`POST`,parseResponse:()=>{}})}configure(e){return this.fetch(`/power/dut/${this.id}`,{method:`PATCH`,body:n.parse(i,e),schema:r})}async power_up(e){return this.configure({enabled:!0,target_voltage:e})}async power_down(){return this.configure({enabled:!1})}read(){return this.fetch(`/power/dut/${this.id}`,{schema:r})}async read_current(){return(await this.read()).current}async read_voltage(){return(await this.read()).voltage}},u=class{constructor(e,t){this.fetch=e,this.id=t}reset(){return this.fetch(`/power/usb/${this.id}/reset`,{method:`POST`,parseResponse:()=>{}})}configure(e){return this.fetch(`/power/usb/${this.id}`,{method:`PATCH`,body:n.parse(o,e),schema:a})}power_up(){return this.configure({enabled:!0})}power_down(){return this.configure({enabled:!1})}read(){return this.fetch(`/power/usb/${this.id}`,{schema:a})}async read_current(){return(await this.read()).current}async read_voltage(){return(await this.read()).voltage}},d=class{constructor(e,t){this.fetch=e,this.id=t}read(){return this.fetch(`/power/relay/${this.id}`,{schema:s})}async read_current(){return(await this.read()).current}};Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
2
|
-
//# sourceMappingURL=power-BpI1_Yav.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"power-BpI1_Yav.cjs","names":["v","analogLevel","fetch: UpFetch","id: number"],"sources":["../src/api/power.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nimport { analogLevel, type AnalogOutputLevel } from './common';\nimport type { Device } from './management';\n\nexport type { AnalogOutputLevel };\n\nconst dutState = v.object({\n enabled: v.boolean(),\n target_voltage: analogLevel,\n voltage: analogLevel,\n current: v.number(),\n});\nexport type DutState = v.InferOutput<typeof dutState>;\n\nconst dutConfiguration = v.partial(v.pick(dutState, ['enabled', 'target_voltage']));\nexport type DutConfiguration = v.InferOutput<typeof dutConfiguration>;\n\nconst usbState = v.pick(dutState, ['enabled', 'current', 'voltage']);\nexport type UsbState = v.InferOutput<typeof usbState>;\n\nconst usbConfiguration = v.pick(usbState, ['enabled']);\nexport type UsbConfiguration = v.InferOutput<typeof usbConfiguration>;\n\nconst relayState = v.pick(dutState, ['current']);\nexport type RelayState = v.InferOutput<typeof relayState>;\n\n/** @hideconstructor */\nexport class PowerApi {\n private readonly usb_count: number;\n private readonly dut_count = 1;\n\n constructor(private readonly fetch: UpFetch, device: Device) {\n this.usb_count = device.capabilities.usb_ports.length;\n }\n\n /**\n * Resets the power API.\n */\n reset(): Promise<void> {\n return this.fetch('/power/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific DUT by id.\n * @param id The DUT id.\n * @returns The DUT instance.\n */\n dut(id: number): Dut {\n if (id < 0 || id >= this.dut_count) {\n throw new Error(\n `Invalid DUT id ${id} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a DUT ID between 0 and ${\n this.dut_count - 1\n }\\n Path: /power/dut/${id}`,\n );\n }\n\n return new Dut(this.fetch, id);\n }\n\n /**\n * Access a specific USB port by id.\n * @param id The USB port id.\n * @returns The USB port instance.\n */\n usb(id: number): Usb {\n if (id < 0 || id >= this.usb_count) {\n throw new Error(\n `Invalid USB port ${id} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a USB port ID between 0 and ${\n this.usb_count - 1\n }\\n Path: /power/usb/${id}`,\n );\n }\n\n return new Usb(this.fetch, id);\n }\n\n /**\n * Access the relay at index 4.\n * @returns The relay instance.\n */\n relay_4(): RelayPower {\n return new RelayPower(this.fetch, 4);\n }\n}\n\n/** @hideconstructor */\nexport class Dut {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Resets the DUT.\n */\n reset(): Promise<void> {\n return this.fetch(`/power/dut/${this.id}/reset`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Configures the DUT.\n * @param config The configuration to apply.\n * @returns The updated DUT state.\n */\n configure(config: DutConfiguration): Promise<DutState> {\n return this.fetch(`/power/dut/${this.id}`, {\n method: 'PATCH',\n body: v.parse(dutConfiguration, config),\n schema: dutState,\n });\n }\n\n /**\n * Powers up the DUT to the specified voltage.\n * @param voltage The target voltage to set.\n * @returns The updated DUT state.\n */\n async power_up(voltage: AnalogOutputLevel): Promise<DutState> {\n return this.configure({ enabled: true, target_voltage: voltage });\n }\n\n /**\n * Powers down the DUT.\n * @returns The updated DUT state.\n */\n async power_down(): Promise<DutState> {\n return this.configure({ enabled: false });\n }\n\n /**\n * Reads the current DUT state.\n * @returns The current DUT state.\n */\n read(): Promise<DutState> {\n return this.fetch(`/power/dut/${this.id}`, { schema: dutState });\n }\n\n /**\n * Reads the current drawn by the DUT.\n * @returns The current drawn by the DUT.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n\n /**\n * Reads the voltage supplied to the DUT.\n * @returns The voltage supplied to the DUT.\n */\n async read_voltage(): Promise<number> {\n return (await this.read()).voltage;\n }\n}\n\n/** @hideconstructor */\nexport class Usb {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Resets the USB port.\n */\n reset(): Promise<void> {\n return this.fetch(`/power/usb/${this.id}/reset`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Configures the USB port.\n * @param config The configuration to apply.\n * @returns The updated USB state.\n */\n configure(config: UsbConfiguration): Promise<UsbState> {\n return this.fetch(`/power/usb/${this.id}`, {\n method: 'PATCH',\n body: v.parse(usbConfiguration, config),\n schema: usbState,\n });\n }\n\n /**\n * Powers up the USB port.\n * @returns The updated USB state.\n */\n power_up(): Promise<UsbState> {\n return this.configure({ enabled: true });\n }\n\n /**\n * Powers down the USB port.\n * @returns The updated USB state.\n */\n power_down(): Promise<UsbState> {\n return this.configure({ enabled: false });\n }\n\n /**\n * Reads the current state of the USB port.\n * @returns The current USB state.\n */\n read(): Promise<UsbState> {\n return this.fetch(`/power/usb/${this.id}`, { schema: usbState });\n }\n\n /**\n * Reads the current drawn by the USB port.\n * @returns The current drawn by the USB port.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n\n /**\n * Reads the voltage at the USB port.\n * @returns The voltage at the USB port.\n */\n async read_voltage(): Promise<number> {\n return (await this.read()).voltage;\n }\n}\n\n/** @hideconstructor */\nexport class RelayPower {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Reads the current state of the relay.\n * @returns The current relay state.\n */\n read(): Promise<RelayState> {\n return this.fetch(`/power/relay/${this.id}`, { schema: relayState });\n }\n\n /**\n * Reads the current drawn through the relay.\n * @returns The current drawn through the relay.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n}\n"],"mappings":"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"}
|
|
File without changes
|