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) 1.05 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react");require("lodash");const d=require("../../../index-iGClY3ec.cjs");require("../useLocale/locales/index.js");require("home-assistant-js-websocket");require("../../utils/date.js");require("@iconify/react");require("use-debounce");const p=o=>{const u=d.useHass(n=>n.connection),[a,r]=s.useState(null),t=s.useRef(null),c=s.useMemo(()=>o,[o]);return s.useEffect(()=>{const n=()=>{if(t.current)try{t.current()}catch{}finally{t.current=null}},{enabled:l=!0,...m}=c;if(!l||!u){n(),l||r(null);return}const b=e=>{if("error"in e){console.error("Error processing template:",e.error),r(e.error);return}r(i=>i===e.result?i:e.result)},f=e=>{console.error("Error processing template:",e),r(e?.error||"Could not process template request.")};return u.subscribeMessage(b,{type:"render_template",...m}).then(e=>{t.current=e}).catch(e=>{console.error("Error subscribing to template:",e),f(e)}),n},[u,c]),a};exports.useTemplate=p; //# sourceMappingURL=index.js.map