@vedivad/typst-web-service 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +119 -0
- package/dist/index.js +150 -0
- package/dist/index.js.map +1 -0
- package/dist/worker.js +2233 -0
- package/dist/worker.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.bun/@myriaddreamin+typst-ts-web-compiler@0.7.0-rc2/node_modules/@myriaddreamin/typst-ts-web-compiler/pkg/typst_ts_web_compiler.mjs","../../../node_modules/.bun/@myriaddreamin+typst-ts-web-compiler@0.7.0-rc2/node_modules/@myriaddreamin/typst-ts-web-compiler/pkg/wasm-pack-shim.mjs","../../../node_modules/.bun/@myriaddreamin+typst.ts@0.7.0-rc2+5e675a3c06b42b50/node_modules/@myriaddreamin/typst.ts/src/init.mts","../../../node_modules/.bun/@myriaddreamin+typst.ts@0.7.0-rc2+5e675a3c06b42b50/node_modules/@myriaddreamin/typst.ts/src/internal.types.mts","../../../node_modules/.bun/@myriaddreamin+typst.ts@0.7.0-rc2+5e675a3c06b42b50/node_modules/@myriaddreamin/typst.ts/src/options.init.mts","../../../node_modules/.bun/@myriaddreamin+typst.ts@0.7.0-rc2+5e675a3c06b42b50/node_modules/@myriaddreamin/typst.ts/src/wasm.mts","../../../node_modules/.bun/@myriaddreamin+typst.ts@0.7.0-rc2+5e675a3c06b42b50/node_modules/@myriaddreamin/typst.ts/src/compiler.mts","../../../node_modules/.bun/@myriaddreamin+typst.ts@0.7.0-rc2+5e675a3c06b42b50/node_modules/@myriaddreamin/typst.ts/src/fs/package.mts","../../../node_modules/.bun/@myriaddreamin+typst.ts@0.7.0-rc2+5e675a3c06b42b50/node_modules/@myriaddreamin/typst.ts/src/fs/memory.mts","../src/worker.ts"],"sourcesContent":["/// Processed by wasm-debundle.mjs\nlet wasm;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n}\n\nconst CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(state => state.dtor(state.a, state.b));\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction dropObject(idx) {\n if (idx < 132) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction getArrayJsValueFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n const mem = getDataViewMemory0();\n const result = [];\n for (let i = ptr; i < ptr + 4 * len; i += 4) {\n result.push(takeObject(mem.getUint32(i, true)));\n }\n return result;\n}\n\nfunction getArrayU32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n}\n\nlet cachedUint32ArrayMemory0 = null;\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_export3(addHeapObject(e));\n }\n}\n\nlet heap = new Array(128).fill(undefined);\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n const state = { a: arg0, b: arg1, cnt: 1, dtor };\n const real = (...args) => {\n\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n state.a = a;\n real._wbg_cb_unref();\n }\n };\n real._wbg_cb_unref = () => {\n if (--state.cnt === 0) {\n state.dtor(state.a, state.b);\n state.a = 0;\n CLOSURE_DTORS.unregister(state);\n }\n };\n CLOSURE_DTORS.register(real, state, state);\n return real;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayJsValueToWasm0(array, malloc) {\n const ptr = malloc(array.length * 4, 4) >>> 0;\n const mem = getDataViewMemory0();\n for (let i = 0; i < array.length; i++) {\n mem.setUint32(ptr + 4 * i, addHeapObject(array[i]), true);\n }\n WASM_VECTOR_LEN = array.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n }\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction __wasm_bindgen_func_elem_944(arg0, arg1, arg2) {\n wasm.__wasm_bindgen_func_elem_944(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wasm_bindgen_func_elem_37348(arg0, arg1, arg2, arg3) {\n wasm.__wasm_bindgen_func_elem_37348(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\n\nconst IncrServerFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_incrserver_free(ptr >>> 0, 1));\n\nconst ProxyContextFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_proxycontext_free(ptr >>> 0, 1));\n\nconst TypstCompileWorldFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_typstcompileworld_free(ptr >>> 0, 1));\n\nconst TypstCompilerFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_typstcompiler_free(ptr >>> 0, 1));\n\nconst TypstCompilerBuilderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_typstcompilerbuilder_free(ptr >>> 0, 1));\n\nconst TypstFontResolverFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_typstfontresolver_free(ptr >>> 0, 1));\n\nconst TypstFontResolverBuilderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_typstfontresolverbuilder_free(ptr >>> 0, 1));\n\nexport class IncrServer {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(IncrServer.prototype);\n obj.__wbg_ptr = ptr;\n IncrServerFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n IncrServerFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_incrserver_free(ptr, 0);\n }\n /**\n * @param {boolean} attach\n */\n set_attach_debug_info(attach) {\n wasm.incrserver_set_attach_debug_info(this.__wbg_ptr, attach);\n }\n /**\n * @returns {Uint8Array | undefined}\n */\n current() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.incrserver_current(retptr, this.__wbg_ptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n let v1;\n if (r0 !== 0) {\n v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_export4(r0, r1 * 1, 1);\n }\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n reset() {\n wasm.incrserver_reset(this.__wbg_ptr);\n }\n}\nif (Symbol.dispose) IncrServer.prototype[Symbol.dispose] = IncrServer.prototype.free;\n\n/**\n * The `ProxyContext` struct is a wrapper around a JavaScript this.\n */\nexport class ProxyContext {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ProxyContext.prototype);\n obj.__wbg_ptr = ptr;\n ProxyContextFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ProxyContextFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_proxycontext_free(ptr, 0);\n }\n /**\n * Creates a new `ProxyContext` instance.\n * @param {any} context\n */\n constructor(context) {\n const ret = wasm.proxycontext_new(addHeapObject(context));\n this.__wbg_ptr = ret >>> 0;\n ProxyContextFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the JavaScript this.\n * @returns {any}\n */\n get context() {\n const ret = wasm.proxycontext_context(this.__wbg_ptr);\n return takeObject(ret);\n }\n /**\n * A convenience function to untar a tarball and call a callback for each\n * entry.\n * @param {Uint8Array} data\n * @param {Function} cb\n */\n untar(data, cb) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n const len0 = WASM_VECTOR_LEN;\n wasm.proxycontext_untar(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(cb));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n}\nif (Symbol.dispose) ProxyContext.prototype[Symbol.dispose] = ProxyContext.prototype.free;\n\nexport class TypstCompileWorld {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TypstCompileWorld.prototype);\n obj.__wbg_ptr = ptr;\n TypstCompileWorldFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TypstCompileWorldFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_typstcompileworld_free(ptr, 0);\n }\n /**\n * @param {number} kind\n * @param {number} diagnostics_format\n * @returns {any}\n */\n compile(kind, diagnostics_format) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompileworld_compile(retptr, this.__wbg_ptr, kind, diagnostics_format);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {number} kind\n * @returns {string | undefined}\n */\n title(kind) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompileworld_title(retptr, this.__wbg_ptr, kind);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n if (r3) {\n throw takeObject(r2);\n }\n let v1;\n if (r0 !== 0) {\n v1 = getStringFromWasm0(r0, r1).slice();\n wasm.__wbindgen_export4(r0, r1 * 1, 1);\n }\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {number} fmt\n * @param {number} diagnostics_format\n * @returns {any}\n */\n get_artifact(fmt, diagnostics_format) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompileworld_get_artifact(retptr, this.__wbg_ptr, fmt, diagnostics_format);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {number} kind\n * @param {string} selector\n * @param {string | null} [field]\n * @returns {string}\n */\n query(kind, selector, field) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(selector, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(field) ? 0 : passStringToWasm0(field, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n wasm.typstcompileworld_query(retptr, this.__wbg_ptr, kind, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr3 = r0;\n var len3 = r1;\n if (r3) {\n ptr3 = 0; len3 = 0;\n throw takeObject(r2);\n }\n deferred4_0 = ptr3;\n deferred4_1 = len3;\n return getStringFromWasm0(ptr3, len3);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred4_0, deferred4_1, 1);\n }\n }\n /**\n * @param {IncrServer} state\n * @param {number} diagnostics_format\n * @returns {any}\n */\n incr_compile(state, diagnostics_format) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n _assertClass(state, IncrServer);\n wasm.typstcompileworld_incr_compile(retptr, this.__wbg_ptr, state.__wbg_ptr, diagnostics_format);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n}\nif (Symbol.dispose) TypstCompileWorld.prototype[Symbol.dispose] = TypstCompileWorld.prototype.free;\n\nexport class TypstCompiler {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TypstCompiler.prototype);\n obj.__wbg_ptr = ptr;\n TypstCompilerFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TypstCompilerFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_typstcompiler_free(ptr, 0);\n }\n reset() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompiler_reset(retptr, this.__wbg_ptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {TypstFontResolver} fonts\n */\n set_fonts(fonts) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n _assertClass(fonts, TypstFontResolver);\n wasm.typstcompiler_set_fonts(retptr, this.__wbg_ptr, fonts.__wbg_ptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {any} inputs\n */\n set_inputs(inputs) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompiler_set_inputs(retptr, this.__wbg_ptr, addHeapObject(inputs));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {string} path\n * @param {string} content\n * @returns {boolean}\n */\n add_source(path, content) {\n const ptr0 = passStringToWasm0(path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(content, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.typstcompiler_add_source(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n return ret !== 0;\n }\n /**\n * @param {string} path\n * @param {Uint8Array} content\n * @returns {boolean}\n */\n map_shadow(path, content) {\n const ptr0 = passStringToWasm0(path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray8ToWasm0(content, wasm.__wbindgen_export);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.typstcompiler_map_shadow(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n return ret !== 0;\n }\n /**\n * @param {string} path\n * @returns {boolean}\n */\n unmap_shadow(path) {\n const ptr0 = passStringToWasm0(path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.typstcompiler_unmap_shadow(this.__wbg_ptr, ptr0, len0);\n return ret !== 0;\n }\n reset_shadow() {\n wasm.typstcompiler_reset_shadow(this.__wbg_ptr);\n }\n /**\n * @returns {string[]}\n */\n get_loaded_fonts() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompiler_get_loaded_fonts(retptr, this.__wbg_ptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var v1 = getArrayJsValueFromWasm0(r0, r1).slice();\n wasm.__wbindgen_export4(r0, r1 * 4, 4);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {string} main_file_path\n * @returns {string}\n */\n get_ast(main_file_path) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(main_file_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.typstcompiler_get_ast(retptr, this.__wbg_ptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr2 = r0;\n var len2 = r1;\n if (r3) {\n ptr2 = 0; len2 = 0;\n throw takeObject(r2);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);\n }\n }\n /**\n * @returns {any}\n */\n get_semantic_token_legend() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompiler_get_semantic_token_legend(retptr, this.__wbg_ptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {string} offset_encoding\n * @param {string | null} [file_path]\n * @param {string | null} [result_id]\n * @returns {object}\n */\n get_semantic_tokens(offset_encoding, file_path, result_id) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(offset_encoding, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(file_path) ? 0 : passStringToWasm0(file_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(result_id) ? 0 : passStringToWasm0(result_id, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len2 = WASM_VECTOR_LEN;\n wasm.typstcompiler_get_semantic_tokens(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {string | null} [root]\n * @param {string | null} [main_file_path]\n * @param {(Array<any>)[] | null} [inputs]\n * @returns {TypstCompileWorld}\n */\n snapshot(root, main_file_path, inputs) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = isLikeNone(root) ? 0 : passStringToWasm0(root, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(main_file_path) ? 0 : passStringToWasm0(main_file_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(inputs) ? 0 : passArrayJsValueToWasm0(inputs, wasm.__wbindgen_export);\n var len2 = WASM_VECTOR_LEN;\n wasm.typstcompiler_snapshot(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return TypstCompileWorld.__wrap(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {string} fmt\n * @param {number} diagnostics_format\n * @returns {any}\n */\n get_artifact(fmt, diagnostics_format) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(fmt, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.typstcompiler_get_artifact(retptr, this.__wbg_ptr, ptr0, len0, diagnostics_format);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {string | null | undefined} main_file_path\n * @param {(Array<any>)[] | null | undefined} inputs\n * @param {string} fmt\n * @param {number} diagnostics_format\n * @returns {any}\n */\n compile(main_file_path, inputs, fmt, diagnostics_format) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = isLikeNone(main_file_path) ? 0 : passStringToWasm0(main_file_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(inputs) ? 0 : passArrayJsValueToWasm0(inputs, wasm.__wbindgen_export);\n var len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(fmt, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n wasm.typstcompiler_compile(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, diagnostics_format);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {string} main_file_path\n * @param {(Array<any>)[] | null | undefined} inputs\n * @param {string} selector\n * @param {string | null} [field]\n * @returns {string}\n */\n query(main_file_path, inputs, selector, field) {\n let deferred6_0;\n let deferred6_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(main_file_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(inputs) ? 0 : passArrayJsValueToWasm0(inputs, wasm.__wbindgen_export);\n var len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(selector, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n var ptr3 = isLikeNone(field) ? 0 : passStringToWasm0(field, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len3 = WASM_VECTOR_LEN;\n wasm.typstcompiler_query(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr5 = r0;\n var len5 = r1;\n if (r3) {\n ptr5 = 0; len5 = 0;\n throw takeObject(r2);\n }\n deferred6_0 = ptr5;\n deferred6_1 = len5;\n return getStringFromWasm0(ptr5, len5);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred6_0, deferred6_1, 1);\n }\n }\n /**\n * @returns {IncrServer}\n */\n create_incr_server() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompiler_create_incr_server(retptr, this.__wbg_ptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return IncrServer.__wrap(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {string} main_file_path\n * @param {(Array<any>)[] | null | undefined} inputs\n * @param {IncrServer} state\n * @param {number} diagnostics_format\n * @returns {any}\n */\n incr_compile(main_file_path, inputs, state, diagnostics_format) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(main_file_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(inputs) ? 0 : passArrayJsValueToWasm0(inputs, wasm.__wbindgen_export);\n var len1 = WASM_VECTOR_LEN;\n _assertClass(state, IncrServer);\n wasm.typstcompiler_incr_compile(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, state.__wbg_ptr, diagnostics_format);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n}\nif (Symbol.dispose) TypstCompiler.prototype[Symbol.dispose] = TypstCompiler.prototype.free;\n\nexport class TypstCompilerBuilder {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TypstCompilerBuilderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_typstcompilerbuilder_free(ptr, 0);\n }\n constructor() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompilerbuilder_new(retptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n this.__wbg_ptr = r0 >>> 0;\n TypstCompilerBuilderFinalization.register(this, this.__wbg_ptr, this);\n return this;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n set_dummy_access_model() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstcompilerbuilder_set_dummy_access_model(retptr, this.__wbg_ptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {any} context\n * @param {Function} mtime_fn\n * @param {Function} is_file_fn\n * @param {Function} real_path_fn\n * @param {Function} read_all_fn\n * @returns {Promise<void>}\n */\n set_access_model(context, mtime_fn, is_file_fn, real_path_fn, read_all_fn) {\n const ret = wasm.typstcompilerbuilder_set_access_model(this.__wbg_ptr, addHeapObject(context), addHeapObject(mtime_fn), addHeapObject(is_file_fn), addHeapObject(real_path_fn), addHeapObject(read_all_fn));\n return takeObject(ret);\n }\n /**\n * @param {any} context\n * @param {Function} real_resolve_fn\n * @returns {Promise<void>}\n */\n set_package_registry(context, real_resolve_fn) {\n const ret = wasm.typstcompilerbuilder_set_package_registry(this.__wbg_ptr, addHeapObject(context), addHeapObject(real_resolve_fn));\n return takeObject(ret);\n }\n /**\n * @param {Uint8Array} data\n * @returns {Promise<void>}\n */\n add_raw_font(data) {\n const ret = wasm.typstcompilerbuilder_add_raw_font(this.__wbg_ptr, addHeapObject(data));\n return takeObject(ret);\n }\n /**\n * @param {any} font\n * @param {Function} blob\n * @returns {Promise<void>}\n */\n add_lazy_font(font, blob) {\n const ret = wasm.typstcompilerbuilder_add_lazy_font(this.__wbg_ptr, addHeapObject(font), addHeapObject(blob));\n return takeObject(ret);\n }\n /**\n * @returns {Promise<TypstCompiler>}\n */\n build() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.typstcompilerbuilder_build(ptr);\n return takeObject(ret);\n }\n}\nif (Symbol.dispose) TypstCompilerBuilder.prototype[Symbol.dispose] = TypstCompilerBuilder.prototype.free;\n\nexport class TypstFontResolver {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TypstFontResolver.prototype);\n obj.__wbg_ptr = ptr;\n TypstFontResolverFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TypstFontResolverFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_typstfontresolver_free(ptr, 0);\n }\n}\nif (Symbol.dispose) TypstFontResolver.prototype[Symbol.dispose] = TypstFontResolver.prototype.free;\n\nexport class TypstFontResolverBuilder {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TypstFontResolverBuilderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_typstfontresolverbuilder_free(ptr, 0);\n }\n constructor() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstfontresolverbuilder_new(retptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n this.__wbg_ptr = r0 >>> 0;\n TypstFontResolverBuilderFinalization.register(this, this.__wbg_ptr, this);\n return this;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {Uint8Array} buffer\n * @returns {any}\n */\n get_font_info(buffer) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstfontresolverbuilder_get_font_info(retptr, this.__wbg_ptr, addHeapObject(buffer));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * Adds font data to the searcher.\n * @param {Uint8Array} buffer\n */\n add_raw_font(buffer) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstfontresolverbuilder_add_raw_font(retptr, this.__wbg_ptr, addHeapObject(buffer));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * Adds callback that loads font data lazily to the searcher.\n * `get_font_info` can be used to get the font info.\n * @param {any} font\n * @param {Function} blob\n */\n add_lazy_font(font, blob) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.typstfontresolverbuilder_add_lazy_font(retptr, this.__wbg_ptr, addHeapObject(font), addHeapObject(blob));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @returns {Promise<TypstFontResolver>}\n */\n build() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.typstfontresolverbuilder_build(ptr);\n return takeObject(ret);\n }\n}\nif (Symbol.dispose) TypstFontResolverBuilder.prototype[Symbol.dispose] = TypstFontResolverBuilder.prototype.free;\n\n/**\n * @deprecated use TypstFontResolverBuilder instead\n * @param {Uint8Array} buffer\n * @returns {any}\n */\nexport function get_font_info(buffer) {\n const ret = wasm.get_font_info(addHeapObject(buffer));\n return takeObject(ret);\n}\n\nconst EXPECTED_RESPONSE_TYPES = new Set(['basic', 'cors', 'default']);\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && EXPECTED_RESPONSE_TYPES.has(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_Error_52673b7de5a0ca89 = function(arg0, arg1) {\n const ret = Error(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_Number_2d1dcfcf4ec51736 = function(arg0) {\n const ret = Number(getObject(arg0));\n return ret;\n };\n imports.wbg.__wbg___wbindgen_bigint_get_as_i64_6e32f5e6aff02e1d = function(arg0, arg1) {\n const v = getObject(arg1);\n const ret = typeof(v) === 'bigint' ? v : undefined;\n getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n };\n imports.wbg.__wbg___wbindgen_boolean_get_dea25b33882b895b = function(arg0) {\n const v = getObject(arg0);\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n };\n imports.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6 = function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg___wbindgen_in_0d3e1e8f0c669317 = function(arg0, arg1) {\n const ret = getObject(arg0) in getObject(arg1);\n return ret;\n };\n imports.wbg.__wbg___wbindgen_is_bigint_0e1a2e3f55cfae27 = function(arg0) {\n const ret = typeof(getObject(arg0)) === 'bigint';\n return ret;\n };\n imports.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd = function(arg0) {\n const ret = typeof(getObject(arg0)) === 'function';\n return ret;\n };\n imports.wbg.__wbg___wbindgen_is_object_ce774f3490692386 = function(arg0) {\n const val = getObject(arg0);\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n };\n imports.wbg.__wbg___wbindgen_is_string_704ef9c8fc131030 = function(arg0) {\n const ret = typeof(getObject(arg0)) === 'string';\n return ret;\n };\n imports.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269 = function(arg0) {\n const ret = getObject(arg0) === undefined;\n return ret;\n };\n imports.wbg.__wbg___wbindgen_jsval_eq_b6101cc9cef1fe36 = function(arg0, arg1) {\n const ret = getObject(arg0) === getObject(arg1);\n return ret;\n };\n imports.wbg.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d = function(arg0, arg1) {\n const ret = getObject(arg0) == getObject(arg1);\n return ret;\n };\n imports.wbg.__wbg___wbindgen_number_get_9619185a74197f95 = function(arg0, arg1) {\n const obj = getObject(arg1);\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n };\n imports.wbg.__wbg___wbindgen_string_get_a2a31e16edf96e42 = function(arg0, arg1) {\n const obj = getObject(arg1);\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbg__wbg_cb_unref_87dfb5aaa0cbcea7 = function(arg0) {\n getObject(arg0)._wbg_cb_unref();\n };\n imports.wbg.__wbg_call_3020136f7a2d6e44 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_call_78f94eb02ec7f9b2 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_call_abb4ff46ce38be40 = function() { return handleError(function (arg0, arg1) {\n const ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_done_62ea16af4ce34b24 = function(arg0) {\n const ret = getObject(arg0).done;\n return ret;\n };\n imports.wbg.__wbg_entries_83c79938054e065f = function(arg0) {\n const ret = Object.entries(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);\n }\n };\n imports.wbg.__wbg_error_85faeb8919b11cc6 = function(arg0, arg1, arg2) {\n console.error(getObject(arg0), getObject(arg1), getObject(arg2));\n };\n imports.wbg.__wbg_getTimezoneOffset_45389e26d6f46823 = function(arg0) {\n const ret = getObject(arg0).getTimezoneOffset();\n return ret;\n };\n imports.wbg.__wbg_get_6b7bd52aca3f9671 = function(arg0, arg1) {\n const ret = getObject(arg0)[arg1 >>> 0];\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_get_af9dab7e9603ea93 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_get_with_ref_key_1dc361bd10053bfe = function(arg0, arg1) {\n const ret = getObject(arg0)[getObject(arg1)];\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_info_ce6bcc489c22f6f0 = function(arg0) {\n console.info(getObject(arg0));\n };\n imports.wbg.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355 = function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_instanceof_Map_084be8da74364158 = function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Map;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_instanceof_Uint8Array_da54ccc9d3e09434 = function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_isArray_51fd9e6422c0a395 = function(arg0) {\n const ret = Array.isArray(getObject(arg0));\n return ret;\n };\n imports.wbg.__wbg_isSafeInteger_ae7d3f054d55fa16 = function(arg0) {\n const ret = Number.isSafeInteger(getObject(arg0));\n return ret;\n };\n imports.wbg.__wbg_iterator_27b7c8b35ab3e86b = function() {\n const ret = Symbol.iterator;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_length_22ac23eaec9d8053 = function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n };\n imports.wbg.__wbg_length_d45040a40c570362 = function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n };\n imports.wbg.__wbg_new_1ba21ce319a06297 = function() {\n const ret = new Object();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_25f239778d6112b9 = function() {\n const ret = new Array();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_6421f6084cc5bc5a = function(arg0) {\n const ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {\n const ret = new Error();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_b2db8aa2650f793a = function(arg0) {\n const ret = new Date(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_df1173567d5ff028 = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_ff12d2b041fb48f1 = function(arg0, arg1) {\n try {\n var state0 = {a: arg0, b: arg1};\n var cb0 = (arg0, arg1) => {\n const a = state0.a;\n state0.a = 0;\n try {\n return __wasm_bindgen_func_elem_37348(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n const ret = new Promise(cb0);\n return addHeapObject(ret);\n } finally {\n state0.a = state0.b = 0;\n }\n };\n imports.wbg.__wbg_new_from_slice_db0691b69e9d3891 = function(arg0, arg1) {\n const ret = new Uint32Array(getArrayU32FromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_from_slice_f9c22b9153b26992 = function(arg0, arg1) {\n const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_no_args_cb138f77cf6151ee = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_with_args_df9e7125ffe55248 = function(arg0, arg1, arg2, arg3) {\n const ret = new Function(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_next_138a17bbf04e926c = function(arg0) {\n const ret = getObject(arg0).next;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_next_3cfe5c0fe2a4cc53 = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).next();\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_now_69d776cd24f5215b = function() {\n const ret = Date.now();\n return ret;\n };\n imports.wbg.__wbg_prototypesetcall_dfe9b766cdc1f1fd = function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n };\n imports.wbg.__wbg_proxycontext_new = function(arg0) {\n const ret = ProxyContext.__wrap(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_push_7d9be8f38fc13975 = function(arg0, arg1) {\n const ret = getObject(arg0).push(getObject(arg1));\n return ret;\n };\n imports.wbg.__wbg_queueMicrotask_9b549dfce8865860 = function(arg0) {\n const ret = getObject(arg0).queueMicrotask;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_queueMicrotask_fca69f5bfad613a5 = function(arg0) {\n queueMicrotask(getObject(arg0));\n };\n imports.wbg.__wbg_resolve_fd5bfbaa4ce36e1e = function(arg0) {\n const ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) {\n getObject(arg0)[takeObject(arg1)] = takeObject(arg2);\n };\n imports.wbg.__wbg_set_781438a03c0c3c81 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));\n return ret;\n }, arguments) };\n imports.wbg.__wbg_set_7df433eea03a5c14 = function(arg0, arg1, arg2) {\n getObject(arg0)[arg1 >>> 0] = takeObject(arg2);\n };\n imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {\n const ret = getObject(arg1).stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_769e6b65d6557335 = function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_THIS_60cf02db4de8e1c1 = function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_SELF_08f5a74c69739274 = function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_WINDOW_a8924b26aa92d024 = function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_then_4f95312d68691235 = function(arg0, arg1) {\n const ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_typstcompiler_new = function(arg0) {\n const ret = TypstCompiler.__wrap(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_typstfontresolver_new = function(arg0) {\n const ret = TypstFontResolver.__wrap(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_value_57b7b035e117f7ee = function(arg0) {\n const ret = getObject(arg0).value;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_cast_3334ea73b4b28ba3 = function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { dtor_idx: 244, function: Function { arguments: [Externref], shim_idx: 245, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_957, __wasm_bindgen_func_elem_944);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_cast_4625c577ab2ec9ee = function(arg0) {\n // Cast intrinsic for `U64 -> Externref`.\n const ret = BigInt.asUintN(64, arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_cast_9ae0607507abb057 = function(arg0) {\n // Cast intrinsic for `I64 -> Externref`.\n const ret = arg0;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {\n // Cast intrinsic for `F64 -> Externref`.\n const ret = arg0;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_object_clone_ref = function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_object_drop_ref = function(arg0) {\n takeObject(arg0);\n };\n\n return imports;\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint32ArrayMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = importWasmModule('typst_ts_web_compiler_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n\n\nlet importWasmModule = async function(wasm_name, url) {\n throw new Error('Cannot import wasm module without importer: ' + wasm_name + ' ' + url);\n};\nfunction setImportWasmModule(importer) {\n importWasmModule = importer;\n}\nexport {\n setImportWasmModule\n}\n","\nimport { setImportWasmModule } from './typst_ts_web_compiler.mjs';\nimport _default from './typst_ts_web_compiler.mjs';\nexport * from './typst_ts_web_compiler.mjs';\nexport default _default;\n\nlet nodeJsImportWasmModule = async function(wasm_name, url) {\n const escapeImport = new Function('m', 'return import(m)');\n const { readFileSync } = await escapeImport('fs');\n\n const wasmPath = new URL(wasm_name, url);\n return await readFileSync(wasmPath).buffer;\n};\n\n// nodejs\nconst isNode =\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null;\n\nif (isNode) {\n setImportWasmModule(nodeJsImportWasmModule);\n}\n\n","import { BeforeBuildMark, InitOptions, LazyFont } from './options.init.mjs';\r\nimport { LazyWasmModule } from './wasm.mjs';\r\n\r\n/** @internal */\r\nexport interface TypstCommonBuilder<T> {\r\n free(): void;\r\n\r\n add_raw_font(font_buffer: Uint8Array): Promise<void>;\r\n\r\n add_lazy_font<C extends LazyFont>(\r\n info: C,\r\n blob: (this: C, index: number) => Uint8Array,\r\n ): Promise<void>;\r\n\r\n build(): Promise<T>;\r\n}\r\n\r\n/** @internal */\r\nexport interface ComponentBuildHooks {\r\n latelyBuild?: (ctx: unknown) => void;\r\n}\r\n\r\ninterface InitContext<T> {\r\n ref: {\r\n loadFonts(builder: TypstCommonBuilder<T>, fonts: (string | Uint8Array)[]): Promise<void>;\r\n };\r\n builder: TypstCommonBuilder<T>;\r\n hooks: ComponentBuildHooks;\r\n}\r\n\r\nclass ComponentBuilder<T> {\r\n loadedFonts = new Set<string>();\r\n fetcher?: typeof fetch = fetch;\r\n\r\n setFetcher(fetcher: typeof fetch): void {\r\n this.fetcher = fetcher;\r\n }\r\n\r\n async loadFonts(\r\n builder: TypstCommonBuilder<T>,\r\n fonts: (string | Uint8Array | LazyFont)[],\r\n ): Promise<void> {\r\n const escapeImport = new Function('m', 'return import(m)');\r\n const fetcher = (this.fetcher ||= await (async function () {\r\n const { fetchBuilder, FileSystemCache } = await escapeImport('node-fetch-cache');\r\n const cache = new FileSystemCache({\r\n /// By default, we don't have a complicated cache policy.\r\n cacheDirectory: '.cache/typst/fonts',\r\n });\r\n\r\n const cachedFetcher = fetchBuilder.withCache(cache);\r\n\r\n return function (input: RequestInfo | URL, init?: RequestInit) {\r\n const timeout = setTimeout(() => {\r\n console.warn('font fetching is stucking:', input);\r\n }, 15000);\r\n return cachedFetcher(input, init).finally(() => {\r\n clearTimeout(timeout);\r\n });\r\n };\r\n })());\r\n\r\n const fontsToLoad = fonts.filter(font => {\r\n if (font instanceof Uint8Array || (typeof font === 'object' && 'info' in font)) {\r\n return true;\r\n }\r\n\r\n if (this.loadedFonts.has(font)) {\r\n return false;\r\n }\r\n\r\n this.loadedFonts.add(font);\r\n return true;\r\n });\r\n\r\n const fontLists = await Promise.all(\r\n fontsToLoad.map(async font => {\r\n if (font instanceof Uint8Array) {\r\n await builder.add_raw_font(font);\r\n return;\r\n }\r\n if (typeof font === 'object' && 'info' in font) {\r\n await builder.add_lazy_font(font, 'blob' in font ? font.blob : loadFontSync(font));\r\n return;\r\n }\r\n\r\n return new Uint8Array(await (await fetcher(font)).arrayBuffer());\r\n }),\r\n );\r\n\r\n for (const font of fontLists) {\r\n if (!font) {\r\n continue;\r\n }\r\n await builder.add_raw_font(font);\r\n }\r\n }\r\n\r\n async build(\r\n options: Partial<InitOptions> | undefined,\r\n builder: TypstCommonBuilder<T>,\r\n hooks: ComponentBuildHooks,\r\n ): Promise<T> {\r\n /// build typst component\r\n const buildCtx: InitContext<T> = { ref: this, builder, hooks };\r\n\r\n for (const fn of options?.beforeBuild ?? []) {\r\n await fn(undefined as unknown as BeforeBuildMark, buildCtx);\r\n }\r\n // await addPartialFonts(buildCtx);\r\n\r\n if (hooks.latelyBuild) {\r\n hooks.latelyBuild(buildCtx);\r\n }\r\n\r\n return await builder.build();\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport async function buildComponent<T>(\r\n options: Partial<InitOptions> | undefined,\r\n gModule: LazyWasmModule,\r\n Builder: { new (): TypstCommonBuilder<T> },\r\n hooks: ComponentBuildHooks,\r\n): Promise<T> {\r\n /// init typst wasm module\r\n await gModule.init(options?.getModule?.());\r\n\r\n return await new ComponentBuilder<T>().build(options, new Builder(), hooks);\r\n}\r\n\r\n/**\r\n * Loads a font by a lazy font synchronously, which is required by the compiler.\r\n * @param font\r\n */\r\nexport function loadFontSync(font: LazyFont & { url: string }): (index: number) => Uint8Array {\r\n return () => {\r\n const xhr = new XMLHttpRequest();\r\n xhr.overrideMimeType('text/plain; charset=x-user-defined');\r\n xhr.open('GET', font.url, false);\r\n xhr.send(null);\r\n\r\n if (\r\n xhr.status === 200 &&\r\n (xhr.response instanceof String || typeof xhr.response === 'string')\r\n ) {\r\n return Uint8Array.from(xhr.response, (c: string) => c.charCodeAt(0));\r\n }\r\n return new Uint8Array();\r\n };\r\n}\r\n","export const kObject = Symbol.for('reflexo-obj');\r\n\r\n/**\r\n * The page information of a Typst document.\r\n * @property {number} pageOffset - The offset of the page.\r\n * @property {number} width - The width of the page in pt.\r\n * @property {number} height - The height of the page in pt.\r\n */\r\nexport class PageInfo {\r\n pageOffset: number;\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport interface FsAccessModel {\r\n getMTime(path: string): Date | undefined;\r\n isFile(path: string): boolean | undefined;\r\n getRealPath(path: string): string | undefined;\r\n readAll(path: string): Uint8Array | undefined;\r\n}\r\n\r\nexport interface PackageSpec {\r\n namespace: string;\r\n name: string;\r\n version: string;\r\n}\r\n\r\nexport interface PackageResolveContext {\r\n untar(data: Uint8Array, cb: (path: string, data: Uint8Array, mtime: number) => void): void;\r\n}\r\n\r\nexport interface PackageRegistry {\r\n resolve(path: PackageSpec, context: PackageResolveContext): string | undefined;\r\n}\r\n\r\nexport interface Point {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface Rect {\r\n lo: Point;\r\n hi: Point;\r\n}\r\n\r\nexport type TransformMatrix = [number, number, number, number, number, number];\r\n\r\n//#region Semantic tokens: https://github.com/microsoft/vscode/issues/86415\r\nexport interface SemanticTokensLegend {\r\n readonly tokenTypes: string[];\r\n readonly tokenModifiers: string[];\r\n}\r\n\r\nexport interface SemanticTokens {\r\n /**\r\n * The result id of the tokens.\r\n *\r\n * This is the id that will be passed to `DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits` (if implemented).\r\n */\r\n readonly resultId?: string;\r\n readonly data: Uint32Array;\r\n}\r\n//#endregion\r\n\r\n/**\r\n * The result of rendering a Typst document to a canvas.\r\n */\r\nexport interface RenderCanvasResult {\r\n cacheKey: string;\r\n htmlSemantics: string[];\r\n}\r\n\r\nexport const enum TypstDefaultParams {\r\n PIXEL_PER_PT = 3,\r\n}\r\n","// @ts-ignore\r\nimport type * as typstRenderer from '@myriaddreamin/typst-ts-renderer';\r\nimport type * as typstCompiler from '@myriaddreamin/typst-ts-web-compiler';\r\nimport type { FsAccessModel, PackageRegistry, PackageSpec } from './internal.types.mjs';\r\nimport type { WebAssemblyModuleRef } from './wasm.mjs';\r\n\r\n/**\r\n * staged options function\r\n * @template S - stage mark\r\n * @template T - context type\r\n */\r\nexport type StagedOptFn<S extends symbol, T = any> = (s: S, t: T) => Promise<void>;\r\n\r\n/**\r\n * this mark is used to identify the beforeBuild stage\r\n * @description will not be used in runtime code\r\n */\r\nconst BeforeBuildSymbol: unique symbol = Symbol('beforeBuild');\r\n\r\n/**\r\n * this mark is used to identify the beforeBuild stage\r\n * @description cannot be created by any runtime code\r\n */\r\nexport type BeforeBuildMark = typeof BeforeBuildSymbol;\r\n\r\n/**\r\n * before build stage\r\n * @description possible created by:\r\n * - loadFonts\r\n * - preloadSystemFonts\r\n * - withAccessModel\r\n * - withPackageRegistry\r\n */\r\nexport type BeforeBuildFn = StagedOptFn<BeforeBuildMark>;\r\n\r\n/**\r\n *\r\n * @property {BeforeBuildFn[]} beforeBuild - callbacks before build stage\r\n */\r\nexport interface InitOptions {\r\n /**\r\n * callbacks before build stage\r\n *\r\n * before build stage, the registered functions will be executed in order\r\n * possible options:\r\n * - loadFonts\r\n * - preloadSystemFonts\r\n * - withAccessModel\r\n */\r\n beforeBuild: BeforeBuildFn[];\r\n\r\n /**\r\n * callbacks to fetch the wasm module wrapper\r\n */\r\n getWrapper?(): Promise<any>;\r\n\r\n /**\r\n * callbacks to fetch the wasm module\r\n *\r\n * There are many ways to provide a wasm module, see\r\n * {@link WebAssemblyModuleRef} for more details. If you don't provide a wasm\r\n * module, the default module will be used.\r\n */\r\n getModule(): WebAssemblyModuleRef | Promise<WebAssemblyModuleRef>;\r\n}\r\n\r\nexport type LazyFont = {\r\n info: any;\r\n} & (\r\n | {\r\n blob: (index: number) => Uint8Array;\r\n }\r\n | {\r\n url: string;\r\n }\r\n );\r\n\r\n/** @internal */\r\nconst _textFonts: string[] = [\r\n 'DejaVuSansMono-Bold.ttf',\r\n 'DejaVuSansMono-BoldOblique.ttf',\r\n 'DejaVuSansMono-Oblique.ttf',\r\n 'DejaVuSansMono.ttf',\r\n 'LibertinusSerif-Bold.otf',\r\n 'LibertinusSerif-BoldItalic.otf',\r\n 'LibertinusSerif-Italic.otf',\r\n 'LibertinusSerif-Regular.otf',\r\n 'LibertinusSerif-Semibold.otf',\r\n 'LibertinusSerif-SemiboldItalic.otf',\r\n 'NewCM10-Bold.otf',\r\n 'NewCM10-BoldItalic.otf',\r\n 'NewCM10-Italic.otf',\r\n 'NewCM10-Regular.otf',\r\n 'NewCMMath-Bold.otf',\r\n 'NewCMMath-Book.otf',\r\n 'NewCMMath-Regular.otf',\r\n];\r\n/** @internal */\r\nconst _cjkFonts: string[] = [\r\n 'InriaSerif-Bold.ttf',\r\n 'InriaSerif-BoldItalic.ttf',\r\n 'InriaSerif-Italic.ttf',\r\n 'InriaSerif-Regular.ttf',\r\n 'Roboto-Regular.ttf',\r\n 'NotoSerifCJKsc-Regular.otf',\r\n];\r\n/** @internal */\r\nconst _emojiFonts: string[] = ['TwitterColorEmoji.ttf', 'NotoColorEmoji-Regular-COLR.subset.ttf'];\r\n\r\ntype AvailableFontAsset = 'text' | 'cjk' | 'emoji';\r\n\r\nexport interface LoadRemoteAssetsOptions {\r\n /**\r\n * preload font assets or don't preload any font assets\r\n * @default ['text']\r\n */\r\n assets?: AvailableFontAsset[] | false;\r\n\r\n /**\r\n * customize url prefix for default assets from remote\r\n *\r\n * The default assets are hosted on github, you can download them and host\r\n * them on your own server, which is more practical for production.\r\n *\r\n * Hosted at: https://github.com/Myriad-Dreamin/typst/tree/assets-fonts\r\n * List of assets:\r\n * See {@link _textFonts}, {@link _cjkFonts}, and {@link _emojiFonts}\r\n *\r\n * @default 'jsdelivr-url of typst-assets and typst-dev-assets'\r\n */\r\n assetUrlPrefix?: string | Record<string, string>;\r\n\r\n /**\r\n * custom fetcher\r\n * Note: the default fetcher for node.js does not cache any fonts\r\n * @default fetch\r\n */\r\n fetcher?: typeof fetch;\r\n}\r\n\r\nexport interface LoadRemoteFontsOptions extends LoadRemoteAssetsOptions { }\r\n\r\n/**\r\n * disable default font assets\r\n */\r\nexport function disableDefaultFontAssets(): BeforeBuildFn {\r\n return loadFonts([], { assets: false });\r\n}\r\n\r\n/**\r\n * preload font assets\r\n */\r\nexport function preloadFontAssets(options?: LoadRemoteAssetsOptions): BeforeBuildFn {\r\n return loadFonts([], options);\r\n}\r\n\r\nexport function _resolveAssets(options?: LoadRemoteFontsOptions) {\r\n const fonts = [];\r\n if (\r\n options &&\r\n options?.assets !== false &&\r\n options?.assets?.length &&\r\n options?.assets?.length > 0\r\n ) {\r\n let defaultPrefix: Record<string, string> = {\r\n text: 'https://cdn.jsdelivr.net/gh/typst/typst-assets@v0.13.1/files/fonts/',\r\n _: 'https://cdn.jsdelivr.net/gh/typst/typst-dev-assets@v0.13.1/files/fonts/',\r\n };\r\n let assetUrlPrefix = options.assetUrlPrefix ?? defaultPrefix;\r\n if (typeof assetUrlPrefix === 'string') {\r\n assetUrlPrefix = { _: assetUrlPrefix };\r\n } else {\r\n assetUrlPrefix = { ...defaultPrefix, ...assetUrlPrefix };\r\n }\r\n for (const key of Object.keys(assetUrlPrefix)) {\r\n const u = assetUrlPrefix[key];\r\n if (u[u.length - 1] !== '/') {\r\n assetUrlPrefix[key] = u + '/';\r\n }\r\n }\r\n\r\n const prefix = (asset: string, f: string[]) =>\r\n f.map(font => (assetUrlPrefix[asset] || assetUrlPrefix['_']) + font);\r\n for (const asset of options.assets) {\r\n switch (asset) {\r\n case 'text':\r\n fonts.push(...prefix(asset, _textFonts));\r\n break;\r\n case 'cjk':\r\n fonts.push(...prefix(asset, _cjkFonts));\r\n break;\r\n case 'emoji':\r\n fonts.push(...prefix(asset, _emojiFonts));\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return fonts;\r\n}\r\n\r\n/**\r\n * @deprecated use {@link loadFonts} instead\r\n */\r\nexport function preloadRemoteFonts(\r\n userFonts: (string | Uint8Array)[],\r\n options?: LoadRemoteFontsOptions,\r\n): BeforeBuildFn {\r\n return loadFonts(userFonts, options);\r\n}\r\n\r\n/**\r\n * load fonts\r\n *\r\n * @param fonts - url path to font files\r\n * @returns {BeforeBuildFn}\r\n * @example\r\n * ```ts\r\n * // preLoad fonts from remote url (because finto info is not provided)\r\n * import { init, loadFonts } from 'typst';\r\n * init({\r\n * beforeBuild: [\r\n * loadFonts([\r\n * 'https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2', // remote url\r\n * 'dist/fonts/Roboto-Regular.ttf', // relative to the root of the website\r\n * ]),\r\n * ],\r\n * });\r\n * ```\r\n * @example\r\n * ```ts\r\n * // lazily Load fonts from remote url. The font information is obtained by `getFontInfo`\r\n * import { init, loadFonts } from 'typst';\r\n * init({\r\n * beforeBuild: [\r\n * loadFonts([\r\n * {\r\n * info: [...]\r\n * url: 'https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2';\r\n * }\r\n * ]),\r\n * ],\r\n * });\r\n * ```\r\n */\r\nexport function loadFonts(\r\n userFonts: (string | Uint8Array | LazyFont)[],\r\n options?: LoadRemoteFontsOptions,\r\n): BeforeBuildFn {\r\n const assetFonts = _resolveAssets(options);\r\n const loader = async (_: BeforeBuildMark, { ref, builder }: InitContext) => {\r\n if (options?.fetcher) {\r\n ref.setFetcher(options.fetcher);\r\n }\r\n await ref.loadFonts(builder, [...userFonts, ...assetFonts]);\r\n };\r\n loader._preloadRemoteFontOptions = options;\r\n loader._kind = 'fontLoader';\r\n return loader;\r\n}\r\n\r\n/**\r\n * preload system fonts\r\n * @param byFamily - filter system fonts to preload by family name\r\n * @returns {BeforeBuildFn}\r\n * @example\r\n * ```typescript\r\n * import { init, preloadSystemFonts } from 'typst';\r\n * init({\r\n * beforeBuild: [\r\n * preloadSystemFonts({\r\n * byFamily: ['Roboto'], // preload fonts by family name\r\n * }),\r\n * ],\r\n * });\r\n * ```\r\n */\r\nexport function preloadSystemFonts({ byFamily }: { byFamily?: string[] }): BeforeBuildFn {\r\n return async (_, { builder }: InitContext) => {\r\n const t = performance.now();\r\n\r\n if ('queryLocalFonts' in window) {\r\n const fonts: {\r\n family: string;\r\n blob(): Promise<Blob>;\r\n }[] = await (window as any).queryLocalFonts();\r\n\r\n byFamily = byFamily ?? [];\r\n\r\n for (const font of fonts) {\r\n if (!byFamily.includes(font.family)) {\r\n continue;\r\n }\r\n\r\n const data: ArrayBuffer = await (await font.blob()).arrayBuffer();\r\n await builder.add_raw_font(new Uint8Array(data));\r\n }\r\n }\r\n\r\n const t2 = performance.now();\r\n console.log('preload system font time used:', t2 - t);\r\n };\r\n}\r\n\r\n/**\r\n * (compile only) set pacoage registry\r\n *\r\n * @param accessModel: when compiling, the pacoage registry is used to access the\r\n * data of files\r\n * @returns {BeforeBuildFn}\r\n */\r\nexport function withPackageRegistry(packageRegistry: PackageRegistry): BeforeBuildFn {\r\n return async (_, { builder }: InitContext) => {\r\n return new Promise(resolve => {\r\n builder.set_package_registry(packageRegistry, function (spec: PackageSpec) {\r\n return packageRegistry.resolve(spec, this);\r\n });\r\n resolve();\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * (compile only) set access model\r\n *\r\n * @param accessModel: when compiling, the access model is used to access the\r\n * data of files\r\n * @returns {BeforeBuildFn}\r\n */\r\nexport function withAccessModel(accessModel: FsAccessModel): BeforeBuildFn {\r\n return async (_, ctx: InitContext) => {\r\n if (ctx.alreadySetAccessModel) {\r\n throw new Error(\r\n `already set some assess model before: ${ctx.alreadySetAccessModel.constructor?.name}(${ctx.alreadySetAccessModel})`,\r\n );\r\n }\r\n ctx.alreadySetAccessModel = accessModel;\r\n return new Promise(resolve => {\r\n ctx.builder.set_access_model(\r\n accessModel,\r\n (path: string) => {\r\n const lastModified = accessModel.getMTime(path);\r\n if (lastModified) {\r\n return lastModified.getTime();\r\n }\r\n return 0;\r\n },\r\n (path: string) => {\r\n return accessModel.isFile(path) || false;\r\n },\r\n (path: string) => {\r\n return accessModel.getRealPath(path) || path;\r\n },\r\n (path: string) => {\r\n return accessModel.readAll(path);\r\n },\r\n );\r\n resolve();\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * @internal builder\r\n */\r\ntype Builder = typstRenderer.TypstRendererBuilder & typstCompiler.TypstCompilerBuilder;\r\n\r\n/**\r\n * @internal build context\r\n */\r\ninterface InitContext {\r\n ref: {\r\n setFetcher(fetcher: typeof fetch): void;\r\n loadFonts(builder: Builder, fonts: (string | Uint8Array | LazyFont)[]): Promise<void>;\r\n };\r\n builder: Builder;\r\n alreadySetAccessModel: any;\r\n}\r\n\r\n// todo: search browser\r\n// searcher.search_browser().await?;\r\n","/**\r\n * The reference of a WebAssembly module which is copied from the wasm-bindgen\r\n * @see https://github.com/rustwasm/wasm-bindgen/blob/2c622715c9e6602f7bb377828c72f7953b178ed7/crates/cli-support/src/js/mod.rs#L656\r\n *\r\n * Your most common use case will be to pass a URL to a wasm file here.\r\n * + `WebAssembly.Module` - An instantiated wasm module.\r\n * + `URL` - Remote url to a wasm file\r\n * + `BufferSource` - An ArrayBufferView or an ArrayBuffer\r\n */\r\nexport type WebAssemblyModuleRef = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;\r\n\r\n/**\r\n * @internal\r\n */\r\nconst once = <T extends any>(fn: () => T) => {\r\n let called = false;\r\n let res: T;\r\n return () => {\r\n if (called) {\r\n return res;\r\n }\r\n called = true;\r\n return (res = fn());\r\n };\r\n};\r\n\r\n/** @internal copied from wasm-bindgen */\r\ntype WasmModuleInitParam = WebAssemblyModuleRef | Promise<WebAssemblyModuleRef> | undefined;\r\n\r\n/** @internal */\r\nexport class LazyWasmModule {\r\n private wasmBin: WasmModuleInitParam;\r\n private initOnce: () => Promise<void>;\r\n\r\n constructor(initFn: (param: WasmModuleInitParam) => Promise<unknown>) {\r\n if (typeof initFn !== 'function') {\r\n throw new Error('initFn is not a function');\r\n }\r\n\r\n this.initOnce = once(async () => {\r\n await initFn(this.wasmBin);\r\n });\r\n }\r\n\r\n async init(module?: WebAssemblyModuleRef | Promise<WebAssemblyModuleRef>) {\r\n this.wasmBin = module;\r\n await this.initOnce();\r\n }\r\n}\r\n","// @ts-ignore\r\nimport type * as typst from '@myriaddreamin/typst-ts-web-compiler';\r\nimport { buildComponent } from './init.mjs';\r\nimport { SemanticTokens, SemanticTokensLegend, kObject } from './internal.types.mjs';\r\n\r\nimport { loadFonts, type InitOptions } from './options.init.mjs';\r\nimport { LazyWasmModule } from './wasm.mjs';\r\n\r\n/**\r\n * Available formats for compiling the document.\r\n */\r\nexport type CompileFormat = keyof typeof CompileFormatEnum;\r\n\r\n/**\r\n * Available formats for compiling the document.\r\n */\r\nexport enum CompileFormatEnum {\r\n vector = 0,\r\n pdf = 1,\r\n _dummy = 2,\r\n}\r\n\r\n\r\n/**\r\n * The diagnostic message partially following the LSP specification.\r\n */\r\ninterface DiagnosticMessage {\r\n // The package owning the path.\r\n // If the package is empty, the path is a relative path to the *workspace root*.\r\n package: string;\r\n // The path of the file.\r\n path: string;\r\n // Severity of the diagnostic message.\r\n severity: string;\r\n // Zero-based line number and one-based character offset.\r\n // The range of the diagnostic message.\r\n // If the diagnostic message is a range, the range is in the format of `startLine:startCharacter-endLine:endCharacter`.\r\n // If the diagnostic message is a point, the range is in the format of `line:character`.\r\n // Otherwise, the range is empty.\r\n range: string;\r\n // The message of the diagnostic message.\r\n message: string;\r\n}\r\n\r\n/**\r\n * Available formats for compiling the document.\r\n *\r\n * If set to unix, a diagnostics is in format of\r\n *\r\n * ```log\r\n * // with package\r\n * cetz:0.2.0@lib.typ:2:9-3:15: error: unexpected type in `+` application\r\n * // without package\r\n * main.typ:2:9-3:15: error: unexpected type in `+` application\r\n * ```\r\n *\r\n * If set to long, a diagnostics is in format of {@link DiagnosticMessage}.\r\n *\r\n * If set to full, a diagnostics is in format of {@link DiagnosticMessage}, but also with trace messages.\r\n */\r\nexport type DiagnosticsFormat = 'none' | 'unix' | 'full';\r\n\r\nexport type DiagnosticsData = {\r\n none: never;\r\n unix: string;\r\n full: DiagnosticMessage;\r\n};\r\n\r\ninterface DiagOpts<D extends DiagnosticsFormat = DiagnosticsFormat> {\r\n /**\r\n * Whether to include diagnostic information in the result.\r\n * Note: it will be set to 'full' by default in v0.6.0\r\n * @default 'full'\r\n */\r\n diagnostics?: D;\r\n}\r\n\r\ninterface SnapshotOptions {\r\n /**\r\n * The path of the main file.\r\n */\r\n mainFilePath: string;\r\n /**\r\n * The root of the main file.\r\n */\r\n root?: string;\r\n /**\r\n * Adds a string key-value pair visible through `sys.inputs`\r\n *\r\n * Note: pass `{}` to clear `sys.inputs`\r\n *\r\n * Note: When passing `undefined`, compiler will use last set `sys.inputs`.\r\n *\r\n * Note: This means you should always specify inputs when using compiler for concurrent tasks.\r\n */\r\n inputs?: Record<string, string>;\r\n}\r\n\r\ninterface TransientCompileOptions<\r\n F extends CompileFormatEnum = CompileFormatEnum,\r\n Diagnostics extends DiagnosticsFormat = DiagnosticsFormat,\r\n> extends SnapshotOptions,\r\n DiagOpts<Diagnostics> {\r\n /**\r\n * The format of the artifact.\r\n * - CompileFormatEnum.vector: can then load to the renderer to render the document.\r\n * - CompileFormatEnum.pdf: for finally exporting pdf to the user.\r\n * \r\n * Hint: you can convert the format from {@link CompileFormat} to\r\n * {@link CompileFormatEnum} by `CompileFormatEnum[Format]`.\r\n * @default CompileFormatEnum.vector\r\n */\r\n format?: F;\r\n}\r\n\r\ninterface IncrementalCompileOptions<Diagnostics extends DiagnosticsFormat = DiagnosticsFormat>\r\n extends SnapshotOptions,\r\n DiagOpts<Diagnostics> {\r\n /**\r\n * The format of the incrementally exported artifact.\r\n * @default 'vector'\r\n */\r\n format?: 'vector';\r\n /**\r\n * The incremental server for the document.\r\n */\r\n incrementalServer: IncrementalServer;\r\n}\r\n\r\nexport interface QueryOptions {\r\n /**\r\n * select part of document for query.\r\n */\r\n selector: string;\r\n /**\r\n * cast result by accessing single field.\r\n */\r\n field?: string;\r\n}\r\n\r\n/**\r\n * The options for compiling the document.\r\n */\r\nexport type CompileOptions<\r\n Format extends CompileFormatEnum = CompileFormatEnum,\r\n Diagnostics extends DiagnosticsFormat = DiagnosticsFormat,\r\n> = TransientCompileOptions<Format, Diagnostics> | IncrementalCompileOptions;\r\n\r\nexport class IncrementalServer {\r\n /**\r\n * @internal\r\n */\r\n [kObject]: typst.IncrServer;\r\n\r\n /**\r\n * @internal\r\n */\r\n constructor(s: typst.IncrServer) {\r\n this[kObject] = s;\r\n }\r\n\r\n /**\r\n * Reset the incremental server to the initial state.\r\n */\r\n reset(): void {\r\n this[kObject].reset();\r\n }\r\n\r\n /**\r\n * Return current result.\r\n */\r\n current(): Uint8Array | undefined {\r\n return this[kObject].current();\r\n }\r\n\r\n /**\r\n * Also attach the debug info to the result.\r\n */\r\n setAttachDebugInfo(enable: boolean): void {\r\n this[kObject].set_attach_debug_info(enable);\r\n }\r\n}\r\n\r\ninterface CompileResult<T, D extends DiagnosticsFormat> {\r\n result?: T;\r\n diagnostics?: DiagnosticsData[D][];\r\n}\r\n\r\nexport interface TypstFontInfo { }\r\n\r\nenum TypstFontResolverCons { }\r\nexport type TypstFontResolver = TypstFontResolverCons;\r\n\r\nexport interface TypstFontBuilder {\r\n /**\r\n * Initialize the font builder.\r\n * @param options - The options for initializing the font builder.\r\n */\r\n init(options?: Partial<InitOptions>): Promise<void>;\r\n /**\r\n * Get the font info.\r\n *\r\n * @param font_buffer - The font buffer to get the font info.\r\n * @returns {TypstFontInfo} - The font info.\r\n */\r\n getFontInfo(font_buffer: Uint8Array): Promise<TypstFontInfo>;\r\n /**\r\n * Add a raw font.\r\n *\r\n * @param font_buffer - The font buffer to add.\r\n */\r\n addFontData(font_buffer: Uint8Array): Promise<void>;\r\n /**\r\n * Add a lazy font.\r\n *\r\n * @param info - The font info, usually from {@link getFontInfo}.\r\n * @param blob - The blob function to get the font buffer.\r\n * @param context - The context.\r\n */\r\n addLazyFont(\r\n info: TypstFontInfo,\r\n blob: (idx: number) => Uint8Array,\r\n context?: object,\r\n ): Promise<void>;\r\n\r\n /**\r\n * Build the font resolver. The font resolver will be freed after the callback\r\n * is invoked and before returning the build function.\r\n *\r\n * @param cb - The function to use the font resolver.\r\n * @returns {Promise<T>} - The result of the function.\r\n */\r\n build<T>(cb: (resolver: TypstFontResolver) => Promise<T>): Promise<T>;\r\n}\r\n\r\n/**\r\n * create a Typst font builder.\r\n * @returns {TypstFontBuilder} - The Typst font builder.\r\n * @example\r\n * ```typescript\r\n * import { createTypstFontBuilder } from 'typst';\r\n * const fb = createTypstFontBuilder();\r\n * await fb.init();\r\n * await fb.addFontData(new Uint8Array(await fetch('font.ttf').then(r => r.arrayBuffer())));\r\n * await fb.build();\r\n * ```\r\n */\r\nexport function createTypstFontBuilder(): TypstFontBuilder {\r\n return new TypstFontBuilderDriver();\r\n}\r\n\r\nexport class TypstWorld {\r\n private [kObject]: typst.TypstCompileWorld;\r\n\r\n constructor(world: typst.TypstCompileWorld) {\r\n this[kObject] = world;\r\n }\r\n\r\n /**\r\n * Compile the paged document.\r\n *\r\n * @param {DiagnosticsFormat} format - The format of the diagnostics.\r\n * @returns {Promise<{ diagnostics?: DiagnosticsData[DiagnosticsFormat][] }>} - The result of the compilation.\r\n */\r\n compile<D extends DiagnosticsFormat = 'full'>(\r\n opts?: DiagOpts<D>,\r\n ): Promise<CompileResult<undefined, D> & { hasError: boolean }> {\r\n return this[kObject].compile(0, getDiagnosticsArg(opts?.diagnostics));\r\n }\r\n\r\n /**\r\n * Compile the paged document.\r\n *\r\n * @param {DiagnosticsFormat} format - The format of the diagnostics.\r\n * @returns {Promise<{ diagnostics?: DiagnosticsData[DiagnosticsFormat][] }>} - The result of the compilation.\r\n */\r\n compileHtml<D extends DiagnosticsFormat = 'full'>(\r\n opts?: DiagOpts<D>,\r\n ): Promise<CompileResult<undefined, D> & { hasError: boolean }> {\r\n return this[kObject].compile(1, getDiagnosticsArg(opts?.diagnostics));\r\n }\r\n\r\n /**\r\n * Runs query on the paged document.\r\n */\r\n async query<T = any>(options: QueryOptions): Promise<T> {\r\n return JSON.parse(this[kObject].query(0, options.selector, options.field));\r\n }\r\n\r\n /**\r\n * Get the title of the paged document.\r\n * Throw error if the world didn't compile the paged document.\r\n *\r\n * @returns {string | undefined} - The title of the paged document.\r\n */\r\n title(): string | undefined {\r\n return this[kObject].title(0);\r\n }\r\n\r\n /**\r\n * Export the paged document as vector format.\r\n *\r\n * @returns {Uint8Array | undefined} - The title of the paged document.\r\n */\r\n vector<D extends DiagnosticsFormat = 'full'>(\r\n opts?: DiagOpts<D>,\r\n ): Promise<CompileResult<Uint8Array, D>> {\r\n return this[kObject].get_artifact(0, getDiagnosticsArg(opts?.diagnostics)) || {};\r\n }\r\n\r\n /**\r\n * Export the paged document to PDF.\r\n *\r\n * @returns {Uint8Array | undefined} - The title of the paged document.\r\n */\r\n pdf<D extends DiagnosticsFormat = 'full'>(\r\n opts?: DiagOpts<D>,\r\n ): Promise<CompileResult<Uint8Array, D>> {\r\n return this[kObject].get_artifact(1, getDiagnosticsArg(opts?.diagnostics)) || {};\r\n }\r\n}\r\n\r\n/**\r\n * The interface of Typst compiler.\r\n */\r\nexport interface TypstCompiler {\r\n /**\r\n * Initialize the typst compiler.\r\n * @param {Partial<InitOptions>} options - The options for initializing the\r\n * typst compiler.\r\n */\r\n init(options?: Partial<InitOptions>): Promise<void>;\r\n\r\n /**\r\n * Reset the typst compiler to the initial state.\r\n * Note: without calling this function, the compiler will always keep caches\r\n * such as:\r\n * - loaded fonts\r\n * - source files corresponding to typst modules\r\n *\r\n * Note: this function is independent to the {@link resetShadow} function.\r\n * This is intended to optimize the performance of the compiler.\r\n */\r\n reset(): Promise<void>;\r\n\r\n /**\r\n * Compile an document with the maintained state.\r\n * @param {CompileOptions} options - The options for compiling the document.\r\n * @returns {Promise<Uint8Array>} - artifact in vector format.\r\n * You can then load the artifact to the renderer to render the document.\r\n */\r\n compile<D extends DiagnosticsFormat>(\r\n options: CompileOptions<CompileFormatEnum.vector, D>,\r\n ): Promise<CompileResult<Uint8Array, D>>;\r\n compile<D extends DiagnosticsFormat>(\r\n options: CompileOptions<CompileFormatEnum.pdf, D>,\r\n ): Promise<CompileResult<Uint8Array, D>>;\r\n compile<F extends CompileFormatEnum, D extends DiagnosticsFormat>(\r\n options: CompileOptions<F, D>,\r\n ): Promise<CompileResult<Uint8Array, D>>;\r\n\r\n runWithWorld<T>(options: SnapshotOptions, cb: (world: TypstWorld) => Promise<T>): Promise<T>;\r\n\r\n /**\r\n * Set the fonts to the compiler. Note: multiple compilers can share the same fonts.\r\n *\r\n * @param {TypstFontResolver} fonts - The fonts to set.\r\n */\r\n setFonts(fonts: TypstFontResolver): void;\r\n\r\n /**\r\n * experimental\r\n * Query the result with document\r\n */\r\n query<T>(options: QueryOptions & SnapshotOptions): Promise<T>;\r\n\r\n /**\r\n * Print the AST of the main file.\r\n * @param {string} mainFilePath - The path of the main file.\r\n * @returns {Promise<string>} - an string representation of the AST.\r\n */\r\n getAst(mainFilePath: string): Promise<string>;\r\n\r\n /**\r\n * Add a source file to the compiler.\r\n * @param {string} path - The path of the source file.\r\n * @param {string} source - The source code of the source file.\r\n *\r\n */\r\n addSource(path: string, source: string): void;\r\n\r\n /**\r\n * Add a shadow file to the compiler.\r\n * @param {string} path - The path to the shadow file.\r\n * @param {Uint8Array} content - The content of the shadow file.\r\n *\r\n */\r\n mapShadow(path: string, content: Uint8Array): void;\r\n\r\n /**\r\n * Remove a shadow file from the compiler.\r\n * @param {string} path - The path to the shadow file.\r\n */\r\n unmapShadow(path: string): void;\r\n\r\n /**\r\n * Reset the shadow files.\r\n * Note: this function is independent to the {@link reset} function.\r\n */\r\n resetShadow(): void;\r\n\r\n /**\r\n * experimental\r\n * See Semantic tokens: https://github.com/microsoft/vscode/issues/86415\r\n */\r\n getSemanticTokenLegend(): Promise<SemanticTokensLegend>;\r\n\r\n /**\r\n * experimental\r\n * See Semantic tokens: https://github.com/microsoft/vscode/issues/86415\r\n *\r\n * @param {string} opts.mainFilePath - The path of the main file.\r\n * @param {string} opts.resultId - The id of the result.\r\n * @param {string} opts.offsetEncoding - The encoding of the offset.\r\n * - 'utf-16': the offset is encoded in utf-16.\r\n * - 'utf-8': the offset is encoded in utf-8.\r\n * @default 'utf-16'\r\n * @returns {Promise<SemanticTokens>} - The semantic tokens.\r\n */\r\n getSemanticTokens(opts: {\r\n mainFilePath: string;\r\n resultId?: string;\r\n offsetEncoding?: string;\r\n }): Promise<SemanticTokens>;\r\n\r\n /**\r\n * experimental\r\n * Run with an incremental server which holds the state of the document in wasm.\r\n *\r\n * @param {function(IncrementalServer): Promise<T>} f - The function to run with the incremental server.\r\n * @returns {Promise<T>} - The result of the function.\r\n *\r\n * Note: the incremental server will be freed after the function is finished.\r\n */\r\n withIncrementalServer<T>(f: (s: IncrementalServer) => Promise<T>): Promise<T>;\r\n}\r\n\r\nconst gCompilerModule = (module: typeof typst) =>\r\n new LazyWasmModule(async (bin?: any) => {\r\n return await module.default(bin);\r\n });\r\n\r\n/**\r\n * create a Typst compiler.\r\n * @returns {TypstCompiler} - The Typst compiler.\r\n * @example\r\n * ```typescript\r\n * import { createTypstCompiler } from 'typst';\r\n * const compiler = createTypstCompiler();\r\n * await compiler.init();\r\n * compiler.addSource('/main.typ', 'Hello, typst!');\r\n * await compiler.compile({ mainFilePath: '/main.typ' });\r\n * ```\r\n */\r\nexport function createTypstCompiler(): TypstCompiler {\r\n return new TypstCompilerDriver();\r\n}\r\n\r\nexport class TypstFontBuilderDriver implements TypstFontBuilder {\r\n private fontBuilderJs: typeof typst;\r\n private fontBuilder: typst.TypstFontResolverBuilder;\r\n\r\n async init(options?: Partial<InitOptions>): Promise<void> {\r\n this.fontBuilderJs = await (options?.getWrapper?.() || import('@myriaddreamin/typst-ts-web-compiler'));\r\n /// init typst wasm module\r\n await gCompilerModule(this.fontBuilderJs).init(options?.getModule?.());\r\n\r\n this.fontBuilder = new this.fontBuilderJs.TypstFontResolverBuilder();\r\n }\r\n\r\n async getFontInfo(font_buffer: Uint8Array): Promise<TypstFontInfo> {\r\n return this.fontBuilder.get_font_info(font_buffer) as TypstFontInfo;\r\n }\r\n\r\n async addFontData(font_buffer: Uint8Array): Promise<void> {\r\n this.fontBuilder.add_raw_font(font_buffer);\r\n }\r\n async addLazyFont<C extends TypstFontInfo>(\r\n info: TypstFontInfo,\r\n blob: (this: C, idx: number) => Uint8Array,\r\n ): Promise<void> {\r\n return this.fontBuilder.add_lazy_font(info, blob);\r\n }\r\n async build<T>(cb: (resolver: TypstFontResolver) => Promise<T>): Promise<T> {\r\n const fonts = await this.fontBuilder.build();\r\n const result = await cb(fonts as any as TypstFontResolver);\r\n fonts.free();\r\n return result;\r\n }\r\n}\r\n\r\nclass TypstCompilerDriver implements TypstCompiler {\r\n compiler: typst.TypstCompiler;\r\n compilerJs: typeof typst;\r\n\r\n static defaultAssets = ['text' as const];\r\n\r\n constructor() { }\r\n\r\n async init(options?: Partial<InitOptions>): Promise<void> {\r\n this.compilerJs = await (options?.getWrapper?.() || import('@myriaddreamin/typst-ts-web-compiler'));\r\n const TypstCompilerBuilder = this.compilerJs.TypstCompilerBuilder;\r\n\r\n const compilerOptions = { ...(options || {}) };\r\n const beforeBuild = (compilerOptions.beforeBuild ??= []);\r\n const hasPreloadRemoteFonts = beforeBuild.some(\r\n (fn: any) => fn._preloadRemoteFontOptions !== undefined,\r\n );\r\n const hasSpecifiedAssets = beforeBuild.some(\r\n (fn: any) => fn._preloadRemoteFontOptions?.assets !== undefined,\r\n );\r\n const hasDisableAssets = beforeBuild.some(\r\n (fn: any) => fn._preloadRemoteFontOptions?.assets === false,\r\n );\r\n\r\n if (!hasPreloadRemoteFonts || (!hasSpecifiedAssets && !hasDisableAssets)) {\r\n beforeBuild.push(loadFonts([], { assets: TypstCompilerDriver.defaultAssets }));\r\n }\r\n\r\n const hasFontLoader = beforeBuild.some((fn: any) => fn._kind === 'fontLoader');\r\n if (!hasFontLoader) {\r\n throw new Error(\r\n 'TypstCompiler: no font loader found, please use font loaders, e.g. loadFonts or preloadSystemFonts',\r\n );\r\n }\r\n this.compiler = await buildComponent(options, gCompilerModule(this.compilerJs), TypstCompilerBuilder, {});\r\n }\r\n\r\n setFonts(fonts: TypstFontResolver): void {\r\n this.compiler.set_fonts(fonts as any as typst.TypstFontResolver);\r\n }\r\n\r\n compile(options: CompileOptions): Promise<any> {\r\n return new Promise(resolve => {\r\n const world = this.compiler.snapshot(\r\n options.root,\r\n options.mainFilePath,\r\n convertInputs(options.inputs),\r\n );\r\n if ('incrementalServer' in options) {\r\n resolve(\r\n world.incr_compile(\r\n options.incrementalServer[kObject],\r\n getDiagnosticsArg(options.diagnostics),\r\n ),\r\n );\r\n return;\r\n }\r\n resolve(\r\n world.get_artifact(options.format || CompileFormatEnum.vector, getDiagnosticsArg(options.diagnostics)),\r\n );\r\n });\r\n }\r\n\r\n async runWithWorld<T>(\r\n options: SnapshotOptions,\r\n cb: (world: TypstWorld) => Promise<T>,\r\n ): Promise<T> {\r\n const world = this.compiler.snapshot(\r\n options.root,\r\n options.mainFilePath,\r\n convertInputs(options.inputs),\r\n );\r\n let result = await cb(new TypstWorld(world));\r\n world.free();\r\n return result;\r\n }\r\n\r\n query(options: QueryOptions & SnapshotOptions): Promise<any> {\r\n return this.runWithWorld(options, async world => {\r\n return JSON.parse(await world.query(options));\r\n });\r\n }\r\n\r\n getSemanticTokenLegend(): Promise<SemanticTokensLegend> {\r\n return new Promise<SemanticTokensLegend>(resolve => {\r\n resolve(this.compiler.get_semantic_token_legend());\r\n });\r\n }\r\n\r\n getSemanticTokens(opts: {\r\n mainFilePath: string;\r\n resultId?: string;\r\n offsetEncoding?: string;\r\n }): Promise<SemanticTokens> {\r\n return new Promise<SemanticTokens>(resolve => {\r\n this.compiler.reset();\r\n resolve(\r\n this.compiler.get_semantic_tokens(\r\n opts.offsetEncoding || 'utf-16',\r\n opts.mainFilePath,\r\n opts.resultId,\r\n ) as any,\r\n );\r\n });\r\n }\r\n\r\n async withIncrementalServer<T>(f: (s: IncrementalServer) => Promise<T>): Promise<T> {\r\n const srv = new IncrementalServer(this.compiler.create_incr_server());\r\n try {\r\n return await f(srv);\r\n } finally {\r\n srv[kObject].free();\r\n }\r\n }\r\n\r\n async getAst(mainFilePath: string): Promise<string> {\r\n return this.compiler.get_ast(mainFilePath);\r\n }\r\n\r\n async reset(): Promise<void> {\r\n await new Promise<void>(resolve => {\r\n this.compiler.reset();\r\n resolve(undefined);\r\n });\r\n }\r\n\r\n addSource(path: string, source: string): void {\r\n if (arguments.length > 2) {\r\n throw new Error(\r\n 'use of addSource(path, source, isMain) is deprecated, please use addSource(path, source) instead',\r\n );\r\n }\r\n\r\n this.compiler.add_source(path, source);\r\n }\r\n\r\n mapShadow(path: string, content: Uint8Array): void {\r\n this.compiler.map_shadow(path, content);\r\n }\r\n\r\n unmapShadow(path: string): void {\r\n this.compiler.unmap_shadow(path);\r\n }\r\n\r\n resetShadow(): void {\r\n this.compiler.reset_shadow();\r\n }\r\n\r\n renderPageToCanvas(): Promise<any> {\r\n throw new Error('Please use the api TypstRenderer.renderToCanvas in v0.4.0');\r\n }\r\n}\r\ncreateTypstCompiler._impl = TypstCompilerDriver;\r\n\r\n// todo: caching inputs\r\nfunction convertInputs(inputs?: Record<string, string>): [string, string][] | undefined {\r\n return inputs ? Object.entries(inputs) : undefined;\r\n}\r\n\r\nfunction getDiagnosticsArg(diagnostics: string | undefined): number {\r\n switch (diagnostics) {\r\n case 'none':\r\n return 1;\r\n case 'unix':\r\n return 2;\r\n case 'full':\r\n default:\r\n return 3;\r\n }\r\n}\r\n","import { PackageRegistry, PackageResolveContext, PackageSpec } from '../internal.types.mjs';\r\nimport { WritableAccessModel } from './index.mjs';\r\n\r\nexport class FetchPackageRegistry implements PackageRegistry {\r\n cache: Map<string, () => string | undefined> = new Map();\r\n constructor(\r\n /** \r\n * @internal \r\n * Access model for internal use only\r\n */\r\n protected am: WritableAccessModel\r\n ) {}\r\n\r\n resolvePath(path: PackageSpec): string {\r\n return `https://packages.typst.org/preview/${path.name}-${path.version}.tar.gz`;\r\n }\r\n\r\n pullPackageData(path: PackageSpec): Uint8Array | undefined {\r\n const request = new XMLHttpRequest();\r\n request.overrideMimeType('text/plain; charset=x-user-defined');\r\n request.open('GET', this.resolvePath(path), false);\r\n request.send(null);\r\n\r\n if (\r\n request.status === 200 &&\r\n (request.response instanceof String || typeof request.response === 'string')\r\n ) {\r\n return Uint8Array.from(request.response, (c: string) => c.charCodeAt(0));\r\n }\r\n return undefined;\r\n }\r\n\r\n resolve(spec: PackageSpec, context: PackageResolveContext): string | undefined {\r\n if (spec.namespace !== 'preview') {\r\n return undefined;\r\n }\r\n\r\n /// Check cache\r\n const path = this.resolvePath(spec);\r\n if (this.cache.has(path)) {\r\n return this.cache.get(path)!();\r\n }\r\n\r\n /// Fetch data\r\n const data = this.pullPackageData(spec);\r\n if (!data) {\r\n return undefined;\r\n }\r\n\r\n /// Extract package bundle to the underlying access model `this.am`\r\n const previewDir = `/@memory/fetch/packages/${spec.namespace}/${spec.name}/${spec.version}`;\r\n const entries: [string, Uint8Array, Date][] = [];\r\n context.untar(data, (path: string, data: Uint8Array, mtime: number) => {\r\n entries.push([previewDir + '/' + path, data, new Date(mtime)]);\r\n });\r\n const cacheClosure = () => {\r\n for (const [path, data, mtime] of entries) {\r\n this.am.insertFile(path, data, mtime);\r\n }\r\n\r\n /// Return the resolved directory to the package\r\n /// It is then used to access the package data by the access model `this.am`\r\n return previewDir;\r\n };\r\n this.cache.set(path, cacheClosure);\r\n\r\n /// Trigger write out\r\n return cacheClosure();\r\n }\r\n}\r\n","import { FsAccessModel } from '../internal.types.mjs';\r\nimport { WritableAccessModel } from './index.mjs';\r\n\r\nexport class MemoryAccessModel implements FsAccessModel, WritableAccessModel {\r\n mTimes: Map<string, Date | undefined> = new Map();\r\n mData: Map<string, Uint8Array | undefined> = new Map();\r\n constructor() {}\r\n\r\n reset() {\r\n this.mTimes.clear();\r\n this.mData.clear();\r\n }\r\n\r\n insertFile(path: string, data: Uint8Array, mtime: Date) {\r\n this.mTimes.set(path, mtime);\r\n this.mData.set(path, data);\r\n }\r\n\r\n removeFile(path: string) {\r\n this.mTimes.delete(path);\r\n this.mData.delete(path);\r\n }\r\n\r\n getMTime(path: string): Date | undefined {\r\n if (!path.startsWith('/@memory/')) {\r\n return undefined;\r\n }\r\n\r\n if (this.mTimes.has(path)) {\r\n return this.mTimes.get(path);\r\n }\r\n return undefined;\r\n }\r\n\r\n isFile(): boolean | undefined {\r\n return true;\r\n }\r\n\r\n getRealPath(path: string): string | undefined {\r\n return path;\r\n }\r\n\r\n readAll(path: string): Uint8Array | undefined {\r\n if (!path.startsWith('/@memory/')) {\r\n return undefined;\r\n }\r\n\r\n if (this.mData.has(path)) {\r\n return this.mData.get(path);\r\n }\r\n\r\n return undefined;\r\n }\r\n}\r\n","import {\n createTypstCompiler,\n type TypstCompiler,\n} from \"@myriaddreamin/typst.ts/compiler\";\n\nimport {\n loadFonts,\n withPackageRegistry,\n withAccessModel,\n} from \"@myriaddreamin/typst.ts/options.init\";\n\nimport { FetchPackageRegistry } from \"@myriaddreamin/typst.ts/fs/package\";\nimport { MemoryAccessModel } from \"@myriaddreamin/typst.ts/fs/memory\";\n\nimport type { WorkerRequest, WorkerResponse, DiagnosticMessage } from \"./types.js\";\n\n// typst-ts-web-compiler format enum: 1 = PDF\nconst PDF_FORMAT = 1;\n\nconst accessModel = new MemoryAccessModel();\nconst packageRegistry = new FetchPackageRegistry(accessModel);\n\nlet compiler: TypstCompiler | null = null;\n\nasync function initCompiler(wasmUrl: string, fontUrls: string[], packages: boolean): Promise<void> {\n compiler = createTypstCompiler();\n await compiler.init({\n getModule: () => wasmUrl,\n beforeBuild: [\n loadFonts(fontUrls),\n ...(packages ? [withAccessModel(accessModel), withPackageRegistry(packageRegistry)] : []),\n ],\n });\n}\n\nfunction parseRange(range: string): DiagnosticMessage[\"range\"] | null {\n const m = range.match(/(\\d+):(\\d+)-(\\d+):(\\d+)/);\n if (!m) {\n console.warn(`[typst-web-service] Skipping diagnostic with unrecognized range format: ${JSON.stringify(range)}`);\n return null;\n }\n return { startLine: +m[1], startCol: +m[2], endLine: +m[3], endCol: +m[4] };\n}\n\nasync function compile(source: string): Promise<{ diagnostics: DiagnosticMessage[]; vector?: Uint8Array }> {\n if (!compiler) throw new Error(\"Compiler not initialized\");\n compiler.addSource(\"/main.typ\", source);\n const result = await compiler.compile({ mainFilePath: \"/main.typ\", diagnostics: \"full\" });\n const diagnostics: DiagnosticMessage[] = (result.diagnostics ?? []).flatMap((d) => {\n const range = parseRange(d.range);\n if (!range) return [];\n return [{ ...d, severity: d.severity as DiagnosticMessage[\"severity\"], range }];\n });\n return { diagnostics, vector: result.result ?? undefined };\n}\n\nfunction postError(id: number, err: unknown): void {\n self.postMessage({\n type: \"error\",\n id,\n message: err instanceof Error ? err.message : String(err),\n } satisfies WorkerResponse);\n}\n\nfunction transferBuffer(data: Uint8Array): ArrayBuffer {\n // data.buffer is ArrayBuffer in a Worker context (not SharedArrayBuffer)\n return (data.buffer as ArrayBuffer).slice(data.byteOffset, data.byteOffset + data.byteLength);\n}\n\n// Yield to the event loop so queued messages get processed before we start work.\nconst yieldToEventLoop = () => new Promise<void>((r) => setTimeout(r, 0));\n\n// --- Compile coalescing ---\n// Fast typing queues multiple compile requests. Since WASM execution blocks\n// the worker thread, we coalesce: before starting a compile, yield to the\n// event loop. If a newer request arrived, skip the old one.\n\ntype CompileRequest = Extract<WorkerRequest, { type: \"compile\" }>;\ntype RenderRequest = Extract<WorkerRequest, { type: \"render\" }>;\n\nlet pendingCompile: CompileRequest | null = null;\nlet processingCompile = false;\n\nlet pendingRender: RenderRequest | null = null;\nlet processingRender = false;\n\nasync function drainCompileQueue(): Promise<void> {\n processingCompile = true;\n while (pendingCompile) {\n const req = pendingCompile;\n pendingCompile = null;\n await yieldToEventLoop();\n if (pendingCompile) {\n self.postMessage({ type: \"cancelled\", id: req.id } satisfies WorkerResponse);\n continue;\n }\n try {\n const { diagnostics, vector: vectorData } = await compile(req.source);\n const vector = vectorData ? transferBuffer(vectorData) : undefined;\n const msg: WorkerResponse = { type: \"result\", id: req.id, diagnostics, vector };\n self.postMessage(msg, vector ? [vector] : []);\n } catch (err) {\n postError(req.id, err);\n }\n }\n processingCompile = false;\n}\n\nasync function drainRenderQueue(): Promise<void> {\n processingRender = true;\n while (pendingRender) {\n const req = pendingRender;\n pendingRender = null;\n await yieldToEventLoop();\n if (pendingRender) {\n self.postMessage({ type: \"cancelled\", id: req.id } satisfies WorkerResponse);\n continue;\n }\n try {\n if (!compiler) throw new Error(\"Compiler not initialized\");\n compiler.addSource(\"/main.typ\", req.source);\n const result = await compiler.compile({\n mainFilePath: \"/main.typ\",\n format: PDF_FORMAT,\n diagnostics: \"none\",\n } as Parameters<typeof compiler.compile>[0]);\n if (!result.result) throw new Error(\"Compilation produced no output\");\n const data = transferBuffer(result.result);\n self.postMessage({ type: \"pdf\", id: req.id, data } satisfies WorkerResponse, [data]);\n } catch (err) {\n postError(req.id, err);\n }\n }\n processingRender = false;\n}\n\nself.onmessage = async (e: MessageEvent<WorkerRequest>) => {\n const req = e.data;\n\n if (req.type === \"init\") {\n try {\n await initCompiler(req.wasmUrl, req.fonts, req.packages);\n self.postMessage({ type: \"ready\", id: req.id } satisfies WorkerResponse);\n } catch (err) {\n postError(req.id, err);\n }\n return;\n }\n\n if (req.type === \"compile\") {\n pendingCompile = req;\n if (!processingCompile) drainCompileQueue();\n return;\n }\n\n if (req.type === \"render\") {\n pendingRender = req;\n if (!processingRender) drainRenderQueue();\n return;\n }\n\n if (req.type === \"destroy\") {\n self.postMessage({ type: \"destroyed\", id: req.id } satisfies WorkerResponse);\n }\n};\n"],"mappings":"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","names":["ptr","arg0","arg1","TypstDefaultParams","packageRegistry","accessModel","CompileFormatEnum","TypstFontResolverCons","_a","TypstCompilerBuilder","path","data"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vedivad/typst-web-service",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Editor-agnostic Typst compilation service running in a Web Worker",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./worker": {
|
|
14
|
+
"import": "./dist/worker.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsup",
|
|
22
|
+
"dev": "tsup --watch"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@myriaddreamin/typst.ts": "^0.7.0-rc2",
|
|
26
|
+
"@myriaddreamin/typst-ts-web-compiler": "^0.7.0-rc2"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"esbuild": "^0.27.3",
|
|
30
|
+
"tsup": "^8.0.0",
|
|
31
|
+
"typescript": "^5.9.3"
|
|
32
|
+
},
|
|
33
|
+
"license": "MIT"
|
|
34
|
+
}
|