diff --git a/src/common/util/debounce.ts b/src/common/util/debounce.ts index dd2eac8968..4164edb75a 100644 --- a/src/common/util/debounce.ts +++ b/src/common/util/debounce.ts @@ -4,8 +4,14 @@ // be triggered. The function will be called after it stops being called for // N milliseconds. If `immediate` is passed, trigger the function on the // leading edge, instead of the trailing. -export default function debounce(func, wait, immediate) { +// tslint:disable-next-line: ban-types +export const debounce = ( + func: T, + wait, + immediate = false +): T => { let timeout; + // @ts-ignore return function(...args) { // tslint:disable:no-this-assignment // @ts-ignore @@ -23,4 +29,4 @@ export default function debounce(func, wait, immediate) { func.apply(context, args); } }; -} +}; diff --git a/src/panels/lovelace/cards/hui-map-card.ts b/src/panels/lovelace/cards/hui-map-card.ts index 227304da45..cc6db16db0 100644 --- a/src/panels/lovelace/cards/hui-map-card.ts +++ b/src/panels/lovelace/cards/hui-map-card.ts @@ -19,7 +19,7 @@ import { } from "../../../common/dom/setup-leaflet-map"; import computeStateDomain from "../../../common/entity/compute_state_domain"; import computeStateName from "../../../common/entity/compute_state_name"; -import debounce from "../../../common/util/debounce"; +import { debounce } from "../../../common/util/debounce"; import parseAspectRatio from "../../../common/util/parse-aspect-ratio"; import computeDomain from "../../../common/entity/compute_domain"; diff --git a/src/panels/lovelace/hui-root.ts b/src/panels/lovelace/hui-root.ts index 60a32a1297..4dfbad5940 100644 --- a/src/panels/lovelace/hui-root.ts +++ b/src/panels/lovelace/hui-root.ts @@ -31,7 +31,7 @@ import "../../components/ha-paper-icon-button-arrow-prev"; import "../../components/ha-icon"; import { loadModule, loadCSS, loadJS } from "../../common/dom/load_resource"; import { subscribeNotifications } from "../../data/ws-notifications"; -import debounce from "../../common/util/debounce"; +import { debounce } from "../../common/util/debounce"; import { HomeAssistant } from "../../types"; import { LovelaceConfig } from "../../data/lovelace"; import { navigate } from "../../common/navigate";