Repository navigation
Reference Index
Chris Michael edited this page Oct 7, 2026
·
1 revision
Every public module in @chrismichaelps/pudu-lang-environment@0.1.0, with its chapter.
| Module | Purpose | Chapter |
|---|---|---|
PuduLangEnvironment |
Problem, describe, isSkippable
|
Problems And Strictness |
PuduLangEnvironment.Options |
Options, defaults, validate, the Configuring chain |
Options And Discovery |
PuduLangEnvironment.Source |
File, Text, Data, label, lines
|
Sources And Encodings |
PuduLangEnvironment.Discovery |
discover, probe, locate
|
Options And Discovery |
PuduLangEnvironment.Loader |
read, load, readOver, loadOver, the Loading chain |
Getting Started |
PuduLangEnvironment.Variables |
Variables, typed reads, secret, require, apply, describe, process
|
Variables And Secrets |
PuduLangEnvironment.Binding |
Variable, Bind and Redacted with their derives |
Typed Settings |
PuduLangEnvironment.Settings |
bind, check
|
Typed Settings |
PuduLangEnvironment.Configuration |
Overlaying.withVariables over Std.App.Config
|
Application Configuration |
PuduLangEnvironment.Domain.Encoding |
Utf8, Ascii, Latin1, Utf16Le, Utf16Be, Utf32Le, Utf32Be, decode, name
|
Sources And Encodings |
The pure rules behind them — Domain.Parser, Domain.Expander, Domain.Layers, Domain.Cascade, Domain.Keys, and Domain.Values — are exported for tools that want the same reading without loading, and documented page by page in the repository's source map.
| Function | Answers |
|---|---|
Environment.describe(&problem) |
one sentence naming keys, lines, and paths, never a value |
Environment.isSkippable(&problem) |
whether a lenient load records the problem and goes on |
Options.defaults() |
lenient, .env, UTF-8, overwriting, inline comments on |
Options.validate(&options) |
every conflict at once |
Loader.read(&options) |
Result[Map[Str, Str], Problem] |
Loader.load(&options) |
Result[Variables, Problem] |
Loader.readOver(&options, &process) |
read over a process environment the caller gives |
Loader.loadOver(&options, &process) |
load over a process environment the caller gives |
Discovery.probe(start, levels, &names) |
the first directory upward holding one of the names |
Discovery.locate(directory, path) |
a path located in a directory |
Source.lines(&source, encoding) |
the source's lines, or why it has none |
Variables.find / has / text
|
the value of a key that is set and not empty |
Variables.int / float / decimal / bool
|
the converted value, Missing, or Malformed
|
Variables.findInt / findFloat / findDecimal / findBool
|
the converted value or None
|
Variables.secret(&variables, key) |
the value as a Secret
|
Variables.require(&variables, &keys) |
every absent key at once |
Variables.apply(&variables, &launch) |
the launch with every applied key |
Variables.describe(&variables) |
the count of applied keys and the sources |
Variables.process() |
the process environment as a view |
Variables.settled(&loaded, ¤t, overwrite, sources, skipped) |
a view built by hand |
Settings.bind(&variables, &validator) |
a derived record the validator accepted |
Settings.check(record, &validator) |
the record when the validator accepts it |
Encoding.decode(&bytes, encoding) |
the text, honouring a byte-order mark |
config.withVariables(&variables) |
the configuration with each declared setting read from its variable |