UNPKG

@react-jsonr/plugin-event-handlers

Version:

Event handler mapping plugin for React-JSONR

37 lines (36 loc) 1.02 kB
/* React-JSONR Event Handlers Plugin - Maps string event handlers to functions */ // src/index.ts function createEventHandlerPlugin(options) { const { handlers, prefix = "on", warnOnMissing = true } = options; return { enter(node, context) { if (typeof node !== "object" || node === null || Array.isArray(node)) { return; } const componentNode = node; if (!componentNode.props) { return; } for (const [key, value] of Object.entries(componentNode.props)) { if (key.startsWith(prefix) && typeof value === "string") { const handler = handlers[value]; if (typeof handler === "function") { componentNode.props[key] = handler; } else if (warnOnMissing) { console.warn(`Event handler not found: ${value}`); } } } } }; } var src_default = createEventHandlerPlugin; export { createEventHandlerPlugin, src_default as default }; //# sourceMappingURL=index.js.map