@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
package/build/node.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./com-9odKA1Fj.mjs";import"./common-DSzy5K03.mjs";import"./gpio-nD6e5nNZ.mjs";import"./hmi-dJ8Y4DVD.mjs";import"./management-CGmaS4-D.mjs";import"./power-B1rs9Bqf.mjs";import"./relays-I7rKvd13.mjs";import{t as e}from"./at1000-Dm22ae18.mjs";import t from"dns-packet";import{EventEmitter as n}from"node:events";import r from"node:util";import i from"ip-address";import a from"node:os";import o from"node:dgram";const s=`224.0.0.251`,c=`FF02::FB`,l=5353,u=`IPv4`,d=`IPv6`,f=[u,4,d,6];var p=class e{static getInterfaces(t){return t?e.getInterfacesFromStrings(t):e.getAllInterfaces()}static getAllInterfaces(){let e=[],t=[],n=a.networkInterfaces();for(let[r,i]of Object.entries(n))t.includes(r)||(t.push(r),i?.forEach(t=>{t.internal||!f.includes(t.family)||/^(2002|2001):/gi.exec(t.address)||e.push({name:r,address:t.address,family:t.family})}));if(!e.length)throw Error(`No usable network interfaces returned by OS.`);return e}static getInterfacesFromStrings(t){let n=Array.isArray(t)?t:[t],r=this.getAllInterfaces().filter(t=>n.reduce((n,r)=>n||!!(e.stringMatchesAddress(r,t.address)||t.name===r),!1));if(!r||!r.length)throw Error(`No usable network interfaces returned by OS.`);return r}static stringMatchesAddress(e,t){let n,r;try{n=new i.Address4(e),r=new i.Address4(t)}catch{try{n=new i.Address6(e),r=new i.Address6(t)}catch{return!1}}return n.bigInt()===r.bigInt()}};const m={interfaces:[],reuseAddr:!0,ttl:255,loopback:!0,onMessage:(e,t)=>{console.log(`Message `+e.toString())},socketError:e=>{console.log(`Socket error `+e.message)}};var h=class e{static validateSettings(e){if(!e.multicastAddress)throw Error(`Socket settings require multicastAddress`);if(!e.multicastPort)throw Error(`Socket settings require multicastPort`)}static createMulticastSocket(t){return new Promise((n,r)=>{let a=Object.assign({},m,t);e.validateSettings(a);let s=o.createSocket({type:i.Address4.isValid(a.multicastAddress)?`udp4`:`udp6`,reuseAddr:a.reuseAddr}),c=!1;s.on(`error`,e=>{c?a.socketError(e):(s.close(),n({success:!1,error:e}))}).on(`listening`,()=>{c=!0,s.setMulticastTTL(a.ttl??255),s.setMulticastLoopback(a.loopback??!0);let t=e.addMulticastMemberships(s,a);if(!t.memberships.length){c=!1,s.close(),n({success:!1,error:Error(`No interface memberships for multicast address `+a.multicastAddress)});return}n(Object.assign({success:!0},t,{socket:s}))}).on(`message`,(e,t)=>{a.onMessage(e,t)}),s.bind({port:a.multicastPort,exclusive:!1})})}static addMulticastMemberships(t,n){let r=[],a=[],o=i.Address4.isValid(n.multicastAddress)?[u,4]:[d,6];return n.interfaces.forEach(i=>{if(o.includes(i.family))try{t.addMembership(n.multicastAddress,e.interfaceAddress(i)),r.push(i)}catch{a.push(i)}}),{memberships:r,failedMemberships:a}}static async createSendSocket(t,n,r,i){return new Promise((a,s)=>{let c=o.createSocket({type:[u,4].includes(t.family)?`udp4`:`udp6`,reuseAddr:!!n.reuseAddr});c.once(`error`,e=>{c.close(),a({success:!1,error:Error(e.message)})}).on(`error`,i).on(`listening`,()=>{a({success:!0,iface:t,socket:c,send:c.send.bind(c)})}).on(`message`,(e,n)=>{n.interface=t.name,r(e,n)}).bind(n.srcPort||0,e.interfaceAddress(t))})}static interfaceAddress(e){return`${e.address}${[u,4].includes(e.family)?``:`%`+e.name}`}};const g={reuseAddr:!0,srcPort:0,interfaces:null,ttl:255,loopback:!0,debug:!1};var _=class extends n{Config;ready;receiveSockets;sendSockets;interfaces;destroyed;constructor(e){super(),this.Config=Object.assign({},g,e),this.ready=!1,this.receiveSockets=[],this.sendSockets=[]}async init(){try{this.interfaces=p.getInterfaces(this.Config.interfaces||void 0)}catch(e){throw this.emitError(e),e}return this.emitDebug(`Scanner interfaces: ${r.inspect(this.interfaces)}`),await this.createReceiveSockets(),await this.createSendSockets(),this.receiveSockets.length&&this.sendSockets.length&&(this.ready=!0),this.ready}async createReceiveSockets(){if(!this.interfaces)return[];let e=this.interfaces.filter(e=>[u,4].includes(e.family)),t=this.interfaces.filter(e=>[d,6].includes(e.family));if(this.emitDebug(`Create receive sockets for${e.length?` `+u:``}${e.length&&t.length?` and`:``}${t.length?` `+d:``}`),e.length){let t=await h.createMulticastSocket({multicastAddress:s,multicastPort:l,interfaces:e,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});t.success?this.receiveSockets.push(t):t.error&&this.emitError(t.error.message)}if(t.length){let e=await h.createMulticastSocket({multicastAddress:c,multicastPort:l,interfaces:t,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});e.success?this.receiveSockets.push(e):e.error&&this.emitError(e.error.message)}return this.receiveSockets}async createSendSockets(){if(this.interfaces){this.emitDebug(`Create send sockets on ${this.interfaces.length} interfaces/addresses.`);for(let e=0;e<this.interfaces.length;e++){let t=await h.createSendSocket(this.interfaces[e],this.Config,this.onMessage.bind(this),this.socketError.bind(this));t.success?this.sendSockets.push(t):t.error&&this.emitError(t.error.message)}}}onMessage(e,n){let r;try{r=t.decode(e)}catch(e){return this.emitWarn(e)}this.emit(`packet`,r,n)}socketError(e){e.code===`EACCES`||e.code===`EADDRINUSE`||e.code===`EADDRNOTAVAIL`?this.emitError(e):this.emitWarn(e)}query(e,t){let n;if(typeof e==`string`)n=[{name:e,type:t||`ANY`}];else if(Array.isArray(e))n=e;else throw Error(`Query questions must be an array of mDNS query questions.`);let i={type:`query`,questions:n};this.emitDebug(`Send mDNS query: ${r.inspect(i)}`),this.send(i)}send(e){if(this.destroyed)return;let n=t.encode(e);for(let e=0;e<this.sendSockets.length;e++){let t=this.sendSockets[e];t.send&&t.iface&&(t.send(n,0,n.length,l,[u,4].includes(t.iface.family)?s:c+`%`+t.iface.name),this.emitDebug(`Send packet on ${t.iface.address}`))}}destroy(){this.ready=!1,this.sendSockets.forEach(e=>e.socket?.close()),this.sendSockets=[],this.receiveSockets.forEach(e=>e.socket?.close()),this.receiveSockets=[]}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};const v={debug:!1};var y=class extends n{Config;scanner;types;namedServices;packetListener;constructor(e,t){super(),this.packetListener=this.onPacket.bind(this),this.scanner=e,this.Config=Object.assign({},v,t),this.types=[],this.namedServices={},this.forwardEvents(this.scanner),this.reset()}reset(){this.removeMDNSListener(this.scanner),this.types=[],this.namedServices={},this.listenMDNSEvents(this.scanner)}forwardEvents(e){e.on(`error`,e=>{this.emitError(e)}).on(`warn`,e=>{this.emitWarn(e)}).on(`debug`,e=>{this.emitDebug(e)})}listenMDNSEvents(e){e.on(`packet`,this.packetListener)}removeMDNSListener(e){e.removeListener(`packet`,this.packetListener)}onPacket(e,t){switch(this.emitDebug(`Received packet type ${e.type} from ${t.address}.`),e.type){case`query`:this.emit(`query`,e,t);break;case`response`:this.emitDebug(`Received response packet from ${t.address} with ${e.answers?e.answers.length:0} answers and ${e.additionals?e.additionals.length:0} additionals.`),e.answers&&this.processAnswers(e.answers,t),e.additionals&&this.processAnswers(e.additionals,t);break}}processAnswers(e,t){this.emitDebug(`Processing answers or additionals...`);let n=this.processSRVAnswers(e);this.processTXTAnswers(e),this.processAAnswers(e),this.processAAAAAnswers(e),this.processPTRAnswers(e,t),n.forEach(e=>{this.emit(`discovered`,{type:`service`,data:this.namedServices[e]})})}processSRVAnswers(e){let t=[];return e.forEach(e=>{if(e.type!==`SRV`)return;this.emitDebug(`Processing SRV answer.`);let n=e.name.toString();t.includes(n)||t.push(n),this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].service=e,this.namedServices[n].host=e.data.target.toString(),this.namedServices[n].port=e.data.port}),t}processTXTAnswers(e){e.forEach(e=>{if(e.type!==`TXT`)return;this.emitDebug(`Processing TXT answer.`);let t=e.data;if(Array.isArray(t)&&t.length>1){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(Buffer.concat(t))}else if(Buffer.isBuffer(t)){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(t)}})}processAAnswers(e){e.forEach(e=>{if(e.type!==`A`)return;this.emitDebug(`Processing A answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:u,address:n}))})}processAAAAAnswers(e){e.forEach(e=>{if(e.type!==`AAAA`)return;this.emitDebug(`Processing AAAA answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:d,address:n}))})}processPTRAnswers(e,t){e.forEach(e=>{if(e.type!==`PTR`)return;this.emitDebug(`Processing PTR answer.`);let n=this.serviceTypeFromPTR(e),r=e.data.toString();n!==r&&(this.namedServices[r]=this.namedServices[r]||{},this.namedServices[r].name=r.replace(`.`+n,``),this.namedServices[r].rinfo=t)})}serviceTypeFromPTR(e){let t=e.data,n=/(?:^|^.+?(?:\.))(_.*)$/gm.exec(t.toString()),r=n?n[1]:t.toString();return this.types.includes(r)||(this.types.push(r),this.emit(`discovered`,{type:`type`,data:r}),this.emitDebug(`Scanning service type ${r}.`),this.scanner.query(r,`ANY`)),r}answerDataToKeyValues(e){let t=[],n={},r=0,i=e[r];for(;i;){let a=e.slice(r+1,r+1+i);t.push(a.toString());let o=/^([^=]+)=([^=]*)$/.exec(a.toString());o&&(n[o[1]]=o[2]),r=r+1+i,i=e[r]}return{strings:t,keyValuePairs:n}}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};const b=async(t=500)=>{t<10&&(t=10);let n=new _({debug:!0}),r=new y(n);if(r.on(`error`,e=>{if(!e.includes(`bind ENOENT`))throw Error(e)}),!await n.init())throw Error(`Failed to initialize mDNS scanner`);n.query(`_at1000_server._tcp.local`),await new Promise(e=>setTimeout(e,t));let i=[...new Set(Object.values(r.namedServices).filter(e=>e!==void 0&&e.service!==void 0).filter(e=>e.service.name.endsWith(`_at1000_server._tcp.local`)).map(e=>e.addresses.filter(e=>e.family==`IPv4`).pop()?.address).filter(e=>e!==void 0))].map(t=>e.create(t));return n.destroy(),await Promise.all(i)};var x=class extends e{static findDevices(e=500){return b(e)}};export{x as AT1000};
|
|
1
|
+
import"./com-VtVWh7gI.mjs";import"./common-B6_Yo59b.mjs";import"./gpio-CGsMbcQN.mjs";import"./hmi-CocSngQM.mjs";import"./management-CXGT-yoC.mjs";import"./power-DqULYfeX.mjs";import"./relays-BPQj7abl.mjs";import{t as e}from"./at1000-C4IWLsB5.mjs";import t from"dns-packet";import{EventEmitter as n}from"node:events";import r from"node:util";import i from"ip-address";import a from"node:os";import o from"node:dgram";const s=`224.0.0.251`,c=`FF02::FB`,l=5353,u=`IPv4`,d=`IPv6`,f=[u,4,d,6];var p=class e{static getInterfaces(t){return t?e.getInterfacesFromStrings(t):e.getAllInterfaces()}static getAllInterfaces(){let e=[],t=[],n=a.networkInterfaces();for(let[r,i]of Object.entries(n))t.includes(r)||(t.push(r),i?.forEach(t=>{t.internal||!f.includes(t.family)||/^(2002|2001):/gi.exec(t.address)||e.push({name:r,address:t.address,family:t.family})}));if(!e.length)throw Error(`No usable network interfaces returned by OS.`);return e}static getInterfacesFromStrings(t){let n=Array.isArray(t)?t:[t],r=this.getAllInterfaces().filter(t=>n.reduce((n,r)=>n||!!(e.stringMatchesAddress(r,t.address)||t.name===r),!1));if(!r||!r.length)throw Error(`No usable network interfaces returned by OS.`);return r}static stringMatchesAddress(e,t){let n,r;try{n=new i.Address4(e),r=new i.Address4(t)}catch{try{n=new i.Address6(e),r=new i.Address6(t)}catch{return!1}}return n.bigInt()===r.bigInt()}};const m={interfaces:[],reuseAddr:!0,ttl:255,loopback:!0,onMessage:(e,t)=>{console.log(`Message `+e.toString())},socketError:e=>{console.log(`Socket error `+e.message)}};var h=class e{static validateSettings(e){if(!e.multicastAddress)throw Error(`Socket settings require multicastAddress`);if(!e.multicastPort)throw Error(`Socket settings require multicastPort`)}static createMulticastSocket(t){return new Promise((n,r)=>{let a=Object.assign({},m,t);e.validateSettings(a);let s=o.createSocket({type:i.Address4.isValid(a.multicastAddress)?`udp4`:`udp6`,reuseAddr:a.reuseAddr}),c=!1;s.on(`error`,e=>{c?a.socketError(e):(s.close(),n({success:!1,error:e}))}).on(`listening`,()=>{c=!0,s.setMulticastTTL(a.ttl??255),s.setMulticastLoopback(a.loopback??!0);let t=e.addMulticastMemberships(s,a);if(!t.memberships.length){c=!1,s.close(),n({success:!1,error:Error(`No interface memberships for multicast address `+a.multicastAddress)});return}n(Object.assign({success:!0},t,{socket:s}))}).on(`message`,(e,t)=>{a.onMessage(e,t)}),s.bind({port:a.multicastPort,exclusive:!1})})}static addMulticastMemberships(t,n){let r=[],a=[],o=i.Address4.isValid(n.multicastAddress)?[u,4]:[d,6];return n.interfaces.forEach(i=>{if(o.includes(i.family))try{t.addMembership(n.multicastAddress,e.interfaceAddress(i)),r.push(i)}catch{a.push(i)}}),{memberships:r,failedMemberships:a}}static async createSendSocket(t,n,r,i){return new Promise((a,s)=>{let c=o.createSocket({type:[u,4].includes(t.family)?`udp4`:`udp6`,reuseAddr:!!n.reuseAddr});c.once(`error`,e=>{c.close(),a({success:!1,error:Error(e.message)})}).on(`error`,i).on(`listening`,()=>{a({success:!0,iface:t,socket:c,send:c.send.bind(c)})}).on(`message`,(e,n)=>{n.interface=t.name,r(e,n)}).bind(n.srcPort||0,e.interfaceAddress(t))})}static interfaceAddress(e){return`${e.address}${[u,4].includes(e.family)?``:`%`+e.name}`}};const g={reuseAddr:!0,srcPort:0,interfaces:null,ttl:255,loopback:!0,debug:!1};var _=class extends n{Config;ready;receiveSockets;sendSockets;interfaces;destroyed;constructor(e){super(),this.Config=Object.assign({},g,e),this.ready=!1,this.receiveSockets=[],this.sendSockets=[]}async init(){try{this.interfaces=p.getInterfaces(this.Config.interfaces||void 0)}catch(e){throw this.emitError(e),e}return this.emitDebug(`Scanner interfaces: ${r.inspect(this.interfaces)}`),await this.createReceiveSockets(),await this.createSendSockets(),this.receiveSockets.length&&this.sendSockets.length&&(this.ready=!0),this.ready}async createReceiveSockets(){if(!this.interfaces)return[];let e=this.interfaces.filter(e=>[u,4].includes(e.family)),t=this.interfaces.filter(e=>[d,6].includes(e.family));if(this.emitDebug(`Create receive sockets for${e.length?` `+u:``}${e.length&&t.length?` and`:``}${t.length?` `+d:``}`),e.length){let t=await h.createMulticastSocket({multicastAddress:s,multicastPort:l,interfaces:e,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});t.success?this.receiveSockets.push(t):t.error&&this.emitError(t.error.message)}if(t.length){let e=await h.createMulticastSocket({multicastAddress:c,multicastPort:l,interfaces:t,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});e.success?this.receiveSockets.push(e):e.error&&this.emitError(e.error.message)}return this.receiveSockets}async createSendSockets(){if(this.interfaces){this.emitDebug(`Create send sockets on ${this.interfaces.length} interfaces/addresses.`);for(let e=0;e<this.interfaces.length;e++){let t=await h.createSendSocket(this.interfaces[e],this.Config,this.onMessage.bind(this),this.socketError.bind(this));t.success?this.sendSockets.push(t):t.error&&this.emitError(t.error.message)}}}onMessage(e,n){let r;try{r=t.decode(e)}catch(e){return this.emitWarn(e)}this.emit(`packet`,r,n)}socketError(e){e.code===`EACCES`||e.code===`EADDRINUSE`||e.code===`EADDRNOTAVAIL`?this.emitError(e):this.emitWarn(e)}query(e,t){let n;if(typeof e==`string`)n=[{name:e,type:t||`ANY`}];else if(Array.isArray(e))n=e;else throw Error(`Query questions must be an array of mDNS query questions.`);let i={type:`query`,questions:n};this.emitDebug(`Send mDNS query: ${r.inspect(i)}`),this.send(i)}send(e){if(this.destroyed)return;let n=t.encode(e);for(let e=0;e<this.sendSockets.length;e++){let t=this.sendSockets[e];t.send&&t.iface&&(t.send(n,0,n.length,l,[u,4].includes(t.iface.family)?s:c+`%`+t.iface.name),this.emitDebug(`Send packet on ${t.iface.address}`))}}destroy(){this.ready=!1,this.sendSockets.forEach(e=>e.socket?.close()),this.sendSockets=[],this.receiveSockets.forEach(e=>e.socket?.close()),this.receiveSockets=[]}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};const v={debug:!1};var y=class extends n{Config;scanner;types;namedServices;packetListener;constructor(e,t){super(),this.packetListener=this.onPacket.bind(this),this.scanner=e,this.Config=Object.assign({},v,t),this.types=[],this.namedServices={},this.forwardEvents(this.scanner),this.reset()}reset(){this.removeMDNSListener(this.scanner),this.types=[],this.namedServices={},this.listenMDNSEvents(this.scanner)}forwardEvents(e){e.on(`error`,e=>{this.emitError(e)}).on(`warn`,e=>{this.emitWarn(e)}).on(`debug`,e=>{this.emitDebug(e)})}listenMDNSEvents(e){e.on(`packet`,this.packetListener)}removeMDNSListener(e){e.removeListener(`packet`,this.packetListener)}onPacket(e,t){switch(this.emitDebug(`Received packet type ${e.type} from ${t.address}.`),e.type){case`query`:this.emit(`query`,e,t);break;case`response`:this.emitDebug(`Received response packet from ${t.address} with ${e.answers?e.answers.length:0} answers and ${e.additionals?e.additionals.length:0} additionals.`),e.answers&&this.processAnswers(e.answers,t),e.additionals&&this.processAnswers(e.additionals,t);break}}processAnswers(e,t){this.emitDebug(`Processing answers or additionals...`);let n=this.processSRVAnswers(e);this.processTXTAnswers(e),this.processAAnswers(e),this.processAAAAAnswers(e),this.processPTRAnswers(e,t),n.forEach(e=>{this.emit(`discovered`,{type:`service`,data:this.namedServices[e]})})}processSRVAnswers(e){let t=[];return e.forEach(e=>{if(e.type!==`SRV`)return;this.emitDebug(`Processing SRV answer.`);let n=e.name.toString();t.includes(n)||t.push(n),this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].service=e,this.namedServices[n].host=e.data.target.toString(),this.namedServices[n].port=e.data.port}),t}processTXTAnswers(e){e.forEach(e=>{if(e.type!==`TXT`)return;this.emitDebug(`Processing TXT answer.`);let t=e.data;if(Array.isArray(t)&&t.length>1){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(Buffer.concat(t))}else if(Buffer.isBuffer(t)){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(t)}})}processAAnswers(e){e.forEach(e=>{if(e.type!==`A`)return;this.emitDebug(`Processing A answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:u,address:n}))})}processAAAAAnswers(e){e.forEach(e=>{if(e.type!==`AAAA`)return;this.emitDebug(`Processing AAAA answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:d,address:n}))})}processPTRAnswers(e,t){e.forEach(e=>{if(e.type!==`PTR`)return;this.emitDebug(`Processing PTR answer.`);let n=this.serviceTypeFromPTR(e),r=e.data.toString();n!==r&&(this.namedServices[r]=this.namedServices[r]||{},this.namedServices[r].name=r.replace(`.`+n,``),this.namedServices[r].rinfo=t)})}serviceTypeFromPTR(e){let t=e.data,n=/(?:^|^.+?(?:\.))(_.*)$/gm.exec(t.toString()),r=n?n[1]:t.toString();return this.types.includes(r)||(this.types.push(r),this.emit(`discovered`,{type:`type`,data:r}),this.emitDebug(`Scanning service type ${r}.`),this.scanner.query(r,`ANY`)),r}answerDataToKeyValues(e){let t=[],n={},r=0,i=e[r];for(;i;){let a=e.slice(r+1,r+1+i);t.push(a.toString());let o=/^([^=]+)=([^=]*)$/.exec(a.toString());o&&(n[o[1]]=o[2]),r=r+1+i,i=e[r]}return{strings:t,keyValuePairs:n}}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};const b=async(t=500)=>{t<10&&(t=10);let n=new _({debug:!0}),r=new y(n);if(r.on(`error`,e=>{if(!e.includes(`bind ENOENT`))throw Error(e)}),!await n.init())throw Error(`Failed to initialize mDNS scanner`);n.query(`_at1000_server._tcp.local`),await new Promise(e=>setTimeout(e,t));let i=[...new Set(Object.values(r.namedServices).filter(e=>e!==void 0&&e.service!==void 0).filter(e=>e.service.name.endsWith(`_at1000_server._tcp.local`)).map(e=>e.addresses.filter(e=>e.family==`IPv4`).pop()?.address).filter(e=>e!==void 0))].map(t=>e.create(t));return n.destroy(),await Promise.all(i)};var x=class extends e{static findDevices(e=500){return b(e)}};export{x as AT1000};
|
|
2
2
|
//# sourceMappingURL=node.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./common-DBMgtoTL.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.reduce((e,t)=>e+t.count,0)}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-1yzD9ymI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"power-1yzD9ymI.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.reduce((a, b) => a + b.count, 0);\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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"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { t as AnalogOutputLevel } from "./common-
|
|
2
|
-
import { n as Device } from "./management-
|
|
1
|
+
import { t as AnalogOutputLevel } from "./common-SiysH9tt.mjs";
|
|
2
|
+
import { n as Device } from "./management-CwNeejKZ.mjs";
|
|
3
3
|
import { UpFetch } from "up-fetch";
|
|
4
4
|
import * as v from "valibot";
|
|
5
5
|
|
|
6
6
|
//#region src/api/power.d.ts
|
|
7
7
|
declare const dutState: v.ObjectSchema<{
|
|
8
8
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
9
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
10
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
9
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
10
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
11
11
|
readonly current: v.NumberSchema<undefined>;
|
|
12
12
|
}, undefined>;
|
|
13
13
|
type DutState = v.InferOutput<typeof dutState>;
|
|
14
14
|
declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
15
15
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
16
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
17
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
16
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
17
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
18
18
|
readonly current: v.NumberSchema<undefined>;
|
|
19
|
-
}, undefined>, "~standard" | "~
|
|
19
|
+
}, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
|
|
20
20
|
readonly entries: Pick<{
|
|
21
21
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
22
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
23
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
22
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
23
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
24
24
|
readonly current: v.NumberSchema<undefined>;
|
|
25
25
|
}, "enabled" | "target_voltage">;
|
|
26
26
|
readonly '~standard': v.StandardProps<{
|
|
@@ -33,7 +33,7 @@ declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
33
33
|
readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
34
34
|
enabled: boolean;
|
|
35
35
|
target_voltage: number;
|
|
36
|
-
}, v.
|
|
36
|
+
}, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
37
37
|
readonly '~types'?: {
|
|
38
38
|
readonly input: {
|
|
39
39
|
enabled: boolean;
|
|
@@ -43,12 +43,12 @@ declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
43
43
|
enabled: boolean;
|
|
44
44
|
target_voltage: number;
|
|
45
45
|
};
|
|
46
|
-
readonly issue: v.
|
|
46
|
+
readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
47
47
|
} | undefined;
|
|
48
|
-
}, "~standard" | "~
|
|
48
|
+
}, "~standard" | "~run" | "~types" | "entries"> & {
|
|
49
49
|
readonly entries: {
|
|
50
50
|
readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
51
|
-
readonly target_voltage: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
51
|
+
readonly target_voltage: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>, undefined>;
|
|
52
52
|
};
|
|
53
53
|
readonly '~standard': v.StandardProps<{
|
|
54
54
|
enabled?: boolean | undefined;
|
|
@@ -60,7 +60,7 @@ declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
60
60
|
readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
61
61
|
enabled?: boolean | undefined;
|
|
62
62
|
target_voltage?: number | undefined;
|
|
63
|
-
}, v.
|
|
63
|
+
}, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
64
64
|
readonly '~types'?: {
|
|
65
65
|
readonly input: {
|
|
66
66
|
enabled?: boolean | undefined;
|
|
@@ -70,97 +70,97 @@ declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
70
70
|
enabled?: boolean | undefined;
|
|
71
71
|
target_voltage?: number | undefined;
|
|
72
72
|
};
|
|
73
|
-
readonly issue: v.
|
|
73
|
+
readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
74
74
|
} | undefined;
|
|
75
75
|
};
|
|
76
76
|
type DutConfiguration = v.InferOutput<typeof dutConfiguration>;
|
|
77
77
|
declare const usbState: Omit<v.ObjectSchema<{
|
|
78
78
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
79
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
80
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
79
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
80
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
81
81
|
readonly current: v.NumberSchema<undefined>;
|
|
82
|
-
}, undefined>, "~standard" | "~
|
|
82
|
+
}, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
|
|
83
83
|
readonly entries: Pick<{
|
|
84
84
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
85
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
86
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
85
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
86
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
87
87
|
readonly current: v.NumberSchema<undefined>;
|
|
88
|
-
}, "
|
|
88
|
+
}, "enabled" | "current" | "voltage">;
|
|
89
89
|
readonly '~standard': v.StandardProps<{
|
|
90
|
-
current: number;
|
|
91
90
|
enabled: boolean;
|
|
91
|
+
current: number;
|
|
92
92
|
voltage: number;
|
|
93
93
|
}, {
|
|
94
|
-
current: number;
|
|
95
94
|
enabled: boolean;
|
|
95
|
+
current: number;
|
|
96
96
|
voltage: number;
|
|
97
97
|
}>;
|
|
98
98
|
readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
99
|
-
current: number;
|
|
100
99
|
enabled: boolean;
|
|
100
|
+
current: number;
|
|
101
101
|
voltage: number;
|
|
102
|
-
}, v.
|
|
102
|
+
}, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
103
103
|
readonly '~types'?: {
|
|
104
104
|
readonly input: {
|
|
105
|
-
current: number;
|
|
106
105
|
enabled: boolean;
|
|
106
|
+
current: number;
|
|
107
107
|
voltage: number;
|
|
108
108
|
};
|
|
109
109
|
readonly output: {
|
|
110
|
-
current: number;
|
|
111
110
|
enabled: boolean;
|
|
111
|
+
current: number;
|
|
112
112
|
voltage: number;
|
|
113
113
|
};
|
|
114
|
-
readonly issue: v.
|
|
114
|
+
readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
115
115
|
} | undefined;
|
|
116
116
|
};
|
|
117
117
|
type UsbState = v.InferOutput<typeof usbState>;
|
|
118
118
|
declare const usbConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
119
119
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
120
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
121
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
120
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
121
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
122
122
|
readonly current: v.NumberSchema<undefined>;
|
|
123
|
-
}, undefined>, "~standard" | "~
|
|
123
|
+
}, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
|
|
124
124
|
readonly entries: Pick<{
|
|
125
125
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
126
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
127
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
126
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
127
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
128
128
|
readonly current: v.NumberSchema<undefined>;
|
|
129
|
-
}, "
|
|
129
|
+
}, "enabled" | "current" | "voltage">;
|
|
130
130
|
readonly '~standard': v.StandardProps<{
|
|
131
|
-
current: number;
|
|
132
131
|
enabled: boolean;
|
|
132
|
+
current: number;
|
|
133
133
|
voltage: number;
|
|
134
134
|
}, {
|
|
135
|
-
current: number;
|
|
136
135
|
enabled: boolean;
|
|
136
|
+
current: number;
|
|
137
137
|
voltage: number;
|
|
138
138
|
}>;
|
|
139
139
|
readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
140
|
-
current: number;
|
|
141
140
|
enabled: boolean;
|
|
141
|
+
current: number;
|
|
142
142
|
voltage: number;
|
|
143
|
-
}, v.
|
|
143
|
+
}, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
144
144
|
readonly '~types'?: {
|
|
145
145
|
readonly input: {
|
|
146
|
-
current: number;
|
|
147
146
|
enabled: boolean;
|
|
147
|
+
current: number;
|
|
148
148
|
voltage: number;
|
|
149
149
|
};
|
|
150
150
|
readonly output: {
|
|
151
|
-
current: number;
|
|
152
151
|
enabled: boolean;
|
|
152
|
+
current: number;
|
|
153
153
|
voltage: number;
|
|
154
154
|
};
|
|
155
|
-
readonly issue: v.
|
|
155
|
+
readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
156
156
|
} | undefined;
|
|
157
|
-
}, "~standard" | "~
|
|
157
|
+
}, "~standard" | "~run" | "~types" | "entries"> & {
|
|
158
158
|
readonly entries: Pick<Pick<{
|
|
159
159
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
160
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
161
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
160
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
161
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
162
162
|
readonly current: v.NumberSchema<undefined>;
|
|
163
|
-
}, "
|
|
163
|
+
}, "enabled" | "current" | "voltage">, "enabled">;
|
|
164
164
|
readonly '~standard': v.StandardProps<{
|
|
165
165
|
enabled: boolean;
|
|
166
166
|
}, {
|
|
@@ -182,14 +182,14 @@ declare const usbConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
182
182
|
type UsbConfiguration = v.InferOutput<typeof usbConfiguration>;
|
|
183
183
|
declare const relayState: Omit<v.ObjectSchema<{
|
|
184
184
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
185
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
186
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
185
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
186
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
187
187
|
readonly current: v.NumberSchema<undefined>;
|
|
188
|
-
}, undefined>, "~standard" | "~
|
|
188
|
+
}, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
|
|
189
189
|
readonly entries: Pick<{
|
|
190
190
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
191
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
192
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
191
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
192
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
193
193
|
readonly current: v.NumberSchema<undefined>;
|
|
194
194
|
}, "current">;
|
|
195
195
|
readonly '~standard': v.StandardProps<{
|
|
@@ -340,4 +340,4 @@ declare class RelayPower {
|
|
|
340
340
|
}
|
|
341
341
|
//#endregion
|
|
342
342
|
export { RelayPower as a, UsbConfiguration as c, PowerApi as i, UsbState as l, DutConfiguration as n, RelayState as o, DutState as r, Usb as s, Dut as t };
|
|
343
|
-
//# sourceMappingURL=power-
|
|
343
|
+
//# sourceMappingURL=power-BQQQElr8.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-
|
|
1
|
+
{"version":3,"file":"power-BQQQElr8.d.mts","names":[],"sources":["../src/api/power.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./common-B6_Yo59b.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.reduce((e,t)=>e+t.count,0)}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-DqULYfeX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"power-DqULYfeX.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.reduce((a, b) => a + b.count, 0);\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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"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { t as AnalogOutputLevel } from "./common-
|
|
2
|
-
import { n as Device } from "./management-
|
|
1
|
+
import { t as AnalogOutputLevel } from "./common-DAOxX-Zx.cjs";
|
|
2
|
+
import { n as Device } from "./management-BIDVdvlQ.cjs";
|
|
3
3
|
import { UpFetch } from "up-fetch";
|
|
4
4
|
import * as v from "valibot";
|
|
5
5
|
|
|
6
6
|
//#region src/api/power.d.ts
|
|
7
7
|
declare const dutState: v.ObjectSchema<{
|
|
8
8
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
9
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
10
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
9
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
10
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
11
11
|
readonly current: v.NumberSchema<undefined>;
|
|
12
12
|
}, undefined>;
|
|
13
13
|
type DutState = v.InferOutput<typeof dutState>;
|
|
14
14
|
declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
15
15
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
16
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
17
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
16
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
17
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
18
18
|
readonly current: v.NumberSchema<undefined>;
|
|
19
|
-
}, undefined>, "~standard" | "~
|
|
19
|
+
}, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
|
|
20
20
|
readonly entries: Pick<{
|
|
21
21
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
22
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
23
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
22
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
23
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
24
24
|
readonly current: v.NumberSchema<undefined>;
|
|
25
25
|
}, "enabled" | "target_voltage">;
|
|
26
26
|
readonly '~standard': v.StandardProps<{
|
|
@@ -33,7 +33,7 @@ declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
33
33
|
readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
34
34
|
enabled: boolean;
|
|
35
35
|
target_voltage: number;
|
|
36
|
-
}, v.
|
|
36
|
+
}, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
37
37
|
readonly '~types'?: {
|
|
38
38
|
readonly input: {
|
|
39
39
|
enabled: boolean;
|
|
@@ -43,12 +43,12 @@ declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
43
43
|
enabled: boolean;
|
|
44
44
|
target_voltage: number;
|
|
45
45
|
};
|
|
46
|
-
readonly issue: v.
|
|
46
|
+
readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
47
47
|
} | undefined;
|
|
48
|
-
}, "~standard" | "~
|
|
48
|
+
}, "~standard" | "~run" | "~types" | "entries"> & {
|
|
49
49
|
readonly entries: {
|
|
50
50
|
readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
51
|
-
readonly target_voltage: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
51
|
+
readonly target_voltage: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>, undefined>;
|
|
52
52
|
};
|
|
53
53
|
readonly '~standard': v.StandardProps<{
|
|
54
54
|
enabled?: boolean | undefined;
|
|
@@ -60,7 +60,7 @@ declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
60
60
|
readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
61
61
|
enabled?: boolean | undefined;
|
|
62
62
|
target_voltage?: number | undefined;
|
|
63
|
-
}, v.
|
|
63
|
+
}, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
64
64
|
readonly '~types'?: {
|
|
65
65
|
readonly input: {
|
|
66
66
|
enabled?: boolean | undefined;
|
|
@@ -70,97 +70,97 @@ declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
70
70
|
enabled?: boolean | undefined;
|
|
71
71
|
target_voltage?: number | undefined;
|
|
72
72
|
};
|
|
73
|
-
readonly issue: v.
|
|
73
|
+
readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
74
74
|
} | undefined;
|
|
75
75
|
};
|
|
76
76
|
type DutConfiguration = v.InferOutput<typeof dutConfiguration>;
|
|
77
77
|
declare const usbState: Omit<v.ObjectSchema<{
|
|
78
78
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
79
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
80
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
79
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
80
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
81
81
|
readonly current: v.NumberSchema<undefined>;
|
|
82
|
-
}, undefined>, "~standard" | "~
|
|
82
|
+
}, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
|
|
83
83
|
readonly entries: Pick<{
|
|
84
84
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
85
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
86
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
85
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
86
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
87
87
|
readonly current: v.NumberSchema<undefined>;
|
|
88
|
-
}, "
|
|
88
|
+
}, "enabled" | "current" | "voltage">;
|
|
89
89
|
readonly '~standard': v.StandardProps<{
|
|
90
|
-
current: number;
|
|
91
90
|
enabled: boolean;
|
|
91
|
+
current: number;
|
|
92
92
|
voltage: number;
|
|
93
93
|
}, {
|
|
94
|
-
current: number;
|
|
95
94
|
enabled: boolean;
|
|
95
|
+
current: number;
|
|
96
96
|
voltage: number;
|
|
97
97
|
}>;
|
|
98
98
|
readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
99
|
-
current: number;
|
|
100
99
|
enabled: boolean;
|
|
100
|
+
current: number;
|
|
101
101
|
voltage: number;
|
|
102
|
-
}, v.
|
|
102
|
+
}, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
103
103
|
readonly '~types'?: {
|
|
104
104
|
readonly input: {
|
|
105
|
-
current: number;
|
|
106
105
|
enabled: boolean;
|
|
106
|
+
current: number;
|
|
107
107
|
voltage: number;
|
|
108
108
|
};
|
|
109
109
|
readonly output: {
|
|
110
|
-
current: number;
|
|
111
110
|
enabled: boolean;
|
|
111
|
+
current: number;
|
|
112
112
|
voltage: number;
|
|
113
113
|
};
|
|
114
|
-
readonly issue: v.
|
|
114
|
+
readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
115
115
|
} | undefined;
|
|
116
116
|
};
|
|
117
117
|
type UsbState = v.InferOutput<typeof usbState>;
|
|
118
118
|
declare const usbConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
119
119
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
120
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
121
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
120
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
121
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
122
122
|
readonly current: v.NumberSchema<undefined>;
|
|
123
|
-
}, undefined>, "~standard" | "~
|
|
123
|
+
}, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
|
|
124
124
|
readonly entries: Pick<{
|
|
125
125
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
126
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
127
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
126
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
127
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
128
128
|
readonly current: v.NumberSchema<undefined>;
|
|
129
|
-
}, "
|
|
129
|
+
}, "enabled" | "current" | "voltage">;
|
|
130
130
|
readonly '~standard': v.StandardProps<{
|
|
131
|
-
current: number;
|
|
132
131
|
enabled: boolean;
|
|
132
|
+
current: number;
|
|
133
133
|
voltage: number;
|
|
134
134
|
}, {
|
|
135
|
-
current: number;
|
|
136
135
|
enabled: boolean;
|
|
136
|
+
current: number;
|
|
137
137
|
voltage: number;
|
|
138
138
|
}>;
|
|
139
139
|
readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
140
|
-
current: number;
|
|
141
140
|
enabled: boolean;
|
|
141
|
+
current: number;
|
|
142
142
|
voltage: number;
|
|
143
|
-
}, v.
|
|
143
|
+
}, v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
144
144
|
readonly '~types'?: {
|
|
145
145
|
readonly input: {
|
|
146
|
-
current: number;
|
|
147
146
|
enabled: boolean;
|
|
147
|
+
current: number;
|
|
148
148
|
voltage: number;
|
|
149
149
|
};
|
|
150
150
|
readonly output: {
|
|
151
|
-
current: number;
|
|
152
151
|
enabled: boolean;
|
|
152
|
+
current: number;
|
|
153
153
|
voltage: number;
|
|
154
154
|
};
|
|
155
|
-
readonly issue: v.
|
|
155
|
+
readonly issue: v.NumberIssue | v.BooleanIssue | v.ObjectIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
156
156
|
} | undefined;
|
|
157
|
-
}, "~standard" | "~
|
|
157
|
+
}, "~standard" | "~run" | "~types" | "entries"> & {
|
|
158
158
|
readonly entries: Pick<Pick<{
|
|
159
159
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
160
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
161
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
160
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
161
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
162
162
|
readonly current: v.NumberSchema<undefined>;
|
|
163
|
-
}, "
|
|
163
|
+
}, "enabled" | "current" | "voltage">, "enabled">;
|
|
164
164
|
readonly '~standard': v.StandardProps<{
|
|
165
165
|
enabled: boolean;
|
|
166
166
|
}, {
|
|
@@ -182,14 +182,14 @@ declare const usbConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
182
182
|
type UsbConfiguration = v.InferOutput<typeof usbConfiguration>;
|
|
183
183
|
declare const relayState: Omit<v.ObjectSchema<{
|
|
184
184
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
185
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
186
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
185
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
186
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
187
187
|
readonly current: v.NumberSchema<undefined>;
|
|
188
|
-
}, undefined>, "~standard" | "~
|
|
188
|
+
}, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
|
|
189
189
|
readonly entries: Pick<{
|
|
190
190
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
191
|
-
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
192
|
-
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -
|
|
191
|
+
readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
192
|
+
readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
|
|
193
193
|
readonly current: v.NumberSchema<undefined>;
|
|
194
194
|
}, "current">;
|
|
195
195
|
readonly '~standard': v.StandardProps<{
|
|
@@ -340,4 +340,4 @@ declare class RelayPower {
|
|
|
340
340
|
}
|
|
341
341
|
//#endregion
|
|
342
342
|
export { RelayPower as a, UsbConfiguration as c, PowerApi as i, UsbState as l, DutConfiguration as n, RelayState as o, DutState as r, Usb as s, Dut as t };
|
|
343
|
-
//# sourceMappingURL=power-
|
|
343
|
+
//# sourceMappingURL=power-V9pMltIX.d.cts.map
|