Skip to documentation
SLOP

tiny.zen.FrontmatterPlan

Reference tiny.zen FrontmatterPlan

Defined in tiny.zen.

API (9)

Actions

Public operations.

Fields and members

Public fields and members.

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

Source

Source: lib/zen/src/frontmatter/plan.zig:18

zig
pub const Plan = struct {    input_bytes: usize,    metadata_start: usize,    metadata_end: usize,    body_start: usize,    pairs: usize,    continuation_bytes: usize,    projection: MetadataProjection,    pub fn inspect(markdown: []const u8, limits: Limits) model.Error!Plan {        const split = try scan.sections(markdown);        std.debug.assert(split.metadata_start <= split.metadata_end);        std.debug.assert(split.metadata_end <= split.body_start);        std.debug.assert(split.body_start <= markdown.len);        var iterator = scan.Iterator.init(markdown[split.metadata_start..split.metadata_end]);        var pair_count: usize = 0;        var finalized_bytes: usize = 0;        var current: ?Current = null;        var projection: Projection = .{};        while (iterator.next()) |field| switch (field) {            .pair => |pair| {                finalized_bytes = try finalize(finalized_bytes, current);                projection.finish(current);                pair_count = try added(pair_count, 1);                if (pair_count > limits.max_pairs) return error.PairCapacityExceeded;                current = Current.init(pair.key, pair.value);            },            .continuation => |value| if (current) |*active| {                try active.continueWith(value);                const admitted = try added(finalized_bytes, active.joined_bytes);                if (admitted > limits.max_continuation_bytes) {                    return error.ContinuationByteCapacityExceeded;                }            },        };        finalized_bytes = try finalize(finalized_bytes, current);        projection.finish(current);        std.debug.assert(pair_count <= limits.max_pairs);        std.debug.assert(finalized_bytes <= limits.max_continuation_bytes);        const result = Plan{            .input_bytes = markdown.len,            .metadata_start = split.metadata_start,            .metadata_end = split.metadata_end,            .body_start = split.body_start,            .pairs = pair_count,            .continuation_bytes = finalized_bytes,            .projection = projection.value,        };        std.debug.assert(result.input_bytes == markdown.len);        std.debug.assert(result.pairs == pair_count);        std.debug.assert(result.continuation_bytes == finalized_bytes);        return result;    }    pub fn exactLimits(self: Plan) Limits {        const limits = Limits{            .max_pairs = self.pairs,            .max_continuation_bytes = self.continuation_bytes,        };        std.debug.assert(limits.max_pairs == self.pairs);        std.debug.assert(limits.max_continuation_bytes == self.continuation_bytes);        return limits;    }};

Source: lib/zen/src/root.zig:96

zig
/// Exact frontmatter demand and common-field projection measured without allocation.pub const FrontmatterPlan = frontmatter.Plan;
Called byCallsNo direct callersprivate sourcelib.zen.src.frontmatter.plan.Currentinitprivate sourcelib.zen.src.frontmatter.plan.Projectionfinishprivate sourcelib.zen.src.frontmatter.planaddedprivate sourcelib.zen.src.frontmatter.planfinalizeprivate sourcelib.zen.src.frontmatter.scansectionsFrontmatterPlaninspect
Static calls · unresolved targets: 0 · external targets: 3.

Also reachable as

frontmatter.Plan.

Audit

Definitions3
Public names6
Members7
Version26.7.0
Revisiondaab053ee433