node-red-contrib-home-assistant-websocket
Version:
Node-RED integration with Home Assistant through websocket and REST API
2 lines (1 loc) • 1.13 kB
JavaScript
;var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var _=(t,e)=>{for(var s in e)a(t,s,{get:e[s],enumerable:!0})},p=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of l(e))!u.call(t,o)&&o!==s&&a(t,o,{get:()=>e[o],enumerable:!(n=c(e,o))||n.enumerable});return t};var g=t=>p(a({},"__esModule",{value:!0}),t);var h={};_(h,{TransformType:()=>i,default:()=>m});module.exports=g(h);var i=(r=>(r.Boolean="bool",r.Home_Assistant_Boolean="habool",r.List="list",r.Number="num",r.Regexp="re",r.String="str",r.Home_Assistant_Boolean_Values="ha_boolean_values",r))(i||{});class m{#e;constructor(e=["y","yes","true","on","home","open"]){this.#e=e}transform(e,s){if(!e)return s;switch(e){case"num":return parseFloat(s);case"str":return s+"";case"bool":return!!s;case"habool":{const n=`^(${this.#e.join("|")})$`;return new RegExp(n,"i").test(s)}case"ha_boolean_values":return this.#e;case"re":return new RegExp(s);case"list":return s?s.split(",").map(n=>n.trim()):[];default:return s}}}0&&(module.exports={TransformType});