From 480f1bc6c03bce86fb7546ac42616cdea1e3443b Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 6 Jan 2020 11:10:15 +0100 Subject: [PATCH] Improve create_view return type Signed-off-by: martinRenou --- packages/base-manager/src/manager-base.ts | 5 +++-- packages/base/src/manager.ts | 4 ++-- packages/base/src/widget.ts | 6 ++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/base-manager/src/manager-base.ts b/packages/base-manager/src/manager-base.ts index f56b43c2f8..88bceefc66 100644 --- a/packages/base-manager/src/manager-base.ts +++ b/packages/base-manager/src/manager-base.ts @@ -89,8 +89,9 @@ export abstract class ManagerBase implements IWidgetManager { * Make sure the view creation is not out of order with * any state updates. */ - create_view(model: DOMWidgetModel, options: any): Promise; - create_view(model: WidgetModel, options = {}): Promise { + create_view(model: DOMWidgetModel, options?: any): Promise; + create_view(model: WidgetModel, options?: any): Promise; + create_view(model: WidgetModel, options = {}): Promise { const viewPromise = model.state_change = model.state_change.then(() => { return this.loadClass(model.get('_view_name'), model.get('_view_module'), diff --git a/packages/base/src/manager.ts b/packages/base/src/manager.ts index 0745c07cb5..de9e33dc3e 100644 --- a/packages/base/src/manager.ts +++ b/packages/base/src/manager.ts @@ -170,8 +170,8 @@ interface IWidgetManager { * Make sure the view creation is not out of order with * any state updates. */ - create_view(model: DOMWidgetModel, options?: unknown): Promise; - create_view(model: WidgetModel, options?: unknown): Promise; + create_view(model: DOMWidgetModel, options?: unknown): Promise; + create_view(model: WidgetModel, options?: unknown): Promise; /** * callback handlers specific to a view diff --git a/packages/base/src/widget.ts b/packages/base/src/widget.ts index 3ddbc6b321..9a0a1ad9bf 100644 --- a/packages/base/src/widget.ts +++ b/packages/base/src/widget.ts @@ -691,9 +691,11 @@ class WidgetView extends NativeView { /** * Create and promise that resolves to a child view of a given model */ - create_child_view(child_model: WidgetModel, options = {}): Promise { + create_child_view(child_model: DOMWidgetModel, options?: any): Promise; + create_child_view(child_model: WidgetModel, options?: any): Promise; + create_child_view(child_model: WidgetModel, options = {}): Promise { options = { parent: this, ...options}; - return this.model.widget_manager.create_view(child_model, options) + return this.model.widget_manager.create_view(child_model, options) .catch(utils.reject('Could not create child view', true)); }