home-assistant-javascript-templates
Advanced tools
Comparing version 1.1.0 to 1.2.0
@@ -1,1 +0,1 @@ | ||
var e,t;!function(e){e.UNKNOWN="unknown",e.UNAVAILABLE="unavailable"}(e||(e={})),function(e){e.AREA_ID="area_id",e.NAME="name"}(t||(t={}));var i="None";function r(e,t,i){if(i||2===arguments.length)for(var r,s=0,n=t.length;s<n;s++)!r&&s in t||(r||(r=Array.prototype.slice.call(t,0,s)),r[s]=t[s]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;function s(s){var n=Object.entries(s.areas),a=Object.entries(s.states),d=Object.entries(s.devices),_=Object.entries(s.entities);return{hass:s,states:new Proxy((function(e){var t;return null===(t=s.states[e])||void 0===t?void 0:t.state}),{get:function(e,t){return t.includes(".")?s.states[t]:a.filter((function(e){return e[0].startsWith(t)})).reduce((function(e,t){var i=t[1];return r(r([],e,!0),[i],!1)}),[])}}),is_state:function(e,t){var i;return(null===(i=s.states[e])||void 0===i?void 0:i.state)===t},state_attr:function(e,t){var r,n;return(null===(n=null===(r=s.states[e])||void 0===r?void 0:r.attributes)||void 0===n?void 0:n[t])||i},is_state_attr:function(e,t,i){return this.state_attr(e,t)===i},has_value:function(t){return!!this.states(t)&&!(this.is_state(t,e.UNKNOWN)||this.is_state(t,e.UNAVAILABLE))},device_attr:function(e,t){var r;return(null===(r=s.devices[e])||void 0===r?void 0:r[t])||i},is_device_attr:function(e,t,i){return this.device_attr(e,t)===i},device_id:function(e){var t;return(null===(t=s.entities[e])||void 0===t?void 0:t.device_id)||i},areas:function(){return n.map((function(e){return e[1].area_id}))},area_id:function(e){var r;if(e in s.devices)return this.device_attr(e,t.AREA_ID);var a=this.device_id(e);if(a&&a!==i)return this.device_attr(a,t.AREA_ID);var d=n.find((function(t){return t[1].name===e}));return(null===(r=null==d?void 0:d[1])||void 0===r?void 0:r.area_id)||i},area_name:function(e){var r,a;e in s.devices&&(a=this.device_attr(e,t.AREA_ID));var d=this.device_id(e);d&&d!==i&&(a=this.device_attr(d,t.AREA_ID));var _=n.find((function(t){var i=t[1];return i.area_id===e||i.area_id===a}));return(null===(r=null==_?void 0:_[1])||void 0===r?void 0:r.name)||i},area_entities:function(e){var t=n.find((function(t){var i=t[1];return i.area_id===e||i.name===e}));return t?_.filter((function(e){return e[1].area_id===t[1].area_id})).map((function(e){return e[0]})):[]},area_devices:function(e){var t=n.find((function(t){var i=t[1];return i.area_id===e||i.name===e}));return t?d.filter((function(e){return e[1].area_id===t[1].area_id})).map((function(e){return e[1].id})):[]},user_name:s.user.name,user_is_admin:s.user.is_admin,user_is_owner:s.user.is_owner}}var n=function(){function e(e,t){void 0===t&&(t=!1),this._scopped=s(e),this._errors=t}return e.prototype.renderTemplate=function(e){var t=e.includes("return")?e:"return ".concat(e),i=new Function("hass","states","is_state","state_attr","is_state_attr","has_value","device_attr","is_device_attr","device_id","areas","area_id","area_name","area_entities","area_devices","user_name","user_is_admin","user_is_owner","".concat('"use strict";'," ").concat(t));try{return i(this._scopped.hass,this._scopped.states,this._scopped.is_state.bind(this._scopped),this._scopped.state_attr.bind(this._scopped),this._scopped.is_state_attr.bind(this._scopped),this._scopped.has_value.bind(this._scopped),this._scopped.device_attr.bind(this._scopped),this._scopped.is_device_attr.bind(this._scopped),this._scopped.device_id.bind(this._scopped),this._scopped.areas.bind(this._scopped),this._scopped.area_id.bind(this._scopped),this._scopped.area_name.bind(this._scopped),this._scopped.area_entities.bind(this._scopped),this._scopped.area_devices.bind(this._scopped),this._scopped.user_name,this._scopped.user_is_admin,this._scopped.user_is_owner)}catch(e){if(this._errors)throw e;return void console.warn(e)}},e}();export{n as default}; | ||
var e,t;!function(e){e.UNKNOWN="unknown",e.UNAVAILABLE="unavailable"}(e||(e={})),function(e){e.AREA_ID="area_id",e.NAME="name"}(t||(t={}));function i(e,t,i){if(i||2===arguments.length)for(var r,s=0,n=t.length;s<n;s++)!r&&s in t||(r||(r=Array.prototype.slice.call(t,0,s)),r[s]=t[s]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;function r(r){var s=Object.entries(r.areas),n=Object.entries(r.states),a=Object.entries(r.devices),d=Object.entries(r.entities);return{hass:r,states:new Proxy((function(e){var t;if(e.includes("."))return null===(t=r.states[e])||void 0===t?void 0:t.state;throw SyntaxError("[home-assistant-javascript-templates]: states method cannot be used with a domain, use it as an object instead.")}),{get:function(e,t){return t.includes(".")?r.states[t]:n.filter((function(e){return e[0].startsWith(t)})).reduce((function(e,t){var r=t[1];return i(i([],e,!0),[r],!1)}),[])}}),is_state:function(e,t){var i;return(null===(i=r.states[e])||void 0===i?void 0:i.state)===t},state_attr:function(e,t){var i,s;return null===(s=null===(i=r.states[e])||void 0===i?void 0:i.attributes)||void 0===s?void 0:s[t]},is_state_attr:function(e,t,i){return this.state_attr(e,t)===i},has_value:function(t){return!!this.states(t)&&!(this.is_state(t,e.UNKNOWN)||this.is_state(t,e.UNAVAILABLE))},device_attr:function(e,t){var i;return null===(i=r.devices[e])||void 0===i?void 0:i[t]},is_device_attr:function(e,t,i){return this.device_attr(e,t)===i},device_id:function(e){var t;return null===(t=r.entities[e])||void 0===t?void 0:t.device_id},areas:function(){return s.map((function(e){return e[1].area_id}))},area_id:function(e){var i;if(e in r.devices)return this.device_attr(e,t.AREA_ID);var n=this.device_id(e);if(n)return this.device_attr(n,t.AREA_ID);var a=s.find((function(t){return t[1].name===e}));return null===(i=null==a?void 0:a[1])||void 0===i?void 0:i.area_id},area_name:function(e){var i,n;e in r.devices&&(n=this.device_attr(e,t.AREA_ID));var a=this.device_id(e);a&&(n=this.device_attr(a,t.AREA_ID));var d=s.find((function(t){var i=t[1];return i.area_id===e||i.area_id===n}));return null===(i=null==d?void 0:d[1])||void 0===i?void 0:i.name},area_entities:function(e){var t=s.find((function(t){var i=t[1];return i.area_id===e||i.name===e}));return t?d.filter((function(e){return e[1].area_id===t[1].area_id})).map((function(e){return e[0]})):[]},area_devices:function(e){var t=s.find((function(t){var i=t[1];return i.area_id===e||i.name===e}));return t?a.filter((function(e){return e[1].area_id===t[1].area_id})).map((function(e){return e[1].id})):[]},user_name:r.user.name,user_is_admin:r.user.is_admin,user_is_owner:r.user.is_owner}}var s=function(){function e(e,t){void 0===t&&(t=!1),this._scopped=r(e),this._errors=t}return e.prototype.renderTemplate=function(e){var t=e.includes("return")?e:"return ".concat(e),i=new Function("hass","states","is_state","state_attr","is_state_attr","has_value","device_attr","is_device_attr","device_id","areas","area_id","area_name","area_entities","area_devices","user_name","user_is_admin","user_is_owner","".concat('"use strict";'," ").concat(t));try{return i(this._scopped.hass,this._scopped.states,this._scopped.is_state.bind(this._scopped),this._scopped.state_attr.bind(this._scopped),this._scopped.is_state_attr.bind(this._scopped),this._scopped.has_value.bind(this._scopped),this._scopped.device_attr.bind(this._scopped),this._scopped.is_device_attr.bind(this._scopped),this._scopped.device_id.bind(this._scopped),this._scopped.areas.bind(this._scopped),this._scopped.area_id.bind(this._scopped),this._scopped.area_name.bind(this._scopped),this._scopped.area_entities.bind(this._scopped),this._scopped.area_devices.bind(this._scopped),this._scopped.user_name,this._scopped.user_is_admin,this._scopped.user_is_owner)}catch(e){if(this._errors)throw e;return void console.warn(e)}},e}();export{s as default}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var e,t;!function(e){e.UNKNOWN="unknown",e.UNAVAILABLE="unavailable"}(e||(e={})),function(e){e.AREA_ID="area_id",e.NAME="name"}(t||(t={}));var i="None";function r(e,t,i){if(i||2===arguments.length)for(var r,s=0,n=t.length;s<n;s++)!r&&s in t||(r||(r=Array.prototype.slice.call(t,0,s)),r[s]=t[s]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;function s(s){var n=Object.entries(s.areas),a=Object.entries(s.states),d=Object.entries(s.devices),_=Object.entries(s.entities);return{hass:s,states:new Proxy((function(e){var t;return null===(t=s.states[e])||void 0===t?void 0:t.state}),{get:function(e,t){return t.includes(".")?s.states[t]:a.filter((function(e){return e[0].startsWith(t)})).reduce((function(e,t){var i=t[1];return r(r([],e,!0),[i],!1)}),[])}}),is_state:function(e,t){var i;return(null===(i=s.states[e])||void 0===i?void 0:i.state)===t},state_attr:function(e,t){var r,n;return(null===(n=null===(r=s.states[e])||void 0===r?void 0:r.attributes)||void 0===n?void 0:n[t])||i},is_state_attr:function(e,t,i){return this.state_attr(e,t)===i},has_value:function(t){return!!this.states(t)&&!(this.is_state(t,e.UNKNOWN)||this.is_state(t,e.UNAVAILABLE))},device_attr:function(e,t){var r;return(null===(r=s.devices[e])||void 0===r?void 0:r[t])||i},is_device_attr:function(e,t,i){return this.device_attr(e,t)===i},device_id:function(e){var t;return(null===(t=s.entities[e])||void 0===t?void 0:t.device_id)||i},areas:function(){return n.map((function(e){return e[1].area_id}))},area_id:function(e){var r;if(e in s.devices)return this.device_attr(e,t.AREA_ID);var a=this.device_id(e);if(a&&a!==i)return this.device_attr(a,t.AREA_ID);var d=n.find((function(t){return t[1].name===e}));return(null===(r=null==d?void 0:d[1])||void 0===r?void 0:r.area_id)||i},area_name:function(e){var r,a;e in s.devices&&(a=this.device_attr(e,t.AREA_ID));var d=this.device_id(e);d&&d!==i&&(a=this.device_attr(d,t.AREA_ID));var _=n.find((function(t){var i=t[1];return i.area_id===e||i.area_id===a}));return(null===(r=null==_?void 0:_[1])||void 0===r?void 0:r.name)||i},area_entities:function(e){var t=n.find((function(t){var i=t[1];return i.area_id===e||i.name===e}));return t?_.filter((function(e){return e[1].area_id===t[1].area_id})).map((function(e){return e[0]})):[]},area_devices:function(e){var t=n.find((function(t){var i=t[1];return i.area_id===e||i.name===e}));return t?d.filter((function(e){return e[1].area_id===t[1].area_id})).map((function(e){return e[1].id})):[]},user_name:s.user.name,user_is_admin:s.user.is_admin,user_is_owner:s.user.is_owner}}var n=function(){function e(e,t){void 0===t&&(t=!1),this._scopped=s(e),this._errors=t}return e.prototype.renderTemplate=function(e){var t=e.includes("return")?e:"return ".concat(e),i=new Function("hass","states","is_state","state_attr","is_state_attr","has_value","device_attr","is_device_attr","device_id","areas","area_id","area_name","area_entities","area_devices","user_name","user_is_admin","user_is_owner","".concat('"use strict";'," ").concat(t));try{return i(this._scopped.hass,this._scopped.states,this._scopped.is_state.bind(this._scopped),this._scopped.state_attr.bind(this._scopped),this._scopped.is_state_attr.bind(this._scopped),this._scopped.has_value.bind(this._scopped),this._scopped.device_attr.bind(this._scopped),this._scopped.is_device_attr.bind(this._scopped),this._scopped.device_id.bind(this._scopped),this._scopped.areas.bind(this._scopped),this._scopped.area_id.bind(this._scopped),this._scopped.area_name.bind(this._scopped),this._scopped.area_entities.bind(this._scopped),this._scopped.area_devices.bind(this._scopped),this._scopped.user_name,this._scopped.user_is_admin,this._scopped.user_is_owner)}catch(e){if(this._errors)throw e;return void console.warn(e)}},e}();module.exports=n; | ||
"use strict";var e,t;!function(e){e.UNKNOWN="unknown",e.UNAVAILABLE="unavailable"}(e||(e={})),function(e){e.AREA_ID="area_id",e.NAME="name"}(t||(t={}));function i(e,t,i){if(i||2===arguments.length)for(var r,s=0,n=t.length;s<n;s++)!r&&s in t||(r||(r=Array.prototype.slice.call(t,0,s)),r[s]=t[s]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;function r(r){var s=Object.entries(r.areas),n=Object.entries(r.states),a=Object.entries(r.devices),d=Object.entries(r.entities);return{hass:r,states:new Proxy((function(e){var t;if(e.includes("."))return null===(t=r.states[e])||void 0===t?void 0:t.state;throw SyntaxError("[home-assistant-javascript-templates]: states method cannot be used with a domain, use it as an object instead.")}),{get:function(e,t){return t.includes(".")?r.states[t]:n.filter((function(e){return e[0].startsWith(t)})).reduce((function(e,t){var r=t[1];return i(i([],e,!0),[r],!1)}),[])}}),is_state:function(e,t){var i;return(null===(i=r.states[e])||void 0===i?void 0:i.state)===t},state_attr:function(e,t){var i,s;return null===(s=null===(i=r.states[e])||void 0===i?void 0:i.attributes)||void 0===s?void 0:s[t]},is_state_attr:function(e,t,i){return this.state_attr(e,t)===i},has_value:function(t){return!!this.states(t)&&!(this.is_state(t,e.UNKNOWN)||this.is_state(t,e.UNAVAILABLE))},device_attr:function(e,t){var i;return null===(i=r.devices[e])||void 0===i?void 0:i[t]},is_device_attr:function(e,t,i){return this.device_attr(e,t)===i},device_id:function(e){var t;return null===(t=r.entities[e])||void 0===t?void 0:t.device_id},areas:function(){return s.map((function(e){return e[1].area_id}))},area_id:function(e){var i;if(e in r.devices)return this.device_attr(e,t.AREA_ID);var n=this.device_id(e);if(n)return this.device_attr(n,t.AREA_ID);var a=s.find((function(t){return t[1].name===e}));return null===(i=null==a?void 0:a[1])||void 0===i?void 0:i.area_id},area_name:function(e){var i,n;e in r.devices&&(n=this.device_attr(e,t.AREA_ID));var a=this.device_id(e);a&&(n=this.device_attr(a,t.AREA_ID));var d=s.find((function(t){var i=t[1];return i.area_id===e||i.area_id===n}));return null===(i=null==d?void 0:d[1])||void 0===i?void 0:i.name},area_entities:function(e){var t=s.find((function(t){var i=t[1];return i.area_id===e||i.name===e}));return t?d.filter((function(e){return e[1].area_id===t[1].area_id})).map((function(e){return e[0]})):[]},area_devices:function(e){var t=s.find((function(t){var i=t[1];return i.area_id===e||i.name===e}));return t?a.filter((function(e){return e[1].area_id===t[1].area_id})).map((function(e){return e[1].id})):[]},user_name:r.user.name,user_is_admin:r.user.is_admin,user_is_owner:r.user.is_owner}}var s=function(){function e(e,t){void 0===t&&(t=!1),this._scopped=r(e),this._errors=t}return e.prototype.renderTemplate=function(e){var t=e.includes("return")?e:"return ".concat(e),i=new Function("hass","states","is_state","state_attr","is_state_attr","has_value","device_attr","is_device_attr","device_id","areas","area_id","area_name","area_entities","area_devices","user_name","user_is_admin","user_is_owner","".concat('"use strict";'," ").concat(t));try{return i(this._scopped.hass,this._scopped.states,this._scopped.is_state.bind(this._scopped),this._scopped.state_attr.bind(this._scopped),this._scopped.is_state_attr.bind(this._scopped),this._scopped.has_value.bind(this._scopped),this._scopped.device_attr.bind(this._scopped),this._scopped.is_device_attr.bind(this._scopped),this._scopped.device_id.bind(this._scopped),this._scopped.areas.bind(this._scopped),this._scopped.area_id.bind(this._scopped),this._scopped.area_name.bind(this._scopped),this._scopped.area_entities.bind(this._scopped),this._scopped.area_devices.bind(this._scopped),this._scopped.user_name,this._scopped.user_is_admin,this._scopped.user_is_owner)}catch(e){if(this._errors)throw e;return void console.warn(e)}},e}();module.exports=s; |
{ | ||
"name": "home-assistant-javascript-templates", | ||
"version": "1.1.0", | ||
"version": "1.2.0", | ||
"description": "A JavaScript utility to render Home Assistant JavaScript templates", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -70,3 +70,3 @@ # home-assistant-javascript-templates | ||
| `hass` | no | A valid `hass` object | | ||
| `throwErrors` | yes | Indicates if the library should throw if the template contains any error. If not it will log the errors as a warning in the console. | | ||
| `throwErrors` | yes | Indicates if the library should throw if the template contains any error. If not it will log the errors as a warning in the console and return `undefined` instead. | | ||
@@ -85,10 +85,13 @@ ### renderTemplate method | ||
States could be used in two ways, as a function or as an object. | ||
`states` could be used in two ways, as a function or as an object. When using it as function it only allows an entity id as a parameter and it will return the state of that entity. When using it as an object, you can use also an entity id but in those cases it will return the entire state object, so you need to access its `state` property to get the state value. When using it as an object with a domain, it will return an array with all the states of that domain. | ||
>Note: If you try to use `states` as a function sending a domain it will throw an error. | ||
```javascript | ||
// Using states as a function | ||
states('device_tracker.paulus') | ||
states('device_tracker.paulus') // returns the state of the entity id 'device_tracker.paulus' | ||
// Using states as an object | ||
states['device_tracker.paulus'].state | ||
states['device_tracker.paulus'].state // returns the state of the entity id 'device_tracker.paulus' | ||
states['device_tracker'] // returns an array with all the states of the 'device_tracker' domain | ||
``` | ||
@@ -106,3 +109,3 @@ | ||
Method to return the value of the state attribute or `None` if it doesn’t exist. | ||
Method to return the value of the state attribute or `undefined` if it doesn’t exist. | ||
@@ -131,3 +134,3 @@ ```javascript | ||
Method that returns the value of an attribute for the given device id or `None` if it doesn’t exist. | ||
Method that returns the value of an attribute for the given device id or `undefined` if it doesn’t exist. | ||
@@ -148,3 +151,3 @@ ```javascript | ||
Method to return the device id for a given entity id or `None` if the entity doesn‘t exist. | ||
Method to return the device id for a given entity id or `undefined` if the entity doesn‘t exist. | ||
@@ -165,3 +168,3 @@ ```javascript | ||
Method to return the area id for a given device id, entity id, or area name. It returns `None` if the area doesn‘t exist. | ||
Method to return the area id for a given device id, entity id, or area name. It returns `undefined` if the area doesn‘t exist. | ||
@@ -176,3 +179,3 @@ ```javascript | ||
Method to return the area name for a given device id, entity id, or area id. It returns `None` if the area doesn‘t exist. | ||
Method to return the area name for a given device id, entity id, or area id. It returns `undefined` if the area doesn‘t exist. | ||
@@ -179,0 +182,0 @@ ```javascript |
30009
261