@simplybuilder/core-event
v2.0.0
Published
Event management module for @simplybuilder/core. Provides event listener registration, storage, and cleanup with `[listener="true"]` marking for memory-safe removal.
Downloads
96
Maintainers
Readme
@simplybuilder/core-event
Event management module for @simplybuilder/core. Provides event listener registration, storage, and cleanup with [listener="true"] marking for memory-safe removal.
Installation
pnpm add @simplybuilder/core-eventUsage
import { eventRegister, eventUnregister, addEventToStore, removeAllEventsFromStore, EventModule } from '@simplybuilder/core-event';
// Register named actions
eventRegister('handleClick', (event) => console.log('Clicked!', event));
// Attach to DOM elements
const btn = document.createElement('button');
addEventToStore({ element: btn, type: 'click', handler: 'handleClick' });
// → sets btn.getAttribute('listener') === 'true'
// → calls btn.addEventListener('click', handler)
// Clean up when done
removeAllEventsFromStore(btn);
// → calls btn.removeEventListener for each handler
// → removes 'listener' attributeAPI
eventRegister(name, fn)— Register a named action (case-insensitive)eventUnregister(name)— Remove a named actionaddEventToStore({ element, type, handler, eventId?, nodeId? })— Attach event listener, setslistener="true"removeAllEventsFromStore(element)— Remove all listeners from element, clean uplistenerattributeremoveEventIdFromStore({ element, eventId })— Remove a specific listener by eventIdEventActions— Public lookup object for action resolution (used by domModuleExtends)EventTypes— Public lookup of registered event type namesEventModule— Frozen singleton with all capabilities
Build from Source
pnpm install
pnpm build