@httpstate/typescript 0.0.11 → 0.0.12

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/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var v=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},m=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!u.call(e,r)&&r!==n&&i(e,r,{get:()=>t[r],enumerable:!(s=l(t,r))||s.enumerable});return e};var b=e=>m(i({},"__esModule",{value:!0}),e);var f={};v(f,{default:()=>h,get:()=>a,load:()=>d,read:()=>g,set:()=>o,write:()=>c});module.exports=b(f);var a=async e=>{let t=await fetch("https://httpstate.com/"+e);if(t.status===200)return await t.text()},d=async()=>{for(let e of document.querySelectorAll("[httpState],[httpstate]")){let t=e.getAttribute("httpState")||e.getAttribute("httpstate"),n=globalThis.httpState(t).on("change",s=>e.innerHTML=s.data);n.et.dispatchEvent(Object.assign(new Event("change"),{data:await n.get()}))}},g=async e=>a(e),o=async(e,t)=>(await fetch("https://httpstate.com/"+e,{body:t,method:"POST"})).status,c=async(e,t)=>o(e,t),E=e=>{let t={addEventListener:(n,s)=>t.et.addEventListener(n,s),data:void 0,et:new EventTarget,get:async()=>a(e),off:(n,s)=>(t.removeEventListener(n,s),t),on:(n,s)=>(t.addEventListener(n,s),t),read:async()=>g(e),removeEventListener:(n,s)=>t.et.removeEventListener(n,s),set:async n=>o(e,n),write:async n=>c(e,n),ws:new WebSocket("wss://httpstate.com/"+e)};return t.ws.addEventListener("message",async n=>{t.data=await n.data.text(),t.et.dispatchEvent(Object.assign(new Event("change"),{data:t.data}))}),t.ws.addEventListener("open",()=>t.ws.send(JSON.stringify(["open",e]))),t},h=E;typeof document<"u"&&typeof window<"u"&&globalThis===window&&globalThis.addEventListener("load",async()=>{globalThis.httpstate&&(globalThis.httpState=globalThis.httpstate=Object.assign(globalThis.httpstate.default,globalThis.httpstate)),await d()},{once:!0});0&&(module.exports={get,load,read,set,write});
1
+ "use strict";var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var v=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},m=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!u.call(e,r)&&r!==n&&i(e,r,{get:()=>t[r],enumerable:!(s=l(t,r))||s.enumerable});return e};var b=e=>m(i({},"__esModule",{value:!0}),e);var L={};v(L,{default:()=>h,get:()=>a,load:()=>d,read:()=>g,set:()=>o,write:()=>c});module.exports=b(L);var a=async e=>{let t=await fetch("https://httpstate.com/"+e);if(t.status===200)return await t.text()},d=async()=>{for(let e of document.querySelectorAll("[httpState],[httpstate]")){let t=e.getAttribute("httpState")||e.getAttribute("httpstate"),n=globalThis.httpState(t).on("change",s=>e.innerHTML=s.data);n.et.dispatchEvent(Object.assign(new Event("change"),{data:await n.get()}))}},g=async e=>a(e),o=async(e,t)=>(await fetch("https://httpstate.com/"+e,{body:t,method:"POST"})).status,c=async(e,t)=>o(e,t),E=e=>{let t={addEventListener:(n,s)=>t.et.addEventListener(n,s),data:void 0,et:new EventTarget,get:async()=>a(e),off:(n,s)=>(t.removeEventListener(n,s),t),on:(n,s)=>(t.addEventListener(n,s),t),read:async()=>g(e),removeEventListener:(n,s)=>t.et.removeEventListener(n,s),set:async n=>o(e,n),write:async n=>c(e,n),ws:new WebSocket("wss://httpstate.com/"+e)};return t.ws.addEventListener("close",n=>console.log("close",n)),t.ws.addEventListener("message",async n=>{t.data=await n.data.text(),t.et.dispatchEvent(Object.assign(new Event("change"),{data:t.data}))}),t.ws.addEventListener("open",()=>t.ws.send(JSON.stringify(["open",e]))),t},h=E;typeof document<"u"&&typeof window<"u"&&globalThis===window&&globalThis.addEventListener("load",async()=>{globalThis.httpstate&&(globalThis.httpState=globalThis.httpstate=Object.assign(globalThis.httpstate.default,globalThis.httpstate)),await d()},{once:!0});0&&(module.exports={get,load,read,set,write});
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// HTTP State, https://httpstate.com/\n// Copyright (C) Alex Morales, 2026\n// \n// Unless otherwise stated in particular files or directories, this software is free software.\n// You can redistribute it and/or modify it under the terms of the GNU Affero\n// General Public License as published by the Free Software Foundation, either\n// version 3 of the License, or (at your option) any later version.\n\nexport const get:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid);\n\n if(response.status === 200)\n return await response.text();\n};\n\nexport const load:() => Promise<void> = async ():Promise<void> => {\n for(const node of document.querySelectorAll('[httpState],[httpstate]')) {\n const uuid:null|string = node.getAttribute('httpState')||node.getAttribute('httpstate');\n\n const state:HttpState = (globalThis as any).httpState(uuid)\n .on('change', (e:Event&{ data:string }) => node.innerHTML = e.data);\n\n state.et.dispatchEvent(Object.assign(new Event('change'), { data:await state.get() }));\n }\n};\n\nexport const read:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => get(uuid);\n\nexport const set:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid, { body:data, method:'POST' });\n\n return response.status;\n};\n\nexport const write:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => set(uuid, data);\n\n// httpState\nexport type HttpState = {\n addEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n data?:undefined|string;\n et:EventTarget;\n get():Promise<undefined|string>;\n off(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n on(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n read():Promise<undefined|string>;\n removeEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n set(data:string):Promise<number>;\n write(data:string):Promise<number>;\n ws:WebSocket;\n};\n\nconst httpState:(uuid:string) => HttpState = (uuid:string):HttpState => {\n const _:HttpState = {\n addEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.addEventListener(type, callback),\n data:undefined,\n et:new EventTarget(),\n get:async ():Promise<undefined|string> => get(uuid),\n off:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.removeEventListener(type, callback);\n\n return _;\n },\n on:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.addEventListener(type, callback);\n\n return _;\n },\n read:async ():Promise<undefined|string> => read(uuid),\n removeEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.removeEventListener(type, callback),\n set:async (data:string):Promise<number> => set(uuid, data),\n write:async (data:string):Promise<number> => write(uuid, data),\n ws:new WebSocket('wss://httpstate.com/' + uuid)\n };\n\n // _.ws.addEventListener('close', () => console.log('close'));\n // _.ws.addEventListener('error', () => console.log('error'));\n _.ws.addEventListener('message', async e => {\n _.data = await e.data.text();\n\n _.et.dispatchEvent(Object.assign(new Event('change'), { data:_.data }));\n });\n _.ws.addEventListener('open', () => _.ws.send(JSON.stringify(['open', uuid])));\n\n return _;\n};\n\nexport default httpState;\n\nif(\n typeof document !== 'undefined'\n && typeof window !== 'undefined'\n && globalThis === window\n)\n globalThis.addEventListener('load', async () => {\n if((globalThis as any).httpstate)\n (globalThis as any).httpState = (globalThis as any).httpstate = Object.assign(\n (globalThis as any).httpstate.default,\n (globalThis as any).httpstate\n );\n\n await load();\n }, { once:true });\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,QAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,QAAAC,EAAA,UAAAC,IAAA,eAAAC,EAAAR,GAQO,IAAMG,EAAiD,MAAOM,GAA0C,CAC7G,IAAMC,EAAoB,MAAM,MAAM,yBAA2BD,CAAI,EAErE,GAAGC,EAAS,SAAW,IACrB,OAAO,MAAMA,EAAS,KAAK,CAC/B,EAEaN,EAA2B,SAA0B,CAChE,QAAUO,KAAQ,SAAS,iBAAiB,yBAAyB,EAAG,CACtE,IAAMF,EAAmBE,EAAK,aAAa,WAAW,GAAGA,EAAK,aAAa,WAAW,EAEhFC,EAAmB,WAAmB,UAAUH,CAAI,EACvD,GAAG,SAAWI,GAA4BF,EAAK,UAAYE,EAAE,IAAI,EAEpED,EAAM,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAK,MAAMA,EAAM,IAAI,CAAE,CAAC,CAAC,CACvF,CACF,EAEaP,EAAkD,MAAOI,GAA0CN,EAAIM,CAAI,EAE3GH,EAAoD,MAAOG,EAAaK,KACzD,MAAM,MAAM,yBAA2BL,EAAM,CAAE,KAAKK,EAAM,OAAO,MAAO,CAAC,GAEnF,OAGLP,EAAsD,MAAOE,EAAaK,IAAgCR,EAAIG,EAAMK,CAAI,EAiB/HC,EAAwCN,GAA0B,CACtE,IAAMO,EAAc,CAClB,iBAAiB,CAACC,EAAaC,IAAqDF,EAAE,GAAG,iBAAiBC,EAAMC,CAAQ,EACxH,KAAK,OACL,GAAG,IAAI,YACP,IAAI,SAAsCf,EAAIM,CAAI,EAClD,IAAI,CAACQ,EAAaC,KAChBF,EAAE,oBAAoBC,EAAMC,CAAQ,EAE7BF,GAET,GAAG,CAACC,EAAaC,KACfF,EAAE,iBAAiBC,EAAMC,CAAQ,EAE1BF,GAET,KAAK,SAAsCX,EAAKI,CAAI,EACpD,oBAAoB,CAACQ,EAAaC,IAAqDF,EAAE,GAAG,oBAAoBC,EAAMC,CAAQ,EAC9H,IAAI,MAAOJ,GAAgCR,EAAIG,EAAMK,CAAI,EACzD,MAAM,MAAOA,GAAgCP,EAAME,EAAMK,CAAI,EAC7D,GAAG,IAAI,UAAU,uBAAyBL,CAAI,CAChD,EAIA,OAAAO,EAAE,GAAG,iBAAiB,UAAW,MAAMH,GAAK,CAC1CG,EAAE,KAAO,MAAMH,EAAE,KAAK,KAAK,EAE3BG,EAAE,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAKA,EAAE,IAAK,CAAC,CAAC,CACxE,CAAC,EACDA,EAAE,GAAG,iBAAiB,OAAQ,IAAMA,EAAE,GAAG,KAAK,KAAK,UAAU,CAAC,OAAQP,CAAI,CAAC,CAAC,CAAC,EAEtEO,CACT,EAEOd,EAAQa,EAGV,OAAO,SAAa,KACpB,OAAO,OAAW,KAClB,aAAe,QAElB,WAAW,iBAAiB,OAAQ,SAAY,CAC1C,WAAmB,YACpB,WAAmB,UAAa,WAAmB,UAAY,OAAO,OACpE,WAAmB,UAAU,QAC7B,WAAmB,SACtB,GAEF,MAAMX,EAAK,CACb,EAAG,CAAE,KAAK,EAAK,CAAC","names":["index_exports","__export","index_default","get","load","read","set","write","__toCommonJS","uuid","response","node","state","e","data","httpState","_","type","callback"]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// HTTP State, https://httpstate.com/\n// Copyright (C) Alex Morales, 2026\n// \n// Unless otherwise stated in particular files or directories, this software is free software.\n// You can redistribute it and/or modify it under the terms of the GNU Affero\n// General Public License as published by the Free Software Foundation, either\n// version 3 of the License, or (at your option) any later version.\n\nexport const get:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid);\n\n if(response.status === 200)\n return await response.text();\n};\n\nexport const load:() => Promise<void> = async ():Promise<void> => {\n for(const node of document.querySelectorAll('[httpState],[httpstate]')) {\n const uuid:null|string = node.getAttribute('httpState')||node.getAttribute('httpstate');\n\n const state:HttpState = (globalThis as any).httpState(uuid)\n .on('change', (e:Event&{ data:string }) => node.innerHTML = e.data);\n\n state.et.dispatchEvent(Object.assign(new Event('change'), { data:await state.get() }));\n }\n};\n\nexport const read:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => get(uuid);\n\nexport const set:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid, { body:data, method:'POST' });\n\n return response.status;\n};\n\nexport const write:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => set(uuid, data);\n\n// httpState\nexport type HttpState = {\n addEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n data?:undefined|string;\n et:EventTarget;\n get():Promise<undefined|string>;\n off(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n on(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n read():Promise<undefined|string>;\n removeEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n set(data:string):Promise<number>;\n write(data:string):Promise<number>;\n ws:WebSocket;\n};\n\nconst httpState:(uuid:string) => HttpState = (uuid:string):HttpState => {\n const _:HttpState = {\n addEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.addEventListener(type, callback),\n data:undefined,\n et:new EventTarget(),\n get:async ():Promise<undefined|string> => get(uuid),\n off:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.removeEventListener(type, callback);\n\n return _;\n },\n on:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.addEventListener(type, callback);\n\n return _;\n },\n read:async ():Promise<undefined|string> => read(uuid),\n removeEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.removeEventListener(type, callback),\n set:async (data:string):Promise<number> => set(uuid, data),\n write:async (data:string):Promise<number> => write(uuid, data),\n ws:new WebSocket('wss://httpstate.com/' + uuid)\n };\n\n _.ws.addEventListener('close', e => console.log('close', e));\n // _.ws.addEventListener('error', () => console.log('error'));\n _.ws.addEventListener('message', async e => {\n _.data = await e.data.text();\n\n _.et.dispatchEvent(Object.assign(new Event('change'), { data:_.data }));\n });\n _.ws.addEventListener('open', () => _.ws.send(JSON.stringify(['open', uuid])));\n\n return _;\n};\n\nexport default httpState;\n\nif(\n typeof document !== 'undefined'\n && typeof window !== 'undefined'\n && globalThis === window\n)\n globalThis.addEventListener('load', async () => {\n if((globalThis as any).httpstate)\n (globalThis as any).httpState = (globalThis as any).httpstate = Object.assign(\n (globalThis as any).httpstate.default,\n (globalThis as any).httpstate\n );\n\n await load();\n }, { once:true });\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,QAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,QAAAC,EAAA,UAAAC,IAAA,eAAAC,EAAAR,GAQO,IAAMG,EAAiD,MAAOM,GAA0C,CAC7G,IAAMC,EAAoB,MAAM,MAAM,yBAA2BD,CAAI,EAErE,GAAGC,EAAS,SAAW,IACrB,OAAO,MAAMA,EAAS,KAAK,CAC/B,EAEaN,EAA2B,SAA0B,CAChE,QAAUO,KAAQ,SAAS,iBAAiB,yBAAyB,EAAG,CACtE,IAAMF,EAAmBE,EAAK,aAAa,WAAW,GAAGA,EAAK,aAAa,WAAW,EAEhFC,EAAmB,WAAmB,UAAUH,CAAI,EACvD,GAAG,SAAWI,GAA4BF,EAAK,UAAYE,EAAE,IAAI,EAEpED,EAAM,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAK,MAAMA,EAAM,IAAI,CAAE,CAAC,CAAC,CACvF,CACF,EAEaP,EAAkD,MAAOI,GAA0CN,EAAIM,CAAI,EAE3GH,EAAoD,MAAOG,EAAaK,KACzD,MAAM,MAAM,yBAA2BL,EAAM,CAAE,KAAKK,EAAM,OAAO,MAAO,CAAC,GAEnF,OAGLP,EAAsD,MAAOE,EAAaK,IAAgCR,EAAIG,EAAMK,CAAI,EAiB/HC,EAAwCN,GAA0B,CACtE,IAAMO,EAAc,CAClB,iBAAiB,CAACC,EAAaC,IAAqDF,EAAE,GAAG,iBAAiBC,EAAMC,CAAQ,EACxH,KAAK,OACL,GAAG,IAAI,YACP,IAAI,SAAsCf,EAAIM,CAAI,EAClD,IAAI,CAACQ,EAAaC,KAChBF,EAAE,oBAAoBC,EAAMC,CAAQ,EAE7BF,GAET,GAAG,CAACC,EAAaC,KACfF,EAAE,iBAAiBC,EAAMC,CAAQ,EAE1BF,GAET,KAAK,SAAsCX,EAAKI,CAAI,EACpD,oBAAoB,CAACQ,EAAaC,IAAqDF,EAAE,GAAG,oBAAoBC,EAAMC,CAAQ,EAC9H,IAAI,MAAOJ,GAAgCR,EAAIG,EAAMK,CAAI,EACzD,MAAM,MAAOA,GAAgCP,EAAME,EAAMK,CAAI,EAC7D,GAAG,IAAI,UAAU,uBAAyBL,CAAI,CAChD,EAEA,OAAAO,EAAE,GAAG,iBAAiB,QAASH,GAAK,QAAQ,IAAI,QAASA,CAAC,CAAC,EAE3DG,EAAE,GAAG,iBAAiB,UAAW,MAAMH,GAAK,CAC1CG,EAAE,KAAO,MAAMH,EAAE,KAAK,KAAK,EAE3BG,EAAE,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAKA,EAAE,IAAK,CAAC,CAAC,CACxE,CAAC,EACDA,EAAE,GAAG,iBAAiB,OAAQ,IAAMA,EAAE,GAAG,KAAK,KAAK,UAAU,CAAC,OAAQP,CAAI,CAAC,CAAC,CAAC,EAEtEO,CACT,EAEOd,EAAQa,EAGV,OAAO,SAAa,KACpB,OAAO,OAAW,KAClB,aAAe,QAElB,WAAW,iBAAiB,OAAQ,SAAY,CAC1C,WAAmB,YACpB,WAAmB,UAAa,WAAmB,UAAY,OAAO,OACpE,WAAmB,UAAU,QAC7B,WAAmB,SACtB,GAEF,MAAMX,EAAK,CACb,EAAG,CAAE,KAAK,EAAK,CAAC","names":["index_exports","__export","index_default","get","load","read","set","write","__toCommonJS","uuid","response","node","state","e","data","httpState","_","type","callback"]}
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- var r=async e=>{let t=await fetch("https://httpstate.com/"+e);if(t.status===200)return await t.text()},a=async()=>{for(let e of document.querySelectorAll("[httpState],[httpstate]")){let t=e.getAttribute("httpState")||e.getAttribute("httpstate"),n=globalThis.httpState(t).on("change",s=>e.innerHTML=s.data);n.et.dispatchEvent(Object.assign(new Event("change"),{data:await n.get()}))}},o=async e=>r(e),i=async(e,t)=>(await fetch("https://httpstate.com/"+e,{body:t,method:"POST"})).status,d=async(e,t)=>i(e,t),g=e=>{let t={addEventListener:(n,s)=>t.et.addEventListener(n,s),data:void 0,et:new EventTarget,get:async()=>r(e),off:(n,s)=>(t.removeEventListener(n,s),t),on:(n,s)=>(t.addEventListener(n,s),t),read:async()=>o(e),removeEventListener:(n,s)=>t.et.removeEventListener(n,s),set:async n=>i(e,n),write:async n=>d(e,n),ws:new WebSocket("wss://httpstate.com/"+e)};return t.ws.addEventListener("message",async n=>{t.data=await n.data.text(),t.et.dispatchEvent(Object.assign(new Event("change"),{data:t.data}))}),t.ws.addEventListener("open",()=>t.ws.send(JSON.stringify(["open",e]))),t},c=g;typeof document<"u"&&typeof window<"u"&&globalThis===window&&globalThis.addEventListener("load",async()=>{globalThis.httpstate&&(globalThis.httpState=globalThis.httpstate=Object.assign(globalThis.httpstate.default,globalThis.httpstate)),await a()},{once:!0});export{c as default,r as get,a as load,o as read,i as set,d as write};
1
+ var r=async n=>{let t=await fetch("https://httpstate.com/"+n);if(t.status===200)return await t.text()},a=async()=>{for(let n of document.querySelectorAll("[httpState],[httpstate]")){let t=n.getAttribute("httpState")||n.getAttribute("httpstate"),e=globalThis.httpState(t).on("change",s=>n.innerHTML=s.data);e.et.dispatchEvent(Object.assign(new Event("change"),{data:await e.get()}))}},o=async n=>r(n),i=async(n,t)=>(await fetch("https://httpstate.com/"+n,{body:t,method:"POST"})).status,d=async(n,t)=>i(n,t),g=n=>{let t={addEventListener:(e,s)=>t.et.addEventListener(e,s),data:void 0,et:new EventTarget,get:async()=>r(n),off:(e,s)=>(t.removeEventListener(e,s),t),on:(e,s)=>(t.addEventListener(e,s),t),read:async()=>o(n),removeEventListener:(e,s)=>t.et.removeEventListener(e,s),set:async e=>i(n,e),write:async e=>d(n,e),ws:new WebSocket("wss://httpstate.com/"+n)};return t.ws.addEventListener("close",e=>console.log("close",e)),t.ws.addEventListener("message",async e=>{t.data=await e.data.text(),t.et.dispatchEvent(Object.assign(new Event("change"),{data:t.data}))}),t.ws.addEventListener("open",()=>t.ws.send(JSON.stringify(["open",n]))),t},c=g;typeof document<"u"&&typeof window<"u"&&globalThis===window&&globalThis.addEventListener("load",async()=>{globalThis.httpstate&&(globalThis.httpState=globalThis.httpstate=Object.assign(globalThis.httpstate.default,globalThis.httpstate)),await a()},{once:!0});export{c as default,r as get,a as load,o as read,i as set,d as write};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// HTTP State, https://httpstate.com/\n// Copyright (C) Alex Morales, 2026\n// \n// Unless otherwise stated in particular files or directories, this software is free software.\n// You can redistribute it and/or modify it under the terms of the GNU Affero\n// General Public License as published by the Free Software Foundation, either\n// version 3 of the License, or (at your option) any later version.\n\nexport const get:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid);\n\n if(response.status === 200)\n return await response.text();\n};\n\nexport const load:() => Promise<void> = async ():Promise<void> => {\n for(const node of document.querySelectorAll('[httpState],[httpstate]')) {\n const uuid:null|string = node.getAttribute('httpState')||node.getAttribute('httpstate');\n\n const state:HttpState = (globalThis as any).httpState(uuid)\n .on('change', (e:Event&{ data:string }) => node.innerHTML = e.data);\n\n state.et.dispatchEvent(Object.assign(new Event('change'), { data:await state.get() }));\n }\n};\n\nexport const read:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => get(uuid);\n\nexport const set:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid, { body:data, method:'POST' });\n\n return response.status;\n};\n\nexport const write:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => set(uuid, data);\n\n// httpState\nexport type HttpState = {\n addEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n data?:undefined|string;\n et:EventTarget;\n get():Promise<undefined|string>;\n off(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n on(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n read():Promise<undefined|string>;\n removeEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n set(data:string):Promise<number>;\n write(data:string):Promise<number>;\n ws:WebSocket;\n};\n\nconst httpState:(uuid:string) => HttpState = (uuid:string):HttpState => {\n const _:HttpState = {\n addEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.addEventListener(type, callback),\n data:undefined,\n et:new EventTarget(),\n get:async ():Promise<undefined|string> => get(uuid),\n off:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.removeEventListener(type, callback);\n\n return _;\n },\n on:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.addEventListener(type, callback);\n\n return _;\n },\n read:async ():Promise<undefined|string> => read(uuid),\n removeEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.removeEventListener(type, callback),\n set:async (data:string):Promise<number> => set(uuid, data),\n write:async (data:string):Promise<number> => write(uuid, data),\n ws:new WebSocket('wss://httpstate.com/' + uuid)\n };\n\n // _.ws.addEventListener('close', () => console.log('close'));\n // _.ws.addEventListener('error', () => console.log('error'));\n _.ws.addEventListener('message', async e => {\n _.data = await e.data.text();\n\n _.et.dispatchEvent(Object.assign(new Event('change'), { data:_.data }));\n });\n _.ws.addEventListener('open', () => _.ws.send(JSON.stringify(['open', uuid])));\n\n return _;\n};\n\nexport default httpState;\n\nif(\n typeof document !== 'undefined'\n && typeof window !== 'undefined'\n && globalThis === window\n)\n globalThis.addEventListener('load', async () => {\n if((globalThis as any).httpstate)\n (globalThis as any).httpState = (globalThis as any).httpstate = Object.assign(\n (globalThis as any).httpstate.default,\n (globalThis as any).httpstate\n );\n\n await load();\n }, { once:true });\n"],"mappings":"AAQO,IAAMA,EAAiD,MAAOC,GAA0C,CAC7G,IAAMC,EAAoB,MAAM,MAAM,yBAA2BD,CAAI,EAErE,GAAGC,EAAS,SAAW,IACrB,OAAO,MAAMA,EAAS,KAAK,CAC/B,EAEaC,EAA2B,SAA0B,CAChE,QAAUC,KAAQ,SAAS,iBAAiB,yBAAyB,EAAG,CACtE,IAAMH,EAAmBG,EAAK,aAAa,WAAW,GAAGA,EAAK,aAAa,WAAW,EAEhFC,EAAmB,WAAmB,UAAUJ,CAAI,EACvD,GAAG,SAAWK,GAA4BF,EAAK,UAAYE,EAAE,IAAI,EAEpED,EAAM,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAK,MAAMA,EAAM,IAAI,CAAE,CAAC,CAAC,CACvF,CACF,EAEaE,EAAkD,MAAON,GAA0CD,EAAIC,CAAI,EAE3GO,EAAoD,MAAOP,EAAaQ,KACzD,MAAM,MAAM,yBAA2BR,EAAM,CAAE,KAAKQ,EAAM,OAAO,MAAO,CAAC,GAEnF,OAGLC,EAAsD,MAAOT,EAAaQ,IAAgCD,EAAIP,EAAMQ,CAAI,EAiB/HE,EAAwCV,GAA0B,CACtE,IAAMW,EAAc,CAClB,iBAAiB,CAACC,EAAaC,IAAqDF,EAAE,GAAG,iBAAiBC,EAAMC,CAAQ,EACxH,KAAK,OACL,GAAG,IAAI,YACP,IAAI,SAAsCd,EAAIC,CAAI,EAClD,IAAI,CAACY,EAAaC,KAChBF,EAAE,oBAAoBC,EAAMC,CAAQ,EAE7BF,GAET,GAAG,CAACC,EAAaC,KACfF,EAAE,iBAAiBC,EAAMC,CAAQ,EAE1BF,GAET,KAAK,SAAsCL,EAAKN,CAAI,EACpD,oBAAoB,CAACY,EAAaC,IAAqDF,EAAE,GAAG,oBAAoBC,EAAMC,CAAQ,EAC9H,IAAI,MAAOL,GAAgCD,EAAIP,EAAMQ,CAAI,EACzD,MAAM,MAAOA,GAAgCC,EAAMT,EAAMQ,CAAI,EAC7D,GAAG,IAAI,UAAU,uBAAyBR,CAAI,CAChD,EAIA,OAAAW,EAAE,GAAG,iBAAiB,UAAW,MAAMN,GAAK,CAC1CM,EAAE,KAAO,MAAMN,EAAE,KAAK,KAAK,EAE3BM,EAAE,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAKA,EAAE,IAAK,CAAC,CAAC,CACxE,CAAC,EACDA,EAAE,GAAG,iBAAiB,OAAQ,IAAMA,EAAE,GAAG,KAAK,KAAK,UAAU,CAAC,OAAQX,CAAI,CAAC,CAAC,CAAC,EAEtEW,CACT,EAEOG,EAAQJ,EAGV,OAAO,SAAa,KACpB,OAAO,OAAW,KAClB,aAAe,QAElB,WAAW,iBAAiB,OAAQ,SAAY,CAC1C,WAAmB,YACpB,WAAmB,UAAa,WAAmB,UAAY,OAAO,OACpE,WAAmB,UAAU,QAC7B,WAAmB,SACtB,GAEF,MAAMR,EAAK,CACb,EAAG,CAAE,KAAK,EAAK,CAAC","names":["get","uuid","response","load","node","state","e","read","set","data","write","httpState","_","type","callback","index_default"]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// HTTP State, https://httpstate.com/\n// Copyright (C) Alex Morales, 2026\n// \n// Unless otherwise stated in particular files or directories, this software is free software.\n// You can redistribute it and/or modify it under the terms of the GNU Affero\n// General Public License as published by the Free Software Foundation, either\n// version 3 of the License, or (at your option) any later version.\n\nexport const get:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid);\n\n if(response.status === 200)\n return await response.text();\n};\n\nexport const load:() => Promise<void> = async ():Promise<void> => {\n for(const node of document.querySelectorAll('[httpState],[httpstate]')) {\n const uuid:null|string = node.getAttribute('httpState')||node.getAttribute('httpstate');\n\n const state:HttpState = (globalThis as any).httpState(uuid)\n .on('change', (e:Event&{ data:string }) => node.innerHTML = e.data);\n\n state.et.dispatchEvent(Object.assign(new Event('change'), { data:await state.get() }));\n }\n};\n\nexport const read:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => get(uuid);\n\nexport const set:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid, { body:data, method:'POST' });\n\n return response.status;\n};\n\nexport const write:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => set(uuid, data);\n\n// httpState\nexport type HttpState = {\n addEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n data?:undefined|string;\n et:EventTarget;\n get():Promise<undefined|string>;\n off(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n on(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n read():Promise<undefined|string>;\n removeEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n set(data:string):Promise<number>;\n write(data:string):Promise<number>;\n ws:WebSocket;\n};\n\nconst httpState:(uuid:string) => HttpState = (uuid:string):HttpState => {\n const _:HttpState = {\n addEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.addEventListener(type, callback),\n data:undefined,\n et:new EventTarget(),\n get:async ():Promise<undefined|string> => get(uuid),\n off:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.removeEventListener(type, callback);\n\n return _;\n },\n on:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.addEventListener(type, callback);\n\n return _;\n },\n read:async ():Promise<undefined|string> => read(uuid),\n removeEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.removeEventListener(type, callback),\n set:async (data:string):Promise<number> => set(uuid, data),\n write:async (data:string):Promise<number> => write(uuid, data),\n ws:new WebSocket('wss://httpstate.com/' + uuid)\n };\n\n _.ws.addEventListener('close', e => console.log('close', e));\n // _.ws.addEventListener('error', () => console.log('error'));\n _.ws.addEventListener('message', async e => {\n _.data = await e.data.text();\n\n _.et.dispatchEvent(Object.assign(new Event('change'), { data:_.data }));\n });\n _.ws.addEventListener('open', () => _.ws.send(JSON.stringify(['open', uuid])));\n\n return _;\n};\n\nexport default httpState;\n\nif(\n typeof document !== 'undefined'\n && typeof window !== 'undefined'\n && globalThis === window\n)\n globalThis.addEventListener('load', async () => {\n if((globalThis as any).httpstate)\n (globalThis as any).httpState = (globalThis as any).httpstate = Object.assign(\n (globalThis as any).httpstate.default,\n (globalThis as any).httpstate\n );\n\n await load();\n }, { once:true });\n"],"mappings":"AAQO,IAAMA,EAAiD,MAAOC,GAA0C,CAC7G,IAAMC,EAAoB,MAAM,MAAM,yBAA2BD,CAAI,EAErE,GAAGC,EAAS,SAAW,IACrB,OAAO,MAAMA,EAAS,KAAK,CAC/B,EAEaC,EAA2B,SAA0B,CAChE,QAAUC,KAAQ,SAAS,iBAAiB,yBAAyB,EAAG,CACtE,IAAMH,EAAmBG,EAAK,aAAa,WAAW,GAAGA,EAAK,aAAa,WAAW,EAEhFC,EAAmB,WAAmB,UAAUJ,CAAI,EACvD,GAAG,SAAWK,GAA4BF,EAAK,UAAYE,EAAE,IAAI,EAEpED,EAAM,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAK,MAAMA,EAAM,IAAI,CAAE,CAAC,CAAC,CACvF,CACF,EAEaE,EAAkD,MAAON,GAA0CD,EAAIC,CAAI,EAE3GO,EAAoD,MAAOP,EAAaQ,KACzD,MAAM,MAAM,yBAA2BR,EAAM,CAAE,KAAKQ,EAAM,OAAO,MAAO,CAAC,GAEnF,OAGLC,EAAsD,MAAOT,EAAaQ,IAAgCD,EAAIP,EAAMQ,CAAI,EAiB/HE,EAAwCV,GAA0B,CACtE,IAAMW,EAAc,CAClB,iBAAiB,CAACC,EAAaC,IAAqDF,EAAE,GAAG,iBAAiBC,EAAMC,CAAQ,EACxH,KAAK,OACL,GAAG,IAAI,YACP,IAAI,SAAsCd,EAAIC,CAAI,EAClD,IAAI,CAACY,EAAaC,KAChBF,EAAE,oBAAoBC,EAAMC,CAAQ,EAE7BF,GAET,GAAG,CAACC,EAAaC,KACfF,EAAE,iBAAiBC,EAAMC,CAAQ,EAE1BF,GAET,KAAK,SAAsCL,EAAKN,CAAI,EACpD,oBAAoB,CAACY,EAAaC,IAAqDF,EAAE,GAAG,oBAAoBC,EAAMC,CAAQ,EAC9H,IAAI,MAAOL,GAAgCD,EAAIP,EAAMQ,CAAI,EACzD,MAAM,MAAOA,GAAgCC,EAAMT,EAAMQ,CAAI,EAC7D,GAAG,IAAI,UAAU,uBAAyBR,CAAI,CAChD,EAEA,OAAAW,EAAE,GAAG,iBAAiB,QAAS,GAAK,QAAQ,IAAI,QAAS,CAAC,CAAC,EAE3DA,EAAE,GAAG,iBAAiB,UAAW,MAAM,GAAK,CAC1CA,EAAE,KAAO,MAAM,EAAE,KAAK,KAAK,EAE3BA,EAAE,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAKA,EAAE,IAAK,CAAC,CAAC,CACxE,CAAC,EACDA,EAAE,GAAG,iBAAiB,OAAQ,IAAMA,EAAE,GAAG,KAAK,KAAK,UAAU,CAAC,OAAQX,CAAI,CAAC,CAAC,CAAC,EAEtEW,CACT,EAEOG,EAAQJ,EAGV,OAAO,SAAa,KACpB,OAAO,OAAW,KAClB,aAAe,QAElB,WAAW,iBAAiB,OAAQ,SAAY,CAC1C,WAAmB,YACpB,WAAmB,UAAa,WAAmB,UAAY,OAAO,OACpE,WAAmB,UAAU,QAC7B,WAAmB,SACtB,GAEF,MAAMR,EAAK,CACb,EAAG,CAAE,KAAK,EAAK,CAAC","names":["get","uuid","response","load","node","state","e","read","set","data","write","httpState","_","type","callback","index_default"]}
@@ -1,2 +1,2 @@
1
- "use strict";var httpstate=(()=>{var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var v=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},m=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!u.call(e,r)&&r!==n&&i(e,r,{get:()=>t[r],enumerable:!(s=l(t,r))||s.enumerable});return e};var b=e=>m(i({},"__esModule",{value:!0}),e);var f={};v(f,{default:()=>h,get:()=>a,load:()=>d,read:()=>g,set:()=>o,write:()=>c});var a=async e=>{let t=await fetch("https://httpstate.com/"+e);if(t.status===200)return await t.text()},d=async()=>{for(let e of document.querySelectorAll("[httpState],[httpstate]")){let t=e.getAttribute("httpState")||e.getAttribute("httpstate"),n=globalThis.httpState(t).on("change",s=>e.innerHTML=s.data);n.et.dispatchEvent(Object.assign(new Event("change"),{data:await n.get()}))}},g=async e=>a(e),o=async(e,t)=>(await fetch("https://httpstate.com/"+e,{body:t,method:"POST"})).status,c=async(e,t)=>o(e,t),E=e=>{let t={addEventListener:(n,s)=>t.et.addEventListener(n,s),data:void 0,et:new EventTarget,get:async()=>a(e),off:(n,s)=>(t.removeEventListener(n,s),t),on:(n,s)=>(t.addEventListener(n,s),t),read:async()=>g(e),removeEventListener:(n,s)=>t.et.removeEventListener(n,s),set:async n=>o(e,n),write:async n=>c(e,n),ws:new WebSocket("wss://httpstate.com/"+e)};return t.ws.addEventListener("message",async n=>{t.data=await n.data.text(),t.et.dispatchEvent(Object.assign(new Event("change"),{data:t.data}))}),t.ws.addEventListener("open",()=>t.ws.send(JSON.stringify(["open",e]))),t},h=E;typeof document<"u"&&typeof window<"u"&&globalThis===window&&globalThis.addEventListener("load",async()=>{globalThis.httpstate&&(globalThis.httpState=globalThis.httpstate=Object.assign(globalThis.httpstate.default,globalThis.httpstate)),await d()},{once:!0});return b(f);})();
1
+ "use strict";var httpstate=(()=>{var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var v=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},m=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!u.call(e,r)&&r!==n&&i(e,r,{get:()=>t[r],enumerable:!(s=l(t,r))||s.enumerable});return e};var b=e=>m(i({},"__esModule",{value:!0}),e);var L={};v(L,{default:()=>h,get:()=>a,load:()=>d,read:()=>g,set:()=>o,write:()=>c});var a=async e=>{let t=await fetch("https://httpstate.com/"+e);if(t.status===200)return await t.text()},d=async()=>{for(let e of document.querySelectorAll("[httpState],[httpstate]")){let t=e.getAttribute("httpState")||e.getAttribute("httpstate"),n=globalThis.httpState(t).on("change",s=>e.innerHTML=s.data);n.et.dispatchEvent(Object.assign(new Event("change"),{data:await n.get()}))}},g=async e=>a(e),o=async(e,t)=>(await fetch("https://httpstate.com/"+e,{body:t,method:"POST"})).status,c=async(e,t)=>o(e,t),E=e=>{let t={addEventListener:(n,s)=>t.et.addEventListener(n,s),data:void 0,et:new EventTarget,get:async()=>a(e),off:(n,s)=>(t.removeEventListener(n,s),t),on:(n,s)=>(t.addEventListener(n,s),t),read:async()=>g(e),removeEventListener:(n,s)=>t.et.removeEventListener(n,s),set:async n=>o(e,n),write:async n=>c(e,n),ws:new WebSocket("wss://httpstate.com/"+e)};return t.ws.addEventListener("close",n=>console.log("close",n)),t.ws.addEventListener("message",async n=>{t.data=await n.data.text(),t.et.dispatchEvent(Object.assign(new Event("change"),{data:t.data}))}),t.ws.addEventListener("open",()=>t.ws.send(JSON.stringify(["open",e]))),t},h=E;typeof document<"u"&&typeof window<"u"&&globalThis===window&&globalThis.addEventListener("load",async()=>{globalThis.httpstate&&(globalThis.httpState=globalThis.httpstate=Object.assign(globalThis.httpstate.default,globalThis.httpstate)),await d()},{once:!0});return b(L);})();
2
2
  //# sourceMappingURL=index.global.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// HTTP State, https://httpstate.com/\n// Copyright (C) Alex Morales, 2026\n// \n// Unless otherwise stated in particular files or directories, this software is free software.\n// You can redistribute it and/or modify it under the terms of the GNU Affero\n// General Public License as published by the Free Software Foundation, either\n// version 3 of the License, or (at your option) any later version.\n\nexport const get:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid);\n\n if(response.status === 200)\n return await response.text();\n};\n\nexport const load:() => Promise<void> = async ():Promise<void> => {\n for(const node of document.querySelectorAll('[httpState],[httpstate]')) {\n const uuid:null|string = node.getAttribute('httpState')||node.getAttribute('httpstate');\n\n const state:HttpState = (globalThis as any).httpState(uuid)\n .on('change', (e:Event&{ data:string }) => node.innerHTML = e.data);\n\n state.et.dispatchEvent(Object.assign(new Event('change'), { data:await state.get() }));\n }\n};\n\nexport const read:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => get(uuid);\n\nexport const set:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid, { body:data, method:'POST' });\n\n return response.status;\n};\n\nexport const write:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => set(uuid, data);\n\n// httpState\nexport type HttpState = {\n addEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n data?:undefined|string;\n et:EventTarget;\n get():Promise<undefined|string>;\n off(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n on(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n read():Promise<undefined|string>;\n removeEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n set(data:string):Promise<number>;\n write(data:string):Promise<number>;\n ws:WebSocket;\n};\n\nconst httpState:(uuid:string) => HttpState = (uuid:string):HttpState => {\n const _:HttpState = {\n addEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.addEventListener(type, callback),\n data:undefined,\n et:new EventTarget(),\n get:async ():Promise<undefined|string> => get(uuid),\n off:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.removeEventListener(type, callback);\n\n return _;\n },\n on:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.addEventListener(type, callback);\n\n return _;\n },\n read:async ():Promise<undefined|string> => read(uuid),\n removeEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.removeEventListener(type, callback),\n set:async (data:string):Promise<number> => set(uuid, data),\n write:async (data:string):Promise<number> => write(uuid, data),\n ws:new WebSocket('wss://httpstate.com/' + uuid)\n };\n\n // _.ws.addEventListener('close', () => console.log('close'));\n // _.ws.addEventListener('error', () => console.log('error'));\n _.ws.addEventListener('message', async e => {\n _.data = await e.data.text();\n\n _.et.dispatchEvent(Object.assign(new Event('change'), { data:_.data }));\n });\n _.ws.addEventListener('open', () => _.ws.send(JSON.stringify(['open', uuid])));\n\n return _;\n};\n\nexport default httpState;\n\nif(\n typeof document !== 'undefined'\n && typeof window !== 'undefined'\n && globalThis === window\n)\n globalThis.addEventListener('load', async () => {\n if((globalThis as any).httpstate)\n (globalThis as any).httpState = (globalThis as any).httpstate = Object.assign(\n (globalThis as any).httpstate.default,\n (globalThis as any).httpstate\n );\n\n await load();\n }, { once:true });\n"],"mappings":"6bAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,QAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,QAAAC,EAAA,UAAAC,IAQO,IAAMJ,EAAiD,MAAOK,GAA0C,CAC7G,IAAMC,EAAoB,MAAM,MAAM,yBAA2BD,CAAI,EAErE,GAAGC,EAAS,SAAW,IACrB,OAAO,MAAMA,EAAS,KAAK,CAC/B,EAEaL,EAA2B,SAA0B,CAChE,QAAUM,KAAQ,SAAS,iBAAiB,yBAAyB,EAAG,CACtE,IAAMF,EAAmBE,EAAK,aAAa,WAAW,GAAGA,EAAK,aAAa,WAAW,EAEhFC,EAAmB,WAAmB,UAAUH,CAAI,EACvD,GAAG,SAAWI,GAA4BF,EAAK,UAAYE,EAAE,IAAI,EAEpED,EAAM,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAK,MAAMA,EAAM,IAAI,CAAE,CAAC,CAAC,CACvF,CACF,EAEaN,EAAkD,MAAOG,GAA0CL,EAAIK,CAAI,EAE3GF,EAAoD,MAAOE,EAAaK,KACzD,MAAM,MAAM,yBAA2BL,EAAM,CAAE,KAAKK,EAAM,OAAO,MAAO,CAAC,GAEnF,OAGLN,EAAsD,MAAOC,EAAaK,IAAgCP,EAAIE,EAAMK,CAAI,EAiB/HC,EAAwCN,GAA0B,CACtE,IAAMO,EAAc,CAClB,iBAAiB,CAACC,EAAaC,IAAqDF,EAAE,GAAG,iBAAiBC,EAAMC,CAAQ,EACxH,KAAK,OACL,GAAG,IAAI,YACP,IAAI,SAAsCd,EAAIK,CAAI,EAClD,IAAI,CAACQ,EAAaC,KAChBF,EAAE,oBAAoBC,EAAMC,CAAQ,EAE7BF,GAET,GAAG,CAACC,EAAaC,KACfF,EAAE,iBAAiBC,EAAMC,CAAQ,EAE1BF,GAET,KAAK,SAAsCV,EAAKG,CAAI,EACpD,oBAAoB,CAACQ,EAAaC,IAAqDF,EAAE,GAAG,oBAAoBC,EAAMC,CAAQ,EAC9H,IAAI,MAAOJ,GAAgCP,EAAIE,EAAMK,CAAI,EACzD,MAAM,MAAOA,GAAgCN,EAAMC,EAAMK,CAAI,EAC7D,GAAG,IAAI,UAAU,uBAAyBL,CAAI,CAChD,EAIA,OAAAO,EAAE,GAAG,iBAAiB,UAAW,MAAMH,GAAK,CAC1CG,EAAE,KAAO,MAAMH,EAAE,KAAK,KAAK,EAE3BG,EAAE,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAKA,EAAE,IAAK,CAAC,CAAC,CACxE,CAAC,EACDA,EAAE,GAAG,iBAAiB,OAAQ,IAAMA,EAAE,GAAG,KAAK,KAAK,UAAU,CAAC,OAAQP,CAAI,CAAC,CAAC,CAAC,EAEtEO,CACT,EAEOb,EAAQY,EAGV,OAAO,SAAa,KACpB,OAAO,OAAW,KAClB,aAAe,QAElB,WAAW,iBAAiB,OAAQ,SAAY,CAC1C,WAAmB,YACpB,WAAmB,UAAa,WAAmB,UAAY,OAAO,OACpE,WAAmB,UAAU,QAC7B,WAAmB,SACtB,GAEF,MAAMV,EAAK,CACb,EAAG,CAAE,KAAK,EAAK,CAAC","names":["index_exports","__export","index_default","get","load","read","set","write","uuid","response","node","state","e","data","httpState","_","type","callback"]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// HTTP State, https://httpstate.com/\n// Copyright (C) Alex Morales, 2026\n// \n// Unless otherwise stated in particular files or directories, this software is free software.\n// You can redistribute it and/or modify it under the terms of the GNU Affero\n// General Public License as published by the Free Software Foundation, either\n// version 3 of the License, or (at your option) any later version.\n\nexport const get:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid);\n\n if(response.status === 200)\n return await response.text();\n};\n\nexport const load:() => Promise<void> = async ():Promise<void> => {\n for(const node of document.querySelectorAll('[httpState],[httpstate]')) {\n const uuid:null|string = node.getAttribute('httpState')||node.getAttribute('httpstate');\n\n const state:HttpState = (globalThis as any).httpState(uuid)\n .on('change', (e:Event&{ data:string }) => node.innerHTML = e.data);\n\n state.et.dispatchEvent(Object.assign(new Event('change'), { data:await state.get() }));\n }\n};\n\nexport const read:(uuid:string) => Promise<undefined|string> = async (uuid:string):Promise<undefined|string> => get(uuid);\n\nexport const set:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => {\n const response:Response = await fetch('https://httpstate.com/' + uuid, { body:data, method:'POST' });\n\n return response.status;\n};\n\nexport const write:(uuid:string, data:string) => Promise<number> = async (uuid:string, data:string):Promise<number> => set(uuid, data);\n\n// httpState\nexport type HttpState = {\n addEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n data?:undefined|string;\n et:EventTarget;\n get():Promise<undefined|string>;\n off(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n on(type:string, callback:null|EventListenerOrEventListenerObject):HttpState;\n read():Promise<undefined|string>;\n removeEventListener(type:string, callback:null|EventListenerOrEventListenerObject):void;\n set(data:string):Promise<number>;\n write(data:string):Promise<number>;\n ws:WebSocket;\n};\n\nconst httpState:(uuid:string) => HttpState = (uuid:string):HttpState => {\n const _:HttpState = {\n addEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.addEventListener(type, callback),\n data:undefined,\n et:new EventTarget(),\n get:async ():Promise<undefined|string> => get(uuid),\n off:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.removeEventListener(type, callback);\n\n return _;\n },\n on:(type:string, callback:null|EventListenerOrEventListenerObject) => {\n _.addEventListener(type, callback);\n\n return _;\n },\n read:async ():Promise<undefined|string> => read(uuid),\n removeEventListener:(type:string, callback:null|EventListenerOrEventListenerObject) => _.et.removeEventListener(type, callback),\n set:async (data:string):Promise<number> => set(uuid, data),\n write:async (data:string):Promise<number> => write(uuid, data),\n ws:new WebSocket('wss://httpstate.com/' + uuid)\n };\n\n _.ws.addEventListener('close', e => console.log('close', e));\n // _.ws.addEventListener('error', () => console.log('error'));\n _.ws.addEventListener('message', async e => {\n _.data = await e.data.text();\n\n _.et.dispatchEvent(Object.assign(new Event('change'), { data:_.data }));\n });\n _.ws.addEventListener('open', () => _.ws.send(JSON.stringify(['open', uuid])));\n\n return _;\n};\n\nexport default httpState;\n\nif(\n typeof document !== 'undefined'\n && typeof window !== 'undefined'\n && globalThis === window\n)\n globalThis.addEventListener('load', async () => {\n if((globalThis as any).httpstate)\n (globalThis as any).httpState = (globalThis as any).httpstate = Object.assign(\n (globalThis as any).httpstate.default,\n (globalThis as any).httpstate\n );\n\n await load();\n }, { once:true });\n"],"mappings":"6bAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,QAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,QAAAC,EAAA,UAAAC,IAQO,IAAMJ,EAAiD,MAAOK,GAA0C,CAC7G,IAAMC,EAAoB,MAAM,MAAM,yBAA2BD,CAAI,EAErE,GAAGC,EAAS,SAAW,IACrB,OAAO,MAAMA,EAAS,KAAK,CAC/B,EAEaL,EAA2B,SAA0B,CAChE,QAAUM,KAAQ,SAAS,iBAAiB,yBAAyB,EAAG,CACtE,IAAMF,EAAmBE,EAAK,aAAa,WAAW,GAAGA,EAAK,aAAa,WAAW,EAEhFC,EAAmB,WAAmB,UAAUH,CAAI,EACvD,GAAG,SAAWI,GAA4BF,EAAK,UAAYE,EAAE,IAAI,EAEpED,EAAM,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAK,MAAMA,EAAM,IAAI,CAAE,CAAC,CAAC,CACvF,CACF,EAEaN,EAAkD,MAAOG,GAA0CL,EAAIK,CAAI,EAE3GF,EAAoD,MAAOE,EAAaK,KACzD,MAAM,MAAM,yBAA2BL,EAAM,CAAE,KAAKK,EAAM,OAAO,MAAO,CAAC,GAEnF,OAGLN,EAAsD,MAAOC,EAAaK,IAAgCP,EAAIE,EAAMK,CAAI,EAiB/HC,EAAwCN,GAA0B,CACtE,IAAMO,EAAc,CAClB,iBAAiB,CAACC,EAAaC,IAAqDF,EAAE,GAAG,iBAAiBC,EAAMC,CAAQ,EACxH,KAAK,OACL,GAAG,IAAI,YACP,IAAI,SAAsCd,EAAIK,CAAI,EAClD,IAAI,CAACQ,EAAaC,KAChBF,EAAE,oBAAoBC,EAAMC,CAAQ,EAE7BF,GAET,GAAG,CAACC,EAAaC,KACfF,EAAE,iBAAiBC,EAAMC,CAAQ,EAE1BF,GAET,KAAK,SAAsCV,EAAKG,CAAI,EACpD,oBAAoB,CAACQ,EAAaC,IAAqDF,EAAE,GAAG,oBAAoBC,EAAMC,CAAQ,EAC9H,IAAI,MAAOJ,GAAgCP,EAAIE,EAAMK,CAAI,EACzD,MAAM,MAAOA,GAAgCN,EAAMC,EAAMK,CAAI,EAC7D,GAAG,IAAI,UAAU,uBAAyBL,CAAI,CAChD,EAEA,OAAAO,EAAE,GAAG,iBAAiB,QAASH,GAAK,QAAQ,IAAI,QAASA,CAAC,CAAC,EAE3DG,EAAE,GAAG,iBAAiB,UAAW,MAAMH,GAAK,CAC1CG,EAAE,KAAO,MAAMH,EAAE,KAAK,KAAK,EAE3BG,EAAE,GAAG,cAAc,OAAO,OAAO,IAAI,MAAM,QAAQ,EAAG,CAAE,KAAKA,EAAE,IAAK,CAAC,CAAC,CACxE,CAAC,EACDA,EAAE,GAAG,iBAAiB,OAAQ,IAAMA,EAAE,GAAG,KAAK,KAAK,UAAU,CAAC,OAAQP,CAAI,CAAC,CAAC,CAAC,EAEtEO,CACT,EAEOb,EAAQY,EAGV,OAAO,SAAa,KACpB,OAAO,OAAW,KAClB,aAAe,QAElB,WAAW,iBAAiB,OAAQ,SAAY,CAC1C,WAAmB,YACpB,WAAmB,UAAa,WAAmB,UAAY,OAAO,OACpE,WAAmB,UAAU,QAC7B,WAAmB,SACtB,GAEF,MAAMV,EAAK,CACb,EAAG,CAAE,KAAK,EAAK,CAAC","names":["index_exports","__export","index_default","get","load","read","set","write","uuid","response","node","state","e","data","httpState","_","type","callback"]}
package/package.json CHANGED
@@ -23,5 +23,5 @@
23
23
  },
24
24
  "type": "module",
25
25
  "types": "dist/index.d.ts",
26
- "version": "0.0.11"
26
+ "version": "0.0.12"
27
27
  }