Files
aerospike-gnome/src/utils/events.ts
Lucas Oskorep 4be7602316
All checks were successful
Build and Test / build (pull_request) Successful in 23s
Build and Test / release (pull_request) Has been skipped
feat: adding support for changing the size of windows during window resize events to aerospike. Also cleaning up imports and simplifying some of the settings logic.
2026-02-25 11:35:59 -05:00

22 lines
552 B
TypeScript

import GLib from "gi://GLib";
export type QueuedEvent = {
name: string;
callback: () => void;
}
const pendingEvents: Map<string, QueuedEvent> = new Map();
export default function queueEvent(event: QueuedEvent, interval = 200) {
pendingEvents.set(event.name, event);
GLib.timeout_add(GLib.PRIORITY_DEFAULT, interval, () => {
const e = pendingEvents.get(event.name);
if (e && e === event) {
pendingEvents.delete(event.name);
e.callback();
}
return GLib.SOURCE_REMOVE;
});
}