Skip to documentation
SLOP

tiny.smg.cli.metadata

Reference tiny.smg cli metadata

Defined in cli.

API (1)

Actions

Public operations.

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

Source

Called byCallstest; no linktools.smg.src.cli.metadatatest: metadata pairs match python def...modelpairValuemodelupsertPaircli.metadatapairs
Static calls · unresolved targets: 1 · external targets: 3.

Source: tools/smg/src/cli/metadata.zig

zig
const std = @import("std");const smg = @import("../root.zig");const model = smg.model;const text = smg.text;pub fn pairs(allocator: std.mem.Allocator, args: []const []const u8, default_source: []const u8) ![]const model.Pair {    var out: std.ArrayList(model.Pair) = .empty;    var i: usize = 0;    while (i + 1 < args.len) : (i += 1) {        if (std.mem.eql(u8, args[i], "--meta")) {            const kv = try text.keyValue(allocator, args[i + 1]);            try model.upsertPair(allocator, &out, .{ .key = kv.key, .value = kv.value });            i += 1;        }    }    if (default_source.len != 0 and model.pairValue(out.items, "source") == null) {        try out.append(allocator, .{ .key = try allocator.dupe(u8, "source"), .value = try allocator.dupe(u8, default_source) });    }    return try out.toOwnedSlice(allocator);}test "metadata pairs match python default and replacement semantics" {    var arena = std.heap.ArenaAllocator.init(std.testing.allocator);    defer arena.deinit();    const allocator = arena.allocator();    const owner_args = [_][]const u8{ "--meta", "owner=core" };    const owner_pairs = try pairs(allocator, &owner_args, "manual");    try std.testing.expectEqual(@as(usize, 2), owner_pairs.len);    try std.testing.expectEqualStrings("owner", owner_pairs[0].key);    try std.testing.expectEqualStrings("core", owner_pairs[0].value);    try std.testing.expectEqualStrings("source", owner_pairs[1].key);    try std.testing.expectEqualStrings("manual", owner_pairs[1].value);    const source_args = [_][]const u8{ "--meta", "source=test", "--meta", "source=scan" };    const source_pairs = try pairs(allocator, &source_args, "manual");    try std.testing.expectEqual(@as(usize, 1), source_pairs.len);    try std.testing.expectEqualStrings("source", source_pairs[0].key);    try std.testing.expectEqualStrings("scan", source_pairs[0].value);}

Source: tools/smg/src/cli/root.zig:5

zig
pub const metadata = @import("metadata.zig");

Audit

Definitions2
Public names2
Members0
Version26.7.0
Revisiondaab053ee433