diff --git a/packages/core/src/components/loading-controller/loading-controller.tsx b/packages/core/src/components/loading-controller/loading-controller.tsx index fa9500c0fd..21d781b4b1 100644 --- a/packages/core/src/components/loading-controller/loading-controller.tsx +++ b/packages/core/src/components/loading-controller/loading-controller.tsx @@ -45,7 +45,7 @@ export class LoadingController implements OverlayController { * Get the most recently opened loading overlay. */ @Method() - getTop() { + getTop(): HTMLIonLoadingElement { return getTopOverlay(this.loadings); } } diff --git a/packages/core/src/components/modal-controller/modal-controller.tsx b/packages/core/src/components/modal-controller/modal-controller.tsx index 8a6cf4602f..6b039ebb31 100644 --- a/packages/core/src/components/modal-controller/modal-controller.tsx +++ b/packages/core/src/components/modal-controller/modal-controller.tsx @@ -45,7 +45,7 @@ export class ModalController implements OverlayController { * Get the most recently opened modal overlay. */ @Method() - getTop() { + getTop(): HTMLIonModalElement { return getTopOverlay(this.modals); } } diff --git a/packages/core/src/utils/overlays.ts b/packages/core/src/utils/overlays.ts index 87f1b91422..89265443a6 100644 --- a/packages/core/src/utils/overlays.ts +++ b/packages/core/src/utils/overlays.ts @@ -2,14 +2,14 @@ let lastId = 1; /** - * Make all properties in T readonly + * Convert an interface where all the properties are optional to mandatory. */ -export type PropDescriptions = { +export type Requires = { [P in K]: any; } - -export function createOverlay, B> +export function createOverlay +, B> (tagName: string, opts: B): Promise { // create ionic's wrapping ion-alert component const element = document.createElement(tagName) as T; @@ -52,7 +52,7 @@ export function getHighestId(overlays: OverlayMap) { } export function removeLastOverlay(overlays: OverlayMap) { - const toRemove = getTopOverlay(overlays) as any; + const toRemove = getTopOverlay(overlays); return toRemove ? toRemove.dismiss() : Promise.resolve(); }