QueryOptions
The block explorers api query options.
Properties
struct {
/// The page number if pagination is enabled.
page: ?usize = null
/// The number of items displayed per page.
offset: ?usize = null
/// The prefered sorting sequence.
/// Asc for ascending and desc for descending.
sort: ?enum { asc, desc } = null
}SearchUrlParams
Writes the given value to the std.io.Writer stream.
See QueryWriter for a more detailed documentation.
Signature
pub fn searchUrlParams(value: anytype, options: QueryOptions, out_stream: anytype) @TypeOf(out_stream).Error!voidSearchUrlParamsAlloc
Writes the given value to an ArrayList stream.
This will allocated memory instead of writting to std.io.Writer.
You will need to free the allocated memory.
See QueryWriter for a more detailed documentation.
Signature
pub fn searchUrlParamsAlloc(allocator: Allocator, value: anytype, options: QueryOptions) Allocator.Error![]u8WriteStream
See QueryWriter for a more detailed documentation.
Signature
pub fn writeStream(out_stream: anytype) QueryWriter(@TypeOf(out_stream))QueryWriter
Essentially a wrapper for a Writer interface
specified for query parameters.
The final expected sequence is something like: "?foo=1&bar=2"
Supported types:
- Zig
bool-> "true" or "false" - Zig
?T-> "null" for null values or it rendersTif it's supported. - Zig
u32,i64, etc -> the string representation of the number. - Zig
floats-> the string representation of the float. - Zig
[N]u8-> it assumes as a hex encoded string. For arrays of size 20,40,42 it will assume as a ethereum address. - Zig
enum-> the tagname of the enum. - Zig
*T-> the rending of T if it's supported. - Zig
[]const u8-> it writes it as a normal string. - Zig
[]u8-> it writes it as a hex encoded string. - Zig
[]const T-> the rendering of T if it's supported. Values are comma seperated in case of multiple values. It will not place the brackets on the query parameters.
All other types are currently not supported.
Signature
pub fn QueryWriter(comptime OutStream: type) typeStream
OutStreamError
Stream.ErrorInit
Start the writer initial state.
Signature
pub fn init(stream: OutStream) SelfBeginQuery
Start the begging of the query string.
Signature
pub fn beginQuery(self: *Self) Error!voidValueOrParameterStart
Start either the parameter or value of the query string.
Signature
pub fn valueOrParameterStart(self: *Self) Error!voidValueDone
Marks the current value as done.
Signature
pub fn valueDone(self: *Self) voidParameterDone
Marks the current parameter as done.
Signature
pub fn parameterDone(self: *Self) voidWriteQueryOptions
Writes the query options into the Stream.
It will only write non null values otherwise it will do nothing.
Signature
pub fn writeQueryOptions(self: *Self, options: QueryOptions) Error!voidWriteParameter
Writes a parameter of the query string.
Signature
pub fn writeParameter(self: *Self, name: []const u8) Error!voidWriteValue
Writes the value of the parameter of the query string. Not all types are accepted.
Signature
pub fn writeValue(self: *Self, value: anytype) Error!void