tiny.css.Workspace
Defined in sheet.
A sheet parser that grows its storage to the largest source it has seen.
API (5)
Actions
Public operations.
Fields and members
Public fields and members.
Source
Source: lib/css/src/sheet.zig:465
zig
/// A sheet parser that grows its storage to the largest source it has seen./// Every previously returned `StyleSheet` is invalidated by the next parse.pub const Workspace = struct { allocator: Allocator, storage: ?Storage = null, pub fn init(allocator: Allocator) Workspace { return .{ .allocator = allocator }; } pub fn deinit(self: *Workspace) void { if (self.storage) |*storage| storage.deinit(self.allocator); self.* = undefined; } pub fn parse(self: *Workspace, source: []const u8, media: MediaEnvironment) !StyleSheet { const limits = try Limits.inspect(source, media); const storage = try self.ensureStorage(limits); return storage.parse(source, media); } fn ensureStorage(self: *Workspace, limits: Limits) !*Storage { if (self.storage) |*storage| { if (storage.admits(limits)) return storage; } const grown = if (self.storage) |storage| Limits.grow(storage.limits, limits) else limits; var next = try Storage.init(self.allocator, grown); next.activate(); if (self.storage) |*storage| storage.deinit(self.allocator); self.storage = next; return &self.storage.?; }};Source: lib/css/src/root.zig:58
zig
pub const Workspace = sheet.Workspace;Audit
| Definitions | 4 |
|---|---|
| Public names | 8 |
| Members | 2 |
| Version | 26.7.0 |
| Revision | daab053ee433 |