UNPKG

node-red-contrib-home-assistant-websocket

Version:
2 lines (1 loc) 1.63 kB
"use strict";var h=Object.create;var i=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},a=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of g(t))!C.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(o=x(t,s))||o.enumerable});return e};var d=(e,t,n)=>(n=e!=null?h(m(e)):{},a(t||!e||!e.__esModule?i(n,"default",{value:e,enumerable:!0}):n,e)),N=e=>a(i({},"__esModule",{value:!0}),e);var k={};y(k,{generateRenderTemplate:()=>b,renderTemplate:()=>p});module.exports=N(k);var f=d(require("mustache")),c=d(require("selectn")),l=require("./utils");const{Context:w,render:E}=f.default;function H(e){const t=/^(flow|global)(\[(\w+)\])?\.(.+)/.exec(e);if(t)return{type:t[1],store:t[3]===""?"default":t[3],field:t[4]}}class r extends w{#t;#e;constructor(t,n,o,s){super(t,n),this.#t=o,this.#e=s}lookup(t){let n=super.lookup(t);if(n===void 0){if(this.#t){const o=H(t);if(o){const s=this.#t[o.type];if(s)try{n=s.get(o.field,o.store)}catch{}}}if(n===void 0&&this.#e){const o=/^(?:states|entity)\.(\w+\.\w+)(?:\.(.+))?/.exec(t);if(o){const s=o[1],u=o[2]??"state";n=(0,c.default)(u,this.#e[s])}}}return n??""}push(t){return new r(t,this,this.#t,this.#e)}}function M(e){return/<%(?:(?!%>).+)%>/g.test(e)}function p(e,t,n,o,s=!1){return e&&(s!==!0&&(0,l.containsMustache)(e)||s===!0&&M(e))?E(e,new r(t,void 0,n,o),void 0,s===!0?["<%","%>"]:void 0):e??""}function b(e,t,n){return(o,s=!1)=>p(o,e,t,n,s)}0&&(module.exports={generateRenderTemplate,renderTemplate});