UNPKG

babylon-testing-library

Version:

Simple utilities that encourage good testing practices for Babylon.js

27 lines 1.06 kB
import { Observable } from '@babylonjs/core'; import { eventMap } from './eventMap'; function fireEventFn(control, event) { const eventObservable = control[event.observableName]; if (!(eventObservable instanceof Observable)) { throw new Error(`Unable to fire an event - event of type "${event.key}" does not exist on "${control.getClassName()}"`); } eventObservable.notifyObservers(event.eventData); } function createEventFn(eventName, _control, init) { const event = eventMap[eventName]; return { key: eventName, observableName: event.observableName, eventData: init, }; } Object.keys(eventMap).forEach((key) => { const { defaultInit } = eventMap[key]; createEventFn[key] = (node, init) => createEventFn(key, node, init !== null && init !== void 0 ? init : defaultInit); fireEventFn[key] = (node, init) => { fireEventFn(node, createEventFn[key](node, init)); }; }); export const createEvent = createEventFn; export const fireEvent = fireEventFn; //# sourceMappingURL=event.js.map