From ca74fb7ad016f9ceee3756a973baa2d87a8aa1d6 Mon Sep 17 00:00:00 2001 From: Aylur Date: Tue, 4 Jun 2024 23:05:41 +0200 Subject: small fixes * export Gdk * flatten jsx children --- node/src/astalify.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'node/src/astalify.ts') diff --git a/node/src/astalify.ts b/node/src/astalify.ts index bae6cc7..9f83e71 100644 --- a/node/src/astalify.ts +++ b/node/src/astalify.ts @@ -167,14 +167,19 @@ type BindableProps = { [K in keyof T]: Binding> | T[K]; } +type SigHandler< + W extends { new(...args: any): Gtk.Widget }, + Args extends Array, +> = ((self: Widget, ...args: Args) => unknown) | string | string[] + export type ConstructProps< Self extends { new(...args: any[]): any }, Props = unknown, - Signals extends Record> = Record -> = { - [Key in `on${string}`]: (self: Widget) => unknown -} & Partial<{ - [sig in keyof Signals]: (self: Widget, ...args: Signals[sig]) => unknown + Signals extends Record<`on${string}`, Array> = Record<`on${string}`, any[]> +> = Partial<{ + [S in keyof Signals]: SigHandler +}> & Partial<{ + [Key in `on${string}`]: SigHandler }> & BindableProps