@hakit/core
Version:
A collection of React hooks and helpers for Home Assistant to easily communicate with the Home Assistant WebSocket API.
3 lines (2 loc) • 1.01 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react");require("lodash");require("../../utils/light/index.js");require("../useLocale/locales/index.js");const f=require("../../../index-CUxh5LWn.cjs");require("../../HassConnect/HassContext.js");require("@iconify/react");require("use-debounce");require("deep-object-diff");require("home-assistant-js-websocket");const m=o=>{const{useStore:a}=f.useHass(),s=a(t=>t.connection),[c,n]=r.useState(null),u=r.useRef(null),l=r.useMemo(()=>o,[o]);return r.useEffect(()=>()=>{try{u.current?.(),u.current=null}catch(t){console.log("Error:",t),u.current=null}},[]),r.useEffect(()=>{if(!s)return;const t=e=>{e?.result&&n(i=>i===e.result?i:e.result)},q=e=>{e?.code==="template_error"?n(e.error):n(e?.error||"Could not process template request.")};s.subscribeMessage(t,{type:"render_template",...l}).then(e=>{u.current=e}).catch(e=>{q(e)})},[s,l]),r.useMemo(()=>c,[c])};exports.useTemplate=m;
//# sourceMappingURL=index.js.map