Convert compute functions to TypeScript (#2055)

* Convert compute functions to TypeScript

* Address review comment

* Address Travis complaint

* Attempt to not be dumb :)
This commit is contained in:
Ian Richardson 2018-11-18 07:50:21 -06:00 committed by Paulus Schoutsen
parent b1a50aa0e0
commit f92f89e8e8
8 changed files with 15 additions and 13 deletions

View File

@ -1,5 +1,5 @@
import computeCardSize from "../common/compute-card-size";
import createCardElement from "../common/create-card-element";
import { computeCardSize } from "../common/compute-card-size";
import { HomeAssistant } from "../../../types";
import { LovelaceCard, LovelaceConfig } from "../types";
@ -72,7 +72,7 @@ class HuiConditionalCard extends HTMLElement implements LovelaceCard {
}
public getCardSize() {
return computeCardSize(this._card);
return computeCardSize(this._card!);
}
}

View File

@ -1,8 +1,7 @@
import { html } from "@polymer/lit-element";
import { TemplateResult } from "lit-html";
import computeCardSize from "../common/compute-card-size";
import { computeCardSize } from "../common/compute-card-size";
import { HuiStackCard } from "./hui-stack-card";
class HuiHorizontalStackCard extends HuiStackCard {

View File

@ -1,7 +1,6 @@
import { html } from "@polymer/lit-element";
import computeCardSize from "../common/compute-card-size";
import { computeCardSize } from "../common/compute-card-size";
import { HuiStackCard } from "./hui-stack-card";
import { TemplateResult } from "lit-html";

View File

@ -1,3 +0,0 @@
export default function computeCardSize(element) {
return typeof element.getCardSize === "function" ? element.getCardSize() : 1;
}

View File

@ -0,0 +1,5 @@
import { LovelaceCard } from "../types";
export const computeCardSize = (card: LovelaceCard): number => {
return typeof card.getCardSize === "function" ? card.getCardSize() : 1;
};

View File

@ -1,7 +1,9 @@
import { HassEntities, HassEntity } from "home-assistant-js-websocket";
import computeDomain from "../../../common/entity/compute_domain";
export default function computeNotifications(states) {
export const computeNotifications = (states: HassEntities): HassEntity[] => {
return Object.keys(states)
.filter((entityId) => computeDomain(entityId) === "configurator")
.map((entityId) => states[entityId]);
}
};

View File

@ -23,6 +23,7 @@ import "../../components/ha-start-voice-button";
import "../../components/ha-icon";
import { loadModule, loadCSS, loadJS } from "../../common/dom/load_resource";
import { subscribeNotifications } from "../../data/ws-notifications";
import { computeNotifications } from "./common/compute-notifications";
import "./components/notifications/hui-notification-drawer";
import "./components/notifications/hui-notifications-button";
import "./hui-unused-entities";
@ -30,7 +31,6 @@ import "./hui-view";
import debounce from "../../common/util/debounce";
import createCardElement from "./common/create-card-element";
import computeNotifications from "./common/compute-notifications";
// CSS and JS should only be imported once. Modules and HTML are safe.
const CSS_CACHE = {};

View File

@ -7,7 +7,7 @@ import "./components/hui-card-options.ts";
import applyThemesOnElement from "../../common/dom/apply_themes_on_element";
import createCardElement from "./common/create-card-element";
import computeCardSize from "./common/compute-card-size";
import { computeCardSize } from "./common/compute-card-size";
class HUIView extends PolymerElement {
static get template() {