diff options
Diffstat (limited to 'src/env_loader.zig')
| -rw-r--r-- | src/env_loader.zig | 154 |
1 files changed, 151 insertions, 3 deletions
diff --git a/src/env_loader.zig b/src/env_loader.zig index f680ea371..737e3d92b 100644 --- a/src/env_loader.zig +++ b/src/env_loader.zig @@ -498,13 +498,38 @@ pub const Loader = struct { else &[_]u8{}, }; + var expr_data = js_ast.Expr.Data{ .e_string = &e_strings[0] }; + + if (e_strings[0].eqlComptime("undefined")) { + expr_data = .{ .e_undefined = .{} }; + } + + if (e_strings[0].eqlComptime("null")) { + expr_data = .{ .e_null = .{} }; + } + + if (e_strings[0].eqlComptime("false")) { + expr_data = .{ .e_boolean = .{ .value = false } }; + } + + if (e_strings[0].eqlComptime("true")) { + expr_data = .{ .e_boolean = .{ .value = true } }; + } + + if (e_strings[0].eqlComptime("0")) { + expr_data = .{ .e_number = .{ .value = 0.0 } }; + } + + if (e_strings[0].eqlComptime("1")) { + expr_data = .{ .e_number = .{ .value = 1.0 } }; + } _ = try to_string.getOrPutValue( key_str, .{ .can_be_removed_if_unused = true, .call_can_be_unwrapped_if_unused = true, - .value = js_ast.Expr.Data{ .e_string = &e_strings[0] }, + .value = expr_data, }, ); e_strings = e_strings[1..]; @@ -521,12 +546,38 @@ pub const Loader = struct { &[_]u8{}, }; + var expr_data = js_ast.Expr.Data{ .e_string = &e_strings[0] }; + + if (e_strings[0].eqlComptime("undefined")) { + expr_data = .{ .e_undefined = .{} }; + } + + if (e_strings[0].eqlComptime("null")) { + expr_data = .{ .e_null = .{} }; + } + + if (e_strings[0].eqlComptime("false")) { + expr_data = .{ .e_boolean = .{ .value = false } }; + } + + if (e_strings[0].eqlComptime("true")) { + expr_data = .{ .e_boolean = .{ .value = true } }; + } + + if (e_strings[0].eqlComptime("0")) { + expr_data = .{ .e_number = .{ .value = 0.0 } }; + } + + if (e_strings[0].eqlComptime("1")) { + expr_data = .{ .e_number = .{ .value = 1.0 } }; + } + _ = try to_string.getOrPutValue( framework_defaults.keys[key_i], .{ .can_be_removed_if_unused = true, .call_can_be_unwrapped_if_unused = true, - .value = js_ast.Expr.Data{ .e_string = &e_strings[0] }, + .value = expr_data, }, ); e_strings = e_strings[1..]; @@ -545,12 +596,38 @@ pub const Loader = struct { &[_]u8{}, }; + var expr_data = js_ast.Expr.Data{ .e_string = &e_strings[0] }; + + if (e_strings[0].eqlComptime("undefined")) { + expr_data = .{ .e_undefined = .{} }; + } + + if (e_strings[0].eqlComptime("null")) { + expr_data = .{ .e_null = .{} }; + } + + if (e_strings[0].eqlComptime("false")) { + expr_data = .{ .e_boolean = .{ .value = false } }; + } + + if (e_strings[0].eqlComptime("true")) { + expr_data = .{ .e_boolean = .{ .value = true } }; + } + + if (e_strings[0].eqlComptime("0")) { + expr_data = .{ .e_number = .{ .value = 0.0 } }; + } + + if (e_strings[0].eqlComptime("1")) { + expr_data = .{ .e_number = .{ .value = 1.0 } }; + } + _ = try to_string.getOrPutValue( key, .{ .can_be_removed_if_unused = true, .call_can_be_unwrapped_if_unused = true, - .value = js_ast.Expr.Data{ .e_string = &e_strings[0] }, + .value = expr_data, }, ); e_strings = e_strings[1..]; @@ -575,6 +652,77 @@ pub const Loader = struct { value = value[1 .. value.len - 1]; } + if (strings.eqlComptime(value, "undefined")) { + _ = try to_string.getOrPutValue( + key, + .{ + .can_be_removed_if_unused = true, + .value = .{ .e_undefined = .{} }, + }, + ); + continue; + } + + if (strings.eqlComptime(value, "null")) { + _ = try to_string.getOrPutValue( + key, + .{ + .can_be_removed_if_unused = true, + .call_can_be_unwrapped_if_unused = true, + .value = .{ .e_null = .{} }, + }, + ); + continue; + } + + if (strings.eqlComptime(value, "false")) { + _ = try to_string.getOrPutValue( + key, + .{ + .can_be_removed_if_unused = true, + .call_can_be_unwrapped_if_unused = true, + .value = .{ .e_boolean = .{ .value = false } }, + }, + ); + continue; + } + + if (strings.eqlComptime(value, "true")) { + _ = try to_string.getOrPutValue( + key, + .{ + .can_be_removed_if_unused = true, + .call_can_be_unwrapped_if_unused = true, + .value = .{ .e_boolean = .{ .value = true } }, + }, + ); + continue; + } + + if (strings.eqlComptime(value, "0")) { + _ = try to_string.getOrPutValue( + key, + .{ + .can_be_removed_if_unused = true, + .call_can_be_unwrapped_if_unused = true, + .value = .{ .e_number = .{ .value = 0.0 } }, + }, + ); + continue; + } + + if (strings.eqlComptime(value, "1")) { + _ = try to_string.getOrPutValue( + key, + .{ + .can_be_removed_if_unused = true, + .call_can_be_unwrapped_if_unused = true, + .value = .{ .e_number = .{ .value = 1.0 } }, + }, + ); + continue; + } + _ = try to_json.getOrPutValue(key, value); } } |
