aboutsummaryrefslogtreecommitdiff
path: root/src/string_immutable.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/string_immutable.zig')
-rw-r--r--src/string_immutable.zig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/string_immutable.zig b/src/string_immutable.zig
index 03382e7a2..b65b142bf 100644
--- a/src/string_immutable.zig
+++ b/src/string_immutable.zig
@@ -367,6 +367,15 @@ pub fn containsNonBmpCodePoint(text: string) bool {
return false;
}
+// this is std.mem.trim except it doesn't forcibly change the slice to be const
+pub fn trim(slice: anytype, values_to_strip: []const u8) @TypeOf(slice) {
+ var begin: usize = 0;
+ var end: usize = slice.len;
+ while (begin < end and std.mem.indexOfScalar(u8, values_to_strip, slice[begin]) != null) : (begin += 1) {}
+ while (end > begin and std.mem.indexOfScalar(u8, values_to_strip, slice[end - 1]) != null) : (end -= 1) {}
+ return slice[begin..end];
+}
+
pub fn containsNonBmpCodePointUTF16(_text: JavascriptString) bool {
const n = _text.len;
if (n > 0) {