node-red-contrib-home-assistant-websocket
Version:
Node-RED integration with Home Assistant through websocket and REST API
2 lines (1 loc) • 1.61 kB
JavaScript
;var l=Object.create;var i=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var v=(r,e)=>{for(var t in e)i(r,t,{get:e[t],enumerable:!0})},u=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of g(e))!h.call(r,o)&&o!==t&&i(r,o,{get:()=>e[o],enumerable:!(s=E(e,o))||s.enumerable});return r};var d=(r,e,t)=>(t=r!=null?l(D(r)):{},u(e||!r||!r.__esModule?i(t,"default",{value:r,enumerable:!0}):t,r)),y=r=>u(i({},"__esModule",{value:!0}),r);var w={};v(w,{getErrorData:()=>p,inputErrorHandler:()=>m,setIntervalWithErrorHandling:()=>_,setTimeoutWithErrorHandling:()=>I});module.exports=y(w);var f=require("joi"),n=require("../../globals"),c=d(require("./BaseError")),a=d(require("./HomeAssistantError"));function p(r){let e=n.RED._("home-assistant.status.error");return(0,f.isError)(r)?(e=n.RED._("home-assistant.status.validation_error"),r.message=n.RED._(r.message)):(0,a.isHomeAssistantApiError)(r)?r=new a.default(r):r instanceof c.default?e=r.statusMessage:r instanceof Error?e=r.name||e:typeof r=="string"?r=new Error(r):r=new Error(n.RED._("home-assistant.error.unrecognized_error",{error:JSON.stringify(r)})),{error:r,statusMessage:e}}function m(r,e){const{error:t,statusMessage:s}=p(r);e?.status?.setFailed(s),e?.done?.(t)}function I(r,e,t){return setTimeout(()=>{try{r()}catch(o){m(o,t)}},e)}function _(r,e,t){return setInterval(()=>{try{r()}catch(o){m(o,t)}},e)}0&&(module.exports={getErrorData,inputErrorHandler,setIntervalWithErrorHandling,setTimeoutWithErrorHandling});