rototo 0.1.0-alpha.5

Control plane for runtime configuration of your application.
Documentation
mod ids;
mod nodes;
mod targets;

use std::collections::BTreeMap;

pub(super) use ids::{
    CatalogId, QualifierId, RequestContextEntryId, RequestContextId, ValueKey, VariableId,
};
pub(super) use nodes::*;
pub(super) use targets::{RegisteredLintAddress, RegisteredLintSelector};

#[derive(Default)]
pub(super) struct SemanticIndex {
    pub(super) manifest: Option<ManifestNode>,
    pub(super) qualifiers: BTreeMap<QualifierId, QualifierNode>,
    pub(super) variables: BTreeMap<VariableId, VariableNode>,
    pub(super) catalogs: BTreeMap<CatalogId, CatalogNode>,
    pub(super) catalog_entries: BTreeMap<CatalogId, BTreeMap<ValueKey, CatalogEntryNode>>,
    pub(super) request_contexts: BTreeMap<RequestContextId, RequestContextNode>,
    pub(super) request_context_entries:
        BTreeMap<RequestContextId, BTreeMap<RequestContextEntryId, RequestContextEntryNode>>,
    pub(super) custom_lints: CustomLintRegistry,
}