From 3ee4b30ef4fac49f2d5ecc3ba73e6f6d748f64a9 Mon Sep 17 00:00:00 2001 From: dnalborczyk Date: Sat, 17 Dec 2022 14:33:44 -0500 Subject: [PATCH] refactor: use array-unflat-js (#1632) --- package-lock.json | 388 +++++++++++++------------- package.json | 5 +- src/utils/__tests__/unflatten.test.js | 32 --- src/utils/parseHeaders.js | 4 +- src/utils/parseMultiValueHeaders.js | 4 +- src/utils/unflatten.js | 11 - 6 files changed, 208 insertions(+), 236 deletions(-) delete mode 100644 src/utils/__tests__/unflatten.test.js delete mode 100644 src/utils/unflatten.js diff --git a/package-lock.json b/package-lock.json index 35d1e0492..d8562588e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,12 @@ "version": "12.0.2", "license": "MIT", "dependencies": { - "@aws-sdk/client-lambda": "^3.229.0", + "@aws-sdk/client-lambda": "^3.231.0", "@hapi/boom": "^10.0.0", "@hapi/h2o2": "^10.0.0", "@hapi/hapi": "^21.1.0", "@serverless/utils": "^6.8.2", + "array-unflat-js": "^0.1.0", "boxen": "^7.0.0", "chalk": "^5.2.0", "execa": "^6.1.0", @@ -37,7 +38,7 @@ "devDependencies": { "@istanbuljs/esm-loader-hook": "^0.2.0", "archiver": "^5.3.1", - "eslint": "^8.29.0", + "eslint": "^8.30.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-import": "^2.25.4", @@ -160,15 +161,15 @@ } }, "node_modules/@aws-sdk/client-lambda": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.229.0.tgz", - "integrity": "sha512-HLC1y6qIACn1iN6u69rbeNCB52SUK1Fe+BryUxxSPk3vH2fZZ51Xa4Eqw7lDVKlBmQR3lpYVG2dwhRm6U9FaIg==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.231.0.tgz", + "integrity": "sha512-BvM1wC5mCb6GKAnk4LDtJXmuB3qg+LX5Ex6uuz2+AeYQS4/SzNfToOiQjcnxcp2jRLJoq67bIO4jJVCh+KzxIw==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.229.0", - "@aws-sdk/config-resolver": "3.226.0", - "@aws-sdk/credential-provider-node": "3.229.0", + "@aws-sdk/client-sts": "3.231.0", + "@aws-sdk/config-resolver": "3.231.0", + "@aws-sdk/credential-provider-node": "3.231.0", "@aws-sdk/fetch-http-handler": "3.226.0", "@aws-sdk/hash-node": "3.226.0", "@aws-sdk/invalid-dependency": "3.226.0", @@ -192,7 +193,7 @@ "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", "@aws-sdk/util-defaults-mode-browser": "3.226.0", - "@aws-sdk/util-defaults-mode-node": "3.226.0", + "@aws-sdk/util-defaults-mode-node": "3.231.0", "@aws-sdk/util-endpoints": "3.226.0", "@aws-sdk/util-retry": "3.229.0", "@aws-sdk/util-user-agent-browser": "3.226.0", @@ -207,13 +208,13 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.229.0.tgz", - "integrity": "sha512-gcPitIBAxwwhkCPKtod02ZjaFD5UCdwFYq31XsCY0OQDV+CFalSd+3gjKyDQOMtfgegLYyOvMQvlIU+geUFRZg==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.231.0.tgz", + "integrity": "sha512-/q7BptaMiT6/wxW9vE/gcQuApMXio5vdTuqt77A6+mjqhNzYFfCn7RRS4BU8KEOpZObnYBKP3mYe3NDccEbMzQ==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.226.0", + "@aws-sdk/config-resolver": "3.231.0", "@aws-sdk/fetch-http-handler": "3.226.0", "@aws-sdk/hash-node": "3.226.0", "@aws-sdk/invalid-dependency": "3.226.0", @@ -236,7 +237,7 @@ "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", "@aws-sdk/util-defaults-mode-browser": "3.226.0", - "@aws-sdk/util-defaults-mode-node": "3.226.0", + "@aws-sdk/util-defaults-mode-node": "3.231.0", "@aws-sdk/util-endpoints": "3.226.0", "@aws-sdk/util-retry": "3.229.0", "@aws-sdk/util-user-agent-browser": "3.226.0", @@ -250,13 +251,13 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.229.0.tgz", - "integrity": "sha512-sb9eRqnqMWVvdg4k9UTuC08IvRQOwpX2bT3XXoYioHYoy/ChUFPrNazrmuZwj6GFrIWkl0pIPCeqVfScZM3EYw==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.231.0.tgz", + "integrity": "sha512-yqEZW9/Q6VvMDMcQoE52oa/oa6F8z8cqyax7m29VpuVrncYcfELpkZKWPoaJVfierR5ysKfKiAU0acPgMpvllQ==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.226.0", + "@aws-sdk/config-resolver": "3.231.0", "@aws-sdk/fetch-http-handler": "3.226.0", "@aws-sdk/hash-node": "3.226.0", "@aws-sdk/invalid-dependency": "3.226.0", @@ -279,7 +280,7 @@ "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", "@aws-sdk/util-defaults-mode-browser": "3.226.0", - "@aws-sdk/util-defaults-mode-node": "3.226.0", + "@aws-sdk/util-defaults-mode-node": "3.231.0", "@aws-sdk/util-endpoints": "3.226.0", "@aws-sdk/util-retry": "3.229.0", "@aws-sdk/util-user-agent-browser": "3.226.0", @@ -293,14 +294,14 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.229.0.tgz", - "integrity": "sha512-UjGVIzYouEu14YkDy4o+IkVUsx8kLEYNYX5vrymNAT67lNnN/gSyV3h0XgMNzNQHZvtso9c96C6ZGeGW/AVUqQ==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.231.0.tgz", + "integrity": "sha512-5WYqlcbM49ofOFBsu28QBt3t26M5D9XynhSaswSrCzawwdNkIMYQrKOCplF5mqOy+GywVIRrFeCVVrAKPMZJxQ==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.226.0", - "@aws-sdk/credential-provider-node": "3.229.0", + "@aws-sdk/config-resolver": "3.231.0", + "@aws-sdk/credential-provider-node": "3.231.0", "@aws-sdk/fetch-http-handler": "3.226.0", "@aws-sdk/hash-node": "3.226.0", "@aws-sdk/invalid-dependency": "3.226.0", @@ -325,7 +326,7 @@ "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", "@aws-sdk/util-defaults-mode-browser": "3.226.0", - "@aws-sdk/util-defaults-mode-node": "3.226.0", + "@aws-sdk/util-defaults-mode-node": "3.231.0", "@aws-sdk/util-endpoints": "3.226.0", "@aws-sdk/util-retry": "3.229.0", "@aws-sdk/util-user-agent-browser": "3.226.0", @@ -340,9 +341,9 @@ } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.226.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.226.0.tgz", - "integrity": "sha512-0UWXtfnTT0OtnRP8jJodc8V7xAnWSqsh4RCRyV5uu3Z2Tv+xyW91GKxO+gOXoUP0hHu0lvBM9lYiMJcJWZYLYw==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.231.0.tgz", + "integrity": "sha512-qpjV4Fw/NQ4a0p5/qwzqaShflYRlY/SPcgA7N5GTJjIjZjg3NV+5BKJSF3VeZcNKfbXq68kkn207OSCpyheYxQ==", "dependencies": { "@aws-sdk/signature-v4": "3.226.0", "@aws-sdk/types": "3.226.0", @@ -383,13 +384,13 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.229.0.tgz", - "integrity": "sha512-DbzsaUXoBYvImlWaJ+gRL0HPelDFcQylIc+JnciYuSPLE+wwL3IZRdzkyIOBYz68JwMHd8jGJf+PycbkATOqOw==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.231.0.tgz", + "integrity": "sha512-4JJgrJg2O91Vki4m5nSQNZGX/5yAYgzG1IOjeZ+8vCDxfR+jA2O9+/Xhi2/8aDpb1da77OJ+cK1+ezzSMchIfQ==", "dependencies": { "@aws-sdk/credential-provider-env": "3.226.0", "@aws-sdk/credential-provider-imds": "3.226.0", - "@aws-sdk/credential-provider-sso": "3.229.0", + "@aws-sdk/credential-provider-sso": "3.231.0", "@aws-sdk/credential-provider-web-identity": "3.226.0", "@aws-sdk/property-provider": "3.226.0", "@aws-sdk/shared-ini-file-loader": "3.226.0", @@ -401,15 +402,15 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.229.0.tgz", - "integrity": "sha512-VIQ+eamKDqJ9ps4McSJGI0Bx57/NQ8WaU5dz1EOeluwM8LTK1i6aQeSzOcy+A66/b+pni1oIjAF7PfSsdEqdpA==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.231.0.tgz", + "integrity": "sha512-DOojjyYdLNeBQv9+PaDXmvvww9SmcZsaL1YCl27e5larcJSMfT41vn4WRnVRu2zBI2BIi464Z8ziRRKwd2YFVg==", "dependencies": { "@aws-sdk/credential-provider-env": "3.226.0", "@aws-sdk/credential-provider-imds": "3.226.0", - "@aws-sdk/credential-provider-ini": "3.229.0", + "@aws-sdk/credential-provider-ini": "3.231.0", "@aws-sdk/credential-provider-process": "3.226.0", - "@aws-sdk/credential-provider-sso": "3.229.0", + "@aws-sdk/credential-provider-sso": "3.231.0", "@aws-sdk/credential-provider-web-identity": "3.226.0", "@aws-sdk/property-provider": "3.226.0", "@aws-sdk/shared-ini-file-loader": "3.226.0", @@ -435,14 +436,14 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.229.0.tgz", - "integrity": "sha512-RI9xjwp2NBJjm2bPOcTK7NwAxqzJxIZPjukVjidC2N3B1Ca5Gn+yUji2iYf7c9KavTROY80j/rieHMb14n7iSw==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.231.0.tgz", + "integrity": "sha512-aImUD+PAqZ7A2C1ef7gskMN3KuxFT4Am1Vrl6M0oLGyrhKG2QtRT/UaXJE+Yt6d/C2qc2OsQ9j2oim7D6Qha/A==", "dependencies": { - "@aws-sdk/client-sso": "3.229.0", + "@aws-sdk/client-sso": "3.231.0", "@aws-sdk/property-provider": "3.226.0", "@aws-sdk/shared-ini-file-loader": "3.226.0", - "@aws-sdk/token-providers": "3.229.0", + "@aws-sdk/token-providers": "3.231.0", "@aws-sdk/types": "3.226.0", "tslib": "^2.3.1" }, @@ -789,11 +790,11 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.229.0.tgz", - "integrity": "sha512-LmB40GDKch3LUfTOC6r2fWQoMYrvXoO9eN3TE0eVTWi/p8xCaROcnwb5pWe3mCCrKVygA4XZXSXkUO3DZhJL3w==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.231.0.tgz", + "integrity": "sha512-sxx6X/moSdukyrnoBtLxmgQQLWqixMc/qAM5yNg5lfNoGamWslH6CnT1HlxTFv71q8/1xwnvZ4LC2kbD6vDc6Q==", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.229.0", + "@aws-sdk/client-sso-oidc": "3.231.0", "@aws-sdk/property-provider": "3.226.0", "@aws-sdk/shared-ini-file-loader": "3.226.0", "@aws-sdk/types": "3.226.0", @@ -893,11 +894,11 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.226.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.226.0.tgz", - "integrity": "sha512-Zr0AEj6g8gqiOhr31Pa2tdOFdPQciaAUCg3Uj/eH0znNBdVoptCj67oCW/I5v4pY4ZLZtGhr3uuoxDJH2MB3yg==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.231.0.tgz", + "integrity": "sha512-jH+9z96x8Oxv+bqBdD7x8CRvbKzM9id+VHzI9+h1oTY9J+6MkUubPshliBTQeus5pD03NBOS/2F3GX2rJ9Avuw==", "dependencies": { - "@aws-sdk/config-resolver": "3.226.0", + "@aws-sdk/config-resolver": "3.231.0", "@aws-sdk/credential-provider-imds": "3.226.0", "@aws-sdk/node-config-provider": "3.226.0", "@aws-sdk/property-provider": "3.226.0", @@ -1408,15 +1409,15 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", + "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.15.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -1437,9 +1438,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -1782,9 +1783,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -2342,9 +2343,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.11.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.13.tgz", - "integrity": "sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==" + "version": "18.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.16.tgz", + "integrity": "sha512-6T7P5bDkRhqRxrQtwj7vru+bWTpelgtcETAZEUSdq0YISKz8WKdoBukQLYQQ6DFHvU9JRsbFq0JH5C51X2ZdnA==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -2731,6 +2732,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-unflat-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/array-unflat-js/-/array-unflat-js-0.1.0.tgz", + "integrity": "sha512-v6Vl80cxzhn8JOh7rmCXfhdnavUI54M51D+t5CUWFAKuZg9HCXXoDjpDA4emWaHXVNT6yrd5X+G91r9AwL+log==", + "engines": { + "node": ">=14.18.0" + } + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -2974,9 +2983,9 @@ } }, "node_modules/boxen/node_modules/camelcase": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.0.tgz", - "integrity": "sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", "engines": { "node": ">=14.16" }, @@ -4833,13 +4842,13 @@ } }, "node_modules/eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", - "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", + "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -4858,7 +4867,7 @@ "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.15.0", + "globals": "^13.19.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", @@ -5160,9 +5169,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -5636,12 +5645,12 @@ } }, "node_modules/filesize": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.0.5.tgz", - "integrity": "sha512-qrzyt8gLh86nsyYiC3ibI5KyIYRCWg2yqIklYrWF4a0qNfekik4OQfn7AoPJG2hRrPMSlH6fET4VEITweZAzjA==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.0.6.tgz", + "integrity": "sha512-rzpOZ4C9vMFDqOa6dNpog92CoLYjD79dnjLk2TYDDtImRIyLTOzqojCb05Opd1WuiWjs+fshhCgTd8cl7y5t+g==", "dev": true, "engines": { - "node": ">= 14.0.0" + "node": ">= 10.4.0" } }, "node_modules/fill-range": { @@ -6712,11 +6721,11 @@ } }, "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", "dependencies": { - "get-intrinsic": "^1.1.0", + "get-intrinsic": "^1.1.3", "has": "^1.0.3", "side-channel": "^1.0.4" }, @@ -7405,9 +7414,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", + "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -8794,9 +8803,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", "dev": true }, "node_modules/node-schedule": { @@ -9458,9 +9467,9 @@ } }, "node_modules/p-memoize/node_modules/type-fest": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.3.0.tgz", - "integrity": "sha512-gezeeOIZyQLGW5uuCeEnXF1aXmtt2afKspXz3YqoOcZ3l/YMJq1pujvgT+cz/Nw1O/7q/kSav5fihJHsC/AOUg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.4.0.tgz", + "integrity": "sha512-PEPg6RHlB9cFwoTMNENNrQFL0cXX04voWr2UPwQBJ3pVs7Mt8Y1oLWdUeMdGEwZE8HFFlujq8gS9enmyiQ8pLg==", "engines": { "node": ">=14.16" }, @@ -10319,9 +10328,9 @@ } }, "node_modules/rxjs": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.6.0.tgz", - "integrity": "sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "dependencies": { "tslib": "^2.1.0" } @@ -12232,15 +12241,15 @@ } }, "@aws-sdk/client-lambda": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.229.0.tgz", - "integrity": "sha512-HLC1y6qIACn1iN6u69rbeNCB52SUK1Fe+BryUxxSPk3vH2fZZ51Xa4Eqw7lDVKlBmQR3lpYVG2dwhRm6U9FaIg==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.231.0.tgz", + "integrity": "sha512-BvM1wC5mCb6GKAnk4LDtJXmuB3qg+LX5Ex6uuz2+AeYQS4/SzNfToOiQjcnxcp2jRLJoq67bIO4jJVCh+KzxIw==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.229.0", - "@aws-sdk/config-resolver": "3.226.0", - "@aws-sdk/credential-provider-node": "3.229.0", + "@aws-sdk/client-sts": "3.231.0", + "@aws-sdk/config-resolver": "3.231.0", + "@aws-sdk/credential-provider-node": "3.231.0", "@aws-sdk/fetch-http-handler": "3.226.0", "@aws-sdk/hash-node": "3.226.0", "@aws-sdk/invalid-dependency": "3.226.0", @@ -12264,7 +12273,7 @@ "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", "@aws-sdk/util-defaults-mode-browser": "3.226.0", - "@aws-sdk/util-defaults-mode-node": "3.226.0", + "@aws-sdk/util-defaults-mode-node": "3.231.0", "@aws-sdk/util-endpoints": "3.226.0", "@aws-sdk/util-retry": "3.229.0", "@aws-sdk/util-user-agent-browser": "3.226.0", @@ -12276,13 +12285,13 @@ } }, "@aws-sdk/client-sso": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.229.0.tgz", - "integrity": "sha512-gcPitIBAxwwhkCPKtod02ZjaFD5UCdwFYq31XsCY0OQDV+CFalSd+3gjKyDQOMtfgegLYyOvMQvlIU+geUFRZg==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.231.0.tgz", + "integrity": "sha512-/q7BptaMiT6/wxW9vE/gcQuApMXio5vdTuqt77A6+mjqhNzYFfCn7RRS4BU8KEOpZObnYBKP3mYe3NDccEbMzQ==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.226.0", + "@aws-sdk/config-resolver": "3.231.0", "@aws-sdk/fetch-http-handler": "3.226.0", "@aws-sdk/hash-node": "3.226.0", "@aws-sdk/invalid-dependency": "3.226.0", @@ -12305,7 +12314,7 @@ "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", "@aws-sdk/util-defaults-mode-browser": "3.226.0", - "@aws-sdk/util-defaults-mode-node": "3.226.0", + "@aws-sdk/util-defaults-mode-node": "3.231.0", "@aws-sdk/util-endpoints": "3.226.0", "@aws-sdk/util-retry": "3.229.0", "@aws-sdk/util-user-agent-browser": "3.226.0", @@ -12316,13 +12325,13 @@ } }, "@aws-sdk/client-sso-oidc": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.229.0.tgz", - "integrity": "sha512-sb9eRqnqMWVvdg4k9UTuC08IvRQOwpX2bT3XXoYioHYoy/ChUFPrNazrmuZwj6GFrIWkl0pIPCeqVfScZM3EYw==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.231.0.tgz", + "integrity": "sha512-yqEZW9/Q6VvMDMcQoE52oa/oa6F8z8cqyax7m29VpuVrncYcfELpkZKWPoaJVfierR5ysKfKiAU0acPgMpvllQ==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.226.0", + "@aws-sdk/config-resolver": "3.231.0", "@aws-sdk/fetch-http-handler": "3.226.0", "@aws-sdk/hash-node": "3.226.0", "@aws-sdk/invalid-dependency": "3.226.0", @@ -12345,7 +12354,7 @@ "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", "@aws-sdk/util-defaults-mode-browser": "3.226.0", - "@aws-sdk/util-defaults-mode-node": "3.226.0", + "@aws-sdk/util-defaults-mode-node": "3.231.0", "@aws-sdk/util-endpoints": "3.226.0", "@aws-sdk/util-retry": "3.229.0", "@aws-sdk/util-user-agent-browser": "3.226.0", @@ -12356,14 +12365,14 @@ } }, "@aws-sdk/client-sts": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.229.0.tgz", - "integrity": "sha512-UjGVIzYouEu14YkDy4o+IkVUsx8kLEYNYX5vrymNAT67lNnN/gSyV3h0XgMNzNQHZvtso9c96C6ZGeGW/AVUqQ==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.231.0.tgz", + "integrity": "sha512-5WYqlcbM49ofOFBsu28QBt3t26M5D9XynhSaswSrCzawwdNkIMYQrKOCplF5mqOy+GywVIRrFeCVVrAKPMZJxQ==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.226.0", - "@aws-sdk/credential-provider-node": "3.229.0", + "@aws-sdk/config-resolver": "3.231.0", + "@aws-sdk/credential-provider-node": "3.231.0", "@aws-sdk/fetch-http-handler": "3.226.0", "@aws-sdk/hash-node": "3.226.0", "@aws-sdk/invalid-dependency": "3.226.0", @@ -12388,7 +12397,7 @@ "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", "@aws-sdk/util-defaults-mode-browser": "3.226.0", - "@aws-sdk/util-defaults-mode-node": "3.226.0", + "@aws-sdk/util-defaults-mode-node": "3.231.0", "@aws-sdk/util-endpoints": "3.226.0", "@aws-sdk/util-retry": "3.229.0", "@aws-sdk/util-user-agent-browser": "3.226.0", @@ -12400,9 +12409,9 @@ } }, "@aws-sdk/config-resolver": { - "version": "3.226.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.226.0.tgz", - "integrity": "sha512-0UWXtfnTT0OtnRP8jJodc8V7xAnWSqsh4RCRyV5uu3Z2Tv+xyW91GKxO+gOXoUP0hHu0lvBM9lYiMJcJWZYLYw==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.231.0.tgz", + "integrity": "sha512-qpjV4Fw/NQ4a0p5/qwzqaShflYRlY/SPcgA7N5GTJjIjZjg3NV+5BKJSF3VeZcNKfbXq68kkn207OSCpyheYxQ==", "requires": { "@aws-sdk/signature-v4": "3.226.0", "@aws-sdk/types": "3.226.0", @@ -12434,13 +12443,13 @@ } }, "@aws-sdk/credential-provider-ini": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.229.0.tgz", - "integrity": "sha512-DbzsaUXoBYvImlWaJ+gRL0HPelDFcQylIc+JnciYuSPLE+wwL3IZRdzkyIOBYz68JwMHd8jGJf+PycbkATOqOw==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.231.0.tgz", + "integrity": "sha512-4JJgrJg2O91Vki4m5nSQNZGX/5yAYgzG1IOjeZ+8vCDxfR+jA2O9+/Xhi2/8aDpb1da77OJ+cK1+ezzSMchIfQ==", "requires": { "@aws-sdk/credential-provider-env": "3.226.0", "@aws-sdk/credential-provider-imds": "3.226.0", - "@aws-sdk/credential-provider-sso": "3.229.0", + "@aws-sdk/credential-provider-sso": "3.231.0", "@aws-sdk/credential-provider-web-identity": "3.226.0", "@aws-sdk/property-provider": "3.226.0", "@aws-sdk/shared-ini-file-loader": "3.226.0", @@ -12449,15 +12458,15 @@ } }, "@aws-sdk/credential-provider-node": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.229.0.tgz", - "integrity": "sha512-VIQ+eamKDqJ9ps4McSJGI0Bx57/NQ8WaU5dz1EOeluwM8LTK1i6aQeSzOcy+A66/b+pni1oIjAF7PfSsdEqdpA==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.231.0.tgz", + "integrity": "sha512-DOojjyYdLNeBQv9+PaDXmvvww9SmcZsaL1YCl27e5larcJSMfT41vn4WRnVRu2zBI2BIi464Z8ziRRKwd2YFVg==", "requires": { "@aws-sdk/credential-provider-env": "3.226.0", "@aws-sdk/credential-provider-imds": "3.226.0", - "@aws-sdk/credential-provider-ini": "3.229.0", + "@aws-sdk/credential-provider-ini": "3.231.0", "@aws-sdk/credential-provider-process": "3.226.0", - "@aws-sdk/credential-provider-sso": "3.229.0", + "@aws-sdk/credential-provider-sso": "3.231.0", "@aws-sdk/credential-provider-web-identity": "3.226.0", "@aws-sdk/property-provider": "3.226.0", "@aws-sdk/shared-ini-file-loader": "3.226.0", @@ -12477,14 +12486,14 @@ } }, "@aws-sdk/credential-provider-sso": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.229.0.tgz", - "integrity": "sha512-RI9xjwp2NBJjm2bPOcTK7NwAxqzJxIZPjukVjidC2N3B1Ca5Gn+yUji2iYf7c9KavTROY80j/rieHMb14n7iSw==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.231.0.tgz", + "integrity": "sha512-aImUD+PAqZ7A2C1ef7gskMN3KuxFT4Am1Vrl6M0oLGyrhKG2QtRT/UaXJE+Yt6d/C2qc2OsQ9j2oim7D6Qha/A==", "requires": { - "@aws-sdk/client-sso": "3.229.0", + "@aws-sdk/client-sso": "3.231.0", "@aws-sdk/property-provider": "3.226.0", "@aws-sdk/shared-ini-file-loader": "3.226.0", - "@aws-sdk/token-providers": "3.229.0", + "@aws-sdk/token-providers": "3.231.0", "@aws-sdk/types": "3.226.0", "tslib": "^2.3.1" } @@ -12756,11 +12765,11 @@ } }, "@aws-sdk/token-providers": { - "version": "3.229.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.229.0.tgz", - "integrity": "sha512-LmB40GDKch3LUfTOC6r2fWQoMYrvXoO9eN3TE0eVTWi/p8xCaROcnwb5pWe3mCCrKVygA4XZXSXkUO3DZhJL3w==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.231.0.tgz", + "integrity": "sha512-sxx6X/moSdukyrnoBtLxmgQQLWqixMc/qAM5yNg5lfNoGamWslH6CnT1HlxTFv71q8/1xwnvZ4LC2kbD6vDc6Q==", "requires": { - "@aws-sdk/client-sso-oidc": "3.229.0", + "@aws-sdk/client-sso-oidc": "3.231.0", "@aws-sdk/property-provider": "3.226.0", "@aws-sdk/shared-ini-file-loader": "3.226.0", "@aws-sdk/types": "3.226.0", @@ -12839,11 +12848,11 @@ } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.226.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.226.0.tgz", - "integrity": "sha512-Zr0AEj6g8gqiOhr31Pa2tdOFdPQciaAUCg3Uj/eH0znNBdVoptCj67oCW/I5v4pY4ZLZtGhr3uuoxDJH2MB3yg==", + "version": "3.231.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.231.0.tgz", + "integrity": "sha512-jH+9z96x8Oxv+bqBdD7x8CRvbKzM9id+VHzI9+h1oTY9J+6MkUubPshliBTQeus5pD03NBOS/2F3GX2rJ9Avuw==", "requires": { - "@aws-sdk/config-resolver": "3.226.0", + "@aws-sdk/config-resolver": "3.231.0", "@aws-sdk/credential-provider-imds": "3.226.0", "@aws-sdk/node-config-provider": "3.226.0", "@aws-sdk/property-provider": "3.226.0", @@ -13226,15 +13235,15 @@ } }, "@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", + "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.15.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -13249,9 +13258,9 @@ "dev": true }, "globals": { - "version": "13.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -13568,9 +13577,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -14003,9 +14012,9 @@ "dev": true }, "@types/node": { - "version": "18.11.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.13.tgz", - "integrity": "sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==" + "version": "18.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.16.tgz", + "integrity": "sha512-6T7P5bDkRhqRxrQtwj7vru+bWTpelgtcETAZEUSdq0YISKz8WKdoBukQLYQQ6DFHvU9JRsbFq0JH5C51X2ZdnA==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -14315,6 +14324,11 @@ "is-string": "^1.0.7" } }, + "array-unflat-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/array-unflat-js/-/array-unflat-js-0.1.0.tgz", + "integrity": "sha512-v6Vl80cxzhn8JOh7rmCXfhdnavUI54M51D+t5CUWFAKuZg9HCXXoDjpDA4emWaHXVNT6yrd5X+G91r9AwL+log==" + }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -14500,9 +14514,9 @@ }, "dependencies": { "camelcase": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.0.tgz", - "integrity": "sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==" + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==" } } }, @@ -15929,13 +15943,13 @@ "dev": true }, "eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", - "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", + "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -15954,7 +15968,7 @@ "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.15.0", + "globals": "^13.19.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", @@ -16026,9 +16040,9 @@ } }, "globals": { - "version": "13.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -16518,9 +16532,9 @@ } }, "filesize": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.0.5.tgz", - "integrity": "sha512-qrzyt8gLh86nsyYiC3ibI5KyIYRCWg2yqIklYrWF4a0qNfekik4OQfn7AoPJG2hRrPMSlH6fET4VEITweZAzjA==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.0.6.tgz", + "integrity": "sha512-rzpOZ4C9vMFDqOa6dNpog92CoLYjD79dnjLk2TYDDtImRIyLTOzqojCb05Opd1WuiWjs+fshhCgTd8cl7y5t+g==", "dev": true }, "fill-range": { @@ -17285,11 +17299,11 @@ } }, "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", "requires": { - "get-intrinsic": "^1.1.0", + "get-intrinsic": "^1.1.3", "has": "^1.0.3", "side-channel": "^1.0.4" } @@ -17774,9 +17788,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", + "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", "dev": true }, "jsonfile": { @@ -18833,9 +18847,9 @@ } }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", "dev": true }, "node-schedule": { @@ -19313,9 +19327,9 @@ }, "dependencies": { "type-fest": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.3.0.tgz", - "integrity": "sha512-gezeeOIZyQLGW5uuCeEnXF1aXmtt2afKspXz3YqoOcZ3l/YMJq1pujvgT+cz/Nw1O/7q/kSav5fihJHsC/AOUg==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.4.0.tgz", + "integrity": "sha512-PEPg6RHlB9cFwoTMNENNrQFL0cXX04voWr2UPwQBJ3pVs7Mt8Y1oLWdUeMdGEwZE8HFFlujq8gS9enmyiQ8pLg==" } } }, @@ -19912,9 +19926,9 @@ } }, "rxjs": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.6.0.tgz", - "integrity": "sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "requires": { "tslib": "^2.1.0" } diff --git a/package.json b/package.json index bed0f4fb8..a0d7b0eb3 100644 --- a/package.json +++ b/package.json @@ -82,11 +82,12 @@ ] }, "dependencies": { - "@aws-sdk/client-lambda": "^3.229.0", + "@aws-sdk/client-lambda": "^3.231.0", "@hapi/boom": "^10.0.0", "@hapi/h2o2": "^10.0.0", "@hapi/hapi": "^21.1.0", "@serverless/utils": "^6.8.2", + "array-unflat-js": "^0.1.0", "boxen": "^7.0.0", "chalk": "^5.2.0", "execa": "^6.1.0", @@ -110,7 +111,7 @@ "devDependencies": { "@istanbuljs/esm-loader-hook": "^0.2.0", "archiver": "^5.3.1", - "eslint": "^8.29.0", + "eslint": "^8.30.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-import": "^2.25.4", diff --git a/src/utils/__tests__/unflatten.test.js b/src/utils/__tests__/unflatten.test.js deleted file mode 100644 index c47a0b4ee..000000000 --- a/src/utils/__tests__/unflatten.test.js +++ /dev/null @@ -1,32 +0,0 @@ -import assert from 'node:assert' -import unflatten from '../unflatten.js' - -describe('unflatten', () => { - it('should work with empty array parameter', () => { - const value = [] - const out = unflatten(value, 2) - const expected = [] - - assert.deepEqual(out, expected) - }) - - it('should work with single pair parameter', () => { - const value = ['a', 1] - const out = unflatten(value, 2) - const expected = [['a', 1]] - - assert.deepEqual(out, expected) - }) - - it('should work with multiple pair parameters', () => { - const value = ['a', 1, 'b', 2, 'c', 3] - const out = unflatten(value, 2) - const expected = [ - ['a', 1], - ['b', 2], - ['c', 3], - ] - - assert.deepEqual(out, expected) - }) -}) diff --git a/src/utils/parseHeaders.js b/src/utils/parseHeaders.js index 71fdcbf8a..53ab29f6a 100644 --- a/src/utils/parseHeaders.js +++ b/src/utils/parseHeaders.js @@ -1,4 +1,4 @@ -import unflatten from './unflatten.js' +import unflat from 'array-unflat-js' const { fromEntries } = Object @@ -8,7 +8,7 @@ export default function parseHeaders(rawHeaders) { return null } - const unflattened = unflatten(rawHeaders, 2) + const unflattened = unflat(rawHeaders, 2) return fromEntries(unflattened) } diff --git a/src/utils/parseMultiValueHeaders.js b/src/utils/parseMultiValueHeaders.js index b65bd2b50..fa02fabf2 100644 --- a/src/utils/parseMultiValueHeaders.js +++ b/src/utils/parseMultiValueHeaders.js @@ -1,4 +1,4 @@ -import unflatten from './unflatten.js' +import unflat from 'array-unflat-js' const { fromEntries } = Object @@ -10,7 +10,7 @@ export default function parseMultiValueHeaders(rawHeaders) { } const map = new Map() - const unflattened = unflatten(rawHeaders, 2) + const unflattened = unflat(rawHeaders, 2) // eslint-disable-next-line no-restricted-syntax for (const [key, value] of unflattened) { diff --git a/src/utils/unflatten.js b/src/utils/unflatten.js deleted file mode 100644 index 8cb00e96e..000000000 --- a/src/utils/unflatten.js +++ /dev/null @@ -1,11 +0,0 @@ -// [0, 1, 2, 3, 4 ,5] => [[0, 1], [2, 3], [4, 5]] -export default function unflatten(value, size) { - const unflattened = [] - - for (let i = 0; i < value.length; i += size) { - const slice = value.slice(i, i + size) - unflattened.push(slice) - } - - return unflattened -}