From 13907aad7cae4f41782c64e606f84e4a49354711 Mon Sep 17 00:00:00 2001 From: Bob Farrell Date: Wed, 16 Apr 2025 19:59:05 +0100 Subject: [PATCH 1/2] Use Alignment arg instead of integer See https://github.com/ziglang/zig/commit/f32a5d349d2c359a2a1f627aa70e1a7a6f6330ea --- build.zig | 2 +- src/Routes.zig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.zig b/build.zig index b536882..5337a24 100644 --- a/build.zig +++ b/build.zig @@ -447,7 +447,7 @@ fn generateMarkdownFragments(b: *std.Build) ![]const u8 { } }; const stat = try file.stat(); - const source = try file.readToEndAllocOptions(b.allocator, @intCast(stat.size), null, @alignOf(u8), 0); + const source = try file.readToEndAllocOptions(b.allocator, @intCast(stat.size), null, .of(u8), 0); if (try getMarkdownFragmentsSource(b.allocator, source)) |markdown_fragments_source| { return try std.fmt.allocPrint(b.allocator, \\const std = @import("std"); diff --git a/src/Routes.zig b/src/Routes.zig index ba88730..f615cc3 100644 --- a/src/Routes.zig +++ b/src/Routes.zig @@ -376,7 +376,7 @@ fn generateRoutesForView(self: *Routes, dir: std.fs.Dir, path: []const u8) !Rout path, @intCast(stat.size), null, - @alignOf(u8), + .of(u8), 0, ); defer self.allocator.free(source); From 4bd9d8b99090966ae1e4993c7343bf9f84021f5f Mon Sep 17 00:00:00 2001 From: Bob Farrell Date: Wed, 16 Apr 2025 20:17:14 +0100 Subject: [PATCH 2/2] Eradicate std.enums.nameCast Deprecated here: https://github.com/ziglang/zig/commit/530228d9531e8d1dcf7e8ed88e68403e65bcf6bb --- build.zig.zon | 2 +- src/commands/auth.zig | 4 ++-- src/commands/database.zig | 4 ++-- src/jetzig.zig | 5 ++++- src/jetzig/auth.zig | 2 +- src/jetzig/config.zig | 5 ++++- src/jetzig/database.zig | 6 +++--- src/jetzig/kv/Store.zig | 4 ++-- src/jetzig/middleware/CompressionMiddleware.zig | 2 +- src/jetzig/testing/App.zig | 2 +- 10 files changed, 21 insertions(+), 15 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index ef3c602..0061b20 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -2,7 +2,7 @@ .name = .jetzig, .version = "0.0.0", .fingerprint = 0x93ad8bfa2d209022, - .minimum_zig_version = "0.15.0-dev.345+ec2888858", + .minimum_zig_version = "0.15.0-dev.355+206bd1ced", .dependencies = .{ .jetcommon = .{ .url = "https://github.com/jetzig-framework/jetcommon/archive/fb4edc13759d87bfcd9b1f5fcefdf93f8c9c62dd.tar.gz", diff --git a/src/commands/auth.zig b/src/commands/auth.zig index f9586fc..152c082 100644 --- a/src/commands/auth.zig +++ b/src/commands/auth.zig @@ -33,7 +33,7 @@ pub fn main() !void { const Repo = jetzig.jetquery.Repo(jetzig.database.adapter, Schema); var repo = try Repo.loadConfig( allocator, - std.enums.nameCast(jetzig.jetquery.Environment, jetzig.environment), + @field(jetzig.jetquery.Environment, @tagName(jetzig.environment)), .{ .env = try jetzig.database.repoEnv(env), .context = .cli }, ); defer repo.deinit(); @@ -60,7 +60,7 @@ pub fn main() !void { const email = args[2]; - try repo.insert(std.enums.nameCast(std.meta.DeclEnum(Schema), model), .{ + try repo.insert(@field(std.meta.DeclEnum(Schema), model), .{ .email = email, .password_hash = try hashPassword(allocator, password), }); diff --git a/src/commands/database.zig b/src/commands/database.zig index 39bc422..e3a67d0 100644 --- a/src/commands/database.zig +++ b/src/commands/database.zig @@ -133,7 +133,7 @@ const MigrationsRepo = jetquery.Repo(config.adapter, MigrateSchema); fn migrationsRepo(action: Action, allocator: std.mem.Allocator, repo_env: anytype) !MigrationsRepo { return try MigrationsRepo.loadConfig( allocator, - std.enums.nameCast(jetquery.Environment, environment), + @field(jetquery.Environment, @tagName(environment)), .{ .admin = switch (action) { .migrate, .rollback, .update => false, @@ -154,7 +154,7 @@ fn reflectSchema(allocator: std.mem.Allocator, repo_env: anytype) !void { const Repo = jetquery.Repo(config.adapter, Schema); var repo = try Repo.loadConfig( allocator, - std.enums.nameCast(jetquery.Environment, environment), + @field(jetquery.Environment, @tagName(environment)), .{ .context = .migration, .env = repo_env }, ); const reflect = @import("jetquery_reflect").Reflect(config.adapter, Schema).init( diff --git a/src/jetzig.zig b/src/jetzig.zig index db5a2c1..fcdf434 100644 --- a/src/jetzig.zig +++ b/src/jetzig.zig @@ -33,7 +33,10 @@ pub const Date = jetcommon.types.Date; pub const authenticity_token_name = config.get([]const u8, "authenticity_token_name"); pub const build_options = @import("build_options"); -pub const environment = std.enums.nameCast(Environment.EnvironmentName, build_options.environment); +pub const environment = @field( + Environment.EnvironmentName, + @tagName(build_options.environment), +); /// The primary interface for a Jetzig application. Create an `App` in your application's /// `src/main.zig` and call `start` to launch the application. diff --git a/src/jetzig/auth.zig b/src/jetzig/auth.zig index 35aa79d..2a0688d 100644 --- a/src/jetzig/auth.zig +++ b/src/jetzig/auth.zig @@ -14,7 +14,7 @@ pub fn getUserId(comptime id_type: IdType, request: *jetzig.Request) !?switch (i } { const session = try request.session(); - return session.getT(std.enums.nameCast(jetzig.data.ValueType, id_type), "_jetzig_user_id"); + return session.getT(@field(jetzig.data.ValueType, id_type), "_jetzig_user_id"); } pub fn signIn(request: *jetzig.Request, user_id: anytype) !void { diff --git a/src/jetzig/config.zig b/src/jetzig/config.zig index 52663e9..da82dbc 100644 --- a/src/jetzig/config.zig +++ b/src/jetzig/config.zig @@ -18,7 +18,10 @@ pub const mail = @import("mail.zig"); pub const kv = @import("kv.zig"); pub const db = @import("database.zig"); pub const Environment = @import("Environment.zig"); -pub const environment = std.enums.nameCast(Environment.EnvironmentName, build_options.environment); +pub const environment = @field( + Environment.EnvironmentName, + @tagName(build_options.environment), +); pub const build_options = @import("build_options"); const root = @import("root"); diff --git a/src/jetzig/database.zig b/src/jetzig/database.zig index 2d03d81..b10a8af 100644 --- a/src/jetzig/database.zig +++ b/src/jetzig/database.zig @@ -2,9 +2,9 @@ const std = @import("std"); const jetzig = @import("../jetzig.zig"); -pub const adapter = std.enums.nameCast( +pub const adapter = @field( jetzig.jetquery.adapters.Name, - @field(jetzig.jetquery.config.database, @tagName(jetzig.environment)).adapter, + @tagName(@field(jetzig.jetquery.config.database, @tagName(jetzig.environment)).adapter), ); pub const Schema = jetzig.config.get(type, "Schema"); @@ -25,7 +25,7 @@ pub fn repo(allocator: std.mem.Allocator, app: anytype) !Repo { return try Repo.loadConfig( allocator, - std.enums.nameCast(jetzig.jetquery.Environment, jetzig.environment), + @field(jetzig.jetquery.Environment, @tagName(jetzig.environment)), .{ .eventCallback = Callback.callbackFn, .lazy_connect = switch (jetzig.environment) { diff --git a/src/jetzig/kv/Store.zig b/src/jetzig/kv/Store.zig index 0f5db3f..3a46cbe 100644 --- a/src/jetzig/kv/Store.zig +++ b/src/jetzig/kv/Store.zig @@ -41,9 +41,9 @@ fn jetKVOptions(options: KVOptions) jetzig.jetkv.Options { .port = options.valkey_options.port, .connect_timeout = options.valkey_options.connect_timeout * std.time.ms_per_s, .read_timeout = options.valkey_options.read_timeout * std.time.ms_per_s, - .connect = std.enums.nameCast( + .connect = @field( jetzig.jetkv.ValkeyBackendOptions.ConnectMode, - options.valkey_options.connect, + @tagName(options.valkey_options.connect), ), .buffer_size = options.valkey_options.buffer_size, .pool_size = options.valkey_options.pool_size, diff --git a/src/jetzig/middleware/CompressionMiddleware.zig b/src/jetzig/middleware/CompressionMiddleware.zig index 5f46238..8af11c7 100644 --- a/src/jetzig/middleware/CompressionMiddleware.zig +++ b/src/jetzig/middleware/CompressionMiddleware.zig @@ -50,7 +50,7 @@ fn detectEncoding(request: *const jetzig.http.Request) ?Encoding { while (it.next()) |param| { inline for (@typeInfo(Encoding).@"enum".fields) |field| { if (std.mem.eql(u8, field.name, jetzig.util.strip(param))) { - return std.enums.nameCast(Encoding, field.name); + return @field(Encoding, field.name); } } } diff --git a/src/jetzig/testing/App.zig b/src/jetzig/testing/App.zig index f3c2a4f..7cebec8 100644 --- a/src/jetzig/testing/App.zig +++ b/src/jetzig/testing/App.zig @@ -347,7 +347,7 @@ fn stubbedRequest( .route_data = null, .middlewares = undefined, .address = undefined, - .method = std.enums.nameCast(httpz.Method, @tagName(method)), + .method = @field(httpz.Method, @tagName(method)), .protocol = .HTTP11, .params = undefined, .conn = undefined,