UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 1.07 kB
import{data as metaHandlerData}from"./MetaHandler.js";import*as Types from"../types/types.js";import*as Helpers from"../helpers/helpers.js";let handlerState=1;const eventsInProcessThread=new Map;let mainGPUThreadTasks=[];export function reset(){eventsInProcessThread.clear(),mainGPUThreadTasks=[],handlerState=1}export function initialize(){if(1!==handlerState)throw new Error("GPU Handler was not reset before being initialized");handlerState=2}export function handleEvent(e){if(2!==handlerState)throw new Error("GPU Handler is not initialized");Types.TraceEvents.isTraceEventGPUTask(e)&&Helpers.Trace.addEventToProcessThread(e,eventsInProcessThread)}export async function finalize(){if(2!==handlerState)throw new Error("GPU Handler is not initialized");const{gpuProcessId:e,gpuThreadId:a}=metaHandlerData(),r=eventsInProcessThread.get(e);r&&a&&(mainGPUThreadTasks=r.get(a)||[]),handlerState=3}export function data(){if(3!==handlerState)throw new Error("GPU Handler is not finalized");return{mainGPUThreadTasks:[...mainGPUThreadTasks]}}export function deps(){return["Meta"]}