UNPKG

lol-html-cf

Version:

Streaming HTML rewriter/parser with CSS selector-based API

1,098 lines (1,096 loc) 34 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/lib/lol_html.js var lol_html_exports = {}; __export(lol_html_exports, { Comment: () => Comment, Doctype: () => Doctype, DocumentEnd: () => DocumentEnd, Element: () => Element, EndTag: () => EndTag, HTMLRewriter: () => HTMLRewriter, TextChunk: () => TextChunk, default: () => lol_html_default, initSync: () => initSync }); module.exports = __toCommonJS(lol_html_exports); var wasm; var WASM_VECTOR_LEN = 0; var cachedUint8ArrayMemory0 = null; function getUint8ArrayMemory0() { if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); } return cachedUint8ArrayMemory0; } var cachedTextEncoder = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => { throw Error("TextEncoder not available"); } }; var 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 === void 0) { const buf = cachedTextEncoder.encode(arg); const ptr2 = malloc(buf.length, 1) >>> 0; getUint8ArrayMemory0().subarray(ptr2, ptr2 + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr2; } let len = arg.length; let ptr = malloc(len, 1) >>> 0; const mem = getUint8ArrayMemory0(); let offset = 0; for (; offset < len; offset++) { const code = arg.charCodeAt(offset); if (code > 127) break; mem[ptr + offset] = code; } if (offset !== len) { if (offset !== 0) { arg = arg.slice(offset); } ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); offset += ret.written; ptr = realloc(ptr, len, offset, 1) >>> 0; } WASM_VECTOR_LEN = offset; return ptr; } var cachedDataViewMemory0 = null; function getDataViewMemory0() { if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm.memory.buffer) { cachedDataViewMemory0 = new DataView(wasm.memory.buffer); } return cachedDataViewMemory0; } function addToExternrefTable0(obj) { const idx = wasm.__externref_table_alloc(); wasm.__wbindgen_export_4.set(idx, obj); return idx; } function handleError(f, args) { try { return f.apply(this, args); } catch (e) { const idx = addToExternrefTable0(e); wasm.__wbindgen_exn_store(idx); } } function isLikeNone(x) { return x === void 0 || x === null; } var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error("TextDecoder not available"); } }; if (typeof TextDecoder !== "undefined") { cachedTextDecoder.decode(); } function getStringFromWasm0(ptr, len) { ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); } function debugString(val) { 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"; } } 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; } const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); let className; if (builtInMatches && builtInMatches.length > 1) { className = builtInMatches[1]; } else { return toString.call(val); } if (className == "Object") { try { return "Object(" + JSON.stringify(val) + ")"; } catch (_) { return "Object"; } } if (val instanceof Error) { return `${val.name}: ${val.message} ${val.stack}`; } return className; } function takeFromExternrefTable0(idx) { const value = wasm.__wbindgen_export_4.get(idx); wasm.__externref_table_dealloc(idx); return value; } function passArray8ToWasm0(arg, malloc) { const ptr = malloc(arg.length * 1, 1) >>> 0; getUint8ArrayMemory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } var CommentFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => { }, unregister: () => { } } : new FinalizationRegistry((ptr) => wasm.__wbg_comment_free(ptr >>> 0, 1)); var Comment = class _Comment { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_Comment.prototype); obj.__wbg_ptr = ptr; CommentFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; CommentFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_comment_free(ptr, 0); } /** * @param {string} content * @param {any | undefined} [content_type] */ before(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.comment_before(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ after(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.comment_after(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ replace(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.comment_replace(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } remove() { const ret = wasm.comment_remove(this.__wbg_ptr); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @returns {boolean} */ get removed() { const ret = wasm.comment_removed(this.__wbg_ptr); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] !== 0; } /** * @returns {string} */ get text() { let deferred2_0; let deferred2_1; try { const ret = wasm.comment_text(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } }; var DoctypeFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => { }, unregister: () => { } } : new FinalizationRegistry((ptr) => wasm.__wbg_doctype_free(ptr >>> 0, 1)); var Doctype = class _Doctype { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_Doctype.prototype); obj.__wbg_ptr = ptr; DoctypeFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; DoctypeFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_doctype_free(ptr, 0); } /** * @returns {string | undefined} */ get name() { const ret = wasm.doctype_name(this.__wbg_ptr); if (ret[3]) { throw takeFromExternrefTable0(ret[2]); } let v1; if (ret[0] !== 0) { v1 = getStringFromWasm0(ret[0], ret[1]).slice(); wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); } return v1; } /** * @returns {string | undefined} */ get publicId() { const ret = wasm.doctype_public_id(this.__wbg_ptr); if (ret[3]) { throw takeFromExternrefTable0(ret[2]); } let v1; if (ret[0] !== 0) { v1 = getStringFromWasm0(ret[0], ret[1]).slice(); wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); } return v1; } /** * @returns {string | undefined} */ get systemId() { const ret = wasm.doctype_system_id(this.__wbg_ptr); if (ret[3]) { throw takeFromExternrefTable0(ret[2]); } let v1; if (ret[0] !== 0) { v1 = getStringFromWasm0(ret[0], ret[1]).slice(); wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); } return v1; } }; var DocumentEndFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => { }, unregister: () => { } } : new FinalizationRegistry((ptr) => wasm.__wbg_documentend_free(ptr >>> 0, 1)); var DocumentEnd = class _DocumentEnd { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_DocumentEnd.prototype); obj.__wbg_ptr = ptr; DocumentEndFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; DocumentEndFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_documentend_free(ptr, 0); } /** * @param {string} content * @param {any | undefined} [content_type] */ append(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.documentend_append(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } }; var ElementFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => { }, unregister: () => { } } : new FinalizationRegistry((ptr) => wasm.__wbg_element_free(ptr >>> 0, 1)); var Element = class _Element { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_Element.prototype); obj.__wbg_ptr = ptr; ElementFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; ElementFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_element_free(ptr, 0); } /** * @param {string} content * @param {any | undefined} [content_type] */ before(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_before(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ after(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_after(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ replace(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_replace(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } remove() { const ret = wasm.element_remove(this.__wbg_ptr); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @returns {boolean} */ get removed() { const ret = wasm.element_removed(this.__wbg_ptr); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] !== 0; } /** * @returns {string} */ get tagName() { let deferred2_0; let deferred2_1; try { const ret = wasm.element_tag_name(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * @param {string} name */ set tagName(name) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_set_tag_name(this.__wbg_ptr, ptr0, len0); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @returns {any} */ get namespaceURI() { const ret = wasm.element_namespace_uri(this.__wbg_ptr); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return takeFromExternrefTable0(ret[0]); } /** * @returns {any} */ get attributes() { const ret = wasm.element_attributes(this.__wbg_ptr); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return takeFromExternrefTable0(ret[0]); } /** * @param {string} name * @returns {string | undefined} */ getAttribute(name) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_getAttribute(this.__wbg_ptr, ptr0, len0); if (ret[3]) { throw takeFromExternrefTable0(ret[2]); } let v2; if (ret[0] !== 0) { v2 = getStringFromWasm0(ret[0], ret[1]).slice(); wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); } return v2; } /** * @param {string} name * @returns {boolean} */ hasAttribute(name) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_hasAttribute(this.__wbg_ptr, ptr0, len0); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] !== 0; } /** * @param {string} name * @param {string} value */ setAttribute(name, value) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(value, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; const ret = wasm.element_setAttribute(this.__wbg_ptr, ptr0, len0, ptr1, len1); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} name */ removeAttribute(name) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_removeAttribute(this.__wbg_ptr, ptr0, len0); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ prepend(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_prepend(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ append(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_append(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ setInnerContent(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.element_setInnerContent(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } removeAndKeepContent() { const ret = wasm.element_removeAndKeepContent(this.__wbg_ptr); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {Function} handler */ onEndTag(handler) { const ret = wasm.element_onEndTag(this.__wbg_ptr, handler); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } }; var EndTagFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => { }, unregister: () => { } } : new FinalizationRegistry((ptr) => wasm.__wbg_endtag_free(ptr >>> 0, 1)); var EndTag = class _EndTag { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_EndTag.prototype); obj.__wbg_ptr = ptr; EndTagFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; EndTagFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_endtag_free(ptr, 0); } /** * @param {string} content * @param {any | undefined} [content_type] */ before(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.endtag_before(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ after(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.endtag_after(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ replace(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.endtag_replace(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } remove() { const ret = wasm.endtag_remove(this.__wbg_ptr); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @returns {boolean} */ get removed() { const ret = wasm.endtag_removed(this.__wbg_ptr); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] !== 0; } /** * @returns {string} */ get name() { let deferred2_0; let deferred2_1; try { const ret = wasm.endtag_name(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } }; var HTMLRewriterFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => { }, unregister: () => { } } : new FinalizationRegistry((ptr) => wasm.__wbg_htmlrewriter_free(ptr >>> 0, 1)); var HTMLRewriter = class { __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; HTMLRewriterFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_htmlrewriter_free(ptr, 0); } /** * @param {string} encoding * @param {Function} output_sink */ constructor(encoding, output_sink) { const ptr0 = passStringToWasm0(encoding, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.htmlrewriter_new(ptr0, len0, output_sink); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } this.__wbg_ptr = ret[0] >>> 0; HTMLRewriterFinalization.register(this, this.__wbg_ptr, this); return this; } /** * @param {string} selector * @param {any} handlers */ on(selector, handlers) { const ptr0 = passStringToWasm0(selector, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.htmlrewriter_on(this.__wbg_ptr, ptr0, len0, handlers); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {any} handlers */ onDocument(handlers) { const ret = wasm.htmlrewriter_onDocument(this.__wbg_ptr, handlers); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {Uint8Array} chunk */ write(chunk) { const ptr0 = passArray8ToWasm0(chunk, wasm.__wbindgen_malloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.htmlrewriter_write(this.__wbg_ptr, ptr0, len0); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } end() { const ret = wasm.htmlrewriter_end(this.__wbg_ptr); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } }; var TextChunkFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => { }, unregister: () => { } } : new FinalizationRegistry((ptr) => wasm.__wbg_textchunk_free(ptr >>> 0, 1)); var TextChunk = class _TextChunk { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_TextChunk.prototype); obj.__wbg_ptr = ptr; TextChunkFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; TextChunkFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_textchunk_free(ptr, 0); } /** * @param {string} content * @param {any | undefined} [content_type] */ before(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.textchunk_before(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ after(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.textchunk_after(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @param {string} content * @param {any | undefined} [content_type] */ replace(content, content_type) { const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.textchunk_replace(this.__wbg_ptr, ptr0, len0, isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type)); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } remove() { const ret = wasm.textchunk_remove(this.__wbg_ptr); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * @returns {boolean} */ get removed() { const ret = wasm.textchunk_removed(this.__wbg_ptr); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] !== 0; } /** * @returns {string} */ get text() { let deferred2_0; let deferred2_1; try { const ret = wasm.textchunk_text(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * @returns {boolean} */ get lastInTextNode() { const ret = wasm.textchunk_last_in_text_node(this.__wbg_ptr); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] !== 0; } }; async function __wbg_load(module2, imports) { if (typeof Response === "function" && module2 instanceof Response) { if (typeof WebAssembly.instantiateStreaming === "function") { try { return await WebAssembly.instantiateStreaming(module2, imports); } catch (e) { if (module2.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", e); } else { throw e; } } } const bytes = await module2.arrayBuffer(); return await WebAssembly.instantiate(bytes, imports); } else { const instance = await WebAssembly.instantiate(module2, imports); if (instance instanceof WebAssembly.Instance) { return { instance, module: module2 }; } else { return instance; } } } function __wbg_get_imports() { const imports = {}; imports.wbg = {}; imports.wbg.__wbg_String_fed4d24b68977888 = function(arg0, arg1) { const ret = String(arg1); const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); }; imports.wbg.__wbg_buffer_61b7ce01341d7f88 = function(arg0) { const ret = arg0.buffer; return ret; }; imports.wbg.__wbg_call_500db948e69c7330 = function() { return handleError(function(arg0, arg1, arg2) { const ret = arg0.call(arg1, arg2); return ret; }, arguments); }; imports.wbg.__wbg_comment_new = function(arg0) { const ret = Comment.__wrap(arg0); return ret; }; imports.wbg.__wbg_comments_02c515e985fd0ed7 = function(arg0) { const ret = arg0.comments; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }; imports.wbg.__wbg_comments_9308c0bfd8de6e26 = function(arg0) { const ret = arg0.comments; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }; imports.wbg.__wbg_doctype_e273fa34fea23be1 = function(arg0) { const ret = arg0.doctype; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }; imports.wbg.__wbg_doctype_new = function(arg0) { const ret = Doctype.__wrap(arg0); return ret; }; imports.wbg.__wbg_documentend_new = function(arg0) { const ret = DocumentEnd.__wrap(arg0); return ret; }; imports.wbg.__wbg_element_5496fd537f0d77ba = function(arg0) { const ret = arg0.element; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }; imports.wbg.__wbg_element_new = function(arg0) { const ret = Element.__wrap(arg0); return ret; }; imports.wbg.__wbg_end_170067c0285b4554 = function(arg0) { const ret = arg0.end; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }; imports.wbg.__wbg_endtag_new = function(arg0) { const ret = EndTag.__wrap(arg0); return ret; }; imports.wbg.__wbg_html_e5e6fa796c38a65c = function(arg0) { const ret = arg0.html; return isLikeNone(ret) ? 16777215 : ret ? 1 : 0; }; imports.wbg.__wbg_new_254fa9eac11932ae = function() { const ret = new Array(); return ret; }; imports.wbg.__wbg_new_3ff5b33b1ce712df = function(arg0) { const ret = new Uint8Array(arg0); return ret; }; imports.wbg.__wbg_new_6799ef630abee97c = function(arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return ret; }; imports.wbg.__wbg_new_688846f374351c92 = function() { const ret = new Object(); return ret; }; imports.wbg.__wbg_newwithbyteoffsetandlength_ba35896968751d91 = function(arg0, arg1, arg2) { const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); return ret; }; imports.wbg.__wbg_set_1d80752d0d5f0b21 = function(arg0, arg1, arg2) { arg0[arg1 >>> 0] = arg2; }; imports.wbg.__wbg_set_3fda3bac07393de4 = function(arg0, arg1, arg2) { arg0[arg1] = arg2; }; imports.wbg.__wbg_text_671fd89bd85b6da5 = function(arg0) { const ret = arg0.text; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }; imports.wbg.__wbg_text_cdbc913fa5817f01 = function(arg0) { const ret = arg0.text; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }; imports.wbg.__wbg_textchunk_new = function(arg0) { const ret = TextChunk.__wrap(arg0); return ret; }; imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { const ret = debugString(arg1); const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); }; imports.wbg.__wbindgen_init_externref_table = function() { const table = wasm.__wbindgen_export_4; const offset = table.grow(4); table.set(0, void 0); table.set(offset + 0, void 0); table.set(offset + 1, null); table.set(offset + 2, true); table.set(offset + 3, false); ; }; imports.wbg.__wbindgen_memory = function() { const ret = wasm.memory; return ret; }; imports.wbg.__wbindgen_string_new = function(arg0, arg1) { const ret = getStringFromWasm0(arg0, arg1); return ret; }; imports.wbg.__wbindgen_throw = function(arg0, arg1) { throw new Error(getStringFromWasm0(arg0, arg1)); }; return imports; } function __wbg_init_memory(imports, memory) { } function __wbg_finalize_init(instance, module2) { wasm = instance.exports; __wbg_init.__wbindgen_wasm_module = module2; cachedDataViewMemory0 = null; cachedUint8ArrayMemory0 = null; wasm.__wbindgen_start(); return wasm; } function initSync(module2) { if (wasm !== void 0) return wasm; if (typeof module2 !== "undefined") { if (Object.getPrototypeOf(module2) === Object.prototype) { ({ module: module2 } = module2); } else { console.warn("using deprecated parameters for `initSync()`; pass a single object instead"); } } const imports = __wbg_get_imports(); __wbg_init_memory(imports); const instance = new WebAssembly.Instance(module2, imports); return __wbg_finalize_init(instance, module2); } async function __wbg_init(module_or_path) { if (wasm !== void 0) return wasm; if (typeof module_or_path !== "undefined") { if (Object.getPrototypeOf(module_or_path) === Object.prototype) { ({ module_or_path } = module_or_path); } else { console.warn("using deprecated parameters for the initialization function; pass a single object instead"); } } const imports = __wbg_get_imports(); if (typeof module_or_path === "string" || typeof Request === "function" && module_or_path instanceof Request || typeof URL === "function" && module_or_path instanceof URL) { module_or_path = fetch(module_or_path); } __wbg_init_memory(imports); const { instance, module: module2 } = await __wbg_load(await module_or_path, imports); return __wbg_finalize_init(instance, module2); } var lol_html_default = __wbg_init; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { Comment, Doctype, DocumentEnd, Element, EndTag, HTMLRewriter, TextChunk, initSync }); //! Needed to remove these lines in order to make it work on next.js //! Needed to remove these lines in order to make it work on node.js