lol-html-cf
Version:
Streaming HTML rewriter/parser with CSS selector-based API
1,098 lines (1,096 loc) • 34 kB
JavaScript
;
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