rototo 0.1.0-alpha.4

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

use std::collections::BTreeMap;

pub(super) use gates::{GateEntity, GateIndex};
pub(super) use ids::{QualifierId, ResourceId, ValueKey, VariableId, WorkspacePath};
pub(super) use nodes::*;
pub(super) use targets::{
    QualifierLintField, RegisteredLintEntity, RegisteredLintField, RegisteredLintSelector,
    SchemaLintField, ValueLintField, VariableLintField, WorkspaceLintField,
};

#[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) resources: BTreeMap<ResourceId, ResourceNode>,
    pub(super) resource_objects: BTreeMap<ResourceId, BTreeMap<ValueKey, ResourceObjectNode>>,
    pub(super) schemas: BTreeMap<WorkspacePath, SchemaNode>,
    pub(super) custom_lints: CustomLintRegistry,
    #[allow(dead_code)]
    pub(super) gates: GateIndex,
}