diff options
Diffstat (limited to 'lang/gjs/src/_astal.ts')
-rw-r--r-- | lang/gjs/src/_astal.ts | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lang/gjs/src/_astal.ts b/lang/gjs/src/_astal.ts index cfd8c9f..6f3285b 100644 --- a/lang/gjs/src/_astal.ts +++ b/lang/gjs/src/_astal.ts @@ -65,8 +65,16 @@ export function hook<Widget extends Connectable>( export function construct<Widget extends Connectable & { [setChildren]: (children: any[]) => void }>(widget: Widget, config: any) { const { setup, child, children = [], ...props } = config - if (child) + if (child) { children.unshift(child) + } + + // remove undefined values + for (const [key, value] of Object.entries(props)) { + if (value === undefined) { + delete props[key] + } + } // collect bindings const bindings: Array<[string, Binding<any>]> = Object |