Comparing version 1.1.2 to 1.1.3
@@ -74,3 +74,14 @@ /*! | ||
endPtr = getStringEnd(str, ptr); | ||
return [parseString(str, ptr, endPtr), endPtr + +(!!end && str[endPtr] === ',')]; | ||
let parsed = parseString(str, ptr, endPtr); | ||
if (end) { | ||
endPtr = skipVoid(str, endPtr, end !== ']'); | ||
if (str[endPtr] && str[endPtr] !== ',' && str[endPtr] !== end && str[endPtr] !== '\n' && str[endPtr] !== '\r') { | ||
throw new TomlError('unexpected character encountered', { | ||
toml: str, | ||
ptr: endPtr, | ||
}); | ||
} | ||
endPtr += (+(str[endPtr] === ',')); | ||
} | ||
return [parsed, endPtr]; | ||
} | ||
@@ -77,0 +88,0 @@ endPtr = skipUntil(str, ptr, ',', end); |
@@ -42,3 +42,3 @@ /*! | ||
m = (state = m[k]).c; | ||
if (type === 0 /* Type.DOTTED */ && state.t === 1 /* Type.EXPLICIT */) { | ||
if (type === 0 /* Type.DOTTED */ && (state.t === 1 /* Type.EXPLICIT */ || state.t === 2 /* Type.ARRAY */)) { | ||
return null; | ||
@@ -63,3 +63,3 @@ } | ||
t: i < key.length - 1 && type === 2 /* Type.ARRAY */ | ||
? 0 /* Type.DOTTED */ | ||
? 3 /* Type.ARRAY_DOTTED */ | ||
: type, | ||
@@ -73,3 +73,3 @@ d: false, | ||
state = m[k]; | ||
if (state.t !== type) { | ||
if (state.t !== type && !(type === 1 /* Type.EXPLICIT */ && state.t === 3 /* Type.ARRAY_DOTTED */)) { | ||
// Bad key type! | ||
@@ -76,0 +76,0 @@ return null; |
@@ -35,3 +35,3 @@ /*! | ||
export declare function skipVoid(str: string, ptr: number, banNewLines?: boolean, banComments?: boolean): number; | ||
export declare function skipUntil(str: string, ptr: number, sep: string, end?: string): number; | ||
export declare function skipUntil(str: string, ptr: number, sep: string, end?: string, banNewLines?: boolean): number; | ||
export declare function getStringEnd(str: string, seek: number): number; |
@@ -59,3 +59,3 @@ /*! | ||
} | ||
export function skipUntil(str, ptr, sep, end) { | ||
export function skipUntil(str, ptr, sep, end, banNewLines = false) { | ||
if (!end) { | ||
@@ -76,2 +76,5 @@ ptr = indexOfNewline(str, ptr); | ||
} | ||
else if (banNewLines && (c === '\n' || c === '\r' && str[i + 1] === '\n')) { | ||
return i; | ||
} | ||
} | ||
@@ -78,0 +81,0 @@ throw new TomlError('cannot find end of structure', { |
{ | ||
"name": "smol-toml", | ||
"version": "1.1.2", | ||
"version": "1.1.3", | ||
"keywords": [ | ||
@@ -28,9 +28,9 @@ "toml", | ||
"@tsconfig/esm": "^1.0.3", | ||
"@tsconfig/node-lts": "^18.12.1", | ||
"@tsconfig/strictest": "^2.0.1", | ||
"@types/node": "^20.1.0", | ||
"@vitest/ui": "^0.31.0", | ||
"@tsconfig/node-lts": "^18.12.5", | ||
"@tsconfig/strictest": "^2.0.2", | ||
"@types/node": "^20.8.6", | ||
"@vitest/ui": "^0.34.6", | ||
"fast-toml": "^0.5.4", | ||
"typescript": "^5.0.4", | ||
"vitest": "^0.31.0" | ||
"typescript": "^5.2.2", | ||
"vitest": "^0.34.6" | ||
}, | ||
@@ -37,0 +37,0 @@ "exports": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
71315
1389