UNPKG

node-red-contrib-home-assistant-websocket

Version:
2 lines (1 loc) 3.06 kB
"use strict";var E=Object.create;var n=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var G=(t,e)=>{for(var s in e)n(t,s,{get:e[s],enumerable:!0})},l=(t,e,s,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of j(e))!O.call(t,i)&&i!==s&&n(t,i,{get:()=>e[i],enumerable:!(u=L(e,i))||u.enumerable});return t};var p=(t,e,s)=>(s=t!=null?E(w(t)):{},l(e||!t||!t.__esModule?n(s,"default",{value:t,enumerable:!0}):s,t)),x=t=>l(n({},"__esModule",{value:!0}),t);var D={};G(D,{default:()=>h});module.exports=x(D);var o=p(require("joi")),c=require("../../common/const"),m=require("../../common/controllers/helpers"),d=p(require("../../common/services/ComparatorService")),g=p(require("../../common/services/InputService")),f=p(require("../../common/status/Status")),y=p(require("../../common/TransformState")),r=require("../../const"),v=require("../../globals"),T=require("../../helpers/migrate"),b=require("../../helpers/node"),P=require("../../homeAssistant"),N=require("./const"),R=p(require("./GetEntitiesController"));const B={outputType:{messageProp:"payload.outputType",configProp:"outputType"},outputEmptyResults:{messageProp:"payload.outputEmptyResults",configProp:"outputEmptyResults"},outputLocationType:{messageProp:"payload.outputLocationType",configProp:"outputLocationType"},outputLocation:{messageProp:"payload.outputLocation",configProp:"outputLocation"},outputResultsCount:{messageProp:"payload.outputResultsCount",configProp:"outputResultsCount"},rules:{messageProp:"payload.rules",configProp:"rules"}},I=o.default.object({outputType:o.default.string().valid(...Object.values(N.OutputType)).label("OutputType"),outputEmptyResults:o.default.boolean().label("outputEmptyResults"),outputLocationType:o.default.string().valid(r.TypedInputTypes.Message,r.TypedInputTypes.Flow,r.TypedInputTypes.Global).label("outputLocationType"),outputLocation:o.default.string().label("outputLocation"),outputResultsCount:o.default.number().label("outputResultsCount"),rules:o.default.array().items(o.default.object({condition:o.default.string().valid(...Object.values(c.PropertySelectorType),""),property:o.default.when("logic",{is:r.ComparatorType.JSONata,then:o.default.any(),otherwise:o.default.string()}),logic:o.default.string().valid(...Object.values(r.ComparatorType),""),value:o.default.string().allow(""),valueType:o.default.string().valid(...Object.values(r.TypedInputTypes),"")})).label("rules")});function h(t){v.RED.nodes.createNode(this,t),this.config=(0,T.migrate)(t);const e=(0,b.getServerConfigNode)(this.config.server),s=(0,P.getHomeAssistant)(e),u=new f.default({config:e.config,node:this}),i=new g.default({inputs:B,nodeConfig:this.config,schema:I}),a=(0,m.createControllerDependencies)(this,s),S=new y.default(e.config.ha_boolean),C=new d.default({nodeRedContextService:a.nodeRedContextService,homeAssistant:s,jsonataService:a.jsonataService,transformState:S});new R.default({comparatorService:C,inputService:i,node:this,status:u,...a})}