Description
Overlay explicit INI section/key records with last-wins origin and shadow-index provenance; no file access, include directives or process configuration mutation.
INI-like configuration formats vary between applications. In this tool family, assignments are explicit section/name/value records and the empty section string means global scope. Duplicate-key policies, case handling and preservation of comments are separate choices rather than one universal INI behavior.
Overlay explicit INI section/key records with last-wins origin and shadow-index provenance; no file access, include directives or process configuration mutation.
When to use this tool
Use this tool to overlay explicit INI section/key records with last-wins origin and shadow-index provenance; no file access, include directives or process configuration mutation.
How to use the tool and how it works
- Enter baseJson, overlayJson using the field definitions below. For JSON text, serialize the explicit records in the shown shape.
- Run the operation. Correct input errors before interpreting an output.
- Read result.records. Use the ordering, boundary rules and absence conditions described below.
Concatenate base then overlay records, group exact section/name pairs, and select the last record. Return its side, side-local index and shadowed combined-list indexes.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| baseJson | JSON text encoding array of {section: string, name: string, value: string}. Keep the record keys and value types shown in the decoded example below. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| overlayJson | JSON text encoding array of {section: string, name: string, value: string}. Keep the record keys and value types shown in the decoded example below. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
These are the decoded structures used in the example’s JSON text fields. Supply the corresponding serialized JSON strings as input.
{
"baseJson": [
{
"section": "a",
"name": "x",
"value": "1"
}
],
"overlayJson": [
{
"section": "a",
"name": "x",
"value": "2"
}
]
} | Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.records | Selected, renamed or resolved assignment records with the provenance fields described above. |
{
"input": {
"baseJson": "[{\"section\": \"a\", \"name\": \"x\", \"value\": \"1\"}]",
"overlayJson": "[{\"section\": \"a\", \"name\": \"x\", \"value\": \"2\"}]"
},
"output": {
"result": {
"records": [
{
"section": "a",
"name": "x",
"value": "2",
"side": "overlay",
"index": 0,
"shadowed": [
0
]
}
]
}
}
} Limitations and assumptions
- Overlay provenance is positional; section/name comparison is exact and output groups follow first appearance.
- Assignment records contain section, name and value strings. Nonempty section/key names cannot have surrounding whitespace, brackets or CR/LF/NUL. Values cannot contain CR/LF/NUL; a key cannot contain equals. No implicit interpolation or typed-value conversion is performed.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Select the consuming application’s dialect and duplicate-key policy explicitly. Use a lossless configuration editor when comments, original spacing, quoting or application-specific interpolation must be preserved.
References
Similar or alternative tools
- INI Global Key Section Partition
Partition explicit INI key observations between the unsectioned global namespace and named sections; preserves original records, duplicates and empty values.
- INI Section Key Case Collision Audit
Audit INI section/key spelling collisions under an explicit JavaScript lowercase policy, distinct from repeated identical spellings; not a universal INI case rule.