DynamicConfig18
Constructors
allconstThe combined, yieldable form — yield DynamicConfig.all({...}) reads every field into one object, like Config.all.extendconstExtend a config by cloning the base's fields and adding more — a pure value op, no dependency.globalSwappableconstA hot-swappable field whose key joins the process-wide allowlist — declare it anywhere (even at module scope), no wiring, and setByKey can swap it by string on any runtime.makefunctionGroup fields into a bag with per-field accessors (cfg.apiKey.set(...)).swappableconstA hot-swappable field with no global footprint — pure construction, no registry write.Layers & Serving
Models
AllConfiginterfaceThe combined, yieldable-as-a-whole form of a config (like Config.all): yield allCfg resolves every field into one object.ConfigBagtypeA bag of ConfigFields produced by make / extend.ConfigFieldinterfaceA yieldable config field.FixedFieldtypeA read-only field — a ConfigField with no control methods.SwappableFieldinterfaceA hot-swappable field: yieldable for reads, with control methods on the field itself (yield field reads; field.set(v) / field.reset / field.changes control).Guards
Combinators
Context
DynamicConfigStoreclassShared override store.SwappableRegistryconstThe process-wide allowlist of declared-swappable env keys → their Config, held the way Effect holds its own registries (Metric.MetricRegistry): a Context.Reference whose cached default is the global — declare swappable anywhere, no wiring — while a test or isolated program can substitute its own allowlist with Effect.provideService(SwappableRegistry, new Map()).