aboutsummaryrefslogtreecommitdiff
path: root/src/z/js/parser/builtin.zig
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2026-07-30 07:46:37 +0200
committerNathan Reiner <nathan@nathanreiner.xyz>2026-07-30 07:46:37 +0200
commitc8744f9f6a28a23b83603435a3ad987f0d9f181b (patch)
treee0257c54661e9f34b6d2ce8658346f36aa0ff9e3 /src/z/js/parser/builtin.zig
parentd1776161dcc57b600ce7b18c5e7179757491fbc2 (diff)
temporal commit
Diffstat (limited to 'src/z/js/parser/builtin.zig')
-rw-r--r--src/z/js/parser/builtin.zig17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/z/js/parser/builtin.zig b/src/z/js/parser/builtin.zig
new file mode 100644
index 0000000..fc96fc3
--- /dev/null
+++ b/src/z/js/parser/builtin.zig
@@ -0,0 +1,17 @@
+const std = @import("std");
+
+const parser = @import("root.zig");
+const Parser = parser.Parser;
+const Result = parser.Result;
+
+pub fn literal(lit: []const u8) Parser(void) {
+ return .fromType(struct {
+ pub fn parse(buffer: []const u8) !Result(void) {
+ if (std.mem.startsWith(u8, buffer, lit)) {
+ return .{ void{}, buffer[lit.len..] };
+ }
+
+ return error.Literal;
+ }
+ });
+}