MoonConfigKit is a MoonBit-native INI/properties configuration merge, validation, diagnostics, and reporting toolkit.
pub struct AuditSummary {
policy_name : String
key_count : Int
error_count : Int
warning_count : Int
info_count : Int
score : Int
diagnostics : Array[Diagnostic]
} derive(Eq, Debug)pub struct ConfigDocument {
name : String
entries : Array[ConfigEntry]
diagnostics : Array[Diagnostic]
} derive(Eq, Debug)fn ConfigDocument::apply_edits(self : ConfigDocument, edits : Array[DocumentEdit]) -> ConfigDocumentfn ConfigDocument::rename_path(self : ConfigDocument, old_path : String, new_path : String) -> ConfigDocumentfn ConfigDocument::with_value(self : ConfigDocument, path : String, value : String) -> ConfigDocumentpub struct ConfigSchema {
name : String
version : String
sections : Array[SchemaSection]
} derive(Eq, Debug)fn ConfigSchema::unknown_key_diagnostics(self : ConfigSchema, view : ConfigView) -> Array[Diagnostic]pub struct ConfigView {
values : Array[ResolvedValue]
diagnostics : Array[Diagnostic]
} derive(Eq, Debug)pub struct Profile {
name : String
view : ConfigView
schema : ConfigSchema?
policy : AuditPolicy?
} derive(Eq, Debug)pub struct SchemaSection {
name : String
description : String
fields : Array[SchemaField]
} derive(Eq, Debug)fn entry_path(section : String, key : String) -> Stringfn escape_properties_key(key : String) -> Stringfn field(path : String, kind : String, required? : Bool, default_value? : String?, description? : String, rules? : Array[Rule]) -> SchemaFieldfn is_sensitive_path(path : String) -> Boolfn parse_options(allow_colon_separator? : Bool, allow_empty_value? : Bool, preserve_comments? : Bool, strict_sections? : Bool) -> ParseOptionsfn parse_properties_with_options(name : String, text : String, options : ParseOptions) -> ParseResultfn profile(name : String, view : ConfigView, schema? : ConfigSchema?, policy? : AuditPolicy?) -> Profilefn profile_gap_report(schema : ConfigSchema, profiles : Array[(String, ConfigView)]) -> Array[Diagnostic]fn redact_value(path : String, value : String) -> Stringfn service_profiles(dev : ConfigDocument, test_doc : ConfigDocument, prod : ConfigDocument) -> Array[Profile]fn unescape_properties_value(value : String) -> Stringfn unresolved_placeholder_diagnostics(view : ConfigView, supplied : Array[PlaceholderValue]) -> Array[Diagnostic]MoonConfigKit is a MoonBit-native INI/properties configuration merge, validation, diagnostics, and reporting toolkit.