Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
Jess Frazelle
2024-04-19 13:58:08 -07:00
parent ed5e276377
commit 8ce819b28f

View File

@ -25,7 +25,8 @@ import { AppInfo } from 'wasm-lib/kcl/bindings/AppInfo'
import { CoreDumpManager } from 'lib/coredump'
import openWindow from 'lib/openWindow'
import { DefaultPlanes } from 'wasm-lib/kcl/bindings/DefaultPlanes'
import { rangeTypeFix } from 'lang/workers/types'
import { WasmWorker, WasmWorkerEventType, WasmWorkerOptions, rangeTypeFix } from 'lang/workers/types'
import ParserWorker from 'lang/workers/parser?worker'
export type { Program } from '../wasm-lib/kcl/bindings/Program'
export type { Value } from '../wasm-lib/kcl/bindings/Value'
@ -106,8 +107,18 @@ export const initPromise = initialise()
export const parse = (code: string): Program => {
try {
const program: Program = parse_wasm(code)
return program
const parserWorker = new ParserWorker({ name: 'parse' })
const initEvent: WasmWorkerOptions = {
wasmUrl: wasmUrl(),
}
parserWorker.postMessage({
worker: WasmWorker.Parser,
eventType: WasmWorkerEventType.Init,
eventData: initEvent,
})
parserWorker.onmessage = function (e) {
fromServer.add(e.data)
}
} catch (e: any) {
const parsed: RustKclError = JSON.parse(e.toString())
const kclError = new KCLError(