diff --git a/.changeset/chilled-paws-sort.md b/.changeset/chilled-paws-sort.md
new file mode 100644
index 00000000..d0d3f5f4
--- /dev/null
+++ b/.changeset/chilled-paws-sort.md
@@ -0,0 +1,5 @@
+---
+"@vinxi/doc": patch
+---
+
+release vinxi/doc
diff --git a/examples/react/rsc/ssr/app/client.tsx b/examples/react/rsc/ssr/app/client.tsx
index caf332dd..52c78964 100644
--- a/examples/react/rsc/ssr/app/client.tsx
+++ b/examples/react/rsc/ssr/app/client.tsx
@@ -1,6 +1,7 @@
+import { ServerComponent } from "@vinxi/react-server-dom/client";
import { startTransition } from "react";
import { hydrateRoot } from "react-dom/client";
-import { ServerComponent } from "@vinxi/react-rsc/client";
+
startTransition(() => {
hydrateRoot(document, );
});
diff --git a/packages/doc/deno_doc.cjs b/packages/doc/deno_doc.cjs
new file mode 100644
index 00000000..a5840919
--- /dev/null
+++ b/packages/doc/deno_doc.cjs
@@ -0,0 +1,623 @@
+let imports = {};
+imports['__wbindgen_placeholder__'] = module.exports;
+let wasm;
+const { TextDecoder, TextEncoder } = require(`util`);
+
+let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
+
+cachedTextDecoder.decode();
+
+let cachedUint8Memory0 = null;
+
+function getUint8Memory0() {
+ if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) {
+ cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
+ }
+ return cachedUint8Memory0;
+}
+
+function getStringFromWasm0(ptr, len) {
+ ptr = ptr >>> 0;
+ return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
+}
+
+const heap = new Array(128).fill(undefined);
+
+heap.push(undefined, null, true, false);
+
+let heap_next = heap.length;
+
+function addHeapObject(obj) {
+ if (heap_next === heap.length) heap.push(heap.length + 1);
+ const idx = heap_next;
+ heap_next = heap[idx];
+
+ heap[idx] = obj;
+ return idx;
+}
+
+function getObject(idx) { return heap[idx]; }
+
+function dropObject(idx) {
+ if (idx < 132) return;
+ heap[idx] = heap_next;
+ heap_next = idx;
+}
+
+function takeObject(idx) {
+ const ret = getObject(idx);
+ dropObject(idx);
+ return ret;
+}
+
+function isLikeNone(x) {
+ return x === undefined || x === null;
+}
+
+let cachedFloat64Memory0 = null;
+
+function getFloat64Memory0() {
+ if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) {
+ cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer);
+ }
+ return cachedFloat64Memory0;
+}
+
+let cachedInt32Memory0 = null;
+
+function getInt32Memory0() {
+ if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {
+ cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
+ }
+ return cachedInt32Memory0;
+}
+
+let WASM_VECTOR_LEN = 0;
+
+let cachedTextEncoder = new TextEncoder('utf-8');
+
+const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
+ ? function (arg, view) {
+ return cachedTextEncoder.encodeInto(arg, view);
+}
+ : function (arg, view) {
+ const buf = cachedTextEncoder.encode(arg);
+ view.set(buf);
+ return {
+ read: arg.length,
+ written: buf.length
+ };
+});
+
+function passStringToWasm0(arg, malloc, realloc) {
+
+ if (realloc === undefined) {
+ const buf = cachedTextEncoder.encode(arg);
+ const ptr = malloc(buf.length) >>> 0;
+ getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
+ WASM_VECTOR_LEN = buf.length;
+ return ptr;
+ }
+
+ let len = arg.length;
+ let ptr = malloc(len) >>> 0;
+
+ const mem = getUint8Memory0();
+
+ let offset = 0;
+
+ for (; offset < len; offset++) {
+ const code = arg.charCodeAt(offset);
+ if (code > 0x7F) break;
+ mem[ptr + offset] = code;
+ }
+
+ if (offset !== len) {
+ if (offset !== 0) {
+ arg = arg.slice(offset);
+ }
+ ptr = realloc(ptr, len, len = offset + arg.length * 3) >>> 0;
+ const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
+ const ret = encodeString(arg, view);
+
+ offset += ret.written;
+ }
+
+ WASM_VECTOR_LEN = offset;
+ return ptr;
+}
+
+let cachedBigInt64Memory0 = null;
+
+function getBigInt64Memory0() {
+ if (cachedBigInt64Memory0 === null || cachedBigInt64Memory0.byteLength === 0) {
+ cachedBigInt64Memory0 = new BigInt64Array(wasm.memory.buffer);
+ }
+ return cachedBigInt64Memory0;
+}
+
+function debugString(val) {
+ // primitive types
+ const type = typeof val;
+ if (type == 'number' || type == 'boolean' || val == null) {
+ return `${val}`;
+ }
+ if (type == 'string') {
+ return `"${val}"`;
+ }
+ if (type == 'symbol') {
+ const description = val.description;
+ if (description == null) {
+ return 'Symbol';
+ } else {
+ return `Symbol(${description})`;
+ }
+ }
+ if (type == 'function') {
+ const name = val.name;
+ if (typeof name == 'string' && name.length > 0) {
+ return `Function(${name})`;
+ } else {
+ return 'Function';
+ }
+ }
+ // objects
+ if (Array.isArray(val)) {
+ const length = val.length;
+ let debug = '[';
+ if (length > 0) {
+ debug += debugString(val[0]);
+ }
+ for(let i = 1; i < length; i++) {
+ debug += ', ' + debugString(val[i]);
+ }
+ debug += ']';
+ return debug;
+ }
+ // Test for built-in
+ const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
+ let className;
+ if (builtInMatches.length > 1) {
+ className = builtInMatches[1];
+ } else {
+ // Failed to match the standard '[object ClassName]'
+ return toString.call(val);
+ }
+ if (className == 'Object') {
+ // we're a user defined class or Object
+ // JSON.stringify avoids problems with cycles, and is generally much
+ // easier than looping through ownProperties of `val`.
+ try {
+ return 'Object(' + JSON.stringify(val) + ')';
+ } catch (_) {
+ return 'Object';
+ }
+ }
+ // errors
+ if (val instanceof Error) {
+ return `${val.name}: ${val.message}\n${val.stack}`;
+ }
+ // TODO we could test for more things here, like `Set`s and `Map`s.
+ return className;
+}
+
+const CLOSURE_DTORS = new FinalizationRegistry(state => {
+ wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b)
+});
+
+function makeMutClosure(arg0, arg1, dtor, f) {
+ const state = { a: arg0, b: arg1, cnt: 1, dtor };
+ const real = (...args) => {
+ // First up with a closure we increment the internal reference
+ // count. This ensures that the Rust closure environment won't
+ // be deallocated while we're invoking it.
+ state.cnt++;
+ const a = state.a;
+ state.a = 0;
+ try {
+ return f(a, state.b, ...args);
+ } finally {
+ if (--state.cnt === 0) {
+ wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);
+ CLOSURE_DTORS.unregister(state)
+ } else {
+ state.a = a;
+ }
+ }
+ };
+ real.original = state;
+ CLOSURE_DTORS.register(real, state, state);
+ return real;
+}
+function __wbg_adapter_46(arg0, arg1, arg2) {
+ wasm.wasm_bindgen__convert__closures__invoke1_mut__h7998bb6d957d1e49(arg0, arg1, addHeapObject(arg2));
+}
+
+/**
+* @param {string} root_specifier
+* @param {boolean} include_all
+* @param {Function} load
+* @param {Function | undefined} maybe_resolve
+* @param {string | undefined} maybe_import_map
+* @param {boolean} print_import_map_diagnostics
+* @returns {Promise}
+*/
+module.exports.doc = function(root_specifier, include_all, load, maybe_resolve, maybe_import_map, print_import_map_diagnostics) {
+ const ptr0 = passStringToWasm0(root_specifier, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len0 = WASM_VECTOR_LEN;
+ var ptr1 = isLikeNone(maybe_import_map) ? 0 : passStringToWasm0(maybe_import_map, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ var len1 = WASM_VECTOR_LEN;
+ const ret = wasm.doc(ptr0, len0, include_all, addHeapObject(load), isLikeNone(maybe_resolve) ? 0 : addHeapObject(maybe_resolve), ptr1, len1, print_import_map_diagnostics);
+ return takeObject(ret);
+};
+
+function handleError(f, args) {
+ try {
+ return f.apply(this, args);
+ } catch (e) {
+ wasm.__wbindgen_exn_store(addHeapObject(e));
+ }
+}
+function __wbg_adapter_106(arg0, arg1, arg2, arg3) {
+ wasm.wasm_bindgen__convert__closures__invoke2_mut__ha6a6bec1db8e6b35(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
+}
+
+module.exports.__wbindgen_error_new = function(arg0, arg1) {
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_warn_e8cb0d97e232ec5e = function(arg0, arg1) {
+ console.warn(getStringFromWasm0(arg0, arg1));
+};
+
+module.exports.__wbindgen_object_drop_ref = function(arg0) {
+ takeObject(arg0);
+};
+
+module.exports.__wbindgen_boolean_get = function(arg0) {
+ const v = getObject(arg0);
+ const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;
+ return ret;
+};
+
+module.exports.__wbindgen_is_bigint = function(arg0) {
+ const ret = typeof(getObject(arg0)) === 'bigint';
+ return ret;
+};
+
+module.exports.__wbindgen_number_get = function(arg0, arg1) {
+ const obj = getObject(arg1);
+ const ret = typeof(obj) === 'number' ? obj : undefined;
+ getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret;
+ getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret);
+};
+
+module.exports.__wbindgen_bigint_from_i64 = function(arg0) {
+ const ret = arg0;
+ return addHeapObject(ret);
+};
+
+module.exports.__wbindgen_jsval_eq = function(arg0, arg1) {
+ const ret = getObject(arg0) === getObject(arg1);
+ return ret;
+};
+
+module.exports.__wbindgen_string_get = function(arg0, arg1) {
+ const obj = getObject(arg1);
+ const ret = typeof(obj) === 'string' ? obj : undefined;
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ var len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+
+module.exports.__wbindgen_is_object = function(arg0) {
+ const val = getObject(arg0);
+ const ret = typeof(val) === 'object' && val !== null;
+ return ret;
+};
+
+module.exports.__wbindgen_in = function(arg0, arg1) {
+ const ret = getObject(arg0) in getObject(arg1);
+ return ret;
+};
+
+module.exports.__wbindgen_bigint_from_u64 = function(arg0) {
+ const ret = BigInt.asUintN(64, arg0);
+ return addHeapObject(ret);
+};
+
+module.exports.__wbindgen_string_new = function(arg0, arg1) {
+ const ret = getStringFromWasm0(arg0, arg1);
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_new_abda76e883ba8a5f = function() {
+ const ret = new Error();
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {
+ const ret = getObject(arg1).stack;
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+
+module.exports.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {
+ let deferred0_0;
+ let deferred0_1;
+ try {
+ deferred0_0 = arg0;
+ deferred0_1 = arg1;
+ console.error(getStringFromWasm0(arg0, arg1));
+ } finally {
+ wasm.__wbindgen_free(deferred0_0, deferred0_1);
+ }
+};
+
+module.exports.__wbindgen_object_clone_ref = function(arg0) {
+ const ret = getObject(arg0);
+ return addHeapObject(ret);
+};
+
+module.exports.__wbindgen_jsval_loose_eq = function(arg0, arg1) {
+ const ret = getObject(arg0) == getObject(arg1);
+ return ret;
+};
+
+module.exports.__wbg_String_88810dfeb4021902 = function(arg0, arg1) {
+ const ret = String(getObject(arg1));
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+
+module.exports.__wbindgen_number_new = function(arg0) {
+ const ret = arg0;
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_set_841ac57cff3d672b = function(arg0, arg1, arg2) {
+ getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
+};
+
+module.exports.__wbindgen_cb_drop = function(arg0) {
+ const obj = takeObject(arg0).original;
+ if (obj.cnt-- == 1) {
+ obj.a = 0;
+ return true;
+ }
+ const ret = false;
+ return ret;
+};
+
+module.exports.__wbindgen_is_function = function(arg0) {
+ const ret = typeof(getObject(arg0)) === 'function';
+ return ret;
+};
+
+module.exports.__wbindgen_is_string = function(arg0) {
+ const ret = typeof(getObject(arg0)) === 'string';
+ return ret;
+};
+
+module.exports.__wbg_call_557a2f2deacc4912 = function() { return handleError(function (arg0, arg1) {
+ const ret = getObject(arg0).call(getObject(arg1));
+ return addHeapObject(ret);
+}, arguments) };
+
+module.exports.__wbg_get_7303ed2ef026b2f5 = function(arg0, arg1) {
+ const ret = getObject(arg0)[arg1 >>> 0];
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_length_820c786973abdd8a = function(arg0) {
+ const ret = getObject(arg0).length;
+ return ret;
+};
+
+module.exports.__wbg_new_0394642eae39db16 = function() {
+ const ret = new Array();
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_new_0f2b71ca2f2a6029 = function() {
+ const ret = new Map();
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_next_f4bc0e96ea67da68 = function(arg0) {
+ const ret = getObject(arg0).next;
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_next_ec061e48a0e72a96 = function() { return handleError(function (arg0) {
+ const ret = getObject(arg0).next();
+ return addHeapObject(ret);
+}, arguments) };
+
+module.exports.__wbg_done_b6abb27d42b63867 = function(arg0) {
+ const ret = getObject(arg0).done;
+ return ret;
+};
+
+module.exports.__wbg_value_2f4ef2036bfad28e = function(arg0) {
+ const ret = getObject(arg0).value;
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_iterator_7c7e58f62eb84700 = function() {
+ const ret = Symbol.iterator;
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_get_f53c921291c381bd = function() { return handleError(function (arg0, arg1) {
+ const ret = Reflect.get(getObject(arg0), getObject(arg1));
+ return addHeapObject(ret);
+}, arguments) };
+
+module.exports.__wbg_new_2b6fea4ea03b1b95 = function() {
+ const ret = new Object();
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_set_b4da98d504ac6091 = function(arg0, arg1, arg2) {
+ getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
+};
+
+module.exports.__wbg_isArray_04e59fb73f78ab5b = function(arg0) {
+ const ret = Array.isArray(getObject(arg0));
+ return ret;
+};
+
+module.exports.__wbg_instanceof_ArrayBuffer_ef2632aa0d4bfff8 = function(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof ArrayBuffer;
+ } catch {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+};
+
+module.exports.__wbg_new_87297f22973157c8 = function(arg0, arg1) {
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_call_587b30eea3e09332 = function() { return handleError(function (arg0, arg1, arg2) {
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+}, arguments) };
+
+module.exports.__wbg_call_4c73e4aecced6a7d = function() { return handleError(function (arg0, arg1, arg2, arg3) {
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3));
+ return addHeapObject(ret);
+}, arguments) };
+
+module.exports.__wbg_call_7f98f4764e617d86 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4));
+ return addHeapObject(ret);
+}, arguments) };
+
+module.exports.__wbg_set_da7be7bf0e037b14 = function(arg0, arg1, arg2) {
+ const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_isSafeInteger_2088b01008075470 = function(arg0) {
+ const ret = Number.isSafeInteger(getObject(arg0));
+ return ret;
+};
+
+module.exports.__wbg_entries_13e011453776468f = function(arg0) {
+ const ret = Object.entries(getObject(arg0));
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_buffer_55ba7a6b1b92e2ac = function(arg0) {
+ const ret = getObject(arg0).buffer;
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_new_2b55e405e4af4986 = function(arg0, arg1) {
+ try {
+ var state0 = {a: arg0, b: arg1};
+ var cb0 = (arg0, arg1) => {
+ const a = state0.a;
+ state0.a = 0;
+ try {
+ return __wbg_adapter_106(a, state0.b, arg0, arg1);
+ } finally {
+ state0.a = a;
+ }
+ };
+ const ret = new Promise(cb0);
+ return addHeapObject(ret);
+ } finally {
+ state0.a = state0.b = 0;
+ }
+};
+
+module.exports.__wbg_resolve_ae38ad63c43ff98b = function(arg0) {
+ const ret = Promise.resolve(getObject(arg0));
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_then_8df675b8bb5d5e3c = function(arg0, arg1) {
+ const ret = getObject(arg0).then(getObject(arg1));
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_then_835b073a479138e5 = function(arg0, arg1, arg2) {
+ const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_new_09938a7d020f049b = function(arg0) {
+ const ret = new Uint8Array(getObject(arg0));
+ return addHeapObject(ret);
+};
+
+module.exports.__wbg_set_3698e3ca519b3c3c = function(arg0, arg1, arg2) {
+ getObject(arg0).set(getObject(arg1), arg2 >>> 0);
+};
+
+module.exports.__wbg_length_0aab7ffd65ad19ed = function(arg0) {
+ const ret = getObject(arg0).length;
+ return ret;
+};
+
+module.exports.__wbg_instanceof_Uint8Array_1349640af2da2e88 = function(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof Uint8Array;
+ } catch {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+};
+
+module.exports.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) {
+ const v = getObject(arg1);
+ const ret = typeof(v) === 'bigint' ? v : undefined;
+ getBigInt64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? BigInt(0) : ret;
+ getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret);
+};
+
+module.exports.__wbindgen_debug_string = function(arg0, arg1) {
+ const ret = debugString(getObject(arg1));
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+
+module.exports.__wbindgen_throw = function(arg0, arg1) {
+ throw new Error(getStringFromWasm0(arg0, arg1));
+};
+
+module.exports.__wbindgen_memory = function() {
+ const ret = wasm.memory;
+ return addHeapObject(ret);
+};
+
+module.exports.__wbindgen_closure_wrapper1053 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 162, __wbg_adapter_46);
+ return addHeapObject(ret);
+};
+
+const path = require('path').join(__dirname, 'deno_doc_bg.wasm');
+const bytes = require('fs').readFileSync(path);
+
+const wasmModule = new WebAssembly.Module(bytes);
+const wasmInstance = new WebAssembly.Instance(wasmModule, imports);
+wasm = wasmInstance.exports;
+module.exports.__wasm = wasm;
+
diff --git a/packages/doc/deno_doc.d.ts b/packages/doc/deno_doc.d.ts
new file mode 100644
index 00000000..1e0b1620
--- /dev/null
+++ b/packages/doc/deno_doc.d.ts
@@ -0,0 +1,12 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+* @param {string} root_specifier
+* @param {boolean} include_all
+* @param {Function} load
+* @param {Function | undefined} maybe_resolve
+* @param {string | undefined} maybe_import_map
+* @param {boolean} print_import_map_diagnostics
+* @returns {Promise}
+*/
+export function doc(root_specifier: string, include_all: boolean, load: Function, maybe_resolve: Function | undefined, maybe_import_map: string | undefined, print_import_map_diagnostics: boolean): Promise;
diff --git a/packages/doc/deno_doc_bg.js b/packages/doc/deno_doc_bg.js
new file mode 100644
index 00000000..e87ae593
--- /dev/null
+++ b/packages/doc/deno_doc_bg.js
@@ -0,0 +1,620 @@
+let wasm;
+export function __wbg_set_wasm(val) {
+ wasm = val;
+}
+
+
+const lTextDecoder = typeof TextDecoder === 'undefined' ? (0, module.require)('util').TextDecoder : TextDecoder;
+
+let cachedTextDecoder = new lTextDecoder('utf-8', { ignoreBOM: true, fatal: true });
+
+cachedTextDecoder.decode();
+
+let cachedUint8Memory0 = null;
+
+function getUint8Memory0() {
+ if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) {
+ cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
+ }
+ return cachedUint8Memory0;
+}
+
+function getStringFromWasm0(ptr, len) {
+ ptr = ptr >>> 0;
+ return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
+}
+
+const heap = new Array(128).fill(undefined);
+
+heap.push(undefined, null, true, false);
+
+let heap_next = heap.length;
+
+function addHeapObject(obj) {
+ if (heap_next === heap.length) heap.push(heap.length + 1);
+ const idx = heap_next;
+ heap_next = heap[idx];
+
+ heap[idx] = obj;
+ return idx;
+}
+
+function getObject(idx) { return heap[idx]; }
+
+function dropObject(idx) {
+ if (idx < 132) return;
+ heap[idx] = heap_next;
+ heap_next = idx;
+}
+
+function takeObject(idx) {
+ const ret = getObject(idx);
+ dropObject(idx);
+ return ret;
+}
+
+function isLikeNone(x) {
+ return x === undefined || x === null;
+}
+
+let cachedFloat64Memory0 = null;
+
+function getFloat64Memory0() {
+ if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) {
+ cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer);
+ }
+ return cachedFloat64Memory0;
+}
+
+let cachedInt32Memory0 = null;
+
+function getInt32Memory0() {
+ if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {
+ cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
+ }
+ return cachedInt32Memory0;
+}
+
+let WASM_VECTOR_LEN = 0;
+
+const lTextEncoder = typeof TextEncoder === 'undefined' ? (0, module.require)('util').TextEncoder : TextEncoder;
+
+let cachedTextEncoder = new lTextEncoder('utf-8');
+
+const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
+ ? function (arg, view) {
+ return cachedTextEncoder.encodeInto(arg, view);
+}
+ : function (arg, view) {
+ const buf = cachedTextEncoder.encode(arg);
+ view.set(buf);
+ return {
+ read: arg.length,
+ written: buf.length
+ };
+});
+
+function passStringToWasm0(arg, malloc, realloc) {
+
+ if (realloc === undefined) {
+ const buf = cachedTextEncoder.encode(arg);
+ const ptr = malloc(buf.length) >>> 0;
+ getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
+ WASM_VECTOR_LEN = buf.length;
+ return ptr;
+ }
+
+ let len = arg.length;
+ let ptr = malloc(len) >>> 0;
+
+ const mem = getUint8Memory0();
+
+ let offset = 0;
+
+ for (; offset < len; offset++) {
+ const code = arg.charCodeAt(offset);
+ if (code > 0x7F) break;
+ mem[ptr + offset] = code;
+ }
+
+ if (offset !== len) {
+ if (offset !== 0) {
+ arg = arg.slice(offset);
+ }
+ ptr = realloc(ptr, len, len = offset + arg.length * 3) >>> 0;
+ const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
+ const ret = encodeString(arg, view);
+
+ offset += ret.written;
+ }
+
+ WASM_VECTOR_LEN = offset;
+ return ptr;
+}
+
+let cachedBigInt64Memory0 = null;
+
+function getBigInt64Memory0() {
+ if (cachedBigInt64Memory0 === null || cachedBigInt64Memory0.byteLength === 0) {
+ cachedBigInt64Memory0 = new BigInt64Array(wasm.memory.buffer);
+ }
+ return cachedBigInt64Memory0;
+}
+
+function debugString(val) {
+ // primitive types
+ const type = typeof val;
+ if (type == 'number' || type == 'boolean' || val == null) {
+ return `${val}`;
+ }
+ if (type == 'string') {
+ return `"${val}"`;
+ }
+ if (type == 'symbol') {
+ const description = val.description;
+ if (description == null) {
+ return 'Symbol';
+ } else {
+ return `Symbol(${description})`;
+ }
+ }
+ if (type == 'function') {
+ const name = val.name;
+ if (typeof name == 'string' && name.length > 0) {
+ return `Function(${name})`;
+ } else {
+ return 'Function';
+ }
+ }
+ // objects
+ if (Array.isArray(val)) {
+ const length = val.length;
+ let debug = '[';
+ if (length > 0) {
+ debug += debugString(val[0]);
+ }
+ for(let i = 1; i < length; i++) {
+ debug += ', ' + debugString(val[i]);
+ }
+ debug += ']';
+ return debug;
+ }
+ // Test for built-in
+ const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
+ let className;
+ if (builtInMatches.length > 1) {
+ className = builtInMatches[1];
+ } else {
+ // Failed to match the standard '[object ClassName]'
+ return toString.call(val);
+ }
+ if (className == 'Object') {
+ // we're a user defined class or Object
+ // JSON.stringify avoids problems with cycles, and is generally much
+ // easier than looping through ownProperties of `val`.
+ try {
+ return 'Object(' + JSON.stringify(val) + ')';
+ } catch (_) {
+ return 'Object';
+ }
+ }
+ // errors
+ if (val instanceof Error) {
+ return `${val.name}: ${val.message}\n${val.stack}`;
+ }
+ // TODO we could test for more things here, like `Set`s and `Map`s.
+ return className;
+}
+
+const CLOSURE_DTORS = new FinalizationRegistry(state => {
+ wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b)
+});
+
+function makeMutClosure(arg0, arg1, dtor, f) {
+ const state = { a: arg0, b: arg1, cnt: 1, dtor };
+ const real = (...args) => {
+ // First up with a closure we increment the internal reference
+ // count. This ensures that the Rust closure environment won't
+ // be deallocated while we're invoking it.
+ state.cnt++;
+ const a = state.a;
+ state.a = 0;
+ try {
+ return f(a, state.b, ...args);
+ } finally {
+ if (--state.cnt === 0) {
+ wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);
+ CLOSURE_DTORS.unregister(state)
+ } else {
+ state.a = a;
+ }
+ }
+ };
+ real.original = state;
+ CLOSURE_DTORS.register(real, state, state);
+ return real;
+}
+function __wbg_adapter_46(arg0, arg1, arg2) {
+ wasm.wasm_bindgen__convert__closures__invoke1_mut__h7998bb6d957d1e49(arg0, arg1, addHeapObject(arg2));
+}
+
+/**
+* @param {string} root_specifier
+* @param {boolean} include_all
+* @param {Function} load
+* @param {Function | undefined} maybe_resolve
+* @param {string | undefined} maybe_import_map
+* @param {boolean} print_import_map_diagnostics
+* @returns {Promise}
+*/
+export function doc(root_specifier, include_all, load, maybe_resolve, maybe_import_map, print_import_map_diagnostics) {
+ const ptr0 = passStringToWasm0(root_specifier, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len0 = WASM_VECTOR_LEN;
+ var ptr1 = isLikeNone(maybe_import_map) ? 0 : passStringToWasm0(maybe_import_map, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ var len1 = WASM_VECTOR_LEN;
+ const ret = wasm.doc(ptr0, len0, include_all, addHeapObject(load), isLikeNone(maybe_resolve) ? 0 : addHeapObject(maybe_resolve), ptr1, len1, print_import_map_diagnostics);
+ return takeObject(ret);
+}
+
+function handleError(f, args) {
+ try {
+ return f.apply(this, args);
+ } catch (e) {
+ wasm.__wbindgen_exn_store(addHeapObject(e));
+ }
+}
+function __wbg_adapter_106(arg0, arg1, arg2, arg3) {
+ wasm.wasm_bindgen__convert__closures__invoke2_mut__ha6a6bec1db8e6b35(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
+}
+
+export function __wbindgen_error_new(arg0, arg1) {
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
+ return addHeapObject(ret);
+};
+
+export function __wbg_warn_e8cb0d97e232ec5e(arg0, arg1) {
+ console.warn(getStringFromWasm0(arg0, arg1));
+};
+
+export function __wbindgen_object_drop_ref(arg0) {
+ takeObject(arg0);
+};
+
+export function __wbindgen_boolean_get(arg0) {
+ const v = getObject(arg0);
+ const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;
+ return ret;
+};
+
+export function __wbindgen_is_bigint(arg0) {
+ const ret = typeof(getObject(arg0)) === 'bigint';
+ return ret;
+};
+
+export function __wbindgen_number_get(arg0, arg1) {
+ const obj = getObject(arg1);
+ const ret = typeof(obj) === 'number' ? obj : undefined;
+ getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret;
+ getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret);
+};
+
+export function __wbindgen_bigint_from_i64(arg0) {
+ const ret = arg0;
+ return addHeapObject(ret);
+};
+
+export function __wbindgen_jsval_eq(arg0, arg1) {
+ const ret = getObject(arg0) === getObject(arg1);
+ return ret;
+};
+
+export function __wbindgen_string_get(arg0, arg1) {
+ const obj = getObject(arg1);
+ const ret = typeof(obj) === 'string' ? obj : undefined;
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ var len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+
+export function __wbindgen_is_object(arg0) {
+ const val = getObject(arg0);
+ const ret = typeof(val) === 'object' && val !== null;
+ return ret;
+};
+
+export function __wbindgen_in(arg0, arg1) {
+ const ret = getObject(arg0) in getObject(arg1);
+ return ret;
+};
+
+export function __wbindgen_bigint_from_u64(arg0) {
+ const ret = BigInt.asUintN(64, arg0);
+ return addHeapObject(ret);
+};
+
+export function __wbindgen_string_new(arg0, arg1) {
+ const ret = getStringFromWasm0(arg0, arg1);
+ return addHeapObject(ret);
+};
+
+export function __wbg_new_abda76e883ba8a5f() {
+ const ret = new Error();
+ return addHeapObject(ret);
+};
+
+export function __wbg_stack_658279fe44541cf6(arg0, arg1) {
+ const ret = getObject(arg1).stack;
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+
+export function __wbg_error_f851667af71bcfc6(arg0, arg1) {
+ let deferred0_0;
+ let deferred0_1;
+ try {
+ deferred0_0 = arg0;
+ deferred0_1 = arg1;
+ console.error(getStringFromWasm0(arg0, arg1));
+ } finally {
+ wasm.__wbindgen_free(deferred0_0, deferred0_1);
+ }
+};
+
+export function __wbindgen_object_clone_ref(arg0) {
+ const ret = getObject(arg0);
+ return addHeapObject(ret);
+};
+
+export function __wbindgen_jsval_loose_eq(arg0, arg1) {
+ const ret = getObject(arg0) == getObject(arg1);
+ return ret;
+};
+
+export function __wbg_String_88810dfeb4021902(arg0, arg1) {
+ const ret = String(getObject(arg1));
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+
+export function __wbindgen_number_new(arg0) {
+ const ret = arg0;
+ return addHeapObject(ret);
+};
+
+export function __wbg_set_841ac57cff3d672b(arg0, arg1, arg2) {
+ getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
+};
+
+export function __wbindgen_cb_drop(arg0) {
+ const obj = takeObject(arg0).original;
+ if (obj.cnt-- == 1) {
+ obj.a = 0;
+ return true;
+ }
+ const ret = false;
+ return ret;
+};
+
+export function __wbindgen_is_function(arg0) {
+ const ret = typeof(getObject(arg0)) === 'function';
+ return ret;
+};
+
+export function __wbindgen_is_string(arg0) {
+ const ret = typeof(getObject(arg0)) === 'string';
+ return ret;
+};
+
+export function __wbg_call_557a2f2deacc4912() { return handleError(function (arg0, arg1) {
+ const ret = getObject(arg0).call(getObject(arg1));
+ return addHeapObject(ret);
+}, arguments) };
+
+export function __wbg_get_7303ed2ef026b2f5(arg0, arg1) {
+ const ret = getObject(arg0)[arg1 >>> 0];
+ return addHeapObject(ret);
+};
+
+export function __wbg_length_820c786973abdd8a(arg0) {
+ const ret = getObject(arg0).length;
+ return ret;
+};
+
+export function __wbg_new_0394642eae39db16() {
+ const ret = new Array();
+ return addHeapObject(ret);
+};
+
+export function __wbg_new_0f2b71ca2f2a6029() {
+ const ret = new Map();
+ return addHeapObject(ret);
+};
+
+export function __wbg_next_f4bc0e96ea67da68(arg0) {
+ const ret = getObject(arg0).next;
+ return addHeapObject(ret);
+};
+
+export function __wbg_next_ec061e48a0e72a96() { return handleError(function (arg0) {
+ const ret = getObject(arg0).next();
+ return addHeapObject(ret);
+}, arguments) };
+
+export function __wbg_done_b6abb27d42b63867(arg0) {
+ const ret = getObject(arg0).done;
+ return ret;
+};
+
+export function __wbg_value_2f4ef2036bfad28e(arg0) {
+ const ret = getObject(arg0).value;
+ return addHeapObject(ret);
+};
+
+export function __wbg_iterator_7c7e58f62eb84700() {
+ const ret = Symbol.iterator;
+ return addHeapObject(ret);
+};
+
+export function __wbg_get_f53c921291c381bd() { return handleError(function (arg0, arg1) {
+ const ret = Reflect.get(getObject(arg0), getObject(arg1));
+ return addHeapObject(ret);
+}, arguments) };
+
+export function __wbg_new_2b6fea4ea03b1b95() {
+ const ret = new Object();
+ return addHeapObject(ret);
+};
+
+export function __wbg_set_b4da98d504ac6091(arg0, arg1, arg2) {
+ getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
+};
+
+export function __wbg_isArray_04e59fb73f78ab5b(arg0) {
+ const ret = Array.isArray(getObject(arg0));
+ return ret;
+};
+
+export function __wbg_instanceof_ArrayBuffer_ef2632aa0d4bfff8(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof ArrayBuffer;
+ } catch {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+};
+
+export function __wbg_new_87297f22973157c8(arg0, arg1) {
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
+ return addHeapObject(ret);
+};
+
+export function __wbg_call_587b30eea3e09332() { return handleError(function (arg0, arg1, arg2) {
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+}, arguments) };
+
+export function __wbg_call_4c73e4aecced6a7d() { return handleError(function (arg0, arg1, arg2, arg3) {
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3));
+ return addHeapObject(ret);
+}, arguments) };
+
+export function __wbg_call_7f98f4764e617d86() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4));
+ return addHeapObject(ret);
+}, arguments) };
+
+export function __wbg_set_da7be7bf0e037b14(arg0, arg1, arg2) {
+ const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+};
+
+export function __wbg_isSafeInteger_2088b01008075470(arg0) {
+ const ret = Number.isSafeInteger(getObject(arg0));
+ return ret;
+};
+
+export function __wbg_entries_13e011453776468f(arg0) {
+ const ret = Object.entries(getObject(arg0));
+ return addHeapObject(ret);
+};
+
+export function __wbg_buffer_55ba7a6b1b92e2ac(arg0) {
+ const ret = getObject(arg0).buffer;
+ return addHeapObject(ret);
+};
+
+export function __wbg_new_2b55e405e4af4986(arg0, arg1) {
+ try {
+ var state0 = {a: arg0, b: arg1};
+ var cb0 = (arg0, arg1) => {
+ const a = state0.a;
+ state0.a = 0;
+ try {
+ return __wbg_adapter_106(a, state0.b, arg0, arg1);
+ } finally {
+ state0.a = a;
+ }
+ };
+ const ret = new Promise(cb0);
+ return addHeapObject(ret);
+ } finally {
+ state0.a = state0.b = 0;
+ }
+};
+
+export function __wbg_resolve_ae38ad63c43ff98b(arg0) {
+ const ret = Promise.resolve(getObject(arg0));
+ return addHeapObject(ret);
+};
+
+export function __wbg_then_8df675b8bb5d5e3c(arg0, arg1) {
+ const ret = getObject(arg0).then(getObject(arg1));
+ return addHeapObject(ret);
+};
+
+export function __wbg_then_835b073a479138e5(arg0, arg1, arg2) {
+ const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+};
+
+export function __wbg_new_09938a7d020f049b(arg0) {
+ const ret = new Uint8Array(getObject(arg0));
+ return addHeapObject(ret);
+};
+
+export function __wbg_set_3698e3ca519b3c3c(arg0, arg1, arg2) {
+ getObject(arg0).set(getObject(arg1), arg2 >>> 0);
+};
+
+export function __wbg_length_0aab7ffd65ad19ed(arg0) {
+ const ret = getObject(arg0).length;
+ return ret;
+};
+
+export function __wbg_instanceof_Uint8Array_1349640af2da2e88(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof Uint8Array;
+ } catch {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+};
+
+export function __wbindgen_bigint_get_as_i64(arg0, arg1) {
+ const v = getObject(arg1);
+ const ret = typeof(v) === 'bigint' ? v : undefined;
+ getBigInt64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? BigInt(0) : ret;
+ getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret);
+};
+
+export function __wbindgen_debug_string(arg0, arg1) {
+ const ret = debugString(getObject(arg1));
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+
+export function __wbindgen_throw(arg0, arg1) {
+ throw new Error(getStringFromWasm0(arg0, arg1));
+};
+
+export function __wbindgen_memory() {
+ const ret = wasm.memory;
+ return addHeapObject(ret);
+};
+
+export function __wbindgen_closure_wrapper1053(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 162, __wbg_adapter_46);
+ return addHeapObject(ret);
+};
+
diff --git a/packages/doc/deno_doc_bg.wasm b/packages/doc/deno_doc_bg.wasm
new file mode 100644
index 00000000..716bce22
Binary files /dev/null and b/packages/doc/deno_doc_bg.wasm differ
diff --git a/packages/doc/deno_doc_bg.wasm.d.ts b/packages/doc/deno_doc_bg.wasm.d.ts
new file mode 100644
index 00000000..d9b0a42d
--- /dev/null
+++ b/packages/doc/deno_doc_bg.wasm.d.ts
@@ -0,0 +1,11 @@
+/* tslint:disable */
+/* eslint-disable */
+export const memory: WebAssembly.Memory;
+export function doc(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number): number;
+export function __wbindgen_malloc(a: number): number;
+export function __wbindgen_realloc(a: number, b: number, c: number): number;
+export const __wbindgen_export_2: WebAssembly.Table;
+export function wasm_bindgen__convert__closures__invoke1_mut__h7998bb6d957d1e49(a: number, b: number, c: number): void;
+export function __wbindgen_free(a: number, b: number): void;
+export function __wbindgen_exn_store(a: number): void;
+export function wasm_bindgen__convert__closures__invoke2_mut__ha6a6bec1db8e6b35(a: number, b: number, c: number, d: number): void;
diff --git a/packages/doc/package.json b/packages/doc/package.json
new file mode 100644
index 00000000..bd31c4de
--- /dev/null
+++ b/packages/doc/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "@vinxi/doc",
+ "main": "deno_doc.cjs",
+ "version": "0.0.1"
+}