kepler-chat/src/lib/spells/create-init.svelte.ts
Thomas G. Lopes 7c216dc18b working chat
2025-06-16 18:50:51 +01:00

18 lines
312 B
TypeScript

export function createInit(cb: () => void) {
let called = $state(false);
function init() {
if (called) return;
called = true;
cb();
}
return Object.defineProperties(init, {
called: {
get() {
return called;
},
enumerable: true,
},
}) as typeof init & { readonly called: boolean };
}