Skip to documentation
SLOP

tiny.cook.Key

Reference tiny.cook Key

Defined in tiny.cook.

API (4)

Actions

Public operations.

Fields and members

Public fields and members.

No direct callersNo direct callstiny.cookKey
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/cook/src/cache.zig:20

zig
pub const Key = struct {    digest: [32]u8,    pub fn fromCodeFile(io: std.Io, deriver: []const u8, code_file: std.Io.File, input: []const u8) !Key {        return init(deriver, try digestFile(io, code_file), input);    }    pub fn parseHex(hex_bytes: []const u8) !Key {        if (hex_bytes.len != 64) return error.InvalidKey;        var digest: [32]u8 = undefined;        _ = std.fmt.hexToBytes(&digest, hex_bytes) catch return error.InvalidKey;        if (!std.mem.eql(u8, hex_bytes, &std.fmt.bytesToHex(digest, .lower))) return error.InvalidKey;        return .{ .digest = digest };    }    fn init(deriver: []const u8, code: [32]u8, input: []const u8) Key {        var hasher = Sha256.init(.{});        hasher.update("tiny-cook-key-v1");        hashFramed(&hasher, deriver);        hashFramed(&hasher, &code);        hashFramed(&hasher, input);        var digest: [32]u8 = undefined;        hasher.final(&digest);        return .{ .digest = digest };    }    pub fn hex(key: Key) [64]u8 {        return std.fmt.bytesToHex(key.digest, .lower);    }};

Source: lib/cook/src/root.zig:4

zig
pub const Key = cache.Key;
Called byCallsNo direct callerstiny.cookdigestFileKeyfromCodeFile
Static calls · unresolved targets: 1 · external targets: 0.
Called byCallsNo direct callsprivate sourcelib.cook.src.cache.StorepruneKeyparseHex
Static calls · unresolved targets: 0 · external targets: 0.

Audit

Definitions4
Public names4
Members1
Version26.7.0
Revisiondaab053ee433