Something went wrong. Try again.
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576const std = @import("std");const assert = std.debug.assert;const c = @import("c.zig").c;const Level = @import("level.zig").Level;
/// sentry_value_tpub const Value = struct { /// The underlying value. This is a union that could be represented with /// an extern union but I don't want to risk C ABI issues so we wrap it /// in a struct. value: c.sentry_value_t,
pub fn initMessageEvent( level: Level, logger: ?[]const u8, message: []const u8, ) Value { return .{ .value = c.sentry_value_new_message_event_n( @intFromEnum(level), if (logger) |v| v.ptr else null, if (logger) |v| v.len else 0, message.ptr, message.len, ) }; }
pub fn initObject() Value { return .{ .value = c.sentry_value_new_object() }; }
pub fn initString(value: []const u8) Value { return .{ .value = c.sentry_value_new_string_n(value.ptr, value.len) }; }
pub fn initBool(value: bool) Value { return .{ .value = c.sentry_value_new_bool(@intFromBool(value)) }; }
pub fn initInt32(value: i32) Value { return .{ .value = c.sentry_value_new_int32(value) }; }
pub fn decref(self: Value) void { c.sentry_value_decref(self.value); }
pub fn incref(self: Value) Value { c.sentry_value_incref(self.value); }
pub fn isNull(self: Value) bool { return c.sentry_value_is_null(self.value) != 0; }
/// sentry_value_set_by_key_n pub fn set(self: Value, key: []const u8, value: Value) void { _ = c.sentry_value_set_by_key_n( self.value, key.ptr, key.len, value.value, ); }
/// sentry_value_set_by_key_n pub fn get(self: Value, key: []const u8) ?Value { const val: Value = .{ .value = c.sentry_value_get_by_key_n( self.value, key.ptr, key.len, ) }; if (val.isNull()) return null; return val; }};