aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/api/html_rewriter.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-07-02 01:06:40 -0700
committerGravatar GitHub <noreply@github.com> 2023-07-02 01:06:40 -0700
commitb05879e9e2e9d52359eb91a1305c1e694169c030 (patch)
tree9a32bc43c3d09800ed5ef67b1c55edb489161299 /src/bun.js/api/html_rewriter.zig
parent800103837626b93d867a72239eb2818dcc8f0821 (diff)
downloadbun-b05879e9e2e9d52359eb91a1305c1e694169c030.tar.gz
bun-b05879e9e2e9d52359eb91a1305c1e694169c030.tar.zst
bun-b05879e9e2e9d52359eb91a1305c1e694169c030.zip
Fixes #3489 (#3490)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/api/html_rewriter.zig')
-rw-r--r--src/bun.js/api/html_rewriter.zig35
1 files changed, 8 insertions, 27 deletions
diff --git a/src/bun.js/api/html_rewriter.zig b/src/bun.js/api/html_rewriter.zig
index 5e14d5503..532e0ae1e 100644
--- a/src/bun.js/api/html_rewriter.zig
+++ b/src/bun.js/api/html_rewriter.zig
@@ -996,26 +996,14 @@ const getterWrap = JSC.getterWrap;
const setterWrap = JSC.setterWrap;
const wrap = JSC.wrapSync;
-pub fn free_html_writer_string(_: ?*anyopaque, ptr: ?*anyopaque, len: usize) callconv(.C) void {
- var str = LOLHTML.HTMLString{ .ptr = bun.cast([*]const u8, ptr.?), .len = len };
- str.deinit();
-}
-
fn throwLOLHTMLError(global: *JSGlobalObject) JSValue {
- var err = LOLHTML.HTMLString.lastError();
- return ZigString.init(err.slice()).toErrorInstance(global);
+ const err = LOLHTML.HTMLString.lastError();
+ defer err.deinit();
+ return ZigString.fromUTF8(err.slice()).toErrorInstance(global);
}
fn htmlStringValue(input: LOLHTML.HTMLString, globalObject: *JSGlobalObject) JSValue {
- var str = ZigString.init(
- input.slice(),
- );
- str.detectEncoding();
-
- return str.toExternalValueWithCallback(
- globalObject,
- free_html_writer_string,
- );
+ return input.toJS(globalObject);
}
pub const TextChunk = struct {
@@ -1328,7 +1316,7 @@ pub const Comment = struct {
pub fn getText(this: *Comment, global: *JSGlobalObject) JSValue {
if (this.comment == null)
return JSValue.jsNull();
- return ZigString.init(this.comment.?.getText().slice()).withEncoding().toValueGC(global);
+ return this.comment.?.getText().toJS(global);
}
pub fn setText(
@@ -1458,7 +1446,7 @@ pub const EndTag = struct {
if (this.end_tag == null)
return JSC.JSValue.jsUndefined();
- return ZigString.init(this.end_tag.?.getName().slice()).withEncoding().toValueGC(global);
+ return this.end_tag.?.getName().toJS(global);
}
pub fn setName(
@@ -1696,19 +1684,12 @@ pub const Element = struct {
var slice = name.toSlice(bun.default_allocator);
defer slice.deinit();
- var attr = this.element.?.getAttribute(slice.slice()).slice();
+ var attr = this.element.?.getAttribute(slice.slice());
if (attr.len == 0)
return JSC.JSValue.jsNull();
- var str = ZigString.init(
- attr,
- );
-
- return str.toExternalValueWithCallback(
- globalObject,
- free_html_writer_string,
- );
+ return attr.toJS(globalObject);
}
/// Returns a boolean indicating whether an attribute exists on the element.