Skip to main content

Crate omena_interner

Crate omena_interner 

Source
Expand description

Workspace-level interned name identities for omena-css.

cstree owns token storage inside green trees. This crate owns semantic string identity above the CST layer so hot-path equality can use typed interned IDs instead of repeated string comparison.

§Reuse cost: the 'db lifetime (deliberate)

The interned identities (ClassName<'db>, CssIdent<'db>, PropertyName<'db>, …) are #[salsa::interned] newtypes, so they carry the Salsa database lifetime 'db. This is the ONE crate in the workspace that propagates 'db onto consumers: any crate that holds these typed IDs inherits the lifetime. The coupling is deliberate — it buys O(1) typed-ID equality on the hot path — and is the documented price of reusing this R1 building block (see the role manifest: omena-interner is the lifetime-coupled reuse surface). Consumers that only need owned string identity stay above this layer: the V0 contracts carried across crate boundaries use owned data, not 'db-bound IDs.

Structs§

ClassName
CssIdent
CustomPropertyName
FilePath
KeyframesName
MixinName
OmenaInternerBoundarySummaryV0
PropertyName
SelectorKey

Enums§

InternError
NameKind

Functions§

intern_class_name
intern_css_ident
intern_custom_property_name
intern_file_path
intern_keyframes_name
intern_mixin_name
intern_property_name
intern_selector_key
summarize_omena_interner_boundary