@vedivad/typst-web-service 0.3.0 → 0.4.4

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.js CHANGED
@@ -1,39 +1,6 @@
1
- var __typeError = (msg) => {
2
- throw TypeError(msg);
3
- };
4
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
6
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
7
-
8
- // src/formatter.ts
9
- var typstylePromise = null;
10
- function getTypstyle() {
11
- if (!typstylePromise) {
12
- typstylePromise = import("@typstyle/typstyle-wasm-bundler");
13
- }
14
- return typstylePromise;
15
- }
16
- var TypstFormatter = class {
17
- constructor(config = {}) {
18
- this.config = config;
19
- getTypstyle();
20
- }
21
- /** Format an entire Typst source string. */
22
- async format(source) {
23
- const typstyle = await getTypstyle();
24
- return typstyle.format(source, this.config);
25
- }
26
- /** Format a range within a Typst source string. Indices are UTF-16 code units. */
27
- async formatRange(source, start, end) {
28
- const typstyle = await getTypstyle();
29
- const result = typstyle.format_range(source, start, end, this.config);
30
- return { start: result.start, end: result.end, text: result.text };
31
- }
32
- };
33
-
34
1
  // src/rpc.ts
35
- function createWorker() {
36
- const blob = new Blob(['"use strict";(()=>{var qt=Object.defineProperty;var ft=(n,t)=>()=>(n&&(t=n(n=0)),t);var Ut=(n,t)=>{for(var e in t)qt(n,e,{get:t[e],enumerable:!0})};function f(n){q===S.length&&S.push(S.length+1);let t=q;return q=S[t],S[t]=n,t}function rt(n,t){if(!(n instanceof t))throw new Error(`expected instance of ${t.name}`)}function ot(n){let t=typeof n;if(t=="number"||t=="boolean"||n==null)return`${n}`;if(t=="string")return`"${n}"`;if(t=="symbol"){let o=n.description;return o==null?"Symbol":`Symbol(${o})`}if(t=="function"){let o=n.name;return typeof o=="string"&&o.length>0?`Function(${o})`:"Function"}if(Array.isArray(n)){let o=n.length,s="[";o>0&&(s+=ot(n[0]));for(let _=1;_<o;_++)s+=", "+ot(n[_]);return s+="]",s}let e=/\\[object ([^\\]]+)\\]/.exec(toString.call(n)),r;if(e&&e.length>1)r=e[1];else return toString.call(n);if(r=="Object")try{return"Object("+JSON.stringify(n)+")"}catch{return"Object"}return n instanceof Error?`${n.name}: ${n.message}\n${n.stack}`:r}function Gt(n){n<132||(S[n]=q,q=n)}function Yt(n,t){n=n>>>0;let e=a(),r=[];for(let o=n;o<n+4*t;o+=4)r.push(d(e.getUint32(o,!0)));return r}function Kt(n,t){return n=n>>>0,Qt().subarray(n/4,n/4+t)}function it(n,t){return n=n>>>0,O().subarray(n/1,n/1+t)}function a(){return(A===null||A.buffer.detached===!0||A.buffer.detached===void 0&&A.buffer!==i.memory.buffer)&&(A=new DataView(i.memory.buffer)),A}function I(n,t){return n=n>>>0,ee(n,t)}function Qt(){return(z===null||z.byteLength===0)&&(z=new Uint32Array(i.memory.buffer)),z}function O(){return(D===null||D.byteLength===0)&&(D=new Uint8Array(i.memory.buffer)),D}function c(n){return S[n]}function T(n,t){try{return n.apply(this,t)}catch(e){i.__wbindgen_export3(f(e))}}function y(n){return n==null}function Zt(n,t,e,r){let o={a:n,b:t,cnt:1,dtor:e},s=(..._)=>{o.cnt++;let u=o.a;o.a=0;try{return r(u,o.b,..._)}finally{o.a=u,s._wbg_cb_unref()}};return s._wbg_cb_unref=()=>{--o.cnt===0&&(o.dtor(o.a,o.b),o.a=0,wt.unregister(o))},wt.register(s,o,o),s}function It(n,t){let e=t(n.length*1,1)>>>0;return O().set(n,e/1),l=n.length,e}function H(n,t){let e=t(n.length*4,4)>>>0,r=a();for(let o=0;o<n.length;o++)r.setUint32(e+4*o,f(n[o]),!0);return l=n.length,e}function b(n,t,e){if(e===void 0){let u=U.encode(n),g=t(u.length,1)>>>0;return O().subarray(g,g+u.length).set(u),l=u.length,g}let r=n.length,o=t(r,1)>>>0,s=O(),_=0;for(;_<r;_++){let u=n.charCodeAt(_);if(u>127)break;s[o+_]=u}if(_!==r){_!==0&&(n=n.slice(_)),o=e(o,r,r=_+n.length*3,1)>>>0;let u=O().subarray(o+_,o+r),g=U.encodeInto(n,u);_+=g.written,o=e(o,r,_,1)>>>0}return l=_,o}function d(n){let t=c(n);return Gt(n),t}function ee(n,t){return et+=t,et>=te&&(G=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),G.decode(),et=t),G.decode(O().subarray(n,n+t))}function ne(n,t,e){i.__wasm_bindgen_func_elem_944(n,t,f(e))}function re(n,t,e,r){i.__wasm_bindgen_func_elem_37348(n,t,f(e),f(r))}function oe(n){let t=i.get_font_info(f(n));return d(t)}async function se(n,t){if(typeof Response=="function"&&n instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(n,t)}catch(r){if(n.ok&&ie.has(n.type)&&n.headers.get("Content-Type")!=="application/wasm")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",r);else throw r}let e=await n.arrayBuffer();return await WebAssembly.instantiate(e,t)}else{let e=await WebAssembly.instantiate(n,t);return e instanceof WebAssembly.Instance?{instance:e,module:n}:e}}function kt(){let n={};return n.wbg={},n.wbg.__wbg_Error_52673b7de5a0ca89=function(t,e){let r=Error(I(t,e));return f(r)},n.wbg.__wbg_Number_2d1dcfcf4ec51736=function(t){return Number(c(t))},n.wbg.__wbg___wbindgen_bigint_get_as_i64_6e32f5e6aff02e1d=function(t,e){let r=c(e),o=typeof r=="bigint"?r:void 0;a().setBigInt64(t+8,y(o)?BigInt(0):o,!0),a().setInt32(t+0,!y(o),!0)},n.wbg.__wbg___wbindgen_boolean_get_dea25b33882b895b=function(t){let e=c(t),r=typeof e=="boolean"?e:void 0;return y(r)?16777215:r?1:0},n.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(t,e){let r=ot(c(e)),o=b(r,i.__wbindgen_export,i.__wbindgen_export2),s=l;a().setInt32(t+4,s,!0),a().setInt32(t+0,o,!0)},n.wbg.__wbg___wbindgen_in_0d3e1e8f0c669317=function(t,e){return c(t)in c(e)},n.wbg.__wbg___wbindgen_is_bigint_0e1a2e3f55cfae27=function(t){return typeof c(t)=="bigint"},n.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd=function(t){return typeof c(t)=="function"},n.wbg.__wbg___wbindgen_is_object_ce774f3490692386=function(t){let e=c(t);return typeof e=="object"&&e!==null},n.wbg.__wbg___wbindgen_is_string_704ef9c8fc131030=function(t){return typeof c(t)=="string"},n.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269=function(t){return c(t)===void 0},n.wbg.__wbg___wbindgen_jsval_eq_b6101cc9cef1fe36=function(t,e){return c(t)===c(e)},n.wbg.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d=function(t,e){return c(t)==c(e)},n.wbg.__wbg___wbindgen_number_get_9619185a74197f95=function(t,e){let r=c(e),o=typeof r=="number"?r:void 0;a().setFloat64(t+8,y(o)?0:o,!0),a().setInt32(t+0,!y(o),!0)},n.wbg.__wbg___wbindgen_string_get_a2a31e16edf96e42=function(t,e){let r=c(e),o=typeof r=="string"?r:void 0;var s=y(o)?0:b(o,i.__wbindgen_export,i.__wbindgen_export2),_=l;a().setInt32(t+4,_,!0),a().setInt32(t+0,s,!0)},n.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(t,e){throw new Error(I(t,e))},n.wbg.__wbg__wbg_cb_unref_87dfb5aaa0cbcea7=function(t){c(t)._wbg_cb_unref()},n.wbg.__wbg_call_3020136f7a2d6e44=function(){return T(function(t,e,r){let o=c(t).call(c(e),c(r));return f(o)},arguments)},n.wbg.__wbg_call_78f94eb02ec7f9b2=function(){return T(function(t,e,r,o,s){let _=c(t).call(c(e),c(r),c(o),c(s));return f(_)},arguments)},n.wbg.__wbg_call_abb4ff46ce38be40=function(){return T(function(t,e){let r=c(t).call(c(e));return f(r)},arguments)},n.wbg.__wbg_done_62ea16af4ce34b24=function(t){return c(t).done},n.wbg.__wbg_entries_83c79938054e065f=function(t){let e=Object.entries(c(t));return f(e)},n.wbg.__wbg_error_7534b8e9a36f1ab4=function(t,e){let r,o;try{r=t,o=e,console.error(I(t,e))}finally{i.__wbindgen_export4(r,o,1)}},n.wbg.__wbg_error_85faeb8919b11cc6=function(t,e,r){console.error(c(t),c(e),c(r))},n.wbg.__wbg_getTimezoneOffset_45389e26d6f46823=function(t){return c(t).getTimezoneOffset()},n.wbg.__wbg_get_6b7bd52aca3f9671=function(t,e){let r=c(t)[e>>>0];return f(r)},n.wbg.__wbg_get_af9dab7e9603ea93=function(){return T(function(t,e){let r=Reflect.get(c(t),c(e));return f(r)},arguments)},n.wbg.__wbg_get_with_ref_key_1dc361bd10053bfe=function(t,e){let r=c(t)[c(e)];return f(r)},n.wbg.__wbg_info_ce6bcc489c22f6f0=function(t){console.info(c(t))},n.wbg.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355=function(t){let e;try{e=c(t)instanceof ArrayBuffer}catch{e=!1}return e},n.wbg.__wbg_instanceof_Map_084be8da74364158=function(t){let e;try{e=c(t)instanceof Map}catch{e=!1}return e},n.wbg.__wbg_instanceof_Uint8Array_da54ccc9d3e09434=function(t){let e;try{e=c(t)instanceof Uint8Array}catch{e=!1}return e},n.wbg.__wbg_isArray_51fd9e6422c0a395=function(t){return Array.isArray(c(t))},n.wbg.__wbg_isSafeInteger_ae7d3f054d55fa16=function(t){return Number.isSafeInteger(c(t))},n.wbg.__wbg_iterator_27b7c8b35ab3e86b=function(){return f(Symbol.iterator)},n.wbg.__wbg_length_22ac23eaec9d8053=function(t){return c(t).length},n.wbg.__wbg_length_d45040a40c570362=function(t){return c(t).length},n.wbg.__wbg_new_1ba21ce319a06297=function(){let t=new Object;return f(t)},n.wbg.__wbg_new_25f239778d6112b9=function(){let t=new Array;return f(t)},n.wbg.__wbg_new_6421f6084cc5bc5a=function(t){let e=new Uint8Array(c(t));return f(e)},n.wbg.__wbg_new_8a6f238a6ece86ea=function(){let t=new Error;return f(t)},n.wbg.__wbg_new_b2db8aa2650f793a=function(t){let e=new Date(c(t));return f(e)},n.wbg.__wbg_new_df1173567d5ff028=function(t,e){let r=new Error(I(t,e));return f(r)},n.wbg.__wbg_new_ff12d2b041fb48f1=function(t,e){try{var r={a:t,b:e},o=(_,u)=>{let g=r.a;r.a=0;try{return re(g,r.b,_,u)}finally{r.a=g}};let s=new Promise(o);return f(s)}finally{r.a=r.b=0}},n.wbg.__wbg_new_from_slice_db0691b69e9d3891=function(t,e){let r=new Uint32Array(Kt(t,e));return f(r)},n.wbg.__wbg_new_from_slice_f9c22b9153b26992=function(t,e){let r=new Uint8Array(it(t,e));return f(r)},n.wbg.__wbg_new_no_args_cb138f77cf6151ee=function(t,e){let r=new Function(I(t,e));return f(r)},n.wbg.__wbg_new_with_args_df9e7125ffe55248=function(t,e,r,o){let s=new Function(I(t,e),I(r,o));return f(s)},n.wbg.__wbg_next_138a17bbf04e926c=function(t){let e=c(t).next;return f(e)},n.wbg.__wbg_next_3cfe5c0fe2a4cc53=function(){return T(function(t){let e=c(t).next();return f(e)},arguments)},n.wbg.__wbg_now_69d776cd24f5215b=function(){return Date.now()},n.wbg.__wbg_prototypesetcall_dfe9b766cdc1f1fd=function(t,e,r){Uint8Array.prototype.set.call(it(t,e),c(r))},n.wbg.__wbg_proxycontext_new=function(t){let e=j.__wrap(t);return f(e)},n.wbg.__wbg_push_7d9be8f38fc13975=function(t,e){return c(t).push(c(e))},n.wbg.__wbg_queueMicrotask_9b549dfce8865860=function(t){let e=c(t).queueMicrotask;return f(e)},n.wbg.__wbg_queueMicrotask_fca69f5bfad613a5=function(t){queueMicrotask(c(t))},n.wbg.__wbg_resolve_fd5bfbaa4ce36e1e=function(t){let e=Promise.resolve(c(t));return f(e)},n.wbg.__wbg_set_3f1d0b984ed272ed=function(t,e,r){c(t)[d(e)]=d(r)},n.wbg.__wbg_set_781438a03c0c3c81=function(){return T(function(t,e,r){return Reflect.set(c(t),c(e),c(r))},arguments)},n.wbg.__wbg_set_7df433eea03a5c14=function(t,e,r){c(t)[e>>>0]=d(r)},n.wbg.__wbg_stack_0ed75d68575b0f3c=function(t,e){let r=c(e).stack,o=b(r,i.__wbindgen_export,i.__wbindgen_export2),s=l;a().setInt32(t+4,s,!0),a().setInt32(t+0,o,!0)},n.wbg.__wbg_static_accessor_GLOBAL_769e6b65d6557335=function(){let t=typeof global>"u"?null:global;return y(t)?0:f(t)},n.wbg.__wbg_static_accessor_GLOBAL_THIS_60cf02db4de8e1c1=function(){let t=typeof globalThis>"u"?null:globalThis;return y(t)?0:f(t)},n.wbg.__wbg_static_accessor_SELF_08f5a74c69739274=function(){let t=typeof self>"u"?null:self;return y(t)?0:f(t)},n.wbg.__wbg_static_accessor_WINDOW_a8924b26aa92d024=function(){let t=typeof window>"u"?null:window;return y(t)?0:f(t)},n.wbg.__wbg_then_4f95312d68691235=function(t,e){let r=c(t).then(c(e));return f(r)},n.wbg.__wbg_typstcompiler_new=function(t){let e=E.__wrap(t);return f(e)},n.wbg.__wbg_typstfontresolver_new=function(t){let e=M.__wrap(t);return f(e)},n.wbg.__wbg_value_57b7b035e117f7ee=function(t){let e=c(t).value;return f(e)},n.wbg.__wbindgen_cast_2241b6af4c4b2941=function(t,e){let r=I(t,e);return f(r)},n.wbg.__wbindgen_cast_3334ea73b4b28ba3=function(t,e){let r=Zt(t,e,i.__wasm_bindgen_func_elem_957,ne);return f(r)},n.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(t){let e=BigInt.asUintN(64,t);return f(e)},n.wbg.__wbindgen_cast_9ae0607507abb057=function(t){return f(t)},n.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(t){return f(t)},n.wbg.__wbindgen_object_clone_ref=function(t){let e=c(t);return f(e)},n.wbg.__wbindgen_object_drop_ref=function(t){d(t)},n}function St(n,t){return i=n.exports,Ft.__wbindgen_wasm_module=t,A=null,z=null,D=null,i}function _e(n){if(i!==void 0)return i;typeof n<"u"&&(Object.getPrototypeOf(n)===Object.prototype?{module:n}=n:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=kt();n instanceof WebAssembly.Module||(n=new WebAssembly.Module(n));let e=new WebAssembly.Instance(n,t);return St(e,n)}async function Ft(n){if(i!==void 0)return i;typeof n<"u"&&(Object.getPrototypeOf(n)===Object.prototype?{module_or_path:n}=n:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof n>"u"&&(n=At("typst_ts_web_compiler_bg.wasm",ae.url));let t=kt();(typeof n=="string"||typeof Request=="function"&&n instanceof Request||typeof URL=="function"&&n instanceof URL)&&(n=fetch(n));let{instance:e,module:r}=await se(await n,t);return St(e,r)}function st(n){At=n}var ae,i,wt,A,z,D,S,q,G,te,et,U,l,bt,nt,yt,mt,ht,vt,xt,F,j,B,E,N,M,J,ie,Rt,At,Y=ft(()=>{ae={};wt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>n.dtor(n.a,n.b));A=null;z=null;D=null;S=new Array(128).fill(void 0);S.push(void 0,null,!0,!1);q=S.length;G=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});G.decode();te=2146435072,et=0;U=new TextEncoder;"encodeInto"in U||(U.encodeInto=function(n,t){let e=U.encode(n);return t.set(e),{read:n.length,written:e.length}});l=0;bt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_incrserver_free(n>>>0,1)),nt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_proxycontext_free(n>>>0,1)),yt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstcompileworld_free(n>>>0,1)),mt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstcompiler_free(n>>>0,1)),ht=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstcompilerbuilder_free(n>>>0,1)),vt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstfontresolver_free(n>>>0,1)),xt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstfontresolverbuilder_free(n>>>0,1)),F=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,bt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,bt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_incrserver_free(t,0)}set_attach_debug_info(t){i.incrserver_set_attach_debug_info(this.__wbg_ptr,t)}current(){try{let r=i.__wbindgen_add_to_stack_pointer(-16);i.incrserver_current(r,this.__wbg_ptr);var t=a().getInt32(r+0,!0),e=a().getInt32(r+4,!0);let o;return t!==0&&(o=it(t,e).slice(),i.__wbindgen_export4(t,e*1,1)),o}finally{i.__wbindgen_add_to_stack_pointer(16)}}reset(){i.incrserver_reset(this.__wbg_ptr)}};Symbol.dispose&&(F.prototype[Symbol.dispose]=F.prototype.free);j=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,nt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,nt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_proxycontext_free(t,0)}constructor(t){let e=i.proxycontext_new(f(t));return this.__wbg_ptr=e>>>0,nt.register(this,this.__wbg_ptr,this),this}get context(){let t=i.proxycontext_context(this.__wbg_ptr);return d(t)}untar(t,e){try{let s=i.__wbindgen_add_to_stack_pointer(-16),_=It(t,i.__wbindgen_export),u=l;i.proxycontext_untar(s,this.__wbg_ptr,_,u,f(e));var r=a().getInt32(s+0,!0),o=a().getInt32(s+4,!0);if(o)throw d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(j.prototype[Symbol.dispose]=j.prototype.free);B=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,yt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,yt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstcompileworld_free(t,0)}compile(t,e){try{let _=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompileworld_compile(_,this.__wbg_ptr,t,e);var r=a().getInt32(_+0,!0),o=a().getInt32(_+4,!0),s=a().getInt32(_+8,!0);if(s)throw d(o);return d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}title(t){try{let _=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompileworld_title(_,this.__wbg_ptr,t);var e=a().getInt32(_+0,!0),r=a().getInt32(_+4,!0),o=a().getInt32(_+8,!0),s=a().getInt32(_+12,!0);if(s)throw d(o);let u;return e!==0&&(u=I(e,r).slice(),i.__wbindgen_export4(e,r*1,1)),u}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_artifact(t,e){try{let _=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompileworld_get_artifact(_,this.__wbg_ptr,t,e);var r=a().getInt32(_+0,!0),o=a().getInt32(_+4,!0),s=a().getInt32(_+8,!0);if(s)throw d(o);return d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}query(t,e,r){let o,s;try{let k=i.__wbindgen_add_to_stack_pointer(-16),C=b(e,i.__wbindgen_export,i.__wbindgen_export2),W=l;var _=y(r)?0:b(r,i.__wbindgen_export,i.__wbindgen_export2),u=l;i.typstcompileworld_query(k,this.__wbg_ptr,t,C,W,_,u);var g=a().getInt32(k+0,!0),p=a().getInt32(k+4,!0),w=a().getInt32(k+8,!0),h=a().getInt32(k+12,!0),m=g,v=p;if(h)throw m=0,v=0,d(w);return o=m,s=v,I(m,v)}finally{i.__wbindgen_add_to_stack_pointer(16),i.__wbindgen_export4(o,s,1)}}incr_compile(t,e){try{let _=i.__wbindgen_add_to_stack_pointer(-16);rt(t,F),i.typstcompileworld_incr_compile(_,this.__wbg_ptr,t.__wbg_ptr,e);var r=a().getInt32(_+0,!0),o=a().getInt32(_+4,!0),s=a().getInt32(_+8,!0);if(s)throw d(o);return d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(B.prototype[Symbol.dispose]=B.prototype.free);E=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,mt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,mt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstcompiler_free(t,0)}reset(){try{let r=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_reset(r,this.__wbg_ptr);var t=a().getInt32(r+0,!0),e=a().getInt32(r+4,!0);if(e)throw d(t)}finally{i.__wbindgen_add_to_stack_pointer(16)}}set_fonts(t){try{let o=i.__wbindgen_add_to_stack_pointer(-16);rt(t,M),i.typstcompiler_set_fonts(o,this.__wbg_ptr,t.__wbg_ptr);var e=a().getInt32(o+0,!0),r=a().getInt32(o+4,!0);if(r)throw d(e)}finally{i.__wbindgen_add_to_stack_pointer(16)}}set_inputs(t){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_set_inputs(o,this.__wbg_ptr,f(t));var e=a().getInt32(o+0,!0),r=a().getInt32(o+4,!0);if(r)throw d(e)}finally{i.__wbindgen_add_to_stack_pointer(16)}}add_source(t,e){let r=b(t,i.__wbindgen_export,i.__wbindgen_export2),o=l,s=b(e,i.__wbindgen_export,i.__wbindgen_export2),_=l;return i.typstcompiler_add_source(this.__wbg_ptr,r,o,s,_)!==0}map_shadow(t,e){let r=b(t,i.__wbindgen_export,i.__wbindgen_export2),o=l,s=It(e,i.__wbindgen_export),_=l;return i.typstcompiler_map_shadow(this.__wbg_ptr,r,o,s,_)!==0}unmap_shadow(t){let e=b(t,i.__wbindgen_export,i.__wbindgen_export2),r=l;return i.typstcompiler_unmap_shadow(this.__wbg_ptr,e,r)!==0}reset_shadow(){i.typstcompiler_reset_shadow(this.__wbg_ptr)}get_loaded_fonts(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_get_loaded_fonts(o,this.__wbg_ptr);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=Yt(t,e).slice();return i.__wbindgen_export4(t,e*4,4),r}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_ast(t){let e,r;try{let w=i.__wbindgen_add_to_stack_pointer(-16),h=b(t,i.__wbindgen_export,i.__wbindgen_export2),m=l;i.typstcompiler_get_ast(w,this.__wbg_ptr,h,m);var o=a().getInt32(w+0,!0),s=a().getInt32(w+4,!0),_=a().getInt32(w+8,!0),u=a().getInt32(w+12,!0),g=o,p=s;if(u)throw g=0,p=0,d(_);return e=g,r=p,I(g,p)}finally{i.__wbindgen_add_to_stack_pointer(16),i.__wbindgen_export4(e,r,1)}}get_semantic_token_legend(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_get_semantic_token_legend(o,this.__wbg_ptr);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=a().getInt32(o+8,!0);if(r)throw d(e);return d(t)}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_semantic_tokens(t,e,r){try{let h=i.__wbindgen_add_to_stack_pointer(-16),m=b(t,i.__wbindgen_export,i.__wbindgen_export2),v=l;var o=y(e)?0:b(e,i.__wbindgen_export,i.__wbindgen_export2),s=l,_=y(r)?0:b(r,i.__wbindgen_export,i.__wbindgen_export2),u=l;i.typstcompiler_get_semantic_tokens(h,this.__wbg_ptr,m,v,o,s,_,u);var g=a().getInt32(h+0,!0),p=a().getInt32(h+4,!0),w=a().getInt32(h+8,!0);if(w)throw d(p);return d(g)}finally{i.__wbindgen_add_to_stack_pointer(16)}}snapshot(t,e,r){try{let v=i.__wbindgen_add_to_stack_pointer(-16);var o=y(t)?0:b(t,i.__wbindgen_export,i.__wbindgen_export2),s=l,_=y(e)?0:b(e,i.__wbindgen_export,i.__wbindgen_export2),u=l,g=y(r)?0:H(r,i.__wbindgen_export),p=l;i.typstcompiler_snapshot(v,this.__wbg_ptr,o,s,_,u,g,p);var w=a().getInt32(v+0,!0),h=a().getInt32(v+4,!0),m=a().getInt32(v+8,!0);if(m)throw d(h);return B.__wrap(w)}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_artifact(t,e){try{let _=i.__wbindgen_add_to_stack_pointer(-16),u=b(t,i.__wbindgen_export,i.__wbindgen_export2),g=l;i.typstcompiler_get_artifact(_,this.__wbg_ptr,u,g,e);var r=a().getInt32(_+0,!0),o=a().getInt32(_+4,!0),s=a().getInt32(_+8,!0);if(s)throw d(o);return d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}compile(t,e,r,o){try{let m=i.__wbindgen_add_to_stack_pointer(-16);var s=y(t)?0:b(t,i.__wbindgen_export,i.__wbindgen_export2),_=l,u=y(e)?0:H(e,i.__wbindgen_export),g=l;let v=b(r,i.__wbindgen_export,i.__wbindgen_export2),k=l;i.typstcompiler_compile(m,this.__wbg_ptr,s,_,u,g,v,k,o);var p=a().getInt32(m+0,!0),w=a().getInt32(m+4,!0),h=a().getInt32(m+8,!0);if(h)throw d(w);return d(p)}finally{i.__wbindgen_add_to_stack_pointer(16)}}query(t,e,r,o){let s,_;try{let L=i.__wbindgen_add_to_stack_pointer(-16),Wt=b(t,i.__wbindgen_export,i.__wbindgen_export2),Lt=l;var u=y(e)?0:H(e,i.__wbindgen_export),g=l;let zt=b(r,i.__wbindgen_export,i.__wbindgen_export2),Dt=l;var p=y(o)?0:b(o,i.__wbindgen_export,i.__wbindgen_export2),w=l;i.typstcompiler_query(L,this.__wbg_ptr,Wt,Lt,u,g,zt,Dt,p,w);var h=a().getInt32(L+0,!0),m=a().getInt32(L+4,!0),v=a().getInt32(L+8,!0),k=a().getInt32(L+12,!0),C=h,W=m;if(k)throw C=0,W=0,d(v);return s=C,_=W,I(C,W)}finally{i.__wbindgen_add_to_stack_pointer(16),i.__wbindgen_export4(s,_,1)}}create_incr_server(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_create_incr_server(o,this.__wbg_ptr);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=a().getInt32(o+8,!0);if(r)throw d(e);return F.__wrap(t)}finally{i.__wbindgen_add_to_stack_pointer(16)}}incr_compile(t,e,r,o){try{let w=i.__wbindgen_add_to_stack_pointer(-16),h=b(t,i.__wbindgen_export,i.__wbindgen_export2),m=l;var s=y(e)?0:H(e,i.__wbindgen_export),_=l;rt(r,F),i.typstcompiler_incr_compile(w,this.__wbg_ptr,h,m,s,_,r.__wbg_ptr,o);var u=a().getInt32(w+0,!0),g=a().getInt32(w+4,!0),p=a().getInt32(w+8,!0);if(p)throw d(g);return d(u)}finally{i.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(E.prototype[Symbol.dispose]=E.prototype.free);N=class{__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,ht.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstcompilerbuilder_free(t,0)}constructor(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompilerbuilder_new(o);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=a().getInt32(o+8,!0);if(r)throw d(e);return this.__wbg_ptr=t>>>0,ht.register(this,this.__wbg_ptr,this),this}finally{i.__wbindgen_add_to_stack_pointer(16)}}set_dummy_access_model(){try{let r=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompilerbuilder_set_dummy_access_model(r,this.__wbg_ptr);var t=a().getInt32(r+0,!0),e=a().getInt32(r+4,!0);if(e)throw d(t)}finally{i.__wbindgen_add_to_stack_pointer(16)}}set_access_model(t,e,r,o,s){let _=i.typstcompilerbuilder_set_access_model(this.__wbg_ptr,f(t),f(e),f(r),f(o),f(s));return d(_)}set_package_registry(t,e){let r=i.typstcompilerbuilder_set_package_registry(this.__wbg_ptr,f(t),f(e));return d(r)}add_raw_font(t){let e=i.typstcompilerbuilder_add_raw_font(this.__wbg_ptr,f(t));return d(e)}add_lazy_font(t,e){let r=i.typstcompilerbuilder_add_lazy_font(this.__wbg_ptr,f(t),f(e));return d(r)}build(){let t=this.__destroy_into_raw(),e=i.typstcompilerbuilder_build(t);return d(e)}};Symbol.dispose&&(N.prototype[Symbol.dispose]=N.prototype.free);M=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,vt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,vt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstfontresolver_free(t,0)}};Symbol.dispose&&(M.prototype[Symbol.dispose]=M.prototype.free);J=class{__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,xt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstfontresolverbuilder_free(t,0)}constructor(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstfontresolverbuilder_new(o);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=a().getInt32(o+8,!0);if(r)throw d(e);return this.__wbg_ptr=t>>>0,xt.register(this,this.__wbg_ptr,this),this}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_font_info(t){try{let s=i.__wbindgen_add_to_stack_pointer(-16);i.typstfontresolverbuilder_get_font_info(s,this.__wbg_ptr,f(t));var e=a().getInt32(s+0,!0),r=a().getInt32(s+4,!0),o=a().getInt32(s+8,!0);if(o)throw d(r);return d(e)}finally{i.__wbindgen_add_to_stack_pointer(16)}}add_raw_font(t){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstfontresolverbuilder_add_raw_font(o,this.__wbg_ptr,f(t));var e=a().getInt32(o+0,!0),r=a().getInt32(o+4,!0);if(r)throw d(e)}finally{i.__wbindgen_add_to_stack_pointer(16)}}add_lazy_font(t,e){try{let s=i.__wbindgen_add_to_stack_pointer(-16);i.typstfontresolverbuilder_add_lazy_font(s,this.__wbg_ptr,f(t),f(e));var r=a().getInt32(s+0,!0),o=a().getInt32(s+4,!0);if(o)throw d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}build(){let t=this.__destroy_into_raw(),e=i.typstfontresolverbuilder_build(t);return d(e)}};Symbol.dispose&&(J.prototype[Symbol.dispose]=J.prototype.free);ie=new Set(["basic","cors","default"]);Rt=Ft,At=async function(n,t){throw new Error("Cannot import wasm module without importer: "+n+" "+t)}});var Mt={};Ut(Mt,{IncrServer:()=>F,ProxyContext:()=>j,TypstCompileWorld:()=>B,TypstCompiler:()=>E,TypstCompilerBuilder:()=>N,TypstFontResolver:()=>M,TypstFontResolverBuilder:()=>J,default:()=>ce,get_font_info:()=>oe,initSync:()=>_e,setImportWasmModule:()=>st});var ce,ue,fe,Tt=ft(()=>{Y();Y();Y();ce=Rt,ue=async function(n,t){let e=new Function("m","return import(m)"),{readFileSync:r}=await e("fs"),o=new URL(n,t);return await r(o).buffer},fe=typeof process<"u"&&process.versions!=null&&process.versions.node!=null;fe&&st(ue)});var tt=class{loadedFonts=new Set;fetcher=fetch;setFetcher(t){this.fetcher=t}async loadFonts(t,e){let r=new Function("m","return import(m)"),o=this.fetcher||=await(async function(){let{fetchBuilder:u,FileSystemCache:g}=await r("node-fetch-cache"),p=new g({cacheDirectory:".cache/typst/fonts"}),w=u.withCache(p);return function(h,m){let v=setTimeout(()=>{console.warn("font fetching is stucking:",h)},15e3);return w(h,m).finally(()=>{clearTimeout(v)})}})(),s=e.filter(u=>u instanceof Uint8Array||typeof u=="object"&&"info"in u?!0:this.loadedFonts.has(u)?!1:(this.loadedFonts.add(u),!0)),_=await Promise.all(s.map(async u=>{if(u instanceof Uint8Array){await t.add_raw_font(u);return}if(typeof u=="object"&&"info"in u){await t.add_lazy_font(u,"blob"in u?u.blob:Nt(u));return}return new Uint8Array(await(await o(u)).arrayBuffer())}));for(let u of _)u&&await t.add_raw_font(u)}async build(t,e,r){let o={ref:this,builder:e,hooks:r};for(let s of t?.beforeBuild??[])await s(void 0,o);return r.latelyBuild&&r.latelyBuild(o),await e.build()}};async function dt(n,t,e,r){return await t.init(n?.getModule?.()),await new tt().build(n,new e,r)}function Nt(n){return()=>{let t=new XMLHttpRequest;return t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",n.url,!1),t.send(null),t.status===200&&(t.response instanceof String||typeof t.response=="string")?Uint8Array.from(t.response,e=>e.charCodeAt(0)):new Uint8Array}}var x=Symbol.for("reflexo-obj");var gt;(function(n){n[n.PIXEL_PER_PT=3]="PIXEL_PER_PT"})(gt||(gt={}));var Jt=["DejaVuSansMono-Bold.ttf","DejaVuSansMono-BoldOblique.ttf","DejaVuSansMono-Oblique.ttf","DejaVuSansMono.ttf","LibertinusSerif-Bold.otf","LibertinusSerif-BoldItalic.otf","LibertinusSerif-Italic.otf","LibertinusSerif-Regular.otf","LibertinusSerif-Semibold.otf","LibertinusSerif-SemiboldItalic.otf","NewCM10-Bold.otf","NewCM10-BoldItalic.otf","NewCM10-Italic.otf","NewCM10-Regular.otf","NewCMMath-Bold.otf","NewCMMath-Book.otf","NewCMMath-Regular.otf"],$t=["InriaSerif-Bold.ttf","InriaSerif-BoldItalic.ttf","InriaSerif-Italic.ttf","InriaSerif-Regular.ttf","Roboto-Regular.ttf","NotoSerifCJKsc-Regular.otf"],Vt=["TwitterColorEmoji.ttf","NotoColorEmoji-Regular-COLR.subset.ttf"];function Xt(n){let t=[];if(n&&n?.assets!==!1&&n?.assets?.length&&n?.assets?.length>0){let e={text:"https://cdn.jsdelivr.net/gh/typst/typst-assets@v0.13.1/files/fonts/",_:"https://cdn.jsdelivr.net/gh/typst/typst-dev-assets@v0.13.1/files/fonts/"},r=n.assetUrlPrefix??e;typeof r=="string"?r={_:r}:r={...e,...r};for(let s of Object.keys(r)){let _=r[s];_[_.length-1]!=="/"&&(r[s]=_+"/")}let o=(s,_)=>_.map(u=>(r[s]||r._)+u);for(let s of n.assets)switch(s){case"text":t.push(...o(s,Jt));break;case"cjk":t.push(...o(s,$t));break;case"emoji":t.push(...o(s,Vt));break}}return t}function V(n,t){let e=Xt(t),r=async(o,{ref:s,builder:_})=>{t?.fetcher&&s.setFetcher(t.fetcher),await s.loadFonts(_,[...n,...e])};return r._preloadRemoteFontOptions=t,r._kind="fontLoader",r}function lt(n){return async(t,{builder:e})=>new Promise(r=>{e.set_package_registry(n,function(o){return n.resolve(o,this)}),r()})}function pt(n){return async(t,e)=>{if(e.alreadySetAccessModel)throw new Error(`already set some assess model before: ${e.alreadySetAccessModel.constructor?.name}(${e.alreadySetAccessModel})`);return e.alreadySetAccessModel=n,new Promise(r=>{e.builder.set_access_model(n,o=>{let s=n.getMTime(o);return s?s.getTime():0},o=>n.isFile(o)||!1,o=>n.getRealPath(o)||o,o=>n.readAll(o)),r()})}}var Ht=n=>{let t=!1,e;return()=>t?e:(t=!0,e=n())},X=class{wasmBin;initOnce;constructor(t){if(typeof t!="function")throw new Error("initFn is not a function");this.initOnce=Ht(async()=>{await t(this.wasmBin)})}async init(t){this.wasmBin=t,await this.initOnce()}};var $;(function(n){n[n.vector=0]="vector",n[n.pdf=1]="pdf",n[n._dummy=2]="_dummy"})($||($={}));var _t=class{[x];constructor(t){this[x]=t}reset(){this[x].reset()}current(){return this[x].current()}setAttachDebugInfo(t){this[x].set_attach_debug_info(t)}},Ot;Ot||(Ot={});var at=class{[x];constructor(t){this[x]=t}compile(t){return this[x].compile(0,P(t?.diagnostics))}compileHtml(t){return this[x].compile(1,P(t?.diagnostics))}async query(t){return JSON.parse(this[x].query(0,t.selector,t.field))}title(){return this[x].title(0)}vector(t){return this[x].get_artifact(0,P(t?.diagnostics))||{}}pdf(t){return this[x].get_artifact(1,P(t?.diagnostics))||{}}},de=n=>new X(async t=>await n.default(t));function ct(){return new K}var K=class n{compiler;compilerJs;static defaultAssets=["text"];constructor(){}async init(t){this.compilerJs=await(t?.getWrapper?.()||Promise.resolve().then(()=>(Tt(),Mt)));let e=this.compilerJs.TypstCompilerBuilder,r={...t||{}},o=r.beforeBuild??=[],s=o.some(p=>p._preloadRemoteFontOptions!==void 0),_=o.some(p=>p._preloadRemoteFontOptions?.assets!==void 0),u=o.some(p=>p._preloadRemoteFontOptions?.assets===!1);if((!s||!_&&!u)&&o.push(V([],{assets:n.defaultAssets})),!o.some(p=>p._kind==="fontLoader"))throw new Error("TypstCompiler: no font loader found, please use font loaders, e.g. loadFonts or preloadSystemFonts");this.compiler=await dt(t,de(this.compilerJs),e,{})}setFonts(t){this.compiler.set_fonts(t)}compile(t){return new Promise(e=>{let r=this.compiler.snapshot(t.root,t.mainFilePath,jt(t.inputs));if("incrementalServer"in t){e(r.incr_compile(t.incrementalServer[x],P(t.diagnostics)));return}e(r.get_artifact(t.format||$.vector,P(t.diagnostics)))})}async runWithWorld(t,e){let r=this.compiler.snapshot(t.root,t.mainFilePath,jt(t.inputs)),o=await e(new at(r));return r.free(),o}query(t){return this.runWithWorld(t,async e=>JSON.parse(await e.query(t)))}getSemanticTokenLegend(){return new Promise(t=>{t(this.compiler.get_semantic_token_legend())})}getSemanticTokens(t){return new Promise(e=>{this.compiler.reset(),e(this.compiler.get_semantic_tokens(t.offsetEncoding||"utf-16",t.mainFilePath,t.resultId))})}async withIncrementalServer(t){let e=new _t(this.compiler.create_incr_server());try{return await t(e)}finally{e[x].free()}}async getAst(t){return this.compiler.get_ast(t)}async reset(){await new Promise(t=>{this.compiler.reset(),t(void 0)})}addSource(t,e){if(arguments.length>2)throw new Error("use of addSource(path, source, isMain) is deprecated, please use addSource(path, source) instead");this.compiler.add_source(t,e)}mapShadow(t,e){this.compiler.map_shadow(t,e)}unmapShadow(t){this.compiler.unmap_shadow(t)}resetShadow(){this.compiler.reset_shadow()}renderPageToCanvas(){throw new Error("Please use the api TypstRenderer.renderToCanvas in v0.4.0")}};ct._impl=K;function jt(n){return n?Object.entries(n):void 0}function P(n){switch(n){case"none":return 1;case"unix":return 2;default:return 3}}var Q=class{mTimes=new Map;mData=new Map;constructor(){}reset(){this.mTimes.clear(),this.mData.clear()}insertFile(t,e,r){this.mTimes.set(t,r),this.mData.set(t,e)}removeFile(t){this.mTimes.delete(t),this.mData.delete(t)}getMTime(t){if(t.startsWith("/@memory/")&&this.mTimes.has(t))return this.mTimes.get(t)}isFile(){return!0}getRealPath(t){return t}readAll(t){if(t.startsWith("/@memory/")&&this.mData.has(t))return this.mData.get(t)}};var Z=class{am;cache=new Map;constructor(t){this.am=t}resolvePath(t){return`https://packages.typst.org/preview/${t.name}-${t.version}.tar.gz`}pullPackageData(t){let e=new XMLHttpRequest;if(e.overrideMimeType("text/plain; charset=x-user-defined"),e.open("GET",this.resolvePath(t),!1),e.send(null),e.status===200&&(e.response instanceof String||typeof e.response=="string"))return Uint8Array.from(e.response,r=>r.charCodeAt(0))}resolve(t,e){if(t.namespace!=="preview")return;let r=this.resolvePath(t);if(this.cache.has(r))return this.cache.get(r)();let o=this.pullPackageData(t);if(!o)return;let s=`/@memory/fetch/packages/${t.namespace}/${t.name}/${t.version}`,_=[];e.untar(o,(g,p,w)=>{_.push([s+"/"+g,p,new Date(w)])});let u=()=>{for(let[g,p,w]of _)this.am.insertFile(g,p,w);return s};return this.cache.set(r,u),u()}};var Bt="/main.typ",Et=new Q,ge=new Z(Et),R=null;async function le(n,t,e){R=ct(),await R.init({getModule:()=>n,beforeBuild:[V(t),...e?[pt(Et),lt(ge)]:[]]})}function pe(n){let t=n.match(/(\\d+):(\\d+)-(\\d+):(\\d+)/);return t?{startLine:+t[1],startCol:+t[2],endLine:+t[3],endCol:+t[4]}:(console.warn(`[typst-web-service] Skipping diagnostic with unrecognized range format: ${JSON.stringify(n)}`),null)}async function we(n){if(!R)throw new Error("Compiler not initialized");for(let[r,o]of Object.entries(n))R.addSource(r,o);let t=await R.compile({mainFilePath:Bt,diagnostics:"full"});return{diagnostics:(t.diagnostics??[]).flatMap(r=>{let o=pe(r.range);return o?[{...r,severity:r.severity,range:o}]:[]}),vector:t.result??void 0}}function ut(n,t){self.postMessage({type:"error",id:n,message:t instanceof Error?t.message:String(t)})}function Pt(n){return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)}var be=()=>new Promise(n=>setTimeout(n,0));function Ct(n){let t=null,e=!1;async function r(){for(e=!0;t;){let o=t;if(t=null,await be(),t){self.postMessage({type:"cancelled",id:o.id});continue}await n(o)}e=!1}return o=>{t=o,e||r()}}var ye=Ct(async n=>{try{let{diagnostics:t,vector:e}=await we(n.files),r=e?Pt(e):void 0,o={type:"result",id:n.id,diagnostics:t,vector:r};self.postMessage(o,r?[r]:[])}catch(t){ut(n.id,t)}}),me=Ct(async n=>{try{if(!R)throw new Error("Compiler not initialized");for(let[r,o]of Object.entries(n.files))R.addSource(r,o);let t=await R.compile({mainFilePath:Bt,format:$.pdf,diagnostics:"none"});if(!t.result)throw new Error("Compilation produced no output");let e=Pt(t.result);self.postMessage({type:"pdf",id:n.id,data:e},[e])}catch(t){ut(n.id,t)}});self.onmessage=async n=>{let t=n.data;if(t.type==="init"){try{await le(t.wasmUrl,t.fonts,t.packages),self.postMessage({type:"ready",id:t.id})}catch(e){ut(t.id,e)}return}if(t.type==="compile"){ye(t);return}if(t.type==="render"){me(t);return}t.type==="destroy"&&self.postMessage({type:"destroyed",id:t.id})};})();\n'], { type: "application/javascript" });
2
+ function createBlobWorker(code) {
3
+ const blob = new Blob([code], { type: "application/javascript" });
37
4
  const url = URL.createObjectURL(blob);
38
5
  const worker = new Worker(url);
39
6
  const origTerminate = worker.terminate.bind(worker);
@@ -43,7 +10,13 @@ function createWorker() {
43
10
  };
44
11
  return worker;
45
12
  }
46
- function workerRpc(worker, request, timeoutMs = 3e4) {
13
+ function createWorker() {
14
+ return createBlobWorker('"use strict";(()=>{var Nt=Object.defineProperty;var dt=(n,t)=>()=>(n&&(t=n(n=0)),t);var Jt=(n,t)=>{for(var e in t)Nt(n,e,{get:t[e],enumerable:!0})};function f(n){q===S.length&&S.push(S.length+1);let t=q;return q=S[t],S[t]=n,t}function rt(n,t){if(!(n instanceof t))throw new Error(`expected instance of ${t.name}`)}function ot(n){let t=typeof n;if(t=="number"||t=="boolean"||n==null)return`${n}`;if(t=="string")return`"${n}"`;if(t=="symbol"){let o=n.description;return o==null?"Symbol":`Symbol(${o})`}if(t=="function"){let o=n.name;return typeof o=="string"&&o.length>0?`Function(${o})`:"Function"}if(Array.isArray(n)){let o=n.length,s="[";o>0&&(s+=ot(n[0]));for(let _=1;_<o;_++)s+=", "+ot(n[_]);return s+="]",s}let e=/\\[object ([^\\]]+)\\]/.exec(toString.call(n)),r;if(e&&e.length>1)r=e[1];else return toString.call(n);if(r=="Object")try{return"Object("+JSON.stringify(n)+")"}catch{return"Object"}return n instanceof Error?`${n.name}: ${n.message}\n${n.stack}`:r}function Yt(n){n<132||(S[n]=q,q=n)}function Kt(n,t){n=n>>>0;let e=a(),r=[];for(let o=n;o<n+4*t;o+=4)r.push(d(e.getUint32(o,!0)));return r}function Zt(n,t){return n=n>>>0,te().subarray(n/4,n/4+t)}function it(n,t){return n=n>>>0,T().subarray(n/1,n/1+t)}function a(){return(R===null||R.buffer.detached===!0||R.buffer.detached===void 0&&R.buffer!==i.memory.buffer)&&(R=new DataView(i.memory.buffer)),R}function I(n,t){return n=n>>>0,re(n,t)}function te(){return(D===null||D.byteLength===0)&&(D=new Uint32Array(i.memory.buffer)),D}function T(){return(z===null||z.byteLength===0)&&(z=new Uint8Array(i.memory.buffer)),z}function c(n){return S[n]}function M(n,t){try{return n.apply(this,t)}catch(e){i.__wbindgen_export3(f(e))}}function y(n){return n==null}function ee(n,t,e,r){let o={a:n,b:t,cnt:1,dtor:e},s=(..._)=>{o.cnt++;let u=o.a;o.a=0;try{return r(u,o.b,..._)}finally{o.a=u,s._wbg_cb_unref()}};return s._wbg_cb_unref=()=>{--o.cnt===0&&(o.dtor(o.a,o.b),o.a=0,bt.unregister(o))},bt.register(s,o,o),s}function kt(n,t){let e=t(n.length*1,1)>>>0;return T().set(n,e/1),l=n.length,e}function H(n,t){let e=t(n.length*4,4)>>>0,r=a();for(let o=0;o<n.length;o++)r.setUint32(e+4*o,f(n[o]),!0);return l=n.length,e}function b(n,t,e){if(e===void 0){let u=U.encode(n),g=t(u.length,1)>>>0;return T().subarray(g,g+u.length).set(u),l=u.length,g}let r=n.length,o=t(r,1)>>>0,s=T(),_=0;for(;_<r;_++){let u=n.charCodeAt(_);if(u>127)break;s[o+_]=u}if(_!==r){_!==0&&(n=n.slice(_)),o=e(o,r,r=_+n.length*3,1)>>>0;let u=T().subarray(o+_,o+r),g=U.encodeInto(n,u);_+=g.written,o=e(o,r,_,1)>>>0}return l=_,o}function d(n){let t=c(n);return Yt(n),t}function re(n,t){return et+=t,et>=ne&&(G=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),G.decode(),et=t),G.decode(T().subarray(n,n+t))}function oe(n,t,e){i.__wasm_bindgen_func_elem_944(n,t,f(e))}function ie(n,t,e,r){i.__wasm_bindgen_func_elem_37348(n,t,f(e),f(r))}function se(n){let t=i.get_font_info(f(n));return d(t)}async function ae(n,t){if(typeof Response=="function"&&n instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(n,t)}catch(r){if(n.ok&&_e.has(n.type)&&n.headers.get("Content-Type")!=="application/wasm")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",r);else throw r}let e=await n.arrayBuffer();return await WebAssembly.instantiate(e,t)}else{let e=await WebAssembly.instantiate(n,t);return e instanceof WebAssembly.Instance?{instance:e,module:n}:e}}function St(){let n={};return n.wbg={},n.wbg.__wbg_Error_52673b7de5a0ca89=function(t,e){let r=Error(I(t,e));return f(r)},n.wbg.__wbg_Number_2d1dcfcf4ec51736=function(t){return Number(c(t))},n.wbg.__wbg___wbindgen_bigint_get_as_i64_6e32f5e6aff02e1d=function(t,e){let r=c(e),o=typeof r=="bigint"?r:void 0;a().setBigInt64(t+8,y(o)?BigInt(0):o,!0),a().setInt32(t+0,!y(o),!0)},n.wbg.__wbg___wbindgen_boolean_get_dea25b33882b895b=function(t){let e=c(t),r=typeof e=="boolean"?e:void 0;return y(r)?16777215:r?1:0},n.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(t,e){let r=ot(c(e)),o=b(r,i.__wbindgen_export,i.__wbindgen_export2),s=l;a().setInt32(t+4,s,!0),a().setInt32(t+0,o,!0)},n.wbg.__wbg___wbindgen_in_0d3e1e8f0c669317=function(t,e){return c(t)in c(e)},n.wbg.__wbg___wbindgen_is_bigint_0e1a2e3f55cfae27=function(t){return typeof c(t)=="bigint"},n.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd=function(t){return typeof c(t)=="function"},n.wbg.__wbg___wbindgen_is_object_ce774f3490692386=function(t){let e=c(t);return typeof e=="object"&&e!==null},n.wbg.__wbg___wbindgen_is_string_704ef9c8fc131030=function(t){return typeof c(t)=="string"},n.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269=function(t){return c(t)===void 0},n.wbg.__wbg___wbindgen_jsval_eq_b6101cc9cef1fe36=function(t,e){return c(t)===c(e)},n.wbg.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d=function(t,e){return c(t)==c(e)},n.wbg.__wbg___wbindgen_number_get_9619185a74197f95=function(t,e){let r=c(e),o=typeof r=="number"?r:void 0;a().setFloat64(t+8,y(o)?0:o,!0),a().setInt32(t+0,!y(o),!0)},n.wbg.__wbg___wbindgen_string_get_a2a31e16edf96e42=function(t,e){let r=c(e),o=typeof r=="string"?r:void 0;var s=y(o)?0:b(o,i.__wbindgen_export,i.__wbindgen_export2),_=l;a().setInt32(t+4,_,!0),a().setInt32(t+0,s,!0)},n.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(t,e){throw new Error(I(t,e))},n.wbg.__wbg__wbg_cb_unref_87dfb5aaa0cbcea7=function(t){c(t)._wbg_cb_unref()},n.wbg.__wbg_call_3020136f7a2d6e44=function(){return M(function(t,e,r){let o=c(t).call(c(e),c(r));return f(o)},arguments)},n.wbg.__wbg_call_78f94eb02ec7f9b2=function(){return M(function(t,e,r,o,s){let _=c(t).call(c(e),c(r),c(o),c(s));return f(_)},arguments)},n.wbg.__wbg_call_abb4ff46ce38be40=function(){return M(function(t,e){let r=c(t).call(c(e));return f(r)},arguments)},n.wbg.__wbg_done_62ea16af4ce34b24=function(t){return c(t).done},n.wbg.__wbg_entries_83c79938054e065f=function(t){let e=Object.entries(c(t));return f(e)},n.wbg.__wbg_error_7534b8e9a36f1ab4=function(t,e){let r,o;try{r=t,o=e,console.error(I(t,e))}finally{i.__wbindgen_export4(r,o,1)}},n.wbg.__wbg_error_85faeb8919b11cc6=function(t,e,r){console.error(c(t),c(e),c(r))},n.wbg.__wbg_getTimezoneOffset_45389e26d6f46823=function(t){return c(t).getTimezoneOffset()},n.wbg.__wbg_get_6b7bd52aca3f9671=function(t,e){let r=c(t)[e>>>0];return f(r)},n.wbg.__wbg_get_af9dab7e9603ea93=function(){return M(function(t,e){let r=Reflect.get(c(t),c(e));return f(r)},arguments)},n.wbg.__wbg_get_with_ref_key_1dc361bd10053bfe=function(t,e){let r=c(t)[c(e)];return f(r)},n.wbg.__wbg_info_ce6bcc489c22f6f0=function(t){console.info(c(t))},n.wbg.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355=function(t){let e;try{e=c(t)instanceof ArrayBuffer}catch{e=!1}return e},n.wbg.__wbg_instanceof_Map_084be8da74364158=function(t){let e;try{e=c(t)instanceof Map}catch{e=!1}return e},n.wbg.__wbg_instanceof_Uint8Array_da54ccc9d3e09434=function(t){let e;try{e=c(t)instanceof Uint8Array}catch{e=!1}return e},n.wbg.__wbg_isArray_51fd9e6422c0a395=function(t){return Array.isArray(c(t))},n.wbg.__wbg_isSafeInteger_ae7d3f054d55fa16=function(t){return Number.isSafeInteger(c(t))},n.wbg.__wbg_iterator_27b7c8b35ab3e86b=function(){return f(Symbol.iterator)},n.wbg.__wbg_length_22ac23eaec9d8053=function(t){return c(t).length},n.wbg.__wbg_length_d45040a40c570362=function(t){return c(t).length},n.wbg.__wbg_new_1ba21ce319a06297=function(){let t=new Object;return f(t)},n.wbg.__wbg_new_25f239778d6112b9=function(){let t=new Array;return f(t)},n.wbg.__wbg_new_6421f6084cc5bc5a=function(t){let e=new Uint8Array(c(t));return f(e)},n.wbg.__wbg_new_8a6f238a6ece86ea=function(){let t=new Error;return f(t)},n.wbg.__wbg_new_b2db8aa2650f793a=function(t){let e=new Date(c(t));return f(e)},n.wbg.__wbg_new_df1173567d5ff028=function(t,e){let r=new Error(I(t,e));return f(r)},n.wbg.__wbg_new_ff12d2b041fb48f1=function(t,e){try{var r={a:t,b:e},o=(_,u)=>{let g=r.a;r.a=0;try{return ie(g,r.b,_,u)}finally{r.a=g}};let s=new Promise(o);return f(s)}finally{r.a=r.b=0}},n.wbg.__wbg_new_from_slice_db0691b69e9d3891=function(t,e){let r=new Uint32Array(Zt(t,e));return f(r)},n.wbg.__wbg_new_from_slice_f9c22b9153b26992=function(t,e){let r=new Uint8Array(it(t,e));return f(r)},n.wbg.__wbg_new_no_args_cb138f77cf6151ee=function(t,e){let r=new Function(I(t,e));return f(r)},n.wbg.__wbg_new_with_args_df9e7125ffe55248=function(t,e,r,o){let s=new Function(I(t,e),I(r,o));return f(s)},n.wbg.__wbg_next_138a17bbf04e926c=function(t){let e=c(t).next;return f(e)},n.wbg.__wbg_next_3cfe5c0fe2a4cc53=function(){return M(function(t){let e=c(t).next();return f(e)},arguments)},n.wbg.__wbg_now_69d776cd24f5215b=function(){return Date.now()},n.wbg.__wbg_prototypesetcall_dfe9b766cdc1f1fd=function(t,e,r){Uint8Array.prototype.set.call(it(t,e),c(r))},n.wbg.__wbg_proxycontext_new=function(t){let e=O.__wrap(t);return f(e)},n.wbg.__wbg_push_7d9be8f38fc13975=function(t,e){return c(t).push(c(e))},n.wbg.__wbg_queueMicrotask_9b549dfce8865860=function(t){let e=c(t).queueMicrotask;return f(e)},n.wbg.__wbg_queueMicrotask_fca69f5bfad613a5=function(t){queueMicrotask(c(t))},n.wbg.__wbg_resolve_fd5bfbaa4ce36e1e=function(t){let e=Promise.resolve(c(t));return f(e)},n.wbg.__wbg_set_3f1d0b984ed272ed=function(t,e,r){c(t)[d(e)]=d(r)},n.wbg.__wbg_set_781438a03c0c3c81=function(){return M(function(t,e,r){return Reflect.set(c(t),c(e),c(r))},arguments)},n.wbg.__wbg_set_7df433eea03a5c14=function(t,e,r){c(t)[e>>>0]=d(r)},n.wbg.__wbg_stack_0ed75d68575b0f3c=function(t,e){let r=c(e).stack,o=b(r,i.__wbindgen_export,i.__wbindgen_export2),s=l;a().setInt32(t+4,s,!0),a().setInt32(t+0,o,!0)},n.wbg.__wbg_static_accessor_GLOBAL_769e6b65d6557335=function(){let t=typeof global>"u"?null:global;return y(t)?0:f(t)},n.wbg.__wbg_static_accessor_GLOBAL_THIS_60cf02db4de8e1c1=function(){let t=typeof globalThis>"u"?null:globalThis;return y(t)?0:f(t)},n.wbg.__wbg_static_accessor_SELF_08f5a74c69739274=function(){let t=typeof self>"u"?null:self;return y(t)?0:f(t)},n.wbg.__wbg_static_accessor_WINDOW_a8924b26aa92d024=function(){let t=typeof window>"u"?null:window;return y(t)?0:f(t)},n.wbg.__wbg_then_4f95312d68691235=function(t,e){let r=c(t).then(c(e));return f(r)},n.wbg.__wbg_typstcompiler_new=function(t){let e=B.__wrap(t);return f(e)},n.wbg.__wbg_typstfontresolver_new=function(t){let e=A.__wrap(t);return f(e)},n.wbg.__wbg_value_57b7b035e117f7ee=function(t){let e=c(t).value;return f(e)},n.wbg.__wbindgen_cast_2241b6af4c4b2941=function(t,e){let r=I(t,e);return f(r)},n.wbg.__wbindgen_cast_3334ea73b4b28ba3=function(t,e){let r=ee(t,e,i.__wasm_bindgen_func_elem_957,oe);return f(r)},n.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(t){let e=BigInt.asUintN(64,t);return f(e)},n.wbg.__wbindgen_cast_9ae0607507abb057=function(t){return f(t)},n.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(t){return f(t)},n.wbg.__wbindgen_object_clone_ref=function(t){let e=c(t);return f(e)},n.wbg.__wbindgen_object_drop_ref=function(t){d(t)},n}function Ft(n,t){return i=n.exports,Rt.__wbindgen_wasm_module=t,R=null,D=null,z=null,i}function ce(n){if(i!==void 0)return i;typeof n<"u"&&(Object.getPrototypeOf(n)===Object.prototype?{module:n}=n:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=St();n instanceof WebAssembly.Module||(n=new WebAssembly.Module(n));let e=new WebAssembly.Instance(n,t);return Ft(e,n)}async function Rt(n){if(i!==void 0)return i;typeof n<"u"&&(Object.getPrototypeOf(n)===Object.prototype?{module_or_path:n}=n:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof n>"u"&&(n=Mt("typst_ts_web_compiler_bg.wasm",ue.url));let t=St();(typeof n=="string"||typeof Request=="function"&&n instanceof Request||typeof URL=="function"&&n instanceof URL)&&(n=fetch(n));let{instance:e,module:r}=await ae(await n,t);return Ft(e,r)}function st(n){Mt=n}var ue,i,bt,R,D,z,S,q,G,ne,et,U,l,yt,nt,mt,ht,vt,xt,It,F,O,j,B,N,A,J,_e,At,Mt,Q=dt(()=>{ue={};bt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>n.dtor(n.a,n.b));R=null;D=null;z=null;S=new Array(128).fill(void 0);S.push(void 0,null,!0,!1);q=S.length;G=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});G.decode();ne=2146435072,et=0;U=new TextEncoder;"encodeInto"in U||(U.encodeInto=function(n,t){let e=U.encode(n);return t.set(e),{read:n.length,written:e.length}});l=0;yt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_incrserver_free(n>>>0,1)),nt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_proxycontext_free(n>>>0,1)),mt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstcompileworld_free(n>>>0,1)),ht=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstcompiler_free(n>>>0,1)),vt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstcompilerbuilder_free(n>>>0,1)),xt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstfontresolver_free(n>>>0,1)),It=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_typstfontresolverbuilder_free(n>>>0,1)),F=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,yt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,yt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_incrserver_free(t,0)}set_attach_debug_info(t){i.incrserver_set_attach_debug_info(this.__wbg_ptr,t)}current(){try{let r=i.__wbindgen_add_to_stack_pointer(-16);i.incrserver_current(r,this.__wbg_ptr);var t=a().getInt32(r+0,!0),e=a().getInt32(r+4,!0);let o;return t!==0&&(o=it(t,e).slice(),i.__wbindgen_export4(t,e*1,1)),o}finally{i.__wbindgen_add_to_stack_pointer(16)}}reset(){i.incrserver_reset(this.__wbg_ptr)}};Symbol.dispose&&(F.prototype[Symbol.dispose]=F.prototype.free);O=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,nt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,nt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_proxycontext_free(t,0)}constructor(t){let e=i.proxycontext_new(f(t));return this.__wbg_ptr=e>>>0,nt.register(this,this.__wbg_ptr,this),this}get context(){let t=i.proxycontext_context(this.__wbg_ptr);return d(t)}untar(t,e){try{let s=i.__wbindgen_add_to_stack_pointer(-16),_=kt(t,i.__wbindgen_export),u=l;i.proxycontext_untar(s,this.__wbg_ptr,_,u,f(e));var r=a().getInt32(s+0,!0),o=a().getInt32(s+4,!0);if(o)throw d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(O.prototype[Symbol.dispose]=O.prototype.free);j=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,mt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,mt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstcompileworld_free(t,0)}compile(t,e){try{let _=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompileworld_compile(_,this.__wbg_ptr,t,e);var r=a().getInt32(_+0,!0),o=a().getInt32(_+4,!0),s=a().getInt32(_+8,!0);if(s)throw d(o);return d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}title(t){try{let _=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompileworld_title(_,this.__wbg_ptr,t);var e=a().getInt32(_+0,!0),r=a().getInt32(_+4,!0),o=a().getInt32(_+8,!0),s=a().getInt32(_+12,!0);if(s)throw d(o);let u;return e!==0&&(u=I(e,r).slice(),i.__wbindgen_export4(e,r*1,1)),u}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_artifact(t,e){try{let _=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompileworld_get_artifact(_,this.__wbg_ptr,t,e);var r=a().getInt32(_+0,!0),o=a().getInt32(_+4,!0),s=a().getInt32(_+8,!0);if(s)throw d(o);return d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}query(t,e,r){let o,s;try{let k=i.__wbindgen_add_to_stack_pointer(-16),C=b(e,i.__wbindgen_export,i.__wbindgen_export2),W=l;var _=y(r)?0:b(r,i.__wbindgen_export,i.__wbindgen_export2),u=l;i.typstcompileworld_query(k,this.__wbg_ptr,t,C,W,_,u);var g=a().getInt32(k+0,!0),p=a().getInt32(k+4,!0),w=a().getInt32(k+8,!0),h=a().getInt32(k+12,!0),m=g,v=p;if(h)throw m=0,v=0,d(w);return o=m,s=v,I(m,v)}finally{i.__wbindgen_add_to_stack_pointer(16),i.__wbindgen_export4(o,s,1)}}incr_compile(t,e){try{let _=i.__wbindgen_add_to_stack_pointer(-16);rt(t,F),i.typstcompileworld_incr_compile(_,this.__wbg_ptr,t.__wbg_ptr,e);var r=a().getInt32(_+0,!0),o=a().getInt32(_+4,!0),s=a().getInt32(_+8,!0);if(s)throw d(o);return d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(j.prototype[Symbol.dispose]=j.prototype.free);B=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,ht.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,ht.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstcompiler_free(t,0)}reset(){try{let r=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_reset(r,this.__wbg_ptr);var t=a().getInt32(r+0,!0),e=a().getInt32(r+4,!0);if(e)throw d(t)}finally{i.__wbindgen_add_to_stack_pointer(16)}}set_fonts(t){try{let o=i.__wbindgen_add_to_stack_pointer(-16);rt(t,A),i.typstcompiler_set_fonts(o,this.__wbg_ptr,t.__wbg_ptr);var e=a().getInt32(o+0,!0),r=a().getInt32(o+4,!0);if(r)throw d(e)}finally{i.__wbindgen_add_to_stack_pointer(16)}}set_inputs(t){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_set_inputs(o,this.__wbg_ptr,f(t));var e=a().getInt32(o+0,!0),r=a().getInt32(o+4,!0);if(r)throw d(e)}finally{i.__wbindgen_add_to_stack_pointer(16)}}add_source(t,e){let r=b(t,i.__wbindgen_export,i.__wbindgen_export2),o=l,s=b(e,i.__wbindgen_export,i.__wbindgen_export2),_=l;return i.typstcompiler_add_source(this.__wbg_ptr,r,o,s,_)!==0}map_shadow(t,e){let r=b(t,i.__wbindgen_export,i.__wbindgen_export2),o=l,s=kt(e,i.__wbindgen_export),_=l;return i.typstcompiler_map_shadow(this.__wbg_ptr,r,o,s,_)!==0}unmap_shadow(t){let e=b(t,i.__wbindgen_export,i.__wbindgen_export2),r=l;return i.typstcompiler_unmap_shadow(this.__wbg_ptr,e,r)!==0}reset_shadow(){i.typstcompiler_reset_shadow(this.__wbg_ptr)}get_loaded_fonts(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_get_loaded_fonts(o,this.__wbg_ptr);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=Kt(t,e).slice();return i.__wbindgen_export4(t,e*4,4),r}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_ast(t){let e,r;try{let w=i.__wbindgen_add_to_stack_pointer(-16),h=b(t,i.__wbindgen_export,i.__wbindgen_export2),m=l;i.typstcompiler_get_ast(w,this.__wbg_ptr,h,m);var o=a().getInt32(w+0,!0),s=a().getInt32(w+4,!0),_=a().getInt32(w+8,!0),u=a().getInt32(w+12,!0),g=o,p=s;if(u)throw g=0,p=0,d(_);return e=g,r=p,I(g,p)}finally{i.__wbindgen_add_to_stack_pointer(16),i.__wbindgen_export4(e,r,1)}}get_semantic_token_legend(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_get_semantic_token_legend(o,this.__wbg_ptr);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=a().getInt32(o+8,!0);if(r)throw d(e);return d(t)}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_semantic_tokens(t,e,r){try{let h=i.__wbindgen_add_to_stack_pointer(-16),m=b(t,i.__wbindgen_export,i.__wbindgen_export2),v=l;var o=y(e)?0:b(e,i.__wbindgen_export,i.__wbindgen_export2),s=l,_=y(r)?0:b(r,i.__wbindgen_export,i.__wbindgen_export2),u=l;i.typstcompiler_get_semantic_tokens(h,this.__wbg_ptr,m,v,o,s,_,u);var g=a().getInt32(h+0,!0),p=a().getInt32(h+4,!0),w=a().getInt32(h+8,!0);if(w)throw d(p);return d(g)}finally{i.__wbindgen_add_to_stack_pointer(16)}}snapshot(t,e,r){try{let v=i.__wbindgen_add_to_stack_pointer(-16);var o=y(t)?0:b(t,i.__wbindgen_export,i.__wbindgen_export2),s=l,_=y(e)?0:b(e,i.__wbindgen_export,i.__wbindgen_export2),u=l,g=y(r)?0:H(r,i.__wbindgen_export),p=l;i.typstcompiler_snapshot(v,this.__wbg_ptr,o,s,_,u,g,p);var w=a().getInt32(v+0,!0),h=a().getInt32(v+4,!0),m=a().getInt32(v+8,!0);if(m)throw d(h);return j.__wrap(w)}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_artifact(t,e){try{let _=i.__wbindgen_add_to_stack_pointer(-16),u=b(t,i.__wbindgen_export,i.__wbindgen_export2),g=l;i.typstcompiler_get_artifact(_,this.__wbg_ptr,u,g,e);var r=a().getInt32(_+0,!0),o=a().getInt32(_+4,!0),s=a().getInt32(_+8,!0);if(s)throw d(o);return d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}compile(t,e,r,o){try{let m=i.__wbindgen_add_to_stack_pointer(-16);var s=y(t)?0:b(t,i.__wbindgen_export,i.__wbindgen_export2),_=l,u=y(e)?0:H(e,i.__wbindgen_export),g=l;let v=b(r,i.__wbindgen_export,i.__wbindgen_export2),k=l;i.typstcompiler_compile(m,this.__wbg_ptr,s,_,u,g,v,k,o);var p=a().getInt32(m+0,!0),w=a().getInt32(m+4,!0),h=a().getInt32(m+8,!0);if(h)throw d(w);return d(p)}finally{i.__wbindgen_add_to_stack_pointer(16)}}query(t,e,r,o){let s,_;try{let L=i.__wbindgen_add_to_stack_pointer(-16),Dt=b(t,i.__wbindgen_export,i.__wbindgen_export2),zt=l;var u=y(e)?0:H(e,i.__wbindgen_export),g=l;let qt=b(r,i.__wbindgen_export,i.__wbindgen_export2),Ut=l;var p=y(o)?0:b(o,i.__wbindgen_export,i.__wbindgen_export2),w=l;i.typstcompiler_query(L,this.__wbg_ptr,Dt,zt,u,g,qt,Ut,p,w);var h=a().getInt32(L+0,!0),m=a().getInt32(L+4,!0),v=a().getInt32(L+8,!0),k=a().getInt32(L+12,!0),C=h,W=m;if(k)throw C=0,W=0,d(v);return s=C,_=W,I(C,W)}finally{i.__wbindgen_add_to_stack_pointer(16),i.__wbindgen_export4(s,_,1)}}create_incr_server(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompiler_create_incr_server(o,this.__wbg_ptr);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=a().getInt32(o+8,!0);if(r)throw d(e);return F.__wrap(t)}finally{i.__wbindgen_add_to_stack_pointer(16)}}incr_compile(t,e,r,o){try{let w=i.__wbindgen_add_to_stack_pointer(-16),h=b(t,i.__wbindgen_export,i.__wbindgen_export2),m=l;var s=y(e)?0:H(e,i.__wbindgen_export),_=l;rt(r,F),i.typstcompiler_incr_compile(w,this.__wbg_ptr,h,m,s,_,r.__wbg_ptr,o);var u=a().getInt32(w+0,!0),g=a().getInt32(w+4,!0),p=a().getInt32(w+8,!0);if(p)throw d(g);return d(u)}finally{i.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(B.prototype[Symbol.dispose]=B.prototype.free);N=class{__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,vt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstcompilerbuilder_free(t,0)}constructor(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompilerbuilder_new(o);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=a().getInt32(o+8,!0);if(r)throw d(e);return this.__wbg_ptr=t>>>0,vt.register(this,this.__wbg_ptr,this),this}finally{i.__wbindgen_add_to_stack_pointer(16)}}set_dummy_access_model(){try{let r=i.__wbindgen_add_to_stack_pointer(-16);i.typstcompilerbuilder_set_dummy_access_model(r,this.__wbg_ptr);var t=a().getInt32(r+0,!0),e=a().getInt32(r+4,!0);if(e)throw d(t)}finally{i.__wbindgen_add_to_stack_pointer(16)}}set_access_model(t,e,r,o,s){let _=i.typstcompilerbuilder_set_access_model(this.__wbg_ptr,f(t),f(e),f(r),f(o),f(s));return d(_)}set_package_registry(t,e){let r=i.typstcompilerbuilder_set_package_registry(this.__wbg_ptr,f(t),f(e));return d(r)}add_raw_font(t){let e=i.typstcompilerbuilder_add_raw_font(this.__wbg_ptr,f(t));return d(e)}add_lazy_font(t,e){let r=i.typstcompilerbuilder_add_lazy_font(this.__wbg_ptr,f(t),f(e));return d(r)}build(){let t=this.__destroy_into_raw(),e=i.typstcompilerbuilder_build(t);return d(e)}};Symbol.dispose&&(N.prototype[Symbol.dispose]=N.prototype.free);A=class n{static __wrap(t){t=t>>>0;let e=Object.create(n.prototype);return e.__wbg_ptr=t,xt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,xt.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstfontresolver_free(t,0)}};Symbol.dispose&&(A.prototype[Symbol.dispose]=A.prototype.free);J=class{__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,It.unregister(this),t}free(){let t=this.__destroy_into_raw();i.__wbg_typstfontresolverbuilder_free(t,0)}constructor(){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstfontresolverbuilder_new(o);var t=a().getInt32(o+0,!0),e=a().getInt32(o+4,!0),r=a().getInt32(o+8,!0);if(r)throw d(e);return this.__wbg_ptr=t>>>0,It.register(this,this.__wbg_ptr,this),this}finally{i.__wbindgen_add_to_stack_pointer(16)}}get_font_info(t){try{let s=i.__wbindgen_add_to_stack_pointer(-16);i.typstfontresolverbuilder_get_font_info(s,this.__wbg_ptr,f(t));var e=a().getInt32(s+0,!0),r=a().getInt32(s+4,!0),o=a().getInt32(s+8,!0);if(o)throw d(r);return d(e)}finally{i.__wbindgen_add_to_stack_pointer(16)}}add_raw_font(t){try{let o=i.__wbindgen_add_to_stack_pointer(-16);i.typstfontresolverbuilder_add_raw_font(o,this.__wbg_ptr,f(t));var e=a().getInt32(o+0,!0),r=a().getInt32(o+4,!0);if(r)throw d(e)}finally{i.__wbindgen_add_to_stack_pointer(16)}}add_lazy_font(t,e){try{let s=i.__wbindgen_add_to_stack_pointer(-16);i.typstfontresolverbuilder_add_lazy_font(s,this.__wbg_ptr,f(t),f(e));var r=a().getInt32(s+0,!0),o=a().getInt32(s+4,!0);if(o)throw d(r)}finally{i.__wbindgen_add_to_stack_pointer(16)}}build(){let t=this.__destroy_into_raw(),e=i.typstfontresolverbuilder_build(t);return d(e)}};Symbol.dispose&&(J.prototype[Symbol.dispose]=J.prototype.free);_e=new Set(["basic","cors","default"]);At=Rt,Mt=async function(n,t){throw new Error("Cannot import wasm module without importer: "+n+" "+t)}});var Tt={};Jt(Tt,{IncrServer:()=>F,ProxyContext:()=>O,TypstCompileWorld:()=>j,TypstCompiler:()=>B,TypstCompilerBuilder:()=>N,TypstFontResolver:()=>A,TypstFontResolverBuilder:()=>J,default:()=>fe,get_font_info:()=>se,initSync:()=>ce,setImportWasmModule:()=>st});var fe,de,ge,Ot=dt(()=>{Q();Q();Q();fe=At,de=async function(n,t){let e=new Function("m","return import(m)"),{readFileSync:r}=await e("fs"),o=new URL(n,t);return await r(o).buffer},ge=typeof process<"u"&&process.versions!=null&&process.versions.node!=null;ge&&st(de)});var tt=class{loadedFonts=new Set;fetcher=fetch;setFetcher(t){this.fetcher=t}async loadFonts(t,e){let r=new Function("m","return import(m)"),o=this.fetcher||=await(async function(){let{fetchBuilder:u,FileSystemCache:g}=await r("node-fetch-cache"),p=new g({cacheDirectory:".cache/typst/fonts"}),w=u.withCache(p);return function(h,m){let v=setTimeout(()=>{console.warn("font fetching is stucking:",h)},15e3);return w(h,m).finally(()=>{clearTimeout(v)})}})(),s=e.filter(u=>u instanceof Uint8Array||typeof u=="object"&&"info"in u?!0:this.loadedFonts.has(u)?!1:(this.loadedFonts.add(u),!0)),_=await Promise.all(s.map(async u=>{if(u instanceof Uint8Array){await t.add_raw_font(u);return}if(typeof u=="object"&&"info"in u){await t.add_lazy_font(u,"blob"in u?u.blob:$t(u));return}return new Uint8Array(await(await o(u)).arrayBuffer())}));for(let u of _)u&&await t.add_raw_font(u)}async build(t,e,r){let o={ref:this,builder:e,hooks:r};for(let s of t?.beforeBuild??[])await s(void 0,o);return r.latelyBuild&&r.latelyBuild(o),await e.build()}};async function gt(n,t,e,r){return await t.init(n?.getModule?.()),await new tt().build(n,new e,r)}function $t(n){return()=>{let t=new XMLHttpRequest;return t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",n.url,!1),t.send(null),t.status===200&&(t.response instanceof String||typeof t.response=="string")?Uint8Array.from(t.response,e=>e.charCodeAt(0)):new Uint8Array}}var x=Symbol.for("reflexo-obj");var lt;(function(n){n[n.PIXEL_PER_PT=3]="PIXEL_PER_PT"})(lt||(lt={}));var Vt=["DejaVuSansMono-Bold.ttf","DejaVuSansMono-BoldOblique.ttf","DejaVuSansMono-Oblique.ttf","DejaVuSansMono.ttf","LibertinusSerif-Bold.otf","LibertinusSerif-BoldItalic.otf","LibertinusSerif-Italic.otf","LibertinusSerif-Regular.otf","LibertinusSerif-Semibold.otf","LibertinusSerif-SemiboldItalic.otf","NewCM10-Bold.otf","NewCM10-BoldItalic.otf","NewCM10-Italic.otf","NewCM10-Regular.otf","NewCMMath-Bold.otf","NewCMMath-Book.otf","NewCMMath-Regular.otf"],Xt=["InriaSerif-Bold.ttf","InriaSerif-BoldItalic.ttf","InriaSerif-Italic.ttf","InriaSerif-Regular.ttf","Roboto-Regular.ttf","NotoSerifCJKsc-Regular.otf"],Ht=["TwitterColorEmoji.ttf","NotoColorEmoji-Regular-COLR.subset.ttf"];function Gt(n){let t=[];if(n&&n?.assets!==!1&&n?.assets?.length&&n?.assets?.length>0){let e={text:"https://cdn.jsdelivr.net/gh/typst/typst-assets@v0.13.1/files/fonts/",_:"https://cdn.jsdelivr.net/gh/typst/typst-dev-assets@v0.13.1/files/fonts/"},r=n.assetUrlPrefix??e;typeof r=="string"?r={_:r}:r={...e,...r};for(let s of Object.keys(r)){let _=r[s];_[_.length-1]!=="/"&&(r[s]=_+"/")}let o=(s,_)=>_.map(u=>(r[s]||r._)+u);for(let s of n.assets)switch(s){case"text":t.push(...o(s,Vt));break;case"cjk":t.push(...o(s,Xt));break;case"emoji":t.push(...o(s,Ht));break}}return t}function V(n,t){let e=Gt(t),r=async(o,{ref:s,builder:_})=>{t?.fetcher&&s.setFetcher(t.fetcher),await s.loadFonts(_,[...n,...e])};return r._preloadRemoteFontOptions=t,r._kind="fontLoader",r}function pt(n){return async(t,{builder:e})=>new Promise(r=>{e.set_package_registry(n,function(o){return n.resolve(o,this)}),r()})}function wt(n){return async(t,e)=>{if(e.alreadySetAccessModel)throw new Error(`already set some assess model before: ${e.alreadySetAccessModel.constructor?.name}(${e.alreadySetAccessModel})`);return e.alreadySetAccessModel=n,new Promise(r=>{e.builder.set_access_model(n,o=>{let s=n.getMTime(o);return s?s.getTime():0},o=>n.isFile(o)||!1,o=>n.getRealPath(o)||o,o=>n.readAll(o)),r()})}}var Qt=n=>{let t=!1,e;return()=>t?e:(t=!0,e=n())},X=class{wasmBin;initOnce;constructor(t){if(typeof t!="function")throw new Error("initFn is not a function");this.initOnce=Qt(async()=>{await t(this.wasmBin)})}async init(t){this.wasmBin=t,await this.initOnce()}};var $;(function(n){n[n.vector=0]="vector",n[n.pdf=1]="pdf",n[n._dummy=2]="_dummy"})($||($={}));var _t=class{[x];constructor(t){this[x]=t}reset(){this[x].reset()}current(){return this[x].current()}setAttachDebugInfo(t){this[x].set_attach_debug_info(t)}},jt;jt||(jt={});var at=class{[x];constructor(t){this[x]=t}compile(t){return this[x].compile(0,E(t?.diagnostics))}compileHtml(t){return this[x].compile(1,E(t?.diagnostics))}async query(t){return JSON.parse(this[x].query(0,t.selector,t.field))}title(){return this[x].title(0)}vector(t){return this[x].get_artifact(0,E(t?.diagnostics))||{}}pdf(t){return this[x].get_artifact(1,E(t?.diagnostics))||{}}},le=n=>new X(async t=>await n.default(t));function ct(){return new Y}var Y=class n{compiler;compilerJs;static defaultAssets=["text"];constructor(){}async init(t){this.compilerJs=await(t?.getWrapper?.()||Promise.resolve().then(()=>(Ot(),Tt)));let e=this.compilerJs.TypstCompilerBuilder,r={...t||{}},o=r.beforeBuild??=[],s=o.some(p=>p._preloadRemoteFontOptions!==void 0),_=o.some(p=>p._preloadRemoteFontOptions?.assets!==void 0),u=o.some(p=>p._preloadRemoteFontOptions?.assets===!1);if((!s||!_&&!u)&&o.push(V([],{assets:n.defaultAssets})),!o.some(p=>p._kind==="fontLoader"))throw new Error("TypstCompiler: no font loader found, please use font loaders, e.g. loadFonts or preloadSystemFonts");this.compiler=await gt(t,le(this.compilerJs),e,{})}setFonts(t){this.compiler.set_fonts(t)}compile(t){return new Promise(e=>{let r=this.compiler.snapshot(t.root,t.mainFilePath,Bt(t.inputs));if("incrementalServer"in t){e(r.incr_compile(t.incrementalServer[x],E(t.diagnostics)));return}e(r.get_artifact(t.format||$.vector,E(t.diagnostics)))})}async runWithWorld(t,e){let r=this.compiler.snapshot(t.root,t.mainFilePath,Bt(t.inputs)),o=await e(new at(r));return r.free(),o}query(t){return this.runWithWorld(t,async e=>JSON.parse(await e.query(t)))}getSemanticTokenLegend(){return new Promise(t=>{t(this.compiler.get_semantic_token_legend())})}getSemanticTokens(t){return new Promise(e=>{this.compiler.reset(),e(this.compiler.get_semantic_tokens(t.offsetEncoding||"utf-16",t.mainFilePath,t.resultId))})}async withIncrementalServer(t){let e=new _t(this.compiler.create_incr_server());try{return await t(e)}finally{e[x].free()}}async getAst(t){return this.compiler.get_ast(t)}async reset(){await new Promise(t=>{this.compiler.reset(),t(void 0)})}addSource(t,e){if(arguments.length>2)throw new Error("use of addSource(path, source, isMain) is deprecated, please use addSource(path, source) instead");this.compiler.add_source(t,e)}mapShadow(t,e){this.compiler.map_shadow(t,e)}unmapShadow(t){this.compiler.unmap_shadow(t)}resetShadow(){this.compiler.reset_shadow()}renderPageToCanvas(){throw new Error("Please use the api TypstRenderer.renderToCanvas in v0.4.0")}};ct._impl=Y;function Bt(n){return n?Object.entries(n):void 0}function E(n){switch(n){case"none":return 1;case"unix":return 2;default:return 3}}var K=class{mTimes=new Map;mData=new Map;constructor(){}reset(){this.mTimes.clear(),this.mData.clear()}insertFile(t,e,r){this.mTimes.set(t,r),this.mData.set(t,e)}removeFile(t){this.mTimes.delete(t),this.mData.delete(t)}getMTime(t){if(t.startsWith("/@memory/")&&this.mTimes.has(t))return this.mTimes.get(t)}isFile(){return!0}getRealPath(t){return t}readAll(t){if(t.startsWith("/@memory/")&&this.mData.has(t))return this.mData.get(t)}};var Z=class{am;cache=new Map;constructor(t){this.am=t}resolvePath(t){return`https://packages.typst.org/preview/${t.name}-${t.version}.tar.gz`}pullPackageData(t){let e=new XMLHttpRequest;if(e.overrideMimeType("text/plain; charset=x-user-defined"),e.open("GET",this.resolvePath(t),!1),e.send(null),e.status===200&&(e.response instanceof String||typeof e.response=="string"))return Uint8Array.from(e.response,r=>r.charCodeAt(0))}resolve(t,e){if(t.namespace!=="preview")return;let r=this.resolvePath(t);if(this.cache.has(r))return this.cache.get(r)();let o=this.pullPackageData(t);if(!o)return;let s=`/@memory/fetch/packages/${t.namespace}/${t.name}/${t.version}`,_=[];e.untar(o,(g,p,w)=>{_.push([s+"/"+g,p,new Date(w)])});let u=()=>{for(let[g,p,w]of _)this.am.insertFile(g,p,w);return s};return this.cache.set(r,u),u()}};var pe=()=>new Promise(n=>setTimeout(n,0));function ut(n,t){let e=null,r=!1;async function o(){for(r=!0;e;){let s=e;if(e=null,await pe(),e){t?.(s);continue}try{await n(s)}catch{}}r=!1}return s=>{e=s,r||o()}}var Et="/main.typ",Pt=new K,we=new Z(Pt),P=null;async function be(n,t,e){P=ct(),await P.init({getModule:()=>n,beforeBuild:[V(t),...e?[wt(Pt),pt(we)]:[]]})}function ye(n){let t=n.match(/(\\d+):(\\d+)-(\\d+):(\\d+)/);return t?{startLine:+t[1],startCol:+t[2],endLine:+t[3],endCol:+t[4]}:(console.warn(`[typst-web-service] Skipping diagnostic with unrecognized range format: ${JSON.stringify(n)}`),null)}function Ct(n){if(!P)throw new Error("Compiler not initialized");for(let[t,e]of Object.entries(n))P.addSource(t,e)}async function me(n){Ct(n);let t=await P.compile({mainFilePath:Et,diagnostics:"full"});return{diagnostics:(t.diagnostics??[]).flatMap(r=>{let o=ye(r.range);return o?[{...r,severity:r.severity,range:o}]:[]}),vector:t.result??void 0}}function ft(n,t){self.postMessage({type:"error",id:n,message:t instanceof Error?t.message:String(t)})}function Wt(n){return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)}function Lt(n){self.postMessage({type:"cancelled",id:n.id})}var he=ut(async n=>{try{let{diagnostics:t,vector:e}=await me(n.files),r=e?Wt(e):void 0,o={type:"result",id:n.id,diagnostics:t,vector:r};self.postMessage(o,r?[r]:[])}catch(t){ft(n.id,t)}},Lt),ve=ut(async n=>{try{Ct(n.files);let t=await P.compile({mainFilePath:Et,format:$.pdf,diagnostics:"none"});if(!t.result)throw new Error("Compilation produced no output");let e=Wt(t.result);self.postMessage({type:"pdf",id:n.id,data:e},[e])}catch(t){ft(n.id,t)}},Lt);self.onmessage=async n=>{let t=n.data;if(t.type==="init"){try{await be(t.wasmUrl,t.fonts,t.packages),self.postMessage({type:"ready",id:t.id})}catch(e){ft(t.id,e)}return}if(t.type==="compile"){he(t);return}if(t.type==="render"){ve(t);return}t.type==="destroy"&&self.postMessage({type:"destroyed",id:t.id})};})();\n');
15
+ }
16
+ function createAnalyzerWorker() {
17
+ return createBlobWorker('"use strict";(()=>{var K={},i;function v(n){let e=i.__externref_table_alloc();return i.__wbindgen_externrefs.set(e,n),e}var I=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>n.dtor(n.a,n.b));function O(n){let e=typeof n;if(e=="number"||e=="boolean"||n==null)return`${n}`;if(e=="string")return`"${n}"`;if(e=="symbol"){let _=n.description;return _==null?"Symbol":`Symbol(${_})`}if(e=="function"){let _=n.name;return typeof _=="string"&&_.length>0?`Function(${_})`:"Function"}if(Array.isArray(n)){let _=n.length,o="[";_>0&&(o+=O(n[0]));for(let s=1;s<_;s++)o+=", "+O(n[s]);return o+="]",o}let t=/\\[object ([^\\]]+)\\]/.exec(toString.call(n)),r;if(t&&t.length>1)r=t[1];else return toString.call(n);if(r=="Object")try{return"Object("+JSON.stringify(n)+")"}catch{return"Object"}return n instanceof Error?`${n.name}: ${n.message}\n${n.stack}`:r}function k(n,e){return n=n>>>0,m().subarray(n/1,n/1+e)}var l=null;function u(){return(l===null||l.buffer.detached===!0||l.buffer.detached===void 0&&l.buffer!==i.memory.buffer)&&(l=new DataView(i.memory.buffer)),l}function a(n,e){return n=n>>>0,$(n,e)}var A=null;function m(){return(A===null||A.byteLength===0)&&(A=new Uint8Array(i.memory.buffer)),A}function p(n,e){try{return n.apply(this,e)}catch(t){let r=v(t);i.__wbindgen_exn_store(r)}}function b(n){return n==null}function N(n,e,t,r){let _={a:n,b:e,cnt:1,dtor:t},o=(...s)=>{_.cnt++;let c=_.a;_.a=0;try{return r(c,_.b,...s)}finally{_.a=c,o._wbg_cb_unref()}};return o._wbg_cb_unref=()=>{--_.cnt===0&&(_.dtor(_.a,_.b),_.a=0,I.unregister(_))},I.register(o,_,_),o}function C(n,e){let t=e(n.length*1,1)>>>0;return m().set(n,t/1),g=n.length,t}function y(n,e,t){if(t===void 0){let c=S.encode(n),d=e(c.length,1)>>>0;return m().subarray(d,d+c.length).set(c),g=c.length,d}let r=n.length,_=e(r,1)>>>0,o=m(),s=0;for(;s<r;s++){let c=n.charCodeAt(s);if(c>127)break;o[_+s]=c}if(s!==r){s!==0&&(n=n.slice(s)),_=t(_,r,r=s+n.length*3,1)>>>0;let c=m().subarray(_+s,_+r),d=S.encodeInto(n,c);s+=d.written,_=t(_,r,s,1)>>>0}return g=s,_}function U(n){let e=i.__wbindgen_externrefs.get(n);return i.__externref_table_dealloc(n),e}var E=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});E.decode();var P=2146435072,D=0;function $(n,e){return D+=e,D>=P&&(E=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),E.decode(),D=e),E.decode(m().subarray(n,n+e))}var S=new TextEncoder;"encodeInto"in S||(S.encodeInto=function(n,e){let t=S.encode(n);return e.set(t),{read:n.length,written:t.length}});var g=0;function V(n,e,t){i.wasm_bindgen__convert__closures_____invoke__h4b569589ab16bc8b(n,e,t)}function G(n,e,t,r){i.wasm_bindgen__convert__closures_____invoke__h298f91ca76697d7d(n,e,t,r)}var T=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_individuallanguages_free(n>>>0,1)),W=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_languagecode_free(n>>>0,1)),M=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_proxycontext_free(n>>>0,1)),q=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_tinymistlanguageserver_free(n>>>0,1)),R=class n{static __wrap(e){e=e>>>0;let t=Object.create(n.prototype);return t.__wbg_ptr=e,T.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),e}free(){let e=this.__destroy_into_raw();i.__wbg_individuallanguages_free(e,0)}get name(){let e,t;try{let r=i.individuallanguages_name(this.__wbg_ptr);return e=r[0],t=r[1],a(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get code(){let e,t;try{let r=i.individuallanguages_code(this.__wbg_ptr);return e=r[0],t=r[1],a(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(R.prototype[Symbol.dispose]=R.prototype.free);var F=class n{static __wrap(e){e=e>>>0;let t=Object.create(n.prototype);return t.__wbg_ptr=e,W.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,W.unregister(this),e}free(){let e=this.__destroy_into_raw();i.__wbg_languagecode_free(e,0)}get name(){let e,t;try{let r=i.languagecode_name(this.__wbg_ptr);return e=r[0],t=r[1],a(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get code(){let e,t;try{let r=i.languagecode_code(this.__wbg_ptr);return e=r[0],t=r[1],a(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get code_2t(){let e,t;try{let r=i.languagecode_code_2t(this.__wbg_ptr);return e=r[0],t=r[1],a(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get code_2b(){let e,t;try{let r=i.languagecode_code_2b(this.__wbg_ptr);return e=r[0],t=r[1],a(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get code_3(){let e,t;try{let r=i.languagecode_code_3(this.__wbg_ptr);return e=r[0],t=r[1],a(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get individual_languages(){return i.languagecode_individual_languages(this.__wbg_ptr)}};Symbol.dispose&&(F.prototype[Symbol.dispose]=F.prototype.free);var z=class n{static __wrap(e){e=e>>>0;let t=Object.create(n.prototype);return t.__wbg_ptr=e,M.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,M.unregister(this),e}free(){let e=this.__destroy_into_raw();i.__wbg_proxycontext_free(e,0)}constructor(e){let t=i.proxycontext_new(e);return this.__wbg_ptr=t>>>0,M.register(this,this.__wbg_ptr,this),this}get context(){return i.proxycontext_context(this.__wbg_ptr)}untar(e,t){let r=C(e,i.__wbindgen_malloc),_=g,o=i.proxycontext_untar(this.__wbg_ptr,r,_,t);if(o[1])throw U(o[0])}};Symbol.dispose&&(z.prototype[Symbol.dispose]=z.prototype.free);var h=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,q.unregister(this),e}free(){let e=this.__destroy_into_raw();i.__wbg_tinymistlanguageserver_free(e,0)}constructor(e){let t=i.tinymistlanguageserver_new(e);if(t[2])throw U(t[1]);return this.__wbg_ptr=t[0]>>>0,q.register(this,this.__wbg_ptr,this),this}on_event(e){i.tinymistlanguageserver_on_event(this.__wbg_ptr,e)}on_request(e,t){let r=y(e,i.__wbindgen_malloc,i.__wbindgen_realloc),_=g;return i.tinymistlanguageserver_on_request(this.__wbg_ptr,r,_,t)}on_notification(e,t){let r=y(e,i.__wbindgen_malloc,i.__wbindgen_realloc),_=g;i.tinymistlanguageserver_on_notification(this.__wbg_ptr,r,_,t)}on_response(e){i.tinymistlanguageserver_on_response(this.__wbg_ptr,e)}static version(){let e,t;try{let r=i.tinymistlanguageserver_version();return e=r[0],t=r[1],a(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(h.prototype[Symbol.dispose]=h.prototype.free);var X=new Set(["basic","cors","default"]);async function Y(n,e){if(typeof Response=="function"&&n instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(n,e)}catch(r){if(n.ok&&X.has(n.type)&&n.headers.get("Content-Type")!=="application/wasm")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",r);else throw r}let t=await n.arrayBuffer();return await WebAssembly.instantiate(t,e)}else{let t=await WebAssembly.instantiate(n,e);return t instanceof WebAssembly.Instance?{instance:t,module:n}:t}}function H(){let n={};return n.wbg={},n.wbg.__wbg_Error_52673b7de5a0ca89=function(e,t){return Error(a(e,t))},n.wbg.__wbg_Number_2d1dcfcf4ec51736=function(e){return Number(e)},n.wbg.__wbg_String_8f0eb39a4a4c2f66=function(e,t){let r=String(t),_=y(r,i.__wbindgen_malloc,i.__wbindgen_realloc),o=g;u().setInt32(e+4,o,!0),u().setInt32(e+0,_,!0)},n.wbg.__wbg___wbindgen_bigint_get_as_i64_6e32f5e6aff02e1d=function(e,t){let r=t,_=typeof r=="bigint"?r:void 0;u().setBigInt64(e+8,b(_)?BigInt(0):_,!0),u().setInt32(e+0,!b(_),!0)},n.wbg.__wbg___wbindgen_boolean_get_dea25b33882b895b=function(e){let t=e,r=typeof t=="boolean"?t:void 0;return b(r)?16777215:r?1:0},n.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(e,t){let r=O(t),_=y(r,i.__wbindgen_malloc,i.__wbindgen_realloc),o=g;u().setInt32(e+4,o,!0),u().setInt32(e+0,_,!0)},n.wbg.__wbg___wbindgen_in_0d3e1e8f0c669317=function(e,t){return e in t},n.wbg.__wbg___wbindgen_is_bigint_0e1a2e3f55cfae27=function(e){return typeof e=="bigint"},n.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd=function(e){return typeof e=="function"},n.wbg.__wbg___wbindgen_is_object_ce774f3490692386=function(e){let t=e;return typeof t=="object"&&t!==null},n.wbg.__wbg___wbindgen_is_string_704ef9c8fc131030=function(e){return typeof e=="string"},n.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269=function(e){return e===void 0},n.wbg.__wbg___wbindgen_jsval_eq_b6101cc9cef1fe36=function(e,t){return e===t},n.wbg.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d=function(e,t){return e==t},n.wbg.__wbg___wbindgen_number_get_9619185a74197f95=function(e,t){let r=t,_=typeof r=="number"?r:void 0;u().setFloat64(e+8,b(_)?0:_,!0),u().setInt32(e+0,!b(_),!0)},n.wbg.__wbg___wbindgen_string_get_a2a31e16edf96e42=function(e,t){let r=t,_=typeof r=="string"?r:void 0;var o=b(_)?0:y(_,i.__wbindgen_malloc,i.__wbindgen_realloc),s=g;u().setInt32(e+4,s,!0),u().setInt32(e+0,o,!0)},n.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(e,t){throw new Error(a(e,t))},n.wbg.__wbg__wbg_cb_unref_87dfb5aaa0cbcea7=function(e){e._wbg_cb_unref()},n.wbg.__wbg_call_3020136f7a2d6e44=function(){return p(function(e,t,r){return e.call(t,r)},arguments)},n.wbg.__wbg_call_78f94eb02ec7f9b2=function(){return p(function(e,t,r,_,o){return e.call(t,r,_,o)},arguments)},n.wbg.__wbg_call_abb4ff46ce38be40=function(){return p(function(e,t){return e.call(t)},arguments)},n.wbg.__wbg_done_62ea16af4ce34b24=function(e){return e.done},n.wbg.__wbg_entries_83c79938054e065f=function(e){return Object.entries(e)},n.wbg.__wbg_error_7534b8e9a36f1ab4=function(e,t){let r,_;try{r=e,_=t,console.error(a(e,t))}finally{i.__wbindgen_free(r,_,1)}},n.wbg.__wbg_getTimezoneOffset_45389e26d6f46823=function(e){return e.getTimezoneOffset()},n.wbg.__wbg_get_6b7bd52aca3f9671=function(e,t){return e[t>>>0]},n.wbg.__wbg_get_af9dab7e9603ea93=function(){return p(function(e,t){return Reflect.get(e,t)},arguments)},n.wbg.__wbg_get_with_ref_key_1dc361bd10053bfe=function(e,t){return e[t]},n.wbg.__wbg_individuallanguages_new=function(e){return R.__wrap(e)},n.wbg.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355=function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},n.wbg.__wbg_instanceof_Map_084be8da74364158=function(e){let t;try{t=e instanceof Map}catch{t=!1}return t},n.wbg.__wbg_instanceof_Uint8Array_da54ccc9d3e09434=function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},n.wbg.__wbg_isArray_51fd9e6422c0a395=function(e){return Array.isArray(e)},n.wbg.__wbg_isSafeInteger_ae7d3f054d55fa16=function(e){return Number.isSafeInteger(e)},n.wbg.__wbg_iterator_27b7c8b35ab3e86b=function(){return Symbol.iterator},n.wbg.__wbg_length_22ac23eaec9d8053=function(e){return e.length},n.wbg.__wbg_length_d45040a40c570362=function(e){return e.length},n.wbg.__wbg_new_1ba21ce319a06297=function(){return new Object},n.wbg.__wbg_new_25f239778d6112b9=function(){return new Array},n.wbg.__wbg_new_6421f6084cc5bc5a=function(e){return new Uint8Array(e)},n.wbg.__wbg_new_8a6f238a6ece86ea=function(){return new Error},n.wbg.__wbg_new_b2db8aa2650f793a=function(e){return new Date(e)},n.wbg.__wbg_new_b546ae120718850e=function(){return new Map},n.wbg.__wbg_new_ff12d2b041fb48f1=function(e,t){try{var r={a:e,b:t},_=(s,c)=>{let d=r.a;r.a=0;try{return G(d,r.b,s,c)}finally{r.a=d}};return new Promise(_)}finally{r.a=r.b=0}},n.wbg.__wbg_new_from_slice_f9c22b9153b26992=function(e,t){return new Uint8Array(k(e,t))},n.wbg.__wbg_new_no_args_cb138f77cf6151ee=function(e,t){return new Function(a(e,t))},n.wbg.__wbg_next_138a17bbf04e926c=function(e){return e.next},n.wbg.__wbg_next_3cfe5c0fe2a4cc53=function(){return p(function(e){return e.next()},arguments)},n.wbg.__wbg_now_2c95c9de01293173=function(e){return e.now()},n.wbg.__wbg_now_69d776cd24f5215b=function(){return Date.now()},n.wbg.__wbg_performance_7a3ffd0b17f663ad=function(e){return e.performance},n.wbg.__wbg_prototypesetcall_dfe9b766cdc1f1fd=function(e,t,r){Uint8Array.prototype.set.call(k(e,t),r)},n.wbg.__wbg_proxycontext_new=function(e){return z.__wrap(e)},n.wbg.__wbg_push_7d9be8f38fc13975=function(e,t){return e.push(t)},n.wbg.__wbg_queueMicrotask_9b549dfce8865860=function(e){return e.queueMicrotask},n.wbg.__wbg_queueMicrotask_fca69f5bfad613a5=function(e){queueMicrotask(e)},n.wbg.__wbg_resolve_fd5bfbaa4ce36e1e=function(e){return Promise.resolve(e)},n.wbg.__wbg_set_3f1d0b984ed272ed=function(e,t,r){e[t]=r},n.wbg.__wbg_set_781438a03c0c3c81=function(){return p(function(e,t,r){return Reflect.set(e,t,r)},arguments)},n.wbg.__wbg_set_7df433eea03a5c14=function(e,t,r){e[t>>>0]=r},n.wbg.__wbg_set_efaaf145b9377369=function(e,t,r){return e.set(t,r)},n.wbg.__wbg_stack_0ed75d68575b0f3c=function(e,t){let r=t.stack,_=y(r,i.__wbindgen_malloc,i.__wbindgen_realloc),o=g;u().setInt32(e+4,o,!0),u().setInt32(e+0,_,!0)},n.wbg.__wbg_static_accessor_GLOBAL_769e6b65d6557335=function(){let e=typeof global>"u"?null:global;return b(e)?0:v(e)},n.wbg.__wbg_static_accessor_GLOBAL_THIS_60cf02db4de8e1c1=function(){let e=typeof globalThis>"u"?null:globalThis;return b(e)?0:v(e)},n.wbg.__wbg_static_accessor_SELF_08f5a74c69739274=function(){let e=typeof self>"u"?null:self;return b(e)?0:v(e)},n.wbg.__wbg_static_accessor_WINDOW_a8924b26aa92d024=function(){let e=typeof window>"u"?null:window;return b(e)?0:v(e)},n.wbg.__wbg_then_4f95312d68691235=function(e,t){return e.then(t)},n.wbg.__wbg_value_57b7b035e117f7ee=function(e){return e.value},n.wbg.__wbindgen_cast_2241b6af4c4b2941=function(e,t){return a(e,t)},n.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(e){return BigInt.asUintN(64,e)},n.wbg.__wbindgen_cast_9ae0607507abb057=function(e){return e},n.wbg.__wbindgen_cast_b5bc9a99b1b9b782=function(e,t){return N(e,t,i.wasm_bindgen__closure__destroy__h21ca932816a58917,V)},n.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(e){return e},n.wbg.__wbindgen_init_externref_table=function(){let e=i.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)},n}function J(n,e){return i=n.exports,L.__wbindgen_wasm_module=e,l=null,A=null,i.__wbindgen_start(),i}async function L(n){if(i!==void 0)return i;typeof n<"u"&&(Object.getPrototypeOf(n)===Object.prototype?{module_or_path:n}=n:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof n>"u"&&(n=new URL("tinymist_bg.wasm",K.url));let e=H();(typeof n=="string"||typeof Request=="function"&&n instanceof Request||typeof URL=="function"&&n instanceof URL)&&(n=fetch(n));let{instance:t,module:r}=await Y(await n,e);return J(t,r)}var B=L;function w(n,e){let t=e instanceof Error?e.message:String(e);self.postMessage({type:"error",id:n,message:t})}var f=null,j=[];function Q(n){return n.startsWith("untitled:/")?`untitled:${n.slice(10)}`:n}function x(){if(f)for(;j.length>0;)for(let n of j.splice(0))f.on_event(n)}async function Z(n){await B(n),f=new h({sendEvent:t=>{j.push(t)},sendRequest({id:t}){f.on_response({id:t,result:null})},sendNotification:({method:t,params:r})=>{if(t==="textDocument/publishDiagnostics"){let{uri:_,diagnostics:o}=r;self.postMessage({type:"diagnostics",uri:Q(_),diagnostics:o})}},resolveFn:()=>{}});let e=f.on_request("initialize",{capabilities:{textDocument:{publishDiagnostics:{relatedInformation:!0},completion:{completionItem:{snippetSupport:!0}},hover:{contentFormat:["markdown","plaintext"]}}},rootUri:"file:///"});e&&typeof e=="object"&&"then"in e&&await e,x(),f.on_notification("initialized",{}),x()}self.onmessage=async n=>{let e=n.data;if(e.type==="init"){try{await Z(e.wasmUrl),self.postMessage({type:"ready",id:e.id})}catch(t){w(e.id,t)}return}if(!f){w(e.id,new Error("Analyzer not initialized"));return}if(e.type==="didOpen"){try{f.on_notification("textDocument/didOpen",{textDocument:{uri:e.uri,languageId:"typst",version:1,text:e.content}}),x(),self.postMessage({type:"ack",id:e.id})}catch(t){w(e.id,t)}return}if(e.type==="didChange"){try{f.on_notification("textDocument/didChange",{textDocument:{uri:e.uri,version:e.version},contentChanges:[{text:e.content}]}),x(),self.postMessage({type:"ack",id:e.id})}catch(t){w(e.id,t)}return}if(e.type==="completion"){try{let t=f.on_request("textDocument/completion",{textDocument:{uri:e.uri},position:{line:e.line,character:e.character}}),r=t&&typeof t=="object"&&"then"in t?await t:t;x(),self.postMessage({type:"completionResult",id:e.id,result:r??null})}catch(t){w(e.id,t)}return}if(e.type==="hover"){try{let t=f.on_request("textDocument/hover",{textDocument:{uri:e.uri},position:{line:e.line,character:e.character}}),r=t&&typeof t=="object"&&"then"in t?await t:t;x(),self.postMessage({type:"hoverResult",id:e.id,result:r??null})}catch(t){w(e.id,t)}return}e.type==="destroy"&&(f.free(),f=null,self.postMessage({type:"destroyed",id:e.id}))};})();\n');
18
+ }
19
+ function workerRpc(worker, request, timeoutMs = 3e4, transfer) {
47
20
  return new Promise((resolve, reject) => {
48
21
  const handler = (e) => {
49
22
  if (e.data.id !== request.id) return;
@@ -53,32 +26,292 @@ function workerRpc(worker, request, timeoutMs = 3e4) {
53
26
  };
54
27
  const timer = setTimeout(() => {
55
28
  worker.removeEventListener("message", handler);
56
- reject(new Error(`typst worker timed out after ${timeoutMs}ms`));
29
+ reject(new Error(`worker timed out after ${timeoutMs}ms`));
57
30
  }, timeoutMs);
58
31
  worker.addEventListener("message", handler);
59
- worker.postMessage(request);
32
+ worker.postMessage(request, transfer ?? []);
60
33
  });
61
34
  }
35
+ function destroyWorker(worker, request, timeoutMs, label) {
36
+ workerRpc(worker, request, timeoutMs).catch((err) => console.error(`${label} destroy failed:`, err)).finally(() => worker.terminate());
37
+ }
62
38
 
63
- // src/service.ts
39
+ // src/uri.ts
40
+ function normalizeUntitledUri(uri) {
41
+ if (!uri.startsWith("untitled:")) return uri;
42
+ return `untitled:${uri.slice("untitled:".length).replace(/^\/+/, "")}`;
43
+ }
44
+ function normalizePath(path) {
45
+ return path.startsWith("/") ? path : `/${path}`;
46
+ }
47
+ function normalizeRoot(rootPath) {
48
+ const root = normalizePath(rootPath);
49
+ return root === "/" ? "" : root.replace(/\/+$/, "");
50
+ }
51
+
52
+ // src/analyzer.ts
53
+ var TIMEOUT = { INIT: 12e4, REQUEST: 3e4, DESTROY: 5e3 };
54
+ var TypstAnalyzer = class {
55
+ ready;
56
+ idCounter = 0;
57
+ versionCounter = 0;
58
+ worker;
59
+ openedUris = /* @__PURE__ */ new Set();
60
+ diagnosticsListeners = /* @__PURE__ */ new Set();
61
+ latestDiagnosticsByUri = /* @__PURE__ */ new Map();
62
+ constructor(options) {
63
+ this.worker = options.worker ?? createAnalyzerWorker();
64
+ const absoluteWasmUrl = new URL(options.wasmUrl, globalThis.location?.href).href;
65
+ this.worker.addEventListener(
66
+ "message",
67
+ (e) => {
68
+ if (e.data.type === "diagnostics" && !("id" in e.data)) {
69
+ const event = e.data;
70
+ const normalizedUri = normalizeUntitledUri(event.uri);
71
+ this.latestDiagnosticsByUri.set(normalizedUri, event.diagnostics);
72
+ for (const listener of this.diagnosticsListeners) {
73
+ listener(normalizedUri, event.diagnostics);
74
+ }
75
+ }
76
+ }
77
+ );
78
+ this.ready = this.rpc(
79
+ { type: "init", id: ++this.idCounter, wasmUrl: absoluteWasmUrl },
80
+ TIMEOUT.INIT
81
+ ).then((res) => {
82
+ if (res.type === "error")
83
+ throw new Error(`TypstAnalyzer init failed: ${res.message}`);
84
+ });
85
+ }
86
+ /**
87
+ * Register a listener for push-based diagnostics.
88
+ * Returns an unsubscribe function.
89
+ */
90
+ onDiagnostics(listener) {
91
+ this.diagnosticsListeners.add(listener);
92
+ return () => this.diagnosticsListeners.delete(listener);
93
+ }
94
+ /** Returns the latest pushed diagnostics for a URI, if available. */
95
+ getLatestDiagnostics(uri) {
96
+ return this.latestDiagnosticsByUri.get(normalizeUntitledUri(uri));
97
+ }
98
+ rpc(request, timeoutMs = TIMEOUT.REQUEST) {
99
+ return workerRpc(this.worker, request, timeoutMs);
100
+ }
101
+ async didOpen(uri, content) {
102
+ await this.ready;
103
+ const res = await this.rpc({
104
+ type: "didOpen",
105
+ id: ++this.idCounter,
106
+ uri,
107
+ content
108
+ });
109
+ if (res.type === "error") throw new Error(res.message);
110
+ this.openedUris.add(uri);
111
+ }
112
+ /**
113
+ * Notify the analyzer that a document has changed.
114
+ * Diagnostics will arrive asynchronously via `onDiagnostics()` listeners.
115
+ */
116
+ async didChange(uri, content) {
117
+ await this.ready;
118
+ if (!this.openedUris.has(uri)) {
119
+ await this.didOpen(uri, content);
120
+ return;
121
+ }
122
+ const version = ++this.versionCounter;
123
+ const res = await this.rpc({
124
+ type: "didChange",
125
+ id: ++this.idCounter,
126
+ uri,
127
+ version,
128
+ content
129
+ });
130
+ if (res.type === "error") throw new Error(res.message);
131
+ }
132
+ async completion(uri, line, character) {
133
+ await this.ready;
134
+ const res = await this.rpc({
135
+ type: "completion",
136
+ id: ++this.idCounter,
137
+ uri,
138
+ line,
139
+ character
140
+ });
141
+ if (res.type === "error") throw new Error(res.message);
142
+ if (res.type === "completionResult") return res.result;
143
+ return null;
144
+ }
145
+ async hover(uri, line, character) {
146
+ await this.ready;
147
+ const res = await this.rpc({
148
+ type: "hover",
149
+ id: ++this.idCounter,
150
+ uri,
151
+ line,
152
+ character
153
+ });
154
+ if (res.type === "error") throw new Error(res.message);
155
+ if (res.type === "hoverResult") return res.result;
156
+ return null;
157
+ }
158
+ destroy() {
159
+ this.diagnosticsListeners.clear();
160
+ this.latestDiagnosticsByUri.clear();
161
+ destroyWorker(
162
+ this.worker,
163
+ { type: "destroy", id: ++this.idCounter },
164
+ TIMEOUT.DESTROY,
165
+ "TypstAnalyzer"
166
+ );
167
+ }
168
+ };
169
+
170
+ // src/analyzer-session.ts
171
+ var AnalyzerSession = class {
172
+ ready;
173
+ analyzer;
174
+ rootPath;
175
+ entryPath;
176
+ syncedFiles = /* @__PURE__ */ new Map();
177
+ queue = Promise.resolve();
178
+ syncRevision = 0;
179
+ constructor(options) {
180
+ this.analyzer = options.analyzer;
181
+ this.rootPath = normalizeRoot(options.rootPath ?? "/project");
182
+ this.entryPath = normalizePath(options.entryPath ?? "/main.typ");
183
+ this.ready = this.analyzer.ready;
184
+ }
185
+ /** Build a tinymist URI from a project-relative path. */
186
+ toUri(path) {
187
+ const root = this.rootPath.replace(/^\//, "");
188
+ return `untitled:${root}${normalizePath(path)}`;
189
+ }
190
+ /**
191
+ * Sync all project files with the analyzer, then notify it of the active file change.
192
+ * Diagnostics will arrive asynchronously via the analyzer's `onDiagnostics` callback.
193
+ */
194
+ async sync(path, content, files) {
195
+ const revision = ++this.syncRevision;
196
+ const normalizedPath = normalizePath(path);
197
+ const mergedFiles = { ...files, [normalizedPath]: content };
198
+ await this.enqueue(async () => {
199
+ await this.syncForRequest(normalizedPath, mergedFiles, true);
200
+ });
201
+ }
202
+ async syncForRequest(normalizedPath, mergedFiles, forceDidChange) {
203
+ await this.ready;
204
+ await this.syncFiles(mergedFiles, normalizedPath);
205
+ await this.syncActive(
206
+ normalizedPath,
207
+ mergedFiles[normalizedPath],
208
+ forceDidChange
209
+ );
210
+ }
211
+ async syncActive(path, content, forceDidChange) {
212
+ if (forceDidChange) {
213
+ await this.analyzer.didOpen(this.toUri(path), content);
214
+ this.syncedFiles.set(path, content);
215
+ return;
216
+ }
217
+ const prev = this.syncedFiles.get(path);
218
+ if (prev == null) {
219
+ await this.analyzer.didOpen(this.toUri(path), content);
220
+ this.syncedFiles.set(path, content);
221
+ return;
222
+ }
223
+ if (forceDidChange || prev !== content) {
224
+ await this.analyzer.didChange(this.toUri(path), content);
225
+ this.syncedFiles.set(path, content);
226
+ }
227
+ }
228
+ orderedPaths(files) {
229
+ return Object.keys(files).map((path) => normalizePath(path)).sort((a, b) => {
230
+ if (a === this.entryPath) return 1;
231
+ if (b === this.entryPath) return -1;
232
+ return a.localeCompare(b);
233
+ });
234
+ }
235
+ async syncFiles(files, activePath) {
236
+ for (const path of this.orderedPaths(files)) {
237
+ if (path === activePath) continue;
238
+ const next = files[path];
239
+ const prev = this.syncedFiles.get(path);
240
+ if (prev == null) {
241
+ await this.analyzer.didOpen(this.toUri(path), next);
242
+ this.syncedFiles.set(path, next);
243
+ continue;
244
+ }
245
+ if (prev !== next) {
246
+ await this.analyzer.didChange(this.toUri(path), next);
247
+ this.syncedFiles.set(path, next);
248
+ }
249
+ }
250
+ for (const path of Array.from(this.syncedFiles.keys())) {
251
+ if (!Object.hasOwn(files, path)) {
252
+ this.syncedFiles.delete(path);
253
+ }
254
+ }
255
+ }
256
+ /**
257
+ * Sync files and request completions at the given position.
258
+ * Returns the raw LSP CompletionList/CompletionItem[] from tinymist.
259
+ */
260
+ async completion(path, content, files, line, character) {
261
+ const enqueuedRevision = this.syncRevision;
262
+ const normalizedPath = normalizePath(path);
263
+ const mergedFiles = { ...files, [normalizedPath]: content };
264
+ return this.enqueue(async () => {
265
+ if (enqueuedRevision !== this.syncRevision) return null;
266
+ await this.syncForRequest(normalizedPath, mergedFiles, false);
267
+ return this.analyzer.completion(
268
+ this.toUri(normalizedPath),
269
+ line,
270
+ character
271
+ );
272
+ });
273
+ }
274
+ /**
275
+ * Sync files and request hover info at the given position.
276
+ * Returns the raw LSP Hover result from tinymist.
277
+ */
278
+ async hover(path, content, files, line, character) {
279
+ const enqueuedRevision = this.syncRevision;
280
+ const normalizedPath = normalizePath(path);
281
+ const mergedFiles = { ...files, [normalizedPath]: content };
282
+ return this.enqueue(async () => {
283
+ if (enqueuedRevision !== this.syncRevision) return null;
284
+ await this.syncForRequest(normalizedPath, mergedFiles, false);
285
+ return this.analyzer.hover(this.toUri(normalizedPath), line, character);
286
+ });
287
+ }
288
+ enqueue(task) {
289
+ const run = this.queue.then(task, task);
290
+ this.queue = run.then(
291
+ () => void 0,
292
+ () => void 0
293
+ );
294
+ return run;
295
+ }
296
+ };
297
+
298
+ // src/compiler.ts
64
299
  var DEFAULT_FONTS = [
65
300
  "https://cdn.jsdelivr.net/npm/roboto-font@0.1.0/fonts/Roboto/roboto-regular-webfont.ttf"
66
301
  ];
67
302
  var DEFAULT_WASM_URL = "https://cdn.jsdelivr.net/npm/@myriaddreamin/typst-ts-web-compiler@0.7.0-rc2/pkg/typst_ts_web_compiler_bg.wasm";
68
- var DEFAULT_RENDERER_WASM_URL = "https://cdn.jsdelivr.net/npm/@myriaddreamin/typst-ts-renderer@0.7.0-rc2/pkg/typst_ts_renderer_bg.wasm";
69
- var TIMEOUT = { INIT: 6e4, RENDER: 6e4, DESTROY: 5e3 };
70
- var _TypstService_instances, initRenderer_fn, vectorToSvg_fn, emitSvg_fn;
71
- var _TypstService = class _TypstService {
72
- constructor(worker, options = {}) {
73
- this.worker = worker;
74
- __privateAdd(this, _TypstService_instances);
75
- this.idCounter = 0;
76
- this.onSvg = options.renderer?.onSvg;
77
- if (options.renderer) {
78
- this.rendererInstance = __privateMethod(this, _TypstService_instances, initRenderer_fn).call(this, options.renderer.module, options.renderer.wasmUrl);
79
- this.rendererReady = this.rendererInstance.then(() => {
80
- });
81
- }
303
+ var TIMEOUT2 = { INIT: 6e4, RENDER: 6e4, DESTROY: 5e3 };
304
+ function toFiles(source) {
305
+ return typeof source === "string" ? { "/main.typ": source } : source;
306
+ }
307
+ var TypstCompiler = class {
308
+ ready;
309
+ idCounter = 0;
310
+ worker;
311
+ /** The most recent vector artifact from a compile, if any. */
312
+ lastVector;
313
+ constructor(options = {}) {
314
+ this.worker = options.worker ?? createWorker();
82
315
  this.ready = workerRpc(
83
316
  this.worker,
84
317
  {
@@ -88,99 +321,147 @@ var _TypstService = class _TypstService {
88
321
  fonts: options.fonts ?? DEFAULT_FONTS,
89
322
  packages: options.packages ?? true
90
323
  },
91
- TIMEOUT.INIT
324
+ TIMEOUT2.INIT
92
325
  ).then((res) => {
93
326
  if (res.type === "error")
94
- throw new Error(`TypstService init failed: ${res.message}`);
327
+ throw new Error(`TypstCompiler init failed: ${res.message}`);
95
328
  });
96
329
  }
97
330
  /** Compile a single source string (treated as /main.typ) or a map of files. */
98
331
  async compile(source) {
99
332
  await this.ready;
100
333
  const id = ++this.idCounter;
101
- const files = typeof source === "string" ? { "/main.typ": source } : source;
102
- const response = await workerRpc(this.worker, {
103
- type: "compile",
104
- id,
105
- files
106
- });
334
+ const files = toFiles(source);
335
+ const response = await workerRpc(
336
+ this.worker,
337
+ {
338
+ type: "compile",
339
+ id,
340
+ files
341
+ }
342
+ );
107
343
  if (response.type === "cancelled") return { diagnostics: [] };
108
344
  if (response.type === "result") {
109
345
  const vector = response.vector ? new Uint8Array(response.vector) : void 0;
110
- if (vector) {
111
- this.lastVector = vector;
112
- __privateMethod(this, _TypstService_instances, emitSvg_fn).call(this, vector);
113
- }
346
+ if (vector) this.lastVector = vector;
114
347
  return { diagnostics: response.diagnostics, vector };
115
348
  }
116
349
  if (response.type === "error") throw new Error(response.message);
117
350
  return { diagnostics: [] };
118
351
  }
119
- /**
120
- * Render a vector artifact to an SVG string.
121
- * Requires the `renderer` option to be set. Returns null if the renderer is unavailable.
122
- */
123
- async renderSvg(vector) {
124
- if (!this.rendererInstance) return null;
125
- const renderer = await this.rendererInstance;
126
- return __privateMethod(this, _TypstService_instances, vectorToSvg_fn).call(this, renderer, vector);
127
- }
128
- /** Render to PDF from a single source string (treated as /main.typ) or a map of files. */
129
- async renderPdf(source) {
352
+ /** Compile to PDF from a single source string (treated as /main.typ) or a map of files. */
353
+ async compilePdf(source) {
130
354
  await this.ready;
131
355
  const id = ++this.idCounter;
132
- const files = typeof source === "string" ? { "/main.typ": source } : source;
356
+ const files = toFiles(source);
133
357
  const response = await workerRpc(
134
358
  this.worker,
135
359
  { type: "render", id, files },
136
- TIMEOUT.RENDER
360
+ TIMEOUT2.RENDER
137
361
  );
138
362
  if (response.type === "cancelled") throw new Error("Render cancelled");
139
363
  if (response.type === "pdf") return new Uint8Array(response.data);
140
364
  if (response.type === "error") throw new Error(response.message);
141
365
  throw new Error("Unexpected response type");
142
366
  }
143
- /**
144
- * Create a TypstService using an inlined worker blob.
145
- * Works without any bundler configuration.
146
- *
147
- * For Vite apps, prefer the explicit Worker constructor to avoid the blob indirection:
148
- * new TypstService(new Worker(new URL('typst-web-service/worker', import.meta.url)), options)
149
- */
150
- static create(options = {}) {
151
- return new _TypstService(createWorker(), options);
152
- }
153
367
  destroy() {
154
368
  const id = ++this.idCounter;
155
- workerRpc(this.worker, { type: "destroy", id }, TIMEOUT.DESTROY).catch((err) => console.error("TypstService destroy failed:", err)).finally(() => this.worker.terminate());
369
+ destroyWorker(
370
+ this.worker,
371
+ { type: "destroy", id },
372
+ TIMEOUT2.DESTROY,
373
+ "TypstCompiler"
374
+ );
156
375
  }
157
376
  };
158
- _TypstService_instances = new WeakSet();
159
- initRenderer_fn = async function(loadModule, wasmUrl) {
160
- const mod = await loadModule();
161
- await mod.default(wasmUrl ?? DEFAULT_RENDERER_WASM_URL);
162
- return new mod.TypstRendererBuilder().build();
163
- };
164
- vectorToSvg_fn = function(renderer, vector) {
165
- const session = renderer.create_session();
166
- try {
167
- renderer.manipulate_data(session, "reset", vector);
168
- return renderer.svg_data(session);
169
- } finally {
170
- session.free();
377
+
378
+ // src/formatter.ts
379
+ var typstylePromise = null;
380
+ function getTypstyle() {
381
+ if (!typstylePromise) {
382
+ typstylePromise = import("@typstyle/typstyle-wasm-bundler").catch((err) => {
383
+ typstylePromise = null;
384
+ throw err;
385
+ });
386
+ }
387
+ return typstylePromise;
388
+ }
389
+ var TypstFormatter = class {
390
+ config;
391
+ constructor(config = {}) {
392
+ this.config = config;
393
+ getTypstyle().catch(() => {
394
+ });
395
+ }
396
+ /** Format an entire Typst source string. */
397
+ async format(source) {
398
+ const typstyle = await getTypstyle();
399
+ return typstyle.format(source, this.config);
400
+ }
401
+ /** Format a range within a Typst source string. Indices are UTF-16 code units. */
402
+ async formatRange(source, start, end) {
403
+ const typstyle = await getTypstyle();
404
+ const result = typstyle.format_range(source, start, end, this.config);
405
+ return { start: result.start, end: result.end, text: result.text };
171
406
  }
172
407
  };
173
- emitSvg_fn = async function(vector) {
174
- if (!this.onSvg || !this.rendererInstance) return;
175
- try {
176
- const renderer = await this.rendererInstance;
177
- this.onSvg(__privateMethod(this, _TypstService_instances, vectorToSvg_fn).call(this, renderer, vector));
178
- } catch {
408
+
409
+ // src/renderer.ts
410
+ var DEFAULT_RENDERER_WASM_URL = "https://cdn.jsdelivr.net/npm/@myriaddreamin/typst-ts-renderer@0.7.0-rc2/pkg/typst_ts_renderer_bg.wasm";
411
+ var rendererModulePromise = null;
412
+ function getRendererModule() {
413
+ if (!rendererModulePromise) {
414
+ rendererModulePromise = import("@myriaddreamin/typst-ts-renderer").catch(
415
+ (err) => {
416
+ rendererModulePromise = null;
417
+ throw err;
418
+ }
419
+ );
420
+ }
421
+ return rendererModulePromise;
422
+ }
423
+ var TypstRenderer = class {
424
+ wasmUrl;
425
+ instance = null;
426
+ constructor(options = {}) {
427
+ this.wasmUrl = options.wasmUrl ?? DEFAULT_RENDERER_WASM_URL;
428
+ getRendererModule().catch(() => {
429
+ });
430
+ }
431
+ getInstance() {
432
+ if (!this.instance) {
433
+ this.instance = this.#init().catch((err) => {
434
+ this.instance = null;
435
+ throw err;
436
+ });
437
+ }
438
+ return this.instance;
439
+ }
440
+ async #init() {
441
+ const mod = await getRendererModule();
442
+ await mod.default(this.wasmUrl);
443
+ return new mod.TypstRendererBuilder().build();
444
+ }
445
+ /** Render a Typst vector artifact to an SVG string. */
446
+ async renderSvg(vector) {
447
+ const renderer = await this.getInstance();
448
+ const session = renderer.create_session();
449
+ try {
450
+ renderer.manipulate_data(session, "reset", vector);
451
+ return renderer.svg_data(session);
452
+ } finally {
453
+ session.free();
454
+ }
179
455
  }
180
456
  };
181
- var TypstService = _TypstService;
182
457
  export {
458
+ AnalyzerSession,
459
+ TypstAnalyzer,
460
+ TypstCompiler,
183
461
  TypstFormatter,
184
- TypstService
462
+ TypstRenderer,
463
+ normalizePath,
464
+ normalizeRoot,
465
+ normalizeUntitledUri
185
466
  };
186
467
  //# sourceMappingURL=index.js.map