mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-22 12:44:43 +00:00
mcp: simplify minify function
This commit is contained in:
@@ -115,12 +115,12 @@ pub const Tool = struct {
|
|||||||
pub fn minify(comptime json: []const u8) []const u8 {
|
pub fn minify(comptime json: []const u8) []const u8 {
|
||||||
@setEvalBranchQuota(100000);
|
@setEvalBranchQuota(100000);
|
||||||
const minified = comptime blk: {
|
const minified = comptime blk: {
|
||||||
var len: usize = 0;
|
var res: []const u8 = "";
|
||||||
var in_string = false;
|
var in_string = false;
|
||||||
var escaped = false;
|
var escaped = false;
|
||||||
for (json) |c| {
|
for (json) |c| {
|
||||||
if (in_string) {
|
if (in_string) {
|
||||||
len += 1;
|
res = res ++ [1]u8{c};
|
||||||
if (escaped) {
|
if (escaped) {
|
||||||
escaped = false;
|
escaped = false;
|
||||||
} else if (c == '\\') {
|
} else if (c == '\\') {
|
||||||
@@ -133,46 +133,15 @@ pub fn minify(comptime json: []const u8) []const u8 {
|
|||||||
' ', '\n', '\r', '\t' => continue,
|
' ', '\n', '\r', '\t' => continue,
|
||||||
'"' => {
|
'"' => {
|
||||||
in_string = true;
|
in_string = true;
|
||||||
len += 1;
|
res = res ++ [1]u8{c};
|
||||||
},
|
|
||||||
else => len += 1,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var res: [len]u8 = undefined;
|
|
||||||
var pos: usize = 0;
|
|
||||||
in_string = false;
|
|
||||||
escaped = false;
|
|
||||||
for (json) |c| {
|
|
||||||
if (in_string) {
|
|
||||||
res[pos] = c;
|
|
||||||
pos += 1;
|
|
||||||
if (escaped) {
|
|
||||||
escaped = false;
|
|
||||||
} else if (c == '\\') {
|
|
||||||
escaped = true;
|
|
||||||
} else if (c == '"') {
|
|
||||||
in_string = false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
switch (c) {
|
|
||||||
' ', '\n', '\r', '\t' => continue,
|
|
||||||
'"' => {
|
|
||||||
in_string = true;
|
|
||||||
res[pos] = c;
|
|
||||||
pos += 1;
|
|
||||||
},
|
|
||||||
else => {
|
|
||||||
res[pos] = c;
|
|
||||||
pos += 1;
|
|
||||||
},
|
},
|
||||||
|
else => res = res ++ [1]u8{c},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break :blk res;
|
break :blk res;
|
||||||
};
|
};
|
||||||
return &minified;
|
return minified;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const Resource = struct {
|
pub const Resource = struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user