Skip to content

Commit c1b3efb

Browse files
committed
feat: make encoding/decoding methods public
1 parent de55303 commit c1b3efb

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

src/decoder.zig

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ pub fn decodeAlloc(comptime T: type, allocator: std.mem.Allocator, data: []const
4444
};
4545
}
4646

47-
fn decodeCompact(comptime T: type, data: []const u8) !DecodeResult(T) {
47+
pub fn decodeCompact(comptime T: type, data: []const u8) !DecodeResult(T) {
4848
if (data.len == 0) return error.InsufficientData;
4949

5050
const first_byte = data[0];
@@ -97,7 +97,7 @@ fn decodeCompact(comptime T: type, data: []const u8) !DecodeResult(T) {
9797
}
9898
}
9999

100-
fn decodeSlice(comptime T: type, allocator: std.mem.Allocator, data: []const u8, decoder: anytype) !DecodeResult(if (T == u8) []const u8 else []T) {
100+
pub fn decodeSlice(comptime T: type, allocator: std.mem.Allocator, data: []const u8, decoder: anytype) !DecodeResult(if (T == u8) []const u8 else []T) {
101101
const length = try decodeCompact(u32, data);
102102
var offset = length.bytes_read;
103103

@@ -139,7 +139,7 @@ fn decodeSlice(comptime T: type, allocator: std.mem.Allocator, data: []const u8,
139139
}
140140
}
141141

142-
fn decodeBool(data: []const u8) !DecodeResult(bool) {
142+
pub fn decodeBool(data: []const u8) !DecodeResult(bool) {
143143
if (data.len == 0) return error.InsufficientData;
144144

145145
return switch (data[0]) {
@@ -149,7 +149,7 @@ fn decodeBool(data: []const u8) !DecodeResult(bool) {
149149
};
150150
}
151151

152-
fn decodeOption(comptime T: type, allocator: std.mem.Allocator, data: []const u8, decoder: anytype) !DecodeResult(?T) {
152+
pub fn decodeOption(comptime T: type, allocator: std.mem.Allocator, data: []const u8, decoder: anytype) !DecodeResult(?T) {
153153
if (data.len == 0) return error.InsufficientData;
154154

155155
return switch (data[0]) {
@@ -173,7 +173,7 @@ fn decodeOption(comptime T: type, allocator: std.mem.Allocator, data: []const u8
173173
};
174174
}
175175

176-
fn decodeUnsigned(comptime T: type, data: []const u8) !DecodeResult(T) {
176+
pub fn decodeUnsigned(comptime T: type, data: []const u8) !DecodeResult(T) {
177177
const size = @sizeOf(T);
178178
if (data.len < size) return error.InsufficientData;
179179
const value = if (size == 1)
@@ -183,7 +183,7 @@ fn decodeUnsigned(comptime T: type, data: []const u8) !DecodeResult(T) {
183183
return .{ .value = value, .bytes_read = size };
184184
}
185185

186-
fn decodeSigned(comptime T: type, data: []const u8) !DecodeResult(T) {
186+
pub fn decodeSigned(comptime T: type, data: []const u8) !DecodeResult(T) {
187187
const size = @sizeOf(T);
188188
if (data.len < size) return error.InsufficientData;
189189
const value = if (size == 1)

src/encoder.zig

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ pub fn encodeAlloc(allocator: std.mem.Allocator, value: anytype) ![]u8 {
1818
return buffer;
1919
}
2020

21-
fn encodeBool(value: bool, buffer: []u8) !usize {
21+
pub fn encodeBool(value: bool, buffer: []u8) !usize {
2222
if (buffer.len < 1) return error.BufferTooSmall;
2323
buffer[0] = if (value) 0x01 else 0x00;
2424
return 1;
2525
}
2626

27-
fn encodeUnsigned(comptime T: type, value: T, buffer: []u8) !usize {
27+
pub fn encodeUnsigned(comptime T: type, value: T, buffer: []u8) !usize {
2828
const size = @sizeOf(T);
2929
if (buffer.len < size) return error.BufferTooSmall;
3030

@@ -36,7 +36,7 @@ fn encodeUnsigned(comptime T: type, value: T, buffer: []u8) !usize {
3636
return size;
3737
}
3838

39-
fn encodeSigned(comptime T: type, value: T, buffer: []u8) !usize {
39+
pub fn encodeSigned(comptime T: type, value: T, buffer: []u8) !usize {
4040
const size = @sizeOf(T);
4141
if (buffer.len < size) return error.BufferTooSmall;
4242

@@ -48,7 +48,7 @@ fn encodeSigned(comptime T: type, value: T, buffer: []u8) !usize {
4848
return size;
4949
}
5050

51-
fn encodeByteSlice(value: []const u8, buffer: []u8) !usize {
51+
pub fn encodeByteSlice(value: []const u8, buffer: []u8) !usize {
5252
var offset: usize = 0;
5353

5454
// Encode length as compact
@@ -63,7 +63,7 @@ fn encodeByteSlice(value: []const u8, buffer: []u8) !usize {
6363
return offset;
6464
}
6565

66-
fn encodeOption(comptime T: type, value: ?T, buffer: []u8, encoder: anytype) !usize {
66+
pub fn encodeOption(comptime T: type, value: ?T, buffer: []u8, encoder: anytype) !usize {
6767
if (value) |v| {
6868
if (buffer.len < 1) return error.BufferTooSmall;
6969
buffer[0] = 0x01;
@@ -76,7 +76,7 @@ fn encodeOption(comptime T: type, value: ?T, buffer: []u8, encoder: anytype) !us
7676
}
7777
}
7878

79-
fn encodeArray(comptime T: type, value: []const T, buffer: []u8, encoder: anytype) !usize {
79+
pub fn encodeArray(comptime T: type, value: []const T, buffer: []u8, encoder: anytype) !usize {
8080
var offset: usize = 0;
8181

8282
// Encode length as compact
@@ -92,7 +92,7 @@ fn encodeArray(comptime T: type, value: []const T, buffer: []u8, encoder: anytyp
9292
return offset;
9393
}
9494

95-
fn encodeFixedArray(comptime T: type, comptime N: usize, value: [N]T, buffer: []u8, encoder: anytype) !usize {
95+
pub fn encodeFixedArray(comptime T: type, comptime N: usize, value: [N]T, buffer: []u8, encoder: anytype) !usize {
9696
var offset: usize = 0;
9797

9898
// Fixed arrays don't encode their length
@@ -104,7 +104,7 @@ fn encodeFixedArray(comptime T: type, comptime N: usize, value: [N]T, buffer: []
104104
return offset;
105105
}
106106

107-
fn encodeTuple(value: anytype, buffer: []u8) !usize {
107+
pub fn encodeTuple(value: anytype, buffer: []u8) !usize {
108108
var offset: usize = 0;
109109
const fields = std.meta.fields(@TypeOf(value));
110110

@@ -117,7 +117,7 @@ fn encodeTuple(value: anytype, buffer: []u8) !usize {
117117
return offset;
118118
}
119119

120-
fn encodeCompact(comptime T: type, value: T, buffer: []u8) !usize {
120+
pub fn encodeCompact(comptime T: type, value: T, buffer: []u8) !usize {
121121
const v = @as(u128, value);
122122

123123
if (v < 64) {
@@ -160,7 +160,7 @@ fn encodeCompact(comptime T: type, value: T, buffer: []u8) !usize {
160160
}
161161

162162
// Generic encode function that dispatches to the appropriate encoder
163-
fn encode(value: anytype, buffer: []u8) !usize {
163+
pub fn encode(value: anytype, buffer: []u8) !usize {
164164
const T = @TypeOf(value);
165165

166166
return switch (@typeInfo(T)) {

0 commit comments

Comments
 (0)