summaryrefslogtreecommitdiff
path: root/node/src
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-06-04 23:05:41 +0200
committerAylur <[email protected]>2024-06-04 23:05:41 +0200
commitca74fb7ad016f9ceee3756a973baa2d87a8aa1d6 (patch)
treed935caa5959c1344ce9e99ae3ca9be699426ad2a /node/src
parentcfe3244e61207d4d761f2522546cb2bfb1c539f3 (diff)
small fixes
* export Gdk * flatten jsx children
Diffstat (limited to 'node/src')
-rw-r--r--node/src/application.ts2
-rw-r--r--node/src/astalify.ts15
-rw-r--r--node/src/imports.ts1
-rw-r--r--node/src/index.ts2
4 files changed, 13 insertions, 7 deletions
diff --git a/node/src/application.ts b/node/src/application.ts
index 552f2a9..13a999c 100644
--- a/node/src/application.ts
+++ b/node/src/application.ts
@@ -2,7 +2,7 @@ import gi from "node-gtk"
const Astal = gi.require("Astal", "0.1")
type RequestHandler = {
- (request: string, res: (response: string) => void): void
+ (request: string, res: (response: any) => void): void
}
type Config = Partial<{
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<T> = {
[K in keyof T]: Binding<NonNullable<T[K]>> | T[K];
}
+type SigHandler<
+ W extends { new(...args: any): Gtk.Widget },
+ Args extends Array<unknown>,
+> = ((self: Widget<W>, ...args: Args) => unknown) | string | string[]
+
export type ConstructProps<
Self extends { new(...args: any[]): any },
Props = unknown,
- Signals extends Record<string, Array<unknown>> = Record<string, []>
-> = {
- [Key in `on${string}`]: (self: Widget<Self>) => unknown
-} & Partial<{
- [sig in keyof Signals]: (self: Widget<Self>, ...args: Signals[sig]) => unknown
+ Signals extends Record<`on${string}`, Array<unknown>> = Record<`on${string}`, any[]>
+> = Partial<{
+ [S in keyof Signals]: SigHandler<Self, Signals[S]>
+}> & Partial<{
+ [Key in `on${string}`]: SigHandler<Self, any[]>
}> & BindableProps<Props & {
className?: string
css?: string
diff --git a/node/src/imports.ts b/node/src/imports.ts
index 47f582a..c2a9c71 100644
--- a/node/src/imports.ts
+++ b/node/src/imports.ts
@@ -2,6 +2,7 @@ import gi from "node-gtk"
export { gi }
export const Gtk = gi.require("Gtk", "3.0")
+export const Gdk = gi.require("Gdk", "3.0")
export const GLib = gi.require("GLib", "2.0")
export const Gio = gi.require("Gio", "3.0")
export const GObject = gi.require("GObject", "2.0")
diff --git a/node/src/index.ts b/node/src/index.ts
index 77fba88..5270469 100644
--- a/node/src/index.ts
+++ b/node/src/index.ts
@@ -6,4 +6,4 @@ export * as Widget from "./widgets.js"
export { App } from "./application.js"
// for convinience
-export { Astal, Gtk, GLib, GObject, Gio, gi } from "./imports.js"
+export { Astal, Gtk, Gdk, GLib, GObject, Gio, gi } from "./imports.js"