UNPKG

@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) 999 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react");require("lodash");require("../../utils/light/index.js");require("../useLocale/locales/index.js");require("../../../index-DKqwfDib.cjs");require("../../HassConnect/HassContext.js");require("@iconify/react");const q=require("../useStore/index.js");require("use-debounce");require("home-assistant-js-websocket");const f=o=>{const n=q.useStore(t=>t.connection),[c,s]=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(!n)return;const t=e=>{e?.result&&s(i=>i===e.result?i:e.result)},a=e=>{e?.code==="template_error"?s(e.error):s(e?.error||"Could not process template request.")};n.subscribeMessage(t,{type:"render_template",...l}).then(e=>{u.current=e}).catch(e=>{a(e)})},[n,l]),r.useMemo(()=>c,[c])};exports.useTemplate=f; //# sourceMappingURL=index.js.map