UNPKG

@hakit/core

Version:

A collection of React hooks and helpers for Home Assistant to easily communicate with the Home Assistant WebSocket API.

3 lines (2 loc) 2 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("../../utils/light/index.js");require("react");require("../useLocale/locales/index.js");const u=require("../../utils/supports-feature.js");require("../../../index-DKqwfDib.cjs");require("../../HassConnect/HassContext.js");require("@iconify/react");require("use-debounce");require("home-assistant-js-websocket");var o=(e=>(e[e.FORECAST_DAILY=1]="FORECAST_DAILY",e[e.FORECAST_HOURLY=2]="FORECAST_HOURLY",e[e.FORECAST_TWICE_DAILY=4]="FORECAST_TWICE_DAILY",e))(o||{});const n=288e5,c=864e5,d=e=>{if(e&&e?.length&&e?.length>2){const t=new Date(e[1].datetime);return new Date(e[2].datetime).getTime()-t.getTime()<n}},p=e=>{if(e&&e?.length&&e?.length>2){const t=new Date(e[1].datetime);return new Date(e[2].datetime).getTime()-t.getTime()<c}},i=e=>{if(e?.forecast&&e.forecast.length>2)return d(e.forecast)?{forecast:e.forecast,type:"hourly"}:p(e.forecast)?{forecast:e.forecast,type:"twice_daily"}:{forecast:e.forecast,type:"daily"}},f=(e,t,r)=>{if(r===void 0)return t?.type!==void 0&&t?.forecast&&t?.forecast?.length>2?{forecast:t.forecast,type:t?.type}:i(e);if(r==="legacy")return i(e);if(r===t?.type&&t?.forecast&&t?.forecast?.length>2)return{forecast:t.forecast,type:r}},a=(e,t,r,s)=>e.subscribeMessage(s,{type:"weather/subscribe_forecast",forecast_type:r,entity_id:t}),F=e=>{const t=[];return u.supportsFeatureFromAttributes(e.attributes,1)&&t.push("daily"),u.supportsFeatureFromAttributes(e.attributes,4)&&t.push("twice_daily"),u.supportsFeatureFromAttributes(e.attributes,2)&&t.push("hourly"),t},l=e=>{if(u.supportsFeatureFromAttributes(e.attributes,1))return"daily";if(u.supportsFeatureFromAttributes(e.attributes,4))return"twice_daily";if(u.supportsFeatureFromAttributes(e.attributes,2))return"hourly"};exports.WeatherEntityFeature=o;exports.getDefaultForecastType=l;exports.getForecast=f;exports.getSupportedForecastTypes=F;exports.subscribeForecast=a; //# sourceMappingURL=helpers.js.map