tiny.zen.ThemeRenderPlan
Defined in tiny.zen.
API (6)
Actions
Public operations.
Fields and members
Public fields and members.
Source
Source: lib/zen/src/theme/plan.zig:15
zig
pub const Plan = struct { layout_bytes: usize, placeholders: usize, output_bytes: usize, pub fn inspect(active: model.Theme, page: model.Page, limits: Limits) model.Error!Plan { var placeholders: usize = 0; var output_bytes: usize = 0; var iterator = scan.Iterator.init(active.layout); while (try iterator.next()) |event| switch (event) { .literal => |literal| output_bytes = try addOutput( output_bytes, literal.len, limits.max_output_bytes, ), .placeholder => |key| { placeholders = try added(placeholders, 1); const resolved = try value.resolve(active, page, key); const bytes = switch (resolved.encoding) { .raw => resolved.text.len, .escaped => try html.escapedLength(resolved.text), }; output_bytes = try addOutput( output_bytes, bytes, limits.max_output_bytes, ); }, }; return .{ .layout_bytes = active.layout.len, .placeholders = placeholders, .output_bytes = output_bytes, }; } pub fn exactLimits(self: Plan) Limits { return .{ .max_output_bytes = self.output_bytes }; } pub fn require(self: Plan, limits: Limits) model.Exhaustion!void { if (self.output_bytes > limits.max_output_bytes) { return error.ThemeOutputByteCapacityExceeded; } }};Source: lib/zen/src/root.zig:245
zig
/// Exact themed-page byte demand measured before storage acquisition.pub const ThemeRenderPlan = theme.RenderPlan;Also reachable as
Audit
| Definitions | 4 |
|---|---|
| Public names | 8 |
| Members | 3 |
| Version | 26.7.0 |
| Revision | daab053ee433 |