diff options
Diffstat (limited to 'std/encoding/toml.ts')
-rw-r--r-- | std/encoding/toml.ts | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/std/encoding/toml.ts b/std/encoding/toml.ts index 121459dbf..212c14bdc 100644 --- a/std/encoding/toml.ts +++ b/std/encoding/toml.ts @@ -124,10 +124,14 @@ class Parser { } this.tomlLines = merged; } - _unflat(keys: string[], values: object = {}, cObj: object = {}): object { + _unflat( + keys: string[], + values: Record<string, unknown> | unknown[] = {}, + cObj: Record<string, unknown> | unknown[] = {}, + ): Record<string, unknown> { const out: Record<string, unknown> = {}; if (keys.length === 0) { - return cObj; + return cObj as Record<string, unknown>; } else { if (Object.keys(cObj).length === 0) { cObj = values; @@ -398,7 +402,7 @@ class Parser { const shift = pathDeclaration.shift(); if (shift) { k = shift.replace(/"/g, ""); - v = this._unflat(pathDeclaration, v as object); + v = this._unflat(pathDeclaration, v as Record<string, unknown>); } } else { k = k.replace(/"/g, ""); @@ -411,7 +415,7 @@ class Parser { } } } - parse(): object { + parse(): Record<string, unknown> { this._sanitize(); this._parseLines(); this._cleanOutput(); @@ -433,9 +437,9 @@ function joinKeys(keys: string[]): string { class Dumper { maxPad = 0; - srcObject: object; + srcObject: Record<string, unknown>; output: string[] = []; - constructor(srcObjc: object) { + constructor(srcObjc: Record<string, unknown>) { this.srcObject = srcObjc; } dump(): string[] { @@ -592,11 +596,11 @@ class Dumper { } } -export function stringify(srcObj: object): string { +export function stringify(srcObj: Record<string, unknown>): string { return new Dumper(srcObj).dump().join("\n"); } -export function parse(tomlString: string): object { +export function parse(tomlString: string): Record<string, unknown> { // File is potentially using EOL CRLF tomlString = tomlString.replace(/\r\n/g, "\n").replace(/\\\n/g, "\n"); return new Parser(tomlString).parse(); |