Files
ox_lib/web/src/utils/debugData.ts

31 lines
766 B
TypeScript
Raw Normal View History

2022-08-27 15:58:36 +02:00
import { isEnvBrowser } from './misc';
2022-03-13 22:30:57 +01:00
interface DebugEvent<T = any> {
action: string;
data: T;
}
/**
* Emulates dispatching an event using SendNuiMessage in the lua scripts.
* This is used when developing in browser
*
* @param events - The event you want to cover
* @param timer - How long until it should trigger (ms)
*/
export const debugData = <P>(events: DebugEvent<P>[], timer = 1000): void => {
2022-08-27 15:58:36 +02:00
if (process.env.NODE_ENV === 'development' && isEnvBrowser()) {
2022-03-13 22:30:57 +01:00
for (const event of events) {
setTimeout(() => {
window.dispatchEvent(
2022-08-27 15:58:36 +02:00
new MessageEvent('message', {
2022-03-13 22:30:57 +01:00
data: {
action: event.action,
data: event.data,
},
})
);
}, timer);
}
}
2022-08-27 15:58:36 +02:00
};