diff --git a/dist/restore/index.js b/dist/restore/index.js index d4e032a..c064de7 100644 --- a/dist/restore/index.js +++ b/dist/restore/index.js @@ -5994,7 +5994,7 @@ class OidcClient { .catch(error => { throw new Error(`Failed to get ID Token. \n Error Code : ${error.statusCode}\n - Error Message: ${error.result.message}`); + Error Message: ${error.message}`); }); const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; if (!id_token) { @@ -63222,7 +63222,7 @@ function skipVoid(str, ptr, banNewLines, banComments) { ? ptr : skipVoid(str, skipComment(str, ptr), banNewLines); } -function skipUntil(str, ptr, sep, end) { +function skipUntil(str, ptr, sep, end, banNewLines = false) { if (!end) { ptr = indexOfNewline(str, ptr); return ptr < 0 ? str.length : ptr; @@ -63238,6 +63238,9 @@ function skipUntil(str, ptr, sep, end) { else if (c === end) { return i; } + else if (banNewLines && (c === '\n' || c === '\r' && str[i + 1] === '\n')) { + return i; + } } throw new TomlError('cannot find end of structure', { toml: str, @@ -63513,7 +63516,18 @@ function extractValue(str, ptr, end) { let endPtr; if (c === '"' || c === "'") { 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]; } endPtr = skipUntil(str, ptr, ',', end); let slice = sliceAndTrimEndOf(str, ptr, endPtr - (+(str[endPtr - 1] === ',')), end === ']'); @@ -63779,7 +63793,7 @@ function peekTable(key, table, meta, type) { if (i) { t = hasOwn ? t[k] : (t[k] = {}); 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; } if (state.t === 2 /* Type.ARRAY */) { @@ -63799,7 +63813,7 @@ function peekTable(key, table, meta, type) { } m[k] = { t: i < key.length - 1 && type === 2 /* Type.ARRAY */ - ? 0 /* Type.DOTTED */ + ? 3 /* Type.ARRAY_DOTTED */ : type, d: false, i: 0, @@ -63808,7 +63822,7 @@ function peekTable(key, table, meta, type) { } } state = m[k]; - if (state.t !== type) { + if (state.t !== type && !(type === 1 /* Type.EXPLICIT */ && state.t === 3 /* Type.ARRAY_DOTTED */)) { // Bad key type! return null; } diff --git a/dist/save/index.js b/dist/save/index.js index f22cb50..c85c4e5 100644 --- a/dist/save/index.js +++ b/dist/save/index.js @@ -5994,7 +5994,7 @@ class OidcClient { .catch(error => { throw new Error(`Failed to get ID Token. \n Error Code : ${error.statusCode}\n - Error Message: ${error.result.message}`); + Error Message: ${error.message}`); }); const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; if (!id_token) { @@ -63224,7 +63224,7 @@ function skipVoid(str, ptr, banNewLines, banComments) { ? ptr : skipVoid(str, skipComment(str, ptr), banNewLines); } -function skipUntil(str, ptr, sep, end) { +function skipUntil(str, ptr, sep, end, banNewLines = false) { if (!end) { ptr = indexOfNewline(str, ptr); return ptr < 0 ? str.length : ptr; @@ -63240,6 +63240,9 @@ function skipUntil(str, ptr, sep, end) { else if (c === end) { return i; } + else if (banNewLines && (c === '\n' || c === '\r' && str[i + 1] === '\n')) { + return i; + } } throw new TomlError('cannot find end of structure', { toml: str, @@ -63515,7 +63518,18 @@ function extractValue(str, ptr, end) { let endPtr; if (c === '"' || c === "'") { 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]; } endPtr = skipUntil(str, ptr, ',', end); let slice = sliceAndTrimEndOf(str, ptr, endPtr - (+(str[endPtr - 1] === ',')), end === ']'); @@ -63781,7 +63795,7 @@ function peekTable(key, table, meta, type) { if (i) { t = hasOwn ? t[k] : (t[k] = {}); 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; } if (state.t === 2 /* Type.ARRAY */) { @@ -63801,7 +63815,7 @@ function peekTable(key, table, meta, type) { } m[k] = { t: i < key.length - 1 && type === 2 /* Type.ARRAY */ - ? 0 /* Type.DOTTED */ + ? 3 /* Type.ARRAY_DOTTED */ : type, d: false, i: 0, @@ -63810,7 +63824,7 @@ function peekTable(key, table, meta, type) { } } state = m[k]; - if (state.t !== type) { + if (state.t !== type && !(type === 1 /* Type.EXPLICIT */ && state.t === 3 /* Type.ARRAY_DOTTED */)) { // Bad key type! return null; } diff --git a/package-lock.json b/package-lock.json index 245bece..de02a79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,16 +11,16 @@ "dependencies": { "@actions/buildjet-cache": "npm:github-actions.cache-buildjet@0.2.0", "@actions/cache": "^3.2.2", - "@actions/core": "^1.10.0", + "@actions/core": "^1.10.1", "@actions/exec": "^1.1.1", "@actions/glob": "^0.4.0", "@actions/io": "^1.1.3", - "smol-toml": "^1.1.1" + "smol-toml": "1.1.3" }, "devDependencies": { - "@vercel/ncc": "^0.36.1", + "@vercel/ncc": "^0.38.0", "linefix": "^0.1.1", - "typescript": "5.1.6" + "typescript": "5.2.2" }, "funding": { "url": "https://github.com/sponsors/Swatinem" @@ -77,9 +77,9 @@ } }, "node_modules/@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", + "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", "dependencies": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" @@ -342,9 +342,9 @@ } }, "node_modules/@vercel/ncc": { - "version": "0.36.1", - "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.36.1.tgz", - "integrity": "sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.0.tgz", + "integrity": "sha512-B4YKZMm/EqMptKSFyAq4q2SlgJe+VCmEH6Y8gf/E1pTlWbsUJpuH1ymik2Ex3aYO5mCWwV1kaSYHSQOT8+4vHA==", "dev": true, "bin": { "ncc": "dist/ncc/cli.js" @@ -513,9 +513,9 @@ } }, "node_modules/smol-toml": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.1.1.tgz", - "integrity": "sha512-qyYMygHyDKiy82iiKTH/zXr0DZmEpsou0AMZnkXdYhA/0LhPLoZ/xHaOBrbecLbAJ/Gd5KhMWWH8TXtgv1g+DQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.1.3.tgz", + "integrity": "sha512-qTyy6Owjho1ISBmxj4HdrFWB2kMQ5RczU6J04OqslSfdSH656OIHuomHS4ZDvhwm37nig/uXyiTMJxlC9zIVfw==", "engines": { "node": ">= 18", "pnpm": ">= 8" @@ -540,9 +540,9 @@ } }, "node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, "bin": { "tsc": "bin/tsc", diff --git a/package.json b/package.json index b72789f..e7d9b24 100644 --- a/package.json +++ b/package.json @@ -24,16 +24,16 @@ "dependencies": { "@actions/buildjet-cache": "npm:github-actions.cache-buildjet@0.2.0", "@actions/cache": "^3.2.2", - "@actions/core": "^1.10.0", + "@actions/core": "^1.10.1", "@actions/exec": "^1.1.1", "@actions/glob": "^0.4.0", "@actions/io": "^1.1.3", - "smol-toml": "^1.1.1" + "smol-toml": "1.1.3" }, "devDependencies": { - "@vercel/ncc": "^0.36.1", + "@vercel/ncc": "^0.38.0", "linefix": "^0.1.1", - "typescript": "5.1.6" + "typescript": "5.2.2" }, "scripts": { "prepare": "ncc build --target es2020 -o dist/restore src/restore.ts && ncc build --target es2020 -o dist/save src/save.ts && linefix dist"