@ -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(
|
||||
|
||||
Reference in New Issue
Block a user