From 553a4296c057cc69f826a9f9fe9b1c72dc3ece53 Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Tue, 23 Jul 2024 21:20:52 +0000 Subject: [PATCH 01/21] chore(release): Set core metadata [skip release] --- packages/core/metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/metadata b/packages/core/metadata index 4cf7ec16198..e6d77c3ff14 100644 --- a/packages/core/metadata +++ b/packages/core/metadata @@ -1 +1 @@ -9cc959ab7 +fcba0bbf5 From 09076c51737db5ef2b2facb4f0769bdc486d51d5 Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Tue, 23 Jul 2024 21:21:08 +0000 Subject: [PATCH 02/21] chore(release): Publish [skip release] - @aws-amplify/adapter-nextjs@1.2.10 - @aws-amplify/analytics@7.0.40 - @aws-amplify/api@6.0.42 - @aws-amplify/api-graphql@4.1.11 - @aws-amplify/api-rest@4.0.40 - @aws-amplify/auth@6.3.11 - aws-amplify@6.4.3 - @aws-amplify/core@6.3.7 - @aws-amplify/datastore@5.0.42 - @aws-amplify/datastore-storage-adapter@2.1.42 - @aws-amplify/geo@3.0.40 - @aws-amplify/interactions@6.0.39 - @aws-amplify/notifications@2.0.40 - @aws-amplify/predictions@6.1.15 - @aws-amplify/pubsub@6.1.15 - @aws-amplify/react-native@1.1.4 - @aws-amplify/rtn-web-browser@1.0.31 - @aws-amplify/storage@6.5.3 - tsc-compliance-test@0.1.45 --- packages/adapter-nextjs/CHANGELOG.md | 4 ++++ packages/adapter-nextjs/package.json | 4 ++-- packages/analytics/CHANGELOG.md | 4 ++++ packages/analytics/package.json | 6 +++--- packages/api-graphql/CHANGELOG.md | 4 ++++ packages/api-graphql/package.json | 6 +++--- packages/api-rest/CHANGELOG.md | 4 ++++ packages/api-rest/package.json | 6 +++--- packages/api/CHANGELOG.md | 4 ++++ packages/api/package.json | 6 +++--- packages/auth/CHANGELOG.md | 4 ++++ packages/auth/package.json | 6 +++--- packages/aws-amplify/CHANGELOG.md | 4 ++++ packages/aws-amplify/package.json | 16 ++++++++-------- packages/core/CHANGELOG.md | 4 ++++ packages/core/package.json | 4 ++-- packages/datastore-storage-adapter/CHANGELOG.md | 4 ++++ packages/datastore-storage-adapter/package.json | 6 +++--- packages/datastore/CHANGELOG.md | 4 ++++ packages/datastore/package.json | 8 ++++---- packages/geo/CHANGELOG.md | 4 ++++ packages/geo/package.json | 4 ++-- packages/interactions/CHANGELOG.md | 4 ++++ packages/interactions/package.json | 4 ++-- packages/notifications/CHANGELOG.md | 4 ++++ packages/notifications/package.json | 6 +++--- packages/predictions/CHANGELOG.md | 4 ++++ packages/predictions/package.json | 6 +++--- packages/pubsub/CHANGELOG.md | 4 ++++ packages/pubsub/package.json | 6 +++--- packages/react-native/CHANGELOG.md | 4 ++++ packages/react-native/package.json | 4 ++-- packages/rtn-web-browser/CHANGELOG.md | 6 ++++++ packages/rtn-web-browser/package.json | 2 +- packages/storage/CHANGELOG.md | 6 ++++++ packages/storage/package.json | 6 +++--- scripts/tsc-compliance-test/CHANGELOG.md | 4 ++++ scripts/tsc-compliance-test/package.json | 4 ++-- 38 files changed, 135 insertions(+), 55 deletions(-) diff --git a/packages/adapter-nextjs/CHANGELOG.md b/packages/adapter-nextjs/CHANGELOG.md index 58ce6bccd33..3ada3fc8b25 100644 --- a/packages/adapter-nextjs/CHANGELOG.md +++ b/packages/adapter-nextjs/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.10](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/adapter-nextjs@1.2.9...@aws-amplify/adapter-nextjs@1.2.10) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/adapter-nextjs + ## [1.2.9](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/adapter-nextjs@1.2.8...@aws-amplify/adapter-nextjs@1.2.9) (2024-07-22) ### Bug Fixes diff --git a/packages/adapter-nextjs/package.json b/packages/adapter-nextjs/package.json index f2d766c315c..787f24cc0e3 100644 --- a/packages/adapter-nextjs/package.json +++ b/packages/adapter-nextjs/package.json @@ -1,7 +1,7 @@ { "author": "Amazon Web Services", "name": "@aws-amplify/adapter-nextjs", - "version": "1.2.9", + "version": "1.2.10", "description": "The adapter for the supporting of using Amplify APIs in Next.js.", "peerDependencies": { "aws-amplify": "^6.0.7", @@ -16,7 +16,7 @@ "@types/node": "^20.3.1", "@types/react": "^18.2.13", "@types/react-dom": "^18.2.6", - "aws-amplify": "6.4.2", + "aws-amplify": "6.4.3", "jest-fetch-mock": "3.0.3", "next": ">= 13.5.0 < 15.0.0", "typescript": "5.0.2" diff --git a/packages/analytics/CHANGELOG.md b/packages/analytics/CHANGELOG.md index 293686fa174..4261e2e6837 100644 --- a/packages/analytics/CHANGELOG.md +++ b/packages/analytics/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/analytics@7.0.39...@aws-amplify/analytics@7.0.40) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/analytics + ## [7.0.39](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/analytics@7.0.38...@aws-amplify/analytics@7.0.39) (2024-07-22) **Note:** Version bump only for package @aws-amplify/analytics diff --git a/packages/analytics/package.json b/packages/analytics/package.json index 6351ca9f0e7..2542240ad3c 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/analytics", - "version": "7.0.39", + "version": "7.0.40", "description": "Analytics category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -103,8 +103,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", - "@aws-amplify/react-native": "1.1.3", + "@aws-amplify/core": "6.3.7", + "@aws-amplify/react-native": "1.1.4", "@aws-sdk/types": "3.398.0", "typescript": "5.0.2" } diff --git a/packages/api-graphql/CHANGELOG.md b/packages/api-graphql/CHANGELOG.md index dcfd3456943..746e34a156d 100644 --- a/packages/api-graphql/CHANGELOG.md +++ b/packages/api-graphql/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.11](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-graphql@4.1.10...@aws-amplify/api-graphql@4.1.11) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/api-graphql + ## [4.1.10](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-graphql@4.1.9...@aws-amplify/api-graphql@4.1.10) (2024-07-22) **Note:** Version bump only for package @aws-amplify/api-graphql diff --git a/packages/api-graphql/package.json b/packages/api-graphql/package.json index 307c3093b4f..9913ffa492f 100644 --- a/packages/api-graphql/package.json +++ b/packages/api-graphql/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/api-graphql", - "version": "4.1.10", + "version": "4.1.11", "description": "Api-graphql category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -84,8 +84,8 @@ "server" ], "dependencies": { - "@aws-amplify/api-rest": "4.0.39", - "@aws-amplify/core": "6.3.6", + "@aws-amplify/api-rest": "4.0.40", + "@aws-amplify/core": "6.3.7", "@aws-amplify/data-schema": "^1.0.0", "@aws-sdk/types": "3.387.0", "graphql": "15.8.0", diff --git a/packages/api-rest/CHANGELOG.md b/packages/api-rest/CHANGELOG.md index 8873167e75a..91eddc4f418 100644 --- a/packages/api-rest/CHANGELOG.md +++ b/packages/api-rest/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-rest@4.0.39...@aws-amplify/api-rest@4.0.40) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/api-rest + ## [4.0.39](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-rest@4.0.38...@aws-amplify/api-rest@4.0.39) (2024-07-22) **Note:** Version bump only for package @aws-amplify/api-rest diff --git a/packages/api-rest/package.json b/packages/api-rest/package.json index 88d67aaa802..79599a96375 100644 --- a/packages/api-rest/package.json +++ b/packages/api-rest/package.json @@ -1,7 +1,7 @@ { "name": "@aws-amplify/api-rest", "private": false, - "version": "4.0.39", + "version": "4.0.40", "description": "Api-rest category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -87,8 +87,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", - "@aws-amplify/react-native": "1.1.3", + "@aws-amplify/core": "6.3.7", + "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index 40aeb2cb569..af6ce899a92 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.0.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api@6.0.41...@aws-amplify/api@6.0.42) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/api + ## [6.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api@6.0.40...@aws-amplify/api@6.0.41) (2024-07-22) **Note:** Version bump only for package @aws-amplify/api diff --git a/packages/api/package.json b/packages/api/package.json index 3107b57888e..fec5a1ceca6 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/api", - "version": "6.0.41", + "version": "6.0.42", "description": "Api category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -79,8 +79,8 @@ "server" ], "dependencies": { - "@aws-amplify/api-graphql": "4.1.10", - "@aws-amplify/api-rest": "4.0.39", + "@aws-amplify/api-graphql": "4.1.11", + "@aws-amplify/api-rest": "4.0.40", "tslib": "^2.5.0" } } diff --git a/packages/auth/CHANGELOG.md b/packages/auth/CHANGELOG.md index b2d58010cd1..f33ae7320da 100644 --- a/packages/auth/CHANGELOG.md +++ b/packages/auth/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.11](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/auth@6.3.10...@aws-amplify/auth@6.3.11) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/auth + ## [6.3.10](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/auth@6.3.9...@aws-amplify/auth@6.3.10) (2024-07-22) **Note:** Version bump only for package @aws-amplify/auth diff --git a/packages/auth/package.json b/packages/auth/package.json index fa4e334b909..7bde2f2faf7 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/auth", - "version": "6.3.10", + "version": "6.3.11", "description": "Auth category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -97,8 +97,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", - "@aws-amplify/react-native": "1.1.3", + "@aws-amplify/core": "6.3.7", + "@aws-amplify/react-native": "1.1.4", "@jest/test-sequencer": "^29.7.0", "typescript": "5.0.2" } diff --git a/packages/aws-amplify/CHANGELOG.md b/packages/aws-amplify/CHANGELOG.md index 5c15942ac0c..6f30f6afab8 100644 --- a/packages/aws-amplify/CHANGELOG.md +++ b/packages/aws-amplify/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.4.3](https://github.com/aws-amplify/amplify-js/compare/aws-amplify@6.4.2...aws-amplify@6.4.3) (2024-07-23) + +**Note:** Version bump only for package aws-amplify + ## [6.4.2](https://github.com/aws-amplify/amplify-js/compare/aws-amplify@6.4.1...aws-amplify@6.4.2) (2024-07-22) ### Bug Fixes diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index b35b2ba395f..abb62b54ae5 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -1,6 +1,6 @@ { "name": "aws-amplify", - "version": "6.4.2", + "version": "6.4.3", "description": "AWS Amplify is a JavaScript library for Frontend and mobile developers building cloud-enabled applications.", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -276,13 +276,13 @@ "utils" ], "dependencies": { - "@aws-amplify/analytics": "7.0.39", - "@aws-amplify/api": "6.0.41", - "@aws-amplify/auth": "6.3.10", - "@aws-amplify/core": "6.3.6", - "@aws-amplify/datastore": "5.0.41", - "@aws-amplify/notifications": "2.0.39", - "@aws-amplify/storage": "6.5.2", + "@aws-amplify/analytics": "7.0.40", + "@aws-amplify/api": "6.0.42", + "@aws-amplify/auth": "6.3.11", + "@aws-amplify/core": "6.3.7", + "@aws-amplify/datastore": "5.0.42", + "@aws-amplify/notifications": "2.0.40", + "@aws-amplify/storage": "6.5.3", "tslib": "^2.5.0" }, "devDependencies": { diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index ad7d42f391a..305d141e3e8 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.7](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/core@6.3.6...@aws-amplify/core@6.3.7) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/core + ## [6.3.6](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/core@6.3.5...@aws-amplify/core@6.3.6) (2024-07-22) ### Bug Fixes diff --git a/packages/core/package.json b/packages/core/package.json index d1b24967125..f7d9264a4b1 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/core", - "version": "6.3.6", + "version": "6.3.7", "description": "Core category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -60,7 +60,7 @@ "uuid": "^9.0.0" }, "devDependencies": { - "@aws-amplify/react-native": "1.1.3", + "@aws-amplify/react-native": "1.1.4", "@types/js-cookie": "3.0.2", "genversion": "^2.2.0", "typescript": "5.0.2" diff --git a/packages/datastore-storage-adapter/CHANGELOG.md b/packages/datastore-storage-adapter/CHANGELOG.md index a1f3652e796..327eececb34 100644 --- a/packages/datastore-storage-adapter/CHANGELOG.md +++ b/packages/datastore-storage-adapter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore-storage-adapter@2.1.41...@aws-amplify/datastore-storage-adapter@2.1.42) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/datastore-storage-adapter + ## [2.1.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore-storage-adapter@2.1.40...@aws-amplify/datastore-storage-adapter@2.1.41) (2024-07-22) **Note:** Version bump only for package @aws-amplify/datastore-storage-adapter diff --git a/packages/datastore-storage-adapter/package.json b/packages/datastore-storage-adapter/package.json index 3c39e88786a..b1a3931f01f 100644 --- a/packages/datastore-storage-adapter/package.json +++ b/packages/datastore-storage-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/datastore-storage-adapter", - "version": "2.1.41", + "version": "2.1.42", "description": "SQLite storage adapter for Amplify DataStore ", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -36,8 +36,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", - "@aws-amplify/datastore": "5.0.41", + "@aws-amplify/core": "6.3.7", + "@aws-amplify/datastore": "5.0.42", "@types/react-native-sqlite-storage": "5.0.1", "expo-file-system": "13.1.4", "expo-sqlite": "10.1.0", diff --git a/packages/datastore/CHANGELOG.md b/packages/datastore/CHANGELOG.md index f14b689bb95..b5937ab83b9 100644 --- a/packages/datastore/CHANGELOG.md +++ b/packages/datastore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore@5.0.41...@aws-amplify/datastore@5.0.42) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/datastore + ## [5.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore@5.0.40...@aws-amplify/datastore@5.0.41) (2024-07-22) **Note:** Version bump only for package @aws-amplify/datastore diff --git a/packages/datastore/package.json b/packages/datastore/package.json index 6093d098e59..ba6a2e52370 100644 --- a/packages/datastore/package.json +++ b/packages/datastore/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/datastore", - "version": "5.0.41", + "version": "5.0.42", "description": "AppSyncLocal support for aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -44,7 +44,7 @@ "src" ], "dependencies": { - "@aws-amplify/api": "6.0.41", + "@aws-amplify/api": "6.0.42", "buffer": "4.9.2", "idb": "5.0.6", "immer": "9.0.6", @@ -55,8 +55,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", - "@aws-amplify/react-native": "1.1.3", + "@aws-amplify/core": "6.3.7", + "@aws-amplify/react-native": "1.1.4", "@types/uuid-validate": "^0.0.1", "dexie": "3.2.2", "dexie-export-import": "1.0.3", diff --git a/packages/geo/CHANGELOG.md b/packages/geo/CHANGELOG.md index b79751b8c4a..5a6d863da07 100644 --- a/packages/geo/CHANGELOG.md +++ b/packages/geo/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/geo@3.0.39...@aws-amplify/geo@3.0.40) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/geo + ## [3.0.39](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/geo@3.0.38...@aws-amplify/geo@3.0.39) (2024-07-22) **Note:** Version bump only for package @aws-amplify/geo diff --git a/packages/geo/package.json b/packages/geo/package.json index b7530dff488..132a8b2a377 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/geo", - "version": "3.0.39", + "version": "3.0.40", "description": "Geo category for aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -76,7 +76,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", + "@aws-amplify/core": "6.3.7", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/interactions/CHANGELOG.md b/packages/interactions/CHANGELOG.md index 0d88f5df5de..806ca539c68 100644 --- a/packages/interactions/CHANGELOG.md +++ b/packages/interactions/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.0.39](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/interactions@6.0.38...@aws-amplify/interactions@6.0.39) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/interactions + ## [6.0.38](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/interactions@6.0.37...@aws-amplify/interactions@6.0.38) (2024-07-22) **Note:** Version bump only for package @aws-amplify/interactions diff --git a/packages/interactions/package.json b/packages/interactions/package.json index 5b5bce289e6..0677b8ef889 100644 --- a/packages/interactions/package.json +++ b/packages/interactions/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/interactions", - "version": "6.0.38", + "version": "6.0.39", "description": "Interactions category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -81,7 +81,7 @@ "uuid": "^9.0.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", + "@aws-amplify/core": "6.3.7", "typescript": "^5.0.2" }, "size-limit": [ diff --git a/packages/notifications/CHANGELOG.md b/packages/notifications/CHANGELOG.md index f9b74a510ea..2c13232dfdc 100644 --- a/packages/notifications/CHANGELOG.md +++ b/packages/notifications/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/notifications@2.0.39...@aws-amplify/notifications@2.0.40) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/notifications + ## [2.0.39](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/notifications@2.0.38...@aws-amplify/notifications@2.0.39) (2024-07-22) **Note:** Version bump only for package @aws-amplify/notifications diff --git a/packages/notifications/package.json b/packages/notifications/package.json index b8ee3250861..672954a7678 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/notifications", - "version": "2.0.39", + "version": "2.0.40", "description": "Notifications category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -98,8 +98,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", - "@aws-amplify/react-native": "1.1.3", + "@aws-amplify/core": "6.3.7", + "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" } } diff --git a/packages/predictions/CHANGELOG.md b/packages/predictions/CHANGELOG.md index f07c37a7dba..65e1e888e8b 100644 --- a/packages/predictions/CHANGELOG.md +++ b/packages/predictions/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.15](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/predictions@6.1.14...@aws-amplify/predictions@6.1.15) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/predictions + ## [6.1.14](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/predictions@6.1.13...@aws-amplify/predictions@6.1.14) (2024-07-22) **Note:** Version bump only for package @aws-amplify/predictions diff --git a/packages/predictions/package.json b/packages/predictions/package.json index d351f3454eb..70b66c7c560 100644 --- a/packages/predictions/package.json +++ b/packages/predictions/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/predictions", - "version": "6.1.14", + "version": "6.1.15", "description": "Machine learning category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -43,7 +43,7 @@ "src" ], "dependencies": { - "@aws-amplify/storage": "6.5.2", + "@aws-amplify/storage": "6.5.3", "@aws-sdk/client-comprehend": "3.398.0", "@aws-sdk/client-polly": "3.398.0", "@aws-sdk/client-rekognition": "3.398.0", @@ -59,7 +59,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", + "@aws-amplify/core": "6.3.7", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/pubsub/CHANGELOG.md b/packages/pubsub/CHANGELOG.md index beb8fb2db6b..355738e4b50 100644 --- a/packages/pubsub/CHANGELOG.md +++ b/packages/pubsub/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.15](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/pubsub@6.1.14...@aws-amplify/pubsub@6.1.15) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/pubsub + ## [6.1.14](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/pubsub@6.1.13...@aws-amplify/pubsub@6.1.14) (2024-07-22) **Note:** Version bump only for package @aws-amplify/pubsub diff --git a/packages/pubsub/package.json b/packages/pubsub/package.json index 35cce70a9d9..c1ad7b31d6c 100644 --- a/packages/pubsub/package.json +++ b/packages/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/pubsub", - "version": "6.1.14", + "version": "6.1.15", "description": "Pubsub category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -73,7 +73,7 @@ "mqtt" ], "dependencies": { - "@aws-amplify/auth": "6.3.10", + "@aws-amplify/auth": "6.3.11", "buffer": "4.9.2", "graphql": "15.8.0", "rxjs": "^7.8.1", @@ -84,7 +84,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", + "@aws-amplify/core": "6.3.7", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/react-native/CHANGELOG.md b/packages/react-native/CHANGELOG.md index 624557c93b6..9798ff01dbc 100644 --- a/packages/react-native/CHANGELOG.md +++ b/packages/react-native/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.4](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/react-native@1.1.3...@aws-amplify/react-native@1.1.4) (2024-07-23) + +**Note:** Version bump only for package @aws-amplify/react-native + ## [1.1.3](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/react-native@1.1.2...@aws-amplify/react-native@1.1.3) (2024-07-19) **Note:** Version bump only for package @aws-amplify/react-native diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 6331a9c5ceb..b347135b43a 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/react-native", - "version": "1.1.3", + "version": "1.1.4", "description": "React Native core module for aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -34,7 +34,7 @@ }, "devDependencies": { "@aws-amplify/rtn-push-notification": "1.2.31", - "@aws-amplify/rtn-web-browser": "1.0.30", + "@aws-amplify/rtn-web-browser": "1.0.31", "@react-native-async-storage/async-storage": "^1.17.12", "@react-native-community/netinfo": "4.7.0", "@types/base-64": "1.0.0", diff --git a/packages/rtn-web-browser/CHANGELOG.md b/packages/rtn-web-browser/CHANGELOG.md index db0d5626420..22f6623f5a2 100644 --- a/packages/rtn-web-browser/CHANGELOG.md +++ b/packages/rtn-web-browser/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.31](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/rtn-web-browser@1.0.30...@aws-amplify/rtn-web-browser@1.0.31) (2024-07-23) + +### Bug Fixes + +- **rtn-web-browser:** signInWithRedirect needs to be called twice on Android ([b473ce3](https://github.com/aws-amplify/amplify-js/commit/b473ce34bac46c4bec6226e4a62f078dbd75fb94)) + ## [1.0.30](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/rtn-web-browser@1.0.29...@aws-amplify/rtn-web-browser@1.0.30) (2024-05-13) **Note:** Version bump only for package @aws-amplify/rtn-web-browser diff --git a/packages/rtn-web-browser/package.json b/packages/rtn-web-browser/package.json index 708ebfa5b2c..e1b0366cef3 100644 --- a/packages/rtn-web-browser/package.json +++ b/packages/rtn-web-browser/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/rtn-web-browser", - "version": "1.0.30", + "version": "1.0.31", "description": "React Native module for aws-amplify web browser", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", diff --git a/packages/storage/CHANGELOG.md b/packages/storage/CHANGELOG.md index 56a9a91b410..864ba6b2c0a 100644 --- a/packages/storage/CHANGELOG.md +++ b/packages/storage/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.5.3](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/storage@6.5.2...@aws-amplify/storage@6.5.3) (2024-07-23) + +### Bug Fixes + +- **storage:** omit subPathStrategy when prefix is defined ([#13618](https://github.com/aws-amplify/amplify-js/issues/13618)) ([3d70792](https://github.com/aws-amplify/amplify-js/commit/3d70792afc120ac38aed145b1c87797890262184)), closes [#13606](https://github.com/aws-amplify/amplify-js/issues/13606) + ## [6.5.2](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/storage@6.5.1...@aws-amplify/storage@6.5.2) (2024-07-22) **Note:** Version bump only for package @aws-amplify/storage diff --git a/packages/storage/package.json b/packages/storage/package.json index 60abd9695d1..66843d224ab 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/storage", - "version": "6.5.2", + "version": "6.5.3", "description": "Storage category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -101,8 +101,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.6", - "@aws-amplify/react-native": "1.1.3", + "@aws-amplify/core": "6.3.7", + "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" } } diff --git a/scripts/tsc-compliance-test/CHANGELOG.md b/scripts/tsc-compliance-test/CHANGELOG.md index 3e530880950..01636d4cdcc 100644 --- a/scripts/tsc-compliance-test/CHANGELOG.md +++ b/scripts/tsc-compliance-test/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.45](https://github.com/aws-amplify/amplify-js/compare/tsc-compliance-test@0.1.44...tsc-compliance-test@0.1.45) (2024-07-23) + +**Note:** Version bump only for package tsc-compliance-test + ## [0.1.44](https://github.com/aws-amplify/amplify-js/compare/tsc-compliance-test@0.1.43...tsc-compliance-test@0.1.44) (2024-07-22) **Note:** Version bump only for package tsc-compliance-test diff --git a/scripts/tsc-compliance-test/package.json b/scripts/tsc-compliance-test/package.json index facbc10fb85..bb7d57188b6 100644 --- a/scripts/tsc-compliance-test/package.json +++ b/scripts/tsc-compliance-test/package.json @@ -1,11 +1,11 @@ { "name": "tsc-compliance-test", - "version": "0.1.44", + "version": "0.1.45", "license": "MIT", "private": true, "devDependencies": { "@types/node": "16.18.82", - "aws-amplify": "6.4.2", + "aws-amplify": "6.4.3", "typescript": "4.2.x" }, "scripts": { From 95d7d6db1106f8f68358bbd3b37c3ea9b300a718 Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Tue, 23 Jul 2024 21:22:32 +0000 Subject: [PATCH 03/21] chore(release): Update API docs [skip release] --- docs/api/modules/_aws_amplify_adapter_nextjs.html | 4 ++-- docs/api/modules/_aws_amplify_datastore_storage_adapter.html | 4 ++-- docs/api/modules/_aws_amplify_geo.html | 4 ++-- docs/api/modules/_aws_amplify_interactions.html | 4 ++-- docs/api/modules/_aws_amplify_predictions.html | 4 ++-- docs/api/modules/_aws_amplify_pubsub.html | 4 ++-- docs/api/modules/aws_amplify.html | 4 ++-- docs/api/types/aws_amplify.storage.ListAllOutput.html | 2 +- docs/api/types/aws_amplify.storage.ListPaginateOutput.html | 2 +- ...lify.storage._Reference_Types_.ListAllOptionsWithPath.html | 4 ++-- ...storage._Reference_Types_.ListPaginateOptionsWithPath.html | 4 ++-- ...plify.storage._Reference_Types_.StorageListAllOptions.html | 2 +- ....storage._Reference_Types_.StorageListPaginateOptions.html | 2 +- 13 files changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/api/modules/_aws_amplify_adapter_nextjs.html b/docs/api/modules/_aws_amplify_adapter_nextjs.html index 547df150258..becd43e5da1 100644 --- a/docs/api/modules/_aws_amplify_adapter_nextjs.html +++ b/docs/api/modules/_aws_amplify_adapter_nextjs.html @@ -1,5 +1,5 @@ -@aws-amplify/adapter-nextjs - v1.2.9 | Amplify JS API Documentation -

Module @aws-amplify/adapter-nextjs - v1.2.9

This package contains the AWS Amplify Next.js Adapter. For more information on using Next.js in your application please reference the Amplify Dev Center.

+@aws-amplify/adapter-nextjs - v1.2.10 | Amplify JS API Documentation +

Module @aws-amplify/adapter-nextjs - v1.2.10

This package contains the AWS Amplify Next.js Adapter. For more information on using Next.js in your application please reference the Amplify Dev Center.

Index

Modules

api index utils diff --git a/docs/api/modules/_aws_amplify_datastore_storage_adapter.html b/docs/api/modules/_aws_amplify_datastore_storage_adapter.html index f9017784f2f..4f5023d2009 100644 --- a/docs/api/modules/_aws_amplify_datastore_storage_adapter.html +++ b/docs/api/modules/_aws_amplify_datastore_storage_adapter.html @@ -1,5 +1,5 @@ -@aws-amplify/datastore-storage-adapter - v2.1.41 | Amplify JS API Documentation -

Module @aws-amplify/datastore-storage-adapter - v2.1.41

This package contains the AWS Amplify DataStore storage adapter. For more information on using the DataStore storage adapter in your application please reference the Amplify Dev Center.

+@aws-amplify/datastore-storage-adapter - v2.1.42 | Amplify JS API Documentation +

Module @aws-amplify/datastore-storage-adapter - v2.1.42

This package contains the AWS Amplify DataStore storage adapter. For more information on using the DataStore storage adapter in your application please reference the Amplify Dev Center.

Index

Modules

ExpoSQLiteAdapter/ExpoSQLiteAdapter SQLiteAdapter/SQLiteAdapter index diff --git a/docs/api/modules/_aws_amplify_geo.html b/docs/api/modules/_aws_amplify_geo.html index 2b36dc73f9c..c34171cf479 100644 --- a/docs/api/modules/_aws_amplify_geo.html +++ b/docs/api/modules/_aws_amplify_geo.html @@ -1,5 +1,5 @@ -@aws-amplify/geo - v3.0.39 | Amplify JS API Documentation -

Module @aws-amplify/geo - v3.0.39

This package contains the AWS Amplify Geo category. For more information on using Geo in your application please reference the Amplify Dev Center.

+@aws-amplify/geo - v3.0.40 | Amplify JS API Documentation +

Module @aws-amplify/geo - v3.0.40

This package contains the AWS Amplify Geo category. For more information on using Geo in your application please reference the Amplify Dev Center.

Index

Modules

\ No newline at end of file diff --git a/docs/api/modules/_aws_amplify_interactions.html b/docs/api/modules/_aws_amplify_interactions.html index 24fd3dc7bc7..655c81430a2 100644 --- a/docs/api/modules/_aws_amplify_interactions.html +++ b/docs/api/modules/_aws_amplify_interactions.html @@ -1,5 +1,5 @@ -@aws-amplify/interactions - v6.0.38 | Amplify JS API Documentation -

Module @aws-amplify/interactions - v6.0.38

This package contains the AWS Amplify Interactions category. For more information on using Interactions in your application please reference the Amplify Dev Center.

+@aws-amplify/interactions - v6.0.39 | Amplify JS API Documentation +

Module @aws-amplify/interactions - v6.0.39

This package contains the AWS Amplify Interactions category. For more information on using Interactions in your application please reference the Amplify Dev Center.

Index

Modules

index lex-v1 lex-v2 diff --git a/docs/api/modules/_aws_amplify_predictions.html b/docs/api/modules/_aws_amplify_predictions.html index 88397ef26bc..b951ef1a3f6 100644 --- a/docs/api/modules/_aws_amplify_predictions.html +++ b/docs/api/modules/_aws_amplify_predictions.html @@ -1,5 +1,5 @@ -@aws-amplify/predictions - v6.1.14 | Amplify JS API Documentation -

Module @aws-amplify/predictions - v6.1.14

This package contains the AWS Amplify Predictions category. For more information on using Predictions in your application please reference the Amplify Dev Center.

+@aws-amplify/predictions - v6.1.15 | Amplify JS API Documentation +

Module @aws-amplify/predictions - v6.1.15

This package contains the AWS Amplify Predictions category. For more information on using Predictions in your application please reference the Amplify Dev Center.

Index

Modules

Interfaces

IdentifyEntitiesInput IdentifyEntitiesOutput diff --git a/docs/api/modules/_aws_amplify_pubsub.html b/docs/api/modules/_aws_amplify_pubsub.html index e430ebfe68b..74efc8153d6 100644 --- a/docs/api/modules/_aws_amplify_pubsub.html +++ b/docs/api/modules/_aws_amplify_pubsub.html @@ -1,5 +1,5 @@ -@aws-amplify/pubsub - v6.1.14 | Amplify JS API Documentation -

Module @aws-amplify/pubsub - v6.1.14

This package contains the AWS Amplify PubSub category. For more information on using PubSub in your application please reference the Amplify Dev Center.

+@aws-amplify/pubsub - v6.1.15 | Amplify JS API Documentation +

Module @aws-amplify/pubsub - v6.1.15

This package contains the AWS Amplify PubSub category. For more information on using PubSub in your application please reference the Amplify Dev Center.

Index

Modules

clients/iot clients/mqtt index diff --git a/docs/api/modules/aws_amplify.html b/docs/api/modules/aws_amplify.html index 49530d4157e..bf8e88a8ade 100644 --- a/docs/api/modules/aws_amplify.html +++ b/docs/api/modules/aws_amplify.html @@ -1,5 +1,5 @@ -aws-amplify - v6.4.2 | Amplify JS API Documentation -

Module aws-amplify - v6.4.2

AWS Amplify Package - aws-amplify

AWS Amplify is a JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends.

+aws-amplify - v6.4.3 | Amplify JS API Documentation +

Module aws-amplify - v6.4.3

AWS Amplify Package - aws-amplify

AWS Amplify is a JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends.

Documentation is available here.

Index

Modules

adapter-core analytics diff --git a/docs/api/types/aws_amplify.storage.ListAllOutput.html b/docs/api/types/aws_amplify.storage.ListAllOutput.html index c7152c5a77f..f4e85a4f95e 100644 --- a/docs/api/types/aws_amplify.storage.ListAllOutput.html +++ b/docs/api/types/aws_amplify.storage.ListAllOutput.html @@ -1,4 +1,4 @@ ListAllOutput | Amplify JS API Documentation -

Deprecated

Use ListAllWithPathOutput instead. +

ListAllOutput: Omit<StorageListOutput<ListOutputItem>, "excludedSubpaths">

Deprecated

Use ListAllWithPathOutput instead. Output type for S3 list API. Lists all bucket objects.

\ No newline at end of file diff --git a/docs/api/types/aws_amplify.storage.ListPaginateOutput.html b/docs/api/types/aws_amplify.storage.ListPaginateOutput.html index 8f72b066248..bc119cd10db 100644 --- a/docs/api/types/aws_amplify.storage.ListPaginateOutput.html +++ b/docs/api/types/aws_amplify.storage.ListPaginateOutput.html @@ -1,4 +1,4 @@ ListPaginateOutput | Amplify JS API Documentation -
ListPaginateOutput: StorageListOutput<ListOutputItem> & {
    nextToken?: string;
}

Type declaration

  • Optional nextToken?: string

Deprecated

Use ListPaginateWithPathOutput instead. +

ListPaginateOutput: Omit<StorageListOutput<ListOutputItem>, "excludedSubpaths"> & {
    nextToken?: string;
}

Type declaration

  • Optional nextToken?: string

Deprecated

Use ListPaginateWithPathOutput instead. Output type for S3 list API. Lists bucket objects with pagination.

\ No newline at end of file diff --git a/docs/api/types/aws_amplify.storage._Reference_Types_.ListAllOptionsWithPath.html b/docs/api/types/aws_amplify.storage._Reference_Types_.ListAllOptionsWithPath.html index 2e1d38a86d2..2f46046f9b4 100644 --- a/docs/api/types/aws_amplify.storage._Reference_Types_.ListAllOptionsWithPath.html +++ b/docs/api/types/aws_amplify.storage._Reference_Types_.ListAllOptionsWithPath.html @@ -1,3 +1,3 @@ ListAllOptionsWithPath | Amplify JS API Documentation -
ListAllOptionsWithPath: Omit<StorageListAllOptions, "accessLevel"> & CommonOptions

Input options type with path for S3 list all API.

-
\ No newline at end of file +
ListAllOptionsWithPath: Omit<StorageListAllOptions, "accessLevel"> & CommonOptions & {
    subpathStrategy?: StorageSubpathStrategy;
}

Input options type with path for S3 list all API.

+

Type declaration

\ No newline at end of file diff --git a/docs/api/types/aws_amplify.storage._Reference_Types_.ListPaginateOptionsWithPath.html b/docs/api/types/aws_amplify.storage._Reference_Types_.ListPaginateOptionsWithPath.html index d2267cb07f2..988bf4b55ae 100644 --- a/docs/api/types/aws_amplify.storage._Reference_Types_.ListPaginateOptionsWithPath.html +++ b/docs/api/types/aws_amplify.storage._Reference_Types_.ListPaginateOptionsWithPath.html @@ -1,3 +1,3 @@ ListPaginateOptionsWithPath | Amplify JS API Documentation -
ListPaginateOptionsWithPath: Omit<StorageListPaginateOptions, "accessLevel"> & CommonOptions

Input options type with path for S3 list API to paginate items.

-
\ No newline at end of file +
ListPaginateOptionsWithPath: Omit<StorageListPaginateOptions, "accessLevel"> & CommonOptions & {
    subpathStrategy?: StorageSubpathStrategy;
}

Input options type with path for S3 list API to paginate items.

+

Type declaration

\ No newline at end of file diff --git a/docs/api/types/aws_amplify.storage._Reference_Types_.StorageListAllOptions.html b/docs/api/types/aws_amplify.storage._Reference_Types_.StorageListAllOptions.html index bb26bd5dd8e..d859b82a88e 100644 --- a/docs/api/types/aws_amplify.storage._Reference_Types_.StorageListAllOptions.html +++ b/docs/api/types/aws_amplify.storage._Reference_Types_.StorageListAllOptions.html @@ -1,2 +1,2 @@ StorageListAllOptions | Amplify JS API Documentation -
StorageListAllOptions: StorageOptions & {
    listAll: true;
    subpathStrategy?: StorageSubpathStrategy;
}

Type declaration

\ No newline at end of file +
StorageListAllOptions: StorageOptions & {
    listAll: true;
}

Type declaration

  • listAll: true
\ No newline at end of file diff --git a/docs/api/types/aws_amplify.storage._Reference_Types_.StorageListPaginateOptions.html b/docs/api/types/aws_amplify.storage._Reference_Types_.StorageListPaginateOptions.html index 85983ff5b83..83f6622065b 100644 --- a/docs/api/types/aws_amplify.storage._Reference_Types_.StorageListPaginateOptions.html +++ b/docs/api/types/aws_amplify.storage._Reference_Types_.StorageListPaginateOptions.html @@ -1,2 +1,2 @@ StorageListPaginateOptions | Amplify JS API Documentation -
StorageListPaginateOptions: StorageOptions & {
    listAll?: false;
    nextToken?: string;
    pageSize?: number;
    subpathStrategy?: StorageSubpathStrategy;
}

Type declaration

  • Optional listAll?: false
  • Optional nextToken?: string
  • Optional pageSize?: number
  • Optional subpathStrategy?: StorageSubpathStrategy
\ No newline at end of file +
StorageListPaginateOptions: StorageOptions & {
    listAll?: false;
    nextToken?: string;
    pageSize?: number;
}

Type declaration

  • Optional listAll?: false
  • Optional nextToken?: string
  • Optional pageSize?: number
\ No newline at end of file From 23abc619face1aac9c7b3ba1bcad4772a788c744 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 17:19:02 -0400 Subject: [PATCH 04/21] chore(deps): bump fast-xml-parser from 4.3.4 to 4.4.1 (#13654) Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.3.4 to 4.4.1. - [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases) - [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md) - [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.3.4...v4.4.1) --- updated-dependencies: - dependency-name: fast-xml-parser dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index e0bec61e208..ed081347c1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7930,9 +7930,9 @@ fast-xml-parser@4.2.5: strnum "^1.0.5" fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4, fast-xml-parser@^4.2.5: - version "4.3.4" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz#385cc256ad7bbc57b91515a38a22502a9e1fca0d" - integrity sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA== + version "4.4.1" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz#86dbf3f18edf8739326447bcaac31b4ae7f6514f" + integrity sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw== dependencies: strnum "^1.0.5" From 6daf0d381dd05f0d4ddb22c69580c053d94c7491 Mon Sep 17 00:00:00 2001 From: israx <70438514+israx@users.noreply.github.com> Date: Tue, 30 Jul 2024 13:55:40 -0400 Subject: [PATCH 05/21] chore(deps): add fast-xml-parser resolution (#13661) chore: add fast-xml-parser resolution --- package.json | 3 ++- yarn.lock | 40 ++++------------------------------------ 2 files changed, 6 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index fbe7ec06f07..483efa566fc 100644 --- a/package.json +++ b/package.json @@ -136,6 +136,7 @@ "**/glob/minipass": "6.0.2", "nx": "16.7.0", "xml2js": "0.5.0", - "tar": "6.2.1" + "tar": "6.2.1", + "fast-xml-parser": "4.4.1" } } diff --git a/yarn.lock b/yarn.lock index ed081347c1b..68d642252f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7922,14 +7922,7 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-xml-parser@4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" - integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== - dependencies: - strnum "^1.0.5" - -fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4, fast-xml-parser@^4.2.5: +fast-xml-parser@4.2.5, fast-xml-parser@4.4.1, fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4, fast-xml-parser@^4.2.5: version "4.4.1" resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz#86dbf3f18edf8739326447bcaac31b4ae7f6514f" integrity sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw== @@ -14354,16 +14347,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -14440,7 +14424,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -14454,13 +14438,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -15586,7 +15563,7 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -15613,15 +15590,6 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From 7df60578758fe7a0aab555b00ece96ec3e4513bb Mon Sep 17 00:00:00 2001 From: Ivan Artemiev <29709626+iartemiev@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:37:50 -0400 Subject: [PATCH 06/21] chore: remove redundant data-schema unit tests (#13659) --- .vscode/launch.json | 2 +- .../fixtures/modeled/amplifyconfiguration.ts | 1756 +---- .../__tests__/fixtures/modeled/schema.ts | 213 - .../with-custom-primary-key/models.ts | 199 - .../__snapshots__/generateClient.test.ts.snap | 5273 +-------------- .../internals/generateClient.test.ts | 6019 +---------------- .../internals/implicit-auth-fields.test.ts | 90 - ...rateClientWithAmplifyInstance.test.ts.snap | 51 - .../generateClientWithAmplifyInstance.test.ts | 61 +- .../server/generateClient.test.ts.bak | 119 - .../api-graphql/__tests__/utils/expects.ts | 34 +- 11 files changed, 440 insertions(+), 13377 deletions(-) delete mode 100644 packages/api-graphql/__tests__/fixtures/schema-models/with-custom-primary-key/models.ts delete mode 100644 packages/api-graphql/__tests__/internals/implicit-auth-fields.test.ts delete mode 100644 packages/api-graphql/__tests__/server/generateClient.test.ts.bak diff --git a/.vscode/launch.json b/.vscode/launch.json index f82f2062146..116f5ef9480 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -15,7 +15,7 @@ "--inspect-brk", "${workspaceRoot}/node_modules/.bin/jest", // Optionally specify a single test file to run/debug: - "generateClientWithAmplifyInstance.test.ts", + "generateClient.test.ts", "--runInBand", "--testTimeout", "600000", // 10 min timeout so jest doesn't error while we're stepping through code diff --git a/packages/api-graphql/__tests__/fixtures/modeled/amplifyconfiguration.ts b/packages/api-graphql/__tests__/fixtures/modeled/amplifyconfiguration.ts index 0a8fe6e2c44..72c54346466 100644 --- a/packages/api-graphql/__tests__/fixtures/modeled/amplifyconfiguration.ts +++ b/packages/api-graphql/__tests__/fixtures/modeled/amplifyconfiguration.ts @@ -292,1765 +292,17 @@ const amplifyConfig = { sortKeyFieldNames: [], }, }, - ThingWithCustomerOwnerField: { - name: 'ThingWithCustomerOwnerField', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - customField: { - name: 'customField', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - }, - syncable: true, - pluralName: 'ThingWithCustomerOwnerFields', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'customField', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - ThingWithOwnerFieldSpecifiedInModel: { - name: 'ThingWithOwnerFieldSpecifiedInModel', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - name: { - name: 'name', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - owner: { - name: 'owner', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - }, - syncable: true, - pluralName: 'ThingWithOwnerFieldSpecifiedInModels', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - ThingWithAPIKeyAuth: { - name: 'ThingWithAPIKeyAuth', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - }, - syncable: true, - pluralName: 'ThingWithAPIKeyAuths', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - allow: 'public', - provider: 'apiKey', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - ThingWithoutExplicitAuth: { - name: 'ThingWithoutExplicitAuth', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - }, - syncable: true, - pluralName: 'ThingWithoutExplicitAuths', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - ThingWithCustomPk: { - name: 'ThingWithCustomPk', - fields: { - cpk_cluster_key: { - name: 'cpk_cluster_key', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - cpk_sort_key: { - name: 'cpk_sort_key', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - otherField: { - name: 'otherField', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - }, - syncable: true, - pluralName: 'ThingWithCustomPks', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['cpk_cluster_key', 'cpk_sort_key'], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: true, - primaryKeyFieldName: 'cpk_cluster_key', - sortKeyFieldNames: ['cpk_sort_key'], - }, - }, - - // - - CommunityPoll: { - name: 'CommunityPoll', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - question: { - name: 'question', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - answers: { - name: 'answers', - isArray: true, - type: { - model: 'CommunityPollAnswer', - }, - isRequired: true, - attributes: [], - isArrayNullable: false, - association: { - connectionType: 'HAS_MANY', - associatedWith: ['communityPollAnswersId'], - }, - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'CommunityPolls', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - allow: 'public', - provider: 'apiKey', - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - CommunityPollAnswer: { - name: 'CommunityPollAnswer', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - answer: { - name: 'answer', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - votes: { - name: 'votes', - isArray: true, - type: { - model: 'CommunityPollVote', - }, - isRequired: true, - attributes: [], - isArrayNullable: false, - association: { - connectionType: 'HAS_MANY', - associatedWith: ['communityPollAnswerVotesId'], - }, - }, - communityPollAnswersId: { - name: 'communityPollAnswersId', - isArray: false, - type: 'ID', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'CommunityPollAnswers', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'key', - properties: { - name: 'gsi-CommunityPoll.answers', - fields: ['communityPollAnswersId'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - allow: 'public', - provider: 'apiKey', - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - CommunityPollVote: { - name: 'CommunityPollVote', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - communityPollAnswerVotesId: { - name: 'communityPollAnswerVotesId', - isArray: false, - type: 'ID', - isRequired: false, - attributes: [], - }, - owner: { - name: 'owner', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'CommunityPollVotes', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'key', - properties: { - name: 'gsi-CommunityPollAnswer.votes', - fields: ['communityPollAnswerVotesId'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - CommunityPost: { - name: 'CommunityPost', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - content: { - name: 'content', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - poll: { - name: 'poll', - isArray: false, - type: { - model: 'CommunityPoll', - }, - isRequired: false, - attributes: [], - association: { - connectionType: 'HAS_ONE', - associatedWith: ['id'], - targetNames: ['communityPostPollId'], - }, - }, - - metadata: { - name: 'metadata', - isArray: false, - type: { - nonModel: 'CommunityPostMetadata', - }, - isRequired: false, - attributes: [], - }, - - communityPostPollId: { - name: 'communityPostPollId', - isArray: false, - type: 'ID', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'CommunityPosts', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - allow: 'public', - provider: 'apiKey', - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - SecondaryIndexModel: { - name: 'SecondaryIndexModel', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - title: { - name: 'title', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - viewCount: { - name: 'viewCount', - isArray: false, - type: 'Int', - isRequired: false, - attributes: [], - }, - status: { - name: 'status', - isArray: false, - type: { - enum: 'Status', - }, - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'SecondaryIndexModels', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'key', - properties: { - name: 'secondaryIndexModelsByTitle', - queryField: 'listSecondaryIndexModelByTitle', - fields: ['title'], - }, - }, - { - type: 'key', - properties: { - name: 'secondaryIndexModelsByDescriptionAndViewCount', - queryField: 'listSecondaryIndexModelByDescriptionAndViewCount', - fields: ['description', 'viewCount'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - allow: 'public', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - Post: { - name: 'Post', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - content: { - name: 'content', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - comments: { - name: 'comments', - isArray: true, - type: { - model: 'Comment', - }, - isRequired: false, - attributes: [], - isArrayNullable: true, - association: { - connectionType: 'HAS_MANY', - associatedWith: ['postCommentsId'], - }, - }, - owner: { - name: 'owner', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'Posts', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - allow: 'public', - provider: 'apiKey', - operations: ['create', 'update', 'delete', 'read'], - }, - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - Comment: { - name: 'Comment', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - content: { - name: 'content', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - post: { - name: 'post', - isArray: false, - type: { - model: 'Post', - }, - isRequired: false, - attributes: [], - association: { - connectionType: 'BELONGS_TO', - targetNames: ['postCommentsId'], - }, - }, - postCommentsId: { - name: 'postCommentsId', - isArray: false, - type: 'ID', - isRequired: false, - attributes: [], - }, - owner: { - name: 'owner', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'Comments', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - allow: 'public', - provider: 'apiKey', - operations: ['create', 'update', 'delete', 'read'], - }, - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - Product: { - name: 'Product', - fields: { - sku: { - name: 'sku', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - factoryId: { - name: 'factoryId', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - warehouse: { - name: 'warehouse', - isArray: false, - type: { - model: 'Warehouse', - }, - isRequired: false, - attributes: [], - association: { - connectionType: 'BELONGS_TO', - targetNames: ['warehouseProductsId'], - }, - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - trackingMeta: { - name: 'trackingMeta', - isArray: false, - type: { - nonModel: 'ProductTrackingMeta', - }, - isRequired: false, - attributes: [], - }, - warehouseProductsId: { - name: 'warehouseProductsId', - isArray: false, - type: 'ID', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - }, - syncable: true, - pluralName: 'Products', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['sku', 'factoryId'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - { - allow: 'public', - operations: ['read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: true, - primaryKeyFieldName: 'sku', - sortKeyFieldNames: ['factoryId'], - }, - }, - Warehouse: { - name: 'Warehouse', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - name: { - name: 'name', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - products: { - name: 'products', - isArray: true, - type: { - model: 'Product', - }, - isRequired: false, - attributes: [], - isArrayNullable: true, - association: { - connectionType: 'HAS_MANY', - associatedWith: ['warehouseProductsId'], - }, - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - }, - syncable: true, - pluralName: 'Warehouses', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - { - allow: 'public', - operations: ['read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - ImplicitOwner: { - name: 'ImplicitOwner', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - owner: { - name: 'owner', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'ImplicitOwners', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - CustomImplicitOwner: { - name: 'CustomImplicitOwner', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - customOwner: { - name: 'customOwner', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'CustomImplicitOwners', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'customOwner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - ModelGroupDefinedIn: { - name: 'ModelGroupDefinedIn', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - groupField: { - name: 'groupField', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'ModelGroupDefinedIns', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - groupClaim: 'cognito:groups', - provider: 'userPools', - allow: 'groups', - groupsField: 'groupField', - groupField: 'groups', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - ModelGroupsDefinedIn: { - name: 'ModelGroupsDefinedIn', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - groupsField: { - name: 'groupsField', - isArray: true, - type: 'String', - isRequired: false, - attributes: [], - isArrayNullable: true, - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'ModelGroupsDefinedIns', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['id'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - groupClaim: 'cognito:groups', - provider: 'userPools', - allow: 'groups', - groupsField: 'groupsField', - groupField: 'groups', - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, - ModelStaticGroup: { - name: 'ModelStaticGroup', - fields: { - id: { - name: 'id', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: false, - attributes: [], - isReadOnly: true, - }, - }, - syncable: true, - pluralName: 'ModelStaticGroups', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'auth', - properties: { - rules: [ - { - groupClaim: 'cognito:groups', - provider: 'userPools', - allow: 'groups', - groups: ['Admin'], - operations: ['create', 'update', 'delete', 'read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: false, - primaryKeyFieldName: 'id', - sortKeyFieldNames: [], - }, - }, }, enums: { Status: { name: 'Status', values: ['NOT_STARTED', 'STARTED', 'DONE', 'CANCELED'], }, - ProductMetaStatus: { - name: 'ProductMetaStatus', - values: ['discontinued', 'in_production'], - }, - }, - nonModels: { - CommunityPostMetadata: { - name: 'CommunityPostMetadata', - fields: { - type: { - name: 'type', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - - deleted: { - name: 'deleted', - isArray: false, - type: 'Boolean', - isRequired: false, - attributes: [], - }, - }, - }, - EchoResult: { - name: 'EchoResult', - fields: { - resultContent: { - name: 'resultContent', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - }, - }, - PostLikeResult: { - name: 'PostLikeResult', - fields: { - likes: { - name: 'likes', - isArray: false, - type: 'Int', - isRequired: true, - attributes: [], - }, - }, - }, - ProductMeta: { - name: 'ProductMeta', - fields: { - releaseDate: { - name: 'releaseDate', - isArray: false, - type: 'AWSDate', - isRequired: false, - attributes: [], - }, - status: { - name: 'status', - isArray: false, - type: { - enum: 'ProductMetaStatus', - }, - isRequired: false, - attributes: [], - }, - deepMeta: { - name: 'deepMeta', - isArray: false, - type: { - nonModel: 'ProductMetaDeepMeta', - }, - isRequired: false, - attributes: [], - }, - }, - }, - ProductTrackingMeta: { - name: 'ProductTrackingMeta', - fields: { - productMeta: { - name: 'productMeta', - isArray: false, - type: { - nonModel: 'ProductMeta', - }, - isRequired: false, - attributes: [], - }, - note: { - name: 'note', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - }, - }, - ProductMetaDeepMeta: { - name: 'ProductMetaDeepMeta', - fields: { - content: { - name: 'content', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - }, - }, - }, - queries: { - echo: { - name: 'echo', - isArray: false, - type: { - nonModel: 'EchoResult', - }, - isRequired: false, - arguments: { - argumentContent: { - name: 'argumentContent', - isArray: false, - type: 'String', - isRequired: true, - }, - }, - }, - echoString: { - name: 'echoString', - isArray: false, - type: 'String', - isRequired: false, - arguments: { - inputString: { - name: 'inputString', - isArray: false, - type: 'String', - isRequired: true, - }, - }, - }, - echoNestedCustomTypes: { - name: 'echoNestedCustomTypes', - isArray: false, - type: { - nonModel: 'ProductTrackingMeta', - }, - isRequired: false, - arguments: { - argumentContent: { - name: 'input', - isArray: false, - type: 'String', - isRequired: true, - }, - }, - }, - echoModelHasNestedTypes: { - name: 'echoModelHasNestedTypes', - isArray: false, - type: { - model: 'Product', - }, - isRequired: false, - arguments: { - argumentContent: { - name: 'input', - isArray: false, - type: 'String', - isRequired: true, - }, - }, - }, - }, - mutations: { - likePost: { - name: 'likePost', - isArray: false, - type: { - nonModel: 'PostLikeResult', - }, - isRequired: false, - arguments: { - postId: { - name: 'postId', - isArray: false, - type: 'ID', - isRequired: true, - }, - }, - }, - likePostReturnPost: { - name: 'likePostReturnPost', - isArray: false, - type: { - model: 'Post', - }, - isRequired: false, - arguments: { - postId: { - name: 'postId', - isArray: true, - type: 'ID', - isRequired: true, - isArrayNullable: false, - }, - }, - }, - }, - subscriptions: { - onPostLiked: { - name: 'onPostLiked', - isArray: false, - type: { - model: 'Post', - }, - isRequired: false, - }, - onPostUpdated: { - name: 'onPostUpdated', - isArray: false, - type: { - model: 'Post', - }, - isRequired: false, - arguments: { - postId: { - name: 'postId', - isArray: false, - type: 'String', - isRequired: false, - }, - }, - }, }, + nonModels: {}, + queries: {}, + mutations: {}, + subscriptions: {}, }, }; export default amplifyConfig; diff --git a/packages/api-graphql/__tests__/fixtures/modeled/schema.ts b/packages/api-graphql/__tests__/fixtures/modeled/schema.ts index fbe527591a9..06999b18384 100644 --- a/packages/api-graphql/__tests__/fixtures/modeled/schema.ts +++ b/packages/api-graphql/__tests__/fixtures/modeled/schema.ts @@ -24,219 +24,6 @@ const schema = a.schema({ data: a.json(), }) .authorization(allow => [allow.publicApiKey(), allow.owner()]), - ThingWithCustomerOwnerField: a - .model({ - id: a.id(), - description: a.string(), - }) - .authorization(allow => [allow.ownerDefinedIn('customField', 'userPools')]), - ThingWithOwnerFieldSpecifiedInModel: a - .model({ - id: a.id(), - name: a.string(), - owner: a.string(), - }) - .authorization(allow => [allow.owner()]), - ThingWithAPIKeyAuth: a - .model({ - id: a.id(), - description: a.string(), - }) - .authorization(allow => [allow.publicApiKey()]), - ThingWithoutExplicitAuth: a.model({ - id: a.id(), - description: a.string(), - }), - ThingWithCustomPk: a - .model({ - cpk_cluster_key: a.string().required(), - cpk_sort_key: a.string().required(), - otherField: a.string(), - }) - .identifier(['cpk_cluster_key', 'cpk_sort_key']), - - CommunityPostMetadata: a.customType({ - type: a.string().required(), - deleted: a.boolean(), - }), - - CommunityPost: a.model({ - id: a.id().required(), - communityPostPollId: a.id(), - poll: a.hasOne('CommunityPoll', 'communityPostPollId'), - metadata: a.ref('CommunityPostMetadata'), - }), - CommunityPoll: a.model({ - id: a.id().required(), - question: a.string().required(), - answers: a.hasMany('CommunityPollAnswer', 'communityPollAnswersId').valueRequired() - }), - CommunityPollAnswer: a.model({ - id: a.id().required(), - answer: a.string().required(), - communityPollAnswersId: a.id(), - votes: a.hasMany('CommunityPollVote', 'communityPollAnswerVotesId').valueRequired(), - }), - CommunityPollVote: a - .model({ - id: a.id().required(), - communityPollAnswerVotesId: a.id() - }) - .authorization(allow => [allow.publicApiKey(), allow.owner()]), - SecondaryIndexModel: a - .model({ - title: a.string(), - description: a.string(), - viewCount: a.integer(), - status: a.enum(['draft', 'pending', 'published']), - }) - .secondaryIndexes(index => [ - index('title'), - index('description').sortKeys(['viewCount']), - ]), - Product: a - .model({ - sku: a.string().required(), - factoryId: a.string().required(), - description: a.string(), - warehouseProductsId: a.id(), - warehouse: a.belongsTo("Warehouse", 'warehouseProductsId'), - trackingMeta: a.customType({ - productMeta: a.ref('ProductMeta'), - note: a.string(), - }), - }) - .identifier(['sku', 'factoryId']) - .authorization(allow => [allow.owner(), allow.publicApiKey().to(["read"])]), - Warehouse: a.model({ - name: a.string().required(), - products: a.hasMany("Product", 'warehouseProductsId'), - }).authorization(allow => [allow.owner(), allow.publicApiKey().to(["read"])]), - ProductMeta: a.customType({ - releaseDate: a.date(), - status: a.enum(['in_production', 'discontinued']), - deepMeta: a.customType({ - content: a.string(), - }), - }), - - // #region Custom queries and mutations - EchoResult: a.customType({ - resultContent: a.string().required(), - }), - - // custom query returning a non-model type - echo: a - .query() - .arguments({ - argumentContent: a.string().required(), - }) - .returns(a.ref('EchoResult')) - .handler(a.handler.function('echoFunction')) - .authorization(allow => [allow.publicApiKey()]), - - // custom query returning a primitive type - echoString: a - .query() - .arguments({ - inputString: a.string().required(), - }) - .returns(a.string()) - .handler(a.handler.function('echoFunction')) - .authorization(allow => [allow.publicApiKey()]), - echoNestedCustomTypes: a - .query() - .arguments({ - input: a.string().required(), - }) - .returns(a.ref('ProductTrackingMeta')) - .handler(a.handler.function('echoFunction')) - .authorization(allow => [allow.publicApiKey()]), - echoModelHasNestedTypes: a - .query() - .arguments({ - input: a.string().required(), - }) - .returns(a.ref('Product')) - .handler(a.handler.function('echoFunction')) - .authorization(allow => [allow.publicApiKey()]), - // custom mutation returning a non-model type - PostLikeResult: a.customType({ - likes: a.integer().required(), - }), - likePost: a - .mutation() - .arguments({ - postId: a.id().required(), - }) - .returns(a.ref('PostLikeResult')) - .handler(a.handler.function('echoFunction')) - .authorization(allow => [allow.guest()]), - - // custom mutation returning a model type - Post: a - .model({ - id: a.id().required(), - content: a.string(), - comments: a.hasMany('Comment', 'postCommentsId'), - }) - .authorization(allow => [allow.publicApiKey(), allow.owner()]), - Comment: a - .model({ - id: a.id().required(), - content: a.string().required(), - postCommentsId: a.id().required(), - post: a.belongsTo('Post', 'postCommentsId'), - }) - .authorization(allow => [allow.publicApiKey(), allow.owner()]), - likePostReturnPost: a - .mutation() - .arguments({ - postId: a.id().required(), - }) - .returns(a.ref('Post')) - .handler(a.handler.function('echoFunction')) - .authorization(allow => [allow.guest()]), - - onPostLiked: a - .subscription() - .for(a.ref('likePostReturnPost')) - .handler(a.handler.custom({ entry: './jsResolver_base.js' })), - - onPostUpdated: a - .subscription() - .for(a.ref('Post').mutations(['update'])) - .arguments({ postId: a.string() }) - .handler(a.handler.custom({ entry: './jsResolver_base.js' })), - //#endregion - - // #region implicit ownership models - ImplicitOwner: a - .model({ - description: a.string(), - }) - .authorization(allow => [allow.owner()]), - CustomImplicitOwner: a - .model({ - description: a.string(), - }) - .authorization(allow => [allow.ownerDefinedIn('customOwner')]), - ModelGroupDefinedIn: a - .model({ - description: a.string(), - }) - .authorization(allow => [allow.groupDefinedIn('groupField')]), - ModelGroupsDefinedIn: a - .model({ - description: a.string(), - }) - .authorization(allow => [allow.groupsDefinedIn('groupsField')]), - ModelStaticGroup: a - .model({ - description: a.string(), - }) - .authorization(allow => [allow.group('Admin')]), - // #endregion }); export type Schema = ClientSchema; diff --git a/packages/api-graphql/__tests__/fixtures/schema-models/with-custom-primary-key/models.ts b/packages/api-graphql/__tests__/fixtures/schema-models/with-custom-primary-key/models.ts deleted file mode 100644 index 26ae20a3944..00000000000 --- a/packages/api-graphql/__tests__/fixtures/schema-models/with-custom-primary-key/models.ts +++ /dev/null @@ -1,199 +0,0 @@ -import { SchemaModel } from '@aws-amplify/core/internals/utils'; - -export const userSchemaModel: SchemaModel = { - name: 'User', - fields: { - userId: { - name: 'userId', - isArray: false, - type: 'ID', - isRequired: true, - attributes: [], - }, - name: { - name: 'name', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - createdTodos: { - name: 'createdTodos', - isArray: true, - type: { - model: 'Todo', - }, - isRequired: false, - attributes: [], - isArrayNullable: true, - association: { - connectionType: 'HAS_MANY' as any, - associatedWith: ['userCreatedTodosUserId'], - }, - }, - assignedTodos: { - name: 'assignedTodos', - isArray: true, - type: { - model: 'Todo', - }, - isRequired: false, - attributes: [], - isArrayNullable: true, - association: { - connectionType: 'HAS_MANY' as any, - associatedWith: ['userAssignedTodosUserId'], - }, - }, - owner: { - name: 'owner', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'Users', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['userId'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - { - allow: 'public', - operations: ['read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: true, - primaryKeyFieldName: 'userId', - sortKeyFieldNames: [], - }, -}; - -export const productSchemaModel: SchemaModel = { - name: 'Product', - fields: { - sku: { - name: 'sku', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - factoryId: { - name: 'factoryId', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - warehouseId: { - name: 'warehouseId', - isArray: false, - type: 'String', - isRequired: true, - attributes: [], - }, - description: { - name: 'description', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - owner: { - name: 'owner', - isArray: false, - type: 'String', - isRequired: false, - attributes: [], - }, - createdAt: { - name: 'createdAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - updatedAt: { - name: 'updatedAt', - isArray: false, - type: 'AWSDateTime', - isRequired: true, - attributes: [], - }, - }, - syncable: true, - pluralName: 'Products', - attributes: [ - { - type: 'model', - properties: {}, - }, - { - type: 'key', - properties: { - fields: ['sku', 'factoryId', 'warehouseId'], - }, - }, - { - type: 'auth', - properties: { - rules: [ - { - provider: 'userPools', - ownerField: 'owner', - allow: 'owner', - identityClaim: 'cognito:username', - operations: ['create', 'update', 'delete', 'read'], - }, - { - allow: 'public', - operations: ['read'], - }, - ], - }, - }, - ], - primaryKeyInfo: { - isCustomPrimaryKey: true, - primaryKeyFieldName: 'sku', - sortKeyFieldNames: ['factoryId', 'warehouseId'], - }, -}; diff --git a/packages/api-graphql/__tests__/internals/__snapshots__/generateClient.test.ts.snap b/packages/api-graphql/__tests__/internals/__snapshots__/generateClient.test.ts.snap index ac5ab4860d6..be5d8a2e0ac 100644 --- a/packages/api-graphql/__tests__/internals/__snapshots__/generateClient.test.ts.snap +++ b/packages/api-graphql/__tests__/internals/__snapshots__/generateClient.test.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can create() 1`] = ` +exports[`generateClient basic model operations with Amplify configuration options headers config & client headers 1`] = ` [ [ "AmplifyClassV6", @@ -8,8 +8,8 @@ exports[`generateClient basic model operations - authMode: CuP override at the t "abortController": AbortController {}, "options": { "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { + "query": "query ($id: ID!) { + getTodo(id: $id) { id name description @@ -23,20 +23,16 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } ", "variables": { - "input": { - "description": "something something", - "name": "some name", - }, + "id": "some-id", }, }, "headers": { - "Authorization": "test", + "Authorization": "amplify-config-auth-token", + "X-Api-Key": "FAKE-KEY", + "client-header": "should exist", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, + "signingServiceInfo": undefined, "withCredentials": undefined, }, "url": "https://localhost/graphql", @@ -45,7 +41,7 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can delete() 1`] = ` +exports[`generateClient basic model operations with Amplify configuration options headers custom client headers should not overwrite library config headers 1`] = ` [ [ "AmplifyClassV6", @@ -53,8 +49,8 @@ exports[`generateClient basic model operations - authMode: CuP override at the t "abortController": AbortController {}, "options": { "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { + "query": "query ($id: ID!) { + getTodo(id: $id) { id name description @@ -68,19 +64,15 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } ", "variables": { - "input": { - "id": "some-id", - }, + "id": "some-id", }, }, "headers": { - "Authorization": "test", + "Authorization": "client-level-header", + "X-Api-Key": "FAKE-KEY", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, + "signingServiceInfo": undefined, "withCredentials": undefined, }, "url": "https://localhost/graphql", @@ -89,7 +81,7 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can get() 1`] = ` +exports[`generateClient basic model operations with Amplify configuration options headers custom request headers should not overwrite library config headers 1`] = ` [ [ "AmplifyClassV6", @@ -112,17 +104,15 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } ", "variables": { - "id": "asdf", + "id": "some-id", }, }, "headers": { - "Authorization": "test", + "Authorization": "request-level-header", + "X-Api-Key": "FAKE-KEY", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, + "signingServiceInfo": undefined, "withCredentials": undefined, }, "url": "https://localhost/graphql", @@ -131,42 +121,8 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can lazy load with inherited authMode can lazy load @belongsTo 1`] = ` +exports[`generateClient custom client and request headers CRUD with custom client header functions 1`] = ` [ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getNote(id: $id) { - id - body - createdAt - updatedAt - todoNotesId - owner - } -} -", - "variables": { - "id": "note-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], [ "AmplifyClassV6", { @@ -188,17 +144,15 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } ", "variables": { - "id": "todo-id", + "id": "a1", }, }, "headers": { - "Authorization": "test", + "X-Api-Key": "FAKE-KEY", + "client-header-function": "should return this header", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, + "signingServiceInfo": undefined, "withCredentials": undefined, }, "url": "https://localhost/graphql", @@ -207,7 +161,7 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can lazy load with inherited authMode can lazy load @hasMany 1`] = ` +exports[`generateClient custom client and request headers CRUD with custom client header functions that pass requestOptions 1`] = ` [ [ "AmplifyClassV6", @@ -230,80 +184,13 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } ", "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, + "id": "a1", }, }, "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can lazy load with inherited authMode can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { + "X-Api-Key": "FAKE-KEY", + "rq-method": "POST", + "rq-qs": "query ($id: ID!) { getTodo(id: $id) { id name @@ -317,51 +204,10 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } } ", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { - id - data - createdAt - updatedAt - owner - } -} -", - "variables": { - "id": "meta-id", - }, - }, - "headers": { - "Authorization": "test", + "rq-url": "https://localhost/graphql", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, + "signingServiceInfo": undefined, "withCredentials": undefined, }, "url": "https://localhost/graphql", @@ -370,7 +216,7 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can lazy load with overridden authMode can lazy load @belongsTo 1`] = ` +exports[`generateClient custom client and request headers CRUD with custom client headers 1`] = ` [ [ "AmplifyClassV6", @@ -379,33 +225,39 @@ exports[`generateClient basic model operations - authMode: CuP override at the t "options": { "body": { "query": "query ($id: ID!) { - getNote(id: $id) { + getTodo(id: $id) { id - body + name + description + status + tags createdAt updatedAt - todoNotesId + todoMetaId owner } } ", "variables": { - "id": "note-id", + "id": "a1", }, }, "headers": { - "Authorization": "test", + "X-Api-Key": "FAKE-KEY", + "client-header": "should exist", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, + "signingServiceInfo": undefined, "withCredentials": undefined, }, "url": "https://localhost/graphql", }, ], +] +`; + +exports[`generateClient custom client and request headers CRUD with custom request header function 1`] = ` +[ [ "AmplifyClassV6", { @@ -427,11 +279,12 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } ", "variables": { - "id": "todo-id", + "id": "a1", }, }, "headers": { "X-Api-Key": "FAKE-KEY", + "request-header-function": "should return this header", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, "signingServiceInfo": undefined, @@ -443,7 +296,7 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can lazy load with overridden authMode can lazy load @hasMany 1`] = ` +exports[`generateClient custom client and request headers CRUD with custom request header function that accept requestOptions 1`] = ` [ [ "AmplifyClassV6", @@ -466,77 +319,13 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } ", "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, + "id": "a1", }, }, "headers": { "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can lazy load with overridden authMode can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { + "rq-method": "POST", + "rq-qs": "query ($id: ID!) { getTodo(id: $id) { id name @@ -550,23 +339,20 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } } ", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", + "rq-url": "https://localhost/graphql", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, + "signingServiceInfo": undefined, "withCredentials": undefined, }, "url": "https://localhost/graphql", }, ], +] +`; + +exports[`generateClient custom client and request headers CRUD with custom request headers 1`] = ` +[ [ "AmplifyClassV6", { @@ -574,21 +360,26 @@ exports[`generateClient basic model operations - authMode: CuP override at the t "options": { "body": { "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { + getTodo(id: $id) { id - data + name + description + status + tags createdAt updatedAt + todoMetaId owner } } ", "variables": { - "id": "meta-id", + "id": "a1", }, }, "headers": { "X-Api-Key": "FAKE-KEY", + "request-header": "should exist", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, "signingServiceInfo": undefined, @@ -600,7 +391,7 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can list() 1`] = ` +exports[`generateClient graphql default auth default iam produces expected signingInfo 1`] = ` [ [ "AmplifyClassV6", @@ -608,34 +399,21 @@ exports[`generateClient basic model operations - authMode: CuP override at the t "abortController": AbortController {}, "options": { "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken + "query": "{ + listTodos { __typename + id + owner + createdAt + updatedAt + name + description } } ", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, + "variables": {}, }, "headers": { - "Authorization": "test", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, "signingServiceInfo": { @@ -650,7 +428,7 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override at the time of operation can update() 1`] = ` +exports[`generateClient model operation happy path Can Get 1`] = ` [ [ "AmplifyClassV6", @@ -658,8 +436,8 @@ exports[`generateClient basic model operations - authMode: CuP override at the t "abortController": AbortController {}, "options": { "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { + "query": "query ($id: ID!) { + getTodo(id: $id) { id name description @@ -673,20 +451,14 @@ exports[`generateClient basic model operations - authMode: CuP override at the t } ", "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, + "id": "a1", }, }, "headers": { - "Authorization": "test", + "X-Api-Key": "FAKE-KEY", "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, + "signingServiceInfo": undefined, "withCredentials": undefined, }, "url": "https://localhost/graphql", @@ -695,4877 +467,4 @@ exports[`generateClient basic model operations - authMode: CuP override at the t ] `; -exports[`generateClient basic model operations - authMode: CuP override in the client can create() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can delete() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - }, - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can get() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "asdf", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can lazy load with inherited authMode can lazy load @belongsTo 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getNote(id: $id) { - id - body - createdAt - updatedAt - todoNotesId - owner - } -} -", - "variables": { - "id": "note-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can lazy load with inherited authMode can lazy load @hasMany 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can lazy load with inherited authMode can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { - id - data - createdAt - updatedAt - owner - } -} -", - "variables": { - "id": "meta-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can lazy load with overridden authMode can lazy load @belongsTo 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getNote(id: $id) { - id - body - createdAt - updatedAt - todoNotesId - owner - } -} -", - "variables": { - "id": "note-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can lazy load with overridden authMode can lazy load @hasMany 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can lazy load with overridden authMode can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { - id - data - createdAt - updatedAt - owner - } -} -", - "variables": { - "id": "meta-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can list() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: CuP override in the client can update() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can create() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can delete() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can get() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "asdf", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can lazy load with inherited authMode can lazy load @belongsTo 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getNote(id: $id) { - id - body - createdAt - updatedAt - todoNotesId - owner - } -} -", - "variables": { - "id": "note-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can lazy load with inherited authMode can lazy load @hasMany 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can lazy load with inherited authMode can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { - id - data - createdAt - updatedAt - owner - } -} -", - "variables": { - "id": "meta-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can lazy load with overridden authMode can lazy load @belongsTo 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getNote(id: $id) { - id - body - createdAt - updatedAt - todoNotesId - owner - } -} -", - "variables": { - "id": "note-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can lazy load with overridden authMode can lazy load @hasMany 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can lazy load with overridden authMode can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { - id - data - createdAt - updatedAt - owner - } -} -", - "variables": { - "id": "meta-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can list() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override at the time of operation can update() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can create() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can delete() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can get() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "asdf", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can lazy load with inherited authMode can lazy load @belongsTo 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getNote(id: $id) { - id - body - createdAt - updatedAt - todoNotesId - owner - } -} -", - "variables": { - "id": "note-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can lazy load with inherited authMode can lazy load @hasMany 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can lazy load with inherited authMode can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { - id - data - createdAt - updatedAt - owner - } -} -", - "variables": { - "id": "meta-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can lazy load with overridden authMode can lazy load @belongsTo 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getNote(id: $id) { - id - body - createdAt - updatedAt - todoNotesId - owner - } -} -", - "variables": { - "id": "note-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can lazy load with overridden authMode can lazy load @hasMany 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can lazy load with overridden authMode can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "Authorization": "test", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { - id - data - createdAt - updatedAt - owner - } -} -", - "variables": { - "id": "meta-id", - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can list() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - authMode: lambda override in the client can update() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, - }, - }, - "headers": { - "Authorization": "some-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can create() - with custom client header functions 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "client-header-function": "should return this header", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can create() - with custom client header functions that pass requestOptions 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "rq-method": "POST", - "rq-qs": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "rq-url": "https://localhost/graphql", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can create() - with custom client headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can create() - with custom request header function 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "request-header-function": "should return this header", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can create() - with custom request header function that accept requestOptions 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "rq-method": "POST", - "rq-qs": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "rq-url": "https://localhost/graphql", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can create() - with custom request headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can delete() - with custom client headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can delete() - with custom request headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can get() - with custom client headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "asdf", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can get() - with custom request headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "asdf", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can list() - with custom client headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can list() - with custom request headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can update() - with custom client headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations - custom client and request headers can update() - with custom request headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can create() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can delete() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can get() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "asdf", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can lazy load @belongsTo 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getNote(id: $id) { - id - body - createdAt - updatedAt - todoNotesId - owner - } -} -", - "variables": { - "id": "note-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can lazy load @hasMany 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can lazy load @hasMany with limit 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - "limit": 5, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can lazy load @hasMany with nextToken 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelNoteFilterInput, $limit: Int, $nextToken: String) { - listNotes(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - body - createdAt - updatedAt - todoNotesId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "todoNotesId": { - "eq": "todo-id", - }, - }, - ], - }, - "nextToken": "some-token", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can lazy load @hasOne 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "todo-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodoMetadata(id: $id) { - id - data - createdAt - updatedAt - owner - } -} -", - "variables": { - "id": "meta-id", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can list() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can list() with limit 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - "limit": 5, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can list() with nextToken 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - "nextToken": "some-token", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can list() with sortDirection (ASC) 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($cpk_cluster_key: String, $sortDirection: ModelSortDirection, $cpk_sort_key: ModelStringKeyConditionInput, $filter: ModelThingWithCustomPkFilterInput, $limit: Int, $nextToken: String) { - listThingWithCustomPks( - cpk_cluster_key: $cpk_cluster_key - sortDirection: $sortDirection - cpk_sort_key: $cpk_sort_key - filter: $filter - limit: $limit - nextToken: $nextToken - ) { - items { - cpk_cluster_key - cpk_sort_key - otherField - createdAt - updatedAt - } - nextToken - __typename - } -} -", - "variables": { - "cpk_cluster_key": "1", - "sortDirection": "ASC", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can list() with sortDirection (DESC) 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($cpk_cluster_key: String, $sortDirection: ModelSortDirection, $cpk_sort_key: ModelStringKeyConditionInput, $filter: ModelThingWithCustomPkFilterInput, $limit: Int, $nextToken: String) { - listThingWithCustomPks( - cpk_cluster_key: $cpk_cluster_key - sortDirection: $sortDirection - cpk_sort_key: $cpk_sort_key - filter: $filter - limit: $limit - nextToken: $nextToken - ) { - items { - cpk_cluster_key - cpk_sort_key - otherField - createdAt - updatedAt - } - nextToken - __typename - } -} -", - "variables": { - "cpk_cluster_key": "1", - "sortDirection": "DESC", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations can update() 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can create() - custom client headers should not overwrite library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can create() - custom request headers should not overwrite library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can create() - with library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: CreateTodoInput!) { - createTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "description": "something something", - "name": "some name", - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can delete() - custom client headers should not overwrite library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can delete() - custom request headers should overwrite client headers but not library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: DeleteTodoInput!) { - deleteTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can get() - custom client headers should not overwrite library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "asdf", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can get() - custom request headers overwrite client headers, but not library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($id: ID!) { - getTodo(id: $id) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "id": "asdf", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can list() - custom client headers should not overwrite library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can list() - custom request headers should overwrite client headers but not library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "name": { - "contains": "name", - }, - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can update() - custom client headers should not overwrite library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "client-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient basic model operations with Amplify configuration options headers can update() - custom request headers should overwrite client headers but not library config headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($input: UpdateTodoInput!) { - updateTodo(input: $input) { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } -} -", - "variables": { - "input": { - "id": "some-id", - "name": "some other name", - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "request-header": "should exist", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations can mutate with returnType of customType 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($postId: ID!) { - likePost(postId: $postId) { - likes - } -} -", - "variables": { - "postId": "post-abc", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations can mutate with returnType of model (Post) 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($postId: [ID!]!) { - likePostReturnPost(postId: $postId) { - id - content - owner - createdAt - updatedAt - } -} -", - "variables": { - "postId": "post-abc", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations can query with returnType of a model that has nested custom types 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echoModelHasNestedTypes(argumentContent: $argumentContent) { - sku - factoryId - description - trackingMeta { - productMeta { - releaseDate - status - deepMeta { - content - } - } - note - } - warehouseProductsId - createdAt - updatedAt - owner - } -} -", - "variables": { - "input": "test input", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations can query with returnType of customType 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echo(argumentContent: $argumentContent) { - resultContent - } -} -", - "variables": { - "argumentContent": "echo argumentContent value", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations can query with returnType of nested custom types 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echoNestedCustomTypes(argumentContent: $argumentContent) { - productMeta { - releaseDate - status - deepMeta { - content - } - } - note - } -} -", - "variables": { - "input": "test input", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations can query with returnType of string 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($inputString: String!) { - echoString(inputString: $inputString) -} -", - "variables": { - "inputString": "echo argumentContent value", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations can return model (Post) that with lazy-loading props 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "mutation ($postId: [ID!]!) { - likePostReturnPost(postId: $postId) { - id - content - owner - createdAt - updatedAt - } -} -", - "variables": { - "postId": "post-abc", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelCommentFilterInput, $limit: Int, $nextToken: String) { - listComments(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - content - postCommentsId - owner - createdAt - updatedAt - } - nextToken - __typename - } -} -", - "variables": { - "filter": { - "and": [ - { - "postCommentsId": { - "eq": "post-123", - }, - }, - ], - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations includes call level headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echo(argumentContent: $argumentContent) { - resultContent - } -} -", - "variables": { - "argumentContent": "echo argumentContent value", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "callSiteHeaders": "some header value", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations includes client level headers 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echo(argumentContent: $argumentContent) { - resultContent - } -} -", - "variables": { - "argumentContent": "echo argumentContent value", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "someHeader": "some header value", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations uses call site authMode 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echo(argumentContent: $argumentContent) { - resultContent - } -} -", - "variables": { - "argumentContent": "echo argumentContent value", - }, - }, - "headers": { - "Authorization": "my-auth-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations uses client authMode 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echo(argumentContent: $argumentContent) { - resultContent - } -} -", - "variables": { - "argumentContent": "echo argumentContent value", - }, - }, - "headers": { - "Authorization": "my-auth-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient custom operations uses config level headers if available 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echo(argumentContent: $argumentContent) { - resultContent - } -} -", - "variables": { - "argumentContent": "echo argumentContent value", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "config-level-header": "config header value", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient graphql - client-level auth override client auth override query - lambda 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "{ - listTodos { - __typename - id - owner - createdAt - updatedAt - name - description - } -} -", - "variables": {}, - }, - "headers": { - "Authorization": "trustno1", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient graphql - client-level auth override client auth override query 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "{ - listTodos { - __typename - id - owner - createdAt - updatedAt - name - description - } -} -", - "variables": {}, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient graphql default auth default iam produces expected signingInfo 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "{ - listTodos { - __typename - id - owner - createdAt - updatedAt - name - description - } -} -", - "variables": {}, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": { - "region": "us-west-1", - "service": "appsync", - }, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient index queries PK and SK index query 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($description: String!, $viewCount: ModelIntKeyConditionInput, $filter: ModelSecondaryIndexModelFilterInput, $sortDirection: ModelSortDirection, $limit: Int, $nextToken: String) { - listSecondaryIndexModelByDescriptionAndViewCount( - description: $description - viewCount: $viewCount - filter: $filter - sortDirection: $sortDirection - limit: $limit - nextToken: $nextToken - ) { - items { - id - title - description - viewCount - status - createdAt - updatedAt - } - nextToken - __typename - } -} -", - "variables": { - "description": "something something", - "viewCount": { - "gt": 4, - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient index queries PK and SK index query, with sort direction (ascending) 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($description: String!, $viewCount: ModelIntKeyConditionInput, $filter: ModelSecondaryIndexModelFilterInput, $sortDirection: ModelSortDirection, $limit: Int, $nextToken: String) { - listSecondaryIndexModelByDescriptionAndViewCount( - description: $description - viewCount: $viewCount - filter: $filter - sortDirection: $sortDirection - limit: $limit - nextToken: $nextToken - ) { - items { - id - title - description - viewCount - status - createdAt - updatedAt - } - nextToken - __typename - } -} -", - "variables": { - "description": "match", - "sortDirection": "ASC", - "viewCount": { - "lt": 4, - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient index queries PK and SK index query, with sort direction (descending) 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($description: String!, $viewCount: ModelIntKeyConditionInput, $filter: ModelSecondaryIndexModelFilterInput, $sortDirection: ModelSortDirection, $limit: Int, $nextToken: String) { - listSecondaryIndexModelByDescriptionAndViewCount( - description: $description - viewCount: $viewCount - filter: $filter - sortDirection: $sortDirection - limit: $limit - nextToken: $nextToken - ) { - items { - id - title - description - viewCount - status - createdAt - updatedAt - } - nextToken - __typename - } -} -", - "variables": { - "description": "match", - "sortDirection": "DESC", - "viewCount": { - "lt": 4, - }, - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient index queries PK-only index query 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($title: String!, $filter: ModelSecondaryIndexModelFilterInput, $sortDirection: ModelSortDirection, $limit: Int, $nextToken: String) { - listSecondaryIndexModelByTitle( - title: $title - filter: $filter - sortDirection: $sortDirection - limit: $limit - nextToken: $nextToken - ) { - items { - id - title - description - viewCount - status - createdAt - updatedAt - } - nextToken - __typename - } -} -", - "variables": { - "title": "Hello World", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`generateClient observeQuery can paginate through initial results 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": {}, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "nextToken": "sometoken", - }, - }, - "headers": { - "Authorization": "amplify-config-auth-token", - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; +exports[`generateClient model operation happy path Can Subscribe 1`] = `[]`; diff --git a/packages/api-graphql/__tests__/internals/generateClient.test.ts b/packages/api-graphql/__tests__/internals/generateClient.test.ts index af1ecd7db17..c5104997df1 100644 --- a/packages/api-graphql/__tests__/internals/generateClient.test.ts +++ b/packages/api-graphql/__tests__/internals/generateClient.test.ts @@ -6,11 +6,9 @@ import { Schema } from '../fixtures/modeled/schema'; import { from } from 'rxjs'; import { normalizePostGraphqlCalls, - expectSub, expectSubWithHeaders, expectSubWithHeadersFn, expectSubWithlibraryConfigHeaders, - makeAppSyncStreams, mockApiResponse, } from '../utils/index'; @@ -21,37 +19,13 @@ const serverManagedFields = { updatedAt: new Date().toISOString(), }; -const USER_AGENT_DETAILS = { - action: '1', - category: 'api', -}; - describe('generateClient', () => { + afterEach(() => { + jest.clearAllMocks(); + }); + describe('client `models` property', () => { - const expectedModelsProperties = [ - 'Todo', - 'Note', - 'TodoMetadata', - 'ThingWithCustomerOwnerField', - 'ThingWithOwnerFieldSpecifiedInModel', - 'ThingWithAPIKeyAuth', - 'ThingWithoutExplicitAuth', - 'ThingWithCustomPk', - 'CommunityPoll', - 'CommunityPollAnswer', - 'CommunityPollVote', - 'CommunityPost', - 'SecondaryIndexModel', - 'Post', - 'Comment', - 'Product', - 'Warehouse', - 'ImplicitOwner', - 'CustomImplicitOwner', - 'ModelGroupDefinedIn', - 'ModelGroupsDefinedIn', - 'ModelStaticGroup', - ]; + const expectedModelsProperties = ['Todo', 'Note', 'TodoMetadata']; it('generates `models` property when Amplify.getConfig() returns valid GraphQL provider config', () => { Amplify.configure(configFixture); // clear the resource config @@ -84,40 +58,6 @@ describe('generateClient', () => { }); }); - describe('client `enums` property', () => { - const expectedEnumsProperties = ['Status', 'ProductMetaStatus']; - - it('generates `enums` property when Amplify.getConfig() returns valid GraphQL provider config', () => { - Amplify.configure(configFixture); // clear the resource config - - const client = generateClient({ amplify: Amplify }); - - expect(Object.keys(client.enums)).toEqual(expectedEnumsProperties); - }); - - it('generates `enums` property when Amplify.configure() is called later with a valid GraphQL provider config', async () => { - Amplify.configure({}); // clear the ResourceConfig mimic Amplify.configure has not been called - const client = generateClient({ amplify: Amplify }); - - expect(Object.keys(client.enums)).toHaveLength(0); - - Amplify.configure(configFixture); - - expect(Object.keys(client.enums)).toEqual(expectedEnumsProperties); - }); - - it('generates `models` property throwing error when there is no valid GraphQL provider config can be resolved', () => { - Amplify.configure({}); // clear the ResourceConfig mimic Amplify.configure has not been called - const client = generateClient({ amplify: Amplify }); - - expect(() => { - client.enums.SecondaryIndexModelStatus.values(); - }).toThrow( - 'Client could not be generated. This is likely due to `Amplify.configure()` not being called prior to `generateClient()` or because the configuration passed to `Amplify.configure()` is missing GraphQL provider configuration.', - ); - }); - }); - test('can produce a client bound to an arbitrary amplify object for getConfig()', async () => { // TS lies: We don't care what `amplify` is or does. We want want to make sure // it shows up in the client in the right spot. @@ -232,141 +172,31 @@ describe('generateClient', () => { expect(apiSpy).toHaveBeenCalled(); }); - describe('basic model operations', () => { + describe('graphql default auth', () => { beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - }); - - test('can create()', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.create({ - name: 'some name', - description: 'something something', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can get()', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - tags: ['one', 'two', 'three'], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get({ id: 'asdf' }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - tags: ['one', 'two', 'three'], - }), - ); - }); - - test('can list()', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data.length).toBe(1); - expect(data[0]).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can list() with nextToken', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - nextToken: 'some-token', - }); + Amplify.configure({ + ...configFixture, + aws_appsync_authenticationType: 'AWS_IAM', // make IAM default + } as any); - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); + jest + .spyOn(Amplify.Auth, 'fetchAuthSession') + .mockImplementation(async () => { + return { + credentials: { + accessKeyId: 'test', + secretAccessKey: 'test', + }, + } as any; + }); }); - test('can list() with limit', async () => { + test('default iam produces expected signingInfo', async () => { const spy = mockApiResponse({ data: { listTodos: { items: [ { - __typename: 'Todo', - ...serverManagedFields, name: 'some name', description: 'something something', }, @@ -375,129 +205,45 @@ describe('generateClient', () => { }, }); - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - limit: 5, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can list() with sortDirection (ASC)', async () => { - const spy = mockApiResponse({ - data: { - listThingWithCustomPks: { - items: [ - { - __typename: 'ThingWithCustomPk', - ...serverManagedFields, - cpk_cluster_key: '1', - cpk_sort_key: 'a', - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - - await client.models.ThingWithCustomPk.list({ - cpk_cluster_key: '1', - sortDirection: 'ASC', + const client = generateClient({ amplify: Amplify }); + await client.graphql({ + query: `query { listTodos { __typename id owner createdAt updatedAt name description } }`, }); expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); }); + }); - test('can list() with sortDirection (DESC)', async () => { - const spy = mockApiResponse({ - data: { - listThingWithCustomPks: { - items: [ - { - __typename: 'ThingWithCustomPk', - ...serverManagedFields, - cpk_cluster_key: '1', - cpk_sort_key: 'c', - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - - await client.models.ThingWithCustomPk.list({ - cpk_cluster_key: '1', - sortDirection: 'DESC', - }); + // sanity check tests for CRUD and Subscribe model ops + // exhaustive tests live in https://github.com/aws-amplify/amplify-api-next + describe('model operation happy path', () => { + test('Can Get', async () => { + Amplify.configure(configFixture as any); - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); + const response = { + __typename: 'Todo', + ...serverManagedFields, + name: 'some name', + description: 'something something', + }; - test('can update()', async () => { const spy = mockApiResponse({ data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, + getTodo: response, }, }); const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.update({ - id: 'some-id', - name: 'some other name', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some other name', - description: 'something something', - }), - ); - }); - - test('can delete()', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.delete({ - id: 'some-id', - }); + const { data, errors } = await client.models.Todo.get({ id: 'a1' }); + // using `objectContaining` because data will also contain async getters for relational fields + expect(data).toEqual(expect.objectContaining(response)); + expect(errors).toBeUndefined(); expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); }); - test('can subscribe to onCreate()', done => { + test('Can Subscribe', done => { const noteToSend = { __typename: 'Note', ...serverManagedFields, @@ -516,16 +262,22 @@ describe('generateClient', () => { }, }; + const customHeaders = { + 'subscription-header': 'should-exist', + }; + const client = generateClient({ amplify: Amplify }); const spy = jest.fn(() => from([graphqlMessage])); (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); + client.models.Note.onCreate({ filter: graphqlVariables.filter, + headers: customHeaders, }).subscribe({ next(value) { - expectSub(spy, 'onCreateNote', graphqlVariables); expect(value).toEqual(expect.objectContaining(noteToSend)); done(); }, @@ -535,5291 +287,205 @@ describe('generateClient', () => { }, }); }); + }); - test('can subscribe to onUpdate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; + /** + * The following tests ensure that custom headers can be included with both + * API client instantiation and individual model operations. These tests + * also validate that request headers will overwrite client headers. + * + * Note: keeping these in the JS repo for now because behavior depends on implementation + * that is deeply nested in the class hierarchy and would be difficult to mock reliably from api-next + */ + describe('custom client and request headers', () => { + // same code path for all CRUD operations; just testing Get + describe('CRUD', () => { + let spy: jest.SpyInstance; - const graphqlMessage = { - data: { - onUpdateNote: noteToSend, - }, - }; + beforeEach(() => { + Amplify.configure(configFixture as any); - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; + spy = mockApiResponse({ + data: { + getTodo: { + __typename: 'Todo', + ...serverManagedFields, + name: 'some name', + description: 'something something', + }, + }, + }); + }); - const client = generateClient({ amplify: Amplify }); + test('with custom client headers', async () => { + const client = generateClient({ + amplify: Amplify, + headers: { + 'client-header': 'should exist', + }, + }); - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; + await client.models.Todo.get({ + id: 'a1', + }); - client.models.Note.onUpdate({ - filter: graphqlVariables.filter, - }).subscribe({ - next(value) { - expectSub(spy, 'onUpdateNote', graphqlVariables); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onDelete()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onDeleteNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onDelete({ - filter: graphqlVariables.filter, - }).subscribe({ - next(value) { - expectSub(spy, 'onDeleteNote', graphqlVariables); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - expect(data).not.toBeNull(); - - const { data: notes } = await data!.notes(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - - expect(notes!.length).toBe(1); - expect(notes![0]).toEqual( - expect.objectContaining({ - __typename: 'Note', - id: 'note-id', - owner: 'wirejobviously', - body: 'some body', - }), - ); - }); - - test('can lazy load @hasMany with nextToken', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - const { data: notes } = await data!.notes({ nextToken: 'some-token' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - - expect(notes!.length).toBe(1); - expect(notes![0]).toEqual( - expect.objectContaining({ - __typename: 'Note', - id: 'note-id', - owner: 'wirejobviously', - body: 'some body', - }), - ); - }); - - test('can lazy load @hasMany with limit', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - const { data: notes } = await data!.notes({ limit: 5 }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - - expect(notes!.length).toBe(1); - expect(notes![0]).toEqual( - expect.objectContaining({ - __typename: 'Note', - id: 'note-id', - owner: 'wirejobviously', - body: 'some body', - }), - ); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Note.get({ id: 'note-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - const { data: todo } = await data!.todo(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - - expect(todo).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'todo-id', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - const { data: todo } = await data!.meta(); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - - expect(todo).toEqual( - expect.objectContaining({ - __typename: 'TodoMetadata', - id: 'meta-id', - data: '{"field":"value"}', - }), - ); - }); - }); - - describe('error handling', () => { - test('create() returns null with errors property', async () => { - const expectedErrors = [ - { - path: ['createTodo'], - data: null, - errorType: 'Unauthorized', - errorInfo: null, - locations: [ - { - line: 2, - column: 3, - sourceName: null, - }, - ], - message: 'Not Authorized to access createTodo on type Mutation', - }, - ]; - - const spy = mockApiResponse({ - data: { - getTodo: null, - }, - errors: expectedErrors, - }); - - const client = generateClient({ amplify: Amplify }); - const { data, errors } = await client.models.Todo.create({ - id: 'does not matter', - }); - - expect(data).toBeNull(); - expect(errors?.length).toBe(1); - expect(errors).toEqual(expectedErrors); - }); - - test('returns object in which `data` is null and `errors` contains expected error', async () => { - const expectedErrors = [ - { - path: ['getTodo'], - data: null, - errorType: 'Unauthorized', - errorInfo: null, - locations: [ - { - line: 2, - column: 3, - sourceName: null, - }, - ], - message: 'Not Authorized to access getTodo on type Query', - }, - ]; - - const spy = mockApiResponse({ - data: { - getTodo: null, - }, - errors: expectedErrors, - }); - - const client = generateClient({ amplify: Amplify }); - const { data, errors } = await client.models.Todo.get({ - id: 'does not matter', - }); - - expect(data).toBeNull(); - expect(errors?.length).toBe(1); - expect(errors).toEqual(expectedErrors); - }); - - test('update() returns null with errors property', async () => { - const expectedErrors = [ - { - path: ['updateTodo'], - data: null, - errorType: 'Unauthorized', - errorInfo: null, - locations: [ - { - line: 2, - column: 3, - sourceName: null, - }, - ], - message: 'Not Authorized to access updateTodo on type Mutation', - }, - ]; - - mockApiResponse({ - data: { - updateTodo: null, - }, - errors: expectedErrors, - }); - - const client = generateClient({ amplify: Amplify }); - - const { data, errors } = await client.models.Todo.update({ - id: 'some_id', - name: 'does not matter', - }); - - expect(data).toBeNull(); - expect(errors?.length).toBe(1); - expect(errors).toEqual(expectedErrors); - }); - - test('delete() returns null with errors property', async () => { - const expectedErrors = [ - { - path: ['deleteTodo'], - data: null, - errorType: 'Unauthorized', - errorInfo: null, - locations: [ - { - line: 2, - column: 3, - sourceName: null, - }, - ], - message: 'Not Authorized to access deleteTodo on type Mutation', - }, - ]; - - const spy = mockApiResponse({ - data: { - deleteTodo: null, - }, - errors: expectedErrors, - }); - - const client = generateClient({ amplify: Amplify }); - - const { data, errors } = await client.models.Todo.delete({ - id: 'some_id', - }); - - expect(data).toBeNull(); - expect(errors?.length).toBe(1); - expect(errors).toEqual(expectedErrors); - }); - - test('list() returns empty list with errors property', async () => { - const expectedErrors = [ - { - path: ['listTodos'], - data: null, - errorType: 'Unauthorized', - errorInfo: null, - locations: [ - { - line: 2, - column: 3, - sourceName: null, - }, - ], - message: 'Not Authorized to access listTodos on type Query', - }, - ]; - - mockApiResponse({ - data: { - listTodos: null, - }, - errors: expectedErrors, - }); - - const client = generateClient({ amplify: Amplify }); - const { data, errors } = await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - }); - - expect(data.length).toBe(0); - expect(errors?.length).toBe(1); - expect(errors).toEqual(expectedErrors); - }); - }); - - describe('basic model operations - authMode: CuP override at the time of operation', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - - jest - .spyOn(Amplify.Auth, 'fetchAuthSession') - .mockImplementation(async () => { - return { - tokens: { - accessToken: { - toString: () => 'test', - }, - }, - credentials: { - accessKeyId: 'test', - secretAccessKey: 'test', - }, - } as any; - }); - }); - - test('can create()', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.create( - { - name: 'some name', - description: 'something something', - }, - { - authMode: 'userPool', - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can get()', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.get({ id: 'asdf' }, { authMode: 'userPool' }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can list()', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - authMode: 'userPool', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can update()', async () => { - const spy = mockApiResponse({ - data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.update( - { - id: 'some-id', - name: 'some other name', - }, - { authMode: 'userPool' }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can delete()', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.delete( - { - id: 'some-id', - }, - { authMode: 'userPool' }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can subscribe to onCreate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onCreateNote: noteToSend, - }, - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onCreate({ - authMode: 'userPool', - }).subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'userPool', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onUpdate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onUpdateNote: noteToSend, - }, - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onUpdate({ - authMode: 'userPool', - }).subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'userPool', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onDelete()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onDeleteNote: noteToSend, - }, - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onDelete({ - authMode: 'userPool', - } as any).subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'userPool', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - describe('can lazy load with inherited authMode', () => { - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get( - { id: 'todo-id' }, - { authMode: 'userPool' }, - ); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.notes(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Note.get( - { id: 'note-id' }, - { - authMode: 'userPool', - }, - ); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.todo(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get( - { id: 'todo-id' }, - { - authMode: 'userPool', - }, - ); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.meta(); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - }); - }); - - describe('can lazy load with overridden authMode', () => { - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get( - { id: 'todo-id' }, - { authMode: 'userPool' }, - ); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.notes({ authMode: 'apiKey' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Note.get( - { id: 'note-id' }, - { - authMode: 'userPool', - }, - ); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.todo({ authMode: 'apiKey' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get( - { id: 'todo-id' }, - { - authMode: 'userPool', - }, - ); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.meta({ authMode: 'apiKey' }); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - }); - }); - }); - - describe('basic model operations - authMode: lambda override at the time of operation', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - - jest - .spyOn(Amplify.Auth, 'fetchAuthSession') - .mockImplementation(async () => { - return { - tokens: { - accessToken: { - toString: () => 'test', - }, - }, - credentials: { - accessKeyId: 'test', - secretAccessKey: 'test', - }, - } as any; - }); - }); - - test('can create()', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.create( - { - name: 'some name', - description: 'something something', - }, - { - authMode: 'lambda', - authToken: 'some-token', - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can get()', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.get( - { id: 'asdf' }, - { authMode: 'lambda', authToken: 'some-token' }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can list()', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - authMode: 'lambda', - authToken: 'some-token', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can update()', async () => { - const spy = mockApiResponse({ - data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.update( - { - id: 'some-id', - name: 'some other name', - }, - { authMode: 'lambda', authToken: 'some-token' }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can delete()', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.models.Todo.delete( - { - id: 'some-id', - }, - { authMode: 'lambda', authToken: 'some-token' }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can subscribe to onCreate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onCreateNote: noteToSend, - }, - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onCreate({ - authMode: 'lambda', - authToken: 'some-token', - }).subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'lambda', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onUpdate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onUpdateNote: noteToSend, - }, - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onUpdate({ - authMode: 'lambda', - authToken: 'some-token', - } as any).subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'lambda', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onDelete()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onDeleteNote: noteToSend, - }, - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onDelete({ - authMode: 'lambda', - authToken: 'some-token', - } as any).subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'lambda', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - describe('can lazy load with inherited authMode', () => { - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get( - { id: 'todo-id' }, - { authMode: 'lambda', authToken: 'some-token' }, - ); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.notes(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Note.get( - { id: 'note-id' }, - { - authMode: 'lambda', - authToken: 'some-token', - }, - ); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.todo(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get( - { id: 'todo-id' }, - { - authMode: 'lambda', - authToken: 'some-token', - }, - ); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.meta(); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - }); - }); - - describe('can lazy load with overridden authMode', () => { - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get( - { id: 'todo-id' }, - { authMode: 'userPool' }, - ); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.notes({ authMode: 'lambda', authToken: 'some-token' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Note.get( - { id: 'note-id' }, - { - authMode: 'userPool', - }, - ); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.todo({ authMode: 'lambda', authToken: 'some-token' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - const { data } = await client.models.Todo.get( - { id: 'todo-id' }, - { - authMode: 'userPool', - }, - ); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.meta({ authMode: 'lambda', authToken: 'some-token' }); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - }); - }); - }); - - describe('basic model operations - authMode: CuP override in the client', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - - jest - .spyOn(Amplify.Auth, 'fetchAuthSession') - .mockImplementation(async () => { - return { - tokens: { - accessToken: { - toString: () => 'test', - }, - }, - credentials: { - accessKeyId: 'test', - secretAccessKey: 'test', - }, - } as any; - }); - }); - - test('can create()', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - await client.models.Todo.create({ - name: 'some name', - description: 'something something', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can get()', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - await client.models.Todo.get({ id: 'asdf' }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can list()', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can update()', async () => { - const spy = mockApiResponse({ - data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - await client.models.Todo.update({ - id: 'some-id', - name: 'some other name', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can delete()', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - await client.models.Todo.delete({ - id: 'some-id', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can subscribe to onCreate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onCreateNote: noteToSend, - }, - }; - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - const onC = client.models.Note.onCreate(); - - onC.subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'userPool', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onUpdate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onUpdateNote: noteToSend, - }, - }; - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onUpdate().subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'userPool', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onDelete()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onDeleteNote: noteToSend, - }, - }; - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onDelete().subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'userPool', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - describe('can lazy load with inherited authMode', () => { - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.notes(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Note.get({ id: 'note-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.todo(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.meta(); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - }); - }); - - describe('can lazy load with overridden authMode', () => { - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.notes({ authMode: 'apiKey' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Note.get({ id: 'note-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.todo({ authMode: 'apiKey' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.meta({ authMode: 'apiKey' }); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - }); - }); - }); - - describe('basic model operations - authMode: lambda override in the client', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - - jest - .spyOn(Amplify.Auth, 'fetchAuthSession') - .mockImplementation(async () => { - return { - tokens: { - accessToken: { - toString: () => 'test', - }, - }, - credentials: { - accessKeyId: 'test', - secretAccessKey: 'test', - }, - } as any; - }); - }); - - test('can create()', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - await client.models.Todo.create({ - name: 'some name', - description: 'something something', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can get()', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - await client.models.Todo.get({ id: 'asdf' }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can list()', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can update()', async () => { - const spy = mockApiResponse({ - data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - await client.models.Todo.update({ - id: 'some-id', - name: 'some other name', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can delete()', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - await client.models.Todo.delete({ - id: 'some-id', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can subscribe to onCreate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onCreateNote: noteToSend, - }, - }; - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onCreate().subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'lambda', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onUpdate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onUpdateNote: noteToSend, - }, - }; - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onUpdate().subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'lambda', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onDelete()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onDeleteNote: noteToSend, - }, - }; - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onDelete().subscribe({ - next(value) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'lambda', - }), - USER_AGENT_DETAILS, - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - describe('can lazy load with inherited authMode', () => { - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.notes(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - const { data } = await client.models.Note.get({ id: 'note-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.todo(); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.meta(); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - }); - }); - - describe('can lazy load with overridden authMode', () => { - test('can lazy load @hasMany', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - listNotes: { - items: [ - { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - }, - ], - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.notes({ authMode: 'lambda', authToken: 'some-token' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @belongsTo', async () => { - mockApiResponse({ - data: { - getNote: { - __typename: 'Note', - ...serverManagedFields, - id: 'note-id', - body: 'some body', - todoNotesId: 'todo-id', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Note.get({ id: 'note-id' }); - - const getChildNotesSpy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - name: 'some name', - description: 'something something', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.todo({ authMode: 'lambda', authToken: 'some-token' }); - - expect(normalizePostGraphqlCalls(getChildNotesSpy)).toMatchSnapshot(); - }); - - test('can lazy load @hasOne', async () => { - mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'todo-id', - body: 'some body', - todoMetaId: 'meta-id', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - const { data } = await client.models.Todo.get({ id: 'todo-id' }); - - const getChildMetaSpy = mockApiResponse({ - data: { - getTodoMetadata: { - __typename: 'TodoMetadata', - ...serverManagedFields, - id: 'meta-id', - data: '{"field":"value"}', - }, - }, - }); - - expect(data).not.toBeNull(); - - await data!.meta({ authMode: 'lambda', authToken: 'some-token' }); - - expect(normalizePostGraphqlCalls(getChildMetaSpy)).toMatchSnapshot(); - }); - }); - }); - - /** - * The following tests ensure that custom headers can be included with both - * API client instantiation and individual model operations. These tests - * also validate that request headers will overwrite client headers. - */ - describe('basic model operations - custom client and request headers', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - }); - - test('can create() - with custom client headers', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - - const { data } = await client.models.Todo.create({ - name: 'some name', - description: 'something something', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can create() - with custom client header functions', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: async () => ({ - 'client-header-function': 'should return this header', - }), - }); - - const { data } = await client.models.Todo.create({ - name: 'some name', - description: 'something something', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can create() - with custom client header functions that pass requestOptions', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: async requestOptions => ({ - 'rq-url': requestOptions?.url || 'should-not-be-present', - 'rq-qs': requestOptions?.queryString || 'should-not-be-present', - 'rq-method': requestOptions?.method || 'should-not-be-present', - }), - }); - - const { data } = await client.models.Todo.create({ - name: 'some name', - description: 'something something', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can create() - with custom request headers', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - - const { data } = await client.models.Todo.create( - { - name: 'some name', - description: 'something something', - }, - { - headers: { - 'request-header': 'should exist', - }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - // Request headers should overwrite client headers: - expect(spy).toHaveBeenCalledWith( - expect.any(AmplifyClassV6), - expect.objectContaining({ - options: expect.objectContaining({ - headers: expect.not.objectContaining({ - 'client-header': 'should not exist', - }), - }), - }), - ); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can create() - with custom request header function', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - - const { data } = await client.models.Todo.create( - { - name: 'some name', - description: 'something something', - }, - { - headers: async () => ({ - 'request-header-function': 'should return this header', - }), - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can create() - with custom request header function that accept requestOptions', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - - const { data } = await client.models.Todo.create( - { - name: 'some name', - description: 'something something', - }, - { - headers: async requestOptions => ({ - 'rq-url': requestOptions?.url || 'should-not-be-present', - 'rq-qs': requestOptions?.queryString || 'should-not-be-present', - 'rq-method': requestOptions?.method || 'should-not-be-present', - }), - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can get() - with custom client headers', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.get({ id: 'asdf' }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can get() - with custom request headers', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - const { data } = await client.models.Todo.get( - { id: 'asdf' }, - { - headers: { - 'request-header': 'should exist', - }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can list() - with custom client headers', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data.length).toBe(1); - expect(data[0]).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can list() - with custom request headers', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - const { data } = await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - headers: { - 'request-header': 'should exist', - }, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(spy).toHaveBeenCalledWith( - expect.any(AmplifyClassV6), - expect.objectContaining({ - options: expect.objectContaining({ - body: expect.objectContaining({ - // match nextToken in selection set - query: expect.stringMatching(/^\s*nextToken\s*$/m), - }), - }), - }), - ); - - expect(data.length).toBe(1); - expect(data[0]).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can update() - with custom client headers', async () => { - const spy = mockApiResponse({ - data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.update({ - id: 'some-id', - name: 'some other name', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some other name', - description: 'something something', - }), - ); - }); - - test('can update() - with custom request headers', async () => { - const spy = mockApiResponse({ - data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.update( - { - id: 'some-id', - name: 'some other name', - }, - { - headers: { - 'request-header': 'should exist', - }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some other name', - description: 'something something', - }), - ); - }); - - test('can delete() - with custom client headers', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.delete({ - id: 'some-id', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('can delete() - with custom request headers', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - const { data } = await client.models.Todo.delete( - { - id: 'some-id', - }, - { - headers: { - 'request-header': 'should exist', - }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can subscribe to onCreate() - with custom headers', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onCreateNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const customHeaders = { - 'subscription-header': 'should-exist', - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onCreate({ - filter: graphqlVariables.filter, - headers: customHeaders, - }).subscribe({ - next(value) { - expectSubWithHeaders( - spy, - 'onCreateNote', - graphqlVariables, - customHeaders, - ); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onCreate() - with a custom header function', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onCreateNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const customHeaders = { - 'subscription-header-function': 'should-return-this-header', - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onCreate({ - filter: graphqlVariables.filter, - headers: async () => customHeaders, - }).subscribe({ - next(value) { - expectSubWithHeadersFn(spy, 'onCreateNote', graphqlVariables); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onCreate() - with a custom header function that accepts requestOptions', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onCreateNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onCreate({ - filter: graphqlVariables.filter, - headers: async requestOptions => ({ - 'rq-url': requestOptions?.url || 'should-not-be-present', - 'rq-qs': requestOptions?.queryString || 'should-not-be-present', - 'rq-method': requestOptions?.method || 'should-not-be-present', - }), - }).subscribe({ - next(value) { - expectSubWithHeadersFn(spy, 'onCreateNote', graphqlVariables); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onUpdate()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onUpdateNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const customHeaders = { - 'subscription-header': 'should-exist', - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onUpdate({ - filter: graphqlVariables.filter, - headers: customHeaders, - }).subscribe({ - next(value) { - expectSubWithHeaders( - spy, - 'onUpdateNote', - graphqlVariables, - customHeaders, - ); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onDelete()', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onDeleteNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const customHeaders = { - 'subscription-header': 'should-exist', - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onDelete({ - filter: graphqlVariables.filter, - headers: customHeaders, - }).subscribe({ - next(value) { - expectSubWithHeaders( - spy, - 'onDeleteNote', - graphqlVariables, - customHeaders, - ); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - }); - describe('basic model operations with Amplify configuration options headers', () => { - beforeEach(() => { - jest.clearAllMocks(); - - Amplify.configure(configFixture as any, { - API: { - GraphQL: { - // This is what we're testing: - headers: async () => ({ - Authorization: 'amplify-config-auth-token', - }), - }, - }, - }); - }); - - test('can create() - with library config headers', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - - const { data } = await client.models.Todo.create({ - name: 'some name', - description: 'something something', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can create() - custom client headers should not overwrite library config headers', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - - const { data } = await client.models.Todo.create({ - name: 'some name', - description: 'something something', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can create() - custom request headers should not overwrite library config headers', async () => { - const spy = mockApiResponse({ - data: { - createTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - }); - - const { data } = await client.models.Todo.create( - { - name: 'some name', - description: 'something something', - }, - { - headers: { - 'request-header': 'should exist', - }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can get() - custom client headers should not overwrite library config headers', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.get({ id: 'asdf' }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can get() - custom request headers overwrite client headers, but not library config headers', async () => { - const spy = mockApiResponse({ - data: { - getTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - const { data } = await client.models.Todo.get( - { id: 'asdf' }, - { - headers: { - 'request-header': 'should exist', - }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can list() - custom client headers should not overwrite library config headers', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data.length).toBe(1); - expect(data[0]).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can list() - custom request headers should overwrite client headers but not library config headers', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - const { data } = await client.models.Todo.list({ - filter: { name: { contains: 'name' } }, - headers: { - 'request-header': 'should exist', - }, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(spy).toHaveBeenCalledWith( - expect.any(AmplifyClassV6), - expect.objectContaining({ - options: expect.objectContaining({ - body: expect.objectContaining({ - // match nextToken in selection set - query: expect.stringMatching(/^\s*nextToken\s*$/m), - }), - }), - }), - ); - - expect(data.length).toBe(1); - expect(data[0]).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can update() - custom client headers should not overwrite library config headers', async () => { - const spy = mockApiResponse({ - data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.update({ - id: 'some-id', - name: 'some other name', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some other name', - description: 'something something', - }), - ); - }); - - test('can update() - custom request headers should overwrite client headers but not library config headers', async () => { - const spy = mockApiResponse({ - data: { - updateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some other name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.update( - { - id: 'some-id', - name: 'some other name', - }, - { - headers: { - 'request-header': 'should exist', - }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some other name', - description: 'something something', - }), - ); - }); - - test('can delete() - custom client headers should not overwrite library config headers', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should exist', - }, - }); - const { data } = await client.models.Todo.delete({ - id: 'some-id', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can delete() - custom request headers should overwrite client headers but not library config headers', async () => { - const spy = mockApiResponse({ - data: { - deleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - headers: { - 'client-header': 'should not exist', - }, - }); - const { data } = await client.models.Todo.delete( - { - id: 'some-id', - }, - { - headers: { - 'request-header': 'should exist', - }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - owner: 'wirejobviously', - name: 'some name', - description: 'something something', - }), - ); - }); - - test('can subscribe to onCreate() - with custom headers and library config headers', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onCreateNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const customHeaders = { - 'subscription-header': 'should-exist', - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onCreate({ - filter: graphqlVariables.filter, - headers: customHeaders, - }).subscribe({ - next(value) { - // This util checks for the existence of library config headers: - expectSubWithlibraryConfigHeaders( - spy, - 'onCreateNote', - graphqlVariables, - customHeaders, - ); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onUpdate() - with a custom header and library config headers', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onUpdateNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const customHeaders = { - 'subscription-header': 'should-exist', - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onUpdate({ - filter: graphqlVariables.filter, - headers: customHeaders, - }).subscribe({ - next(value) { - // This util checks for the existence of library config headers: - expectSubWithlibraryConfigHeaders( - spy, - 'onUpdateNote', - graphqlVariables, - customHeaders, - ); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - - test('can subscribe to onDelete() - with custom headers and library config headers', done => { - const noteToSend = { - __typename: 'Note', - ...serverManagedFields, - body: 'a very good note', - }; - - const graphqlMessage = { - data: { - onDeleteNote: noteToSend, - }, - }; - - const graphqlVariables = { - filter: { - body: { contains: 'good note' }, - }, - }; - - const customHeaders = { - 'subscription-header': 'should-exist', - }; - - const client = generateClient({ amplify: Amplify }); - - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - - client.models.Note.onDelete({ - filter: graphqlVariables.filter, - headers: customHeaders, - }).subscribe({ - next(value) { - // This util checks for the existence of library config headers: - expectSubWithlibraryConfigHeaders( - spy, - 'onDeleteNote', - graphqlVariables, - customHeaders, - ); - expect(value).toEqual(expect.objectContaining(noteToSend)); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); - }); - }); - - describe('observeQuery', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - }); - - test('can see initial results', done => { - const client = generateClient({ amplify: Amplify }); - - mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - nextToken: null, - }, - }, - }); - - const { streams, spy } = makeAppSyncStreams(); - - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - expect(isSynced).toBe(true); - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }), - ]); - done(); - }, - }); - }); - - test('can paginate through initial results', done => { - const client = generateClient({ amplify: Amplify }); - const { streams } = makeAppSyncStreams(); - - let spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'first todo', - description: 'something something first', - }, - ], - nextToken: 'sometoken', - }, - }, - }); - - let isFirstResult = true; - - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - if (isFirstResult) { - isFirstResult = false; - expect(isSynced).toBe(false); - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'first todo', - description: 'something something first', - }), - ]); - spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'second todo', - description: 'something something second', - }, - ], - nextToken: undefined, - }, - }, - }); - } else { - expect(isSynced).toBe(true); - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'first todo', - description: 'something something first', - }), - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'second todo', - description: 'something something second', - }), - ]); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - done(); - } - }, - }); - }); - - test('can see creates - with non-empty query result', done => { - const client = generateClient({ amplify: Amplify }); - - mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }, - ], - nextToken: null, - }, - }, - }); - - const { streams, spy } = makeAppSyncStreams(); - - let firstSnapshot = true; - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - if (firstSnapshot) { - firstSnapshot = false; - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }), - ]); - setTimeout(() => { - streams.create?.next({ - data: { - onCreateTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'different-id', - name: 'observed record', - description: 'something something', - }, - }, - }); - }, 1); - } else { - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }), - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - id: 'different-id', - name: 'observed record', - description: 'something something', - }), - ]); - done(); - } - }, - }); - }); - - test('can see creates - with empty query result', done => { - const client = generateClient({ amplify: Amplify }); - - mockApiResponse({ - data: { - listTodos: { - items: [], - nextToken: null, - }, - }, - }); - - const { streams, spy } = makeAppSyncStreams(); - - let firstSnapshot = true; - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - if (firstSnapshot) { - firstSnapshot = false; - expect(items).toEqual([]); - setTimeout(() => { - streams.create?.next({ - data: { - onCreateTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'observed-id', - name: 'observed record', - description: 'something something', - }, - }, - }); - }, 1); - } else { - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - id: 'observed-id', - name: 'observed record', - description: 'something something', - }), - ]); - done(); - } - }, - }); - }); - - test('can see onCreates that are received prior to fetch completion', done => { - const client = generateClient({ amplify: Amplify }); - - // to record which order - const callSequence = [] as string[]; - - // get an API list response "started", but delayed, so that it returns - // *after* we get a subscription messages sent to the client. - mockApiResponse( - new Promise(resolve => { - const result = { - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }, - ], - nextToken: null, - }, - }, - }; - setTimeout(() => { - callSequence.push('list'); - resolve(result); - }, 15); - }), - ); - - const { streams, spy } = makeAppSyncStreams(); - - let firstSnapshot = true; - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - if (firstSnapshot) { - firstSnapshot = false; - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }), - ]); - } else { - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }), - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - id: 'different-id', - name: 'observed record', - description: 'something something', - }), - ]); - expect(callSequence).toEqual(['onCreate', 'list']); - done(); - } - }, - }); - - streams.create?.next({ - data: { - onCreateTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'different-id', - name: 'observed record', - description: 'something something', - }, - }, - }); - callSequence.push('onCreate'); - }); - - test('can see onUpdates that are received prior to fetch completion', done => { - const client = generateClient({ amplify: Amplify }); - - // to record which order - const callSequence = [] as string[]; - - // get an API list response "started", but delayed, so that it returns - // *after* we get a subscription messages sent to the client. - mockApiResponse( - new Promise(resolve => { - const result = { - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }, - ], - nextToken: null, - }, - }, - }; - setTimeout(() => { - callSequence.push('list'); - resolve(result); - }, 15); - }), - ); - - const { streams, spy } = makeAppSyncStreams(); - - let firstSnapshot = true; - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - if (firstSnapshot) { - firstSnapshot = false; - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }), - ]); - } else { - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record - UPDATED', - description: 'something something', - }), - ]); - expect(callSequence).toEqual(['onUpdate', 'list']); - done(); - } - }, - }); - - streams.update?.next({ - data: { - onUpdateTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'some-id', - name: 'initial record - UPDATED', - description: 'something something', - }, - }, - }); - callSequence.push('onUpdate'); - }); - - test('can see onDeletes that are received prior to fetch completion', done => { - const client = generateClient({ amplify: Amplify }); - - // to record which order - const callSequence = [] as string[]; - - // get an API list response "started", but delayed, so that it returns - // *after* we get a subscription messages sent to the client. - mockApiResponse( - new Promise(resolve => { - const result = { - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }, - ], - nextToken: null, - }, - }, - }; - setTimeout(() => { - callSequence.push('list'); - resolve(result); - }, 15); - }), - ); - - const { streams, spy } = makeAppSyncStreams(); - - let firstSnapshot = true; - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - if (firstSnapshot) { - firstSnapshot = false; - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }), - ]); - } else { - expect(items).toEqual([]); - expect(callSequence).toEqual(['onDelete', 'list']); - done(); - } - }, - }); - - streams.delete?.next({ - data: { - onDeleteTodo: { - __typename: 'Todo', - ...serverManagedFields, - id: 'some-id', - name: 'initial record', - description: 'something something', - }, - }, - }); - callSequence.push('onDelete'); - }); - - test('can see updates', done => { - const client = generateClient({ amplify: Amplify }); - - mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }, - ], - nextToken: null, - }, - }, - }); - - const { streams, spy } = makeAppSyncStreams(); - - let firstSnapshot = true; - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - if (firstSnapshot) { - firstSnapshot = false; - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }), - ]); - setTimeout(() => { - streams.update?.next({ - data: { - onCreateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'updated record', - description: 'something something', - }, - }, - }); - }, 1); - } else { - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'updated record', - description: 'something something', - }), - ]); - done(); - } - }, - }); - }); - - test('can see deletions', done => { - const client = generateClient({ amplify: Amplify }); - - mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }, - ], - nextToken: null, - }, - }, - }); - - const { streams, spy } = makeAppSyncStreams(); - - let firstSnapshot = true; - client.models.Todo.observeQuery().subscribe({ - next({ items, isSynced }) { - if (firstSnapshot) { - firstSnapshot = false; - expect(items).toEqual([ - expect.objectContaining({ - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }), - ]); - setTimeout(() => { - streams.delete?.next({ - data: { - onCreateTodo: { - __typename: 'Todo', - ...serverManagedFields, - name: 'initial record', - description: 'something something', - }, - }, - }); - }, 1); - } else { - expect(items).toEqual([]); - done(); - } - }, - }); - }); - - describe('auth modes', () => { - beforeEach(async () => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - - jest - .spyOn(Amplify.Auth, 'fetchAuthSession') - .mockImplementation(async () => { - return { - tokens: { - accessToken: { - toString: () => 'test', - }, - }, - credentials: { - accessKeyId: 'test', - secretAccessKey: 'test', - }, - } as any; - }); - }); - - test('uses configured authMode by default', done => { - const client = generateClient({ amplify: Amplify }); - mockApiResponse({ - data: { - listTodos: { - items: [], - nextToken: null, - }, - }, - }); - const { spy } = makeAppSyncStreams(); - client.models.Todo.observeQuery().subscribe({ - next() { - for (const op of ['onCreateTodo', 'onUpdateTodo', 'onDeleteTodo']) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - query: expect.stringContaining(op), - // configured fixture value is expected be `apiKey` for this test - authenticationType: 'apiKey', - }), - USER_AGENT_DETAILS, - ); - } - done(); - }, - }); - }); - - test('uses provided authMode at call site', done => { - const client = generateClient({ amplify: Amplify }); - mockApiResponse({ - data: { - listTodos: { - items: [], - nextToken: null, - }, - }, - }); - const { spy } = makeAppSyncStreams(); - client.models.Todo.observeQuery({ authMode: 'userPool' }).subscribe({ - next() { - for (const op of ['onCreateTodo', 'onUpdateTodo', 'onDeleteTodo']) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - query: expect.stringContaining(op), - authenticationType: 'userPool', - }), - USER_AGENT_DETAILS, - ); - } - done(); - }, - }); - }); - - test('uses provided authToken at call site', done => { - const client = generateClient({ amplify: Amplify }); - mockApiResponse({ - data: { - listTodos: { - items: [], - nextToken: null, - }, - }, - }); - const { spy } = makeAppSyncStreams(); - client.models.Todo.observeQuery({ - authMode: 'lambda', - authToken: 'some-token', - }).subscribe({ - next() { - for (const op of ['onCreateTodo', 'onUpdateTodo', 'onDeleteTodo']) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - query: expect.stringContaining(op), - authenticationType: 'lambda', - authToken: 'some-token', - }), - USER_AGENT_DETAILS, - ); - } - done(); - }, - }); - }); - - test('uses provided authMode from the client', done => { - const client = generateClient({ - amplify: Amplify, - authMode: 'userPool', - }); - mockApiResponse({ - data: { - listTodos: { - items: [], - nextToken: null, - }, - }, - }); - const { spy } = makeAppSyncStreams(); - client.models.Todo.observeQuery().subscribe({ - next() { - for (const op of ['onCreateTodo', 'onUpdateTodo', 'onDeleteTodo']) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - query: expect.stringContaining(op), - authenticationType: 'userPool', - }), - USER_AGENT_DETAILS, - ); - } - done(); - }, - }); - }); - - test('uses provided authToken from the client', done => { - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'some-token', - }); - mockApiResponse({ - data: { - listTodos: { - items: [], - nextToken: null, - }, - }, - }); - const { spy } = makeAppSyncStreams(); - client.models.Todo.observeQuery().subscribe({ - next() { - for (const op of ['onCreateTodo', 'onUpdateTodo', 'onDeleteTodo']) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - query: expect.stringContaining(op), - authenticationType: 'lambda', - authToken: 'some-token', - }), - USER_AGENT_DETAILS, - ); - } - done(); - }, - }); - }); - }); - }); - - describe('graphql default auth', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure({ - ...configFixture, - aws_appsync_authenticationType: 'AWS_IAM', // make IAM default - } as any); - - jest - .spyOn(Amplify.Auth, 'fetchAuthSession') - .mockImplementation(async () => { - return { - credentials: { - accessKeyId: 'test', - secretAccessKey: 'test', - }, - } as any; - }); - }); - - test('default iam produces expected signingInfo', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - await client.graphql({ - query: `query { listTodos { __typename id owner createdAt updatedAt name description } }`, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - }); - - describe('graphql - client-level auth override', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture as any); - - jest - .spyOn(Amplify.Auth, 'fetchAuthSession') - .mockImplementation(async () => { - return { - credentials: { - accessKeyId: 'test', - secretAccessKey: 'test', - }, - } as any; - }); - }); - - test('client auth override query', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - // API key is the default auth mode for this API - const client = generateClient({ amplify: Amplify, authMode: 'iam' }); - await client.graphql({ - query: `query { listTodos { __typename id owner createdAt updatedAt name description } }`, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('client auth override query - lambda', async () => { - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - // API key is the default auth mode for this API - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'trustno1', - }); - await client.graphql({ - query: `query { listTodos { __typename id owner createdAt updatedAt name description } }`, - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - }); - - describe('index queries', () => { - beforeEach(() => { - jest.clearAllMocks(); - Amplify.configure(configFixture); - }); - - test('PK-only index query', async () => { - const spy = mockApiResponse({ - data: { - listByTitle: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - title: 'Hello World', - description: 'something something', - }, - ], - }, - }, + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); }); - const client = generateClient({ amplify: Amplify }); - - const { data } = - await client.models.SecondaryIndexModel.listSecondaryIndexModelByTitle({ - title: 'Hello World', + test('with custom client header functions', async () => { + const client = generateClient({ + amplify: Amplify, + headers: async () => ({ + 'client-header-function': 'should return this header', + }), }); - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data.length).toBe(1); - expect(data[0]).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - title: 'Hello World', - description: 'something something', - }), - ); - }); - - test('PK and SK index query', async () => { - const spy = mockApiResponse({ - data: { - listByDescriptionAndViewCount: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - title: 'Hello World', - description: 'something something', - viewCount: 5, - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - - const { data } = - await client.models.SecondaryIndexModel.listSecondaryIndexModelByDescriptionAndViewCount( - { - description: 'something something', - viewCount: { gt: 4 }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data.length).toBe(1); - expect(data[0]).toEqual( - expect.objectContaining({ - __typename: 'Todo', - id: 'some-id', - title: 'Hello World', - description: 'something something', - viewCount: 5, - }), - ); - }); - - test('PK and SK index query, with sort direction (ascending)', async () => { - const spy = mockApiResponse({ - data: { - listByDescriptionAndViewCount: { - items: [ - { - __typename: 'SecondaryIndexModel', - ...serverManagedFields, - title: 'first', - description: 'match', - viewCount: 1, - }, - { - __typename: 'SecondaryIndexModel', - ...serverManagedFields, - title: 'second', - description: 'match', - viewCount: 2, - }, - { - __typename: 'SecondaryIndexModel', - ...serverManagedFields, - title: 'third', - description: 'match', - viewCount: 3, - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - - const { data } = - await client.models.SecondaryIndexModel.listSecondaryIndexModelByDescriptionAndViewCount( - { - description: 'match', - viewCount: { lt: 4 }, - }, - { - sortDirection: 'ASC', - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data.length).toBe(3); - }); - - test('PK and SK index query, with sort direction (descending)', async () => { - const spy = mockApiResponse({ - data: { - listByDescriptionAndViewCount: { - items: [ - { - __typename: 'SecondaryIndexModel', - ...serverManagedFields, - title: 'third', - description: 'match', - viewCount: 3, - }, - { - __typename: 'SecondaryIndexModel', - ...serverManagedFields, - title: 'second', - description: 'match', - viewCount: 2, - }, - { - __typename: 'SecondaryIndexModel', - ...serverManagedFields, - title: 'first', - description: 'match', - viewCount: 1, - }, - ], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - - const { data } = - await client.models.SecondaryIndexModel.listSecondaryIndexModelByDescriptionAndViewCount( - { - description: 'match', - viewCount: { lt: 4 }, - }, - { - sortDirection: 'DESC', - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - - expect(data.length).toBe(3); - }); - }); - - describe('custom operations', () => { - beforeEach(() => { - jest.clearAllMocks(); - jest.resetAllMocks(); - jest.restoreAllMocks(); - - Amplify.configure(configFixture as any); - - jest - .spyOn(Amplify.Auth, 'fetchAuthSession') - .mockImplementation(async () => { - return { - tokens: { - accessToken: { - toString: () => 'test', - }, - }, - credentials: { - accessKeyId: 'test', - secretAccessKey: 'test', - }, - } as any; + await client.models.Todo.get({ + id: 'a1', }); - }); - - test('can query with returnType of customType', async () => { - const spy = mockApiResponse({ - data: { - echo: { - resultContent: 'echo result content', - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - }); - const result = await client.queries.echo({ - argumentContent: 'echo argumentContent value', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - expect(result?.data).toEqual({ - resultContent: 'echo result content', - }); - }); - - test('can query with returnType of nested custom types', async () => { - const mockReturnData = { - note: 'test node', - productMeta: { - releaseDate: '2024-03-04', - status: 'in_production', - deepMeta: { - content: 'test deep meta content', - }, - }, - }; - const spy = mockApiResponse({ - data: { - echoNestedCustomTypes: mockReturnData, - }, - }); - - const client = generateClient({ - amplify: Amplify, - }); - const result = await client.queries.echoNestedCustomTypes({ - input: 'test input', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - expect(result?.data).toEqual(mockReturnData); - }); - - test('can query with returnType of a model that has nested custom types', async () => { - const mockReturnData = { - sku: 'sku', - factoryId: 'factoryId', - warehouseId: 'warehouseId', - description: 'description', - trackingMeta: { - productMeta: { - releaseDate: '2024-03-04', - status: 'discontinued', - deepMeta: { - content: 'test content', - }, - }, - note: 'test note', - }, - }; - const spy = mockApiResponse({ - data: { - echoNestedCustomTypes: mockReturnData, - }, - }); - const client = generateClient({ - amplify: Amplify, - }); - const result = await client.queries.echoModelHasNestedTypes({ - input: 'test input', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - expect(result?.data).toMatchObject( - expect.objectContaining(mockReturnData), - ); - }); - - test('can query with returnType of string', async () => { - const spy = mockApiResponse({ - data: { - echoString: 'echo result content', - }, - }); - - const client = generateClient({ - amplify: Amplify, - }); - const result = await client.queries.echoString({ - inputString: 'echo argumentContent value', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - expect(result?.data).toEqual('echo result content'); - }); - - test('can mutate with returnType of customType', async () => { - const spy = mockApiResponse({ - data: { - likePost: { - likes: 123, - }, - }, - }); - - const client = generateClient({ - amplify: Amplify, - }); - const result = await client.mutations.likePost({ - postId: 'post-abc', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - expect(result?.data).toEqual({ - likes: 123, - }); - }); - - test('can mutate with returnType of model (Post)', async () => { - const likePostReturnPost = { - id: 'post-123', - content: 'some really slick content', - owner: null, - createdAt: '2024-02-21T21:30:29.826Z', - updatedAt: '2024-02-21T21:30:29.826Z', - }; - - const spy = mockApiResponse({ - data: { likePostReturnPost }, - }); - - const client = generateClient({ - amplify: Amplify, - }); - const result = await client.mutations.likePostReturnPost({ - postId: 'post-abc', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - expect(result?.data).toEqual(expect.objectContaining(likePostReturnPost)); - }); - - test('can return model (Post) that with lazy-loading props', async () => { - const likePostReturnPost = { - id: 'post-123', - content: 'some really slick content', - owner: null, - createdAt: '2024-02-21T21:30:29.826Z', - updatedAt: '2024-02-21T21:30:29.826Z', - }; - - mockApiResponse({ - data: { likePostReturnPost }, - }); - - const client = generateClient({ - amplify: Amplify, - }); - const result = await client.mutations.likePostReturnPost({ - postId: 'post-abc', - }); - - const listCommentItem = { - content: 'some content', - createdAt: '2024-02-09T16:42:52.486Z', - id: 'comment123', - owner: '8d0a5587-1d0f-4d05-b120-ecae23ee1f0e', - postCommentsId: 'post-123', - updatedAt: '2024-02-09T16:42:52.486Z', - }; - - const lazyLoadCommentsSpy = mockApiResponse({ - data: { - listComments: { - items: [listCommentItem], - nextToken: null, - }, - }, + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); }); - expect(result.data).not.toBeNull(); + test('with custom client header functions that pass requestOptions', async () => { + const client = generateClient({ + amplify: Amplify, + headers: async requestOptions => ({ + 'rq-url': requestOptions?.url || 'should-not-be-present', + 'rq-qs': requestOptions?.queryString || 'should-not-be-present', + 'rq-method': requestOptions?.method || 'should-not-be-present', + }), + }); - const { data: comments } = await result.data!.comments(); + await client.models.Todo.get({ + id: 'a1', + }); - expect(normalizePostGraphqlCalls(lazyLoadCommentsSpy)).toMatchSnapshot(); - expect(comments[0]).toEqual(expect.objectContaining(listCommentItem)); - }); + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); + }); - test('can subscribe to custom subscription', done => { - const postToSend = { - __typename: 'Post', - ...serverManagedFields, - content: 'a lovely post', - }; + test('with custom request headers', async () => { + const client = generateClient({ + amplify: Amplify, + headers: { + 'client-header': 'should not exist', + }, + }); - const graphqlMessage = { - data: { - onPostLiked: postToSend, - }, - }; + await client.models.Todo.get( + { + id: 'a1', + }, + { + headers: { + 'request-header': 'should exist', + }, + }, + ); - const client = generateClient({ amplify: Amplify }); + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; + // Request headers should overwrite client headers: + expect(spy).toHaveBeenCalledWith( + expect.any(AmplifyClassV6), + expect.objectContaining({ + options: expect.objectContaining({ + headers: expect.not.objectContaining({ + 'client-header': 'should not exist', + }), + }), + }), + ); + }); + + test('with custom request header function', async () => { + const client = generateClient({ + amplify: Amplify, + headers: { + 'client-header': 'should not exist', + }, + }); - const spyGql = jest.spyOn(raw.GraphQLAPI as any, 'graphql'); + await client.models.Todo.get( + { + id: 'a1', + }, + { + headers: async () => ({ + 'request-header-function': 'should return this header', + }), + }, + ); - const expectedOperation = 'subscription'; - const expectedFieldAndSelectionSet = - 'onPostLiked {id content owner createdAt updatedAt}'; + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); + }); - const sub = client.subscriptions.onPostLiked().subscribe({ - next(value) { - expect(value).toEqual(expect.objectContaining(postToSend)); + test('with custom request header function that accept requestOptions', async () => { + const client = generateClient({ + amplify: Amplify, + headers: { + 'client-header': 'should not exist', + }, + }); - expect(spyGql).toHaveBeenCalledWith( - expect.anything(), - expect.objectContaining({ - query: expect.stringContaining(expectedOperation), - variables: {}, - }), - expect.anything(), - ); - expect(spyGql).toHaveBeenCalledWith( - expect.anything(), - expect.objectContaining({ - query: expect.stringContaining(expectedFieldAndSelectionSet), - variables: {}, + await client.models.Todo.get( + { + id: 'a1', + }, + { + headers: async requestOptions => ({ + 'rq-url': requestOptions?.url || 'should-not-be-present', + 'rq-qs': requestOptions?.queryString || 'should-not-be-present', + 'rq-method': requestOptions?.method || 'should-not-be-present', }), - expect.anything(), - ); - done(); - }, - error(error) { - expect(error).toBeUndefined(); - done('bad news!'); - }, - }); + }, + ); - sub.unsubscribe(); + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); + }); }); - test('can subscribe to custom subscription with args', done => { - const postToSend = { - __typename: 'Post', + describe('Subscribe', () => { + const noteToSend = { + __typename: 'Note', ...serverManagedFields, - postId: 'abc123', - content: 'a lovely post', + body: 'a very good note', }; const graphqlMessage = { data: { - onPostLiked: postToSend, + onCreateNote: noteToSend, }, }; - const client = generateClient({ amplify: Amplify }); + const graphqlVariables = { + filter: { + body: { contains: 'good note' }, + }, + }; - const spy = jest.fn(() => from([graphqlMessage])); - (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; + test('with custom headers', done => { + const customHeaders = { + 'subscription-header': 'should-exist', + }; - const spyGql = jest.spyOn(raw.GraphQLAPI as any, 'graphql'); + const client = generateClient({ amplify: Amplify }); - const expectedOperation = 'subscription($postId: String)'; - const expectedFieldAndSelectionSet = - 'onPostUpdated(postId: $postId) {id content owner createdAt updatedAt}'; + const spy = jest.fn(() => from([graphqlMessage])); + (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - const sub = client.subscriptions - .onPostUpdated({ postId: 'abc123' }) - .subscribe({ + client.models.Note.onCreate({ + filter: graphqlVariables.filter, + headers: customHeaders, + }).subscribe({ next(value) { - expect(value).toEqual(expect.objectContaining(postToSend)); - - expect(spyGql).toHaveBeenCalledWith( - expect.anything(), - expect.objectContaining({ - query: expect.stringContaining(expectedOperation), - - variables: { postId: 'abc123' }, - }), - expect.anything(), - ); - expect(spyGql).toHaveBeenCalledWith( - expect.anything(), - expect.objectContaining({ - query: expect.stringContaining(expectedFieldAndSelectionSet), - - variables: { postId: 'abc123' }, - }), - expect.anything(), + expectSubWithHeaders( + spy, + 'onCreateNote', + graphqlVariables, + customHeaders, ); + expect(value).toEqual(expect.objectContaining(noteToSend)); done(); }, error(error) { @@ -5827,207 +493,188 @@ describe('generateClient', () => { done('bad news!'); }, }); - - sub.unsubscribe(); - }); - - test('includes client level headers', async () => { - const spy = mockApiResponse({ - data: { - echo: { - resultContent: 'echo result content', - }, - }, }); - const client = generateClient({ - amplify: Amplify, - headers: { - someHeader: 'some header value', - }, - }); - await client.queries.echo({ - argumentContent: 'echo argumentContent value', - }); + test('with a custom header function', done => { + const customHeaders = { + 'subscription-header-function': 'should-return-this-header', + }; - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); + const client = generateClient({ amplify: Amplify }); - test('includes call level headers', async () => { - const spy = mockApiResponse({ - data: { - echo: { - resultContent: 'echo result content', - }, - }, - }); + const spy = jest.fn(() => from([graphqlMessage])); + (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - const client = generateClient({ - amplify: Amplify, - }); - await client.queries.echo( - { - argumentContent: 'echo argumentContent value', - }, - { - headers: { - callSiteHeaders: 'some header value', + client.models.Note.onCreate({ + filter: graphqlVariables.filter, + headers: async () => customHeaders, + }).subscribe({ + next(value) { + expectSubWithHeadersFn(spy, 'onCreateNote', graphqlVariables); + expect(value).toEqual(expect.objectContaining(noteToSend)); + done(); }, - }, - ); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - - test('uses client authMode', async () => { - const spy = mockApiResponse({ - data: { - echo: { - resultContent: 'echo result content', + error(error) { + expect(error).toBeUndefined(); + done('bad news!'); }, - }, + }); }); - const client = generateClient({ - amplify: Amplify, - authMode: 'lambda', - authToken: 'my-auth-token', - }); - await client.queries.echo({ - argumentContent: 'echo argumentContent value', - }); + test('with a custom header function that accepts requestOptions', done => { + const client = generateClient({ amplify: Amplify }); - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); + const spy = jest.fn(() => from([graphqlMessage])); + (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - test('uses call site authMode', async () => { - const spy = mockApiResponse({ - data: { - echo: { - resultContent: 'echo result content', + client.models.Note.onCreate({ + filter: graphqlVariables.filter, + headers: async requestOptions => ({ + 'rq-url': requestOptions?.url || 'should-not-be-present', + 'rq-qs': requestOptions?.queryString || 'should-not-be-present', + 'rq-method': requestOptions?.method || 'should-not-be-present', + }), + }).subscribe({ + next(value) { + expectSubWithHeadersFn(spy, 'onCreateNote', graphqlVariables); + expect(value).toEqual(expect.objectContaining(noteToSend)); + done(); }, - }, + error(error) { + expect(error).toBeUndefined(); + done('bad news!'); + }, + }); }); + }); + }); - const client = generateClient({ - amplify: Amplify, - }); - await client.queries.echo( - { - argumentContent: 'echo argumentContent value', - }, - { - authMode: 'lambda', - authToken: 'my-auth-token', - }, - ); + describe('basic model operations with Amplify configuration options headers', () => { + let spy: jest.SpyInstance; - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); + const configHeaders = { + Authorization: 'amplify-config-auth-token', + }; - test('uses config level headers if available', async () => { + beforeEach(() => { Amplify.configure(configFixture as any, { API: { GraphQL: { - headers: async () => ({ - 'config-level-header': 'config header value', - }), + // This is what we're testing: + headers: async () => configHeaders, }, }, }); - const spy = mockApiResponse({ + spy = mockApiResponse({ data: { - echo: { - resultContent: 'echo result content', + getTodo: { + __typename: 'Todo', + ...serverManagedFields, + name: 'some name', + description: 'something something', }, }, }); + }); + test('config & client headers', async () => { const client = generateClient({ amplify: Amplify, + headers: { + 'client-header': 'should exist', + }, }); - const result = await client.queries.echo({ - argumentContent: 'echo argumentContent value', + + await client.models.Todo.get({ + id: 'some-id', }); expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); }); - test('graphql error handling', async () => { - mockApiResponse({ - data: null, - errors: [{ message: 'some graphql error' }], - }); - + test('custom client headers should not overwrite library config headers', async () => { const client = generateClient({ amplify: Amplify, + headers: { + Authorization: 'client-level-header', + }, }); - const { data, errors } = await client.queries.echo({ - argumentContent: 'echo argumentContent value', + + await client.models.Todo.get({ + id: 'some-id', }); - expect(data).toBeNull(); - expect(errors).toEqual([{ message: 'some graphql error' }]); + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); }); - test('network error handling', async () => { - jest - .spyOn((raw.GraphQLAPI as any)._api, 'post') - .mockImplementation(async () => { - // not strictly what I expect a network error will look like, - // but represents the guts of `post` throwing any generic error. - throw new Error('Network error'); - }); - + test('custom request headers should not overwrite library config headers', async () => { const client = generateClient({ amplify: Amplify, }); - const { data, errors } = await client.queries.echo({ - argumentContent: 'echo argumentContent value', - }); + const { data } = await client.models.Todo.get( + { + id: 'some-id', + }, + { + headers: { + Authorization: 'request-level-header', + }, + }, + ); - // TODO: data should actually be null/undefined, pending discussion and fix. - // This is not strictly related to custom ops. - expect(data).toBeNull(); - expect(errors).toEqual([{ message: 'Network error' }]); + expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); }); - test('core error handling', async () => { - // Basically, we want to ensure exceptions we throw aren't simply swallowed. - // The list of errors that are thrown appears to be pretty small, since we - // package up a lot of different errors types into `{ errors }` as possible. - // But, a clear example where this doesn't occur is request cancellations. + test('subscribe - with custom headers and library config headers', done => { + const noteToSend = { + __typename: 'Note', + ...serverManagedFields, + body: 'a very good note', + }; - mockApiResponse( - new Promise(resolve => { - // slight delay to give us time to cancel the request. - setTimeout( - () => - resolve({ - data: { - echo: { - resultContent: 'echo result content', - }, - }, - }), - 1, - ); - }), - ); + const graphqlMessage = { + data: { + onCreateNote: noteToSend, + }, + }; - const client = generateClient({ - amplify: Amplify, - }); + const graphqlVariables = { + filter: { + body: { contains: 'good note' }, + }, + }; - const result = client.queries.echo({ - argumentContent: 'echo argumentContent value', - }); + const customHeaders = { + 'subscription-header': 'should-exist', + }; + + const client = generateClient({ amplify: Amplify }); - client.cancel(result); + const spy = jest.fn(() => from([graphqlMessage])); + (raw.GraphQLAPI as any).appSyncRealTime = { subscribe: spy }; - expect(result).resolves.toThrow(); + client.models.Note.onCreate({ + filter: graphqlVariables.filter, + headers: customHeaders, + }).subscribe({ + async next() { + // This util checks for the existence of library config headers: + await expectSubWithlibraryConfigHeaders( + spy, + 'onCreateNote', + graphqlVariables, + customHeaders, + configHeaders, + ); + done(); + }, + error(error) { + expect(error).toBeUndefined(); + done('bad news!'); + }, + }); }); }); }); diff --git a/packages/api-graphql/__tests__/internals/implicit-auth-fields.test.ts b/packages/api-graphql/__tests__/internals/implicit-auth-fields.test.ts deleted file mode 100644 index 91f487f4288..00000000000 --- a/packages/api-graphql/__tests__/internals/implicit-auth-fields.test.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { Amplify } from '@aws-amplify/core'; -import { generateClient } from '../../src/internals'; -import configFixture from '../fixtures/modeled/amplifyconfiguration'; -import { Schema } from '../fixtures/modeled/schema'; -import { - expectSelectionSetContains, - expectVariables, - mockApiResponse, -} from '../utils/index'; - -const serverManagedFields = { - id: 'some-id', - owner: 'wirejobviously', - createdAt: new Date().toISOString(), - updatedAt: new Date().toISOString(), -}; - -describe('implicit auth field handling', () => { - beforeEach(() => { - jest.clearAllMocks(); - }); - - for (const [modelName, authField] of [ - ['ImplicitOwner', 'owner'], - ['CustomImplicitOwner', 'customOwner'], - ['ModelGroupDefinedIn', 'groupField'], - ['ModelGroupsDefinedIn', 'groupsField'], - ] as const) { - test(`get ${modelName} includes auth field ${authField} in selection set`, async () => { - // This config hackery can be removed once the schema builder is updated to omit - // implicit auth fields from the graphql schema and the amplifyconfiguration.ts fixture - // is updated accordingly. Until then, we're creating a copy of the generated fixture - // minus the auth field that will eventually be omitted from the model. - const config = JSON.parse(JSON.stringify(configFixture)); - delete (config.modelIntrospection.models[modelName].fields as any)[ - authField - ]; - - Amplify.configure(config as any); - - const spy = mockApiResponse({ - data: null, - }); - - const client = generateClient({ amplify: Amplify }); - - // TS can't see that all of these `.get()` methods align. - // We're ignoring the errors because the types are a little convoluted - // and they aren't the point of this test - // @ts-ignore - const { data } = await client.models[modelName].get({ id: 'some-id' }); - - expectSelectionSetContains(spy, [authField]); - }); - - test(`can list ${modelName} with filter on auth field ${authField}`, async () => { - // This config hackery can be removed once the schema builder is updated to omit - // implicit auth fields from the graphql schema and the amplifyconfiguration.ts fixture - // is updated accordingly. Until then, we're creating a copy of the generated fixture - // minus the auth field that will eventually be omitted from the model. - const config = JSON.parse(JSON.stringify(configFixture)); - delete (config.modelIntrospection.models[modelName].fields as any)[ - authField - ]; - - const spy = mockApiResponse({ - data: { - [`list${config.modelIntrospection.models[modelName].pluralName}`]: { - items: [], - }, - }, - }); - - const client = generateClient({ amplify: Amplify }); - - // TS having a hard time seeing that all of these `.list()` methods align - // in the way we're using them here. - // We're ignoring the errors because the types are a little convoluted - // and they aren't the point of this test - // @ts-ignore - const { data } = await client.models[modelName].list({ - filter: { [authField]: { contains: 'something' } }, - }); - - expectVariables(spy, { - filter: { [authField]: { contains: 'something' } }, - }); - }); - } -}); diff --git a/packages/api-graphql/__tests__/internals/server/__snapshots__/generateClientWithAmplifyInstance.test.ts.snap b/packages/api-graphql/__tests__/internals/server/__snapshots__/generateClientWithAmplifyInstance.test.ts.snap index 12f142e7ae4..3e2b7ce7c75 100644 --- a/packages/api-graphql/__tests__/internals/server/__snapshots__/generateClientWithAmplifyInstance.test.ts.snap +++ b/packages/api-graphql/__tests__/internals/server/__snapshots__/generateClientWithAmplifyInstance.test.ts.snap @@ -1,36 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`server generateClient with cookies can custom query 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($argumentContent: String!) { - echo(argumentContent: $argumentContent) { - resultContent - } -} -", - "variables": { - "argumentContent": "echo argumentContent value", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - exports[`server generateClient with cookies can list 1`] = ` [ [ @@ -261,23 +230,3 @@ exports[`server generateClient with cookies can list with sort direction (descen ], ] `; - -exports[`server generateClient with cookies with request can custom query 1`] = ` -[ - [ - "AmplifyClassV6", - { - "authMode": undefined, - "authToken": undefined, - "query": " - query($argumentContent: String!) { - echo(argumentContent: $argumentContent) {resultContent} - } - ", - "variables": { - "argumentContent": "echo argumentContent value", - }, - }, - ], -] -`; diff --git a/packages/api-graphql/__tests__/internals/server/generateClientWithAmplifyInstance.test.ts b/packages/api-graphql/__tests__/internals/server/generateClientWithAmplifyInstance.test.ts index b1b23b86b9e..6289d44e5c8 100644 --- a/packages/api-graphql/__tests__/internals/server/generateClientWithAmplifyInstance.test.ts +++ b/packages/api-graphql/__tests__/internals/server/generateClientWithAmplifyInstance.test.ts @@ -25,6 +25,8 @@ const config: ResourcesConfig = { }, }; +// sanity check for CRUD model ops using server clients +// exhaustive tests live in https://github.com/aws-amplify/amplify-api-next describe('server generateClient', () => { beforeEach(() => { jest.clearAllMocks(); @@ -266,37 +268,6 @@ describe('server generateClient', () => { expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); }); - test('can custom query', async () => { - Amplify.configure(configFixture as any); - const config = Amplify.getConfig(); - - const spy = mockApiResponse({ - data: { - echo: { - resultContent: 'echo result content', - }, - }, - }); - - const getAmplify = async (fn: any) => await fn(Amplify); - - const client = generateClientWithAmplifyInstance< - Schema, - V6ClientSSRCookies - >({ - amplify: getAmplify, - config: config, - }); - - const result = await client.queries.echo({ - argumentContent: 'echo argumentContent value', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - expect(result?.data).toEqual({ - resultContent: 'echo result content', - }); - }); describe('with request', () => { test('subscriptions are disabled', () => { const client = generateClientWithAmplifyInstance< @@ -344,34 +315,6 @@ describe('server generateClient', () => { {}, ); }); - - test('can custom query', async () => { - Amplify.configure(configFixture as any); - const config = Amplify.getConfig(); - - const client = generateClientWithAmplifyInstance< - Schema, - V6ClientSSRRequest - >({ - amplify: null, - config: config, - }); - - const spy = jest - .spyOn(client, 'graphql') - .mockImplementation(async () => { - const result: any = {}; - return result; - }); - - const mockContextSpec = { token: { value: Symbol('test') } }; - - const result = await client.queries.echo(mockContextSpec, { - argumentContent: 'echo argumentContent value', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); }); }); }); diff --git a/packages/api-graphql/__tests__/server/generateClient.test.ts.bak b/packages/api-graphql/__tests__/server/generateClient.test.ts.bak deleted file mode 100644 index 9ba0e1a5d3d..00000000000 --- a/packages/api-graphql/__tests__/server/generateClient.test.ts.bak +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import { - AmplifyServer, - getAmplifyServerContext, -} from '@aws-amplify/core/internals/adapter-core'; -import { generateClient } from '../../src/server'; -import { generateClientWithAmplifyInstance } from '../../src/internals/server'; -import { - CommonPublicClientOptions, - ServerClientGenerationParams, - __amplify, - __authMode, - __authToken, -} from '../../src/types'; -import { ResourcesConfig } from '@aws-amplify/core'; - -jest.mock('@aws-amplify/core/internals/adapter-core'); -jest.mock('../../src/internals/server', () => ({ - ...jest.requireActual('../../src/internals/server'), - generateClientWithAmplifyInstance: jest.fn( - (params: ServerClientGenerationParams & CommonPublicClientOptions) => ({ - [__amplify]: params.amplify, - [__authMode]: params.authMode, - [__authToken]: params.authToken, - graphql: mockGraphQLMethod, - cancel: jest.fn(), - isCancelError: jest.fn(), - }), - ), -})); - -const mockGraphQLMethod = jest.fn(); -const mockGetAmplifyServerContext = getAmplifyServerContext as jest.Mock; -const mockGenerateClientWithAmplifyInstance = - generateClientWithAmplifyInstance as jest.Mock; -const mockResourceConfig: ResourcesConfig = { - API: { - GraphQL: { - endpoint: 'https://graphql.com', - defaultAuthMode: 'apiKey', - }, - }, -}; - -describe('generateClient server edition', () => { - const testParams: Parameters[0] = { - config: mockResourceConfig, - authMode: 'oidc', - authToken: 'some-token', - }; - const client = generateClient(testParams); - - afterEach(() => { - mockGenerateClientWithAmplifyInstance.mockClear(); - mockGraphQLMethod.mockClear(); - }); - - describe('calling to create the client', () => { - it('invokes `generateClientWithAmplifyInstance` with expected params', () => { - expect(mockGenerateClientWithAmplifyInstance).toHaveBeenCalledTimes(1); - expect(mockGenerateClientWithAmplifyInstance).toHaveBeenCalledWith({ - amplify: null, - config: testParams.config, - authMode: testParams.authMode, - authToken: testParams.authToken, - }); - }); - }); - - describe('calling the `graphql` method of the created client', () => { - const mockContextSpec: AmplifyServer.ContextSpec = { - token: { - value: Symbol('AmplifyServerContextToken'), - }, - }; - const mockAmplifyInstanceFromTheContext = jest.fn(); - - beforeEach(() => { - mockGetAmplifyServerContext.mockReturnValue({ - amplify: mockAmplifyInstanceFromTheContext, - }); - }); - - afterEach(() => { - mockGetAmplifyServerContext.mockClear(); - }); - - it('invokes `getAmplifyServerContext` to get the context', () => { - client.graphql(mockContextSpec, { - query: 'some query', - }); - - expect(mockGetAmplifyServerContext).toHaveBeenCalledTimes(1); - expect(mockGetAmplifyServerContext).toHaveBeenCalledWith(mockContextSpec); - }); - - it('invokes the underlying client (crated by `generateClientWithAmplifyInstance`) `graphql` method with expected params', () => { - const testGraphQLOptions = { - query: 'some query', - }; - const testAdditionalHeaders = { - myHeader: 'myValue', - }; - client.graphql( - mockContextSpec, - testGraphQLOptions, - testAdditionalHeaders, - ); - - expect(mockGraphQLMethod).toHaveBeenCalledTimes(1); - expect(mockGraphQLMethod).toHaveBeenCalledWith( - testGraphQLOptions, - testAdditionalHeaders, - ); - }); - }); -}); diff --git a/packages/api-graphql/__tests__/utils/expects.ts b/packages/api-graphql/__tests__/utils/expects.ts index e5023433968..e0085cc4980 100644 --- a/packages/api-graphql/__tests__/utils/expects.ts +++ b/packages/api-graphql/__tests__/utils/expects.ts @@ -194,31 +194,25 @@ export function expectSubWithHeadersFn( * @param spy The jest spy to check. * @param opName The name of the graphql operation. E.g., `onCreateTodo`. * @param item The item we expect to have been in the `variables` - * @param libraryConfigHeaders TODO + * @param headers client/request and config-level headers + * @param configHeaders resolved config-level headers */ -export function expectSubWithlibraryConfigHeaders( +export async function expectSubWithlibraryConfigHeaders( spy: jest.SpyInstance, opName: string, item: Record, - headers?: CustomHeaders, + expectedHeaders?: CustomHeaders, + expectedConfigHeaders?: CustomHeaders, ) { - expect(spy).toHaveBeenCalledWith( - expect.objectContaining({ - authenticationType: 'apiKey', - apiKey: 'FAKE-KEY', - appSyncGraphqlEndpoint: 'https://localhost/graphql', - // Code-gen'd queries have an owner param; TypeBeast queries don't: - query: expect.stringContaining(`${opName}(filter: $filter`), - variables: expect.objectContaining(item), - additionalHeaders: expect.objectContaining(headers), - // `headers` that are included in `Amplify.configure` options - libraryConfigHeaders: expect.any(Function), - }), - { - action: '1', - category: 'api', - }, - ); + const [[{ query, variables, additionalHeaders, libraryConfigHeaders }]] = + spy.mock.calls; + + const configHeaders = await libraryConfigHeaders(); + + expect(query).toEqual(expect.stringContaining(`${opName}(filter: $filter`)); + expect(variables).toEqual(expect.objectContaining(item)); + expect(additionalHeaders).toEqual(expect.objectContaining(expectedHeaders)); + expect(configHeaders).toEqual(expect.objectContaining(expectedConfigHeaders)); } /** From 23bf2ecc35fa4ecc94ab2e2cc40008b0ff7bf72c Mon Sep 17 00:00:00 2001 From: Joon Choi Date: Fri, 2 Aug 2024 07:51:55 +0900 Subject: [PATCH 07/21] Fix wrong error string mapping --- .../storage/src/providers/s3/utils/client/runtime/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/storage/src/providers/s3/utils/client/runtime/constants.ts b/packages/storage/src/providers/s3/utils/client/runtime/constants.ts index a565b8b715b..e67761d46e3 100644 --- a/packages/storage/src/providers/s3/utils/client/runtime/constants.ts +++ b/packages/storage/src/providers/s3/utils/client/runtime/constants.ts @@ -5,7 +5,7 @@ export const SEND_UPLOAD_PROGRESS_EVENT = 'sendUploadProgress'; export const SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress'; export const NETWORK_ERROR_MESSAGE = 'Network Error'; -export const NETWORK_ERROR_CODE = 'ECONNABORTED'; +export const NETWORK_ERROR_CODE = 'ERR_NETWORK'; export const ABORT_ERROR_MESSAGE = 'Request aborted'; export const ABORT_ERROR_CODE = 'ERR_ABORTED'; From 70cd440681d6c6c890133b6f89e049ee8e6db8b5 Mon Sep 17 00:00:00 2001 From: SHUcream Date: Fri, 2 Aug 2024 08:12:07 +0900 Subject: [PATCH 08/21] update tests with new constant --- packages/datastore/__tests__/mutation.test.ts | 2 +- .../providers/s3/utils/client/xhrTransferHandler-util.test.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/datastore/__tests__/mutation.test.ts b/packages/datastore/__tests__/mutation.test.ts index 8130fd382e0..47e435f6608 100644 --- a/packages/datastore/__tests__/mutation.test.ts +++ b/packages/datastore/__tests__/mutation.test.ts @@ -464,5 +464,5 @@ const timeoutError = { region: 'us-west-2', }, }, - code: 'ECONNABORTED', + code: 'ERR_NETWORK', }; diff --git a/packages/storage/__tests__/providers/s3/utils/client/xhrTransferHandler-util.test.ts b/packages/storage/__tests__/providers/s3/utils/client/xhrTransferHandler-util.test.ts index 0bf3439c1ab..24c20730451 100644 --- a/packages/storage/__tests__/providers/s3/utils/client/xhrTransferHandler-util.test.ts +++ b/packages/storage/__tests__/providers/s3/utils/client/xhrTransferHandler-util.test.ts @@ -197,7 +197,7 @@ describe('xhrTransferHandler', () => { await expect(requestPromise).rejects.toThrow( expect.objectContaining({ message: 'Network Error', - name: 'ECONNABORTED', + name: 'ERR_NETWORK', }), ); }); @@ -211,7 +211,7 @@ describe('xhrTransferHandler', () => { await expect(requestPromise).rejects.toThrow( expect.objectContaining({ message: 'Network Error', - name: 'ECONNABORTED', + name: 'ERR_NETWORK', }), ); // Should be no-op if the xhr is already cleared From 3ea789eb1dcb63bebc73e739a297ee3edc0af2a5 Mon Sep 17 00:00:00 2001 From: JoonWon Choi Date: Thu, 1 Aug 2024 17:07:43 -0700 Subject: [PATCH 09/21] Update tests --- packages/datastore/src/sync/processors/mutation.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/datastore/src/sync/processors/mutation.ts b/packages/datastore/src/sync/processors/mutation.ts index bc38e26e14e..556fb46c261 100644 --- a/packages/datastore/src/sync/processors/mutation.ts +++ b/packages/datastore/src/sync/processors/mutation.ts @@ -384,7 +384,7 @@ class MutationProcessor { if ( error.message === 'Network Error' || - code === 'ECONNABORTED' // refers to axios timeout error caused by device's bad network condition + code === 'ERR_NETWORK' // refers to axios timeout error caused by device's bad network condition ) { if (!this.processing) { throw new NonRetryableError('Offline'); From f24805a649b86074836433fa858a9f8ce559e349 Mon Sep 17 00:00:00 2001 From: ashika112 <155593080+ashika112@users.noreply.github.com> Date: Fri, 2 Aug 2024 14:49:40 -0700 Subject: [PATCH 10/21] [Chore]Update aws-sdk dependencies to latest possible (#13665) * update aws-sdk version * update yarn.lock * test fix + pin data-schema * pin glob version * enable integ test on the branch * set resolution on glob * update bundle size * fix: Remove meaningless tests instead of fixing them * fix: Update snapshot to reflect removed tests * fix: Increase api-graphql bundle size to cover data-schema size changes * revert e2e enable --------- Co-authored-by: ashika112 <155593080+ashika112@users.noreply.github.com> Co-authored-by: Aaron S Co-authored-by: Aaron S. <94858815+stocaaro@users.noreply.github.com> --- package.json | 4 +- packages/analytics/package.json | 6 +- ...rateClientWithAmplifyInstance.test.ts.snap | 88 - .../generateClientWithAmplifyInstance.test.ts | 77 +- packages/aws-amplify/package.json | 4 +- .../clients/middleware/retry/middleware.ts | 2 +- .../providers/pinpoint/apis/updateEndpoint.ts | 2 +- packages/geo/package.json | 2 +- packages/interactions/package.json | 4 +- packages/predictions/package.json | 10 +- .../AmazonAIConvertPredictionsProvider.ts | 8 +- .../AmazonAIIdentifyPredictionsProvider.ts | 8 +- .../AmazonAIInterpretPredictionsProvider.ts | 20 +- packages/storage/package.json | 2 +- .../s3/utils/resolveS3ConfigAndInput.ts | 2 +- yarn.lock | 6891 +++++++++-------- 16 files changed, 3695 insertions(+), 3435 deletions(-) diff --git a/package.json b/package.json index 483efa566fc..06a17c0fdaf 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "eslint-plugin-promise": "^6.1.1", "eslint-plugin-unused-imports": "^3.0.0", "expect": "^29.7.0", - "glob": "^10.3.10", + "glob": "10.3.10", "husky": "^9.0.11", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", @@ -137,6 +137,6 @@ "nx": "16.7.0", "xml2js": "0.5.0", "tar": "6.2.1", - "fast-xml-parser": "4.4.1" + "glob@^10.0.0": "10.3.10" } } diff --git a/packages/analytics/package.json b/packages/analytics/package.json index 2542240ad3c..1f0d62bd5d4 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -93,9 +93,9 @@ "personalize" ], "dependencies": { - "@aws-sdk/client-firehose": "3.398.0", - "@aws-sdk/client-kinesis": "3.398.0", - "@aws-sdk/client-personalize-events": "3.398.0", + "@aws-sdk/client-firehose": "3.621.0", + "@aws-sdk/client-kinesis": "3.621.0", + "@aws-sdk/client-personalize-events": "3.621.0", "@smithy/util-utf8": "2.0.0", "tslib": "^2.5.0" }, diff --git a/packages/api-graphql/__tests__/internals/server/__snapshots__/generateClientWithAmplifyInstance.test.ts.snap b/packages/api-graphql/__tests__/internals/server/__snapshots__/generateClientWithAmplifyInstance.test.ts.snap index 3e2b7ce7c75..7bb37c76258 100644 --- a/packages/api-graphql/__tests__/internals/server/__snapshots__/generateClientWithAmplifyInstance.test.ts.snap +++ b/packages/api-graphql/__tests__/internals/server/__snapshots__/generateClientWithAmplifyInstance.test.ts.snap @@ -142,91 +142,3 @@ exports[`server generateClient with cookies can list with nextToken 1`] = ` ], ] `; - -exports[`server generateClient with cookies can list with sort direction (ascending) 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "id": "some-id", - "sortDirection": "ASC", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; - -exports[`server generateClient with cookies can list with sort direction (descending) 1`] = ` -[ - [ - "AmplifyClassV6", - { - "abortController": AbortController {}, - "options": { - "body": { - "query": "query ($filter: ModelTodoFilterInput, $limit: Int, $nextToken: String) { - listTodos(filter: $filter, limit: $limit, nextToken: $nextToken) { - items { - id - name - description - status - tags - createdAt - updatedAt - todoMetaId - owner - } - nextToken - __typename - } -} -", - "variables": { - "id": "some-id", - "sortDirection": "DESC", - }, - }, - "headers": { - "X-Api-Key": "FAKE-KEY", - "x-amz-user-agent": "aws-amplify/latest api/latest framework/latest", - }, - "signingServiceInfo": undefined, - "withCredentials": undefined, - }, - "url": "https://localhost/graphql", - }, - ], -] -`; diff --git a/packages/api-graphql/__tests__/internals/server/generateClientWithAmplifyInstance.test.ts b/packages/api-graphql/__tests__/internals/server/generateClientWithAmplifyInstance.test.ts index 6289d44e5c8..8af92fad586 100644 --- a/packages/api-graphql/__tests__/internals/server/generateClientWithAmplifyInstance.test.ts +++ b/packages/api-graphql/__tests__/internals/server/generateClientWithAmplifyInstance.test.ts @@ -195,79 +195,6 @@ describe('server generateClient', () => { ); }); - test('can list with sort direction (ascending)', async () => { - Amplify.configure(configFixture as any); - const config = Amplify.getConfig(); - - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const getAmplify = async (fn: any) => await fn(Amplify); - - const client = generateClientWithAmplifyInstance< - Schema, - V6ClientSSRCookies - >({ - amplify: getAmplify, - config: config, - }); - - const { data } = await client.models.Todo.list({ - id: 'some-id', - sortDirection: 'ASC', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - test('can list with sort direction (descending)', async () => { - Amplify.configure(configFixture as any); - const config = Amplify.getConfig(); - - const spy = mockApiResponse({ - data: { - listTodos: { - items: [ - { - __typename: 'Todo', - ...serverManagedFields, - name: 'some name', - description: 'something something', - }, - ], - }, - }, - }); - - const getAmplify = async (fn: any) => await fn(Amplify); - - const client = generateClientWithAmplifyInstance< - Schema, - V6ClientSSRCookies - >({ - amplify: getAmplify, - config: config, - }); - - const { data } = await client.models.Todo.list({ - id: 'some-id', - sortDirection: 'DESC', - }); - - expect(normalizePostGraphqlCalls(spy)).toMatchSnapshot(); - }); - describe('with request', () => { test('subscriptions are disabled', () => { const client = generateClientWithAmplifyInstance< @@ -296,7 +223,9 @@ describe('server generateClient', () => { config: config, }); - const mockContextSpec = {}; + const mockContextSpec = { + token: { value: Symbol('AmplifyServerContextToken') }, + }; const spy = jest .spyOn(client, 'graphql') diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index abb62b54ae5..b267627cd15 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -335,7 +335,7 @@ "name": "[API] generateClient (AppSync)", "path": "./dist/esm/api/index.mjs", "import": "{ generateClient }", - "limit": "40.09 kB" + "limit": "41 kB" }, { "name": "[API] REST API handlers", @@ -479,7 +479,7 @@ "name": "[Storage] getUrl (S3)", "path": "./dist/esm/storage/index.mjs", "import": "{ getUrl }", - "limit": "15.51 kB" + "limit": "15.54 kB" }, { "name": "[Storage] list (S3)", diff --git a/packages/core/src/clients/middleware/retry/middleware.ts b/packages/core/src/clients/middleware/retry/middleware.ts index 1c8d88bc4fd..bce886abb73 100644 --- a/packages/core/src/clients/middleware/retry/middleware.ts +++ b/packages/core/src/clients/middleware/retry/middleware.ts @@ -84,7 +84,7 @@ export const retryMiddlewareFactory = ({ // context.attemptsCount may be updated after calling next handler which may retry the request by itself. attemptsCount = (context.attemptsCount ?? 0) > attemptsCount - ? context.attemptsCount ?? 0 + ? (context.attemptsCount ?? 0) : attemptsCount + 1; context.attemptsCount = attemptsCount; if (await retryDecider(response, error)) { diff --git a/packages/core/src/providers/pinpoint/apis/updateEndpoint.ts b/packages/core/src/providers/pinpoint/apis/updateEndpoint.ts index 100e1de4fe1..0a2b88edfc9 100644 --- a/packages/core/src/providers/pinpoint/apis/updateEndpoint.ts +++ b/packages/core/src/providers/pinpoint/apis/updateEndpoint.ts @@ -51,7 +51,7 @@ export const updateEndpoint = async ({ // only automatically populate the endpoint with client info and identity id upon endpoint creation to // avoid overwriting the endpoint with these values every time the endpoint is updated const demographicsFromClientInfo: UserProfile['demographic'] = {}; - const resolvedUserId = createdEndpointId ? userId ?? identityId : userId; + const resolvedUserId = createdEndpointId ? (userId ?? identityId) : userId; if (createdEndpointId) { const clientInfo = getClientInfo(); demographicsFromClientInfo.appVersion = clientInfo.appVersion; diff --git a/packages/geo/package.json b/packages/geo/package.json index 132a8b2a377..156d563e5d2 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -67,7 +67,7 @@ "src" ], "dependencies": { - "@aws-sdk/client-location": "3.398.0", + "@aws-sdk/client-location": "3.621.0", "@turf/boolean-clockwise": "6.5.0", "camelcase-keys": "6.2.2", "tslib": "^2.5.0" diff --git a/packages/interactions/package.json b/packages/interactions/package.json index 0677b8ef889..185826184b9 100644 --- a/packages/interactions/package.json +++ b/packages/interactions/package.json @@ -72,8 +72,8 @@ "lex-v2" ], "dependencies": { - "@aws-sdk/client-lex-runtime-service": "3.398.0", - "@aws-sdk/client-lex-runtime-v2": "3.398.0", + "@aws-sdk/client-lex-runtime-service": "3.621.0", + "@aws-sdk/client-lex-runtime-v2": "3.621.0", "base-64": "1.0.0", "fflate": "0.7.3", "pako": "2.0.4", diff --git a/packages/predictions/package.json b/packages/predictions/package.json index 70b66c7c560..400a25aff53 100644 --- a/packages/predictions/package.json +++ b/packages/predictions/package.json @@ -44,11 +44,11 @@ ], "dependencies": { "@aws-amplify/storage": "6.5.3", - "@aws-sdk/client-comprehend": "3.398.0", - "@aws-sdk/client-polly": "3.398.0", - "@aws-sdk/client-rekognition": "3.398.0", - "@aws-sdk/client-textract": "3.398.0", - "@aws-sdk/client-translate": "3.398.0", + "@aws-sdk/client-comprehend": "3.621.0", + "@aws-sdk/client-polly": "3.621.0", + "@aws-sdk/client-rekognition": "3.621.0", + "@aws-sdk/client-textract": "3.621.0", + "@aws-sdk/client-translate": "3.621.0", "@smithy/eventstream-codec": "2.0.9", "@smithy/util-utf8": "2.0.0", "buffer": "4.9.2", diff --git a/packages/predictions/src/providers/AmazonAIConvertPredictionsProvider.ts b/packages/predictions/src/providers/AmazonAIConvertPredictionsProvider.ts index 7ecbd4b7536..9b24de59b74 100644 --- a/packages/predictions/src/providers/AmazonAIConvertPredictionsProvider.ts +++ b/packages/predictions/src/providers/AmazonAIConvertPredictionsProvider.ts @@ -10,7 +10,11 @@ import { Signer, getAmplifyUserAgentObject, } from '@aws-amplify/core/internals/utils'; -import { PollyClient, SynthesizeSpeechCommand } from '@aws-sdk/client-polly'; +import { + PollyClient, + SynthesizeSpeechCommand, + SynthesizeSpeechInput, +} from '@aws-sdk/client-polly'; import { TranslateClient, TranslateTextCommand, @@ -164,7 +168,7 @@ export class AmazonAIConvertPredictionsProvider { const synthesizeSpeechCommand = new SynthesizeSpeechCommand({ OutputFormat: 'mp3', Text: input.textToSpeech?.source?.text, - VoiceId: voiceId, + VoiceId: voiceId as SynthesizeSpeechInput['VoiceId'], TextType: 'text', SampleRate: '24000', }); diff --git a/packages/predictions/src/providers/AmazonAIIdentifyPredictionsProvider.ts b/packages/predictions/src/providers/AmazonAIIdentifyPredictionsProvider.ts index 3f38d0a6d07..2ada5dd00a6 100644 --- a/packages/predictions/src/providers/AmazonAIIdentifyPredictionsProvider.ts +++ b/packages/predictions/src/providers/AmazonAIIdentifyPredictionsProvider.ts @@ -9,6 +9,7 @@ import { import { getUrl } from '@aws-amplify/storage'; import { DetectFacesCommand, + DetectFacesCommandInput, DetectLabelsCommand, DetectLabelsCommandInput, DetectModerationLabelsCommand, @@ -238,7 +239,8 @@ export class AmazonAIIdentifyPredictionsProvider { } else { const param: AnalyzeDocumentCommandInput = { Document: inputDocument, - FeatureTypes: featureTypes, + FeatureTypes: + featureTypes as AnalyzeDocumentCommandInput['FeatureTypes'], }; const analyzeDocumentCommand = new AnalyzeDocumentCommand(param); @@ -448,7 +450,9 @@ export class AmazonAIIdentifyPredictionsProvider { return { entities: faces }; } else { - const detectFacesCommand = new DetectFacesCommand(param); + const detectFacesCommand = new DetectFacesCommand( + param as DetectFacesCommandInput, + ); const data = await this.rekognitionClient.send(detectFacesCommand); const faces = data.FaceDetails?.map(detail => { diff --git a/packages/predictions/src/providers/AmazonAIInterpretPredictionsProvider.ts b/packages/predictions/src/providers/AmazonAIInterpretPredictionsProvider.ts index 1d3e1b3b245..537fc083c3b 100644 --- a/packages/predictions/src/providers/AmazonAIInterpretPredictionsProvider.ts +++ b/packages/predictions/src/providers/AmazonAIInterpretPredictionsProvider.ts @@ -10,9 +10,13 @@ import { ComprehendClient, DetectDominantLanguageCommand, DetectEntitiesCommand, + DetectEntitiesCommandInput, DetectKeyPhrasesCommand, + DetectKeyPhrasesCommandInput, DetectSentimentCommand, + DetectSentimentCommandInput, DetectSyntaxCommand, + DetectSyntaxCommandInput, Entity, SyntaxToken, } from '@aws-sdk/client-comprehend'; @@ -159,7 +163,9 @@ export class AmazonAIInterpretPredictionsProvider { private async detectKeyPhrases(params: DetectParams): Promise { try { - const detectKeyPhrasesCommand = new DetectKeyPhrasesCommand(params); + const detectKeyPhrasesCommand = new DetectKeyPhrasesCommand( + params as DetectKeyPhrasesCommandInput, + ); const data = await this.comprehendClient!.send(detectKeyPhrasesCommand); const { KeyPhrases: keyPhrases = [] } = data || {}; @@ -180,7 +186,9 @@ export class AmazonAIInterpretPredictionsProvider { private async detectSyntax(params: DetectParams): Promise { try { - const detectSyntaxCommand = new DetectSyntaxCommand(params); + const detectSyntaxCommand = new DetectSyntaxCommand( + params as DetectSyntaxCommandInput, + ); const data = await this.comprehendClient!.send(detectSyntaxCommand); const { SyntaxTokens = [] } = data || {}; @@ -212,7 +220,9 @@ export class AmazonAIInterpretPredictionsProvider { private async detectSentiment(params: DetectParams): Promise { try { - const detectSentimentCommand = new DetectSentimentCommand(params); + const detectSentimentCommand = new DetectSentimentCommand( + params as DetectSentimentCommandInput, + ); const data = await this.comprehendClient!.send(detectSentimentCommand); const { Sentiment: predominant = '', @@ -239,7 +249,9 @@ export class AmazonAIInterpretPredictionsProvider { private async detectEntities(params: DetectParams): Promise { try { - const detectEntitiesCommand = new DetectEntitiesCommand(params); + const detectEntitiesCommand = new DetectEntitiesCommand( + params as DetectEntitiesCommandInput, + ); const data = await this.comprehendClient!.send(detectEntitiesCommand); const { Entities = [] } = data || {}; diff --git a/packages/storage/package.json b/packages/storage/package.json index 66843d224ab..dfe6018cc7c 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -69,7 +69,7 @@ "@aws-sdk/types": "3.398.0", "@smithy/md5-js": "2.0.7", "buffer": "4.9.2", - "fast-xml-parser": "^4.2.5", + "fast-xml-parser": "^4.4.1", "tslib": "^2.5.0" }, "exports": { diff --git a/packages/storage/src/providers/s3/utils/resolveS3ConfigAndInput.ts b/packages/storage/src/providers/s3/utils/resolveS3ConfigAndInput.ts index ae7a185c93c..065e1ebad7f 100644 --- a/packages/storage/src/providers/s3/utils/resolveS3ConfigAndInput.ts +++ b/packages/storage/src/providers/s3/utils/resolveS3ConfigAndInput.ts @@ -79,7 +79,7 @@ export const resolveS3ConfigAndInput = async ( // use conditional assign to make tsc happy because StorageOptions is a union type that may not have targetIdentityId targetIdentityId: apiOptions?.accessLevel === 'protected' - ? apiOptions?.targetIdentityId ?? identityId + ? (apiOptions?.targetIdentityId ?? identityId) : identityId, }); diff --git a/yarn.lock b/yarn.lock index 68d642252f1..a412c68a899 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,42 +2,31 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@ampproject/remapping@^2.0.0", "@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" "@aws-amplify/data-schema-types@*": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@aws-amplify/data-schema-types/-/data-schema-types-0.10.0.tgz#ac5bcf51992210534fd7ece9de69932baf0c4bb8" - integrity sha512-HIfSGPcqDu7ZyHzncGiTPDElOKl7N/ZGBF1T0RWlm7jqNVOl6AYzr9dMyPSw7/e8p5SxlKNxhUoyvo7iwkWXww== + version "1.1.1" + resolved "https://registry.yarnpkg.com/@aws-amplify/data-schema-types/-/data-schema-types-1.1.1.tgz#5b0331626321a9407d0438e4a29c715f6f4f4afe" + integrity sha512-WhWEEsztpSSxIY0lJ3Ge5iA4g3PBm66SQmy1fBH1FBq0T+cxUBijifOU8MNwf+tf6lGpArMX0RS54HRVF5fUSA== dependencies: - "@aws-amplify/plugin-types" "^0.9.0-beta.1" graphql "15.8.0" rxjs "^7.8.1" "@aws-amplify/data-schema@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@aws-amplify/data-schema/-/data-schema-1.0.0.tgz#435f7320bdde034e130a12d0c3613e18d5089b08" - integrity sha512-pvXko9gDnBqyNshXwrkAer3CbFGkwtlMI35wJk48+N1rxLXKLYElADZj6kWwZXmBbI67uD4ZJ3s62Qzsb6lZZA== + version "1.3.10" + resolved "https://registry.yarnpkg.com/@aws-amplify/data-schema/-/data-schema-1.3.10.tgz#e83ef1d8d11efb821b282e499c373f64f3bf60ae" + integrity sha512-rUo6wb+DO6aGCSeSiB8wb92O4cEuN4sZBXn7TgqaYc8Bv4HutrLaIlptgXCYJMkaAp/h9rxyi6wIFJ7bEyD/6g== dependencies: "@aws-amplify/data-schema-types" "*" "@types/aws-lambda" "^8.10.134" rxjs "^7.8.1" -"@aws-amplify/plugin-types@^0.9.0-beta.1": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@aws-amplify/plugin-types/-/plugin-types-0.9.0.tgz#45a3361bac7fcb74d0ceecabe84f0627d0812a89" - integrity sha512-dOwuyjRWKHvKSxcCwycdBTb6clRr2/soW1hL+HaXyTN69+dQanQegpS6ylmVwbPPiy9q2LCbqaw+5Np7bacLgw== - "@aws-crypto/crc32@3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz#07300eca214409c33e3ff769cd5697b57fdd38fa" @@ -47,37 +36,29 @@ "@aws-sdk/types" "^3.222.0" tslib "^1.11.1" -"@aws-crypto/ie11-detection@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" - integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== - dependencies: - tslib "^1.11.1" - -"@aws-crypto/sha256-browser@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" - integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== +"@aws-crypto/crc32@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1" + integrity sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg== dependencies: - "@aws-crypto/ie11-detection" "^3.0.0" - "@aws-crypto/sha256-js" "^3.0.0" - "@aws-crypto/supports-web-crypto" "^3.0.0" - "@aws-crypto/util" "^3.0.0" + "@aws-crypto/util" "^5.2.0" "@aws-sdk/types" "^3.222.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" + tslib "^2.6.2" -"@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" - integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== +"@aws-crypto/sha256-browser@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e" + integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw== dependencies: - "@aws-crypto/util" "^3.0.0" + "@aws-crypto/sha256-js" "^5.2.0" + "@aws-crypto/supports-web-crypto" "^5.2.0" + "@aws-crypto/util" "^5.2.0" "@aws-sdk/types" "^3.222.0" - tslib "^1.11.1" + "@aws-sdk/util-locate-window" "^3.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" -"@aws-crypto/sha256-js@5.2.0": +"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042" integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA== @@ -86,12 +67,12 @@ "@aws-sdk/types" "^3.222.0" tslib "^2.6.2" -"@aws-crypto/supports-web-crypto@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" - integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== +"@aws-crypto/supports-web-crypto@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz#a1e399af29269be08e695109aa15da0a07b5b5fb" + integrity sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg== dependencies: - tslib "^1.11.1" + tslib "^2.6.2" "@aws-crypto/util@^3.0.0": version "3.0.0" @@ -111,767 +92,880 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" -"@aws-sdk/client-comprehend@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-comprehend/-/client-comprehend-3.398.0.tgz#bfcad611fb75ab7d34b6e1a09f17a21cff003e9d" - integrity sha512-BHJ5bA3y+4fauyRfbVWwJrDigPAellu9tL044Ydj5flf4tQ28LBDCAWIBWSh6500f5lhWyYH/RDb4os2fhXs6A== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" - uuid "^8.3.2" - -"@aws-sdk/client-firehose@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-firehose/-/client-firehose-3.398.0.tgz#20f915d089b2510fe64425f7f53a561bb83f41d7" - integrity sha512-qOWNLAD7K+7LofQCeBe56xP/+XJ7C0Wmkkczra2QuA4dveYBrBftxMJcWQjiA2SY4C0GjlMcBoSdXNCtinJnIQ== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" - -"@aws-sdk/client-kinesis@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-kinesis/-/client-kinesis-3.398.0.tgz#7b1c5e60f70d03d0591ea29230488380272f70b4" - integrity sha512-zaOw+MwwdMpUdeUF8UVG19xcBDpQ1+8/Q2CEwu4OilTBMpcz9El+FaMVyOW4IWpVJMlDJfroZPxKkuITCHxgXA== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/eventstream-serde-browser" "^2.0.5" - "@smithy/eventstream-serde-config-resolver" "^2.0.5" - "@smithy/eventstream-serde-node" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - "@smithy/util-waiter" "^2.0.5" - tslib "^2.5.0" +"@aws-sdk/client-comprehend@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-comprehend/-/client-comprehend-3.621.0.tgz#ce0941e9ce9c1621c632e2706f8c6baf474351de" + integrity sha512-OEO5obeYkBMRWBs863fTTzGrqs5lxUydg52K6XYcexXWMTEyoAWhRlxERDzC94rfEoowQ2Xyf8Y3qI0CAaNLlA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + uuid "^9.0.1" + +"@aws-sdk/client-firehose@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-firehose/-/client-firehose-3.621.0.tgz#2bfb5bc59808dde055ccc18fcb89f6322326729a" + integrity sha512-XAjAkXdb35PDvBYph609Fxn4g00HYH/U6N4+KjF9gLQrdTU+wkjf3D9YD02DZNbApJVcu4eIxWh/8M25YkW02A== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-lex-runtime-service@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.398.0.tgz#87d8ad848da5bf9c9e905708f1055b320c22a964" - integrity sha512-EaGxDlnkeBLs1UBne+Hvi+WjuzH6aoRMl25IimAJdzQXbXbvIIv+08IdOqudWutf74p/j9+IMs/gJjoavk/AFA== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-stream" "^2.0.5" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" +"@aws-sdk/client-kinesis@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-kinesis/-/client-kinesis-3.621.0.tgz#3af1e18622638d20cd0fa3df5182978cb130ab86" + integrity sha512-53Omt/beFmTQPjQNpMuPMk5nMzYVsXCRiO+MeqygZEKYG1fWw/UGluCWVbi7WjClOHacsW8lQcsqIRvkPDFNag== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/eventstream-serde-browser" "^3.0.5" + "@smithy/eventstream-serde-config-resolver" "^3.0.3" + "@smithy/eventstream-serde-node" "^3.0.4" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + "@smithy/util-waiter" "^3.1.2" + tslib "^2.6.2" -"@aws-sdk/client-lex-runtime-v2@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.398.0.tgz#66efdb6ae9eeefb1d5ed84f1fb8ef78c68351805" - integrity sha512-SW4qwYdg9aGoOxTC4+ax9s+kJhoCJKT5a8yz8FAxJUNuwF68irnBy0AfZ0xbRd5YfxUyLTMN+r7qR1bKhJrt/Q== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/eventstream-handler-node" "3.398.0" - "@aws-sdk/middleware-eventstream" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/eventstream-serde-browser" "^2.0.5" - "@smithy/eventstream-serde-config-resolver" "^2.0.5" - "@smithy/eventstream-serde-node" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-stream" "^2.0.5" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" +"@aws-sdk/client-lex-runtime-service@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.621.0.tgz#c25482b46c9fd72a8ef753a6101c0062431711fa" + integrity sha512-QAE4OYDKzBucvLnhqoNaGVp8Mm75C/5rqcBdhiRoTpnOUP7DtUZRGVRnTqht9vuzJxqUvqUSUkkmtIfT/Jrl9g== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-stream" "^3.1.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-location@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-location/-/client-location-3.398.0.tgz#d37029485e3e7a69f1daa9d5d7ffda4b3fa2da01" - integrity sha512-DvXRkg3hjtr2Npmu201CGIqXYWX189wc0tCVRE/kmc0i7q33U3szsXhzuh7/4W4SsmV9DeFOZ0HCxqBtkq6UKA== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-stream" "^2.0.5" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" +"@aws-sdk/client-lex-runtime-v2@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.621.0.tgz#dc4da75d7178b26aa8ad9cb912b90d9718100615" + integrity sha512-UFjOmdBlu3lbTjd36VRbzInkhRyFwW3yeQM+y0O2qZY/8wHKaYkHsqNphSnpE/KAL/QusbczVKdEtpbzt2np9A== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/eventstream-handler-node" "3.620.0" + "@aws-sdk/middleware-eventstream" "3.620.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-signing" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/eventstream-serde-browser" "^3.0.5" + "@smithy/eventstream-serde-config-resolver" "^3.0.3" + "@smithy/eventstream-serde-node" "^3.0.4" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-stream" "^3.1.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-personalize-events@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-personalize-events/-/client-personalize-events-3.398.0.tgz#884ec4cac5d60b079b9fc6e8f6f14b2a3285670b" - integrity sha512-dynXr8ZVMC2FxQS5QRr7cu90xAGfwgfZM5XDW2jm81UPK5Qqo2FbbEF4wvdXXbnkbvU5rsmxL1IjQiMGm+lWVg== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" +"@aws-sdk/client-location@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-location/-/client-location-3.621.0.tgz#55d3444cb0e0d4a7a81a6de2fb39143eb0d0c9d5" + integrity sha512-nIydBrRkGF8FzU6bbL+bT/Vq4fh4y2kuiTSVtad4kA48k0bakA3d9SwvgYv6EKiM/M1P27jQP+QFa2dSgMdcFQ== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-stream" "^3.1.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-polly@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-polly/-/client-polly-3.398.0.tgz#b8c5930adb66820d8abe375c1176eb453cfadea9" - integrity sha512-cExoLKyDu9D8rtHZ0JcemfNM8kM3NtvaVT+1LTDHdnHc2OhmrkO5Z6/5Eb/ejAU60tvB5wJnBOvwgPZWk0WGEw== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-stream" "^2.0.5" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" +"@aws-sdk/client-personalize-events@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-personalize-events/-/client-personalize-events-3.621.0.tgz#f061e00d2dc75b1165ace8280879119e78f9a577" + integrity sha512-qkVkqYvOe3WVuVNL/gRITGYFfHJCx2ijGFK7H3hNUJH3P4AwskmouAd1pWf+3cbGedRnj2is7iw7E602LeJIHA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-rekognition@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-rekognition/-/client-rekognition-3.398.0.tgz#030670a3c140995e68b1575a02f754f7cc3da76b" - integrity sha512-XSaqptggAGfpOLEFOxY6G3aR7yQhPCs705XE/1Gubk+boW6S+osk2BLE2/A3l87piLuf+1suHPkbgExIlvxHNA== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - "@smithy/util-waiter" "^2.0.5" - tslib "^2.5.0" - uuid "^8.3.2" +"@aws-sdk/client-polly@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-polly/-/client-polly-3.621.0.tgz#f55758001828abca81793a3eb373fbd596bf3f0a" + integrity sha512-piJBMyTkqcfCHlNpiTAKl7BeJvYiCUfZVfKTpUbHRn5Ijl4RMmWHfygRCcpIxnhbRkzcz+Ri/mHXbMalkSFiAA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-stream" "^3.1.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-sso@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.398.0.tgz#68ce0a4d359794b629e5a7efe43a24ed9b52211e" - integrity sha512-CygL0jhfibw4kmWXG/3sfZMFNjcXo66XUuPC4BqZBk8Rj5vFoxp1vZeMkDLzTIk97Nvo5J5Bh+QnXKhub6AckQ== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" +"@aws-sdk/client-rekognition@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-rekognition/-/client-rekognition-3.621.0.tgz#53f0d7a82405212d8785038b712a76da7a1c07e8" + integrity sha512-JCPs+cCB64fI2EiV/SZA5Z29UwGydtaETTK4NKAO3JwIkFErAlFXzfjK5RcvubKXZeP+6cGB4z1fyMkxhNpnGA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + "@smithy/util-waiter" "^3.1.2" + tslib "^2.6.2" + uuid "^9.0.1" + +"@aws-sdk/client-sso-oidc@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz#3fa3d468fbebbd93a5f75c1d51b63cc7af3ef17b" + integrity sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-sts@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.398.0.tgz#8c569760d05b9fe663f82fc092d39b093096f7cc" - integrity sha512-/3Pa9wLMvBZipKraq3AtbmTfXW6q9kyvhwOno64f1Fz7kFb8ijQFMGoATS70B2pGEZTlxkUqJFWDiisT6Q6dFg== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-sdk-sts" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - fast-xml-parser "4.2.5" - tslib "^2.5.0" +"@aws-sdk/client-sso@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz#c0eefeb9adcbc6bb7c91c32070404c8c91846825" + integrity sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-textract@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-textract/-/client-textract-3.398.0.tgz#a8357f33503d9c403b3bd971e20e4e7c627d7187" - integrity sha512-9UCH/Sm1IFVapdUQsERcU4UNrHEpedDVf7hPmtH35wSUijLNSNL/vlWYHjbz5YHSvzOfQ1aJfGVy5zo9hXsAKQ== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" +"@aws-sdk/client-sts@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz#2994f601790893901704c5df56c837e89f279952" + integrity sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@aws-sdk/client-translate@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-translate/-/client-translate-3.398.0.tgz#b9f94f93024a910f146ec0b4a8a79ac4d040b2c2" - integrity sha512-fVV8DMmbiZAI3HsApmEyoBpm3S/naoH7Y90f+Xu8Lqwncd4b6LDGbnH3fQ4sxqxiK29IFvQ76dElFwpJMIIlww== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.398.0" - "@aws-sdk/credential-provider-node" "3.398.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/protocol-http" "^2.0.5" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" - uuid "^8.3.2" +"@aws-sdk/client-textract@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-textract/-/client-textract-3.621.0.tgz#e90f9f820241f1ec2ec8cfb724c174792351d558" + integrity sha512-jnenJsHsY4IMWFL+zoxoOhjD6lAdTIwAeCcCI7HUhcRa+WOiE/TRlDdhheXq7idi2CYLX4NAMU8+oTsmZ1vXvA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + uuid "^9.0.1" + +"@aws-sdk/client-translate@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-translate/-/client-translate-3.621.0.tgz#97031d3e41890ce7d791a90817b411ed99e5374b" + integrity sha512-xECN0dt6erzA5lXFyYfXyTHKXRPz67QEbw+6S0bnX4gu0SutzJ7DQSTw6ykWmk+fnjwUAw1qBfpDhybGk4oOcw== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + uuid "^9.0.1" + +"@aws-sdk/core@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.621.0.tgz#e38c56c3ce0c819ca1185eaabcb98412429aaca3" + integrity sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ== + dependencies: + "@smithy/core" "^2.3.1" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/signature-v4" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/util-middleware" "^3.0.3" + fast-xml-parser "4.4.1" + tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.398.0.tgz#28d0d4d2de85dd35fdf83298191ea495da8f8646" - integrity sha512-Z8Yj5z7FroAsR6UVML+XUdlpoqEe9Dnle8c2h8/xWwIC2feTfIBhjLhRVxfbpbM1pLgBSNEcZ7U8fwq5l7ESVQ== +"@aws-sdk/credential-provider-env@3.620.1": + version "3.620.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz#d4692c49a65ebc11dae3f7f8b053fee9268a953c" + integrity sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.398.0.tgz#723264d8d8adb01963fdfe9fe9005aa20def3a56" - integrity sha512-AsK1lStK3nB9Cn6S6ODb1ktGh7SRejsNVQVKX3t5d3tgOaX+aX1Iwy8FzM/ZEN8uCloeRifUGIY9uQFygg5mSw== - dependencies: - "@aws-sdk/credential-provider-env" "3.398.0" - "@aws-sdk/credential-provider-process" "3.398.0" - "@aws-sdk/credential-provider-sso" "3.398.0" - "@aws-sdk/credential-provider-web-identity" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@smithy/credential-provider-imds" "^2.0.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/shared-ini-file-loader" "^2.0.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" +"@aws-sdk/credential-provider-http@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz#5f944bf548f203d842cf71a5792f73c205544627" + integrity sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/property-provider" "^3.1.3" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/util-stream" "^3.1.3" + tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.398.0.tgz#afc6e6417b071a5a5b242329fd9c80aacba40f7d" - integrity sha512-odmI/DSKfuWUYeDnGTCEHBbC8/MwnF6yEq874zl6+owoVv0ZsYP8qBHfiJkYqrwg7wQ7Pi40sSAPC1rhesGwzg== - dependencies: - "@aws-sdk/credential-provider-env" "3.398.0" - "@aws-sdk/credential-provider-ini" "3.398.0" - "@aws-sdk/credential-provider-process" "3.398.0" - "@aws-sdk/credential-provider-sso" "3.398.0" - "@aws-sdk/credential-provider-web-identity" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@smithy/credential-provider-imds" "^2.0.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/shared-ini-file-loader" "^2.0.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" +"@aws-sdk/credential-provider-ini@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz#bda2365f88fee40e3ae067b08bf484106c339222" + integrity sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA== + dependencies: + "@aws-sdk/credential-provider-env" "3.620.1" + "@aws-sdk/credential-provider-http" "3.621.0" + "@aws-sdk/credential-provider-process" "3.620.1" + "@aws-sdk/credential-provider-sso" "3.621.0" + "@aws-sdk/credential-provider-web-identity" "3.621.0" + "@aws-sdk/types" "3.609.0" + "@smithy/credential-provider-imds" "^3.2.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.398.0.tgz#bae46e14bcb664371d33926118bad61866184317" - integrity sha512-WrkBL1W7TXN508PA9wRXPFtzmGpVSW98gDaHEaa8GolAPHMPa5t2QcC/z/cFpglzrcVv8SA277zu9Z8tELdZhg== +"@aws-sdk/credential-provider-node@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz#9cc5052760a9f9d70d70f12ddbdbf0d59bf13a47" + integrity sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw== + dependencies: + "@aws-sdk/credential-provider-env" "3.620.1" + "@aws-sdk/credential-provider-http" "3.621.0" + "@aws-sdk/credential-provider-ini" "3.621.0" + "@aws-sdk/credential-provider-process" "3.620.1" + "@aws-sdk/credential-provider-sso" "3.621.0" + "@aws-sdk/credential-provider-web-identity" "3.621.0" + "@aws-sdk/types" "3.609.0" + "@smithy/credential-provider-imds" "^3.2.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-process@3.620.1": + version "3.620.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz#10387cf85400420bb4bbda9cc56937dcc6d6d0ee" + integrity sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/shared-ini-file-loader" "^2.0.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.398.0.tgz#b8a094e5e62cea233d77e27c8b7e2ce65e9f7559" - integrity sha512-2Dl35587xbnzR/GGZqA2MnFs8+kS4wbHQO9BioU0okA+8NRueohNMdrdQmQDdSNK4BfIpFspiZmFkXFNyEAfgw== - dependencies: - "@aws-sdk/client-sso" "3.398.0" - "@aws-sdk/token-providers" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/shared-ini-file-loader" "^2.0.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" +"@aws-sdk/credential-provider-sso@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz#710f413708cb372f9f94e8eb9726cf263ffd83e3" + integrity sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw== + dependencies: + "@aws-sdk/client-sso" "3.621.0" + "@aws-sdk/token-providers" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.398.0.tgz#0396a34bf9d2e4b48530c2f899cbb4101b592db8" - integrity sha512-iG3905Alv9pINbQ8/MIsshgqYMbWx+NDQWpxbIW3W0MkSH3iAqdVpSCteYidYX9G/jv2Um1nW3y360ib20bvNg== +"@aws-sdk/credential-provider-web-identity@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz#b25878c0a05dad60cd5f91e7e5a31a145c2f14be" + integrity sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/eventstream-handler-node@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.398.0.tgz#146f62a491d250100b7d968d5f69e9801b5db40a" - integrity sha512-JcDgyp5X8YcKM/5SQRlXBC8xKSEhujKE5ean7XnpWaMKeir+tXkT6bcV54Bi/3hOMr0Gkya42fEegqYVLWE8zg== +"@aws-sdk/eventstream-handler-node@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.620.0.tgz#e1404f0f62026b31908ca20fa3d83dd98a69252d" + integrity sha512-IXE0xtEmDoMvWyS8/WUE0JXGCXbPH1zs0XfrIXyzqVTD0qTviV9xwbiA1j90NH4HOQfvqU4+28hMRjmc8bciow== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/eventstream-codec" "^2.0.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/eventstream-codec" "^3.1.2" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/middleware-eventstream@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.398.0.tgz#252c16cc5a71aad6a130937a65c530695db4fe2f" - integrity sha512-oWWaReeTlAbpvGpptqGVZcump1mnBF4S57NXGy8972RIAd0fWs5w+xMA1QZq+g750+VM6nIOMFxmXJP9ULplPg== +"@aws-sdk/middleware-eventstream@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.620.0.tgz#e286c6f43ff5142810ee1b22eb0fa56e1dc3814d" + integrity sha512-Pkd8Am0wjHJFqahFYPC/paYNGsdBM3Qonzouhamh6UoBmVP9eeYjOqvrkAzRI/qgGEMisKJT3jWl3GcJYgScng== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/protocol-http" "^2.0.5" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/middleware-host-header@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.398.0.tgz#4e5eeaa8ead96237e70cb6930dfb813a9c21ae8c" - integrity sha512-m+5laWdBaxIZK2ko0OwcCHJZJ5V1MgEIt8QVQ3k4/kOkN9ICjevOYmba751pHoTnbOYB7zQd6D2OT3EYEEsUcA== +"@aws-sdk/middleware-host-header@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz#b561d419a08a984ba364c193376b482ff5224d74" + integrity sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/protocol-http" "^2.0.5" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/middleware-logger@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.398.0.tgz#1f336c329861c2aa7cc267d84ef41e74e98b1502" - integrity sha512-CiJjW+FL12elS6Pn7/UVjVK8HWHhXMfvHZvOwx/Qkpy340sIhkuzOO6fZEruECDTZhl2Wqn81XdJ1ZQ4pRKpCg== +"@aws-sdk/middleware-logger@3.609.0": + version "3.609.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz#ed44d201f091b8bac908cbf14724c7a4d492553f" + integrity sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.398.0.tgz#e456d67fc88afac73004a8feae497d3ab24231e4" - integrity sha512-7QpOqPQAZNXDXv6vsRex4R8dLniL0E/80OPK4PPFsrCh9btEyhN9Begh4i1T+5lL28hmYkztLOkTQ2N5J3hgRQ== +"@aws-sdk/middleware-recursion-detection@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz#f8270dfff843fd756be971e5673f89c6a24c6513" + integrity sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/protocol-http" "^2.0.5" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/middleware-sdk-sts@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.398.0.tgz#f7383c86eedba80666b1a009256a1127d1c4edc6" - integrity sha512-+JH76XHEgfVihkY+GurohOQ5Z83zVN1nYcQzwCFnCDTh4dG4KwhnZKG+WPw6XJECocY0R+H0ivofeALHvVWJtQ== - dependencies: - "@aws-sdk/middleware-signing" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" +"@aws-sdk/middleware-signing@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.620.0.tgz#8aface959d610732b0a5ede6f2c48119b33c4f3f" + integrity sha512-gxI7rubiaanUXaLfJ4NybERa9MGPNg2Ycl/OqANsozrBnR3Pw8vqy3EuVImQOyn2pJ2IFvl8ZPoSMHf4pX56FQ== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/protocol-http" "^4.1.0" + "@smithy/signature-v4" "^4.1.0" + "@smithy/types" "^3.3.0" + "@smithy/util-middleware" "^3.0.3" + tslib "^2.6.2" -"@aws-sdk/middleware-signing@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.398.0.tgz#ad8f73c2e7ab564eea95568e2e109f41af6128ec" - integrity sha512-O0KqXAix1TcvZBFt1qoFkHMUNJOSgjJTYS7lFTRKSwgsD27bdW2TM2r9R8DAccWFt5Amjkdt+eOwQMIXPGTm8w== +"@aws-sdk/middleware-user-agent@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz#1fe3104f04f576a942cf0469bfbd73c38eef3d9e" + integrity sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/protocol-http" "^2.0.5" - "@smithy/signature-v4" "^2.0.0" - "@smithy/types" "^2.2.2" - "@smithy/util-middleware" "^2.0.0" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.398.0.tgz#42542b3697ee6812cb8f81fd19757dc1592af0e0" - integrity sha512-nF1jg0L+18b5HvTcYzwyFgfZQQMELJINFqI0mi4yRKaX7T5a3aGp5RVLGGju/6tAGTuFbfBoEhkhU3kkxexPYQ== +"@aws-sdk/region-config-resolver@3.614.0": + version "3.614.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz#9cebb31a5bcfea2a41891fff7f28d0164cde179a" + integrity sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g== dependencies: - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@smithy/protocol-http" "^2.0.5" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/types" "^3.3.0" + "@smithy/util-config-provider" "^3.0.0" + "@smithy/util-middleware" "^3.0.3" + tslib "^2.6.2" -"@aws-sdk/token-providers@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.398.0.tgz#62fc8f5379df0e94486d71b96df975fb7e7d04cc" - integrity sha512-nrYgjzavGCKJL/48Vt0EL+OlIc5UZLfNGpgyUW9cv3XZwl+kXV0QB+HH0rHZZLfpbBgZ2RBIJR9uD5ieu/6hpQ== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/middleware-host-header" "3.398.0" - "@aws-sdk/middleware-logger" "3.398.0" - "@aws-sdk/middleware-recursion-detection" "3.398.0" - "@aws-sdk/middleware-user-agent" "3.398.0" - "@aws-sdk/types" "3.398.0" - "@aws-sdk/util-endpoints" "3.398.0" - "@aws-sdk/util-user-agent-browser" "3.398.0" - "@aws-sdk/util-user-agent-node" "3.398.0" - "@smithy/config-resolver" "^2.0.5" - "@smithy/fetch-http-handler" "^2.0.5" - "@smithy/hash-node" "^2.0.5" - "@smithy/invalid-dependency" "^2.0.5" - "@smithy/middleware-content-length" "^2.0.5" - "@smithy/middleware-endpoint" "^2.0.5" - "@smithy/middleware-retry" "^2.0.5" - "@smithy/middleware-serde" "^2.0.5" - "@smithy/middleware-stack" "^2.0.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/node-http-handler" "^2.0.5" - "@smithy/property-provider" "^2.0.0" - "@smithy/protocol-http" "^2.0.5" - "@smithy/shared-ini-file-loader" "^2.0.0" - "@smithy/smithy-client" "^2.0.5" - "@smithy/types" "^2.2.2" - "@smithy/url-parser" "^2.0.5" - "@smithy/util-base64" "^2.0.0" - "@smithy/util-body-length-browser" "^2.0.0" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.5" - "@smithy/util-defaults-mode-node" "^2.0.5" - "@smithy/util-retry" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" +"@aws-sdk/token-providers@3.614.0": + version "3.614.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz#88da04f6d4ce916b0b0f6e045676d04201fb47fd" + integrity sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" "@aws-sdk/types@3.387.0": version "3.387.0" @@ -889,48 +983,50 @@ "@smithy/types" "^2.2.2" tslib "^2.5.0" -"@aws-sdk/types@^3.222.0": - version "3.515.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.515.0.tgz#ee97c887293211f1891bc1d8f0aaf354072b6002" - integrity sha512-B3gUpiMlpT6ERaLvZZ61D0RyrQPsFYDkCncLPVkZOKkCOoFU46zi1o6T5JcYiz8vkx1q9RGloQ5exh79s5pU/w== +"@aws-sdk/types@3.609.0", "@aws-sdk/types@^3.222.0": + version "3.609.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.609.0.tgz#06b39d799c9f197a7b43670243e8e78a3bf7d6a5" + integrity sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.398.0.tgz#cb1cc5fe3e4b3839e4e1cc6a66f834cf0dde20ee" - integrity sha512-Fy0gLYAei/Rd6BrXG4baspCnWTUSd0NdokU1pZh4KlfEAEN1i8SPPgfiO5hLk7+2inqtCmqxVJlfqbMVe9k4bw== +"@aws-sdk/util-endpoints@3.614.0": + version "3.614.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz#6564b0ffd7dc3728221e9f9821f5aab1cc58468e" + integrity sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw== dependencies: - "@aws-sdk/types" "3.398.0" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/types" "^3.3.0" + "@smithy/util-endpoints" "^2.0.5" + tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz#9034fd8db77991b28ed20e067acdd53e8b8f824b" - integrity sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg== + version "3.568.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz#2acc4b2236af0d7494f7e517401ba6b3c4af11ff" + integrity sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig== dependencies: - tslib "^2.5.0" + tslib "^2.6.2" -"@aws-sdk/util-user-agent-browser@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.398.0.tgz#5c3e430032eb867b7cbe48dda51a6d8c4ea000a8" - integrity sha512-A3Tzx1tkDHlBT+IgxmsMCHbV8LM7SwwCozq2ZjJRx0nqw3MCrrcxQFXldHeX/gdUMO+0Oocb7HGSnVODTq+0EA== +"@aws-sdk/util-user-agent-browser@3.609.0": + version "3.609.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz#aa15421b2e32ae8bc589dac2bd6e8969832ce588" + integrity sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/types" "^2.2.2" + "@aws-sdk/types" "3.609.0" + "@smithy/types" "^3.3.0" bowser "^2.11.0" - tslib "^2.5.0" + tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.398.0": - version "3.398.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.398.0.tgz#1707737ee67c864d74a03137003b6d2b28172ee6" - integrity sha512-RTVQofdj961ej4//fEkppFf4KXqKGMTCqJYghx3G0C/MYXbg7MGl7LjfNGtJcboRE8pfHHQ/TUWBDA7RIAPPlQ== +"@aws-sdk/util-user-agent-node@3.614.0": + version "3.614.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz#1e3f49a80f841a3f21647baed2adce01aac5beb5" + integrity sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA== dependencies: - "@aws-sdk/types" "3.398.0" - "@smithy/node-config-provider" "^2.0.5" - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@aws-sdk/types" "3.609.0" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" "@aws-sdk/util-utf8-browser@^3.0.0": version "3.259.0" @@ -955,13 +1051,13 @@ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" chokidar "^3.4.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" + "@babel/highlight" "^7.24.7" + picocolors "^1.0.0" "@babel/code-frame@~7.10.4": version "7.10.4" @@ -970,10 +1066,10 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5" + integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== "@babel/core@7.17.2": version "7.17.2" @@ -996,90 +1092,89 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.20.0": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" - integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.20.0", "@babel/core@^7.23.9": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.9" - "@babel/parser" "^7.23.9" - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.17.0", "@babel/generator@^7.20.0", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== +"@babel/generator@^7.17.0", "@babel/generator@^7.20.0", "@babel/generator@^7.25.0", "@babel/generator@^7.7.2": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" + integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" + "@babel/types" "^7.25.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== +"@babel/helper-annotate-as-pure@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" + integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.24.7" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz#37d66feb012024f2422b762b9b2a7cfe27c7fba3" + integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA== dependencies: - "@babel/types" "^7.22.15" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" -"@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== +"@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" + "@babel/compat-data" "^7.25.2" + "@babel/helper-validator-option" "^7.24.8" + browserslist "^4.23.1" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6": - version "7.23.10" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea" - integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz#a109bf9c3d58dfed83aaf42e85633c89f43a6253" + integrity sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.24.8" + "@babel/helper-optimise-call-expression" "^7.24.7" + "@babel/helper-replace-supers" "^7.25.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/traverse" "^7.25.0" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz#24c75974ed74183797ffd5f134169316cd1808d9" + integrity sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-annotate-as-pure" "^7.24.7" regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" - integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -1087,172 +1182,172 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" +"@babel/helper-environment-visitor@^7.18.9": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" + integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-member-expression-to-functions@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" + integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== + dependencies: + "@babel/traverse" "^7.24.8" + "@babel/types" "^7.24.8" + +"@babel/helper-module-imports@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" + integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.25.0", "@babel/helper-module-transforms@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== + dependencies: + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.2" + +"@babel/helper-optimise-call-expression@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz#8b0a0456c92f6b323d27cfd00d1d664e76692a0f" + integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" + integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== + +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz#d2f0fbba059a42d68e5e378feaf181ef6055365e" + integrity sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-wrap-function" "^7.25.0" + "@babel/traverse" "^7.25.0" + +"@babel/helper-replace-supers@^7.24.7", "@babel/helper-replace-supers@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9" + integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.24.8" + "@babel/helper-optimise-call-expression" "^7.24.7" + "@babel/traverse" "^7.25.0" + +"@babel/helper-simple-access@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" + integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz#5f8fa83b69ed5c27adc56044f8be2b3ea96669d9" + integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/helper-validator-option@^7.24.7", "@babel/helper-validator-option@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" + integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== + +"@babel/helper-wrap-function@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz#dab12f0f593d6ca48c0062c28bcfb14ebe812f81" + integrity sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ== + dependencies: + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.0" + "@babel/types" "^7.25.0" + +"@babel/helpers@^7.17.2", "@babel/helpers@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" + integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== + dependencies: + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== +"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.17.0", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065" + integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.25.2" -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz#dca427b45a6c0f5c095a1c639dfe2476a3daba7f" + integrity sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA== dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.3" -"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.17.2", "@babel/helpers@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" - integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz#cd0c583e01369ef51676bdb3d7b603e17d2b3f73" + integrity sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA== dependencies: - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" + "@babel/helper-plugin-utils" "^7.24.8" -"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.17.0", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" - integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz#749bde80356b295390954643de7635e0dffabe73" + integrity sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.8" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz#e4eabdd5109acc399b38d7999b2ef66fc2022f89" + integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.7" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" - integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz#3a82a70e7cb7294ad2559465ebcb871dfbf078fb" + integrity sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.0" "@babel/plugin-proposal-async-generator-functions@^7.0.0": version "7.20.7" @@ -1273,12 +1368,20 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-export-default-from@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz#6f511a676c540ccc8d17a8553dbba9230b0ddac0" - integrity sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.24.7.tgz#0b539c46b8ac804f694e338f803c8354c0f788b6" + integrity sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-default-from" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-export-default-from" "^7.24.7" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0": version "7.18.6" @@ -1364,12 +1467,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz#7e6d4bf595d5724230200fb2b7401d4734b15335" - integrity sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw== +"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.7.tgz#85dae9098933573aae137fb52141dd3ca52ae7ac" + integrity sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" @@ -1378,26 +1481,26 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.2.0", "@babel/plugin-syntax-flow@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz#084564e0f3cc21ea6c70c44cff984a1c0509729a" - integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA== +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.2.0", "@babel/plugin-syntax-flow@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz#d1759e84dd4b437cf9fae69b4c06c41d7625bfb7" + integrity sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-syntax-import-assertions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== +"@babel/plugin-syntax-import-assertions@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz#2a0b406b5871a20a841240586b1300ce2088a778" + integrity sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-syntax-import-attributes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" - integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz#b4f9ea95a79e6912480c4b626739f86a076624ca" + integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" @@ -1413,12 +1516,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.24.7", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" + integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -1476,12 +1579,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== +"@babel/plugin-syntax-typescript@^7.24.7", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz#58d458271b4d3b6bb27ee6ac9525acbb259bad1c" + integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" @@ -1491,491 +1594,499 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz#4f6886c11e423bd69f3ce51dbf42424a5f275514" + integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-async-generator-functions@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce" - integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== +"@babel/plugin-transform-async-generator-functions@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz#b785cf35d73437f6276b1e30439a57a50747bddf" + integrity sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-remap-async-to-generator" "^7.25.0" "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/traverse" "^7.25.0" -"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.20.0", "@babel/plugin-transform-async-to-generator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== +"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.20.0", "@babel/plugin-transform-async-to-generator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz#72a3af6c451d575842a7e9b5a02863414355bdcc" + integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA== dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-remap-async-to-generator" "^7.24.7" -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz#a4251d98ea0c0f399dafe1a35801eaba455bbf1f" + integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz#23a6ed92e6b006d26b1869b1c91d1b917c2ea2ac" + integrity sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.8" -"@babel/plugin-transform-class-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" - integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== +"@babel/plugin-transform-class-properties@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz#256879467b57b0b68c7ddfc5b76584f398cd6834" + integrity sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-class-static-block@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" - integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== +"@babel/plugin-transform-class-static-block@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz#c82027ebb7010bc33c116d4b5044fbbf8c05484d" + integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.23.8": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz#63122366527d88e0ef61b612554fe3f8c793991e" + integrity sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-replace-supers" "^7.25.0" + "@babel/traverse" "^7.25.0" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== +"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz#4cab3214e80bc71fae3853238d13d097b004c707" + integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/template" "^7.24.7" -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz#c828e814dbe42a2718a838c2a2e16a408e055550" + integrity sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.8" -"@babel/plugin-transform-dotall-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== +"@babel/plugin-transform-dotall-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz#5f8bf8a680f2116a7207e16288a5f974ad47a7a0" + integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-duplicate-keys@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== +"@babel/plugin-transform-duplicate-keys@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz#dd20102897c9a2324e5adfffb67ff3610359a8ee" + integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-dynamic-import@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" - integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz#809af7e3339466b49c034c683964ee8afb3e2604" + integrity sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" + +"@babel/plugin-transform-dynamic-import@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4" + integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== +"@babel/plugin-transform-exponentiation-operator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz#b629ee22645f412024297d5245bce425c31f9b0d" + integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-export-namespace-from@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" - integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== +"@babel/plugin-transform-export-namespace-from@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz#176d52d8d8ed516aeae7013ee9556d540c53f197" + integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz#cfa7ca159cc3306fab526fc67091556b51af26ff" - integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q== +"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.24.7": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz#b3aa251db44959b7a7c82abcd6b4225dec7d2258" + integrity sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-flow" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/plugin-syntax-flow" "^7.24.7" -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz#f25b33f72df1d8be76399e1b8f3f9d366eb5bc70" + integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" -"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz#b85e773097526c1a4fc4ba27322748643f26fc37" + integrity sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA== dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.1" -"@babel/plugin-transform-json-strings@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" - integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== +"@babel/plugin-transform-json-strings@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz#f3e9c37c0a373fee86e36880d45b3664cedaf73a" + integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== +"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz#deb1ad14fc5490b9a65ed830e025bca849d8b5f3" + integrity sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.8" -"@babel/plugin-transform-logical-assignment-operators@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" - integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== +"@babel/plugin-transform-logical-assignment-operators@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz#a58fb6eda16c9dc8f9ff1c7b1ba6deb7f4694cb0" + integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz#3b4454fb0e302e18ba4945ba3246acb1248315df" + integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-modules-amd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== +"@babel/plugin-transform-modules-amd@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz#65090ed493c4a834976a3ca1cde776e6ccff32d7" + integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.24.7", "@babel/plugin-transform-modules-commonjs@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" + integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-module-transforms" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-simple-access" "^7.24.7" -"@babel/plugin-transform-modules-systemjs@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" - integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== +"@babel/plugin-transform-modules-systemjs@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz#8f46cdc5f9e5af74f3bd019485a6cbe59685ea33" + integrity sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw== dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-module-transforms" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.0" -"@babel/plugin-transform-modules-umd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== +"@babel/plugin-transform-modules-umd@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz#edd9f43ec549099620df7df24e7ba13b5c76efc8" + integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== +"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz#9042e9b856bc6b3688c0c2e4060e9e10b1460923" + integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-new-target@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== +"@babel/plugin-transform-new-target@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz#31ff54c4e0555cc549d5816e4ab39241dfb6ab00" + integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" - integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz#1de4534c590af9596f53d67f52a92f12db984120" + integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" - integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== +"@babel/plugin-transform-numeric-separator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz#bea62b538c80605d8a0fac9b40f48e97efa7de63" + integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" - integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== +"@babel/plugin-transform-object-rest-spread@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz#d13a2b93435aeb8a197e115221cab266ba6e55d6" + integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q== dependencies: - "@babel/compat-data" "^7.23.3" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-parameters" "^7.24.7" -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz#66eeaff7830bba945dd8989b632a40c04ed625be" + integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-replace-supers" "^7.24.7" -"@babel/plugin-transform-optional-catch-binding@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" - integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== +"@babel/plugin-transform-optional-catch-binding@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz#00eabd883d0dd6a60c1c557548785919b6e717b4" + integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== +"@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d" + integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz#5881f0ae21018400e320fc7eb817e529d1254b68" + integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-private-methods@^7.22.5", "@babel/plugin-transform-private-methods@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" - integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== +"@babel/plugin-transform-private-methods@^7.22.5", "@babel/plugin-transform-private-methods@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz#e6318746b2ae70a59d023d5cc1344a2ba7a75f5e" + integrity sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-private-property-in-object@^7.22.11", "@babel/plugin-transform-private-property-in-object@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" - integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== +"@babel/plugin-transform-private-property-in-object@^7.22.11", "@babel/plugin-transform-private-property-in-object@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz#4eec6bc701288c1fab5f72e6a4bbc9d67faca061" + integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz#f0d2ed8380dfbed949c42d4d790266525d63bbdc" + integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" - integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== +"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz#9caff79836803bc666bcfe210aeb6626230c293b" + integrity sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== +"@babel/plugin-transform-react-jsx-development@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz#eaee12f15a93f6496d852509a850085e6361470b" + integrity sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ== dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" + "@babel/plugin-transform-react-jsx" "^7.24.7" "@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9" - integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz#66bff0248ea0b549972e733516ffad577477bdab" + integrity sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e" - integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz#1198aab2548ad19582013815c938d3ebd8291ee3" + integrity sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.24.7": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz#e37e8ebfa77e9f0b16ba07fadcb6adb47412227a" + integrity sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/plugin-syntax-jsx" "^7.24.7" + "@babel/types" "^7.25.2" -"@babel/plugin-transform-react-pure-annotations@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" - integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== +"@babel/plugin-transform-react-pure-annotations@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz#bdd9d140d1c318b4f28b29a00fb94f97ecab1595" + integrity sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-regenerator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== +"@babel/plugin-transform-regenerator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz#021562de4534d8b4b1851759fd7af4e05d2c47f8" + integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== +"@babel/plugin-transform-reserved-words@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz#80037fe4fbf031fc1125022178ff3938bb3743a4" + integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-runtime@^7.0.0": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz#2c64d0680fc8e09e1dfe8fd5c646fe72abd82004" - integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz#00a5bfaf8c43cf5c8703a8a6e82b59d9c58f38ca" + integrity sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw== + dependencies: + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.1" + babel-plugin-polyfill-regenerator "^0.6.1" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz#85448c6b996e122fa9e289746140aaa99da64e73" + integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== +"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz#e8a38c0fde7882e0fb8f160378f74bd885cc7bb3" + integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" -"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== +"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz#96ae80d7a7e5251f657b5cf18f1ea6bf926f5feb" + integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz#a05debb4a9072ae8f985bcf77f3f215434c8f8c8" + integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-typeof-symbol@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== +"@babel/plugin-transform-typeof-symbol@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz#383dab37fb073f5bfe6e60c654caac309f92ba1c" + integrity sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.8" -"@babel/plugin-transform-typescript@^7.23.3", "@babel/plugin-transform-typescript@^7.5.0": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" - integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== +"@babel/plugin-transform-typescript@^7.24.7", "@babel/plugin-transform-typescript@^7.5.0": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz#237c5d10de6d493be31637c6b9fa30b6c5461add" + integrity sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.23.3" + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/plugin-syntax-typescript" "^7.24.7" -"@babel/plugin-transform-unicode-escapes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== +"@babel/plugin-transform-unicode-escapes@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz#2023a82ced1fb4971630a2e079764502c4148e0e" + integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-unicode-property-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" - integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== +"@babel/plugin-transform-unicode-property-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz#9073a4cd13b86ea71c3264659590ac086605bbcd" + integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== +"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz#dfc3d4a51127108099b19817c0963be6a2adf19f" + integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-unicode-sets-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" - integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== +"@babel/plugin-transform-unicode-sets-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz#d40705d67523803a576e29c63cef6e516b858ed9" + integrity sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/preset-env@^7.0.0", "@babel/preset-env@^7.20.0": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" - integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.3.tgz#0bf4769d84ac51d1073ab4a86f00f30a3a83c67c" + integrity sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g== + dependencies: + "@babel/compat-data" "^7.25.2" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-validator-option" "^7.24.8" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.3" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.23.3" - "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-assertions" "^7.24.7" + "@babel/plugin-syntax-import-attributes" "^7.24.7" "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -1987,69 +2098,70 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.9" - "@babel/plugin-transform-async-to-generator" "^7.23.3" - "@babel/plugin-transform-block-scoped-functions" "^7.23.3" - "@babel/plugin-transform-block-scoping" "^7.23.4" - "@babel/plugin-transform-class-properties" "^7.23.3" - "@babel/plugin-transform-class-static-block" "^7.23.4" - "@babel/plugin-transform-classes" "^7.23.8" - "@babel/plugin-transform-computed-properties" "^7.23.3" - "@babel/plugin-transform-destructuring" "^7.23.3" - "@babel/plugin-transform-dotall-regex" "^7.23.3" - "@babel/plugin-transform-duplicate-keys" "^7.23.3" - "@babel/plugin-transform-dynamic-import" "^7.23.4" - "@babel/plugin-transform-exponentiation-operator" "^7.23.3" - "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.6" - "@babel/plugin-transform-function-name" "^7.23.3" - "@babel/plugin-transform-json-strings" "^7.23.4" - "@babel/plugin-transform-literals" "^7.23.3" - "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" - "@babel/plugin-transform-member-expression-literals" "^7.23.3" - "@babel/plugin-transform-modules-amd" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.9" - "@babel/plugin-transform-modules-umd" "^7.23.3" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" - "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.23.4" - "@babel/plugin-transform-object-super" "^7.23.3" - "@babel/plugin-transform-optional-catch-binding" "^7.23.4" - "@babel/plugin-transform-optional-chaining" "^7.23.4" - "@babel/plugin-transform-parameters" "^7.23.3" - "@babel/plugin-transform-private-methods" "^7.23.3" - "@babel/plugin-transform-private-property-in-object" "^7.23.4" - "@babel/plugin-transform-property-literals" "^7.23.3" - "@babel/plugin-transform-regenerator" "^7.23.3" - "@babel/plugin-transform-reserved-words" "^7.23.3" - "@babel/plugin-transform-shorthand-properties" "^7.23.3" - "@babel/plugin-transform-spread" "^7.23.3" - "@babel/plugin-transform-sticky-regex" "^7.23.3" - "@babel/plugin-transform-template-literals" "^7.23.3" - "@babel/plugin-transform-typeof-symbol" "^7.23.3" - "@babel/plugin-transform-unicode-escapes" "^7.23.3" - "@babel/plugin-transform-unicode-property-regex" "^7.23.3" - "@babel/plugin-transform-unicode-regex" "^7.23.3" - "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/plugin-transform-arrow-functions" "^7.24.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.0" + "@babel/plugin-transform-async-to-generator" "^7.24.7" + "@babel/plugin-transform-block-scoped-functions" "^7.24.7" + "@babel/plugin-transform-block-scoping" "^7.25.0" + "@babel/plugin-transform-class-properties" "^7.24.7" + "@babel/plugin-transform-class-static-block" "^7.24.7" + "@babel/plugin-transform-classes" "^7.25.0" + "@babel/plugin-transform-computed-properties" "^7.24.7" + "@babel/plugin-transform-destructuring" "^7.24.8" + "@babel/plugin-transform-dotall-regex" "^7.24.7" + "@babel/plugin-transform-duplicate-keys" "^7.24.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0" + "@babel/plugin-transform-dynamic-import" "^7.24.7" + "@babel/plugin-transform-exponentiation-operator" "^7.24.7" + "@babel/plugin-transform-export-namespace-from" "^7.24.7" + "@babel/plugin-transform-for-of" "^7.24.7" + "@babel/plugin-transform-function-name" "^7.25.1" + "@babel/plugin-transform-json-strings" "^7.24.7" + "@babel/plugin-transform-literals" "^7.25.2" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" + "@babel/plugin-transform-member-expression-literals" "^7.24.7" + "@babel/plugin-transform-modules-amd" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.8" + "@babel/plugin-transform-modules-systemjs" "^7.25.0" + "@babel/plugin-transform-modules-umd" "^7.24.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" + "@babel/plugin-transform-new-target" "^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" + "@babel/plugin-transform-numeric-separator" "^7.24.7" + "@babel/plugin-transform-object-rest-spread" "^7.24.7" + "@babel/plugin-transform-object-super" "^7.24.7" + "@babel/plugin-transform-optional-catch-binding" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.8" + "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/plugin-transform-private-methods" "^7.24.7" + "@babel/plugin-transform-private-property-in-object" "^7.24.7" + "@babel/plugin-transform-property-literals" "^7.24.7" + "@babel/plugin-transform-regenerator" "^7.24.7" + "@babel/plugin-transform-reserved-words" "^7.24.7" + "@babel/plugin-transform-shorthand-properties" "^7.24.7" + "@babel/plugin-transform-spread" "^7.24.7" + "@babel/plugin-transform-sticky-regex" "^7.24.7" + "@babel/plugin-transform-template-literals" "^7.24.7" + "@babel/plugin-transform-typeof-symbol" "^7.24.8" + "@babel/plugin-transform-unicode-escapes" "^7.24.7" + "@babel/plugin-transform-unicode-property-regex" "^7.24.7" + "@babel/plugin-transform-unicode-regex" "^7.24.7" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.7" "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - core-js-compat "^3.31.0" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.37.1" semver "^6.3.1" "@babel/preset-flow@^7.13.13": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.23.3.tgz#8084e08b9ccec287bd077ab288b286fab96ffab1" - integrity sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.24.7.tgz#eef5cb8e05e97a448fc50c16826f5612fe512c06" + integrity sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-flow-strip-types" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + "@babel/plugin-transform-flow-strip-types" "^7.24.7" "@babel/preset-modules@0.1.6-no-external-plugins": version "0.1.6-no-external-plugins" @@ -2061,32 +2173,32 @@ esutils "^2.0.2" "@babel/preset-react@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" - integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.7.tgz#480aeb389b2a798880bf1f889199e3641cbb22dc" + integrity sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.23.3" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + "@babel/plugin-transform-react-display-name" "^7.24.7" + "@babel/plugin-transform-react-jsx" "^7.24.7" + "@babel/plugin-transform-react-jsx-development" "^7.24.7" + "@babel/plugin-transform-react-pure-annotations" "^7.24.7" "@babel/preset-typescript@^7.13.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz#66cd86ea8f8c014855671d5ea9a737139cbbfef1" + integrity sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + "@babel/plugin-syntax-jsx" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.7" + "@babel/plugin-transform-typescript" "^7.24.7" "@babel/register@^7.13.16": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.23.7.tgz#485a5e7951939d21304cae4af1719fdb887bc038" - integrity sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ== + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.24.6.tgz#59e21dcc79e1d04eed5377633b0f88029a6bef9e" + integrity sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w== dependencies: clone-deep "^4.0.1" find-cache-dir "^2.0.0" @@ -2100,44 +2212,41 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.20.0", "@babel/runtime@^7.8.4": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" + integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.0.0", "@babel/template@^7.16.7", "@babel/template@^7.22.15", "@babel/template@^7.23.9", "@babel/template@^7.3.3": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" - integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/traverse@^7.14.0", "@babel/traverse@^7.17.0", "@babel/traverse@^7.20.0", "@babel/traverse@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" - integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" +"@babel/template@^7.0.0", "@babel/template@^7.16.7", "@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" + +"@babel/traverse@^7.14.0", "@babel/traverse@^7.17.0", "@babel/traverse@^7.20.0", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490" + integrity sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.3" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.2" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.17.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" - integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== +"@babel/types@^7.0.0", "@babel/types@^7.17.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125" + integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-string-parser" "^7.24.8" + "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -2160,13 +2269,13 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/natural-compare/-/natural-compare-1.1.0.tgz#75f0642ad64701ffa9d42f1d7ada3b83f4e67cf3" integrity sha512-yuctPJs5lRXoI8LkpVZGAV6n+DKOuEsfpfcIDQ8ZjWHwazqk1QjBc4jMlof0UlZHyUqv4dwsOTooMiAmtzvwXA== -"@es-joy/jsdoccomment@~0.42.0": - version "0.42.0" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz#59e878708336aaee88c2b34c894f73dbf77ae2b0" - integrity sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw== +"@es-joy/jsdoccomment@~0.46.0": + version "0.46.0" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.46.0.tgz#47a2ee4bfc0081f252e058272dfab680aaed464d" + integrity sha512-C3Axuq1xd/9VqFZpW4YAzOx5O9q/LP46uIQy/iNDpHG3fmPa6TBtvfglMCs3RBiBxAIi0Go97r8+jvTt55XMyQ== dependencies: comment-parser "1.4.1" - esquery "^1.5.0" + esquery "^1.6.0" jsdoc-type-pratt-parser "~4.0.0" "@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": @@ -2176,10 +2285,10 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== +"@eslint-community/regexpp@^4.11.0", "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== "@eslint/eslintrc@^2.1.4": version "2.1.4" @@ -2196,10 +2305,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.56.0": - version "8.56.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" - integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== "@expo/config-plugins@^4.0.2": version "4.1.5" @@ -2278,7 +2387,7 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@humanwhocodes/config-array@^0.11.13": +"@humanwhocodes/config-array@^0.11.14": version "0.11.14" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== @@ -2293,9 +2402,9 @@ integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@hutson/parse-repository-url@^3.0.0": version "3.0.2" @@ -2343,7 +2452,7 @@ js-yaml "^3.13.1" resolve-from "^5.0.0" -"@istanbuljs/schema@^0.1.2": +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": version "0.1.3" resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== @@ -2569,42 +2678,42 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== dependencies: - "@jridgewell/set-array" "^1.0.1" + "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.22" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" - integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -2758,55 +2867,55 @@ write-pkg "4.0.0" yargs "16.2.0" -"@next/env@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/env/-/env-14.1.1.tgz#80150a8440eb0022a73ba353c6088d419b908bac" - integrity sha512-7CnQyD5G8shHxQIIg3c7/pSeYFeMhsNbpU/bmvH7ZnDql7mNRgg8O2JZrhrc/soFnfBnKP4/xXNiiSIPn2w8gA== - -"@next/swc-darwin-arm64@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.1.tgz#b74ba7c14af7d05fa2848bdeb8ee87716c939b64" - integrity sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ== - -"@next/swc-darwin-x64@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.1.tgz#82c3e67775e40094c66e76845d1a36cc29c9e78b" - integrity sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw== - -"@next/swc-linux-arm64-gnu@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.1.tgz#4f4134457b90adc5c3d167d07dfb713c632c0caa" - integrity sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg== - -"@next/swc-linux-arm64-musl@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.1.tgz#594bedafaeba4a56db23a48ffed2cef7cd09c31a" - integrity sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ== - -"@next/swc-linux-x64-gnu@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.1.tgz#cb4e75f1ff2b9bcadf2a50684605928ddfc58528" - integrity sha512-rv6AAdEXoezjbdfp3ouMuVqeLjE1Bin0AuE6qxE6V9g3Giz5/R3xpocHoAi7CufRR+lnkuUjRBn05SYJ83oKNQ== - -"@next/swc-linux-x64-musl@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.1.tgz#15f26800df941b94d06327f674819ab64b272e25" - integrity sha512-YAZLGsaNeChSrpz/G7MxO3TIBLaMN8QWMr3X8bt6rCvKovwU7GqQlDu99WdvF33kI8ZahvcdbFsy4jAFzFX7og== - -"@next/swc-win32-arm64-msvc@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.1.tgz#060c134fa7fa843666e3e8574972b2b723773dd9" - integrity sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A== - -"@next/swc-win32-ia32-msvc@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.1.tgz#5c06889352b1f77e3807834a0d0afd7e2d2d1da2" - integrity sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw== - -"@next/swc-win32-x64-msvc@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.1.tgz#d38c63a8f9b7f36c1470872797d3735b4a9c5c52" - integrity sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A== +"@next/env@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.5.tgz#1d9328ab828711d3517d0a1d505acb55e5ef7ad0" + integrity sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA== + +"@next/swc-darwin-arm64@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.5.tgz#d0a160cf78c18731c51cc0bff131c706b3e9bb05" + integrity sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ== + +"@next/swc-darwin-x64@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.5.tgz#eb832a992407f6e6352eed05a073379f1ce0589c" + integrity sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA== + +"@next/swc-linux-arm64-gnu@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.5.tgz#098fdab57a4664969bc905f5801ef5a89582c689" + integrity sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA== + +"@next/swc-linux-arm64-musl@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.5.tgz#243a1cc1087fb75481726dd289c7b219fa01f2b5" + integrity sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA== + +"@next/swc-linux-x64-gnu@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.5.tgz#b8a2e436387ee4a52aa9719b718992e0330c4953" + integrity sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ== + +"@next/swc-linux-x64-musl@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.5.tgz#cb8a9adad5fb8df86112cfbd363aab5c6d32757b" + integrity sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ== + +"@next/swc-win32-arm64-msvc@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.5.tgz#81f996c1c38ea0900d4e7719cc8814be8a835da0" + integrity sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw== + +"@next/swc-win32-ia32-msvc@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.5.tgz#f61c74ce823e10b2bc150e648fc192a7056422e0" + integrity sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg== + +"@next/swc-win32-x64-msvc@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.5.tgz#ed199a920efb510cfe941cd75ed38a7be21e756f" + integrity sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g== "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": version "2.1.8-no-fsevents.3" @@ -2890,9 +2999,9 @@ semver "^7.3.5" "@npmcli/fs@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e" - integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" + integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== dependencies: semver "^7.3.5" @@ -2911,17 +3020,17 @@ which "^3.0.0" "@npmcli/installed-package-contents@^2.0.1", "@npmcli/installed-package-contents@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz#bfd817eccd9e8df200919e73f57f9e3d9e4f9e33" - integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz#63048e5f6e40947a3a88dcbcb4fd9b76fdd37c17" + integrity sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w== dependencies: npm-bundled "^3.0.0" npm-normalize-package-bin "^3.0.0" "@npmcli/map-workspaces@^3.0.2": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz#15ad7d854292e484f7ba04bc30187a8320dba799" - integrity sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg== + version "3.0.6" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz#27dc06c20c35ef01e45a08909cab9cb3da08cea6" + integrity sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA== dependencies: "@npmcli/name-from-folder" "^2.0.0" glob "^10.2.2" @@ -2984,9 +3093,9 @@ which "^3.0.0" "@npmcli/query@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.0.1.tgz#77d63ceb7d27ed748da3cc8b50d45fc341448ed6" - integrity sha512-0jE8iHBogf/+bFDj+ju6/UMLbJ39c8h6nSe6qile+dB7PJ0iV3gNqcb2vtt6WWCBrxv9uAjzUT/8vroluulidA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.1.0.tgz#bc202c59e122a06cf8acab91c795edda2cdad42c" + integrity sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ== dependencies: postcss-selector-parser "^6.0.10" @@ -3214,14 +3323,14 @@ integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== "@polka/url@^1.0.0-next.24": - version "1.0.0-next.24" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.24.tgz#58601079e11784d20f82d0585865bb42305c4df3" - integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ== + version "1.0.0-next.25" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817" + integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== "@react-native-async-storage/async-storage@^1.17.12": - version "1.21.0" - resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz#d7e370028e228ab84637016ceeb495878b7a44c8" - integrity sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag== + version "1.24.0" + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz#888efbc62a26f7d9464b32f4d3027b7f2771999b" + integrity sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g== dependencies: merge-options "^3.0.4" @@ -3235,14 +3344,15 @@ execa "^5.0.0" prompts "^2.4.0" -"@react-native-community/cli-clean@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz#d4f1730c3d22d816b4d513d330d5f3896a3f5921" - integrity sha512-90k2hCX0ddSFPT7EN7h5SZj0XZPXP0+y/++v262hssoey3nhurwF57NGWN0XAR0o9BSW7+mBfeInfabzDraO6A== +"@react-native-community/cli-clean@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-13.6.9.tgz#b6754f39c2b877c9d730feb848945150e1d52209" + integrity sha512-7Dj5+4p9JggxuVNOjPbduZBAP1SUgNhLKVw5noBUzT/3ZpUZkDM+RCSwyoyg8xKWoE4OrdUAXwAFlMcFDPKykA== dependencies: - "@react-native-community/cli-tools" "12.3.2" + "@react-native-community/cli-tools" "13.6.9" chalk "^4.1.2" execa "^5.0.0" + fast-glob "^3.3.2" "@react-native-community/cli-clean@^10.0.0": version "10.1.1" @@ -3266,16 +3376,16 @@ glob "^7.1.3" joi "^17.2.1" -"@react-native-community/cli-config@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-12.3.2.tgz#1a5de302de4d597ff2fc9932a032134b6ec4325f" - integrity sha512-UUCzDjQgvAVL/57rL7eOuFUhd+d+6qfM7V8uOegQFeFEmSmvUUDLYoXpBa5vAK9JgQtSqMBJ1Shmwao+/oElxQ== +"@react-native-community/cli-config@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-13.6.9.tgz#d609a64d40a173c89bd7d24e31807bb7dcba69f9" + integrity sha512-rFfVBcNojcMm+KKHE/xqpqXg8HoKl4EC7bFHUrahMJ+y/tZll55+oX/PGG37rzB8QzP2UbMQ19DYQKC1G7kXeg== dependencies: - "@react-native-community/cli-tools" "12.3.2" + "@react-native-community/cli-tools" "13.6.9" chalk "^4.1.2" cosmiconfig "^5.1.0" deepmerge "^4.3.0" - glob "^7.1.3" + fast-glob "^3.3.2" joi "^17.2.1" "@react-native-community/cli-config@^10.0.0", "@react-native-community/cli-config@^10.1.1": @@ -3297,10 +3407,10 @@ dependencies: serve-static "^1.13.1" -"@react-native-community/cli-debugger-ui@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.2.tgz#b2743876b03e560fbf5ef516e95387fcb6d91630" - integrity sha512-nSWQUL+51J682DlfcC1bjkUbQbGvHCC25jpqTwHIjmmVjYCX1uHuhPSqQKgPNdvtfOkrkACxczd7kVMmetxY2Q== +"@react-native-community/cli-debugger-ui@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-13.6.9.tgz#bc5727c51964206a00d417e5148b46331a81d5a5" + integrity sha512-TkN7IdFmGPPvTpAo3nCAH9uwGCPxWBEAwpqEZDrq0NWllI7Tdie8vDpGdrcuCcKalmhq6OYnkXzeBah7O1Ztpw== dependencies: serve-static "^1.13.1" @@ -3335,22 +3445,22 @@ wcwidth "^1.0.1" yaml "^2.2.1" -"@react-native-community/cli-doctor@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-12.3.2.tgz#9e82b49f04ee03872b2975f26c8799cecac021ce" - integrity sha512-GrAabdY4qtBX49knHFvEAdLtCjkmndjTeqhYO6BhsbAeKOtspcLT/0WRgdLIaKODRa61ADNB3K5Zm4dU0QrZOg== +"@react-native-community/cli-doctor@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-13.6.9.tgz#f1d4eeff427ddc8a9d19851042621c10939c35cb" + integrity sha512-5quFaLdWFQB+677GXh5dGU9I5eg2z6Vg4jOX9vKnc9IffwyIFAyJfCZHrxLSRPDGNXD7biDQUdoezXYGwb6P/A== dependencies: - "@react-native-community/cli-config" "12.3.2" - "@react-native-community/cli-platform-android" "12.3.2" - "@react-native-community/cli-platform-ios" "12.3.2" - "@react-native-community/cli-tools" "12.3.2" + "@react-native-community/cli-config" "13.6.9" + "@react-native-community/cli-platform-android" "13.6.9" + "@react-native-community/cli-platform-apple" "13.6.9" + "@react-native-community/cli-platform-ios" "13.6.9" + "@react-native-community/cli-tools" "13.6.9" chalk "^4.1.2" command-exists "^1.2.8" deepmerge "^4.3.0" envinfo "^7.10.0" execa "^5.0.0" hermes-profile-transformer "^0.0.6" - ip "^1.1.5" node-stream-zip "^1.9.1" ora "^5.4.1" semver "^7.5.2" @@ -3359,9 +3469,9 @@ yaml "^2.2.1" "@react-native-community/cli-doctor@^10.0.0": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-10.2.5.tgz#e5e28c66c2373f05a94b296a8ec637f8df736707" - integrity sha512-1YbzXvsldBmSw1MmBsXB74bKiHXKNCjlb2ByLgkfTiarpSvETYam3g5vex0N+qc0Cdkzkq+8NznE744LFhnUpw== + version "10.2.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-10.2.7.tgz#1a3ecd18a7b1e685864c9dc95e014a5f8f225f84" + integrity sha512-MejE7m+63DxfKwFSvyZGfq+72jX0RSP9SdSmDbW0Bjz2NIEE3BsE8rNay+ByFbdSLsapRPvaZv2Jof+dK2Y/yg== dependencies: "@react-native-community/cli-config" "^10.1.1" "@react-native-community/cli-platform-ios" "^10.2.5" @@ -3371,7 +3481,6 @@ envinfo "^7.7.2" execa "^1.0.0" hermes-profile-transformer "^0.0.6" - ip "^1.1.5" node-stream-zip "^1.9.1" ora "^5.4.1" prompts "^2.4.0" @@ -3391,27 +3500,25 @@ hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-hermes@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-12.3.2.tgz#5f266985fe32a37e9020e881460e9017870be2e5" - integrity sha512-SL6F9O8ghp4ESBFH2YAPLtIN39jdnvGBKnK4FGKpDCjtB3DnUmDsGFlH46S+GGt5M6VzfG2eeKEOKf3pZ6jUzA== +"@react-native-community/cli-hermes@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-13.6.9.tgz#88c8dfe936a0d4272efc54429eda9ccc3fca3ad8" + integrity sha512-GvwiwgvFw4Ws+krg2+gYj8sR3g05evmNjAHkKIKMkDTJjZ8EdyxbkifRUs1ZCq3TMZy2oeblZBXCJVOH4W7ZbA== dependencies: - "@react-native-community/cli-platform-android" "12.3.2" - "@react-native-community/cli-tools" "12.3.2" + "@react-native-community/cli-platform-android" "13.6.9" + "@react-native-community/cli-tools" "13.6.9" chalk "^4.1.2" hermes-profile-transformer "^0.0.6" - ip "^1.1.5" "@react-native-community/cli-hermes@^10.0.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-10.2.0.tgz#cc252f435b149f74260bc918ce22fdf58033a87e" - integrity sha512-urfmvNeR8IiO/Sd92UU3xPO+/qI2lwCWQnxOkWaU/i2EITFekE47MD6MZrfVulRVYRi5cuaFqKZO/ccOdOB/vQ== + version "10.2.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-10.2.7.tgz#bcb28dfe551562a68d13c787550319f9831576b4" + integrity sha512-MULfkgeLx1fietx10pLFLmlfRh0dcfX/HABXB5Tm0BzQDXy7ofFIJ/UxH+IF55NwPKXl6aEpTbPwbgsyJxqPiA== dependencies: "@react-native-community/cli-platform-android" "^10.2.0" "@react-native-community/cli-tools" "^10.1.1" chalk "^4.1.2" hermes-profile-transformer "^0.0.6" - ip "^1.1.5" "@react-native-community/cli-platform-android@10.0.0": version "10.0.0" @@ -3435,16 +3542,16 @@ glob "^7.1.3" logkitty "^0.7.1" -"@react-native-community/cli-platform-android@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.2.tgz#de54d89712f8ea95046d798ec274fd6caea70c34" - integrity sha512-MZ5nO8yi/N+Fj2i9BJcJ9C/ez+9/Ir7lQt49DWRo9YDmzye66mYLr/P2l/qxsixllbbDi7BXrlLpxaEhMrDopg== +"@react-native-community/cli-platform-android@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-13.6.9.tgz#b175b9b11334fc90da3f395432678bd53c30fae4" + integrity sha512-9KsYGdr08QhdvT3Ht7e8phQB3gDX9Fs427NJe0xnoBh+PDPTI2BD5ks5ttsH8CzEw8/P6H8tJCHq6hf2nxd9cw== dependencies: - "@react-native-community/cli-tools" "12.3.2" + "@react-native-community/cli-tools" "13.6.9" chalk "^4.1.2" execa "^5.0.0" + fast-glob "^3.3.2" fast-xml-parser "^4.2.4" - glob "^7.1.3" logkitty "^0.7.1" "@react-native-community/cli-platform-android@^10.2.0": @@ -3458,6 +3565,18 @@ glob "^7.1.3" logkitty "^0.7.1" +"@react-native-community/cli-platform-apple@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-13.6.9.tgz#02fb5dc47d62acd85f4d7a852e93216927a772fa" + integrity sha512-KoeIHfhxMhKXZPXmhQdl6EE+jGKWwoO9jUVWgBvibpVmsNjo7woaG/tfJMEWfWF3najX1EkQAoJWpCDBMYWtlA== + dependencies: + "@react-native-community/cli-tools" "13.6.9" + chalk "^4.1.2" + execa "^5.0.0" + fast-glob "^3.3.2" + fast-xml-parser "^4.0.12" + ora "^5.4.1" + "@react-native-community/cli-platform-ios@10.0.0": version "10.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.0.0.tgz#91ee301620e509b44db5fd7c93eaf7ee992d097a" @@ -3481,17 +3600,12 @@ glob "^7.1.3" ora "^5.4.1" -"@react-native-community/cli-platform-ios@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.2.tgz#07e298f69761424da85909790a43ec60ebfe6097" - integrity sha512-OcWEAbkev1IL6SUiQnM6DQdsvfsKZhRZtoBNSj9MfdmwotVZSOEZJ+IjZ1FR9ChvMWayO9ns/o8LgoQxr1ZXeg== +"@react-native-community/cli-platform-ios@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-13.6.9.tgz#f37ceab41c2302e8f0d4bcbd3bf58b3353db4306" + integrity sha512-CiUcHlGs8vE0CAB4oi1f+dzniqfGuhWPNrDvae2nm8dewlahTBwIcK5CawyGezjcJoeQhjBflh9vloska+nlnw== dependencies: - "@react-native-community/cli-tools" "12.3.2" - chalk "^4.1.2" - execa "^5.0.0" - fast-xml-parser "^4.0.12" - glob "^7.1.3" - ora "^5.4.1" + "@react-native-community/cli-platform-apple" "13.6.9" "@react-native-community/cli-platform-ios@^10.2.5": version "10.2.5" @@ -3522,11 +3636,6 @@ metro-runtime "0.76.7" readline "^1.3.0" -"@react-native-community/cli-plugin-metro@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.2.tgz#7db7dc8939b821b9aeebdd5ee3293f3a0201a2ea" - integrity sha512-FpFBwu+d2E7KRhYPTkKvQsWb2/JKsJv+t1tcqgQkn+oByhp+qGyXBobFB8/R3yYvRRDCSDhS+atWTJzk9TjM8g== - "@react-native-community/cli-plugin-metro@^10.0.0": version "10.2.3" resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz#419e0155a50951c3329818fba51cb5021a7294f1" @@ -3559,20 +3668,20 @@ serve-static "^1.13.1" ws "^7.5.1" -"@react-native-community/cli-server-api@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-12.3.2.tgz#11df4e20ed72d59cf22adf77bd30aff3d6e70dc9" - integrity sha512-iwa7EO9XFA/OjI5pPLLpI/6mFVqv8L73kNck3CNOJIUCCveGXBKK0VMyOkXaf/BYnihgQrXh+x5cxbDbggr7+Q== +"@react-native-community/cli-server-api@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-13.6.9.tgz#269e666bc26e9d0b2f42c7f6099559b5f9259e9d" + integrity sha512-W8FSlCPWymO+tlQfM3E0JmM8Oei5HZsIk5S0COOl0MRi8h0NmHI4WSTF2GCfbFZkcr2VI/fRsocoN8Au4EZAug== dependencies: - "@react-native-community/cli-debugger-ui" "12.3.2" - "@react-native-community/cli-tools" "12.3.2" + "@react-native-community/cli-debugger-ui" "13.6.9" + "@react-native-community/cli-tools" "13.6.9" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.1" nocache "^3.0.1" pretty-format "^26.6.2" serve-static "^1.13.1" - ws "^7.5.1" + ws "^6.2.2" "@react-native-community/cli-server-api@^10.0.0", "@react-native-community/cli-server-api@^10.1.1": version "10.1.1" @@ -3604,13 +3713,14 @@ semver "^6.3.0" shell-quote "^1.7.3" -"@react-native-community/cli-tools@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-12.3.2.tgz#d3362b04fba3f73ec82c5a493696b575acfb420c" - integrity sha512-nDH7vuEicHI2TI0jac/DjT3fr977iWXRdgVAqPZFFczlbs7A8GQvEdGnZ1G8dqRUmg+kptw0e4hwczAOG89JzQ== +"@react-native-community/cli-tools@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-13.6.9.tgz#2baee279358ba1a863e737b2fa9f45659ad91929" + integrity sha512-OXaSjoN0mZVw3nrAwcY1PC0uMfyTd9fz7Cy06dh+EJc+h0wikABsVRzV8cIOPrVV+PPEEXE0DBrH20T2puZzgQ== dependencies: appdirsjs "^1.2.4" chalk "^4.1.2" + execa "^5.0.0" find-up "^5.0.0" mime "^2.4.1" node-fetch "^2.6.0" @@ -3642,10 +3752,10 @@ dependencies: joi "^17.2.1" -"@react-native-community/cli-types@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-12.3.2.tgz#0551c553c87701faae580097d7786dfff8ec2ef4" - integrity sha512-9D0UEFqLW8JmS16mjHJxUJWX8E+zJddrHILSH8AJHZ0NNHv4u2DXKdb0wFLMobFxGNxPT+VSOjc60fGvXzWHog== +"@react-native-community/cli-types@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-13.6.9.tgz#08bfb796eacf0daeb31e2de516e81e78a36a1a55" + integrity sha512-RLxDppvRxXfs3hxceW/mShi+6o5yS+kFPnPqZTaMKKR5aSg7LwDpLQW4K2D22irEG8e6RKDkZUeH9aL3vO2O0w== dependencies: joi "^17.2.1" @@ -3702,20 +3812,19 @@ prompts "^2.4.0" semver "^6.3.0" -"@react-native-community/cli@12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-12.3.2.tgz#002ae3683b9fe6b0a83a837f41d9db541ea7667f" - integrity sha512-WgoUWwLDcf/G1Su2COUUVs3RzAwnV/vUTdISSpAUGgSc57mPabaAoUctKTnfYEhCnE3j02k3VtaVPwCAFRO3TQ== - dependencies: - "@react-native-community/cli-clean" "12.3.2" - "@react-native-community/cli-config" "12.3.2" - "@react-native-community/cli-debugger-ui" "12.3.2" - "@react-native-community/cli-doctor" "12.3.2" - "@react-native-community/cli-hermes" "12.3.2" - "@react-native-community/cli-plugin-metro" "12.3.2" - "@react-native-community/cli-server-api" "12.3.2" - "@react-native-community/cli-tools" "12.3.2" - "@react-native-community/cli-types" "12.3.2" +"@react-native-community/cli@13.6.9": + version "13.6.9" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-13.6.9.tgz#ba6360b94e0aba9c4001bda256cf7e57e2ecb02c" + integrity sha512-hFJL4cgLPxncJJd/epQ4dHnMg5Jy/7Q56jFvA3MHViuKpzzfTCJCB+pGY54maZbtym53UJON9WTGpM3S81UfjQ== + dependencies: + "@react-native-community/cli-clean" "13.6.9" + "@react-native-community/cli-config" "13.6.9" + "@react-native-community/cli-debugger-ui" "13.6.9" + "@react-native-community/cli-doctor" "13.6.9" + "@react-native-community/cli-hermes" "13.6.9" + "@react-native-community/cli-server-api" "13.6.9" + "@react-native-community/cli-tools" "13.6.9" + "@react-native-community/cli-types" "13.6.9" chalk "^4.1.2" commander "^9.4.1" deepmerge "^4.3.0" @@ -3731,10 +3840,10 @@ resolved "https://registry.yarnpkg.com/@react-native-community/netinfo/-/netinfo-4.7.0.tgz#7482d36836cac69d0a0ae25581f65bc472639930" integrity sha512-a/sDB+AsLEUNmhAUlAaTYeXKyQdFGBUfatqKkX5jluBo2CB3OAuTHfm7rSjcaLB9EmG5iSq3fOTpync2E7EYTA== -"@react-native/assets-registry@0.73.1": - version "0.73.1" - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.73.1.tgz#e2a6b73b16c183a270f338dc69c36039b3946e85" - integrity sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg== +"@react-native/assets-registry@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.74.86.tgz#5a9dc5d4c74346194a895b0be6b87a7e6022cf53" + integrity sha512-rNWSa1MTqG3Z7ZfACIDlED+T63tNlt0Lr/ruvxFJL5IX6DRC6sIrb2SrbLrlXgz7C0FbhO0ub9zfHXISgrJOsQ== "@react-native/assets-registry@^0.72.0": version "0.72.0" @@ -3746,22 +3855,23 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/babel-plugin-codegen@0.73.4": - version "0.73.4" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz#8a2037d5585b41877611498ae66adbf1dddfec1b" - integrity sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ== +"@react-native/babel-plugin-codegen@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.86.tgz#4edbb8887c5cedefd52e8fda973b1da97c779db4" + integrity sha512-fO7exk0pdsOSsK3fvDz4YKe5nMeAMrsIGi525pft/L+dedjdeiWYmEoQVc9NElxwwNCldwRY6eNMw6IhKyjzLA== dependencies: - "@react-native/codegen" "0.73.3" + "@react-native/codegen" "0.74.86" -"@react-native/babel-preset@0.73.21": - version "0.73.21" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.73.21.tgz#174c16493fa4e311b2f5f0c58d4f3c6a5a68bbea" - integrity sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA== +"@react-native/babel-preset@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.74.86.tgz#8bb3fbd49ce11470eb8022dea2c1e51bfa8dedd4" + integrity sha512-6A+1NVAHugbBLFNU4iaYrq2lx8P7pINyqoyTtVAqd375PShRmLwu6GvuF3b/4avC97s6LmBljVTJ1xVHukA42g== dependencies: "@babel/core" "^7.20.0" "@babel/plugin-proposal-async-generator-functions" "^7.0.0" "@babel/plugin-proposal-class-properties" "^7.18.0" "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.0" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0" "@babel/plugin-proposal-numeric-separator" "^7.0.0" "@babel/plugin-proposal-object-rest-spread" "^7.20.0" @@ -3797,18 +3907,18 @@ "@babel/plugin-transform-typescript" "^7.5.0" "@babel/plugin-transform-unicode-regex" "^7.0.0" "@babel/template" "^7.0.0" - "@react-native/babel-plugin-codegen" "0.73.4" + "@react-native/babel-plugin-codegen" "0.74.86" babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/codegen@0.73.3": - version "0.73.3" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.73.3.tgz#cc984a8b17334d986cc600254a0d4b7fa7d68a94" - integrity sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg== +"@react-native/codegen@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.74.86.tgz#90933f5ee555ffb95ca27372ba1e836f698c3192" + integrity sha512-BOwABta9035GJ/zLMkxQfgPMr47u1/1HqNIMk10FqmTe0jmROOxKEAeP4FbeS5L1voO4ug3dqr+mcuHrG+HNhA== dependencies: "@babel/parser" "^7.20.0" - flow-parser "^0.206.0" glob "^7.1.1" + hermes-parser "0.19.1" invariant "^2.2.4" jscodeshift "^0.14.0" mkdirp "^0.5.1" @@ -3827,98 +3937,97 @@ mkdirp "^0.5.1" nullthrows "^1.1.1" -"@react-native/community-cli-plugin@0.73.16": - version "0.73.16" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz#29dca91aa3e24c8cd534dbf3db5766509da92ea3" - integrity sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ== +"@react-native/community-cli-plugin@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.74.86.tgz#239592475b222e990ac3bb229d7cdfb8f9afcc39" + integrity sha512-q0fPDe6vx1vT5PdE3AiL+DNm0q7opzySiGle8B64bAKsa0ClIoRXAzZqolceiMHbSoCIhUbZxYtNGavrjuPyKw== dependencies: - "@react-native-community/cli-server-api" "12.3.2" - "@react-native-community/cli-tools" "12.3.2" - "@react-native/dev-middleware" "0.73.7" - "@react-native/metro-babel-transformer" "0.73.15" + "@react-native-community/cli-server-api" "13.6.9" + "@react-native-community/cli-tools" "13.6.9" + "@react-native/dev-middleware" "0.74.86" + "@react-native/metro-babel-transformer" "0.74.86" chalk "^4.0.0" execa "^5.1.1" metro "^0.80.3" metro-config "^0.80.3" metro-core "^0.80.3" node-fetch "^2.2.0" + querystring "^0.2.1" readline "^1.3.0" -"@react-native/debugger-frontend@0.73.3": - version "0.73.3" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz#033757614d2ada994c68a1deae78c1dd2ad33c2b" - integrity sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw== +"@react-native/debugger-frontend@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.74.86.tgz#87a3c7dfb12ee6e981165e304bbbe20e9b1fa009" + integrity sha512-Spq1kFX4qvPmT4HuTwpi1ALFtojlJ6s4GpWU2OnpevC/z7ks36lhD3J0rd0D9U5bkxtTYLcg31fPv7nGFC7XZg== -"@react-native/dev-middleware@0.73.7": - version "0.73.7" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz#61d2bf08973d9a537fa3f2a42deeb13530d721ae" - integrity sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg== +"@react-native/dev-middleware@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.74.86.tgz#b95f936c141dd44309a9ec558ed5ce034e270bc4" + integrity sha512-sc0tYxYt6dkUbNFI1IANzKO67M41BhjbJ6k/CHoFi/tGoNmHzg9IUZ89V4g3H8hn/VW9dETnPOFna1VO0sWrXg== dependencies: "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.73.3" + "@react-native/debugger-frontend" "0.74.86" + "@rnx-kit/chromium-edge-launcher" "^1.0.0" chrome-launcher "^0.15.2" - chromium-edge-launcher "^1.0.0" connect "^3.6.5" debug "^2.2.0" node-fetch "^2.2.0" + nullthrows "^1.1.1" open "^7.0.3" + selfsigned "^2.4.1" serve-static "^1.13.1" temp-dir "^2.0.0" + ws "^6.2.2" -"@react-native/gradle-plugin@0.73.4": - version "0.73.4" - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz#aa55784a8c2b471aa89934db38c090d331baf23b" - integrity sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg== +"@react-native/gradle-plugin@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.74.86.tgz#5092d6023a4cefb1055fff251a8dae894379db9e" + integrity sha512-aoYeX7mjf3Efwc5t8AdcwC42oicMRKauGMZimvXY3xqfYV97G4foAYXrxQYZsMaxecFStdYMiXWyMFO/UFmEpA== "@react-native/gradle-plugin@^0.72.11": version "0.72.11" resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz#c063ef12778706611de7a1e42b74b14d9405fb9f" integrity sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw== -"@react-native/js-polyfills@0.73.1": - version "0.73.1" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz#730b0a7aaab947ae6f8e5aa9d995e788977191ed" - integrity sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g== +"@react-native/js-polyfills@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.74.86.tgz#5c89c2febfb72930fee68d3eb04ba690f82a8403" + integrity sha512-Yrsj4a1rTkk618LUJJxOWFnyAZR3sHmXJwcj4qupkJs+ou3aDkixfXgVVrvQP39iBptaQvCpo7PSqs+LjSNYbA== "@react-native/js-polyfills@^0.72.1": version "0.72.1" resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz#905343ef0c51256f128256330fccbdb35b922291" integrity sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA== -"@react-native/metro-babel-transformer@0.73.15": - version "0.73.15" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz#c516584dde62d65a46668074084359c03e6a50f1" - integrity sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw== +"@react-native/metro-babel-transformer@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.74.86.tgz#d67d3bf1699fcf834a70155635b30ae9f667b6dd" + integrity sha512-/9qN5zcnTHGDkC4jWibnoGmRnzDXiurl5wmkvspgnsdrJINN6eGpK8sdIn6nrHFOuPlp3Metqw3HkxbuAfNUXw== dependencies: "@babel/core" "^7.20.0" - "@react-native/babel-preset" "0.73.21" - hermes-parser "0.15.0" + "@react-native/babel-preset" "0.74.86" + hermes-parser "0.19.1" nullthrows "^1.1.1" "@react-native/metro-config@^0.72.11": - version "0.72.11" - resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.72.11.tgz#c775a22fbb138cedd4513ca46c06bfd6a9dad316" - integrity sha512-661EyQnDdVelyc0qP/ew7kKkGAh6N6KlkuPLC2SQ8sxaXskVU6fSuNlpLW4bUTBUDFKG8gEOU2hp6rzk4wQnGQ== + version "0.72.12" + resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.72.12.tgz#f55a0a68100824ac57989ee9ae9518a69b0c43c5" + integrity sha512-6NC5nr70oV8gH5vTz0yVYig6TGn97NfE58DdYottuOGPEODZf9Jpb7gdLs6Rqj5ryFDsKVPU3NsFmXKBJwEgXQ== dependencies: "@react-native/js-polyfills" "^0.72.1" - metro-config "0.76.8" - metro-react-native-babel-transformer "0.76.8" - metro-runtime "0.76.8" + metro-config "^0.76.9" + metro-react-native-babel-transformer "^0.76.9" + metro-runtime "^0.76.9" "@react-native/normalize-color@2.1.0", "@react-native/normalize-color@^2.0.0", "@react-native/normalize-color@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.1.0.tgz#939b87a9849e81687d3640c5efa2a486ac266f91" integrity sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA== -"@react-native/normalize-colors@*": - version "0.74.1" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.1.tgz#6e8ccf99954728dcd3cfe0d56e758ee5050a7bea" - integrity sha512-r+bTRs6pImqE3fx4h7bPzH2sOWSrnSHF/RJ7d00pNUj2P6ws3DdhS7WV+/7YosZkloYQfkiIkK3pIHvcYn665w== - -"@react-native/normalize-colors@0.73.2", "@react-native/normalize-colors@^0.73.0": - version "0.73.2" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz#cc8e48fbae2bbfff53e12f209369e8d2e4cf34ec" - integrity sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w== +"@react-native/normalize-colors@*", "@react-native/normalize-colors@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.86.tgz#8dadd294565cdb70b333f790711a019f18bbdd8b" + integrity sha512-GGA+nhwrQ1umwnkv7tuGbGIk0oBTeNbG4cUxNQX/CbYW0R98RCNxSbXjfw1XnXZd3lCSFLDxzw154V4hum2pNQ== "@react-native/normalize-colors@^0.72.0": version "0.72.0" @@ -3930,10 +4039,10 @@ resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa" integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ== -"@react-native/virtualized-lists@0.73.4": - version "0.73.4" - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz#640e594775806f63685435b5d9c3d05c378ccd8c" - integrity sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog== +"@react-native/virtualized-lists@0.74.86": + version "0.74.86" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.74.86.tgz#bcf99fa54de3b58c354afb77d5171afd0a0dbf05" + integrity sha512-f5wZpQvlGeWcyfK3Low0tOft9ounAaVQHpa4fiHjh9x3d2EPLwoaQe7sxS0q8/5pMISjddbF9S3ofpNuDxxoeA== dependencies: invariant "^2.2.4" nullthrows "^1.1.1" @@ -3946,6 +4055,18 @@ invariant "^2.2.4" nullthrows "^1.1.1" +"@rnx-kit/chromium-edge-launcher@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz#c0df8ea00a902c7a417cd9655aab06de398b939c" + integrity sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg== + dependencies: + "@types/node" "^18.0.0" + escape-string-regexp "^4.0.0" + is-wsl "^2.2.0" + lighthouse-logger "^1.0.0" + mkdirp "^1.0.4" + rimraf "^3.0.2" + "@rollup/plugin-typescript@11.1.5": version "11.1.5" resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz#039c763bf943a5921f3f42be255895e75764cb91" @@ -3971,70 +4092,85 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.11.0.tgz#78693f843483a511bce6ce1d8a153a49f4cbab87" - integrity sha512-BV+u2QSfK3i1o6FucqJh5IK9cjAU6icjFFhvknzFgu472jzl0bBojfDAkJLBEsHFMo+YZg6rthBvBBt8z12IBQ== - -"@rollup/rollup-android-arm64@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.11.0.tgz#772cb1856f720863d982c17f25d3fbb930c946d3" - integrity sha512-0ij3iw7sT5jbcdXofWO2NqDNjSVVsf6itcAkV2I6Xsq4+6wjW1A8rViVB67TfBEan7PV2kbLzT8rhOVWLI2YXw== - -"@rollup/rollup-darwin-arm64@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.11.0.tgz#cac4aac05432ac684a6c6c5788e8db738e047a22" - integrity sha512-yPLs6RbbBMupArf6qv1UDk6dzZvlH66z6NLYEwqTU0VHtss1wkI4UYeeMS7TVj5QRVvaNAWYKP0TD/MOeZ76Zg== - -"@rollup/rollup-darwin-x64@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.11.0.tgz#e36d66c6b2d4d716c94926a375d6865b0c0c9c02" - integrity sha512-OvqIgwaGAwnASzXaZEeoJY3RltOFg+WUbdkdfoluh2iqatd090UeOG3A/h0wNZmE93dDew9tAtXgm3/+U/B6bw== - -"@rollup/rollup-linux-arm-gnueabihf@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.11.0.tgz#f7cc62debb348fb109724c882b99adc5c3f73e31" - integrity sha512-X17s4hZK3QbRmdAuLd2EE+qwwxL8JxyVupEqAkxKPa/IgX49ZO+vf0ka69gIKsaYeo6c1CuwY3k8trfDtZ9dFg== - -"@rollup/rollup-linux-arm64-gnu@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.11.0.tgz#ed398c7434734101e77a1fd0b05682b2c2027ecd" - integrity sha512-673Lu9EJwxVB9NfYeA4AdNu0FOHz7g9t6N1DmT7bZPn1u6bTF+oZjj+fuxUcrfxWXE0r2jxl5QYMa9cUOj9NFg== - -"@rollup/rollup-linux-arm64-musl@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.11.0.tgz#4860560d18d9f18568859a800b1e79fe3b85df9e" - integrity sha512-yFW2msTAQNpPJaMmh2NpRalr1KXI7ZUjlN6dY/FhWlOclMrZezm5GIhy3cP4Ts2rIAC+IPLAjNibjp1BsxCVGg== - -"@rollup/rollup-linux-riscv64-gnu@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.11.0.tgz#25bc0e9dbd5feab0b6fa68b2b87ce5f28a8a7c19" - integrity sha512-kKT9XIuhbvYgiA3cPAGntvrBgzhWkGpBMzuk1V12Xuoqg7CI41chye4HU0vLJnGf9MiZzfNh4I7StPeOzOWJfA== - -"@rollup/rollup-linux-x64-gnu@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.11.0.tgz#8c318d9c33a89cf9f917a1be90b0d8c75e0ab3ba" - integrity sha512-6q4ESWlyTO+erp1PSCmASac+ixaDv11dBk1fqyIuvIUc/CmRAX2Zk+2qK1FGo5q7kyDcjHCFVwgGFCGIZGVwCA== - -"@rollup/rollup-linux-x64-musl@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.11.0.tgz#132cf0787c966b3b22cf4475706fc4cb08ec880c" - integrity sha512-vIAQUmXeMLmaDN78HSE4Kh6xqof2e3TJUKr+LPqXWU4NYNON0MDN9h2+t4KHrPAQNmU3w1GxBQ/n01PaWFwa5w== - -"@rollup/rollup-win32-arm64-msvc@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.11.0.tgz#18e49376786def75843e605bdc8059a301c11dad" - integrity sha512-LVXo9dDTGPr0nezMdqa1hK4JeoMZ02nstUxGYY/sMIDtTYlli1ZxTXBYAz3vzuuvKO4X6NBETciIh7N9+abT1g== - -"@rollup/rollup-win32-ia32-msvc@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.11.0.tgz#ff9281d8b189436b7c234a52e7e0b635631c8667" - integrity sha512-xZVt6K70Gr3I7nUhug2dN6VRR1ibot3rXqXS3wo+8JP64t7djc3lBFyqO4GiVrhNaAIhUCJtwQ/20dr0h0thmQ== - -"@rollup/rollup-win32-x64-msvc@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.11.0.tgz#a59158f78d07cd3ac15092ffca2f0319f3bb69f6" - integrity sha512-f3I7h9oTg79UitEco9/2bzwdciYkWr8pITs3meSDSlr1TdvQ7IxkQaaYN2YqZXX5uZhiYL+VuYDmHwNzhx+HOg== +"@rollup/rollup-android-arm-eabi@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.2.tgz#6b991cb44bf69e50163528ea85bed545330ba821" + integrity sha512-OHflWINKtoCFSpm/WmuQaWW4jeX+3Qt3XQDepkkiFTsoxFc5BpF3Z5aDxFZgBqRjO6ATP5+b1iilp4kGIZVWlA== + +"@rollup/rollup-android-arm64@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.2.tgz#5d3c8c2f9742d62ba258cc378bd2d4720f0c431c" + integrity sha512-k0OC/b14rNzMLDOE6QMBCjDRm3fQOHAL8Ldc9bxEWvMo4Ty9RY6rWmGetNTWhPo+/+FNd1lsQYRd0/1OSix36A== + +"@rollup/rollup-darwin-arm64@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.2.tgz#8eac8682a34a705bb6a57eb3e739fd6bbedfabed" + integrity sha512-IIARRgWCNWMTeQH+kr/gFTHJccKzwEaI0YSvtqkEBPj7AshElFq89TyreKNFAGh5frLfDCbodnq+Ye3dqGKPBw== + +"@rollup/rollup-darwin-x64@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.2.tgz#70a9953fc624bd7f645901f4250f6b5807ac7e92" + integrity sha512-52udDMFDv54BTAdnw+KXNF45QCvcJOcYGl3vQkp4vARyrcdI/cXH8VXTEv/8QWfd6Fru8QQuw1b2uNersXOL0g== + +"@rollup/rollup-linux-arm-gnueabihf@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.2.tgz#8f6c4ff4c4972413ff94345080380d4e3caa3c69" + integrity sha512-r+SI2t8srMPYZeoa1w0o/AfoVt9akI1ihgazGYPQGRilVAkuzMGiTtexNZkrPkQsyFrvqq/ni8f3zOnHw4hUbA== + +"@rollup/rollup-linux-arm-musleabihf@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.2.tgz#5d3c0fe5ea5ddf2feb511b3cb031df17eaa7e33d" + integrity sha512-+tYiL4QVjtI3KliKBGtUU7yhw0GMcJJuB9mLTCEauHEsqfk49gtUBXGtGP3h1LW8MbaTY6rSFIQV1XOBps1gBA== + +"@rollup/rollup-linux-arm64-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.2.tgz#b7f104388b2f5624d9f8adfff10ba59af8ab8ed1" + integrity sha512-OR5DcvZiYN75mXDNQQxlQPTv4D+uNCUsmSCSY2FolLf9W5I4DSoJyg7z9Ea3TjKfhPSGgMJiey1aWvlWuBzMtg== + +"@rollup/rollup-linux-arm64-musl@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.2.tgz#6d5ca6d3904309bec285ea5202d589cebb93dee4" + integrity sha512-Hw3jSfWdUSauEYFBSFIte6I8m6jOj+3vifLg8EU3lreWulAUpch4JBjDMtlKosrBzkr0kwKgL9iCfjA8L3geoA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.2.tgz#4df9be1396ea9eb0ca99fd0f2e858008d7f063e3" + integrity sha512-rhjvoPBhBwVnJRq/+hi2Q3EMiVF538/o9dBuj9TVLclo9DuONqt5xfWSaE6MYiFKpo/lFPJ/iSI72rYWw5Hc7w== + +"@rollup/rollup-linux-riscv64-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.2.tgz#80d63c5562915a2f8616a04251fcaee0218112b0" + integrity sha512-EAz6vjPwHHs2qOCnpQkw4xs14XJq84I81sDRGPEjKPFVPBw7fwvtwhVjcZR6SLydCv8zNK8YGFblKWd/vRmP8g== + +"@rollup/rollup-linux-s390x-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.2.tgz#ef62e9bc5cc3b84fcfe96ec0a42d1989691217b3" + integrity sha512-IJSUX1xb8k/zN9j2I7B5Re6B0NNJDJ1+soezjNojhT8DEVeDNptq2jgycCOpRhyGj0+xBn7Cq+PK7Q+nd2hxLA== + +"@rollup/rollup-linux-x64-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.2.tgz#6a275282a0080fee98ddd9fda0de23c4c6bafd48" + integrity sha512-OgaToJ8jSxTpgGkZSkwKE+JQGihdcaqnyHEFOSAU45utQ+yLruE1dkonB2SDI8t375wOKgNn8pQvaWY9kPzxDQ== + +"@rollup/rollup-linux-x64-musl@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.2.tgz#64f0c704107e6b45b26dd8c2e1ff64246e4a1251" + integrity sha512-5V3mPpWkB066XZZBgSd1lwozBk7tmOkKtquyCJ6T4LN3mzKENXyBwWNQn8d0Ci81hvlBw5RoFgleVpL6aScLYg== + +"@rollup/rollup-win32-arm64-msvc@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.2.tgz#bada17b0c5017ff58d0feba401c43ff5a646c693" + integrity sha512-ayVstadfLeeXI9zUPiKRVT8qF55hm7hKa+0N1V6Vj+OTNFfKSoUxyZvzVvgtBxqSb5URQ8sK6fhwxr9/MLmxdA== + +"@rollup/rollup-win32-ia32-msvc@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.2.tgz#a716d862f6ac39d88bdb825e27f63aeb0387cd66" + integrity sha512-Mda7iG4fOLHNsPqjWSjANvNZYoW034yxgrndof0DwCy0D3FvTjeNo+HGE6oGWgvcLZNLlcp0hLEFcRs+UGsMLg== + +"@rollup/rollup-win32-x64-msvc@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.2.tgz#d67206c5f2e4b2832ce360bbbde194e96d16dc51" + integrity sha512-DPi0ubYhSow/00YqmG1jWm3qt1F8aXziHc/UNy8bo9cpCacqhuWu+iSq/fp2SyEQK7iYTZ60fBU9cat3MXTjIQ== "@semantic-ui-react/event-stack@^3.1.0": version "3.1.3" @@ -4138,35 +4274,49 @@ nanoid "^3.3.6" webpack "^5.88.0" -"@smithy/abort-controller@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.1.1.tgz#bb68596a7c8213c2ef259bc7fb0f0c118c67ea9d" - integrity sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q== +"@smithy/abort-controller@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.1.tgz#291210611ff6afecfc198d0ca72d5771d8461d16" + integrity sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/config-resolver@^2.0.5", "@smithy/config-resolver@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.1.1.tgz#fc6b036084b98fd26a8ff01a5d7eb676e41749c7" - integrity sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw== +"@smithy/config-resolver@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.5.tgz#727978bba7ace754c741c259486a19d3083431fd" + integrity sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA== dependencies: - "@smithy/node-config-provider" "^2.2.1" - "@smithy/types" "^2.9.1" - "@smithy/util-config-provider" "^2.2.1" - "@smithy/util-middleware" "^2.1.1" - tslib "^2.5.0" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/types" "^3.3.0" + "@smithy/util-config-provider" "^3.0.0" + "@smithy/util-middleware" "^3.0.3" + tslib "^2.6.2" -"@smithy/credential-provider-imds@^2.0.0", "@smithy/credential-provider-imds@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.1.tgz#4805bf5e104718b959cf8699113fa9de6ddeeafa" - integrity sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA== +"@smithy/core@^2.3.1": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.3.2.tgz#4a1e3da41d2a3a494cbc6bd1fc6eeb26b2e27184" + integrity sha512-in5wwt6chDBcUv1Lw1+QzZxN9fBffi+qOixfb65yK4sDuKG7zAUO9HAFqmVzsZM3N+3tTyvZjtnDXePpvp007Q== + dependencies: + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.14" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.12" + "@smithy/types" "^3.3.0" + "@smithy/util-middleware" "^3.0.3" + tslib "^2.6.2" + +"@smithy/credential-provider-imds@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz#0e0e7ddaff1a8633cb927aee1056c0ab506b7ecf" + integrity sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA== dependencies: - "@smithy/node-config-provider" "^2.2.1" - "@smithy/property-provider" "^2.1.1" - "@smithy/types" "^2.9.1" - "@smithy/url-parser" "^2.1.1" - tslib "^2.5.0" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/property-provider" "^3.1.3" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + tslib "^2.6.2" "@smithy/eventstream-codec@2.0.9": version "2.0.9" @@ -4178,86 +4328,93 @@ "@smithy/util-hex-encoding" "^2.0.0" tslib "^2.5.0" -"@smithy/eventstream-codec@^2.0.0", "@smithy/eventstream-codec@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz#4405ab0f9c77d439c575560c4886e59ee17d6d38" - integrity sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw== +"@smithy/eventstream-codec@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz#4a1c72b34400631b829241151984a1ad8c4f963c" + integrity sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw== dependencies: - "@aws-crypto/crc32" "3.0.0" - "@smithy/types" "^2.9.1" - "@smithy/util-hex-encoding" "^2.1.1" - tslib "^2.5.0" + "@aws-crypto/crc32" "5.2.0" + "@smithy/types" "^3.3.0" + "@smithy/util-hex-encoding" "^3.0.0" + tslib "^2.6.2" -"@smithy/eventstream-serde-browser@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.1.tgz#743a374639e9e2dd858b6fda1fd814eb6c604946" - integrity sha512-JvEdCmGlZUay5VtlT8/kdR6FlvqTDUiJecMjXsBb0+k1H/qc9ME5n2XKPo8q/MZwEIA1GmGgYMokKGjVvMiDow== +"@smithy/eventstream-serde-browser@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz#3e971afd2b8a02a098af8decc4b9e3f35296d6a2" + integrity sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ== dependencies: - "@smithy/eventstream-serde-universal" "^2.1.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/eventstream-serde-universal" "^3.0.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/eventstream-serde-config-resolver@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.1.tgz#0b84d6f8be0836af7b92455c69f7427e4f01e7a2" - integrity sha512-EqNqXYp3+dk//NmW3NAgQr9bEQ7fsu/CcxQmTiq07JlaIcne/CBWpMZETyXm9w5LXkhduBsdXdlMscfDUDn2fA== +"@smithy/eventstream-serde-config-resolver@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz#f852e096d0ad112363b4685e1d441088d1fce67a" + integrity sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/eventstream-serde-node@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.1.tgz#2e1afa27f9c7eb524c1c53621049c5e4e3cea6a5" - integrity sha512-LF882q/aFidFNDX7uROAGxq3H0B7rjyPkV6QDn6/KDQ+CG7AFkRccjxRf1xqajq/Pe4bMGGr+VKAaoF6lELIQw== +"@smithy/eventstream-serde-node@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz#6301752ca51b3ebabcd2dec112f1dacd990de4c1" + integrity sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg== dependencies: - "@smithy/eventstream-serde-universal" "^2.1.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/eventstream-serde-universal" "^3.0.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/eventstream-serde-universal@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.1.tgz#0f5eec9ad033017973a67bafb5549782499488d2" - integrity sha512-LR0mMT+XIYTxk4k2fIxEA1BPtW3685QlqufUEUAX1AJcfFfxNDKEvuCRZbO8ntJb10DrIFVJR9vb0MhDCi0sAQ== +"@smithy/eventstream-serde-universal@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz#6754de5b94bdc286d8ef1d6bcf22d80f6ab68f30" + integrity sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A== dependencies: - "@smithy/eventstream-codec" "^2.1.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/eventstream-codec" "^3.1.2" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/fetch-http-handler@^2.0.5", "@smithy/fetch-http-handler@^2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz#b4d73bbc1449f61234077d58c705b843a8587bf0" - integrity sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg== +"@smithy/fetch-http-handler@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz#c754de7e0ff2541b73ac9ba7cc955940114b3d62" + integrity sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg== dependencies: - "@smithy/protocol-http" "^3.1.1" - "@smithy/querystring-builder" "^2.1.1" - "@smithy/types" "^2.9.1" - "@smithy/util-base64" "^2.1.1" - tslib "^2.5.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/querystring-builder" "^3.0.3" + "@smithy/types" "^3.3.0" + "@smithy/util-base64" "^3.0.0" + tslib "^2.6.2" -"@smithy/hash-node@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.1.1.tgz#0f8a22d97565ca948724f72267e4d3a2f33740a8" - integrity sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg== +"@smithy/hash-node@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.3.tgz#82c5cb7b0f1a29ee7319081853d2d158c07dff24" + integrity sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw== dependencies: - "@smithy/types" "^2.9.1" - "@smithy/util-buffer-from" "^2.1.1" - "@smithy/util-utf8" "^2.1.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@smithy/invalid-dependency@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.1.1.tgz#bd69fa24dd35e9bc65a160bd86becdf1399e4463" - integrity sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw== +"@smithy/invalid-dependency@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz#8d9fd70e3a94b565a4eba4ffbdc95238e1930528" + integrity sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/is-array-buffer@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz#07b4c77ae67ed58a84400c76edd482271f9f957b" - integrity sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ== +"@smithy/is-array-buffer@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111" + integrity sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== dependencies: - tslib "^2.5.0" + tslib "^2.6.2" + +"@smithy/is-array-buffer@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz#9a95c2d46b8768946a9eec7f935feaddcffa5e7a" + integrity sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ== + dependencies: + tslib "^2.6.2" "@smithy/md5-js@2.0.7": version "2.0.7" @@ -4268,238 +4425,255 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@smithy/middleware-content-length@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.1.1.tgz#df767de12d594bc5622009fb0fc8343522697d8c" - integrity sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g== +"@smithy/middleware-content-length@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz#1680aa4fb2a1c0505756103c9a5c2916307d9035" + integrity sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw== dependencies: - "@smithy/protocol-http" "^3.1.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/middleware-endpoint@^2.0.5", "@smithy/middleware-endpoint@^2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz#9e500df4d944741808e92018ccd2e948b598a49f" - integrity sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q== - dependencies: - "@smithy/middleware-serde" "^2.1.1" - "@smithy/node-config-provider" "^2.2.1" - "@smithy/shared-ini-file-loader" "^2.3.1" - "@smithy/types" "^2.9.1" - "@smithy/url-parser" "^2.1.1" - "@smithy/util-middleware" "^2.1.1" - tslib "^2.5.0" +"@smithy/middleware-endpoint@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz#9b8a496d87a68ec43f3f1a0139868d6765a88119" + integrity sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw== + dependencies: + "@smithy/middleware-serde" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-middleware" "^3.0.3" + tslib "^2.6.2" -"@smithy/middleware-retry@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.1.1.tgz#ddc749dd927f136714f76ca5a52dcfb0993ee162" - integrity sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA== - dependencies: - "@smithy/node-config-provider" "^2.2.1" - "@smithy/protocol-http" "^3.1.1" - "@smithy/service-error-classification" "^2.1.1" - "@smithy/smithy-client" "^2.3.1" - "@smithy/types" "^2.9.1" - "@smithy/util-middleware" "^2.1.1" - "@smithy/util-retry" "^2.1.1" - tslib "^2.5.0" - uuid "^8.3.2" +"@smithy/middleware-retry@^3.0.13", "@smithy/middleware-retry@^3.0.14": + version "3.0.14" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.14.tgz#739e8bac6e465e0cda26446999db614418e79da3" + integrity sha512-7ZaWZJOjUxa5hgmuMspyt8v/zVsh0GXYuF7OvCmdcbVa/xbnKQoYC+uYKunAqRGTkxjOyuOCw9rmFUFOqqC0eQ== + dependencies: + "@smithy/node-config-provider" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/service-error-classification" "^3.0.3" + "@smithy/smithy-client" "^3.1.12" + "@smithy/types" "^3.3.0" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + tslib "^2.6.2" + uuid "^9.0.1" -"@smithy/middleware-serde@^2.0.5", "@smithy/middleware-serde@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz#2c5750f76e276a5249720f6c3c24fac29abbee16" - integrity sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g== +"@smithy/middleware-serde@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz#74d974460f74d99f38c861e6862984543a880a66" + integrity sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/middleware-stack@^2.0.0", "@smithy/middleware-stack@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz#67f992dc36e8a6861f881f80a81c1c30956a0396" - integrity sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw== +"@smithy/middleware-stack@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz#91845c7e61e6f137fa912b623b6def719a4f6ce7" + integrity sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/node-config-provider@^2.0.5", "@smithy/node-config-provider@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz#c440c7948d58d72f0e212aa1967aa12f0729defd" - integrity sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg== +"@smithy/node-config-provider@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz#05647bed666aa8036a1ad72323c1942e5d421be1" + integrity sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ== dependencies: - "@smithy/property-provider" "^2.1.1" - "@smithy/shared-ini-file-loader" "^2.3.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/node-http-handler@^2.0.5", "@smithy/node-http-handler@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz#77d23279ff0a12cbe7cde93c5e7c0e86ad56dd20" - integrity sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA== +"@smithy/node-http-handler@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz#be4195e45639e690d522cd5f11513ea822ff9d5f" + integrity sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg== dependencies: - "@smithy/abort-controller" "^2.1.1" - "@smithy/protocol-http" "^3.1.1" - "@smithy/querystring-builder" "^2.1.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/abort-controller" "^3.1.1" + "@smithy/protocol-http" "^4.1.0" + "@smithy/querystring-builder" "^3.0.3" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.1.1.tgz#0f7ffc5e43829eaca5b2b5aae8554807a52b30f3" - integrity sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw== +"@smithy/property-provider@^3.1.3": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.3.tgz#afd57ea82a3f6c79fbda95e3cb85c0ee0a79f39a" + integrity sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/protocol-http@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-2.0.5.tgz#ff7779fc8fcd3fe52e71fd07565b518f0937e8ba" - integrity sha512-d2hhHj34mA2V86doiDfrsy2fNTnUOowGaf9hKb0hIPHqvcnShU4/OSc4Uf1FwHkAdYF3cFXTrj5VGUYbEuvMdw== +"@smithy/protocol-http@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.0.tgz#23519d8f45bf4f33960ea5415847bc2b620a010b" + integrity sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA== dependencies: - "@smithy/types" "^2.2.2" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/protocol-http@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.1.1.tgz#eee522d0ed964a72b735d64925e07bcfb7a7806f" - integrity sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ== +"@smithy/querystring-builder@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz#6b0e566f885bb84938d077c69e8f8555f686af13" + integrity sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + "@smithy/util-uri-escape" "^3.0.0" + tslib "^2.6.2" -"@smithy/querystring-builder@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz#b9693448ad3f8e0767d84cf5cae29f35514591fb" - integrity sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg== +"@smithy/querystring-parser@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz#272a6b83f88dfcbbec8283d72a6bde850cc00091" + integrity sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ== dependencies: - "@smithy/types" "^2.9.1" - "@smithy/util-uri-escape" "^2.1.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/querystring-parser@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz#a4282a66cc56844317dbff824e573f469bbfc032" - integrity sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ== +"@smithy/service-error-classification@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz#73484255060a094aa9372f6cd972dcaf97e3ce80" + integrity sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" -"@smithy/service-error-classification@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.1.1.tgz#dd24e1ec529ae9ec8e87d8b15f0fc8f7e17f3d02" - integrity sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw== +"@smithy/shared-ini-file-loader@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz#7dceaf5a5307a2ee347ace8aba17312a1a3ede15" + integrity sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ== dependencies: - "@smithy/types" "^2.9.1" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/shared-ini-file-loader@^2.0.0", "@smithy/shared-ini-file-loader@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz#a2e28b4d85f8a8262a84403fa2b74a086b3a7703" - integrity sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw== +"@smithy/signature-v4@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.0.tgz#251ff43dc1f4ad66776122732fea9e56efc56443" + integrity sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag== + dependencies: + "@smithy/is-array-buffer" "^3.0.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + "@smithy/util-hex-encoding" "^3.0.0" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-uri-escape" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/smithy-client@^3.1.11", "@smithy/smithy-client@^3.1.12": + version "3.1.12" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.12.tgz#fb6386816ff8a5c50eab7503d4ee3ba2e4ebac63" + integrity sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + "@smithy/util-stream" "^3.1.3" + tslib "^2.6.2" -"@smithy/signature-v4@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.1.1.tgz#6080171e3d694f40d3f553bbc236c5c433efd4d2" - integrity sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg== - dependencies: - "@smithy/eventstream-codec" "^2.1.1" - "@smithy/is-array-buffer" "^2.1.1" - "@smithy/types" "^2.9.1" - "@smithy/util-hex-encoding" "^2.1.1" - "@smithy/util-middleware" "^2.1.1" - "@smithy/util-uri-escape" "^2.1.1" - "@smithy/util-utf8" "^2.1.1" - tslib "^2.5.0" +"@smithy/types@^2.1.0", "@smithy/types@^2.2.2", "@smithy/types@^2.3.1", "@smithy/types@^2.3.3": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.12.0.tgz#c44845f8ba07e5e8c88eda5aed7e6a0c462da041" + integrity sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== + dependencies: + tslib "^2.6.2" -"@smithy/smithy-client@^2.0.5", "@smithy/smithy-client@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.3.1.tgz#0c3a4a0d3935c7ad2240cc23181f276705212b1f" - integrity sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA== - dependencies: - "@smithy/middleware-endpoint" "^2.4.1" - "@smithy/middleware-stack" "^2.1.1" - "@smithy/protocol-http" "^3.1.1" - "@smithy/types" "^2.9.1" - "@smithy/util-stream" "^2.1.1" - tslib "^2.5.0" +"@smithy/types@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.3.0.tgz#fae037c733d09bc758946a01a3de0ef6e210b16b" + integrity sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA== + dependencies: + tslib "^2.6.2" -"@smithy/types@^2.1.0", "@smithy/types@^2.2.2", "@smithy/types@^2.3.1", "@smithy/types@^2.3.3", "@smithy/types@^2.9.1": - version "2.9.1" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.9.1.tgz#ed04d4144eed3b8bd26d20fc85aae8d6e357ebb9" - integrity sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw== +"@smithy/url-parser@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.3.tgz#e8a060d9810b24b1870385fc2b02485b8a6c5955" + integrity sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A== dependencies: - tslib "^2.5.0" + "@smithy/querystring-parser" "^3.0.3" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/url-parser@^2.0.5", "@smithy/url-parser@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.1.1.tgz#a30de227b6734650d740b6dff74d488b874e85e3" - integrity sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q== +"@smithy/util-base64@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-3.0.0.tgz#f7a9a82adf34e27a72d0719395713edf0e493017" + integrity sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ== dependencies: - "@smithy/querystring-parser" "^2.1.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" -"@smithy/util-base64@^2.0.0", "@smithy/util-base64@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.1.1.tgz#af729085cc9d92ebd54a5d2c5d0aa5a0c31f83bf" - integrity sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g== +"@smithy/util-body-length-browser@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz#86ec2f6256310b4845a2f064e2f571c1ca164ded" + integrity sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ== dependencies: - "@smithy/util-buffer-from" "^2.1.1" - tslib "^2.5.0" + tslib "^2.6.2" -"@smithy/util-body-length-browser@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz#1fc77072768013ae646415eedb9833cd252d055d" - integrity sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag== +"@smithy/util-body-length-node@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz#99a291bae40d8932166907fe981d6a1f54298a6d" + integrity sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA== dependencies: - tslib "^2.5.0" + tslib "^2.6.2" -"@smithy/util-body-length-node@^2.1.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz#a6f5c9911f1c3e23efb340d5ce7a590b62f2056e" - integrity sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg== +"@smithy/util-buffer-from@^2.0.0", "@smithy/util-buffer-from@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b" + integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== dependencies: - tslib "^2.5.0" + "@smithy/is-array-buffer" "^2.2.0" + tslib "^2.6.2" -"@smithy/util-buffer-from@^2.0.0", "@smithy/util-buffer-from@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz#f9346bf8b23c5ba6f6bdb61dd9db779441ba8d08" - integrity sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg== +"@smithy/util-buffer-from@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz#559fc1c86138a89b2edaefc1e6677780c24594e3" + integrity sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA== dependencies: - "@smithy/is-array-buffer" "^2.1.1" - tslib "^2.5.0" + "@smithy/is-array-buffer" "^3.0.0" + tslib "^2.6.2" -"@smithy/util-config-provider@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz#aea0a80236d6cedaee60473802899cff4a8cc0ba" - integrity sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw== +"@smithy/util-config-provider@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz#62c6b73b22a430e84888a8f8da4b6029dd5b8efe" + integrity sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ== dependencies: - tslib "^2.5.0" + tslib "^2.6.2" -"@smithy/util-defaults-mode-browser@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.1.tgz#be9ac82acee6ec4821b610e7187b0e147f0ba8ff" - integrity sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA== +"@smithy/util-defaults-mode-browser@^3.0.13": + version "3.0.14" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.14.tgz#21f3ebcb07b9d6ae1274b9d655c38bdac59e5c06" + integrity sha512-0iwTgKKmAIf+vFLV8fji21Jb2px11ktKVxbX6LIDPAUJyWQqGqBVfwba7xwa1f2FZUoolYQgLvxQEpJycXuQ5w== dependencies: - "@smithy/property-provider" "^2.1.1" - "@smithy/smithy-client" "^2.3.1" - "@smithy/types" "^2.9.1" + "@smithy/property-provider" "^3.1.3" + "@smithy/smithy-client" "^3.1.12" + "@smithy/types" "^3.3.0" bowser "^2.11.0" - tslib "^2.5.0" + tslib "^2.6.2" -"@smithy/util-defaults-mode-node@^2.0.5": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.0.tgz#72fd6f945c265f1ef9be647fe829d55df5101390" - integrity sha512-iFJp/N4EtkanFpBUtSrrIbtOIBf69KNuve03ic1afhJ9/korDxdM0c6cCH4Ehj/smI9pDCfVv+bqT3xZjF2WaA== - dependencies: - "@smithy/config-resolver" "^2.1.1" - "@smithy/credential-provider-imds" "^2.2.1" - "@smithy/node-config-provider" "^2.2.1" - "@smithy/property-provider" "^2.1.1" - "@smithy/smithy-client" "^2.3.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" +"@smithy/util-defaults-mode-node@^3.0.13": + version "3.0.14" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.14.tgz#6bb9e837282e84bbf5093dbcd120fcd296593f7a" + integrity sha512-e9uQarJKfXApkTMMruIdxHprhcXivH1flYCe8JRDTzkkLx8dA3V5J8GZlST9yfDiRWkJpZJlUXGN9Rc9Ade3OQ== + dependencies: + "@smithy/config-resolver" "^3.0.5" + "@smithy/credential-provider-imds" "^3.2.0" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/property-provider" "^3.1.3" + "@smithy/smithy-client" "^3.1.12" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@smithy/util-endpoints@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz#e3a7a4d1c41250bfd2b2d890d591273a7d8934be" + integrity sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg== + dependencies: + "@smithy/node-config-provider" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" "@smithy/util-hex-encoding@2.0.0": version "2.0.0" @@ -4508,50 +4682,57 @@ dependencies: tslib "^2.5.0" -"@smithy/util-hex-encoding@^2.0.0", "@smithy/util-hex-encoding@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz#978252b9fb242e0a59bae4ead491210688e0d15f" - integrity sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg== +"@smithy/util-hex-encoding@^2.0.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.2.0.tgz#87edb7c88c2f422cfca4bb21f1394ae9602c5085" + integrity sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ== dependencies: - tslib "^2.5.0" + tslib "^2.6.2" -"@smithy/util-middleware@^2.0.0", "@smithy/util-middleware@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.1.1.tgz#903ba19bb17704f4b476fb9ade9bf9eb0174bc3d" - integrity sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA== +"@smithy/util-hex-encoding@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz#32938b33d5bf2a15796cd3f178a55b4155c535e6" + integrity sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ== dependencies: - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + tslib "^2.6.2" -"@smithy/util-retry@^2.0.0", "@smithy/util-retry@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.1.1.tgz#f2d3566b6e5b841028c7240c852007d4037e49b2" - integrity sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA== +"@smithy/util-middleware@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.3.tgz#07bf9602682f5a6c55bc2f0384303f85fc68c87e" + integrity sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw== dependencies: - "@smithy/service-error-classification" "^2.1.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/util-stream@^2.0.5", "@smithy/util-stream@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.1.1.tgz#3ae0e88c3a1a45899e29c1655d2e5a3865b6c0a6" - integrity sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ== - dependencies: - "@smithy/fetch-http-handler" "^2.4.1" - "@smithy/node-http-handler" "^2.3.1" - "@smithy/types" "^2.9.1" - "@smithy/util-base64" "^2.1.1" - "@smithy/util-buffer-from" "^2.1.1" - "@smithy/util-hex-encoding" "^2.1.1" - "@smithy/util-utf8" "^2.1.1" - tslib "^2.5.0" +"@smithy/util-retry@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.3.tgz#9b2ac0dbb1c81f69812a8affa4d772bebfc0e049" + integrity sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w== + dependencies: + "@smithy/service-error-classification" "^3.0.3" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" -"@smithy/util-uri-escape@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz#7eedc93b73ecda68f12fb9cf92e9fa0fbbed4d83" - integrity sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw== +"@smithy/util-stream@^3.1.3": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.3.tgz#699ee2397cc1d474e46d2034039d5263812dca64" + integrity sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw== + dependencies: + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/types" "^3.3.0" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-hex-encoding" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/util-uri-escape@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz#e43358a78bf45d50bb736770077f0f09195b6f54" + integrity sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg== dependencies: - tslib "^2.5.0" + tslib "^2.6.2" "@smithy/util-utf8@2.0.0": version "2.0.0" @@ -4561,22 +4742,30 @@ "@smithy/util-buffer-from" "^2.0.0" tslib "^2.5.0" -"@smithy/util-utf8@^2.0.0", "@smithy/util-utf8@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.1.1.tgz#690018dd28f47f014114497735e51417ea5900a6" - integrity sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A== +"@smithy/util-utf8@^2.0.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5" + integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== dependencies: - "@smithy/util-buffer-from" "^2.1.1" - tslib "^2.5.0" + "@smithy/util-buffer-from" "^2.2.0" + tslib "^2.6.2" -"@smithy/util-waiter@^2.0.5": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.1.1.tgz#292d4d09cda7df38aba6ea2abd7d948e3f11bf2d" - integrity sha512-kYy6BLJJNif+uqNENtJqWdXcpqo1LS+nj1AfXcDhOpqpSHJSAkVySLyZV9fkmuVO21lzGoxjvd1imGGJHph/IA== +"@smithy/util-utf8@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-3.0.0.tgz#1a6a823d47cbec1fd6933e5fc87df975286d9d6a" + integrity sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA== dependencies: - "@smithy/abort-controller" "^2.1.1" - "@smithy/types" "^2.9.1" - tslib "^2.5.0" + "@smithy/util-buffer-from" "^3.0.0" + tslib "^2.6.2" + +"@smithy/util-waiter@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.2.tgz#2d40c3312f3537feee763459a19acafab4c75cf3" + integrity sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw== + dependencies: + "@smithy/abort-controller" "^3.1.1" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" "@stardust-ui/react-component-event-listener@~0.38.0": version "0.38.0" @@ -4736,60 +4925,66 @@ "@statoscope/types" "5.28.1" "@types/md5" "^2.3.2" -"@stylistic/eslint-plugin-js@1.6.2", "@stylistic/eslint-plugin-js@^1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.6.2.tgz#f0ad5a8cf1ce901626e3e6b08a02d94a628d7c12" - integrity sha512-ndT6X2KgWGxv8101pdMOxL8pihlYIHcOv3ICd70cgaJ9exwkPn8hJj4YQwslxoAlre1TFHnXd/G1/hYXgDrjIA== +"@stylistic/eslint-plugin-js@1.8.1", "@stylistic/eslint-plugin-js@^1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.8.1.tgz#e99ebee73558932e57eb135698153c2e4c0f44a2" + integrity sha512-c5c2C8Mos5tTQd+NWpqwEu7VT6SSRooAguFPMj1cp2RkTYl1ynKoXo8MWy3k4rkbzoeYHrqC2UlUzsroAN7wtQ== dependencies: - "@types/eslint" "^8.56.2" + "@types/eslint" "^8.56.10" acorn "^8.11.3" escape-string-regexp "^4.0.0" eslint-visitor-keys "^3.4.3" espree "^9.6.1" -"@stylistic/eslint-plugin-jsx@1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-1.6.2.tgz#846f6ae87feb089e3aa0f1c1adbb018b56fc5ea4" - integrity sha512-hbbouazSJbHD/fshBIOLh9JgtSphKNoTCfHLSNBjAkXLK+GR4i2jhEZZF9P0mtXrNuy2WWInmpq/g0pfWBmSBA== +"@stylistic/eslint-plugin-jsx@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-1.8.1.tgz#853acc3fb41b88db12c6f1dd4c0219c87f987e5c" + integrity sha512-k1Eb6rcjMP+mmjvj+vd9y5KUdWn1OBkkPLHXhsrHt5lCDFZxJEs0aVQzE5lpYrtVZVkpc5esTtss/cPJux0lfA== dependencies: - "@stylistic/eslint-plugin-js" "^1.6.2" - "@types/eslint" "^8.56.2" + "@stylistic/eslint-plugin-js" "^1.8.1" + "@types/eslint" "^8.56.10" estraverse "^5.3.0" - picomatch "^4.0.1" + picomatch "^4.0.2" -"@stylistic/eslint-plugin-plus@1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-1.6.2.tgz#d12d35800fc88e80f87e0ad30a77e7f2894d98fb" - integrity sha512-EDMwa6gzKw4bXRqdIAUvZDfIgwotbjJs8o+vYE22chAYtVAnA0Pcq+cPx0Uk35t2gvJWb5OaLDjqA6oy1tD0jg== +"@stylistic/eslint-plugin-plus@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-1.8.1.tgz#b502f0029de048964e9b561d002c7cd043fa7861" + integrity sha512-4+40H3lHYTN8OWz+US8CamVkO+2hxNLp9+CAjorI7top/lHqemhpJvKA1LD9Uh+WMY9DYWiWpL2+SZ2wAXY9fQ== dependencies: - "@types/eslint" "^8.56.2" + "@types/eslint" "^8.56.10" "@typescript-eslint/utils" "^6.21.0" -"@stylistic/eslint-plugin-ts@1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.6.2.tgz#e8327ec54c264cb5bd17cd58b05264035655960c" - integrity sha512-FizV58em0OjO/xFHRIy/LJJVqzxCNmYC/xVtKDf8aGDRgZpLo+lkaBKfBrbMkAGzhBKbYj+iLEFI4WEl6aVZGQ== +"@stylistic/eslint-plugin-ts@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.8.1.tgz#9e6cce06530d3e579bafde0cf3bbb89453b3233f" + integrity sha512-/q1m+ZuO1JHfiSF16EATFzv7XSJkc5W6DocfvH5o9oB6WWYFMF77fVoBWnKT3wGptPOc2hkRupRKhmeFROdfWA== dependencies: - "@stylistic/eslint-plugin-js" "1.6.2" - "@types/eslint" "^8.56.2" + "@stylistic/eslint-plugin-js" "1.8.1" + "@types/eslint" "^8.56.10" "@typescript-eslint/utils" "^6.21.0" "@stylistic/eslint-plugin@^1.5.4": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-1.6.2.tgz#064b85c075800848b1ebf137704ab7e4f8660ec7" - integrity sha512-EFnVcKOE5HTiMlVwisL9hHjz8a69yBbJRscWF/z+/vl6M4ew8NVrBlY8ea7KdV8QtyCY4Yapmsbg5ZDfhWlEgg== + version "1.8.1" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-1.8.1.tgz#bcf97052b87bcfb3de003b7f0fae50e9d6f21403" + integrity sha512-64My6I7uCcmSQ//427Pfg2vjSf9SDzfsGIWohNFgISMLYdC5BzJqDo647iDDJzSxINh3WTC0Ql46ifiKuOoTyA== dependencies: - "@stylistic/eslint-plugin-js" "1.6.2" - "@stylistic/eslint-plugin-jsx" "1.6.2" - "@stylistic/eslint-plugin-plus" "1.6.2" - "@stylistic/eslint-plugin-ts" "1.6.2" - "@types/eslint" "^8.56.2" + "@stylistic/eslint-plugin-js" "1.8.1" + "@stylistic/eslint-plugin-jsx" "1.8.1" + "@stylistic/eslint-plugin-plus" "1.8.1" + "@stylistic/eslint-plugin-ts" "1.8.1" + "@types/eslint" "^8.56.10" -"@swc/helpers@0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.2.tgz#85ea0c76450b61ad7d10a37050289eded783c27d" - integrity sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw== +"@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.5.tgz#12689df71bfc9b21c4f4ca00ae55f2f16c8b77c0" + integrity sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A== dependencies: + "@swc/counter" "^0.1.3" tslib "^2.4.0" "@tootallnate/once@1": @@ -4841,9 +5036,9 @@ integrity sha512-5ZZ5+YGmUE01yejiXsKnTcvhakMZ2UllZlMsQni53Doc1JWhe21ia8VntRoRD6fAEWw08JBh/z9qQHJ+//MrIg== "@types/aws-lambda@^8.10.134": - version "8.10.136" - resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.136.tgz#12a2af86b9123f4e4549992b27e1bf0dcf60d9f9" - integrity sha512-cmmgqxdVGhxYK9lZMYYXYRJk6twBo53ivtXjIUEFZxfxe4TkZTZBK3RRWrY2HjJcUIix0mdifn15yjOAat5lTA== + version "8.10.142" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.142.tgz#cb1d90bc45095e4f59e4ddfbb34a2e29c28d66b4" + integrity sha512-wy2y/2hQKrS6myOS++koXg3N1Hg+LLyPjaggCFajczSHZPqBnOMuT2sdH3kiASrmdBYyM3pmjyz5SoWraRllCQ== "@types/babel__core@^7.1.14": version "7.20.5" @@ -4896,10 +5091,18 @@ "@types/eslint" "*" "@types/estree" "*" -"@types/eslint@*", "@types/eslint@^8.56.2": - version "8.56.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" - integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== +"@types/eslint@*": + version "9.6.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" + integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/eslint@^8.56.10": + version "8.56.11" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.11.tgz#e2ff61510a3b9454b3329fe7731e3b4c6f780041" + integrity sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -5005,12 +5208,19 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== -"@types/node@*", "@types/node@^20.3.1": - version "20.11.19" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.19.tgz#b466de054e9cb5b3831bee38938de64ac7f81195" - integrity sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ== +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "22.0.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.0.2.tgz#9fb1a2b31970871e8bf696f0e8a40d2e6d2bd04e" + integrity sha512-yPL6DyFwY5PiMVEwymNeqUTKsDczQBJ/5T7W/46RwLU/VH+AA8aT5TZkvBviLKLbbm0hlfftEkGrNzfRk/fofQ== dependencies: - undici-types "~5.26.4" + undici-types "~6.11.1" "@types/node@16.18.82": version "16.18.82" @@ -5018,9 +5228,16 @@ integrity sha512-pcDZtkx9z8XYV+ius2P3Ot2VVrcYOfXffBQUBuiszrlUzKSmoDYqo+mV+IoL8iIiIjjtOMvNSmH1hwJ+Q+f96Q== "@types/node@^18.0.0": - version "18.19.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.17.tgz#a581a9fb4b2cfdbc61f008804f4436b2d5c40354" - integrity sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng== + version "18.19.42" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.42.tgz#b54ed4752c85427906aab40917b0f7f3d724bf72" + integrity sha512-d2ZFc/3lnK2YCYhos8iaNIYu9Vfhr92nHiyJHRltXWjXUBjEE+A4I58Tdbnw4VhggSW+2j5y5gTrLs4biNnubg== + dependencies: + undici-types "~5.26.4" + +"@types/node@^20.3.1": + version "20.14.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.13.tgz#bf4fe8959ae1c43bc284de78bd6c01730933736b" + integrity sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w== dependencies: undici-types "~5.26.4" @@ -5040,9 +5257,9 @@ integrity sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q== "@types/prop-types@*": - version "15.7.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== "@types/puppeteer@1.3.0": version "1.3.0" @@ -5053,9 +5270,9 @@ "@types/node" "*" "@types/react-dom@^18.2.6": - version "18.2.19" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58" - integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA== + version "18.3.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" + integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== dependencies: "@types/react" "*" @@ -5072,23 +5289,17 @@ "@types/react" "*" "@types/react@*", "@types/react@^18.2.13": - version "18.2.55" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.55.tgz#38141821b7084404b5013742bc4ae08e44da7a67" - integrity sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA== + version "18.3.3" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.3.tgz#9679020895318b0915d7a3ab004d92d33375c45f" + integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== dependencies: "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - "@types/semver@^7.5.0", "@types/semver@^7.5.1": - version "7.5.7" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.7.tgz#326f5fdda70d13580777bcaa1bc6fa772a5aef0e" - integrity sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg== + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== "@types/stack-utils@^2.0.0": version "2.0.3" @@ -5236,10 +5447,10 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== dependencies: "@webassemblyjs/helper-numbers" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" @@ -5254,10 +5465,10 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== "@webassemblyjs/helper-numbers@1.11.6": version "1.11.6" @@ -5273,15 +5484,15 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" "@webassemblyjs/ieee754@1.11.6": version "1.11.6" @@ -5302,59 +5513,59 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/ieee754" "1.11.6" "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/ast" "1.12.1" "@webassemblyjs/helper-api-error" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/ieee754" "1.11.6" "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/ast" "1.12.1" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^2.1.1": @@ -5463,10 +5674,10 @@ acorn-globals@^7.0.0: acorn "^8.1.0" acorn-walk "^8.0.2" -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== acorn-jsx@^5.3.2: version "5.3.2" @@ -5474,14 +5685,16 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.0.0, acorn-walk@^8.0.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + version "8.3.3" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" + integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + dependencies: + acorn "^8.11.0" -acorn@^8.0.4, acorn@^8.1.0, acorn@^8.11.3, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +acorn@^8.0.4, acorn@^8.1.0, acorn@^8.11.0, acorn@^8.11.3, acorn@^8.12.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== add-stream@^1.0.0: version "1.0.0" @@ -5542,10 +5755,12 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.21.3" -ansi-escapes@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f" - integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== +ansi-escapes@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.0.0.tgz#00fc19f491bbb18e1d481b97868204f92109bfe7" + integrity sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw== + dependencies: + environment "^1.0.0" ansi-fragments@^0.2.1: version "0.2.1" @@ -5677,14 +5892,15 @@ array-ify@^1.0.0: integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" is-string "^1.0.7" array-union@^2.1.0: @@ -5692,26 +5908,16 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.filter@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz#423771edeb417ff5914111fff4277ea0624c0d0e" - integrity sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - array.prototype.findlastindex@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz#d1c50f0b3a9da191981ff8942a0aedd82794404f" - integrity sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ== + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" + es-abstract "^1.23.2" es-errors "^1.3.0" + es-object-atoms "^1.0.0" es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.2: @@ -5790,10 +5996,12 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" - integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" aws-jwt-verify@^4.0.1: version "4.0.1" @@ -5801,11 +6009,11 @@ aws-jwt-verify@^4.0.1: integrity sha512-kzvi71eD3w/mCpYRUY7cz6DX4bfYihGdI2yV3FYQ2JuZZenqAqDPz0gWj0ew6vlAtdEVBNb7p+Dm2TAIxpVYMA== axios@^1.0.0: - version "1.6.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" - integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== + version "1.7.3" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.3.tgz#a1125f2faf702bc8e8f2104ec3a76fab40257d85" + integrity sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw== dependencies: - follow-redirects "^1.15.4" + follow-redirects "^1.15.6" form-data "^4.0.0" proxy-from-env "^1.1.0" @@ -5859,39 +6067,39 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__traverse" "^7.0.6" babel-plugin-module-resolver@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.0.tgz#2b7fc176bd55da25f516abf96015617b4f70fc73" - integrity sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q== + version "5.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz#cdeac5d4aaa3b08dd1ac23ddbf516660ed2d293e" + integrity sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg== dependencies: - find-babel-config "^2.0.0" - glob "^8.0.3" + find-babel-config "^2.1.1" + glob "^9.3.3" pkg-up "^3.1.0" reselect "^4.1.7" - resolve "^1.22.1" + resolve "^1.22.8" -babel-plugin-polyfill-corejs2@^0.4.8: - version "0.4.8" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" - integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.5.0" + "@babel/helper-define-polyfill-provider" "^0.6.2" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81" - integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== +babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - core-js-compat "^3.34.0" + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" -babel-plugin-polyfill-regenerator@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" - integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" + "@babel/helper-define-polyfill-provider" "^0.6.2" babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: version "7.0.0-beta.0" @@ -6000,9 +6208,9 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== bin-links@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.3.tgz#9e4a3c5900830aee3d7f52178b65e01dcdde64a5" - integrity sha512-obsRaULtJurnfox/MDwgq6Yo9kzbv1CPTk/1/s7Z/61Lezc8IKkFCOXNeVLXz0456WRzBQmSsDWlai2tIhBsfA== + version "4.0.4" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.4.tgz#c3565832b8e287c85f109a02a17027d152a58a63" + integrity sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA== dependencies: cmd-shim "^6.0.0" npm-normalize-package-bin "^3.0.0" @@ -6010,9 +6218,9 @@ bin-links@^4.0.1: write-file-atomic "^5.0.0" binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== bindings@^1.5.0: version "1.5.0" @@ -6064,22 +6272,22 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.2, braces@~3.0.2: +braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: fill-range "^7.1.1" -browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.22.3: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== +browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.1: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" bs-logger@0.x: version "0.2.6" @@ -6136,9 +6344,9 @@ builtins@^1.0.3: integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== builtins@^5.0.0, builtins@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + version "5.1.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" + integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== dependencies: semver "^7.0.0" @@ -6284,10 +6492,10 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001587: - version "1.0.30001587" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz#a0bce920155fa56a1885a69c74e1163fc34b4881" - integrity sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA== +caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001646: + version "1.0.30001646" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001646.tgz#d472f2882259ba032dd73ee069ff01bfd059b25d" + integrity sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw== chalk@4.1.0: version "4.1.0" @@ -6297,11 +6505,6 @@ chalk@4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -6319,6 +6522,11 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -6370,21 +6578,9 @@ chrome-launcher@^0.15.2: lighthouse-logger "^1.0.0" chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -chromium-edge-launcher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz#0443083074715a13c669530b35df7bfea33b1509" - integrity sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA== - dependencies: - "@types/node" "*" - escape-string-regexp "^4.0.0" - is-wsl "^2.2.0" - lighthouse-logger "^1.0.0" - mkdirp "^1.0.4" - rimraf "^3.0.2" + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== ci-info@^2.0.0: version "2.0.0" @@ -6397,9 +6593,9 @@ ci-info@^3.2.0, ci-info@^3.6.1: integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + version "1.3.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" + integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== classnames@^2.2.6: version "2.5.1" @@ -6407,13 +6603,13 @@ classnames@^2.2.6: integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== clean-publish@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/clean-publish/-/clean-publish-4.2.0.tgz#f72134437d4367962da02711099c70d134147a71" - integrity sha512-dqZF5y6KtlkYhbnJoXiOCP4L1TPdI7HtuDysslUrbI8vLPu65ZjVO3pu5xp4qH0X2cWdDN/La04woe6fg4LNSw== + version "4.4.0" + resolved "https://registry.yarnpkg.com/clean-publish/-/clean-publish-4.4.0.tgz#4eb751f12c625adac469fa2dc69ecf0df95c2b35" + integrity sha512-wAJxoegQKPN/BhAp1cOb7XID5Q3LBMpMUOmLjr1zWUwOOR7QDM+3zN3ViJQVAy4WbCXLI8bTJrFglIO1ldkE0g== dependencies: cross-spawn "^7.0.3" - fast-glob "^3.2.12" - lilconfig "^2.1.0" + fast-glob "^3.3.2" + lilconfig "^3.1.1" micromatch "^4.0.5" clean-stack@^2.0.0: @@ -6428,12 +6624,12 @@ cli-cursor@3.1.0, cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" - integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== +cli-cursor@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" + integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== dependencies: - restore-cursor "^4.0.0" + restore-cursor "^5.0.0" cli-spinners@2.6.1: version "2.6.1" @@ -6446,9 +6642,9 @@ cli-spinners@^2.5.0: integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-table3@^0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== dependencies: string-width "^4.2.0" optionalDependencies: @@ -6528,9 +6724,9 @@ cmd-shim@6.0.1: integrity sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q== cmd-shim@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.2.tgz#435fd9e5c95340e61715e19f90209ed6fcd9e0a4" - integrity sha512-+FFYbB0YLaAkhkcrjkyNLYDiOsFSfRjwjY19LXk/psmMx1z00xlCv7hhQoTGXXIKi+YXHL/iiFo8NqMVQX9nOw== + version "6.0.3" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" + integrity sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== co@^4.6.0: version "4.6.0" @@ -6601,11 +6797,6 @@ command-exists@^1.2.8: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -commander@11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" - integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== - commander@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" @@ -6636,6 +6827,11 @@ commander@^9.4.1: resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== +commander@~12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== + commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -6802,12 +6998,12 @@ cookie@0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -core-js-compat@^3.31.0, core-js-compat@^3.34.0: - version "3.36.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190" - integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== +core-js-compat@^3.36.1, core-js-compat@^3.37.1: + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" + integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== dependencies: - browserslist "^4.22.3" + browserslist "^4.23.0" core-util-is@~1.0.0: version "1.0.3" @@ -6925,15 +7121,42 @@ data-urls@^3.0.2: whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + dateformat@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== dayjs@^1.8.15: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + version "1.11.12" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.12.tgz#5245226cc7f40a15bf52e0b99fd2a04669ccac1d" + integrity sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg== debounce@^1.2.1: version "1.2.1" @@ -6947,10 +7170,10 @@ debug@2.6.9, debug@^2.2.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@~4.3.4: + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== dependencies: ms "2.1.2" @@ -6992,9 +7215,9 @@ dedent@0.7.0: integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + version "1.5.3" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== deep-equal@^1.1.1: version "1.1.2" @@ -7035,7 +7258,7 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-data-property@^1.0.1, define-data-property@^1.1.2: +define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== @@ -7049,7 +7272,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -7110,15 +7333,6 @@ deprecated-react-native-prop-types@^3.0.1: invariant "^2.2.4" prop-types "^15.8.1" -deprecated-react-native-prop-types@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz#02a12f090da7bd9e8c3ac53c31cf786a1315d302" - integrity sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ== - dependencies: - "@react-native/normalize-colors" "^0.73.0" - invariant "^2.2.4" - prop-types "^15.8.1" - deprecation@^2.0.0: version "2.3.1" resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" @@ -7135,9 +7349,9 @@ detect-indent@^5.0.0: integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== detect-libc@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== detect-newline@^3.0.0: version "3.1.0" @@ -7231,17 +7445,17 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -ejs@^3.1.7: +ejs@^3.1.10, ejs@^3.1.7: version "3.1.10" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.668: - version "1.4.671" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.671.tgz#fa3094d6d2512a6c4d609a9bc4997154543febfe" - integrity sha512-UUlE+/rWbydmp+FW8xlnnTA5WNA0ZZd2XL8CuMS72rh+k4y1f8+z6yk3UQhEwqHQWj6IBdL78DwWOdGMvYfQyA== +electron-to-chromium@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz#cd477c830dd6fca41fbd5465c1ff6ce08ac22343" + integrity sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA== emittery@^0.13.1: version "0.13.1" @@ -7292,10 +7506,10 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.12.0, enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.12.0, enhanced-resolve@^5.17.0: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -7323,9 +7537,14 @@ envinfo@7.8.1: integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== envinfo@^7.10.0, envinfo@^7.7.2, envinfo@^7.7.3: - version "7.11.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" - integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== + version "7.13.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" + integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== + +environment@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" + integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== err-code@^2.0.2: version "2.0.3" @@ -7354,18 +7573,22 @@ errorhandler@^1.5.0, errorhandler@^1.5.1: accepts "~1.3.7" escape-html "~1.0.3" -es-abstract@^1.22.1, es-abstract@^1.22.3: - version "1.22.4" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.4.tgz#26eb2e7538c3271141f5754d31aabfdb215f27bf" - integrity sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg== +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== dependencies: array-buffer-byte-length "^1.0.1" arraybuffer.prototype.slice "^1.0.3" - available-typed-arrays "^1.0.6" + available-typed-arrays "^1.0.7" call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" es-define-property "^1.0.0" es-errors "^1.3.0" - es-set-tostringtag "^2.0.2" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" es-to-primitive "^1.2.1" function.prototype.name "^1.1.6" get-intrinsic "^1.2.4" @@ -7373,15 +7596,16 @@ es-abstract@^1.22.1, es-abstract@^1.22.3: globalthis "^1.0.3" gopd "^1.0.1" has-property-descriptors "^1.0.2" - has-proto "^1.0.1" + has-proto "^1.0.3" has-symbols "^1.0.3" - hasown "^2.0.1" + hasown "^2.0.2" internal-slot "^1.0.7" is-array-buffer "^3.0.4" is-callable "^1.2.7" - is-negative-zero "^2.0.2" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" + is-shared-array-buffer "^1.0.3" is-string "^1.0.7" is-typed-array "^1.1.13" is-weakref "^1.0.2" @@ -7389,22 +7613,17 @@ es-abstract@^1.22.1, es-abstract@^1.22.3: object-keys "^1.1.1" object.assign "^4.1.5" regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.0" + safe-array-concat "^1.1.2" safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.1" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" unbox-primitive "^1.0.2" - which-typed-array "^1.1.14" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + which-typed-array "^1.1.15" es-define-property@^1.0.0: version "1.0.0" @@ -7413,24 +7632,31 @@ es-define-property@^1.0.0: dependencies: get-intrinsic "^1.2.4" -es-errors@^1.0.0, es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.2.1, es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== +es-module-lexer@^1.2.1, es-module-lexer@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== -es-set-tostringtag@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: version "1.0.2" @@ -7448,7 +7674,7 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -escalade@^3.1.1: +escalade@^3.1.1, escalade@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== @@ -7484,10 +7710,12 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-compat-utils@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz#f45e3b5ced4c746c127cf724fb074cd4e730d653" - integrity sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg== +eslint-compat-utils@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#7fc92b776d185a70c4070d03fd26fde3d59652e4" + integrity sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q== + dependencies: + semver "^7.5.4" eslint-config-prettier@^9.1.0: version "9.1.0" @@ -7522,20 +7750,20 @@ eslint-import-resolver-typescript@^3.6.1: is-glob "^4.0.3" eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + version "2.8.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" + integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== dependencies: debug "^3.2.7" eslint-plugin-es-x@^7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz#d08d9cd155383e35156c48f736eb06561d07ba92" - integrity sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ== + version "7.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#a207aa08da37a7923f2a9599e6d3eb73f3f92b74" + integrity sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ== dependencies: "@eslint-community/eslint-utils" "^4.1.2" - "@eslint-community/regexpp" "^4.6.0" - eslint-compat-utils "^0.1.2" + "@eslint-community/regexpp" "^4.11.0" + eslint-compat-utils "^0.5.1" eslint-plugin-import@^2.29.1: version "2.29.1" @@ -7561,19 +7789,21 @@ eslint-plugin-import@^2.29.1: tsconfig-paths "^3.15.0" eslint-plugin-jsdoc@^48.0.4: - version "48.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.1.0.tgz#565363770b433485bfc70dc862b50b7f780529ec" - integrity sha512-g9S8ukmTd1DVcV/xeBYPPXOZ6rc8WJ4yi0+MVxJ1jBOrz5kmxV9gJJQ64ltCqIWFnBChLIhLVx3tbTSarqVyFA== + version "48.10.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.10.2.tgz#dd3fb8b8d4c6a0add3191b7f00b32a1e1ca7880d" + integrity sha512-xTkf/MmEeVrTbezc6kDqCJmK9RcseIKo8X4oyoDCMvV4LY8dqrQi8kmfRrv9n0gNBkCclevaOh2Lkmu6Fs8SLg== dependencies: - "@es-joy/jsdoccomment" "~0.42.0" + "@es-joy/jsdoccomment" "~0.46.0" are-docs-informative "^0.0.2" comment-parser "1.4.1" - debug "^4.3.4" + debug "^4.3.5" escape-string-regexp "^4.0.0" - esquery "^1.5.0" - is-builtin-module "^3.2.1" - semver "^7.6.0" + espree "^10.1.0" + esquery "^1.6.0" + parse-imports "^2.1.1" + semver "^7.6.3" spdx-expression-parse "^4.0.0" + synckit "^0.9.1" eslint-plugin-n@^16.6.2: version "16.6.2" @@ -7593,22 +7823,22 @@ eslint-plugin-n@^16.6.2: semver "^7.5.3" eslint-plugin-prettier@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" + integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== dependencies: prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" + synckit "^0.9.1" eslint-plugin-promise@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" - integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== + version "6.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz#acd3fd7d55cead7a10f92cf698f36c0aafcd717a" + integrity sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ== eslint-plugin-unused-imports@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.1.0.tgz#db015b569d3774e17a482388c95c17bd303bc602" - integrity sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw== + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.2.0.tgz#63a98c9ad5f622cd9f830f70bc77739f25ccfe0d" + integrity sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ== dependencies: eslint-rule-composer "^0.3.0" @@ -7638,16 +7868,21 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== +eslint-visitor-keys@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" + integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== + eslint@^8.56.0: - version "8.56.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" - integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.56.0" - "@humanwhocodes/config-array" "^0.11.13" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" @@ -7682,6 +7917,15 @@ eslint@^8.56.0: strip-ansi "^6.0.1" text-table "^0.2.0" +espree@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" + integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== + dependencies: + acorn "^8.12.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.0.0" + espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" @@ -7696,10 +7940,10 @@ esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.2, esquery@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== +esquery@^1.4.2, esquery@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -7770,21 +8014,6 @@ execa@5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -execa@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -7813,6 +8042,21 @@ execa@^5.0.0, execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@~8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + exenv@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" @@ -7890,7 +8134,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@3, fast-glob@^3.0.3, fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.9, fast-glob@^3.3.1: +fast-glob@3, fast-glob@^3.0.3, fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.1, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -7922,7 +8166,7 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-xml-parser@4.2.5, fast-xml-parser@4.4.1, fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4, fast-xml-parser@^4.2.5: +fast-xml-parser@4.4.1, fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4, fast-xml-parser@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz#86dbf3f18edf8739326447bcaac31b4ae7f6514f" integrity sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw== @@ -8004,12 +8248,12 @@ finalhandler@1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-babel-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-2.0.0.tgz#a8216f825415a839d0f23f4d18338a1cc966f701" - integrity sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw== +find-babel-config@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-2.1.1.tgz#93703fc8e068db5e4c57592900c5715dd04b7e5b" + integrity sha512-5Ji+EAysHGe1OipH7GN4qDjok5Z1uw5KAwDCbicU/4wyTZY7CqOCzcWbG7J5ad9mazq67k89fXlbc1MuIfl9uA== dependencies: - json5 "^2.1.1" + json5 "^2.2.3" path-exists "^4.0.0" find-cache-dir@^2.0.0: @@ -8082,9 +8326,9 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== flow-enums-runtime@^0.0.5: version "0.0.5" @@ -8097,9 +8341,9 @@ flow-enums-runtime@^0.0.6: integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== flow-parser@0.*: - version "0.229.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.229.0.tgz#054b60d6f6a9fab76cd89dc6ca662fd32d910163" - integrity sha512-mOYmMuvJwAo/CvnMFEq4SHftq7E5188hYMTTxJyQOXk2nh+sgslRdYMw3wTthH+FMcFaZLtmBPuMu6IwztdoUQ== + version "0.242.1" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.242.1.tgz#d95977303d2cca0c1cb39394f5f5098d1ed5fc95" + integrity sha512-E3ml21Q1S5cMAyPbtYslkvI6yZO5oCS/S2EoteeFH8Kx9iKOv/YOJ+dGd/yMf+H3YKfhMKjnOpyNwrO7NdddWA== flow-parser@^0.185.0: version "0.185.2" @@ -8111,7 +8355,7 @@ flow-parser@^0.206.0: resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.206.0.tgz#f4f794f8026535278393308e01ea72f31000bfef" integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w== -follow-redirects@^1.15.4: +follow-redirects@^1.15.6: version "1.15.6" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== @@ -8124,9 +8368,9 @@ for-each@^0.3.3: is-callable "^1.1.3" foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + version "3.2.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.2.1.tgz#767004ccf3a5b30df39bed90718bab43fe0a59f7" + integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA== dependencies: cross-spawn "^7.0.0" signal-exit "^4.0.1" @@ -8232,9 +8476,9 @@ gauge@^4.0.3: wide-align "^1.1.5" gauge@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.1.tgz#1efc801b8ff076b86ef3e9a7a280a975df572112" - integrity sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ== + version "5.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.2.tgz#7ab44c11181da9766333f10db8cd1e4b17fd6c46" + integrity sha512-pMaFftXPtiGIHCJHdcUUx9Rby/rFT/Kkt3fIIGCs+9PMDIljSyRiqraTlxNtBReJRDfUefpa263RQ3vnp5G/LQ== dependencies: aproba "^1.0.3 || ^2.0.0" color-support "^1.1.3" @@ -8269,7 +8513,7 @@ get-east-asian-width@^1.0.0: resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== @@ -8332,9 +8576,9 @@ get-symbol-description@^1.0.2: get-intrinsic "^1.2.4" get-tsconfig@^4.5.0, get-tsconfig@^4.7.0: - version "4.7.2" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz#0dcd6fb330391d46332f4c6c1bf89a6514c2ddce" - integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== + version "4.7.6" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.6.tgz#118fd5b7b9bae234cc7705a00cd771d7eb65d62a" + integrity sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA== dependencies: resolve-pkg-maps "^1.0.0" @@ -8419,6 +8663,17 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== +glob@10.3.10, glob@^10.0.0@10.3.10, glob@^10.2.2: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + glob@7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -8443,17 +8698,6 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^10.2.2, glob@^10.3.10: - version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -8466,7 +8710,7 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.1, glob@^8.0.3: +glob@^8.0.1: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -8477,7 +8721,7 @@ glob@^8.0.1, glob@^8.0.3: minimatch "^5.0.1" once "^1.3.0" -glob@^9.2.0: +glob@^9.2.0, glob@^9.3.3: version "9.3.5" resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== @@ -8500,11 +8744,12 @@ globals@^13.19.0, globals@^13.24.0: type-fest "^0.20.2" globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" + define-properties "^1.2.1" + gopd "^1.0.1" globby@11.1.0, globby@^11.0.1, globby@^11.1.0: version "11.1.0" @@ -8598,24 +8843,24 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1, has-property-descriptors@^1.0.2: +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== @@ -8627,10 +8872,10 @@ has-unicode@2.0.1, has-unicode@^2.0.1: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -hasown@^2.0.0, hasown@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" @@ -8639,16 +8884,16 @@ hermes-estree@0.12.0: resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.12.0.tgz#8a289f9aee854854422345e6995a48613bac2ca8" integrity sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw== -hermes-estree@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.15.0.tgz#e32f6210ab18c7b705bdcb375f7700f2db15d6ba" - integrity sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ== - hermes-estree@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.19.1.tgz#d5924f5fac2bf0532547ae9f506d6db8f3c96392" integrity sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g== +hermes-estree@0.20.1: + version "0.20.1" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.20.1.tgz#0b9a544cf883a779a8e1444b915fa365bef7f72d" + integrity sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg== + hermes-estree@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.8.0.tgz#530be27243ca49f008381c1f3e8b18fb26bf9ec0" @@ -8661,13 +8906,6 @@ hermes-parser@0.12.0: dependencies: hermes-estree "0.12.0" -hermes-parser@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.15.0.tgz#f611a297c2a2dbbfbce8af8543242254f604c382" - integrity sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q== - dependencies: - hermes-estree "0.15.0" - hermes-parser@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.19.1.tgz#1044348097165b7c93dc198a80b04ed5130d6b1a" @@ -8675,6 +8913,13 @@ hermes-parser@0.19.1: dependencies: hermes-estree "0.19.1" +hermes-parser@0.20.1: + version "0.20.1" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.20.1.tgz#ad10597b99f718b91e283f81cbe636c50c3cff92" + integrity sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA== + dependencies: + hermes-estree "0.20.1" + hermes-parser@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.8.0.tgz#116dceaba32e45b16d6aefb5c4c830eaeba2d257" @@ -8787,9 +9032,9 @@ humanize-ms@^1.2.1: ms "^2.0.0" husky@^9.0.11: - version "9.0.11" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" - integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== + version "9.1.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.4.tgz#926fd19c18d345add5eab0a42b2b6d9a80259b34" + integrity sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA== iconv-lite@0.6.3, iconv-lite@^0.6.2: version "0.6.3" @@ -8823,9 +9068,9 @@ ignore-walk@^5.0.1: minimatch "^5.0.1" ignore-walk@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.4.tgz#89950be94b4f522225eb63a13c56badb639190e9" - integrity sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw== + version "6.0.5" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.5.tgz#ef8d61eab7da169078723d1f82833b36e200b0dd" + integrity sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A== dependencies: minimatch "^9.0.0" @@ -8872,7 +9117,7 @@ import-fresh@^3.2.1, import-fresh@^3.3.0: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@3.1.0, import-local@^3.0.2: +import-local@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== @@ -8880,6 +9125,14 @@ import-local@3.1.0, import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -9070,11 +9323,18 @@ is-ci@3.0.1: ci-info "^3.2.0" is-core-module@^2.11.0, is-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0, is-core-module@^2.8.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" + integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" @@ -9142,10 +9402,10 @@ is-lambda@^1.0.1: resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== is-number-object@^1.0.4: version "1.0.7" @@ -9209,12 +9469,12 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" is-ssh@^1.4.0: version "1.4.0" @@ -9264,7 +9524,7 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.10, is-typed-array@^1.1.13, is-typed-array@^1.1.9: +is-typed-array@^1.1.13: version "1.1.13" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== @@ -9339,13 +9599,13 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" istanbul-lib-coverage "^3.2.0" semver "^7.5.4" @@ -9368,9 +9628,9 @@ istanbul-lib-source-maps@^4.0.0: source-map "^0.6.1" istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -9385,9 +9645,9 @@ jackspeak@^2.3.5: "@pkgjs/parseargs" "^0.11.0" jake@^10.8.5: - version "10.8.7" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" - integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== dependencies: async "^3.2.3" chalk "^4.0.2" @@ -9826,9 +10086,9 @@ jest@^29.7.0: jest-cli "^29.7.0" joi@^17.2.1: - version "17.12.1" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.1.tgz#3347ecf4cd3301962d42191c021b165eef1f395b" - integrity sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ== + version "17.13.3" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" + integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA== dependencies: "@hapi/hoek" "^9.3.0" "@hapi/topo" "^5.1.0" @@ -9981,9 +10241,9 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-parse-even-better-errors@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz#02bb29fb5da90b5444581749c22cedd3597c6cb0" - integrity sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" + integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== json-schema-traverse@^0.4.1: version "0.4.1" @@ -10012,7 +10272,7 @@ json5@^1.0.1, json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.1.1, json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: +json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -10023,9 +10283,9 @@ jsonc-parser@3.2.0: integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== jsonc-parser@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + version "3.3.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4" + integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== jsonfile@^4.0.0: version "4.0.0" @@ -10215,16 +10475,16 @@ lighthouse-logger@^1.0.0: debug "^2.6.9" marky "^1.2.2" -lilconfig@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" - integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== - lilconfig@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +lilconfig@^3.1.1, lilconfig@~3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + line-column@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" @@ -10244,31 +10504,31 @@ lines-and-columns@~2.0.3: integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== lint-staged@^15.2.2: - version "15.2.2" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" - integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== - dependencies: - chalk "5.3.0" - commander "11.1.0" - debug "4.3.4" - execa "8.0.1" - lilconfig "3.0.0" - listr2 "8.0.1" - micromatch "4.0.5" - pidtree "0.6.0" - string-argv "0.3.2" - yaml "2.3.4" - -listr2@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" - integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== + version "15.2.7" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.7.tgz#97867e29ed632820c0fb90be06cd9ed384025649" + integrity sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw== + dependencies: + chalk "~5.3.0" + commander "~12.1.0" + debug "~4.3.4" + execa "~8.0.1" + lilconfig "~3.1.1" + listr2 "~8.2.1" + micromatch "~4.0.7" + pidtree "~0.6.0" + string-argv "~0.3.2" + yaml "~2.4.2" + +listr2@~8.2.1: + version "8.2.4" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.4.tgz#486b51cbdb41889108cb7e2c90eeb44519f5a77f" + integrity sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g== dependencies: cli-truncate "^4.0.0" colorette "^2.0.20" eventemitter3 "^5.0.1" - log-update "^6.0.0" - rfdc "^1.3.0" + log-update "^6.1.0" + rfdc "^1.4.1" wrap-ansi "^9.0.0" load-json-file@6.2.0: @@ -10373,14 +10633,14 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-update@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" - integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== +log-update@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4" + integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== dependencies: - ansi-escapes "^6.2.0" - cli-cursor "^4.0.0" - slice-ansi "^7.0.0" + ansi-escapes "^7.0.0" + cli-cursor "^5.0.0" + slice-ansi "^7.1.0" strip-ansi "^7.1.0" wrap-ansi "^9.0.0" @@ -10420,9 +10680,9 @@ lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== "lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lunr@^2.3.9: version "2.3.9" @@ -10625,22 +10885,22 @@ metro-babel-transformer@0.76.7: hermes-parser "0.12.0" nullthrows "^1.1.1" -metro-babel-transformer@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz#5efd1027353b36b73706164ef09c290dceac096a" - integrity sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA== +metro-babel-transformer@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.76.9.tgz#659ba481d471b5f748c31a8f9397094b629f50ec" + integrity sha512-dAnAmBqRdTwTPVn4W4JrowPolxD1MDbuU97u3MqtWZgVRvDpmr+Cqnn5oSxLQk3Uc+Zy3wkqVrB/zXNRlLDSAQ== dependencies: "@babel/core" "^7.20.0" hermes-parser "0.12.0" nullthrows "^1.1.1" -metro-babel-transformer@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.80.6.tgz#49df74af71ecc9871636cf469726debcb5a1c858" - integrity sha512-ssuoVC4OzqaOt3LpwfUbDfBlFGRu9v1Yf2JJnKPz0ROYHNjSBws4aUesqQQ/Ea8DbiH7TK4j4cJmm+XjdHmgqA== +metro-babel-transformer@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.80.9.tgz#7051ba377b7d2140abd23f4846bbbb1e81fea99b" + integrity sha512-d76BSm64KZam1nifRZlNJmtwIgAeZhZG3fi3K+EmPOlrR8rDtBxQHDSN3fSGeNB9CirdTyabTMQCkCup6BXFSQ== dependencies: "@babel/core" "^7.20.0" - hermes-parser "0.19.1" + hermes-parser "0.20.1" nullthrows "^1.1.1" metro-cache-key@0.73.10: @@ -10653,15 +10913,15 @@ metro-cache-key@0.76.7: resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.76.7.tgz#70913f43b92b313096673c37532edd07438cb325" integrity sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ== -metro-cache-key@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.76.8.tgz#8a0a5e991c06f56fcc584acadacb313c312bdc16" - integrity sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw== +metro-cache-key@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.76.9.tgz#6f17f821d6f306fa9028b7e79445eb18387d03d9" + integrity sha512-ugJuYBLngHVh1t2Jj+uP9pSCQl7enzVXkuh6+N3l0FETfqjgOaSHlcnIhMPn6yueGsjmkiIfxQU4fyFVXRtSTw== -metro-cache-key@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.80.6.tgz#48fe84477f6408478a33c363a8f5eaceea5cf853" - integrity sha512-DFmjQacC8m/S3HpELklLMWkPGP/fZPX3BSgjd0xQvwIvWyFwk8Nn/lfp/uWdEVDtDSIr64/anXU5uWohGwlWXw== +metro-cache-key@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.80.9.tgz#a04cbb0a7828509bb10dde9789ef761c0c60bc3d" + integrity sha512-hRcYGhEiWIdM87hU0fBlcGr+tHDEAT+7LYNCW89p5JhErFt/QaAkVx4fb5bW3YtXGv5BTV7AspWPERoIb99CXg== metro-cache@0.73.10: version "0.73.10" @@ -10679,20 +10939,20 @@ metro-cache@0.76.7: metro-core "0.76.7" rimraf "^3.0.2" -metro-cache@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.76.8.tgz#296c1c189db2053b89735a8f33dbe82575f53661" - integrity sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ== +metro-cache@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.76.9.tgz#64326d7a8b470c3886a5e97d5e2a20acab20bc5f" + integrity sha512-W6QFEU5AJG1gH4Ltv8S2IvhmEhSDYnbPafyj5fGR3YLysdykj+olKv9B0V+YQXtcLGyY5CqpXLYUx595GdiKzA== dependencies: - metro-core "0.76.8" + metro-core "0.76.9" rimraf "^3.0.2" -metro-cache@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.80.6.tgz#05fdd83482f4132243b27713716c289532bd41c3" - integrity sha512-NP81pHSPkzs+iNlpVkJqijrpcd6lfuDAunYH9/Rn8oLNz0yLfkl8lt+xOdUU4IkFt3oVcTBEFCnzAzv4B8YhyA== +metro-cache@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.80.9.tgz#b914318a90dbcd51b4c27836184519c441ba5123" + integrity sha512-ujEdSI43QwI+Dj2xuNax8LMo8UgKuXJEdxJkzGPU6iIx42nYa1byQ+aADv/iPh5sh5a//h5FopraW5voXSgm2w== dependencies: - metro-core "0.80.6" + metro-core "0.80.9" rimraf "^3.0.2" metro-config@0.73.10: @@ -10720,31 +10980,31 @@ metro-config@0.76.7: metro-core "0.76.7" metro-runtime "0.76.7" -metro-config@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.76.8.tgz#20bd5397fcc6096f98d2a813a7cecb38b8af062d" - integrity sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA== +metro-config@0.76.9, metro-config@^0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.76.9.tgz#5e60aff9d8894c1ee6bbc5de23b7c8515a0b84a3" + integrity sha512-oYyJ16PY3rprsfoi80L+gDJhFJqsKI3Pob5LKQbJpvL+gGr8qfZe1eQzYp5Xxxk9DOHKBV1xD94NB8GdT/DA8Q== dependencies: connect "^3.6.5" cosmiconfig "^5.0.5" jest-validate "^29.2.1" - metro "0.76.8" - metro-cache "0.76.8" - metro-core "0.76.8" - metro-runtime "0.76.8" + metro "0.76.9" + metro-cache "0.76.9" + metro-core "0.76.9" + metro-runtime "0.76.9" -metro-config@0.80.6, metro-config@^0.80.3: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.80.6.tgz#b404e2f24b22c9c683abcf8da3efa8c87e382ad7" - integrity sha512-vHYYvJpRTWYbmvqlR7i04xQpZCHJ6yfZ/xIcPdz2ssbdJGGJbiT1Aar9wr8RAhsccSxdJgfE5B1DB8Mo+DnhIg== +metro-config@0.80.9, metro-config@^0.80.3: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.80.9.tgz#4eb6948b0ddc7c38d9d4ba8ddf22a67ca1c2bc06" + integrity sha512-28wW7CqS3eJrunRGnsibWldqgwRP9ywBEf7kg+uzUHkSFJNKPM1K3UNSngHmH0EZjomizqQA2Zi6/y6VdZMolg== dependencies: connect "^3.6.5" cosmiconfig "^5.0.5" jest-validate "^29.6.3" - metro "0.80.6" - metro-cache "0.80.6" - metro-core "0.80.6" - metro-runtime "0.80.6" + metro "0.80.9" + metro-cache "0.80.9" + metro-core "0.80.9" + metro-runtime "0.80.9" metro-core@0.73.10: version "0.73.10" @@ -10762,21 +11022,21 @@ metro-core@0.76.7: lodash.throttle "^4.1.1" metro-resolver "0.76.7" -metro-core@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.76.8.tgz#917c8157c63406cb223522835abb8e7c6291dcad" - integrity sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA== +metro-core@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.76.9.tgz#5f55f0fbde41d28957e4f3bb187d32251403f00e" + integrity sha512-DSeEr43Wrd5Q7ySfRzYzDwfV89g2OZTQDf1s3exOcLjE5fb7awoLOkA2h46ZzN8NcmbbM0cuJy6hOwF073/yRQ== dependencies: lodash.throttle "^4.1.1" - metro-resolver "0.76.8" + metro-resolver "0.76.9" -metro-core@0.80.6, metro-core@^0.80.3: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.80.6.tgz#b13fa98417e70203d2533c5d0f5c4d541f3d9fbe" - integrity sha512-fn4rryTUAwzFJWj7VIPDH4CcW/q7MV4oGobqR6NsuxZoIGYrVpK7pBasumu5YbCqifuErMs5s23BhmrDNeZURw== +metro-core@0.80.9, metro-core@^0.80.3: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.80.9.tgz#3af21d0b09d71ec9c0840f028bffb36bc3619727" + integrity sha512-tbltWQn+XTdULkGdzHIxlxk4SdnKxttvQQV3wpqqFbHDteR4gwCyTR2RyYJvxgU7HELfHtrVbqgqAdlPByUSbg== dependencies: lodash.throttle "^4.1.1" - metro-resolver "0.80.6" + metro-resolver "0.80.9" metro-file-map@0.73.10: version "0.73.10" @@ -10819,10 +11079,10 @@ metro-file-map@0.76.7: optionalDependencies: fsevents "^2.3.2" -metro-file-map@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.76.8.tgz#a1db1185b6c316904ba6b53d628e5d1323991d79" - integrity sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw== +metro-file-map@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.76.9.tgz#dd3d76ec23fc0ba8cb7b3a3b8075bb09e0b5d378" + integrity sha512-7vJd8kksMDTO/0fbf3081bTrlw8SLiploeDf+vkkf0OwlrtDUWPOikfebp+MpZB2S61kamKjCNRfRkgrbPfSwg== dependencies: anymatch "^3.0.3" debug "^2.2.0" @@ -10839,10 +11099,10 @@ metro-file-map@0.76.8: optionalDependencies: fsevents "^2.3.2" -metro-file-map@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.80.6.tgz#9d96e54bd3bde6747b6860702a098a333599bba2" - integrity sha512-S3CUqvpXpc+q3q+hCEWvFKhVqgq0VmXdZQDF6u7ue86E2elq1XLnfLOt9JSpwyhpMQRyysjSCnd/Yh6GZMNHoQ== +metro-file-map@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.80.9.tgz#ed8783f6e35dfc005794344c2a9fcd6e914885aa" + integrity sha512-sBUjVtQMHagItJH/wGU9sn3k2u0nrCl0CdR4SFMO1tksXLKbkigyQx4cbpcyPVOAmGTVuy3jyvBlELaGCAhplQ== dependencies: anymatch "^3.0.3" debug "^2.2.0" @@ -10883,10 +11143,10 @@ metro-inspector-proxy@0.76.7: ws "^7.5.1" yargs "^17.6.2" -metro-inspector-proxy@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz#6b8678a7461b0b42f913a7881cc9319b4d3cddff" - integrity sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw== +metro-inspector-proxy@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.76.9.tgz#0d333e64a7bc9d156d712265faa7b7ae88c775e8" + integrity sha512-idIiPkb8CYshc0WZmbzwmr4B1QwsQUbpDwBzHwxE1ni27FWKWhV9CD5p+qlXZHgfwJuMRfPN+tIaLSR8+vttYg== dependencies: connect "^3.6.5" debug "^2.2.0" @@ -10908,17 +11168,17 @@ metro-minify-terser@0.76.7: dependencies: terser "^5.15.0" -metro-minify-terser@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz#915ab4d1419257fc6a0b9fa15827b83fe69814bf" - integrity sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA== +metro-minify-terser@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.76.9.tgz#3f6271da74dd57179852118443b62cc8dc578aab" + integrity sha512-ju2nUXTKvh96vHPoGZH/INhSvRRKM14CbGAJXQ98+g8K5z1v3luYJ/7+dFQB202eVzJdTB2QMtBjI1jUUpooCg== dependencies: terser "^5.15.0" -metro-minify-terser@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.80.6.tgz#27193867ec177c5a9b636725ff1c94c65ce701cc" - integrity sha512-83eZaH2+B+jP92KuodPqXknzwmiboKAuZY4doRfTEEXAG57pNVNN6cqSRJlwDnmaTBKRffxoncBXbYqHQgulgg== +metro-minify-terser@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.80.9.tgz#2b7798cba2bd4bd69cc5ce05a45bf66291542f83" + integrity sha512-FEeCeFbkvvPuhjixZ1FYrXtO0araTpV6UbcnGgDUpH7s7eR5FG/PiJz3TsuuPP/HwCK19cZtQydcA2QrCw446A== dependencies: terser "^5.15.0" @@ -10936,10 +11196,10 @@ metro-minify-uglify@0.76.7: dependencies: uglify-es "^3.1.9" -metro-minify-uglify@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz#74745045ea2dd29f8783db483b2fce58385ba695" - integrity sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ== +metro-minify-uglify@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.76.9.tgz#e88c30c27911c053e1ee20e12077f0f4cbb154f8" + integrity sha512-MXRrM3lFo62FPISlPfTqC6n9HTEI3RJjDU5SvpE7sJFfJKLx02xXQEltsL/wzvEqK+DhRQ5DEYACTwf5W4Z3yA== dependencies: uglify-es "^3.1.9" @@ -11121,6 +11381,51 @@ metro-react-native-babel-preset@0.76.8: babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.4.0" +metro-react-native-babel-preset@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.9.tgz#15868142122af14313429d7572c15cf01c16f077" + integrity sha512-eCBtW/UkJPDr6HlMgFEGF+964DZsUEF9RGeJdZLKWE7d/0nY3ABZ9ZAGxzu9efQ35EWRox5bDMXUGaOwUe5ikQ== + dependencies: + "@babel/core" "^7.20.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.18.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0" + "@babel/plugin-proposal-numeric-separator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.20.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.18.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.20.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.20.0" + "@babel/plugin-transform-flow-strip-types" "^7.20.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + babel-plugin-transform-flow-enums "^0.0.2" + react-refresh "^0.4.0" + metro-react-native-babel-transformer@0.73.10: version "0.73.10" resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz#4e20a9ce131b873cda0b5a44d3eb4002134a64b8" @@ -11158,15 +11463,15 @@ metro-react-native-babel-transformer@0.76.7: metro-react-native-babel-preset "0.76.7" nullthrows "^1.1.1" -metro-react-native-babel-transformer@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz#c3a98e1f4cd5faf1e21eba8e004b94a90c4db69b" - integrity sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A== +metro-react-native-babel-transformer@^0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.9.tgz#464aab85669ed39f7a59f1fd993a05de9543b09e" + integrity sha512-xXzHcfngSIkbQj+U7i/anFkNL0q2QVarYSzr34CFkzKLa79Rp16B8ki7z9eVVqo9W3B4TBcTXl3BipgRoOoZSQ== dependencies: "@babel/core" "^7.20.0" babel-preset-fbjs "^3.4.0" hermes-parser "0.12.0" - metro-react-native-babel-preset "0.76.8" + metro-react-native-babel-preset "0.76.9" nullthrows "^1.1.1" metro-resolver@0.73.10: @@ -11181,15 +11486,15 @@ metro-resolver@0.76.7: resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.76.7.tgz#f00ebead64e451c060f30926ecbf4f797588df52" integrity sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA== -metro-resolver@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.76.8.tgz#0862755b9b84e26853978322464fb37c6fdad76d" - integrity sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ== +metro-resolver@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.76.9.tgz#79c244784b16ca56076bc1fc816d2ba74860e882" + integrity sha512-s86ipNRas9vNR5lChzzSheF7HoaQEmzxBLzwFA6/2YcGmUCowcoyPAfs1yPh4cjMw9F1T4KlMLaiwniGE7HCyw== -metro-resolver@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.80.6.tgz#b648b8c661bc4cf091efd11affa010dd11f58bec" - integrity sha512-R7trfglG4zY4X9XyM9cvuffAhQ9W1reWoahr1jdEWa6rOI8PyM0qXjcsb8l+fsOQhdSiVlkKcYAmkyrs1S/zrA== +metro-resolver@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.80.9.tgz#bae9120a0553e0cb59da6429e83a7e97465cc1a8" + integrity sha512-wAPIjkN59BQN6gocVsAvvpZ1+LQkkqUaswlT++cJafE/e54GoVkMNCmrR4BsgQHr9DknZ5Um/nKueeN7kaEz9w== metro-runtime@0.73.10: version "0.73.10" @@ -11215,18 +11520,18 @@ metro-runtime@0.76.7: "@babel/runtime" "^7.0.0" react-refresh "^0.4.0" -metro-runtime@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.76.8.tgz#74b2d301a2be5f3bbde91b8f1312106f8ffe50c3" - integrity sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg== +metro-runtime@0.76.9, metro-runtime@^0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.76.9.tgz#f8ebe150f8896ce1aef5d7f3a52844f8b4f721fb" + integrity sha512-/5vezDpGUtA0Fv6cJg0+i6wB+QeBbvLeaw9cTSG7L76liP0b91f8vOcYzGaUbHI8pznJCCTerxRzpQ8e3/NcDw== dependencies: "@babel/runtime" "^7.0.0" react-refresh "^0.4.0" -metro-runtime@0.80.6, metro-runtime@^0.80.3: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.80.6.tgz#efd566a02e63e6f2bd08b5e2a8fe57333f1a2c4e" - integrity sha512-21GQVd0pp2nACoK0C2PL8mBsEhIFUFFntYrWRlYNHtPQoqDzddrPEIgkyaABGXGued+dZoBlFQl+LASlmmfkvw== +metro-runtime@0.80.9, metro-runtime@^0.80.3: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.80.9.tgz#665312bd4e4d38fea921b3153d6ab47846eb4f08" + integrity sha512-8PTVIgrVcyU+X/rVCy/9yxNlvXsBCk5JwwkbAm/Dm+Abo6NBGtNjWF0M1Xo/NWCb4phamNWcD7cHdR91HhbJvg== dependencies: "@babel/runtime" "^7.0.0" @@ -11272,31 +11577,31 @@ metro-source-map@0.76.7: source-map "^0.5.6" vlq "^1.0.0" -metro-source-map@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.76.8.tgz#f085800152a6ba0b41ca26833874d31ec36c5a53" - integrity sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw== +metro-source-map@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.76.9.tgz#0f976ada836717f307427d3830aea52a2ca7ed5f" + integrity sha512-q5qsMlu8EFvsT46wUUh+ao+efDsicT30zmaPATNhq+PcTawDbDgnMuUD+FT0bvxxnisU2PWl91RdzKfNc2qPQA== dependencies: "@babel/traverse" "^7.20.0" "@babel/types" "^7.20.0" invariant "^2.2.4" - metro-symbolicate "0.76.8" + metro-symbolicate "0.76.9" nullthrows "^1.1.1" - ob1 "0.76.8" + ob1 "0.76.9" source-map "^0.5.6" vlq "^1.0.0" -metro-source-map@0.80.6, metro-source-map@^0.80.3: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.80.6.tgz#f129a36bb5b74e3ae0d4cbbcdc62904fa0161fb1" - integrity sha512-lqDuSLctWy9Qccu4Zl0YB1PzItpsqcKGb1nK0aDY+lzJ26X65OCib2VzHlj+xj7e4PiIKOfsvDCczCBz4cnxdg== +metro-source-map@0.80.9, metro-source-map@^0.80.3: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.80.9.tgz#df8f673137548f37ab9f9dcfa771b354a452cfab" + integrity sha512-RMn+XS4VTJIwMPOUSj61xlxgBvPeY4G6s5uIn6kt6HB6A/k9ekhr65UkkDD7WzHYs3a9o869qU8tvOZvqeQzgw== dependencies: "@babel/traverse" "^7.20.0" "@babel/types" "^7.20.0" invariant "^2.2.4" - metro-symbolicate "0.80.6" + metro-symbolicate "0.80.9" nullthrows "^1.1.1" - ob1 "0.80.6" + ob1 "0.80.9" source-map "^0.5.6" vlq "^1.0.0" @@ -11336,25 +11641,25 @@ metro-symbolicate@0.76.7: through2 "^2.0.1" vlq "^1.0.0" -metro-symbolicate@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz#f102ac1a306d51597ecc8fdf961c0a88bddbca03" - integrity sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w== +metro-symbolicate@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.76.9.tgz#f1627ef6f73bb0c4d48c55684d3c87866a0b0920" + integrity sha512-Yyq6Ukj/IeWnGST09kRt0sBK8TwzGZWoU7YAcQlh14+AREH454Olx4wbFTpkkhUkV05CzNCvUuXQ0efFxhA1bw== dependencies: invariant "^2.2.4" - metro-source-map "0.76.8" + metro-source-map "0.76.9" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-symbolicate@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.80.6.tgz#8690af051f33c98c0e8efcd779aebbfdea9fabef" - integrity sha512-SGwKeBi+lK7NmM5+EcW6DyRRa9HmGSvH0LJtlT4XoRMbpxzsLYs0qUEA+olD96pOIP+ta7I8S30nQr2ttqgO8A== +metro-symbolicate@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.80.9.tgz#8d1d19d26ebb36b9d13dbd29814fdd71d6009db7" + integrity sha512-Ykae12rdqSs98hg41RKEToojuIW85wNdmSe/eHUgMkzbvCFNVgcC0w3dKZEhSsqQOXapXRlLtHkaHLil0UD/EA== dependencies: invariant "^2.2.4" - metro-source-map "0.80.6" + metro-source-map "0.80.9" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" @@ -11382,10 +11687,10 @@ metro-transform-plugins@0.76.7: "@babel/traverse" "^7.20.0" nullthrows "^1.1.1" -metro-transform-plugins@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz#d77c28a6547a8e3b72250f740fcfbd7f5408f8ba" - integrity sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA== +metro-transform-plugins@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.76.9.tgz#73e34f2014d3df3c336a882b13e541bceb826d37" + integrity sha512-YEQeNlOCt92I7S9A3xbrfaDfwfgcxz9PpD/1eeop3c4cO3z3Q3otYuxw0WJ/rUIW8pZfOm5XCehd+1NRbWlAaw== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.0" @@ -11393,10 +11698,10 @@ metro-transform-plugins@0.76.8: "@babel/traverse" "^7.20.0" nullthrows "^1.1.1" -metro-transform-plugins@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.80.6.tgz#f9039384692fc8cd51a67d1cd7c35964e7d374e8" - integrity sha512-e04tdTC5Fy1vOQrTTXb5biao0t7nR/h+b1IaBTlM5UaHaAJZr658uVOoZhkRxKjbhF2mIwJ/8DdorD2CA15BCg== +metro-transform-plugins@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.80.9.tgz#473a2c0a9e48043210547abe61cdeedb77725422" + integrity sha512-UlDk/uc8UdfLNJhPbF3tvwajyuuygBcyp+yBuS/q0z3QSuN/EbLllY3rK8OTD9n4h00qZ/qgxGv/lMFJkwP4vg== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.0" @@ -11441,40 +11746,41 @@ metro-transform-worker@0.76.7: metro-transform-plugins "0.76.7" nullthrows "^1.1.1" -metro-transform-worker@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz#b9012a196cee205170d0c899b8b175b9305acdea" - integrity sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ== +metro-transform-worker@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.76.9.tgz#281fad223f0447e1ff9cc44d6f7e33dfab9ab120" + integrity sha512-F69A0q0qFdJmP2Clqr6TpTSn4WTV9p5A28h5t9o+mB22ryXBZfUQ6BFBBW/6Wp2k/UtPH+oOsBfV9guiqm3d2Q== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.0" "@babel/parser" "^7.20.0" "@babel/types" "^7.20.0" babel-preset-fbjs "^3.4.0" - metro "0.76.8" - metro-babel-transformer "0.76.8" - metro-cache "0.76.8" - metro-cache-key "0.76.8" - metro-source-map "0.76.8" - metro-transform-plugins "0.76.8" + metro "0.76.9" + metro-babel-transformer "0.76.9" + metro-cache "0.76.9" + metro-cache-key "0.76.9" + metro-minify-terser "0.76.9" + metro-source-map "0.76.9" + metro-transform-plugins "0.76.9" nullthrows "^1.1.1" -metro-transform-worker@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.80.6.tgz#fc09822ce360eaa929b14408e4af97a2fa8feba6" - integrity sha512-jV+VgCLiCj5jQadW/h09qJaqDreL6XcBRY52STCoz2xWn6WWLLMB5nXzQtvFNPmnIOps+Xu8+d5hiPcBNOhYmA== +metro-transform-worker@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.80.9.tgz#f1d8ef4f77228bb7e1d20d3c06934166e8ee3b28" + integrity sha512-c/IrzMUVnI0hSVVit4TXzt3A1GiUltGVlzCmLJWxNrBGHGrJhvgePj38+GXl1Xf4Fd4vx6qLUkKMQ3ux73bFLQ== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.0" "@babel/parser" "^7.20.0" "@babel/types" "^7.20.0" - metro "0.80.6" - metro-babel-transformer "0.80.6" - metro-cache "0.80.6" - metro-cache-key "0.80.6" - metro-minify-terser "0.80.6" - metro-source-map "0.80.6" - metro-transform-plugins "0.80.6" + metro "0.80.9" + metro-babel-transformer "0.80.9" + metro-cache "0.80.9" + metro-cache-key "0.80.9" + metro-minify-terser "0.80.9" + metro-source-map "0.80.9" + metro-transform-plugins "0.80.9" nullthrows "^1.1.1" metro@0.73.10: @@ -11588,10 +11894,10 @@ metro@0.76.7: ws "^7.5.1" yargs "^17.6.2" -metro@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.76.8.tgz#ba526808b99977ca3f9ac5a7432fd02a340d13a6" - integrity sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg== +metro@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.76.9.tgz#605fddf1a54d27762ddba2f636420ae2408862df" + integrity sha512-gcjcfs0l5qIPg0lc5P7pj0x7vPJ97tan+OnEjiYLbKjR1D7Oa78CE93YUPyymUPH6q7VzlzMm1UjT35waEkZUw== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.20.0" @@ -11615,22 +11921,21 @@ metro@0.76.8: jest-worker "^27.2.0" jsc-safe-url "^0.2.2" lodash.throttle "^4.1.1" - metro-babel-transformer "0.76.8" - metro-cache "0.76.8" - metro-cache-key "0.76.8" - metro-config "0.76.8" - metro-core "0.76.8" - metro-file-map "0.76.8" - metro-inspector-proxy "0.76.8" - metro-minify-terser "0.76.8" - metro-minify-uglify "0.76.8" - metro-react-native-babel-preset "0.76.8" - metro-resolver "0.76.8" - metro-runtime "0.76.8" - metro-source-map "0.76.8" - metro-symbolicate "0.76.8" - metro-transform-plugins "0.76.8" - metro-transform-worker "0.76.8" + metro-babel-transformer "0.76.9" + metro-cache "0.76.9" + metro-cache-key "0.76.9" + metro-config "0.76.9" + metro-core "0.76.9" + metro-file-map "0.76.9" + metro-inspector-proxy "0.76.9" + metro-minify-uglify "0.76.9" + metro-react-native-babel-preset "0.76.9" + metro-resolver "0.76.9" + metro-runtime "0.76.9" + metro-source-map "0.76.9" + metro-symbolicate "0.76.9" + metro-transform-plugins "0.76.9" + metro-transform-worker "0.76.9" mime-types "^2.1.27" node-fetch "^2.2.0" nullthrows "^1.1.1" @@ -11642,10 +11947,10 @@ metro@0.76.8: ws "^7.5.1" yargs "^17.6.2" -metro@0.80.6, metro@^0.80.3: - version "0.80.6" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.80.6.tgz#11cf77700b8be767f6663c1d6f6ed287dd686535" - integrity sha512-f6Nhnht9TxVRP6zdBq9J2jNdeDBxRmJFnjxhQS1GeCpokBvI6fTXq+wHTLz5jZA+75fwbkPSzBxBJzQa6xi0AQ== +metro@0.80.9, metro@^0.80.3: + version "0.80.9" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.80.9.tgz#de3c2011df62036520d51d040d2dde0d015aecb6" + integrity sha512-Bc57Xf3GO2Xe4UWQsBj/oW6YfLPABEu8jfDVDiNmJvoQW4CO34oDPuYKe4KlXzXhcuNsqOtSxpbjCRRVjhhREg== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.20.0" @@ -11662,24 +11967,24 @@ metro@0.80.6, metro@^0.80.3: denodeify "^1.2.1" error-stack-parser "^2.0.6" graceful-fs "^4.2.4" - hermes-parser "0.19.1" + hermes-parser "0.20.1" image-size "^1.0.2" invariant "^2.2.4" jest-worker "^29.6.3" jsc-safe-url "^0.2.2" lodash.throttle "^4.1.1" - metro-babel-transformer "0.80.6" - metro-cache "0.80.6" - metro-cache-key "0.80.6" - metro-config "0.80.6" - metro-core "0.80.6" - metro-file-map "0.80.6" - metro-resolver "0.80.6" - metro-runtime "0.80.6" - metro-source-map "0.80.6" - metro-symbolicate "0.80.6" - metro-transform-plugins "0.80.6" - metro-transform-worker "0.80.6" + metro-babel-transformer "0.80.9" + metro-cache "0.80.9" + metro-cache-key "0.80.9" + metro-config "0.80.9" + metro-core "0.80.9" + metro-file-map "0.80.9" + metro-resolver "0.80.9" + metro-runtime "0.80.9" + metro-source-map "0.80.9" + metro-symbolicate "0.80.9" + metro-transform-plugins "0.80.9" + metro-transform-worker "0.80.9" mime-types "^2.1.27" node-fetch "^2.2.0" nullthrows "^1.1.1" @@ -11691,19 +11996,24 @@ metro@0.80.6, metro@^0.80.3: ws "^7.5.1" yargs "^17.6.2" -micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== +micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.5, micromatch@~4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +"mime-db@>= 1.43.0 < 2": + version "1.53.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" + integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== + mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" @@ -11731,6 +12041,11 @@ mimic-fn@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +mimic-function@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" + integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== + mimic-response@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" @@ -11748,7 +12063,14 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" -"minimatch@6 || 7 || 8 || 9", minimatch@9.0.3, minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3: +"minimatch@6 || 7 || 8 || 9", minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimatch@9.0.3: version "9.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== @@ -11820,9 +12142,9 @@ minipass-fetch@^2.0.3: encoding "^0.1.13" minipass-fetch@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.4.tgz#4d4d9b9f34053af6c6e597a64be8e66e42bf45b7" - integrity sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg== + version "3.0.5" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.5.tgz#f0f97e40580affc4a35cc4a1349f05ae36cb1e4c" + integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg== dependencies: minipass "^7.0.3" minipass-sized "^1.0.3" @@ -11838,9 +12160,9 @@ minipass-flush@^1.0.5: minipass "^3.0.0" minipass-json-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" - integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz#5121616c77a11c406c3ffa77509e0b77bb267ec3" + integrity sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg== dependencies: jsonparse "^1.3.1" minipass "^3.0.0" @@ -11877,9 +12199,9 @@ minipass@^5.0.0: integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== minipass@^7.0.3: - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" @@ -11952,7 +12274,7 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mute-stream@~1.0.0: +mute-stream@^1.0.0, mute-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== @@ -11995,27 +12317,27 @@ neo-async@^2.5.0, neo-async@^2.6.2: integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== "next@>= 13.5.0 < 15.0.0": - version "14.1.1" - resolved "https://registry.yarnpkg.com/next/-/next-14.1.1.tgz#92bd603996c050422a738e90362dff758459a171" - integrity sha512-McrGJqlGSHeaz2yTRPkEucxQKe5Zq7uPwyeHNmJaZNY4wx9E9QdxmTp310agFRoMuIYgQrCrT3petg13fSVOww== + version "14.2.5" + resolved "https://registry.yarnpkg.com/next/-/next-14.2.5.tgz#afe4022bb0b752962e2205836587a289270efbea" + integrity sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA== dependencies: - "@next/env" "14.1.1" - "@swc/helpers" "0.5.2" + "@next/env" "14.2.5" + "@swc/helpers" "0.5.5" busboy "1.6.0" caniuse-lite "^1.0.30001579" graceful-fs "^4.2.11" postcss "8.4.31" styled-jsx "5.1.1" optionalDependencies: - "@next/swc-darwin-arm64" "14.1.1" - "@next/swc-darwin-x64" "14.1.1" - "@next/swc-linux-arm64-gnu" "14.1.1" - "@next/swc-linux-arm64-musl" "14.1.1" - "@next/swc-linux-x64-gnu" "14.1.1" - "@next/swc-linux-x64-musl" "14.1.1" - "@next/swc-win32-arm64-msvc" "14.1.1" - "@next/swc-win32-ia32-msvc" "14.1.1" - "@next/swc-win32-x64-msvc" "14.1.1" + "@next/swc-darwin-arm64" "14.2.5" + "@next/swc-darwin-x64" "14.2.5" + "@next/swc-linux-arm64-gnu" "14.2.5" + "@next/swc-linux-arm64-musl" "14.2.5" + "@next/swc-linux-x64-gnu" "14.2.5" + "@next/swc-linux-x64-musl" "14.2.5" + "@next/swc-win32-arm64-msvc" "14.2.5" + "@next/swc-win32-ia32-msvc" "14.2.5" + "@next/swc-win32-x64-msvc" "14.2.5" nice-try@^1.0.4: version "1.0.5" @@ -12028,9 +12350,9 @@ nocache@^3.0.1: integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== node-abi@^3.3.0: - version "3.54.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.54.0.tgz#f6386f7548817acac6434c6cba02999c9aebcc69" - integrity sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA== + version "3.65.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.65.0.tgz#ca92d559388e1e9cab1680a18c1a18757cdac9d3" + integrity sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA== dependencies: semver "^7.3.5" @@ -12045,9 +12367,9 @@ node-addon-api@^3.2.1: integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== node-addon-api@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.0.tgz#71f609369379c08e251c558527a107107b5e0fdb" - integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== node-dir@^0.1.17: version "0.1.17" @@ -12070,10 +12392,15 @@ node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.12, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + node-gyp-build@^4.3.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" - integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== + version "4.8.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" + integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== node-gyp@8.x: version "8.4.1" @@ -12118,10 +12445,10 @@ node-machine-id@1.1.12: resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== node-stream-zip@^1.9.1: version "1.15.0" @@ -12148,9 +12475,9 @@ nopt@^6.0.0: abbrev "^1.0.0" nopt@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.0.tgz#067378c68116f602f552876194fd11f1292503d7" - integrity sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA== + version "7.2.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" + integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== dependencies: abbrev "^2.0.0" @@ -12197,9 +12524,9 @@ npm-bundled@^1.1.2: npm-normalize-package-bin "^1.0.1" npm-bundled@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7" - integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.1.tgz#cca73e15560237696254b10170d8f86dad62da25" + integrity sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ== dependencies: npm-normalize-package-bin "^3.0.0" @@ -12326,9 +12653,9 @@ nullthrows@^1.1.1: integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== nwsapi@^2.2.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + version "2.2.12" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.12.tgz#fb6af5c0ec35b27b4581eb3bbad34ec9e5c696f8" + integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w== nx@16.7.0, "nx@>=16.5.1 < 17": version "16.7.0" @@ -12397,15 +12724,15 @@ ob1@0.76.7: resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.76.7.tgz#95b68fadafd47e7a6a0ad64cf80f3140dd6d1124" integrity sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ== -ob1@0.76.8: - version "0.76.8" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.76.8.tgz#ac4c459465b1c0e2c29aaa527e09fc463d3ffec8" - integrity sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g== +ob1@0.76.9: + version "0.76.9" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.76.9.tgz#a493e4b83a0fb39200de639804b5d06eed5599dc" + integrity sha512-g0I/OLnSxf6OrN3QjSew3bTDJCdbZoWxnh8adh1z36alwCuGF1dgDeRA25bTYSakrG5WULSaWJPOdgnf1O/oQw== -ob1@0.80.6: - version "0.80.6" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.80.6.tgz#61d7881f458333ed2a73b90cea4aa62f8ca9e045" - integrity sha512-nlLGZPMQ/kbmkdIb5yvVzep1jKUII2x6ehNsHpgy71jpnJMW7V+KsB3AjYI2Ajb7UqMAMNjlssg6FUodrEMYzg== +ob1@0.80.9: + version "0.80.9" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.80.9.tgz#4ae3edd807536097674ff943509089f5d4e0649f" + integrity sha512-v9yOxowkZbxWhKOaaTyLjIm1aLy4ebMNcSn4NYJKOAI/Qv+SkfEfszpLr2GIxsccmb2Y2HA9qtsqiIJ80ucpVA== object-assign@^4.1.1: version "4.1.1" @@ -12413,17 +12740,17 @@ object-assign@^4.1.1: integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" + call-bind "^1.0.7" + define-properties "^1.2.1" object-keys@^1.1.1: version "1.1.1" @@ -12441,33 +12768,32 @@ object.assign@^4.1.5: object-keys "^1.1.1" object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" object.groupby@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.2.tgz#494800ff5bab78fd0eff2835ec859066e00192ec" - integrity sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== dependencies: - array.prototype.filter "^1.0.3" - call-bind "^1.0.5" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.0.0" + es-abstract "^1.23.2" object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" on-finished@2.4.1: version "2.4.1" @@ -12509,6 +12835,13 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +onetime@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" + integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== + dependencies: + mimic-function "^5.0.0" + open@^6.2.0: version "6.4.0" resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" @@ -12539,16 +12872,16 @@ opener@^1.5.2: integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" ora@^5.4.1: version "5.4.1" @@ -12735,6 +13068,14 @@ parse-conflict-json@^3.0.0: just-diff "^6.0.0" just-diff-apply "^5.2.0" +parse-imports@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/parse-imports/-/parse-imports-2.1.1.tgz#ce52141df24990065d72a446a364bffd595577f4" + integrity sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA== + dependencies: + es-module-lexer "^1.5.3" + slashes "^3.0.12" + parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -12839,22 +13180,22 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -picomatch@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.1.tgz#68c26c8837399e5819edce48590412ea07f17a07" - integrity sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== -pidtree@0.6.0: +pidtree@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== @@ -12919,10 +13260,15 @@ popper.js@^1.14.4: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + postcss-selector-parser@^6.0.10: - version "6.0.15" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + version "6.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38" + integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -12942,9 +13288,9 @@ pouchdb-collections@^1.0.1: integrity sha512-31db6JRg4+4D5Yzc2nqsRqsA2oOkZS8DpFav3jf/qVNBxusKa2ClkEIZ2bJNpaDbMfWtnuSq59p6Bn+CipPMdg== prebuild-install@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" - integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== + version "7.1.2" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.2.tgz#a5fd9986f5a6251fbc47e1e5c65de71e68c0a056" + integrity sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ== dependencies: detect-libc "^2.0.0" expand-template "^2.0.3" @@ -12972,9 +13318,9 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" - integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + version "3.3.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" + integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== pretty-format@29.4.3: version "29.4.3" @@ -13058,11 +13404,11 @@ prompts@^2.0.1, prompts@^2.4.0, prompts@^2.4.2: sisteransi "^1.0.5" promzard@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.0.tgz#3246f8e6c9895a77c0549cefb65828ac0f6c006b" - integrity sha512-KQVDEubSUHGSt5xLakaToDFrSoZhStB8dXLzk2xvwR67gJktrHFvpR63oZgHyK19WKbHFLXJqCPXdVR3aBP8Ig== + version "1.0.2" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.2.tgz#2226e7c6508b1da3471008ae17066a7c3251e660" + integrity sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ== dependencies: - read "^2.0.0" + read "^3.0.1" prop-types@*, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" @@ -13107,15 +13453,20 @@ punycode@^2.1.0, punycode@^2.1.1: integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== +querystring@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -13160,7 +13511,7 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-devtools-core@^4.26.1, react-devtools-core@^4.27.2, react-devtools-core@^4.27.7: +react-devtools-core@^4.26.1, react-devtools-core@^4.27.2: version "4.28.5" resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.28.5.tgz#c8442b91f068cdf0c899c543907f7f27d79c2508" integrity sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA== @@ -13168,6 +13519,14 @@ react-devtools-core@^4.26.1, react-devtools-core@^4.27.2, react-devtools-core@^4 shell-quote "^1.6.1" ws "^7" +react-devtools-core@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-5.3.1.tgz#d57f5b8f74f16e622bd6a7bc270161e4ba162666" + integrity sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw== + dependencies: + shell-quote "^1.6.1" + ws "^7" + react-dom@^16.13.1: version "16.14.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" @@ -13179,9 +13538,9 @@ react-dom@^16.13.1: scheduler "^0.19.1" "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== react-is@^16.13.1, react-is@^16.6.3, react-is@^16.8.6: version "16.13.1" @@ -13310,27 +13669,26 @@ react-native@0.72.3: yargs "^17.6.2" react-native@>=0.70: - version "0.73.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.73.4.tgz#81e07d4e7b6308c4649d5fa24038c0e87b17f2e1" - integrity sha512-VtS+Yr6OOTIuJGDECIYWzNU8QpJjASQYvMtfa/Hvm/2/h5GdB6W9H9TOmh13x07Lj4AOhNMx3XSsz6TdrO4jIg== + version "0.74.4" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.74.4.tgz#932901ac635b2f135a5e4e210bc52f3f1153b8d0" + integrity sha512-Cox7h0UkFPY+79DsInn2BAhnmGiqKBHKoYHoPAPW8oQCPyna8jvS0hfUmHBWm/MOHSXi4NYPKd5plpD50B3B2Q== dependencies: "@jest/create-cache-key-function" "^29.6.3" - "@react-native-community/cli" "12.3.2" - "@react-native-community/cli-platform-android" "12.3.2" - "@react-native-community/cli-platform-ios" "12.3.2" - "@react-native/assets-registry" "0.73.1" - "@react-native/codegen" "0.73.3" - "@react-native/community-cli-plugin" "0.73.16" - "@react-native/gradle-plugin" "0.73.4" - "@react-native/js-polyfills" "0.73.1" - "@react-native/normalize-colors" "0.73.2" - "@react-native/virtualized-lists" "0.73.4" + "@react-native-community/cli" "13.6.9" + "@react-native-community/cli-platform-android" "13.6.9" + "@react-native-community/cli-platform-ios" "13.6.9" + "@react-native/assets-registry" "0.74.86" + "@react-native/codegen" "0.74.86" + "@react-native/community-cli-plugin" "0.74.86" + "@react-native/gradle-plugin" "0.74.86" + "@react-native/js-polyfills" "0.74.86" + "@react-native/normalize-colors" "0.74.86" + "@react-native/virtualized-lists" "0.74.86" abort-controller "^3.0.0" anser "^1.4.9" ansi-regex "^5.0.0" base64-js "^1.5.1" chalk "^4.0.0" - deprecated-react-native-prop-types "^5.0.0" event-target-shim "^5.0.1" flow-enums-runtime "^0.0.6" invariant "^2.2.4" @@ -13343,7 +13701,7 @@ react-native@>=0.70: nullthrows "^1.1.1" pretty-format "^26.5.2" promise "^8.3.0" - react-devtools-core "^4.27.7" + react-devtools-core "^5.0.0" react-refresh "^0.14.0" react-shallow-renderer "^16.15.0" regenerator-runtime "^0.13.2" @@ -13367,9 +13725,9 @@ react-popper@^1.3.4: warning "^4.0.2" react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + version "0.14.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" + integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== react-refresh@^0.4.0: version "0.4.3" @@ -13385,9 +13743,9 @@ react-shallow-renderer@^16.15.0: react-is "^16.12.0 || ^17.0.0 || ^18.0.0" react@>=18.1.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" @@ -13466,6 +13824,13 @@ read@^2.0.0: dependencies: mute-stream "~1.0.0" +read@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/read/-/read-3.0.1.tgz#926808f0f7c83fa95f1ef33c0e2c09dbb28fd192" + integrity sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw== + dependencies: + mute-stream "^1.0.0" + readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" @@ -13644,7 +14009,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4: +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4, resolve@^1.22.8: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -13661,13 +14026,13 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -restore-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" - integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== +restore-cursor@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" + integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + onetime "^7.0.0" + signal-exit "^4.1.0" retry@^0.12.0: version "0.12.0" @@ -13679,10 +14044,10 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rfdc@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" - integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== +rfdc@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rimraf@^2.6.2: version "2.7.1" @@ -13691,7 +14056,7 @@ rimraf@^2.6.2: dependencies: glob "^7.1.3" -rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -13718,25 +14083,28 @@ rimraf@~2.6.2: glob "^7.1.3" rollup@^4.9.6: - version "4.11.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.11.0.tgz#28f28d8f8660facfed001b512d3cfda8c0dc09b6" - integrity sha512-2xIbaXDXjf3u2tajvA5xROpib7eegJ9Y/uPlSFhXLNpK9ampCczXAhLEb5yLzJyG3LAdI1NWtNjDXiLyniNdjQ== + version "4.19.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.19.2.tgz#4985cd2028965157e8d674a70e49f33aca9038eb" + integrity sha512-6/jgnN1svF9PjNYJ4ya3l+cqutg49vOZ4rVgsDKxdl+5gpGPnByFXWGyfH9YGx9i3nfBwSu1Iyu6vGwFFA0BdQ== dependencies: "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.11.0" - "@rollup/rollup-android-arm64" "4.11.0" - "@rollup/rollup-darwin-arm64" "4.11.0" - "@rollup/rollup-darwin-x64" "4.11.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.11.0" - "@rollup/rollup-linux-arm64-gnu" "4.11.0" - "@rollup/rollup-linux-arm64-musl" "4.11.0" - "@rollup/rollup-linux-riscv64-gnu" "4.11.0" - "@rollup/rollup-linux-x64-gnu" "4.11.0" - "@rollup/rollup-linux-x64-musl" "4.11.0" - "@rollup/rollup-win32-arm64-msvc" "4.11.0" - "@rollup/rollup-win32-ia32-msvc" "4.11.0" - "@rollup/rollup-win32-x64-msvc" "4.11.0" + "@rollup/rollup-android-arm-eabi" "4.19.2" + "@rollup/rollup-android-arm64" "4.19.2" + "@rollup/rollup-darwin-arm64" "4.19.2" + "@rollup/rollup-darwin-x64" "4.19.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.19.2" + "@rollup/rollup-linux-arm-musleabihf" "4.19.2" + "@rollup/rollup-linux-arm64-gnu" "4.19.2" + "@rollup/rollup-linux-arm64-musl" "4.19.2" + "@rollup/rollup-linux-powerpc64le-gnu" "4.19.2" + "@rollup/rollup-linux-riscv64-gnu" "4.19.2" + "@rollup/rollup-linux-s390x-gnu" "4.19.2" + "@rollup/rollup-linux-x64-gnu" "4.19.2" + "@rollup/rollup-linux-x64-musl" "4.19.2" + "@rollup/rollup-win32-arm64-msvc" "4.19.2" + "@rollup/rollup-win32-ia32-msvc" "4.19.2" + "@rollup/rollup-win32-x64-msvc" "4.19.2" fsevents "~2.3.2" run-async@^2.4.0: @@ -13758,13 +14126,13 @@ rxjs@^7.5.5, rxjs@^7.8.1: dependencies: tslib "^2.1.0" -safe-array-concat@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" - integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" + call-bind "^1.0.7" + get-intrinsic "^1.2.4" has-symbols "^1.0.3" isarray "^2.0.5" @@ -13793,9 +14161,9 @@ safe-regex-test@^1.0.3: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@>=0.6.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== saxes@^6.0.0: version "6.0.0" @@ -13820,9 +14188,9 @@ scheduler@^0.19.1: object-assign "^4.1.1" scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" @@ -13844,6 +14212,14 @@ schema-utils@^3.1.1, schema-utils@^3.2.0: ajv "^6.12.5" ajv-keywords "^3.5.2" +selfsigned@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + semantic-ui-react@^0.88.2: version "0.88.2" resolved "https://registry.yarnpkg.com/semantic-ui-react/-/semantic-ui-react-0.88.2.tgz#3d4b54f8b799769b412435c8531475fd34aa4149" @@ -13885,12 +14261,10 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" +semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== send@0.18.0: version "0.18.0" @@ -13939,25 +14313,26 @@ set-blocking@^2.0.0: integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== set-function-length@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" - integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: - define-data-property "^1.1.2" + define-data-property "^1.1.4" es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.3" + get-intrinsic "^1.2.4" gopd "^1.0.1" - has-property-descriptors "^1.0.1" + has-property-descriptors "^1.0.2" set-function-name@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== dependencies: - define-data-property "^1.0.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" setprototypeof@1.2.0: version "1.2.0" @@ -14016,11 +14391,11 @@ shiki@^0.14.7: vscode-textmate "^8.0.0" side-channel@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b" - integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.7" es-errors "^1.3.0" get-intrinsic "^1.2.4" object-inspect "^1.13.1" @@ -14105,6 +14480,11 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slashes@^3.0.12: + version "3.0.12" + resolved "https://registry.yarnpkg.com/slashes/-/slashes-3.0.12.tgz#3d664c877ad542dc1509eaf2c50f38d483a6435a" + integrity sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA== + slice-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" @@ -14122,7 +14502,7 @@ slice-ansi@^5.0.0: ansi-styles "^6.0.0" is-fullwidth-code-point "^4.0.0" -slice-ansi@^7.0.0: +slice-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== @@ -14154,9 +14534,9 @@ socks-proxy-agent@^7.0.0: socks "^2.6.2" socks@^2.6.2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.3.tgz#7d8a75d7ce845c0a96f710917174dba0d543a785" - integrity sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw== + version "2.8.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== dependencies: ip-address "^9.0.5" smart-buffer "^4.2.0" @@ -14169,9 +14549,9 @@ sort-keys@^2.0.0: is-plain-obj "^1.0.0" source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== source-map-support@0.5.13: version "0.5.13" @@ -14234,9 +14614,9 @@ spdx-expression-parse@^4.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.17" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" - integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + version "3.0.18" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz#22aa922dcf2f2885a6494a261f2d8b75345d0326" + integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== split2@^3.2.2: version "3.2.2" @@ -14275,9 +14655,9 @@ sqlite3@^5.0.2: node-gyp "8.x" ssri@^10.0.0, ssri@^10.0.1: - version "10.0.5" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.5.tgz#e49efcd6e36385196cb515d3a2ad6c3f0265ef8c" - integrity sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A== + version "10.0.6" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" + integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== dependencies: minipass "^7.0.3" @@ -14334,7 +14714,7 @@ streamsearch@^1.1.0: resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== -string-argv@0.3.2: +string-argv@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== @@ -14375,40 +14755,41 @@ string-width@^5.0.1, string-width@^5.1.2: strip-ansi "^7.0.1" string-width@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" - integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== + version "7.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== dependencies: emoji-regex "^10.3.0" get-east-asian-width "^1.0.0" strip-ansi "^7.1.0" -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" string_decoder@^1.1.1: version "1.3.0" @@ -14544,10 +14925,10 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== +synckit@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.1.tgz#febbfbb6649979450131f64735aa3f6c14575c88" + integrity sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A== dependencies: "@pkgr/core" "^0.1.0" tslib "^2.6.2" @@ -14638,9 +15019,9 @@ terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.6: terser "^5.26.0" terser@^5.15.0, terser@^5.26.0: - version "5.27.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.1.tgz#b0092975ea1b379d166088a1a57e32f0839d84a2" - integrity sha512-29wAr6UU/oQpnTw5HoadwjUZnFQXGdOfj0LjZ4sVxzqwHh/QVkvr7m8y9WoR4iN3FRitVduTc6KdjcW38Npsug== + version "5.31.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.3.tgz#b24b7beb46062f4653f049eea4f0cd165d0f0c38" + integrity sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -14697,11 +15078,9 @@ tmp@^0.0.33: os-tmpdir "~1.0.2" tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== tmpl@1.0.5: version "1.0.5" @@ -14731,9 +15110,9 @@ totalist@^3.0.0: integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== tough-cookie@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + version "4.1.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== dependencies: psl "^1.1.33" punycode "^2.1.1" @@ -14770,16 +15149,17 @@ trim-newlines@^3.0.0: integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== ts-api-utils@^1.0.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.2.1.tgz#f716c7e027494629485b21c0df6180f4d08f5e8b" - integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== ts-jest@^29.1.1: - version "29.1.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" - integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== + version "29.2.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.4.tgz#38ccf487407d7a63054a72689f6f99b075e296e5" + integrity sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw== dependencies: bs-logger "0.x" + ejs "^3.1.10" fast-json-stable-stringify "2.x" jest-util "^29.0.0" json5 "^2.2.3" @@ -14819,9 +15199,9 @@ tsconfig-paths@^4.1.2: strip-bom "^3.0.0" "tslib@1 || 2", tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== tslib@^1.11.1, tslib@^1.8.1: version "1.14.1" @@ -14859,9 +15239,9 @@ type-check@^0.4.0, type-check@~0.4.0: prelude-ls "^1.2.1" type-coverage-core@^2.17.2: - version "2.27.1" - resolved "https://registry.yarnpkg.com/type-coverage-core/-/type-coverage-core-2.27.1.tgz#f552cdabfcbe71408a4cd3886a2c9e4e50cbdbc7" - integrity sha512-W+PMYbhUsq+UWkrb7UkmyO7zF3zt4qZuQukyDM6eaiCIkMJclcVmR3O02clDk4FKpKPbzHictOmoIu3fYp+53g== + version "2.29.1" + resolved "https://registry.yarnpkg.com/type-coverage-core/-/type-coverage-core-2.29.1.tgz#f330b55060453c9e721c5f347375144cd709c8be" + integrity sha512-lonikLRWnejbW9qsjoUsqXxQ3c4D0LPHaY2fsN5YD78sHAL27AaIoWYOjtitSqmv5UCS+3tv4qYjnj56vUH5eQ== dependencies: fast-glob "3" minimatch "6 || 7 || 8 || 9" @@ -14914,44 +15294,49 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -typed-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz#0608ffe6bca71bf15a45bff0ca2604107a1325f5" - integrity sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ== +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.7" es-errors "^1.3.0" is-typed-array "^1.1.13" -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - is-typed-array "^1.1.9" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" typed-styles@^0.0.7: version "0.0.7" @@ -14964,14 +15349,14 @@ typedarray@^0.0.6: integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typedoc-plugin-extras@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/typedoc-plugin-extras/-/typedoc-plugin-extras-3.0.0.tgz#e41eeb815aaa572beb8c274834a6b7f51dd55b24" - integrity sha512-eiAe3qtm2WbV5owdncpt0zHZPqsNZH2mzNGILPd4zqrvEZie3Et9es4cpGZ+8lHO/SI0pVKwsAj7IuMxPNOdYg== + version "3.1.0" + resolved "https://registry.yarnpkg.com/typedoc-plugin-extras/-/typedoc-plugin-extras-3.1.0.tgz#e435891ad87c796d23edb6929ceb6a1797f274f1" + integrity sha512-8tNeq2fgl2HCUZ6eZuAoLLKEvB/WrRS4He9MtTfo3X3Pa8Iw3TS5D0g8krDhUXUk1uHpXVAVHm8rSOMS2mdJRw== typedoc-plugin-missing-exports@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.2.0.tgz#e39a04bab5b0d7f7b28507d64c07a4c40b788648" - integrity sha512-2+XR1IcyQ5UwXZVJe9NE6HrLmNufT9i5OwoIuuj79VxuA3eYq+Y6itS9rnNV1D7UeQnUSH8kISYD73gHE5zw+w== + version "2.3.0" + resolved "https://registry.yarnpkg.com/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.3.0.tgz#ae0858bf383a08345cc09a99d428234cf6b85ecf" + integrity sha512-iI9ITNNLlbsLCBBeYDyu0Qqp3GN/9AGyWNKg8bctRXuZEPT7G1L+0+MNWG9MsHcf/BFmNbXL0nQ8mC/tXRicog== typedoc@0.25.8: version "0.25.8" @@ -15014,9 +15399,9 @@ typescript@5.1.6: integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== "typescript@>=3 < 6", typescript@^5.0.2: - version "5.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== + version "5.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" + integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== typescript@^4.6.0: version "4.9.5" @@ -15046,9 +15431,9 @@ uglify-es@^3.1.9: source-map "~0.6.1" uglify-js@^3.1.4: - version "3.17.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" - integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + version "3.19.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.1.tgz#2d5df6a0872c43da43187968308d7741d44b8056" + integrity sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A== ulid@^2.3.0: version "2.3.0" @@ -15070,6 +15455,11 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.11.1: + version "6.11.1" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.11.1.tgz#432ea6e8efd54a48569705a699e62d8f4981b197" + integrity sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -15172,13 +15562,13 @@ upath@2.0.1: resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.1.2" + picocolors "^1.0.1" uri-js@^4.2.2: version "4.4.1" @@ -15204,9 +15594,9 @@ url@0.11.0: querystring "0.2.0" use-sync-external-store@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + version "1.2.2" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9" + integrity sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw== util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" @@ -15233,12 +15623,7 @@ uuid@^7.0.3: resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -uuid@^9.0.0: +uuid@^9.0.0, uuid@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== @@ -15249,9 +15634,9 @@ v8-compile-cache@2.3.0: integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + version "9.3.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" @@ -15265,7 +15650,7 @@ validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validat spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -validate-npm-package-name@5.0.0, validate-npm-package-name@^5.0.0: +validate-npm-package-name@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== @@ -15279,6 +15664,11 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +validate-npm-package-name@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" + integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -15325,10 +15715,10 @@ warning@^4.0.2, warning@^4.0.3: dependencies: loose-envify "^1.0.0" -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== +watchpack@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" + integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -15366,9 +15756,9 @@ webidl-conversions@^7.0.0: integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== webpack-bundle-analyzer@^4.7.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz#84b7473b630a7b8c21c741f81d8fe4593208b454" - integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== + version "4.10.2" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz#633af2862c213730be3dbdf40456db171b60d5bd" + integrity sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw== dependencies: "@discoveryjs/json-ext" "0.5.7" acorn "^8.0.4" @@ -15378,7 +15768,6 @@ webpack-bundle-analyzer@^4.7.0: escape-string-regexp "^4.0.0" gzip-size "^6.0.0" html-escaper "^2.0.2" - is-plain-object "^5.0.0" opener "^1.5.2" picocolors "^1.0.0" sirv "^2.0.3" @@ -15418,25 +15807,25 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5, webpack@^5.75.0, webpack@^5.88.0: - version "5.90.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.2.tgz#189686a8a292427076db9907d495625345805fab" - integrity sha512-ziXu8ABGr0InCMEYFnHrYweinHK2PWrMqnwdHk2oK3rRhv/1B+2FnfwYv5oD+RrknK/Pp/Hmyvu+eAsaMYhzCw== + version "5.93.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" + integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" acorn "^8.7.1" - acorn-import-assertions "^1.9.0" + acorn-import-attributes "^1.9.5" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" + enhanced-resolve "^5.17.0" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" json-parse-even-better-errors "^2.3.1" loader-runner "^4.2.0" mime-types "^2.1.27" @@ -15444,7 +15833,7 @@ webpack@^5, webpack@^5.75.0, webpack@^5.88.0: schema-utils "^3.2.0" tapable "^2.1.1" terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" + watchpack "^2.4.1" webpack-sources "^3.2.3" whatwg-encoding@^2.0.0: @@ -15514,16 +15903,16 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.14: - version "1.1.14" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" - integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== dependencies: - available-typed-arrays "^1.0.6" - call-bind "^1.0.5" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.1" + has-tostringtag "^1.0.2" which@^1.2.9: version "1.3.1" @@ -15558,6 +15947,11 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -15672,9 +16066,9 @@ ws@^7, ws@^7.3.1, ws@^7.5.1: integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.11.0: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" - integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== xcode@^3.0.1: version "3.0.1" @@ -15742,10 +16136,15 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@2.3.4, yaml@^2.2.1: - version "2.3.4" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" - integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== +yaml@^2.2.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.0.tgz#c6165a721cf8000e91c36490a41d7be25176cf5d" + integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== + +yaml@~2.4.2: + version "2.4.5" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.5.tgz#60630b206dd6d84df97003d33fc1ddf6296cca5e" + integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== yargs-parser@20.2.4: version "20.2.4" From b0baa72d5be97b7431d0cc488372fd0c0ac3ebad Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Mon, 5 Aug 2024 22:28:30 +0000 Subject: [PATCH 11/21] chore(release): Set core metadata [skip release] --- packages/core/metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/metadata b/packages/core/metadata index e6d77c3ff14..14a4e1de051 100644 --- a/packages/core/metadata +++ b/packages/core/metadata @@ -1 +1 @@ -fcba0bbf5 +b56e60c17 From 3624556dd68af6b538430c5db76d883e656188dc Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Mon, 5 Aug 2024 22:28:43 +0000 Subject: [PATCH 12/21] chore(release): Publish [skip release] - @aws-amplify/adapter-nextjs@1.2.11 - @aws-amplify/analytics@7.0.41 - @aws-amplify/api@6.0.43 - @aws-amplify/api-graphql@4.1.12 - @aws-amplify/api-rest@4.0.41 - @aws-amplify/auth@6.3.12 - aws-amplify@6.4.4 - @aws-amplify/core@6.3.8 - @aws-amplify/datastore@5.0.43 - @aws-amplify/datastore-storage-adapter@2.1.43 - @aws-amplify/geo@3.0.41 - @aws-amplify/interactions@6.0.40 - @aws-amplify/notifications@2.0.41 - @aws-amplify/predictions@6.1.16 - @aws-amplify/pubsub@6.1.16 - @aws-amplify/storage@6.5.4 - tsc-compliance-test@0.1.46 --- packages/adapter-nextjs/CHANGELOG.md | 4 ++++ packages/adapter-nextjs/package.json | 4 ++-- packages/analytics/CHANGELOG.md | 4 ++++ packages/analytics/package.json | 4 ++-- packages/api-graphql/CHANGELOG.md | 4 ++++ packages/api-graphql/package.json | 6 +++--- packages/api-rest/CHANGELOG.md | 4 ++++ packages/api-rest/package.json | 4 ++-- packages/api/CHANGELOG.md | 4 ++++ packages/api/package.json | 6 +++--- packages/auth/CHANGELOG.md | 4 ++++ packages/auth/package.json | 4 ++-- packages/aws-amplify/CHANGELOG.md | 4 ++++ packages/aws-amplify/package.json | 16 ++++++++-------- packages/core/CHANGELOG.md | 4 ++++ packages/core/package.json | 2 +- packages/datastore-storage-adapter/CHANGELOG.md | 4 ++++ packages/datastore-storage-adapter/package.json | 6 +++--- packages/datastore/CHANGELOG.md | 4 ++++ packages/datastore/package.json | 6 +++--- packages/geo/CHANGELOG.md | 4 ++++ packages/geo/package.json | 4 ++-- packages/interactions/CHANGELOG.md | 4 ++++ packages/interactions/package.json | 4 ++-- packages/notifications/CHANGELOG.md | 4 ++++ packages/notifications/package.json | 4 ++-- packages/predictions/CHANGELOG.md | 4 ++++ packages/predictions/package.json | 6 +++--- packages/pubsub/CHANGELOG.md | 4 ++++ packages/pubsub/package.json | 6 +++--- packages/storage/CHANGELOG.md | 4 ++++ packages/storage/package.json | 4 ++-- scripts/tsc-compliance-test/CHANGELOG.md | 4 ++++ scripts/tsc-compliance-test/package.json | 4 ++-- 34 files changed, 113 insertions(+), 45 deletions(-) diff --git a/packages/adapter-nextjs/CHANGELOG.md b/packages/adapter-nextjs/CHANGELOG.md index 3ada3fc8b25..7350ec594a1 100644 --- a/packages/adapter-nextjs/CHANGELOG.md +++ b/packages/adapter-nextjs/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.11](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/adapter-nextjs@1.2.10...@aws-amplify/adapter-nextjs@1.2.11) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/adapter-nextjs + ## [1.2.10](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/adapter-nextjs@1.2.9...@aws-amplify/adapter-nextjs@1.2.10) (2024-07-23) **Note:** Version bump only for package @aws-amplify/adapter-nextjs diff --git a/packages/adapter-nextjs/package.json b/packages/adapter-nextjs/package.json index 787f24cc0e3..d71ed7f050e 100644 --- a/packages/adapter-nextjs/package.json +++ b/packages/adapter-nextjs/package.json @@ -1,7 +1,7 @@ { "author": "Amazon Web Services", "name": "@aws-amplify/adapter-nextjs", - "version": "1.2.10", + "version": "1.2.11", "description": "The adapter for the supporting of using Amplify APIs in Next.js.", "peerDependencies": { "aws-amplify": "^6.0.7", @@ -16,7 +16,7 @@ "@types/node": "^20.3.1", "@types/react": "^18.2.13", "@types/react-dom": "^18.2.6", - "aws-amplify": "6.4.3", + "aws-amplify": "6.4.4", "jest-fetch-mock": "3.0.3", "next": ">= 13.5.0 < 15.0.0", "typescript": "5.0.2" diff --git a/packages/analytics/CHANGELOG.md b/packages/analytics/CHANGELOG.md index 4261e2e6837..e9e8e50e804 100644 --- a/packages/analytics/CHANGELOG.md +++ b/packages/analytics/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/analytics@7.0.40...@aws-amplify/analytics@7.0.41) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/analytics + ## [7.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/analytics@7.0.39...@aws-amplify/analytics@7.0.40) (2024-07-23) **Note:** Version bump only for package @aws-amplify/analytics diff --git a/packages/analytics/package.json b/packages/analytics/package.json index 1f0d62bd5d4..09cdb6543ed 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/analytics", - "version": "7.0.40", + "version": "7.0.41", "description": "Analytics category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -103,7 +103,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "@aws-amplify/react-native": "1.1.4", "@aws-sdk/types": "3.398.0", "typescript": "5.0.2" diff --git a/packages/api-graphql/CHANGELOG.md b/packages/api-graphql/CHANGELOG.md index 746e34a156d..4c35b754576 100644 --- a/packages/api-graphql/CHANGELOG.md +++ b/packages/api-graphql/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.12](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-graphql@4.1.11...@aws-amplify/api-graphql@4.1.12) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/api-graphql + ## [4.1.11](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-graphql@4.1.10...@aws-amplify/api-graphql@4.1.11) (2024-07-23) **Note:** Version bump only for package @aws-amplify/api-graphql diff --git a/packages/api-graphql/package.json b/packages/api-graphql/package.json index 9913ffa492f..73556984ec0 100644 --- a/packages/api-graphql/package.json +++ b/packages/api-graphql/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/api-graphql", - "version": "4.1.11", + "version": "4.1.12", "description": "Api-graphql category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -84,8 +84,8 @@ "server" ], "dependencies": { - "@aws-amplify/api-rest": "4.0.40", - "@aws-amplify/core": "6.3.7", + "@aws-amplify/api-rest": "4.0.41", + "@aws-amplify/core": "6.3.8", "@aws-amplify/data-schema": "^1.0.0", "@aws-sdk/types": "3.387.0", "graphql": "15.8.0", diff --git a/packages/api-rest/CHANGELOG.md b/packages/api-rest/CHANGELOG.md index 91eddc4f418..f6e1d6b4a3b 100644 --- a/packages/api-rest/CHANGELOG.md +++ b/packages/api-rest/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-rest@4.0.40...@aws-amplify/api-rest@4.0.41) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/api-rest + ## [4.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-rest@4.0.39...@aws-amplify/api-rest@4.0.40) (2024-07-23) **Note:** Version bump only for package @aws-amplify/api-rest diff --git a/packages/api-rest/package.json b/packages/api-rest/package.json index 79599a96375..7e5263e73ad 100644 --- a/packages/api-rest/package.json +++ b/packages/api-rest/package.json @@ -1,7 +1,7 @@ { "name": "@aws-amplify/api-rest", "private": false, - "version": "4.0.40", + "version": "4.0.41", "description": "Api-rest category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -87,7 +87,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" }, diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index af6ce899a92..1bd37b9e1fa 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.0.43](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api@6.0.42...@aws-amplify/api@6.0.43) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/api + ## [6.0.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api@6.0.41...@aws-amplify/api@6.0.42) (2024-07-23) **Note:** Version bump only for package @aws-amplify/api diff --git a/packages/api/package.json b/packages/api/package.json index fec5a1ceca6..421d3c94dae 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/api", - "version": "6.0.42", + "version": "6.0.43", "description": "Api category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -79,8 +79,8 @@ "server" ], "dependencies": { - "@aws-amplify/api-graphql": "4.1.11", - "@aws-amplify/api-rest": "4.0.40", + "@aws-amplify/api-graphql": "4.1.12", + "@aws-amplify/api-rest": "4.0.41", "tslib": "^2.5.0" } } diff --git a/packages/auth/CHANGELOG.md b/packages/auth/CHANGELOG.md index f33ae7320da..581cad23b09 100644 --- a/packages/auth/CHANGELOG.md +++ b/packages/auth/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.12](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/auth@6.3.11...@aws-amplify/auth@6.3.12) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/auth + ## [6.3.11](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/auth@6.3.10...@aws-amplify/auth@6.3.11) (2024-07-23) **Note:** Version bump only for package @aws-amplify/auth diff --git a/packages/auth/package.json b/packages/auth/package.json index 7bde2f2faf7..4de293586fa 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/auth", - "version": "6.3.11", + "version": "6.3.12", "description": "Auth category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -97,7 +97,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "@aws-amplify/react-native": "1.1.4", "@jest/test-sequencer": "^29.7.0", "typescript": "5.0.2" diff --git a/packages/aws-amplify/CHANGELOG.md b/packages/aws-amplify/CHANGELOG.md index 6f30f6afab8..4785b6ae3ce 100644 --- a/packages/aws-amplify/CHANGELOG.md +++ b/packages/aws-amplify/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.4.4](https://github.com/aws-amplify/amplify-js/compare/aws-amplify@6.4.3...aws-amplify@6.4.4) (2024-08-05) + +**Note:** Version bump only for package aws-amplify + ## [6.4.3](https://github.com/aws-amplify/amplify-js/compare/aws-amplify@6.4.2...aws-amplify@6.4.3) (2024-07-23) **Note:** Version bump only for package aws-amplify diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index b267627cd15..822d5b251ef 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -1,6 +1,6 @@ { "name": "aws-amplify", - "version": "6.4.3", + "version": "6.4.4", "description": "AWS Amplify is a JavaScript library for Frontend and mobile developers building cloud-enabled applications.", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -276,13 +276,13 @@ "utils" ], "dependencies": { - "@aws-amplify/analytics": "7.0.40", - "@aws-amplify/api": "6.0.42", - "@aws-amplify/auth": "6.3.11", - "@aws-amplify/core": "6.3.7", - "@aws-amplify/datastore": "5.0.42", - "@aws-amplify/notifications": "2.0.40", - "@aws-amplify/storage": "6.5.3", + "@aws-amplify/analytics": "7.0.41", + "@aws-amplify/api": "6.0.43", + "@aws-amplify/auth": "6.3.12", + "@aws-amplify/core": "6.3.8", + "@aws-amplify/datastore": "5.0.43", + "@aws-amplify/notifications": "2.0.41", + "@aws-amplify/storage": "6.5.4", "tslib": "^2.5.0" }, "devDependencies": { diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 305d141e3e8..b0272113b3c 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.8](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/core@6.3.7...@aws-amplify/core@6.3.8) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/core + ## [6.3.7](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/core@6.3.6...@aws-amplify/core@6.3.7) (2024-07-23) **Note:** Version bump only for package @aws-amplify/core diff --git a/packages/core/package.json b/packages/core/package.json index f7d9264a4b1..dd4dd138a17 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/core", - "version": "6.3.7", + "version": "6.3.8", "description": "Core category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", diff --git a/packages/datastore-storage-adapter/CHANGELOG.md b/packages/datastore-storage-adapter/CHANGELOG.md index 327eececb34..a3ef172edf2 100644 --- a/packages/datastore-storage-adapter/CHANGELOG.md +++ b/packages/datastore-storage-adapter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.43](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore-storage-adapter@2.1.42...@aws-amplify/datastore-storage-adapter@2.1.43) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/datastore-storage-adapter + ## [2.1.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore-storage-adapter@2.1.41...@aws-amplify/datastore-storage-adapter@2.1.42) (2024-07-23) **Note:** Version bump only for package @aws-amplify/datastore-storage-adapter diff --git a/packages/datastore-storage-adapter/package.json b/packages/datastore-storage-adapter/package.json index b1a3931f01f..a63c092c820 100644 --- a/packages/datastore-storage-adapter/package.json +++ b/packages/datastore-storage-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/datastore-storage-adapter", - "version": "2.1.42", + "version": "2.1.43", "description": "SQLite storage adapter for Amplify DataStore ", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -36,8 +36,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", - "@aws-amplify/datastore": "5.0.42", + "@aws-amplify/core": "6.3.8", + "@aws-amplify/datastore": "5.0.43", "@types/react-native-sqlite-storage": "5.0.1", "expo-file-system": "13.1.4", "expo-sqlite": "10.1.0", diff --git a/packages/datastore/CHANGELOG.md b/packages/datastore/CHANGELOG.md index b5937ab83b9..89c3b5e570e 100644 --- a/packages/datastore/CHANGELOG.md +++ b/packages/datastore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.43](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore@5.0.42...@aws-amplify/datastore@5.0.43) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/datastore + ## [5.0.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore@5.0.41...@aws-amplify/datastore@5.0.42) (2024-07-23) **Note:** Version bump only for package @aws-amplify/datastore diff --git a/packages/datastore/package.json b/packages/datastore/package.json index ba6a2e52370..bbff6a298e6 100644 --- a/packages/datastore/package.json +++ b/packages/datastore/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/datastore", - "version": "5.0.42", + "version": "5.0.43", "description": "AppSyncLocal support for aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -44,7 +44,7 @@ "src" ], "dependencies": { - "@aws-amplify/api": "6.0.42", + "@aws-amplify/api": "6.0.43", "buffer": "4.9.2", "idb": "5.0.6", "immer": "9.0.6", @@ -55,7 +55,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "@aws-amplify/react-native": "1.1.4", "@types/uuid-validate": "^0.0.1", "dexie": "3.2.2", diff --git a/packages/geo/CHANGELOG.md b/packages/geo/CHANGELOG.md index 5a6d863da07..26e0eade93a 100644 --- a/packages/geo/CHANGELOG.md +++ b/packages/geo/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/geo@3.0.40...@aws-amplify/geo@3.0.41) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/geo + ## [3.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/geo@3.0.39...@aws-amplify/geo@3.0.40) (2024-07-23) **Note:** Version bump only for package @aws-amplify/geo diff --git a/packages/geo/package.json b/packages/geo/package.json index 156d563e5d2..65f3a015b51 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/geo", - "version": "3.0.40", + "version": "3.0.41", "description": "Geo category for aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -76,7 +76,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/interactions/CHANGELOG.md b/packages/interactions/CHANGELOG.md index 806ca539c68..858ba1f6940 100644 --- a/packages/interactions/CHANGELOG.md +++ b/packages/interactions/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/interactions@6.0.39...@aws-amplify/interactions@6.0.40) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/interactions + ## [6.0.39](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/interactions@6.0.38...@aws-amplify/interactions@6.0.39) (2024-07-23) **Note:** Version bump only for package @aws-amplify/interactions diff --git a/packages/interactions/package.json b/packages/interactions/package.json index 185826184b9..97b03d8d51a 100644 --- a/packages/interactions/package.json +++ b/packages/interactions/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/interactions", - "version": "6.0.39", + "version": "6.0.40", "description": "Interactions category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -81,7 +81,7 @@ "uuid": "^9.0.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "typescript": "^5.0.2" }, "size-limit": [ diff --git a/packages/notifications/CHANGELOG.md b/packages/notifications/CHANGELOG.md index 2c13232dfdc..c42bf1b60db 100644 --- a/packages/notifications/CHANGELOG.md +++ b/packages/notifications/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/notifications@2.0.40...@aws-amplify/notifications@2.0.41) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/notifications + ## [2.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/notifications@2.0.39...@aws-amplify/notifications@2.0.40) (2024-07-23) **Note:** Version bump only for package @aws-amplify/notifications diff --git a/packages/notifications/package.json b/packages/notifications/package.json index 672954a7678..77f81f226e0 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/notifications", - "version": "2.0.40", + "version": "2.0.41", "description": "Notifications category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -98,7 +98,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" } diff --git a/packages/predictions/CHANGELOG.md b/packages/predictions/CHANGELOG.md index 65e1e888e8b..39976c9b580 100644 --- a/packages/predictions/CHANGELOG.md +++ b/packages/predictions/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.16](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/predictions@6.1.15...@aws-amplify/predictions@6.1.16) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/predictions + ## [6.1.15](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/predictions@6.1.14...@aws-amplify/predictions@6.1.15) (2024-07-23) **Note:** Version bump only for package @aws-amplify/predictions diff --git a/packages/predictions/package.json b/packages/predictions/package.json index 400a25aff53..8e9bcc28027 100644 --- a/packages/predictions/package.json +++ b/packages/predictions/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/predictions", - "version": "6.1.15", + "version": "6.1.16", "description": "Machine learning category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -43,7 +43,7 @@ "src" ], "dependencies": { - "@aws-amplify/storage": "6.5.3", + "@aws-amplify/storage": "6.5.4", "@aws-sdk/client-comprehend": "3.621.0", "@aws-sdk/client-polly": "3.621.0", "@aws-sdk/client-rekognition": "3.621.0", @@ -59,7 +59,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/pubsub/CHANGELOG.md b/packages/pubsub/CHANGELOG.md index 355738e4b50..03952a963db 100644 --- a/packages/pubsub/CHANGELOG.md +++ b/packages/pubsub/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.16](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/pubsub@6.1.15...@aws-amplify/pubsub@6.1.16) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/pubsub + ## [6.1.15](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/pubsub@6.1.14...@aws-amplify/pubsub@6.1.15) (2024-07-23) **Note:** Version bump only for package @aws-amplify/pubsub diff --git a/packages/pubsub/package.json b/packages/pubsub/package.json index c1ad7b31d6c..7f23aa71d0d 100644 --- a/packages/pubsub/package.json +++ b/packages/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/pubsub", - "version": "6.1.15", + "version": "6.1.16", "description": "Pubsub category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -73,7 +73,7 @@ "mqtt" ], "dependencies": { - "@aws-amplify/auth": "6.3.11", + "@aws-amplify/auth": "6.3.12", "buffer": "4.9.2", "graphql": "15.8.0", "rxjs": "^7.8.1", @@ -84,7 +84,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/storage/CHANGELOG.md b/packages/storage/CHANGELOG.md index 864ba6b2c0a..0edd72d36eb 100644 --- a/packages/storage/CHANGELOG.md +++ b/packages/storage/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.5.4](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/storage@6.5.3...@aws-amplify/storage@6.5.4) (2024-08-05) + +**Note:** Version bump only for package @aws-amplify/storage + ## [6.5.3](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/storage@6.5.2...@aws-amplify/storage@6.5.3) (2024-07-23) ### Bug Fixes diff --git a/packages/storage/package.json b/packages/storage/package.json index dfe6018cc7c..10acb0801d4 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/storage", - "version": "6.5.3", + "version": "6.5.4", "description": "Storage category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -101,7 +101,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.7", + "@aws-amplify/core": "6.3.8", "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" } diff --git a/scripts/tsc-compliance-test/CHANGELOG.md b/scripts/tsc-compliance-test/CHANGELOG.md index 01636d4cdcc..12d5aabd33e 100644 --- a/scripts/tsc-compliance-test/CHANGELOG.md +++ b/scripts/tsc-compliance-test/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.46](https://github.com/aws-amplify/amplify-js/compare/tsc-compliance-test@0.1.45...tsc-compliance-test@0.1.46) (2024-08-05) + +**Note:** Version bump only for package tsc-compliance-test + ## [0.1.45](https://github.com/aws-amplify/amplify-js/compare/tsc-compliance-test@0.1.44...tsc-compliance-test@0.1.45) (2024-07-23) **Note:** Version bump only for package tsc-compliance-test diff --git a/scripts/tsc-compliance-test/package.json b/scripts/tsc-compliance-test/package.json index bb7d57188b6..6d621f68ec0 100644 --- a/scripts/tsc-compliance-test/package.json +++ b/scripts/tsc-compliance-test/package.json @@ -1,11 +1,11 @@ { "name": "tsc-compliance-test", - "version": "0.1.45", + "version": "0.1.46", "license": "MIT", "private": true, "devDependencies": { "@types/node": "16.18.82", - "aws-amplify": "6.4.3", + "aws-amplify": "6.4.4", "typescript": "4.2.x" }, "scripts": { From 364ddcd8611aa5da5d3440ca9d061cac7501a685 Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Mon, 5 Aug 2024 22:30:08 +0000 Subject: [PATCH 13/21] chore(release): Update API docs [skip release] --- docs/api/assets/navigation.js | 2 +- docs/api/assets/search.js | 2 +- ...r_nextjs.index._Reference_Types_.Blob.html | 2 +- ...nextjs.index._Reference_Types_.Duplex.html | 149 ++++++------ ...ndex._Reference_Types_.EventEmitter-1.html | 134 ++++++----- ...ventEmitter.EventEmitterAsyncResource.html | 106 +++++---- ...dex._Reference_Types_.IncomingMessage.html | 152 ++++++------ ...s.index._Reference_Types_.NextRequest.html | 3 +- ....index._Reference_Types_.NextResponse.html | 3 +- ...dex._Reference_Types_.OutgoingMessage.html | 114 ++++----- ...xtjs.index._Reference_Types_.Readable.html | 138 ++++++----- ....index._Reference_Types_.ReadableBase.html | 138 ++++++----- ...ndex._Reference_Types_.ServerResponse.html | 118 +++++----- ...nextjs.index._Reference_Types_.Socket.html | 152 ++++++------ ...nextjs.index._Reference_Types_.Stream.html | 106 +++++---- ...xtjs.index._Reference_Types_.Writable.html | 104 ++++---- ....index._Reference_Types_.WritableBase.html | 104 ++++---- ...js.index._Reference_Types_.internal-1.html | 106 +++++---- ...Reference_Types_.internal.PassThrough.html | 151 ++++++------ ...._Reference_Types_.internal.Transform.html | 149 ++++++------ ...predictions._Reference_Types_.Agent-1.html | 13 + ...y_predictions._Reference_Types_.Agent.html | 12 + ..._predictions._Reference_Types_.Client.html | 2 +- ..._predictions._Reference_Types_.Duplex.html | 6 +- ...ictions._Reference_Types_.HttpRequest.html | 15 +- ...ons._Reference_Types_.IncomingMessage.html | 2 +- ...redictions._Reference_Types_.Readable.html | 2 +- ...s._Reference_Types_.RekognitionClient.html | 15 ++ ..._predictions._Reference_Types_.Socket.html | 2 +- ..._predictions._Reference_Types_.Stream.html | 4 +- ...edictions._Reference_Types_.Writable.html} | 62 ++--- ...ference_Types_.internal-1.PassThrough.html | 2 +- ...Reference_Types_.internal-1.Transform.html | 2 +- ...dictions._Reference_Types_.internal-3.html | 2 +- ...Reference_Types_.AdapterVersionStatus.html | 7 + ...edictions._Reference_Types_.Attribute.html | 16 ++ ....AugmentedManifestsDocumentTypeFormat.html | 4 + ...ictions._Reference_Types_.AutoUpdate.html} | 6 +- ...ictions._Reference_Types_.BlockType-1.html | 4 + ...edictions._Reference_Types_.BlockType.html | 26 ++ ...redictions._Reference_Types_.BodyPart.html | 6 + ...nce_Types_.CelebrityRecognitionSortBy.html | 4 + ..._Reference_Types_.ContentClassifier-1.html | 4 + ...s._Reference_Types_.ContentClassifier.html | 4 + ...e_Types_.ContentModerationAggregateBy.html | 4 + ...erence_Types_.ContentModerationSortBy.html | 4 + ...Reference_Types_.CustomizationFeature.html | 4 + ...s._Reference_Types_.DatasetDataFormat.html | 4 + ...ons._Reference_Types_.DatasetStatus-1.html | 5 + ...tions._Reference_Types_.DatasetStatus.html | 9 + ...rence_Types_.DatasetStatusMessageCode.html | 5 + ...tions._Reference_Types_.DatasetType-1.html | 4 + ...ictions._Reference_Types_.DatasetType.html | 4 + ...erence_Types_.DetectLabelsFeatureName.html | 4 + ...ions._Reference_Types_.Directionality.html | 4 + ..._Reference_Types_.DisplayLanguageCode.html | 12 + ...e_Types_.DocumentClassifierDataFormat.html | 4 + ....DocumentClassifierDocumentTypeFormat.html | 4 + ...ference_Types_.DocumentClassifierMode.html | 4 + ...._Reference_Types_.DocumentReadAction.html | 4 + ...rence_Types_.DocumentReadFeatureTypes.html | 4 + ...ns._Reference_Types_.DocumentReadMode.html | 4 + ...ctions._Reference_Types_.DocumentType.html | 9 + ...ictions._Reference_Types_.EmotionName.html | 11 + ...ions._Reference_Types_.EndpointStatus.html | 7 + ..._predictions._Reference_Types_.Engine.html | 6 + ...nce_Types_.EntityRecognizerDataFormat.html | 4 + ...ctions._Reference_Types_.EntityType-1.html | 11 + ...dictions._Reference_Types_.EntityType.html | 11 + ...ions._Reference_Types_.FaceAttributes.html | 4 + ...ns._Reference_Types_.FaceSearchSortBy.html | 4 + ...ictions._Reference_Types_.FeatureType.html | 7 + ...erence_Types_.FlywheelIterationStatus.html | 8 + ...ions._Reference_Types_.FlywheelStatus.html | 7 + ...edictions._Reference_Types_.Formality.html | 4 + ..._predictions._Reference_Types_.Gender.html | 4 + ...dictions._Reference_Types_.GenderType.html | 4 + ...ictions._Reference_Types_.InputFormat.html | 4 + ...ictions._Reference_Types_.JobStatus-1.html | 6 + ...ictions._Reference_Types_.JobStatus-2.html | 8 + ...edictions._Reference_Types_.JobStatus.html | 9 + ...ons._Reference_Types_.KnownGenderType.html | 6 + ...ence_Types_.LabelDetectionAggregateBy.html | 4 + ...Reference_Types_.LabelDetectionSortBy.html | 4 + ...ctions._Reference_Types_.LandmarkType.html | 32 +++ ...ions._Reference_Types_.LanguageCode-1.html | 14 ++ ...ctions._Reference_Types_.LanguageCode.html | 41 ++++ ...eference_Types_.LivenessSessionStatus.html | 7 + ...ce_Types_.MediaAnalysisJobFailureCode.html | 11 + ...ference_Types_.MediaAnalysisJobStatus.html | 7 + ...ictions._Reference_Types_.ModelStatus.html | 10 + ...edictions._Reference_Types_.ModelType.html | 4 + ...eference_Types_.OrientationCorrection.html | 6 + ...ctions._Reference_Types_.OutputFormat.html | 6 + ...._Reference_Types_.PageBasedErrorCode.html | 7 + ...Reference_Types_.PageBasedWarningCode.html | 4 + ...._Reference_Types_.ParallelDataFormat.html | 5 + ...._Reference_Types_.ParallelDataStatus.html | 7 + ..._Reference_Types_.PartOfSpeechTagType.html | 20 ++ ...Reference_Types_.PersonTrackingSortBy.html | 4 + ...e_Types_.PiiEntitiesDetectionMaskMode.html | 4 + ...rence_Types_.PiiEntitiesDetectionMode.html | 4 + ...tions._Reference_Types_.PiiEntityType.html | 39 +++ ...s._Reference_Types_.ProjectAutoUpdate.html | 4 + ...tions._Reference_Types_.ProjectStatus.html | 5 + ...Reference_Types_.ProjectVersionStatus.html | 16 ++ ...erence_Types_.ProtectiveEquipmentType.html | 5 + ...tions._Reference_Types_.QualityFilter.html | 7 + ..._predictions._Reference_Types_.Reason.html | 9 + ...ns._Reference_Types_.RelationshipType.html | 11 + ...ictions._Reference_Types_.SegmentType.html | 4 + ...ons._Reference_Types_.SelectionStatus.html | 4 + ...tions._Reference_Types_.SentimentType.html | 6 + ...ons._Reference_Types_.SpeechMarkType.html} | 19 +- ...y_predictions._Reference_Types_.Split.html | 4 + ...pes_.StreamProcessorParameterToDelete.html | 4 + ...eference_Types_.StreamProcessorStatus.html | 8 + ...._Reference_Types_.SyntaxLanguageCode.html | 8 + ...ce_Types_.TargetedSentimentEntityType.html | 19 ++ ...dictions._Reference_Types_.TaskStatus.html | 6 + ...ns._Reference_Types_.TechnicalCueType.html | 9 + ...eference_Types_.TerminologyDataFormat.html | 5 + ...dictions._Reference_Types_.TextType-1.html | 4 + ...redictions._Reference_Types_.TextType.html | 4 + ...edictions._Reference_Types_.TextTypes.html | 4 + ...ns._Reference_Types_.ToxicContentType.html | 9 + ...Reference_Types_.UnsearchedFaceReason.html | 10 + ...s_.UnsuccessfulFaceAssociationReason.html} | 8 +- ...Types_.UnsuccessfulFaceDeletionReason.html | 4 + ....UnsuccessfulFaceDisassociationReason.html | 4 + ...dictions._Reference_Types_.UserStatus.html | 6 + ...ons._Reference_Types_.VideoColorRange.html | 4 + ...ions._Reference_Types_.VideoJobStatus.html | 5 + ...predictions._Reference_Types_.VoiceId.html | 98 ++++++++ ...erence_Types_.internal.addAbortSignal.html | 5 +- ..._Reference_Types_.internal.finished-1.html | 6 +- ..._Reference_Types_.internal.pipeline-1.html | 8 +- docs/api/hierarchy.html | 2 +- ...eference_Types_.CognitoUserPoolConfig.html | 4 +- ....index._Reference_Types_.ArrayOptions.html | 6 +- ...s.index._Reference_Types_.BlobOptions.html | 10 +- ...nextjs.index._Reference_Types_.Buffer.html | 71 +++--- ...x._Reference_Types_.BufferConstructor.html | 16 +- ...ndex._Reference_Types_.CookieListItem.html | 13 +- ...ference_Types_.CookieSerializeOptions.html | 11 +- ...ndex._Reference_Types_.EventEmitter-2.html | 92 ++++---- ...js.index._Reference_Types_.I18NConfig.html | 4 +- ...index._Reference_Types_.LookupAddress.html | 5 +- ...index._Reference_Types_.LookupOptions.html | 26 +- ...dex._Reference_Types_.ReadWriteStream.html | 70 +++--- ...ex._Reference_Types_.ReadableStream-1.html | 70 +++--- ...es_.StaticEventEmitterIteratorOptions.html | 16 ++ ...ence_Types_.StaticEventEmitterOptions.html | 5 +- ...ndex._Reference_Types_.WritableStream.html | 70 +++--- ...ider._Reference_Types_.BatchItemError.html | 4 +- ...e_Types_.BatchPutGeofenceRequestEntry.html | 8 +- ...er._Reference_Types_.GeofenceGeometry.html | 12 +- ...ctions._Reference_Types_.AbortHandler.html | 2 +- ...tions._Reference_Types_.AbortSignal-1.html | 29 +-- ...ictions._Reference_Types_.AbortSignal.html | 26 +- ...predictions._Reference_Types_.Adapter.html | 26 ++ ...ons._Reference_Types_.AdapterOverview.html | 6 + ...ce_Types_.AdapterVersionDatasetConfig.html | 12 + ...Types_.AdapterVersionEvaluationMetric.html | 6 + ...ference_Types_.AdapterVersionOverview.html | 8 + ...ions._Reference_Types_.AdaptersConfig.html | 4 + ...erence_Types_.AddEventListenerOptions.html | 4 +- ...ions._Reference_Types_.AgentOptions-1.html | 38 +++ ...ctions._Reference_Types_.AgentOptions.html | 11 + ...ce_Types_.AnalyzeDocumentCommandInput.html | 17 +- ...ference_Types_.AnalyzeDocumentRequest.html | 17 +- ...ce_Types_.AssociateFacesCommandOutput.html | 8 +- ...ference_Types_.AssociateFacesResponse.html | 8 +- ...nce_Types_.AugmentedManifestsListItem.html | 6 +- ...eference_Types_.AwsAuthResolvedConfig.html | 13 - ...eference_Types_.AwsCredentialIdentity.html | 6 +- ...ypes_.BatchDetectEntitiesCommandInput.html | 4 +- ...nce_Types_.BatchDetectEntitiesRequest.html | 4 +- ...es_.BatchDetectKeyPhrasesCommandInput.html | 4 +- ...e_Types_.BatchDetectKeyPhrasesRequest.html | 4 +- ...pes_.BatchDetectSentimentCommandInput.html | 4 +- ...Types_.BatchDetectSentimentItemResult.html | 4 +- ...ce_Types_.BatchDetectSentimentRequest.html | 4 +- ..._Types_.BatchDetectSyntaxCommandInput.html | 4 +- ...rence_Types_.BatchDetectSyntaxRequest.html | 4 +- ...chDetectTargetedSentimentCommandInput.html | 4 +- ..._.BatchDetectTargetedSentimentRequest.html | 4 +- ...predictions._Reference_Types_.Block-1.html | 4 +- ...y_predictions._Reference_Types_.Block.html | 58 ++++- ...ictions._Reference_Types_.Certificate.html | 14 ++ ...e_Types_.ClassifyDocumentCommandInput.html | 13 +- ..._Types_.ClassifyDocumentCommandOutput.html | 10 +- ...erence_Types_.ClassifyDocumentRequest.html | 13 +- ...rence_Types_.ClassifyDocumentResponse.html | 10 +- ...ns._Reference_Types_.ClientDefaults-1.html | 7 +- ...ns._Reference_Types_.ClientDefaults-2.html | 7 +- ...ns._Reference_Types_.ClientDefaults-3.html | 7 +- ...ns._Reference_Types_.ClientDefaults-4.html | 7 +- ...ions._Reference_Types_.ClientDefaults.html | 7 +- ...rence_Types_.CompareFacesCommandInput.html | 4 +- ...ence_Types_.CompareFacesCommandOutput.html | 6 +- ..._Reference_Types_.CompareFacesRequest.html | 4 +- ...Reference_Types_.CompareFacesResponse.html | 6 +- ...ference_Types_.ComprehendClientConfig.html | 9 +- ...Types_.ComprehendClientResolvedConfig.html | 19 +- ...s._Reference_Types_.ConnectionOptions.html | 28 +++ ...ypes_.ContainsPiiEntitiesCommandInput.html | 4 +- ...nce_Types_.ContainsPiiEntitiesRequest.html | 4 +- ...nce_Types_.ContentModerationDetection.html | 8 +- ...ictions._Reference_Types_.ContentType.html | 4 + ...ence_Types_.CreateAdapterCommandInput.html | 13 + ...nce_Types_.CreateAdapterCommandOutput.html | 6 + ...Reference_Types_.CreateAdapterRequest.html | 12 + ...eference_Types_.CreateAdapterResponse.html | 3 + ...pes_.CreateAdapterVersionCommandInput.html | 28 +++ ...es_.CreateAdapterVersionCommandOutput.html | 7 + ...ce_Types_.CreateAdapterVersionRequest.html | 27 +++ ..._Types_.CreateAdapterVersionResponse.html} | 10 +- ...ce_Types_.CreateDatasetCommandInput-1.html | 4 +- ...ence_Types_.CreateDatasetCommandInput.html | 7 +- ...ference_Types_.CreateDatasetRequest-1.html | 4 +- ...Reference_Types_.CreateDatasetRequest.html | 7 +- ....CreateDocumentClassifierCommandInput.html | 13 +- ...ypes_.CreateDocumentClassifierRequest.html | 13 +- ...s_.CreateEntityRecognizerCommandInput.html | 4 +- ..._Types_.CreateEntityRecognizerRequest.html | 4 +- ...reateFaceLivenessSessionCommandOutput.html | 6 +- ...es_.CreateFaceLivenessSessionResponse.html | 6 +- ...nce_Types_.CreateFlywheelCommandInput.html | 8 +- ...eference_Types_.CreateFlywheelRequest.html | 8 +- ...ypes_.CreateParallelDataCommandOutput.html | 4 +- ...nce_Types_.CreateParallelDataResponse.html | 4 +- ...ence_Types_.CreateProjectCommandInput.html | 9 +- ...Reference_Types_.CreateProjectRequest.html | 9 +- ...pes_.CreateProjectVersionCommandInput.html | 31 +-- ...es_.CreateProjectVersionCommandOutput.html | 5 +- ...ce_Types_.CreateProjectVersionRequest.html | 31 +-- ...e_Types_.CreateProjectVersionResponse.html | 5 +- ...nce_Types_.CustomizationFeatureConfig.html | 5 + ...izationFeatureContentModerationConfig.html | 3 + ...es_.DatasetAugmentedManifestsListItem.html | 4 +- ...._Reference_Types_.DatasetDescription.html | 6 +- ...pes_.DatasetEntityRecognizerDocuments.html | 4 +- ...tions._Reference_Types_.DatasetFilter.html | 4 +- ...ference_Types_.DatasetInputDataConfig.html | 4 +- ...ons._Reference_Types_.DatasetMetadata.html | 8 +- ...s._Reference_Types_.DatasetProperties.html | 4 +- ...predictions._Reference_Types_.Decoder.html | 2 +- ...ence_Types_.DeleteAdapterCommandInput.html | 4 + ...nce_Types_.DeleteAdapterCommandOutput.html | 5 + ...Reference_Types_.DeleteAdapterRequest.html | 3 + ...eference_Types_.DeleteAdapterResponse.html | 2 + ...pes_.DeleteAdapterVersionCommandInput.html | 5 + ...es_.DeleteAdapterVersionCommandOutput.html | 5 + ...ce_Types_.DeleteAdapterVersionRequest.html | 4 + ...e_Types_.DeleteAdapterVersionResponse.html | 2 + ...ypes_.DeleteParallelDataCommandOutput.html | 4 +- ...nce_Types_.DeleteParallelDataResponse.html | 4 +- ...nce_Types_.DeleteProjectCommandOutput.html | 4 +- ...eference_Types_.DeleteProjectResponse.html | 4 +- ...pes_.DeleteProjectVersionCommandInput.html | 3 +- ...es_.DeleteProjectVersionCommandOutput.html | 4 +- ...ce_Types_.DeleteProjectVersionRequest.html | 3 +- ...e_Types_.DeleteProjectVersionResponse.html | 4 +- ..._.DescribeProjectVersionsCommandInput.html | 10 +- ....DescribeProjectVersionsCommandOutput.html | 6 +- ...Types_.DescribeProjectVersionsRequest.html | 10 +- ...ypes_.DescribeProjectVersionsResponse.html | 6 +- ...e_Types_.DescribeProjectsCommandInput.html | 12 +- ..._Types_.DescribeProjectsCommandOutput.html | 2 +- ...erence_Types_.DescribeProjectsRequest.html | 12 +- ...rence_Types_.DescribeProjectsResponse.html | 2 +- ....DescribeStreamProcessorCommandOutput.html | 4 +- ...ypes_.DescribeStreamProcessorResponse.html | 4 +- ...nce_Types_.DescribeVoicesCommandInput.html | 9 +- ..._Reference_Types_.DescribeVoicesInput.html | 9 +- ...Types_.DetectCustomLabelsCommandInput.html | 5 +- ...ence_Types_.DetectCustomLabelsRequest.html | 5 +- ...nce_Types_.DetectEntitiesCommandInput.html | 4 +- ...eference_Types_.DetectEntitiesRequest.html | 4 +- ...erence_Types_.DetectFacesCommandInput.html | 4 +- ...rence_Types_.DetectFacesCommandOutput.html | 4 +- ...._Reference_Types_.DetectFacesRequest.html | 4 +- ..._Reference_Types_.DetectFacesResponse.html | 4 +- ...e_Types_.DetectKeyPhrasesCommandInput.html | 4 +- ...erence_Types_.DetectKeyPhrasesRequest.html | 4 +- ...rence_Types_.DetectLabelsCommandInput.html | 4 +- ...ence_Types_.DetectLabelsCommandOutput.html | 4 +- ..._Reference_Types_.DetectLabelsRequest.html | 4 +- ...Reference_Types_.DetectLabelsResponse.html | 4 +- ...s_.DetectModerationLabelsCommandInput.html | 6 +- ..._.DetectModerationLabelsCommandOutput.html | 13 +- ..._Types_.DetectModerationLabelsRequest.html | 6 +- ...Types_.DetectModerationLabelsResponse.html | 13 +- ..._Types_.DetectPiiEntitiesCommandInput.html | 5 +- ...rence_Types_.DetectPiiEntitiesRequest.html | 5 +- ...ce_Types_.DetectSentimentCommandInput.html | 4 +- ...e_Types_.DetectSentimentCommandOutput.html | 4 +- ...ference_Types_.DetectSentimentRequest.html | 4 +- ...erence_Types_.DetectSentimentResponse.html | 4 +- ...rence_Types_.DetectSyntaxCommandInput.html | 4 +- ..._Reference_Types_.DetectSyntaxRequest.html | 4 +- ..._.DetectTargetedSentimentCommandInput.html | 4 +- ...Types_.DetectTargetedSentimentRequest.html | 4 +- ...ypes_.DetectToxicContentCommandInput.html} | 14 +- ...ypes_.DetectToxicContentCommandOutput.html | 10 + ...ence_Types_.DetectToxicContentRequest.html | 5 + ...nce_Types_.DetectToxicContentResponse.html | 7 + ...Types_.DisassociateFacesCommandOutput.html | 4 +- ...ence_Types_.DisassociateFacesResponse.html | 4 +- ...e_Types_.DocumentClassificationConfig.html | 4 +- ...ypes_.DocumentClassificationJobFilter.html | 4 +- ..._.DocumentClassificationJobProperties.html | 6 +- ...ce_Types_.DocumentClassifierDocuments.html | 2 +- ...rence_Types_.DocumentClassifierFilter.html | 4 +- ...es_.DocumentClassifierInputDataConfig.html | 15 +- ...s_.DocumentClassifierOutputDataConfig.html | 2 +- ...e_Types_.DocumentClassifierProperties.html | 10 +- ...ence_Types_.DocumentClassifierSummary.html | 4 +- ...Reference_Types_.DocumentReaderConfig.html | 12 +- ...Reference_Types_.DocumentTypeListItem.html | 4 +- ...s_.DominantLanguageDetectionJobFilter.html | 4 +- ...ominantLanguageDetectionJobProperties.html | 4 +- ...ions._Reference_Types_.DuplexOptions.html} | 24 +- ...predictions._Reference_Types_.Emotion.html | 4 +- ...predictions._Reference_Types_.Encoder.html | 13 +- ...tions._Reference_Types_.EncryptionKey.html | 4 +- ...ions._Reference_Types_.EndpointFilter.html | 4 +- ...._Reference_Types_.EndpointProperties.html | 4 +- ...nce_Types_.EntitiesDetectionJobFilter.html | 4 +- ...Types_.EntitiesDetectionJobProperties.html | 6 +- ..._predictions._Reference_Types_.Entity.html | 4 +- ...ictions._Reference_Types_.EntityLabel.html | 4 +- ...ence_Types_.EntityRecognizerDocuments.html | 4 +- ...ference_Types_.EntityRecognizerFilter.html | 4 +- ...ypes_.EntityRecognizerInputDataConfig.html | 4 +- ...nce_Types_.EntityRecognizerProperties.html | 6 +- ...erence_Types_.EntityRecognizerSummary.html | 4 +- ..._Reference_Types_.EntityTypesListItem.html | 2 +- ...._Reference_Types_.EquipmentDetection.html | 4 +- ...ions._Reference_Types_.ErrorsListItem.html | 4 +- ...ns._Reference_Types_.EvaluationMetric.html | 5 + ...ictions._Reference_Types_.EventTarget.html | 2 +- ...rence_Types_.EventsDetectionJobFilter.html | 4 +- ...e_Types_.EventsDetectionJobProperties.html | 4 +- ...s._Reference_Types_.FaceAttributes-1.html} | 18 +- ...dictions._Reference_Types_.FaceDetail.html | 4 +- ...erence_Types_.FetchHttpHandlerOptions.html | 16 ++ ...ions._Reference_Types_.FlywheelFilter.html | 4 +- ...ce_Types_.FlywheelIterationProperties.html | 4 +- ...._Reference_Types_.FlywheelProperties.html | 4 +- ...ons._Reference_Types_.FlywheelSummary.html | 4 +- ...redictions._Reference_Types_.Gender-1.html | 8 + ...ference_Types_.GetAdapterCommandInput.html | 4 + ...erence_Types_.GetAdapterCommandOutput.html | 12 + ...s._Reference_Types_.GetAdapterRequest.html | 3 + ...._Reference_Types_.GetAdapterResponse.html | 9 + ..._Types_.GetAdapterVersionCommandInput.html | 5 + ...Types_.GetAdapterVersionCommandOutput.html | 34 +++ ...rence_Types_.GetAdapterVersionRequest.html | 4 + ...ence_Types_.GetAdapterVersionResponse.html | 31 +++ ..._.GetCelebrityRecognitionCommandInput.html | 4 +- ....GetCelebrityRecognitionCommandOutput.html | 4 +- ...Types_.GetCelebrityRecognitionRequest.html | 4 +- ...ypes_.GetCelebrityRecognitionResponse.html | 4 +- ...pes_.GetContentModerationCommandInput.html | 6 +- ...es_.GetContentModerationCommandOutput.html | 4 +- ...ce_Types_.GetContentModerationRequest.html | 6 +- ..._.GetContentModerationRequestMetadata.html | 4 +- ...e_Types_.GetContentModerationResponse.html | 4 +- ...pes_.GetDocumentAnalysisCommandOutput.html | 4 +- ...ce_Types_.GetDocumentAnalysisResponse.html | 4 +- ...GetDocumentTextDetectionCommandOutput.html | 4 +- ...pes_.GetDocumentTextDetectionResponse.html | 4 +- ...ypes_.GetExpenseAnalysisCommandOutput.html | 4 +- ...nce_Types_.GetExpenseAnalysisResponse.html | 4 +- ..._Types_.GetFaceDetectionCommandOutput.html | 4 +- ...rence_Types_.GetFaceDetectionResponse.html | 4 +- ...ceLivenessSessionResultsCommandOutput.html | 4 +- ...GetFaceLivenessSessionResultsResponse.html | 4 +- ...ence_Types_.GetFaceSearchCommandInput.html | 4 +- ...nce_Types_.GetFaceSearchCommandOutput.html | 4 +- ...Reference_Types_.GetFaceSearchRequest.html | 4 +- ...eference_Types_.GetFaceSearchResponse.html | 4 +- ..._Types_.GetLabelDetectionCommandInput.html | 6 +- ...Types_.GetLabelDetectionCommandOutput.html | 4 +- ...rence_Types_.GetLabelDetectionRequest.html | 6 +- ...pes_.GetLabelDetectionRequestMetadata.html | 4 +- ...ence_Types_.GetLabelDetectionResponse.html | 4 +- ...ypes_.GetLendingAnalysisCommandOutput.html | 4 +- ...nce_Types_.GetLendingAnalysisResponse.html | 4 +- ...etLendingAnalysisSummaryCommandOutput.html | 4 +- ...es_.GetLendingAnalysisSummaryResponse.html | 4 +- ...ypes_.GetMediaAnalysisJobCommandInput.html | 4 + ...pes_.GetMediaAnalysisJobCommandOutput.html | 17 ++ ...nce_Types_.GetMediaAnalysisJobRequest.html | 3 + ...ce_Types_.GetMediaAnalysisJobResponse.html | 14 ++ ..._Types_.GetPersonTrackingCommandInput.html | 4 +- ...Types_.GetPersonTrackingCommandOutput.html | 4 +- ...rence_Types_.GetPersonTrackingRequest.html | 4 +- ...ence_Types_.GetPersonTrackingResponse.html | 4 +- ...pes_.GetSegmentDetectionCommandOutput.html | 4 +- ...ce_Types_.GetSegmentDetectionResponse.html | 4 +- ...nce_Types_.GetTerminologyCommandInput.html | 4 +- ...eference_Types_.GetTerminologyRequest.html | 4 +- ..._Types_.GetTextDetectionCommandOutput.html | 4 +- ...rence_Types_.GetTextDetectionResponse.html | 4 +- ...._Reference_Types_.HttpHandlerOptions.html | 4 +- ...ictions._Reference_Types_.HttpMessage.html | 2 +- ...ence_Types_.HumanLoopDataAttributes-1.html | 4 +- ...erence_Types_.HumanLoopDataAttributes.html | 4 +- ...ions._Reference_Types_.IdentifyEntity.html | 4 +- ...ns._Reference_Types_.IdentityProvider.html | 2 + ..._Types_.ImportTerminologyCommandInput.html | 4 +- ...rence_Types_.ImportTerminologyRequest.html | 4 +- ...ference_Types_.IndexFacesCommandInput.html | 6 +- ...erence_Types_.IndexFacesCommandOutput.html | 4 +- ...s._Reference_Types_.IndexFacesRequest.html | 6 +- ...._Reference_Types_.IndexFacesResponse.html | 4 +- ...s._Reference_Types_.InputDataConfig-1.html | 4 +- ...e_Types_.KeyPhrasesDetectionJobFilter.html | 4 +- ...pes_.KeyPhrasesDetectionJobProperties.html | 6 +- ...ictions._Reference_Types_.KnownGender.html | 4 +- ...redictions._Reference_Types_.Landmark.html | 4 +- ...ns._Reference_Types_.LendingDetection.html | 4 +- ...s._Reference_Types_.LexiconAttributes.html | 4 +- ...ypes_.ListAdapterVersionsCommandInput.html | 10 + ...pes_.ListAdapterVersionsCommandOutput.html | 7 + ...nce_Types_.ListAdapterVersionsRequest.html | 9 + ...ce_Types_.ListAdapterVersionsResponse.html | 4 + ...rence_Types_.ListAdaptersCommandInput.html | 9 + ...ence_Types_.ListAdaptersCommandOutput.html | 7 + ..._Reference_Types_.ListAdaptersRequest.html | 8 + ...Reference_Types_.ListAdaptersResponse.html | 4 + ...ence_Types_.ListLanguagesCommandInput.html | 4 +- ...nce_Types_.ListLanguagesCommandOutput.html | 4 +- ...Reference_Types_.ListLanguagesRequest.html | 4 +- ...eference_Types_.ListLanguagesResponse.html | 4 +- ...es_.ListMediaAnalysisJobsCommandInput.html | 6 + ...s_.ListMediaAnalysisJobsCommandOutput.html | 7 + ...e_Types_.ListMediaAnalysisJobsRequest.html | 5 + ..._Types_.ListMediaAnalysisJobsResponse.html | 4 + ....ListSpeechSynthesisTasksCommandInput.html | 4 +- ..._Types_.ListSpeechSynthesisTasksInput.html | 4 +- ...es_.ListTagsForResourceCommandInput-2.html | 5 +- ...es_.ListTagsForResourceCommandInput-3.html | 5 + ...s_.ListTagsForResourceCommandOutput-2.html | 9 +- ...s_.ListTagsForResourceCommandOutput-3.html | 11 + ...e_Types_.ListTagsForResourceRequest-2.html | 5 +- ...e_Types_.ListTagsForResourceRequest-3.html | 4 + ..._Types_.ListTagsForResourceResponse-2.html | 9 +- ..._Types_.ListTagsForResourceResponse-3.html | 8 + ...ictions._Reference_Types_.MatchedUser.html | 4 +- ...aAnalysisDetectModerationLabelsConfig.html | 7 + ...._Reference_Types_.MediaAnalysisInput.html | 8 + ...ce_Types_.MediaAnalysisJobDescription.html | 14 ++ ...Types_.MediaAnalysisJobFailureDetails.html | 4 + ...e_Types_.MediaAnalysisManifestSummary.html | 8 + ...nce_Types_.MediaAnalysisModelVersions.html | 3 + ..._Types_.MediaAnalysisOperationsConfig.html | 3 + ...ence_Types_.MediaAnalysisOutputConfig.html | 5 + ...Reference_Types_.MediaAnalysisResults.html | 9 + ...ns._Reference_Types_.MentionSentiment.html | 4 +- ...ions._Reference_Types_.MetadataBearer.html | 2 +- ...ons._Reference_Types_.ModerationLabel.html | 5 +- ...ference_Types_.NodeHttpHandlerOptions.html | 25 ++ ...ons._Reference_Types_.NormalizedValue.html | 4 +- ..._predictions._Reference_Types_.Object.html | 19 ++ ...._Reference_Types_.OutputDataConfig-1.html | 4 +- ...._Reference_Types_.ParallelDataConfig.html | 6 +- ...ference_Types_.ParallelDataProperties.html | 6 +- ...ons._Reference_Types_.PartOfSpeechTag.html | 4 +- ...ons._Reference_Types_.PeerCertificate.html | 14 ++ ..._Types_.PiiEntitiesDetectionJobFilter.html | 4 +- ...es_.PiiEntitiesDetectionJobProperties.html | 6 +- ...edictions._Reference_Types_.PiiEntity.html | 4 +- ...s._Reference_Types_.PollyClientConfig.html | 9 +- ...ence_Types_.PollyClientResolvedConfig.html | 19 +- ...._Reference_Types_.ProjectDescription.html | 8 +- ...ence_Types_.ProjectVersionDescription.html | 16 +- ...ce_Types_.ProtectiveEquipmentBodyPart.html | 4 +- ...ctiveEquipmentSummarizationAttributes.html | 4 +- ...ons._Reference_Types_.ReadableOptions.html | 2 +- ...es_.RecognizeCelebritiesCommandOutput.html | 4 +- ...e_Types_.RecognizeCelebritiesResponse.html | 4 +- ...ons._Reference_Types_.RedactionConfig.html | 6 +- ...erence_Types_.RekognitionClientConfig.html | 9 +- ...ypes_.RekognitionClientResolvedConfig.html | 19 +- ...ctions._Reference_Types_.Relationship.html | 4 +- ...eference_Types_.RelationshipsListItem.html | 4 +- ...ions._Reference_Types_.RetryErrorInfo.html | 10 +- ...ions._Reference_Types_.RetryableTrait.html | 6 + ...._Reference_Types_.RuntimeExtension-1.html | 4 +- ...._Reference_Types_.RuntimeExtension-2.html | 4 +- ...._Reference_Types_.RuntimeExtension-3.html | 4 +- ...._Reference_Types_.RuntimeExtension-4.html | 4 +- ...ns._Reference_Types_.RuntimeExtension.html | 4 +- ...Types_.SearchFacesByImageCommandInput.html | 4 +- ...ence_Types_.SearchFacesByImageRequest.html | 4 +- ...Types_.SearchUsersByImageCommandInput.html | 4 +- ...ence_Types_.SearchUsersByImageRequest.html | 4 +- ...tions._Reference_Types_.SecureContext.html | 3 + ...Reference_Types_.SecureContextOptions.html | 15 ++ ...ns._Reference_Types_.SegmentDetection.html | 4 +- ...ons._Reference_Types_.SegmentTypeInfo.html | 4 +- ...ce_Types_.SentimentDetectionJobFilter.html | 4 +- ...ypes_.SentimentDetectionJobProperties.html | 6 +- ...ons._Reference_Types_.SignatureV4Init.html | 6 +- ..._Reference_Types_.SmithyConfiguration.html | 4 +- ...ons._Reference_Types_.SmithyException.html | 14 ++ ...es_.StartDocumentAnalysisCommandInput.html | 9 +- ...e_Types_.StartDocumentAnalysisRequest.html | 9 +- ...ocumentClassificationJobCommandOutput.html | 4 +- ...tartDocumentClassificationJobResponse.html | 4 +- ...nantLanguageDetectionJobCommandOutput.html | 4 +- ...tDominantLanguageDetectionJobResponse.html | 4 +- ...StartEntitiesDetectionJobCommandInput.html | 4 +- ...tartEntitiesDetectionJobCommandOutput.html | 4 +- ...pes_.StartEntitiesDetectionJobRequest.html | 4 +- ...es_.StartEntitiesDetectionJobResponse.html | 4 +- ..._.StartEventsDetectionJobCommandInput.html | 4 +- ....StartEventsDetectionJobCommandOutput.html | 4 +- ...Types_.StartEventsDetectionJobRequest.html | 4 +- ...ypes_.StartEventsDetectionJobResponse.html | 4 +- ...Types_.StartFaceDetectionCommandInput.html | 4 +- ...ence_Types_.StartFaceDetectionRequest.html | 4 +- ...artKeyPhrasesDetectionJobCommandInput.html | 4 +- ...rtKeyPhrasesDetectionJobCommandOutput.html | 4 +- ...s_.StartKeyPhrasesDetectionJobRequest.html | 4 +- ..._.StartKeyPhrasesDetectionJobResponse.html | 4 +- ...ypes_.StartLabelDetectionCommandInput.html | 4 +- ...nce_Types_.StartLabelDetectionRequest.html | 4 +- ...es_.StartMediaAnalysisJobCommandInput.html | 14 ++ ...s_.StartMediaAnalysisJobCommandOutput.html | 6 + ...e_Types_.StartMediaAnalysisJobRequest.html | 13 + ..._Types_.StartMediaAnalysisJobResponse.html | 3 + ...rtPiiEntitiesDetectionJobCommandInput.html | 5 +- ...tPiiEntitiesDetectionJobCommandOutput.html | 4 +- ..._.StartPiiEntitiesDetectionJobRequest.html | 5 +- ....StartPiiEntitiesDetectionJobResponse.html | 4 +- ...ypes_.StartProjectVersionCommandInput.html | 5 - ...pes_.StartProjectVersionCommandOutput.html | 4 +- ...nce_Types_.StartProjectVersionRequest.html | 5 - ...ce_Types_.StartProjectVersionResponse.html | 4 +- ...es_.StartSegmentDetectionCommandInput.html | 4 +- ...e_Types_.StartSegmentDetectionRequest.html | 4 +- ...tartSentimentDetectionJobCommandInput.html | 4 +- ...artSentimentDetectionJobCommandOutput.html | 4 +- ...es_.StartSentimentDetectionJobRequest.html | 4 +- ...s_.StartSentimentDetectionJobResponse.html | 4 +- ....StartSpeechSynthesisTaskCommandInput.html | 21 +- ..._Types_.StartSpeechSynthesisTaskInput.html | 21 +- ...etedSentimentDetectionJobCommandInput.html | 6 +- ...tedSentimentDetectionJobCommandOutput.html | 4 +- ...tTargetedSentimentDetectionJobRequest.html | 6 +- ...TargetedSentimentDetectionJobResponse.html | 4 +- ..._.StartTextTranslationJobCommandInput.html | 14 +- ....StartTextTranslationJobCommandOutput.html | 4 +- ...Types_.StartTextTranslationJobRequest.html | 14 +- ...ypes_.StartTextTranslationJobResponse.html | 4 +- ....StartTopicsDetectionJobCommandOutput.html | 4 +- ...ypes_.StartTopicsDetectionJobResponse.html | 4 +- ...nantLanguageDetectionJobCommandOutput.html | 4 +- ...pDominantLanguageDetectionJobResponse.html | 4 +- ...StopEntitiesDetectionJobCommandOutput.html | 4 +- ...pes_.StopEntitiesDetectionJobResponse.html | 4 +- ..._.StopEventsDetectionJobCommandOutput.html | 4 +- ...Types_.StopEventsDetectionJobResponse.html | 4 +- ...opKeyPhrasesDetectionJobCommandOutput.html | 4 +- ...s_.StopKeyPhrasesDetectionJobResponse.html | 4 +- ...pPiiEntitiesDetectionJobCommandOutput.html | 4 +- ..._.StopPiiEntitiesDetectionJobResponse.html | 4 +- ...Types_.StopProjectVersionCommandInput.html | 2 +- ...ypes_.StopProjectVersionCommandOutput.html | 4 +- ...ence_Types_.StopProjectVersionRequest.html | 2 +- ...nce_Types_.StopProjectVersionResponse.html | 4 +- ...topSentimentDetectionJobCommandOutput.html | 4 +- ...es_.StopSentimentDetectionJobResponse.html | 4 +- ...tedSentimentDetectionJobCommandOutput.html | 4 +- ...TargetedSentimentDetectionJobResponse.html | 4 +- ..._.StopTextTranslationJobCommandOutput.html | 4 +- ...Types_.StopTextTranslationJobResponse.html | 4 +- ...ons._Reference_Types_.StreamProcessor.html | 4 +- ...tions._Reference_Types_.SynthesisTask.html | 21 +- ...e_Types_.SynthesizeSpeechCommandInput.html | 43 ++-- ...eference_Types_.SynthesizeSpeechInput.html | 43 ++-- ...ence_Types_.TagResourceCommandInput-2.html | 6 +- ...ence_Types_.TagResourceCommandInput-3.html | 7 + ...nce_Types_.TagResourceCommandOutput-3.html | 5 + ...Reference_Types_.TagResourceRequest-2.html | 6 +- ...Reference_Types_.TagResourceRequest-3.html | 6 + ...eference_Types_.TagResourceResponse-3.html | 2 + ..._.TargetedSentimentDetectionJobFilter.html | 4 +- ...rgetedSentimentDetectionJobProperties.html | 6 +- ...erence_Types_.TargetedSentimentEntity.html | 2 +- ...rence_Types_.TargetedSentimentMention.html | 4 +- ...dictions._Reference_Types_.TaskConfig.html | 4 +- ..._Reference_Types_.TechnicalCueSegment.html | 4 +- ...ons._Reference_Types_.TerminologyData.html | 6 +- ...eference_Types_.TerminologyProperties.html | 6 +- ...ictions._Reference_Types_.TestingData.html | 6 +- ...s._Reference_Types_.TestingDataResult.html | 3 +- ...tions._Reference_Types_.TextDetection.html | 4 +- ...ictions._Reference_Types_.TextSegment.html | 3 + ...rence_Types_.TextTranslationJobFilter.html | 4 +- ...e_Types_.TextTranslationJobProperties.html | 4 +- ...Reference_Types_.TextractClientConfig.html | 9 +- ...e_Types_.TextractClientResolvedConfig.html | 19 +- ...rence_Types_.TopicsDetectionJobFilter.html | 4 +- ...e_Types_.TopicsDetectionJobProperties.html | 4 +- ...ctions._Reference_Types_.ToxicContent.html | 6 + ...ictions._Reference_Types_.ToxicLabels.html | 4 + ...ctions._Reference_Types_.TrainingData.html | 3 +- ...._Reference_Types_.TrainingDataResult.html | 7 +- ...eference_Types_.TranslateClientConfig.html | 9 +- ..._Types_.TranslateClientResolvedConfig.html | 19 +- ..._Types_.TranslateDocumentCommandInput.html | 26 +- ...Types_.TranslateDocumentCommandOutput.html | 15 +- ...rence_Types_.TranslateDocumentRequest.html | 26 +- ...ence_Types_.TranslateDocumentResponse.html | 15 +- ...ence_Types_.TranslateTextCommandInput.html | 14 +- ...Reference_Types_.TranslateTextRequest.html | 14 +- ..._Reference_Types_.TranslationSettings.html | 28 ++- ...tions._Reference_Types_.UnindexedFace.html | 4 +- ...ions._Reference_Types_.UnsearchedFace.html | 4 +- ...ce_Types_.UnsuccessfulFaceAssociation.html | 4 +- ...rence_Types_.UnsuccessfulFaceDeletion.html | 4 +- ...Types_.UnsuccessfulFaceDisassociation.html | 4 +- ...ce_Types_.UntagResourceCommandInput-2.html | 8 +- ...ce_Types_.UntagResourceCommandInput-3.html | 9 + ...e_Types_.UntagResourceCommandOutput-3.html | 5 + ...ference_Types_.UntagResourceRequest-2.html | 8 +- ...ference_Types_.UntagResourceRequest-3.html | 8 + ...erence_Types_.UntagResourceResponse-3.html | 2 + ...ence_Types_.UpdateAdapterCommandInput.html | 7 + ...nce_Types_.UpdateAdapterCommandOutput.html | 11 + ...Reference_Types_.UpdateAdapterRequest.html | 6 + ...ference_Types_.UpdateAdapterResponse.html} | 23 +- ...ypes_.UpdateParallelDataCommandOutput.html | 6 +- ...nce_Types_.UpdateParallelDataResponse.html | 6 +- ...es_.UpdateStreamProcessorCommandInput.html | 4 +- ...e_Types_.UpdateStreamProcessorRequest.html | 4 +- ...fy_predictions._Reference_Types_.User.html | 4 +- ...tions._Reference_Types_.VideoMetadata.html | 4 +- ...y_predictions._Reference_Types_.Voice.html | 12 +- ...ns._Reference_Types_.WarningsListItem.html | 6 +- ...ions._Reference_Types_.WritableStream.html | 2 +- ...ce_Types_.internal-1.TransformOptions.html | 4 +- ...nce_Types_.internal-1.WritableOptions.html | 2 +- .../modules/_aws_amplify_adapter_nextjs.html | 4 +- ...dapter_nextjs.index._Reference_Types_.html | 13 +- ...aws_amplify_datastore_storage_adapter.html | 4 +- docs/api/modules/_aws_amplify_geo.html | 4 +- ...tionServiceProvider._Reference_Types_.html | 1 + .../modules/_aws_amplify_interactions.html | 4 +- ...amplify_predictions._Reference_Types_.html | 222 +++++++++++++++++- ...dictions._Reference_Types_.internal-1.html | 8 +- .../api/modules/_aws_amplify_predictions.html | 4 +- docs/api/modules/_aws_amplify_pubsub.html | 4 +- docs/api/modules/aws_amplify.html | 4 +- ...extjs.index._Reference_Types_.AnyRest.html | 2 + ..._nextjs.index._Reference_Types_.Args.html} | 12 +- ...dex._Reference_Types_.DefaultEventMap.html | 2 + ...tjs.index._Reference_Types_.EventMap.html} | 5 +- ...s.index._Reference_Types_.I18NDomains.html | 2 + ...er_nextjs.index._Reference_Types_.Key.html | 2 + ...r_nextjs.index._Reference_Types_.Key2.html | 2 + ...xtjs.index._Reference_Types_.Listener.html | 2 + ...._Reference_Types_.BatchItemErrorCode.html | 2 + ..._Types_.AwsCredentialIdentityProvider.html | 2 + ...nce_Types_.ComprehendClientConfigType.html | 2 +- ...s_.ComprehendClientResolvedConfigType.html | 2 +- ...Reference_Types_.HttpHandlerUserInput.html | 13 + ...eference_Types_.PollyClientConfigType.html | 2 +- ..._Types_.PollyClientResolvedConfigType.html | 2 +- ...ictions._Reference_Types_.PropertyKey.html | 2 + ...ce_Types_.RekognitionClientConfigType.html | 2 +- ..._.RekognitionClientResolvedConfigType.html | 2 +- ...redictions._Reference_Types_.SdkError.html | 11 + ..._Reference_Types_.ServiceInputTypes-2.html | 2 +- ..._Reference_Types_.ServiceInputTypes-3.html | 2 +- ..._Reference_Types_.ServiceInputTypes-4.html | 2 +- ...Reference_Types_.ServiceOutputTypes-2.html | 2 +- ...Reference_Types_.ServiceOutputTypes-3.html | 2 +- ...Reference_Types_.ServiceOutputTypes-4.html | 2 +- ...rence_Types_.TextractClientConfigType.html | 2 +- ...pes_.TextractClientResolvedConfigType.html | 2 +- ...ence_Types_.TranslateClientConfigType.html | 2 +- ...es_.TranslateClientResolvedConfigType.html | 2 +- ...ex._Reference_Types_.ReadableStream-2.html | 2 +- ...tions._Reference_Types_.AbortSignal-2.html | 2 +- ...redictions._Reference_Types_.Object-1.html | 3 + 692 files changed, 4758 insertions(+), 2446 deletions(-) create mode 100644 docs/api/classes/_aws_amplify_predictions._Reference_Types_.Agent-1.html create mode 100644 docs/api/classes/_aws_amplify_predictions._Reference_Types_.Agent.html rename docs/api/classes/{_aws_amplify_predictions._Reference_Types_.internal-1.Writable.html => _aws_amplify_predictions._Reference_Types_.Writable.html} (55%) create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.AdapterVersionStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.Attribute.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.AugmentedManifestsDocumentTypeFormat.html rename docs/api/{types/_aws_amplify_predictions._Reference_Types_.HttpHandler.html => enums/_aws_amplify_predictions._Reference_Types_.AutoUpdate.html} (74%) create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.BlockType-1.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.BlockType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.BodyPart.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.CelebrityRecognitionSortBy.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentClassifier-1.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentClassifier.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentModerationAggregateBy.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentModerationSortBy.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.CustomizationFeature.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetDataFormat.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatus-1.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatusMessageCode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetType-1.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DetectLabelsFeatureName.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.Directionality.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DisplayLanguageCode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDataFormat.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDocumentTypeFormat.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierMode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadAction.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadFeatureTypes.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadMode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.EmotionName.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.EndpointStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.Engine.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityRecognizerDataFormat.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityType-1.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.FaceAttributes.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.FaceSearchSortBy.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.FeatureType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.FlywheelIterationStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.FlywheelStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.Formality.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.Gender.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.GenderType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.InputFormat.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus-1.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus-2.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.KnownGenderType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.LabelDetectionAggregateBy.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.LabelDetectionSortBy.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.LandmarkType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.LanguageCode-1.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.LanguageCode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.LivenessSessionStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobFailureCode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ModelStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ModelType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.OrientationCorrection.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.OutputFormat.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.PageBasedErrorCode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.PageBasedWarningCode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ParallelDataFormat.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ParallelDataStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.PartOfSpeechTagType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.PersonTrackingSortBy.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionMaskMode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionMode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntityType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectAutoUpdate.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectVersionStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.QualityFilter.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.Reason.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.RelationshipType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.SegmentType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.SelectionStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.SentimentType.html rename docs/api/{interfaces/_aws_amplify_predictions._Reference_Types_.AwsAuthInputConfig.html => enums/_aws_amplify_predictions._Reference_Types_.SpeechMarkType.html} (54%) create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.Split.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.StreamProcessorParameterToDelete.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.StreamProcessorStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.SyntaxLanguageCode.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.TargetedSentimentEntityType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.TaskStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.TechnicalCueType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.TerminologyDataFormat.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextType-1.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextTypes.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.ToxicContentType.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsearchedFaceReason.html rename docs/api/{interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_._DOMEventTarget.html => enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceAssociationReason.html} (66%) create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceDeletionReason.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceDisassociationReason.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.UserStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.VideoColorRange.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.VideoJobStatus.html create mode 100644 docs/api/enums/_aws_amplify_predictions._Reference_Types_.VoiceId.html create mode 100644 docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.StaticEventEmitterIteratorOptions.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Adapter.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterOverview.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionDatasetConfig.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionEvaluationMetric.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionOverview.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdaptersConfig.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AgentOptions-1.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AgentOptions.html delete mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsAuthResolvedConfig.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Certificate.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ConnectionOptions.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContentType.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionRequest.html rename docs/api/interfaces/{_aws_amplify_predictions._Reference_Types_.RetryResolvedConfig.html => _aws_amplify_predictions._Reference_Types_.CreateAdapterVersionResponse.html} (66%) create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CustomizationFeatureConfig.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CustomizationFeatureContentModerationConfig.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionResponse.html rename docs/api/interfaces/{_aws_amplify_predictions._Reference_Types_.Gender.html => _aws_amplify_predictions._Reference_Types_.DetectToxicContentCommandInput.html} (65%) create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentResponse.html rename docs/api/interfaces/{_aws_amplify_predictions._Reference_Types_.internal-1.DuplexOptions.html => _aws_amplify_predictions._Reference_Types_.DuplexOptions.html} (81%) create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EvaluationMetric.html rename docs/api/interfaces/{_aws_amplify_predictions._Reference_Types_.FaceAttributes.html => _aws_amplify_predictions._Reference_Types_.FaceAttributes-1.html} (85%) create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FetchHttpHandlerOptions.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Gender-1.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IdentityProvider.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandInput-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandOutput-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceRequest-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceResponse-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisDetectModerationLabelsConfig.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobDescription.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobFailureDetails.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisManifestSummary.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisModelVersions.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisOperationsConfig.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisOutputConfig.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisResults.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.NodeHttpHandlerOptions.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Object.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PeerCertificate.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RetryableTrait.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SecureContext.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SecureContextOptions.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SmithyException.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartMediaAnalysisJobCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartMediaAnalysisJobCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartMediaAnalysisJobRequest.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartMediaAnalysisJobResponse.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.TagResourceCommandInput-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.TagResourceCommandOutput-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.TagResourceRequest-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.TagResourceResponse-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.TextSegment.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ToxicContent.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ToxicLabels.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.UntagResourceCommandInput-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.UntagResourceCommandOutput-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.UntagResourceRequest-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.UntagResourceResponse-3.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.UpdateAdapterCommandInput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.UpdateAdapterCommandOutput.html create mode 100644 docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.UpdateAdapterRequest.html rename docs/api/interfaces/{_aws_amplify_predictions._Reference_Types_.Credentials.html => _aws_amplify_predictions._Reference_Types_.UpdateAdapterResponse.html} (55%) create mode 100644 docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.AnyRest.html rename docs/api/{interfaces/_aws_amplify_predictions._Reference_Types_.MemoizedProvider.html => types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Args.html} (75%) create mode 100644 docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.DefaultEventMap.html rename docs/api/{interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_._NodeEventTarget.html => types/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventMap.html} (68%) create mode 100644 docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.I18NDomains.html create mode 100644 docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Key.html create mode 100644 docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Key2.html create mode 100644 docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Listener.html create mode 100644 docs/api/types/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchItemErrorCode.html create mode 100644 docs/api/types/_aws_amplify_predictions._Reference_Types_.AwsCredentialIdentityProvider.html create mode 100644 docs/api/types/_aws_amplify_predictions._Reference_Types_.HttpHandlerUserInput.html create mode 100644 docs/api/types/_aws_amplify_predictions._Reference_Types_.PropertyKey.html create mode 100644 docs/api/types/_aws_amplify_predictions._Reference_Types_.SdkError.html create mode 100644 docs/api/variables/_aws_amplify_predictions._Reference_Types_.Object-1.html diff --git a/docs/api/assets/navigation.js b/docs/api/assets/navigation.js index 2eda52a6ddb..f66721d8301 100644 --- a/docs/api/assets/navigation.js +++ b/docs/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA9S9bXPjuLWu/VdSPV8zJ5meSXaS2rXr8Wu399htj2R379Q5Uy5YhCWkKUIBSXcrp85/fwqkKAEkXtdazqg/Je0R7vsCCIJ4Xfjf//dNw782b/72hn2pv2frTSmet29+/2bDmtWbv71Zy6Itef0H9qV+3P3H/7Vq1uWb37/5LKrizd/e/v7NYiXKQvHqzd/+90GsYJuGq+8XUvGw2u6Xj/qXSdL/OePPXPFqwX93v93w+r8y9B/3aR+7tI9Jjie91FnJ6vpgttD/zDMzhWznH97+5f/9/mDYNisCt0ElaNVr3bbNpm3qk4qV20Ys6jslN1w1ghsIomq4emYLUJ79BqNH8Kc/++naZvVqYJZ2OtM5a9hrMdna6UzvuHwtJEs6neiDbMSzWLBGyOrV6pbHJJ1y3kjFlvy1+CbyQbK2WV0VvGpEs72TsjyT1bNYooGcqjGOh5or/euTqngdpKBBKh09Ttz/TC4r0Uj6UvEKJ9DQFohTNEwhPws+50qwUvyL32669xGP4VKdcPy+/1C++dubpi6+F/X3/GvDVcXKNyZhWzdyfafkiyi4QpNZaqGSuRZPiqntyd0VUaFMBFPc22ZFbH9QTPCn9U733bW+tPa2aIjituuNkbyRhlSsbRwbNlohuw/psvrjX//jhz+9HdnNG1YVTBUnTaPEU9vwn/kWae6STEH5yJV4Fuyp5IQwbtEYzq4FHVoI9DNx6iVCJH7KoUw5H/IYYp/o5pnNG9a0NR3cSDiK1bXv84XccAzDQSVmeC4X7ZpXjU6JcDRlYpbvOSu4wpTxTiFm9EFWH9qy1K8QwsxQcRom9QJud0O+UScgG8bSieW/+zG2Lh1EYnYzzgpZlZh2b5CAF/TuI3myWPC6vuYvvETgTMUiYAXfKL5gDS8cTHeKP4uvM17L8gVVCZx6QDIlFs1DJWSF4tmrxOqI8dP3vNwgi2GkFTPvfvoz32Kanr1GzOwjK0XBGqku22rR4Ap4ouU2/3U62TDnyqpr0UlLK51t85N7wvJMVt3/y+po2jY7ifBAr/vJfMMXBE5aJsHtXn7mFYFdpxPym7XV7Yarbjbpk+h6wXaZRqqM7epRi1ea3bi3b14yKo2VLqnSnPTJ88rWttlJxGcHkkvR1u//FW3QeNP/cDLWyzIbyyS/4LvpPlAl3aUNjmf5ki22kKGkmTLksFCcNfzk0/xM8a4Xz8ra6NFfFdNe0/OuFQy4J6vaaH/+aUL2M99+ZGU7PKlLJdfWo5vU5GS6ROUo4TDUqLtmBlFcbqGAv2q79sVqfSZNV4J9QGfibr4DbFjgibRVw89eZclvLw5c7xvS93XzeaufwlW1aRO+qAFrv2zoZbx40WM4xRafRbVMnr0KYLgEQwB3bMk/Cv6FksGjGcQQ1UaKqtmXYpcPHIVTMgVCvw9ikT6ZmABhS4Yg5ryuhawon4dbMgTRNUxKPgtzIA9wNnSCk5mDRP/1ahU/aRvZ8Y5eTMc3PuWd9OhGpxqH9L4aAcQJ1oYJhdmgIAkcUjH3rrS42k+Jgr0nQindY0R1AD7zwFch5BZr9R2TNwupigwHI0FMezHJerR3sLeZpg30RwpR25N9MfVdgoAkr/IU+98HBJ/Ltl51bX+drmokCkgL46Gna5upQn297nmny/a/Dwh+FhWvRWrX7XH381ftwu1NYF055zsU+0wFPP2vmPW5+rkX6KqH3sWT9P4GbMd68YYRUqf3AGl1O7P67dU91fDXaUX8/lkovpJ1bOJjbPE4pPu3VM2D229QR0PmwcpKVVkOAK9aaw42CdVnw1Utq26jSOqzNJK8bqUxjWD15e6gkDkGipiPhV+h0pgAr1NfTIeUqrIbfiU/vt3vk55UtHea4fWdX2w3rfvDX3/68Y8/pXVUc4xdMj5LZ1uWY2YL+GxC3dccN6eOz9RZ4XPcbAGfjbvLmOMzUvAZjd+sHIt9Wlv8V3sucCMi6hvxKo3tRgCb1neKbVa/XF8oJY2yd+69d3qY6Se77pMWy69lv4EZ4j6khTnfPtVcvdhDq3TvQ2qY+4zXzclGgEveTB867zCXrVqActinhOVu3j7VCyWeOChvh9Qo9w20XpnpYQSjVdt0a8cybarnbumiqxF3TLF1whSpk2EqFJypVMtu29UHWSTMjLoNDQnYDudTKUvOqm4tCwEylgFut2ZlORcNFGJIDjSX67Ws7tqnUizOSsGrJnm+3E3j0wvViXOh+KIRL/ycP4tK6N8jnopHDVY+ezEKIATGbrMihsKQgEFcVO1ai5E8JbcYDuzia8OrmobL0oJjdW0DWYE51JBoFEBwjEvBy4KkdBxKCCQsCMK+lKzBPhlbBAii2FI3FzRPxymGA5tvFGeoJzURggGZg5p9qwH9frrFUGD7jXX2hnkIliUV+qLvf999+z/+GWu7k4la/rM0O+M3vK6tbYH55k7BEMZVVYqKD3ULUT2nQrBa0M0V3T79gy8aso93UJMEk+JTHpJEQNJ90n1yUDj0h8OUAEP0doR1zatIgEhTz3yCMMBrUXcVFoFkSsAhsNXJ0gBiTOb78gh2yb//AWb/ga0xBTAkh5sXyIpgaQAx+tNkWBBbBYjSliW2UloaMIz+mwL07xNjjLFDlJEKBoWslaftTND2I0i7EL0YthKPVKAo9eisVSZD7ThylWw+DCVoqo9bDYlGV7v9ihhECX50u+QB88Ppy98lcExPDIJ4PIcFEwtF75ovdJ8DSLFPH9xdvmAlU2Q1wycHK4GDGkW751GDoq34mhGV2VQKA0VTVhMlIBIvefcOzDlm9mAsA4Tp1nSRfXBbBAjSKFEtsV/NkQoQZbfabO8EyOMwJFAQ3aTUtfiMBNnLwGAeKqa2yC+ApQHFoPxke9SQaBRNjVsMClbjq7MtAgP5yFQXOIjk2bnFcGAEOHCIk/m97e/YJu/eKtEndO6HT9sf0K3hu5Y1UhHGCgiWLkZQSiweN4iZHEtx0zYsfpAswLEXwJL80nIlIofKAhy75FgK80sCZrFE4ES+NiQVJthsZHAMWwkA5bFPinD/yhdtE2pTk2E8Shi2RrFFcyMLXt7wyPkfD5OtAGe5FF95od+C7YzXbRk+S+hZ8rcVYocL3/FKD3d5MbQB+ZYTiWTPjhNh2KVPdnNvrcw29e+wdHj3a8Y3vFnJAuBpJk/0mvF6I6uam+vcmX4HiUTPoVNRI0wNjSRXezEc+rp4pWIMN2z7BGi+umTw9qFrYoDN+CEt3P8Df+HqYr1pAG/tIW2sbK0ZSthnYiIBz/OdkmtR8zNZ1Y1qF41U9iA3Fcmtg+LSscm3sVCpPpghMZxgP68De0ZWcjjFPWeqkF+qa7kUi3wKKzmCQm9+/1lUhe4tASjM5AiKwIxDMkpsniGTxzPNkIMTmlzIpIFD4L3n27rha4rn41KiYCN4Vg4hONlD9bmSX6pRvyQfzK0T+w59/HM/X5DvN6SMOkwnkZMtPDPHGaWrg4bpJaa6GzTkI9jpo1/10UaFl6HDl7zEPN4482Nm0wzz3icHmT8+rodh4eMjDMCSyIAYxd6pdmswDTOP9/CqXU8hRj+3Tf8yHQDoIMej44Bu4fHv/crpBwxTjhIe3nxrmBCYOrVShBZh09qItPZgZ5o0LjZ/mzw2bFo12nodFD8kSHTIGWM7ksRczJXEmLz5W8SM4u2HDxdn91e3Hx7n9yf3F49n708+vLtIeZM9ScdvsGFWmOG2PcETNuJ/FeNA2lYQhuVuomJcL/16doqgdKJeSGTFWTxEhD5szlko/pGoz1i14OWokfDrWQkCwhvWLFYpgt0PQ0KyTiou/buQTJumMg4cY4mMN1d5juI/OndRuc/fex5AgvJ346S9zzTqQX4sgcEGGFJg9yLsQqh2r0P6cWS/t1839GEZuql3bFtK852BIIzE4h+0wyLZfD6b8X+2vI41uX53vyRmZaXkDY+H3AtxGRqxT0//0/28EtJyrxOfvW5wWRwEEozwmTNFsubG5/MZ3HQkFDPWq664Mt0rpFjhS9VSSbGML0mHzRIuh7nTHz9cKR4kkszw5WjLRE1ljXz19gopVgTZM1Wili02c21i3lqKrLXpORvmXgg+W1Mpt/mv2X34wZO4Kz/IEvfoD7IEHft9TzDcv0/thg9yRL3xvRxFp3wv5uibj8Jvtc0q0rltm1H2iAJwaV1Yd/nk07y73Uosq6vqnDdMlAkdZbefSyuwP819H9NOxI7GBuKYRvMdRQ6yrsZAmBkqQb/ubseCn/NSvHC1xZa2Wy5OUD0LtZ7xmjd3rK6/pMdCDXF4RBNp+ipDhWGoZfg/bCj9d2qJ/rqq7sOwU2FMRWM0/bjGSlejabyicRodkh9nrRViPpdSLXnT/xad24lYzP0D/9pY78284RsMgVMwheJhU+gLg4aHRMHhkIyRaPSq6F8h3byhn4hTMIWCrnnMbxetFP0lVWQAvVyMYM6rwnpp+8t4+0M3JA8mzSHKSfPpyPhm9D/FPxRTJ81TL9bOeNGFfyPK8UQyheR2MvCE2d+6x59OT4LPc8Z3uf9pcujCmGdCzELjxyQ1a9CJed7f3t/NedNuCLqjY62Yd/95IGtmHXJpBLTdL58mgAVfFbyiABp8X9ArGqUxk6AITKGYa/dB2u5rNTr7Lr0Ig+yb6f6NRnbJJlrBFSRzLNVdododqTlbsbLkVUoQNDdHTDeL6QP/MrzuenJPKJ6wxJbI5dDOYpvfzM+Szvgl8uz0shh0VSOFGAQTKR42+IrrkUsnIPOOuzaiavmhtG4uT/Y7WBAIAdU8nn3LQwezlwyRnMtqlwTzMGyVFD/cw7dVQn7veGNests2K/1/u6lNzDxmRDad6KFir8PkEA5R/Xctq9RYV277g0LQ50uz2yMxb1hVMFV0wanAfVufXmTnB82cTt5cTj/1PZ46c6yZBafOnRNn08s422Z1UhTd7nVWXlXPEuI4EUmyLUv5hRc3lyfxk1QBX1slybjaOvqhea6GRIrlMMF/wwsROZcSnIU1RFJsL0v5JbrNNDARukv+b7SaBGUc70TyrDi13TcVAbBLnZJVPSvq+hRm+dkiObbjLyLI1vlBdNpOb2LPMnTfv+62CrS3WZ6x5tZpnnEbcWg+NOcO4sNw2jNjn+Udn6gPANjj+fGcBYDDJZiEY6aLnalMnCPwna4MWUNrgC0Ss+03hugjJUXsylNPb94SiNo51njhFT6glgiymz7HElgyGdaO2WGItW9ueGrdTZNg+h4jhZih7mqfKMUgb9E+bYrJnRJroa+zARrt00fN9t14iNM+cczm5vLkTg3JAU5W+pjZeHUTXik9SikABO0BpCGILiDCcVKlo4jIRiqrdcI2S1ntkWthAezsFwNg1KQcdSLIR1aKog8ZDPsa2wJRO3spAZ5lt1B8j6zjuKjzcKd29RwVtY939l3guk6eKzUSRBc59fnfxOmfw+9TFqXSNWOTY+ZUX1X0lwA326vEBQ1faojjdNQGcfYM3iyCS94sVsZzzFpw9ySO+lnf15wVVl/q4FTkp/s08f/+dB/S6Wpk3oOxkoS0+1bPyljGUqcvdXhpIrAN1tN0xfe6Jg1Z4icmerO0Da3hwUmWl38HUmQElDbedqTJGu1k58W90yYypMrOi2ebi88mtNMjbBbdz+E5bRjcQeGxTN0yO7HsWqh+8j51HmaaJMkENOfjTRm19G/R9VlF9uG6zk4aX7LU/pQzVYpVqxSvGl0WiWXnSpQ7OEwrupQNs/FxaFqu3MmyxpzpmcpryYNbcFNc0vKSu8/W4wzaTAsYUaeVQ6JOHKd52OihSbKt9fu0wXli+aZ/nbM+yznf4+gm4KBHbKev02660zfg4dnO65mnSNdN7ElkdSFy+g7Bbaoe/fhe1JSpjByv/A5KwobTdMecooT0iVK3jqbNEIGzmdhhyV6Jyl1z6htUHbQo28qfNHPSKe3BJWx6nRix/WbVg7znhK62OPzcFraO+y4cQ7okdVfCuE8GvpUiTflhk6v8sIkre3ZZxw0Cu6otn4IvZMGtOZGA+P7XQcVhqJQoOfw8SdO1opuk7lvFtXyeRxNYSR7jRDH93dAuXXuXIKbrWeWKqQcWt6YegEfgSBdyMUaJafJGgoDu0hqsJSnbSQLaiq/5+omrDGo7SVDbHo4lqtuJIvp5ja9KbHXr2IgjyS2qEiTYDT4SnXa/Dimmf0Lq2LejnowBMnTNZBGP24SgGoPwbTjcXfpnro5939rpHHWSsCNd1CWrettJotr5H2hHujyXtGbXlTDg82L3CZMsRmmCvZllJRpjM7IvZsrj7pej7qgnUspkxS9J9jsjXa8/jZEYXA5Jc3FL+A2jCyOptn6hiLlz9iXL1VZIshsP/AB+e4kEw8ksR7bfQSHJDp0/QyJiGJqoyLJ1CvnMExZV0sxDQj7z0PJKmqtTIWgXXK3OMHXrBK3DcyYZ3h4hr7l/tSfR1CHgMwsvxqT5eTR8lpFlmTRPn0iqKSynXpWQLe4Tk/VtCS7aAPyi+ctdvkljSFYFY8HKJl3WD+ZZ0kkFGCf3GsG7F2n9CkyHIrEnEV3wyXFzyYSMp0s/6W5G2pAFsHuU1i/CdIgSe0LxjVNpdgGdsDWqYXVLhA3xnb6AToY17LGGhDLMYR3OkFCOOVnW4x0x/9JSouk0vc8qZT0rzTSoFLT3rmxlGE81fJauNa40IyulTz683JVm5NGIWMIyNU6cYGLODmabdIkjJp7ptiyvsYbP0rWQlWZkpYzLu2b2co0sDZ+le/kpzWqUNmjhmdbNMBorBO1wZeiW8Bo616cSney0PgvfUlWaySS1z8a3apVmM0ntt/EtYKUaTdKHrMAt6zixzyRjWSvNOEXQDzNZ4Uo1PST0ioO+GnXscxFa98qxGCmE7G7zuw6HZCHh/O9dHfvQBRfG0jzcEmFD6GszSR22QX2/3RIZhtnfBo+Gz9K7iJbmNk3uMwLcRrC3gt1KcNan1kVxJ2VZe04/+Q4cBtyDyjbb9Hhi9+NbtVjxulGskWkHsQI0TtHQwal9gnkjVVpYvxT7Ti3kuys22FUR8ccRvzbCWgLSnYBp3AsYga0W8h2ONmIdB50Ur6uC5EGP5GI17Ge+jR59iVQrLRE/k7V/+OMDutmeE62YeferGX9WvF7FAxQFnG0ht+2vjlxb94ZEzt9GG7p00VAbd86fWVs23soXxXALJFi62rRUN18LZhsF2u6oUaSJto1GXxjrA2PHGEt5l2NqoVd5p2HUiGnN8lx9ayL4ZWxz6xrcRdoXPN0+5YttEaj+lXS1Lv5dRnvXSergrsbRb/VgQbbNOS/aTdI2Lb+tJRXcfZhwOazhlHNLLGraw7o0Nm/2Azo1YVlGZijsK7ySSzG39DJ3eQ/6uZu983fuWU7J+/fy9zcb18+Ftjnbj0P3yGr7o+B6IvufJT2PzNHMQRx4wVq9rRZnspyEgYaYfTdV8708/+fNH1Zyzf+g2qri6g9fpPr8h53N9/+oPf93wxaf2ZLXf9iD/KEQdfMHXq//0HWM/s8beAYeHzXQYw/0qIGGZI//qD3/dwB63As/aqBHXq8fG8dD+MnzEMqyi9jbX0ApVaT9+o1y8Z0L0/d8T8ry+HOTlJFeWYcW1384zqyMGb2Z0dFgZcHnup/Il5HFy98sO1PK1AyNr1I/5mztWVMzN+NNqxBN9L8zc3vW1MzZY49jztqONJSxof9/xDXRRAxlRSrxr271ZdaWR/yAxpj+3eHrjaxFw/tJgGcR60//Vplyg4Y2vZdi0bxnVVEeb5bGkIHsNEqWN7yu2ZIfb9Pg5PRmqgtwe/T1bkrpPexwNT87mZ0fZz4OcF581rBuXq476LE80mxMIKPZmS9WfM2OPDt7yHh2KrapV/JIu94uTP/hoG5C+I6rWtSNjm0uC17qtR07JutR5S/GHMgsV4oXZ6wsn9ji84zXsnzhahK67MhyG4H2ZbeLH3vUX98RYTAjx/vFNfG8Z6YU26x+uT6TVX9vz3HmxEEZyVA3+XLUmRkIoxkpm2N9TcaIkazMF6xkR/y+uDB9WTr2rmlSp/Two1PFqiN9XaaQ8ez0U6/q8IfxVXXHmUE/dmKWP7KyPdKXy0OamLEj7QM5KFMzdCnVVSW+jSppwHqzVxX8K6+Pt3G3Af3ZaLiqWHnM48IJYzQz7VO9UKLrl++mX448Z05gXzZ/5kc8IX6A8+Ff6yuP7sWaqxlb8N0oqm8fj7TVixD7MnrDKrbkxbH3nFyY/iw1i5Xe9DS6uvS48jNi9GZmt3H2Vu0mMo40Pw7MWJZmnBW3Vbk95r6El9WbOT27dFLXciHY8Q7dHZThDKUd8vhts5NwisT+oV52+xYytONMz1R37/K3krMBNj17d0puuGqOdPNHkDcrk6O9vEefyYE3LZPH2uJPIMPZ2e2tOOrcGIzRzBzvLokxYjArRzzVbPHFM3G8w6gJYzwzx/yapPXtjnd+yMSLZuGU1cdcqwzESFbqhlWu04pHmKUJajBr9iHBo8vODi+YBZ3VI87CDi+YhX6H9XEP5EzGYGbuFC90KIpjfvNNxrTMnCyXii9Zwy++Nrw67i5zEDotu99SLrMz90GXyXG/bS7WtMwNpzW+hcwZrN7MtY2ewezSHWmWbEJfRj6wNa83h1nzI31ALkxvlmT1LYwgXJixLOmfncmqblS7ONqXyQ8byN4H/sLV8Xb7RoS+jNw+dUdRf2m52h71Xkk3qDdbm+N9jfZsfnidPVaW229kvS8M7MvmHVuKqvsmJwQY/a2yNoX0Zsfes3yk2ZlAJmbn6NvwIG9iJo97b3z+pnijZ79R43gLR5U1J2g0W0feX3JyRjP1Tsl2c6Qf4SlkNDvDhqQ6Grz6N8/UCDWatWPeETuFjGan7h7qkWdnD+nPjlzwutbDr2PNigkYyEbRLrj6FmYCvayxzH0bPUAvbCx7c6mab+TRjVF9WeuHX9WR5sag82VgxhetqsUL/xZeLD9sZva+kUn3DPrMAvgm8w3P7nFPzMehM7N73FP1cWh/dsuuRI53iDMijGWkXokjnphzUPoy1B9wPM5s7Nn88Md7Mid6Iqf/wRFPsdmACdk40rH+iDCckf1q1zHnxYRMzM5RPxuLMpKh3QrXUWfnwJiWmeN+OAakNzu86Za8j3we04XpzZJUzXl3L8zRdj/HiKGsHPkAMXXYbv3u2BcD/LBJ2TvmWVk3aFK2jnl21g3qzda3cpY67wz1vItF3YccPNL82IShjHRxj443FwNeMAvH3syNGf2ZqRu+7gJ0Vrw62ro1hvRlZ7TJ6oYdaaPm5PRl6qHm6piH1RafLxMf//QtTIo7KL0Z0vEUjj07Y0ZfZnZ3n3Sb+o505DNG9GXl8VHYEakeH48zQ25Qf7bWw8ac482QjejLiqiHeAO80E/1OHPjoPRn6KJq10c+0J5C+rPT/eroQ1c4Of2Z+kaiHLpB/dn6NoLoOTn9mfpWonN4SFMztg+Mf7T71yLEqRn9ZvKXl607JdZMbb+Z3Fm8kUwe/ecs+biQqL+RM1BuUH+27B2zx5qnCWVChm6f/nH02ekZ/Zk5+sXkMWJSVnRX+NgD94SB/dm8Z2rJG73y+Q30fX2wvuzV38C0pc34/Q+h+5x8lz16rvr9DbI0QuyyuM+Rvj/YvICT/BLJthHlMd0hqXke7TLwXCH54eTmYn53cnYxP0b67yy83CtDDjlyXYX978+Rj9N+UJOLxLs0d0quhRk76LiytMML5uTk/mR+fzu7OOTBfU32b5CLAc3mt+7dPr+4PHm4vn+8m13dnMz+/vjzxd8fP55cP1w8zi/uTmYn97ezI8xYHDqQ5avz48vR1XkQ+OLD/dXl1cWsy+kRPxgfaSBzuoKevDvCt2cHFkL/+4ezI+T++4ezAPTD/OIIK46mCkBzvZ6+2+JQHx+9hRfIBus6py9cGXM97kvY//15OLDZGbBuku9+NL6u6Khy0MPFsjCX5unLo8qARgvgF93GwF0o/ot/tqwUzRHWJidmIFu81js4Rb0azjicVIUdu+ZYcuYjDWXu64q1dSNe+NmKLz4fYZ5swGBWGsUWzc98e/V88VXUzTE+oQljPEOHWe1u2rTbuX60OXPB5mRxfPHI0WavB83JWn1STe5VOdrsHWDjWTxM1dWXSq7nanG0GZyiBrK35E13bdPx5WYgS4DX2XRO9x5bXkagCVk7zo+wSRfOxAfz6oojwv8gv4TBu1uUK3aM/VSTLpwJfYNU3bD1Zhyu/YiyMmIMZEhUN3wt1fYQaeP4MjRlDGao4F91Q63bheN80yeIoezUJ5/m59ZO2qPJxoCWgq9r5BFnQePFsnGxZqI80jx0bLEMXN2dFIVeRDzSTOz5Yhn57/nthyPNg0aL4d+tZHWsL0PHFsvAEb/MKS/y/ut4xHno+GIZeZhdH2kWHmbXQfirYhe19hj593CRLExC8B5nZiaYwWz5I88eT57GjMEMDXsHjzxPDsxwttqyvFUPVcGfRXWcVW+EGMzOnRIvrOnCNR1jVgy8YDbm7JkpoXeDs4Y9Cb1CcKxZ8qAGsveZb+tu3eP4srNHC+CvuVryO32t8DHOpJp0oUzISjayEouHUhSXTDcTR7hU5qIMZGrTh2c1D1Ec4RNyUQYypfhSRw5X+4Zd7wI7vlw5MQPZqqVqukZD8ctdFo4vUw7IQJYaxfTh2fE9PceSGQsvkI0XVoqCNa7D18eSlQliTnZGF5YebZ46znDGWn6sH1IDbpIFc1/2ScXKbSMW9cmoCeBVu07PxEjGtjS3pJ5sBNJpEAh46Lu2cSZ7Bb/LGWv40vpq53kM6f0O+oaKbjEDl5mRjN/vUrE11xUQ6rQX8Hu84xKXm72A3+OqOtls+i1volri7Fxafue+7ejef5ztRCjg2darD1IfPV70e35wxk41v7uuWGyJrKGWSOC9vruCn5jozjb0Crut8n92NYNYA0PHZYM66d07mEewLfH9e450MHUcNu+4RBr0Cg5p+2VDukzEnIYN19tCcFe37ewsKYfZB4mJ/b/aXUzneSpGg4H0sJVcVu3TvH3CugwiTgO7DUJbTeQcprs2COl1UHFZ9DHxntAmho6vUlesPLm7Go1Vcw8wjZUmZ41+30vqvb98o7juNRdvzPbu0/xks9HR2maclXo95E7JF2FdJgA40OiXnR5CTIGZXN5IyrRTD6J175sVzg2CMKgErZRi2yF+PjLLllTQ1BMQCWJqSYVNt9XiSrfKTyVHehpKE8vDS9DUxfei/p5/7V+bN04Ya90CBTNZWkiFOWvrRq4faq5OlrxqznnDRFmfshpXTH7Z0GPyxJYC+FtKQcvdpn+a12CiFrL2h54COI/FQsa7qEsUTZ0tFTLtNkJSWJpCIcNrKT+3uFa0lwiZ3LDuiot72T3xqsBlbaIWtE6IrwRh8Mqmw9AyZFm74hShCQ6iIZBupQfl2inA2vHdEfDLtnwWZcmLGa/bssHROCVReDP+j+68FR2drQiD60Oo6E8GiuggE6olkcgrAF+nYgjh4do8Ww5w1ALAvs8XJhpza0MXQCS9w9MnH3n/8a//8cOf3ib5n0pZclY5vvZ5IGMdJ5HZzZJVIfRzGW4KhBpPhKLOzp4Y2N6pFmM453zzSYnG7n3nOZsaMb+L/oQP1GqXHF7L9r0iXTus1zsPZKwTy7devr59nrcbPor6mWc7kklzxRumeH1o1096GI18fUcyMdfbtWiGLXf9edoXDvZ2ikUJNph61KdO8/gjzuSPaS4/4Fx+SHMxCvj2GedoScXc78TiM1l9cYpFCfrekb5yyNEZzARwaMHbxhn/ZysUvAswpIcT9NGGiVoSp1js6Rx6igjfvUTUrVGiWuJzasvEXHUq+/bwPLshfcxn3BfRU4HT9fg875Bm/M0brtstjb0g+SFgTJ1JrJZfp52N/GDfk4S2jSdk3ZI3/z23bWIbXaZGe5HwucyP/T4cIav8fWlO06lgeEdM26z0TMC8Ufrpb+1shxa2XSkDOyH8jzBkMkn2/Q9+j2uxFt0hUjVjC74LfjcJQhCyCyn4fadRw0/K0jztHLL0JM5xm64y5Rm6l5Mmno6+ftTH0683tV0BIkO6h9/7NW836VWs/21ol0u3gdZu6EOCRgK/qnEBfYLk8OvAzhT3bYohUStJYB+KLzZreH01GC/VDtw4rPGss7R1gpDqfmNH1rKwnSqkb98tdKa4vdYVtnEmjrpZt+dBHF0CIdf9b4e18dqadQ47OhMnuSU/rUOKYP3q053JqvtD+rSgnTC4+jr6GN4xxdY5KyVugZjl0HLnOu3TxQykEv/q2u9Zm7WqPEkbMtLlq2S5C9uXuTA6TRyyOrzesnoWywyfUcokk3nFNvVK5lS5SdqgEX9mbdnccVXr0xBVczNc2aRlclyDQhEEZ8jh/GXQiFJ44bVvYMb36kU97YRJFqErSdP9pioh85/5NvOt2KVIX1TM0LYTplvY20EzbXTiPKs7JTdcNTmLpH6RuHXbrDLbSCtd1GB0jiRN3XGowyedWcHshFGLq6puWLXgukkp8tomZ/qoof5hrolOExIOXDwTNZikDS+zDyGDrqpNm/P5GKUMmtiNvfOgedzPK5JhDfhgAb5U9s01OV+mUcokk/H1bekmfcokk/FN3+kmfcqwSb/4iqiLboWQ6RDJNfPlMpOF5J2X+ETVjVRx8eE9z9YfEgYtQrfXx32mqYNmu2MqBds0WTuY7YRBC+dF6HEDI1lMfnQ9eZJ2lyYs7LlnO0HeShncwuK4KDqqf0gUHNmV/Xcoc8Fkkiy2UHBSlvkW6eqjIXOiwyhVrsuMN61KXKZ2p41vpNltSDxcsplm50iYsGmne43es6oo032sRGnbc7IzM0oV3YCzHziP3pmQyShRdNONbhiyispMkaSevsdk//OY7m4NZb+tKk1+nCrRZTRMSXBwjVH86vaFB0ny02sIpvq5tTO9Xl7Z14LnyneJ0j369ln5rxFOc/XIZHJ062Yg6y5lplviF2acKtflUqqrSsBKdEgc9dT7/3md3hYYCWLau2hquRV+kizu0yxWej9At9ifamKmiTrs5gJu1W76MtFknCzVZ8ZZcVuV25za5k4bdexmhlx7p4Neo1RpLo7bP+Mm+0RpHrtuUJbFkCbJIeuRHBIkaae/7fufJ+vah9CStB0HzHz6/ZTZZJ0wwcZKmeRmB7+KWkyjUHl0HWGBouKeOD0xh5PlUvEla/jF14ZXRXLLGBbJY8BYwxw/aNq8NmaSNs9xGOBBHIe0Uce220U/mooJ+hgpolu09Y0am8MOocSsTJJFfXZzQvpz6JyfDbq5Eyd4fuAvXKW/0GaK6Kblp5qrF97vZxkvEYZMHAlTN0jvI8jm9nkCAtEtkvb8dJrfKFHyNkzXRdBBn2nCZC/H2keSlW/dw7Wtu5s1hrT+7rSpjtb8aJ6hlTTmN+OLVtXihUOy6EkM9AR+8lLVgFQkMEiGvM9iRATIkPehjIjEGfo1lHolNunv9zhV/FiA3sibpt3/Nu2gQaqid5YvFtvFWARK/GKZKdIyse8f5BjsE2V6ZOXikCrRZdf3yDMZEkU9eNP11TK/RZNkUZ/8D0LWh8D6ce5H3JM4y3O8fpzs51w+nnqF9koFvaLbo6Zeet0utwitNCmnfYx+tBW+KOQyTRdz+vgnSM9gnCrqoudYcz2sNDEHfaZItk03OEhsCawk0SWfq/nZySzjDvldAlvXuhfaEVUwKjokCcg+Pgp7Rv/xMd3AkThotR52xOSZGMkC8jrebsa9393PA3KiEs34Cx479nRIYwuPb5rxROGKytehoFsjE084p7hHIHrTyMIfQynuEg6ZNDIKHNGKO0VO2k1uofGtT8WdwotSrnthPDtQ41axLahBM3e4olxTf3SioDnKM8/KFY4o19EXfchlDHrdQnsvPTfvgHwi2zwn18eYGwtzfOyUaSa3T/8AWdw+/SNo4NxVF9f3bqvzy+vm2LVglWVmiwStI4GM4rYJcYvsayo8vdiYk51ufEZ2dORXVN+zzeb7dVrkYVE9ss3mcf/rUafMfYL6P/dnvX/XLeX+V6aHOxRszNWIgcxPZRHf+Z/gO9YMnxE5/FYfS2KiStg4mQmxF04lec9ZSgTaTIxeNZFBVMuLl5SNknkQg2w6xa7vsNXbJNO2M2cTTSyCdMaPE5ZDUmCmivHdJlbtSt0PmF9vczYNmkmNYOOjaoSmGktnYIlqOefqRSw40ZMLSEeXuipPfmieY0zejfer53Hmv3Nm6tRm77RtmoSog0GvXiOnyQc1cg6RVM+rNbpAO4lUv3mzTTjjFvTrJMLHrHQDNq1xwAY7KBfiOBf1Rm9I62r6yDzhNZomT9xq6Po6JfjFPjzBJnZ8o0mK3yR5juE128rcDE6S5xje86/NSSmW8EzuFZJb475Y7tlnPq68CdZeFYj9bdtQ+PcyyQDnol6LuuYFIve2Rr41JucjkRzzTcm22HwbGvnWyHybIsnmM77g4gWVbUsi2xiTaVsjYQ1y1KPNz7RHI2a9KDlTO+joJMjE1EodmIoozM9XtouVOjTHYny0sk3MxCGPSjSCleJf3HfjUqqfRyjgXXk6H9nePqGAt3Q04Nm+LpEUz33TCXfcSyT69U0Wyq+XSPEbWgu43aAQmg6cNBDZdlOJyPQjuGExEwc8NqLaSGE2KSkzgo9DsqSJwFDPPd/tO6dcD/DTD3/96cc//pTWiQdYu9R8zonjJgBFTNlHlNARBtCEVHNIxp0FIpS9bJTF1z3GgEw00ykoy2MqmsLh7DQjMWzNdAri0hiJRjk8XWkMxVgymYGyKCaaPopoBxtA4df0UXj62gDvsZLP0dPvBjiOlXyO7j44wHAk5PWL9sch3n5RH0e8bw7gCIj6OML9dACDRzDq7+izY9xNuRTvcf8d6b2Xi3pP+/IYa0PN5xzq1wOsnXJeb2cfH+JqC9l+v452HBT8a8ys4F9fZ2+BFoZtKDiTBX/HqzNZVX0U41hUaZ+ZU8hGMAPWnl5c3354N3+8v4Xn7TtLpPewLs59fzJ/vDn58HeEhSHhMbj9cIHU7xUc8id3V4cYJSmxXH1WY6HQmtDJ3dWM1w3e8aAStDvsGtLnvpPConlNp1oh6zNZvXCFzamlErTrwv04QsznGto6GZYnatmu09Zvk6wHvRBC1zU7bZ+fuUIW9EQpZJsWS9RnFQ0qunubhiDTyJw51VI21SB9bZkUw4uqEY3g9S6uSDzEZMx6LJgCoVcpyQBMsbh5s71mT7ykyv9YLn2bF1HNC4mGYfbd/vqaf/34A5rDqZeD8JYY4W0iwkZx7CdkpJNkSfMSuNRC9j+Litf60IXiK1lzoloYVE3AocVIt+9q6qnEPn5bJmb4lsbwbZqhXHRf+t1ePayvSy1knxnA3eebGc49Pfh10DAndHijZL3px02JAVGD1g7B8Ha03KjfPve8GOBc1Tr4iPgXVUPiVQxi7Mb8VAxOuSBAdwyl+/DQDEl8gokQRL1Lr2IqBtHX1S+ZCEJVMXyKYYzh2NhV9SwR3qZM0LCtV91iqOjbaqrMB2VDQLOL+T0RxFQqZDz/kch2LBQ0Tb/F3muXdIN9TqD4sBN12PiwW1IQ+Q3ni9U7XvVxYdDdZI9eCOFesWof4AEN4FSL2pes4STDBKdaZA5x/M64Ngt6pw6d78k0bnnFym0jFjXCy5aIOhoTjLyU1bK+lyBbh06G93tW37AqGA0+wXmnkudr3ecItZ1c8xh0jYW/SfBMCYVz0lxzVjfQDO5Tx3w8c6iRs1VZ87HRw1SjdBTeUc+kUEbBCdmUpxgPkxu0iObiHZfw1mafOOrSTwgPEYJBXrZE/BzJYfYLnsGpSszX7BMijB0yMec7pvR2CojbLqnTIeny+jux+AwyFovPCFdrWAgs6YlIrJxnfCFV8FIAb3e9SwnP76EjDGoQjOTRoxKJofMSOtKU4efSetJxx/62I3idsQTiJ2l17OBWLfiklga7raNUwe5pn/Ag7I7x1Ovufmzr/WgTb9p69X1ltkHhLQH694/W719jX4jDBbZJ5GRT1Xcla56lWqfeeppk7hCOriVfd/GDuZrxtXxJiPqQBOJSDi4vL9avUiBT3Zy5mvzYD0lQUZus+SSu9JY5uiILGKQsJifGpUhCAUSmuK3G/EP0kXhYgySmmEEc8F5+5tWw5Y8OyyUb7bONsvKON6es0F+WtmriJyNB9cnhAcC8Zm21sP74erg+LwD24WWaN6xp69eDdjvlIt9W1r82vEo4qgtC9jpRIL9SMfutcNCHYxenbPF5qWRb/VtK3etLn51/yxPxG1Nl6FIq/ls8n5EvfXb+zc9nbJyfIevz91oPY2qCBH21Yna45KKOvyDklGODXMAZ/2fLa+NLV7/Oc/f45OKmh/4CUeaF/5qmNnplr1OMU4v41MVYY3Q3czdpFWdzqtjmP7z9S8A2NQxZgndCTDJ8LxzQx6brUyN6zFQ9ZHD/NyuelsM4O6IWVQcb3H0m6y7DO8Ov0/kl6tq+UleWqqP6Oh1Tom7nK3UzqTqRBJ1GSJeQogsI6uDR9JeAvSF0ByO1+3CwXJopDm7u4DQORyu9bWbFp1m6Pngwv6lO2NffR89xDXfEwdG3HGbZ8bfG3SdIDgNqAQbp+J4BzF0yya6u7wKawSUKIDq0toREB9EgkdX4gewthYCXmrR2ALupSMCxRrZadWKrlRZVa2qQF1crOJaBGH7nVrRjCWQOa6AcAeUAT2yEA6Xx6vpYMuOORRlyIo8ljHtADCHdHBaShxIUTqNJGA0RoIVc4JyvUIZBm1xS7xiJFHTqAud81RJ12PhJQyMnIJVTMpGAqGDcmj6G6HgKROFX9XGEhlYgBKegz90zygIZj7UCnqERF9TbqRlg8I++oAQORZ9/egy2qHF2FLbAqAwGEFT28YRHaCAQj2QaQXi0RsDjMcilc43cSOksAz+dZxQHRBmr+XxDIzqQtVPQ5+4Z3YGMx1q2px1Pre63DIcddz96jb2zgzRww2yvkrD65/cxNUJrf6fbhtczVi2nK7WeVT+/50QrtOx3Jtdr3eZgTS2d4JbNhq91XC+E1yARPD067FbfbLu+hL5N0br6M9vVoziBOJxqKPhGcX0zZfFmSvaONw+qHHchoVSmWkKxEDyEkVKCqd6ZTZXfg1aC8f54G21NcMpCq8NU7I6ZlwDTQWpdUKHdKf4svr4KUqeMLrpd65O2aT4d05RNKjhsW2oLJVg+bErJCn3Bewd5x7b633gCt270yPqzYzN+NsJIKcX0ntWfCRy1TMjukxINwVM2ZbKrvv4KnfO6EZVZRSdN23SNM/QFD0hGzu/5IefdcS4qPpcaCO1cfqmGup2wN85P5RCKrRA7kqAKxq9HVTTTzxEBn+M75C0q+82GmDteaudGMCU3XOlYlhRPJiAIejQ+PfizCSkmFJfuc2LeHksiyw/7XCZK0AdiC6GexFQqunOw4WtUSRgCoAIY0sPzbSrEsqt7/SclTXm7tQAEo14xksHVE057FIchkS5SONBBgwAD/4ymWinP6E6HwmUNJ6sqHkEoC7LSeCVBj2zGWYFqxg0BIIA+q41EMCTiexLrjaxqfiqL7Y34KoJ37YY8RzKJMRjMDpF7SiKHIiIKeiAhTfh7FFMFFF98H2sWTuKdqvs5t0Pfiew5elUxD9Itin6Sftn0InxQJWXZjeSQhWaqUZTWWC+xmOAfdEMgw4viWWB7liMZdOnn9CCMSeZD9wzlbktl+NNVv4kaiALRcfHrYSqIozuExhvpJRZU3wUha8ymcjAOdMVx6CWSzNsnbTtvFGv4ElccI61EgtEMNsVzcUtiqrBDEf3QPJrZxTZZS0CxuFcQJhTmTLzekhSMnZg2od/JxHwPoKiWZCKT7Yuqpz41UBV1isFrp1curYjg88CH9PHz37tqm7Hxw0wR2uYx1Mg7JZeK1/Xo8tTIGpIzdXhzx26vQkqZ7X8MXutJH4wdfg02GypOVv6sRLEqZybIy5qdKmc9KDk3k0T4tZ7kLCaOmHPMs5+mN3FOaec/XX/qrMWl5GxOUxEsHCXn1pEMb5/9qP2ps8o8/2EHkqetVeVkcfg5Zh0qJ2e+7WI5hpBHOU6WVpKghzdJl7i6k5wd8/fgxRI9LZCcKysBxjL70bnSJZZn/sNzJsxZa8nKlpUIXKj7SYOsXNqp0Oagx+pMnFPasAfsTh1fu9nPRqQYGT/HLE0lZ8z8PcIw+zk6kqWVZP6zc6VLH+Em52iUBDt6Tc7eOA3SOPtJepKml3D+E/WljXku5MaYo3AHCxg89G8DgQEKo2OdKmmmCUgvzW5cqraVKCz+oMoM1QdVBuREfcaqBS9Hcw9hVStRQLwUdTS2w6CpfxuQUl0bkCrW/zog125yn/0hRUC2/jHpfNBj/WPSgSDHdEqC6ndmMt8JLdf0Sap29MhwYLok1WOcPMUKmp9Jep9ZYOIkxcuVPMUKki9n+hQzxHMLyeRYY/Ob/DxDUyQpps70SWaQLLoFkuwQDzWok2WOznPOc51OhiTaGQnD8sDsmCnDBriH5hBIs4PnK/n5uKc9UoxGKSMGkKyMk0YsEA/Jo5BoiMhb1nPyTHCk2o2Tp1hBszZJn2KGfIA+mRxrbH6Tn6dzKiPFzU4YlofkZpQybIB4Ym6BNDt4vpKfj3fSIsVrmjhuA8mTI3XcCPHM/CLptrh8Jj8/e3oixWSXwifonqRIER6l9Bl4pipSHMZJAxbWhEWidp/GJ2rPLKRI7lL4BMfzCymS+zQ+UdcsQ4qwlc4Wt6KdcPUSi4q0l+5+mzTrAIt5MjjAQp+4Yl3kxCPwu/uUp9tYfvW+ycGZocE6Mt8ImRQcpF9lbtAQD08RZsziDZqUk3mDpmdOzw4A1DaijLRj3U9e40XohWH1/337dNbN7wd3f/kchtShnWBXP/ylGt+MmuNxSB9yGd42tlhxmI+pkOrUxwLC+/U6IdeTD++uLx5FVTd6Arx4ZEqxbTwog8/cLTdpmpLuLT6ZXZ2Mzpbl0gwKQIAnqZq5WFbm9di5CAcNNES3W/GGbShgBi0oVN3oC867GFkIHEMFB/JJqs8Jl+DGSHoZChSCZ+WSA6IVhXWzb2roFS+bWw8I15t1gnbPMpdqJBTa13tSiTVr9F3XcLu9BDDfXXorACqIYHLZRDbAxfMzX8Q3UUcxeh0sTNKG7jiLc2c3AOWqElQ4WooCCdWsjJWQQJeKrfmdki+iwLS/Tjkk2l3Jtk9s8ZmoRllylGg0NWwiiUS8F2teigrbPhpKQCDdgzxtn5+5+ij4FziOrQOEqWuxrHjxQRb7YD9wIocYEKtpEO9e00DftLYQsi9SuPtBAw2BfiATKQTSnZILXteiWiLbH4dYAOuwme53mYS4ZsgjCC3AZjXav5XNs1MIdgLbZmWHYQe4TK/Esk1OmT5tBv9g79LDCvKUP0vFH7qJc1w1nCgBgUr5dMbKUn+p4CyGCBwDWR6DAhIA9dZZKnCQ3VTs9pQtUSiGDhBGFvGowl4CWYRiBwdsz85P7k/mfIEajJkiQIz5fNYiBqS79GDzebMt+XzFObxCWioEIKi3Y6IEBLKnfnMhptO+oxPG/TytPY8NMXHNZTus7Eg4ECNHKBy3DbY/NhaKmv7ScrUlcTWVENVmNxePY9mJQDGqF1afyfVG1qIRFaaSjZQwQOeKfbla44rG0sHCJK3NxlmcC7EZKJeiLOeNkp9513RharFLDonWcEVApFUwIO8UKwSm72bLYFC6qoeatB7poGHmaymbFf49t8UwWHes0f8JybNTwYDMMJPcBwkcQlVwJarlmaz0f3h7jgYaC9LizXmjm3rsW+8XxuDOV6yQX0gaSlMKhWTHWoKxOAItZUHc63/gGLQEFkF/D0W1JHk+Ez0UXBcFSCpMP9jSwcD0t+7u3JFAlhYQasX0qjNXuK+aqQIFEWU3NY6A2CkAAUqxeZJMISfObBkKFNygeCIFRZI1x5bMIIFFQJaIKQNEkes1qij69GDzfkiGXTwfC9Hg4B6OQwyO1Ta86Dcp3Is1qo/sEINiVXqfj6hOpSw5q+6YXgHHDbS8kkjE89ubeaN7cZSQDlEspmyfSo7bmuYSQ2I9XMtqSUR10IJCyc9imFjCfenHSsFJOrXdNBLu1SUH5ritG7m+KLluZ/tybBcNYoXRJ0iAN+NLUTcKvhTiVEOB4b4rBw00BO5rYuvAYM5vby6+LvgGtVpkioAxrtab/hHjthFOlMBAN6xRCfdbBkB6BSTA23NULRnpIGFoUAhAuitmqhLeqkyUwEB3+jJsDMfd/jZtsD32uexFcBgUT8USAuOgpkd36VHm2CcyaKAgKJ6HqQOG6TvFmK2+pggQgzVsCJkNxzBEgBj8RSz4jcSPcCdKREAniwUvd5cd08GZqq8AinvfYspEwLSQhGAz2XeWZpgJ/6DqK4DSluZYGQN8q8TQ/aR4xcdylGgEheiSBCLKRYuaehwEcPYnVbEbbnb5ec+qosRMD0V0XwUWfbYmUR8HT0ZJg3Op2JKk/g1COJxb1a/kzqTEI5liOCz0YZqxEA0OdqucRw8Jt90QlNN2Ay4j/OwxetL4XDHksZG9AhIA97EzVWAgF/9z//hU8qp4XItqzeCTS2MhOM5CllI9PnXnhB6fS8ngBeSWI0JbsfKZmu+gCYfskvfPAgVm6CBgFFs+FnyD2P1py8BR6tm7UxSEFkDYr1jB1aP+S6v4YylxT2cqB0cbRBZyvdHXdglZPT5tmgUK0CdKi6mWr4CpRfGYz91W3EdWiVo2Sm4EDehUFohKsVCPX6Df9eThBH16lPnZfH5V6Q5Wt/cNi2Kr4cD0ds6quSgELpaGWw6Hpng3vsb2cd1yKLRz/iwqQQg3EUThoUeYIx0UTLedsWIluoz2QkAcfZgYfXLVUkGA4MYGBwksAmp0YMsAUXAFgSiDIcoQ6kUxREL7ZgjKmqCYh2hPOIhBhQDk9ukfmDVLhxYFFLZJJwus1be/shDPQm8Lx9YeUwkBdM/UEnHC2NAAQgx/AxPsBNBBOC4FosekE8MKQKekOPE/0oHDzLc15kzyQQKLcC4U11v4thcVZvedT5AMT+8tQDTDXkUsoM6l4DW6l+RVpACkeK4kj7MTIS6rLVVJXZYMcehvpAOEkYs28Xp3L8deAouA+nzaMggUbN/CFIFiVM0l5qDaIICzP+f1QolNIxFLzA4tHNScN9foOEsuMTosZDV2CyLxZKsI6lMvA0VRaz0Kwz45Q4UABPmsRkpAIH0kZ8b/2fK6wX+qHGJArLYs64XiHD2BNlGCAb1ja75h8AWTXXqU+WnbNIjdh5YKCgT3GpkieAzUSzQWQuG8Z5tGLE4WTcswx46cakAw3uxjtKK7Fi4xMJbecKMPbhNAjaSASKV82oXMR+9sc2iRQaFn7gOaMMj39zfXJ9ViJRV2HW2ihABSnJHgHHQQMDpyKgmNIQTHOZ1RsOxVECCs5iQoBx0EjCy2JDAHHRIY9Avv0UPAdf0HkrIyleBAfWQUCiBLCQEkyxIZa9SWgaOc63UGiqIxhRA4esBCQXPQwcGQFY+thYDiDRMlSW22pRBIgpVySUJkKmGAhkl3EiZbDL3o04u+0LC9oAuLgoMK4nxfgPds+YGtOfbDFtBFw5J8ecm+ujsh2nIjKa31Ey9IKpkhBMe5FLws5pykUR9pIaBkRQN00CFpprr5OhIwQ4iOjOox2lqvwUfSVng04dXuPclI7z1+pPeeM5ImwtDBwegLTIh4DlIIpGZdkvAcdBAw2w1Xpag+75QeGoHYm+lVhANekTVbV4ntVgxIR1Im4TGEEDj6zmgSHEMIjnN9RcGyV0GAsCdO8pqZQggcvuQVSbNoKSGADm8oDuegA4e5YRsKloMMBkX9s+UkL7gtRdITueGFIJlTMYUQhWWokPSKXIIYvKqlKay9DgaGZjbM0EHBcJIlHFMIgSNJmsaDDBzllmqS8JZkhrDfx07CYyohgDbNOyVbkvZ6pIWCEjSrFJYSAkjNP74j4TGEEDhtQ9RLtJTgQDo48FKxzYqCaSyGw1pTIa0pP/x3YqFP45KwWVKIwiLCIUGRS32YmobH0oJD/dLKhqSETCE4zrzbFUvBYykhgEpJg3PQQcB0+01JcEwlBNCGkXzQDB0EjD5ZTkJjCMFx7vVp8jNG9tF36GHheEky+TAWw2JJQipJBEVGRIMzk1/IiA5aSKjdRbRkYLYeAo6vNyWj+cyNtDBQXxuqPYEjLQSUoJnFNnQwMA3Re2cIIXAUW5BMRppCcJwHqimAB5IpgIfqcyW/kLz7thQc6aMoOMkmV1OIBodkGtIlCMRj9epspSMH4o5RjHRIYFCHKRxaQChR6w1ZcJA+Pcz86vz0rFU14gDHXgEJ8Ek0q4+sbOFH56ZSYCS9wfGJ1fyqeoZf7zPSAcNcsgWqghwkwAhXVcHhoSoHAbD9z3yLC2BqaIAhbje8Oj/dnffDkFhCNDjoRt8nCMYjKCdsCRGWDVWpdPdGMNxmeVuGAoWihBxyYLSPXOmwkBTdBqcaIRiqC+FVBAIWJT/nrEAF5jZF4BhUR6wdWmgo7CHMqRQQSW9/OhXNGvPiHTTQEOhymUihkcbXrFOwjTXJIdFXzCdoI6BRt2PuFZAANGVkKgGBqoorPeCFgwwKUAC9moz7xO0lsAi4j5klg0C5lsirAiyVCYhp13CFCvM7CABzu0vd/S8mhsJYCIGDxkDbz3jTqmrG67ZEVAGHGA7r7/p0DBGVoQWD+vn97HHDFCtLXg6B6XU8dUwAxoAmEJJvnyRTyPAplgoBCKqNmyiBgZ71VnwMRyeAs9/HN8H2/HyCOLw+1D0Vm6UGA9M7vXEB6/cKQAC5wN3IOAhA7ZdLRJjOPnnoe6x/IarlnZIvAhMQdKQTsuz3W1cLfRM7RzZVDi1YQTuEUM2WRw8Dp0OdI3m0BALhZ7694XXNsDNELjE6LPxzcwji8Ob9pStoqp0OCQx6BtKjh4ODf3X2CgiAX1qutnoBHUexl6FAIXjVbC0yKPyLNtUjg0PX7IkcAg0ZoNTQQEPQFI6thYFqFGfwwO2GBhqCqGQsLTRUt7uIgqgTosEhaJHGaoRg+FbJpUgISFTFLEEEXqdzxjbsSZSiERz5BZ7IodFkVTeKiUrPxFOwmXp0cCTFdlDDgqFn+6dSUKSuI30nFebh7TXQEASv4EQLCCXbGjuQ2ktgEXCtpiUDRGnLRpyxxYp3HS/sHJRbDorWsP0mCwSRoYI+n6fjEYNRdGJYUeiU6EULUwSKUZm3dJ+tRFkgS8QtCMbbbeS9Y4pXDRZtIgbDur2YP/Je6lHozYGPrUBUaLccHO35ST6qbvH9cS02mC0aTjU4WN2wqmCqeNT7Al5YI14QnSSfIByvGS7NRV3TPVEiAnrUu5oYvLHwCeLxCO42d8tRolEW30QVDvrCVcO/PjKl2PZR4u5Q9OgB4T7OHtf62/8i+Je3cCZLBojy/KyLuYupfibXm5LjOxEBTXJIVJcwoguG7S9a6cNoY+BMHRIY9LjCo0cCN97T9vacCnOqDASuDlf57q6N+CCrD21Zwkm9kkDEbgzBSpJL5V1iMKw7tuTdTnCBb14cWmRQqObEoweFQ3fKsV3xO9asEC9hnxxqvdVd9rNWacntyVq2qBrjUEOB7YLK6zs3sFSGFAXScHsxEdYgR4H2sClYQ1VevRgK6wpzG6+hgYK44c1KFhRHWnyCtHjIFtIvisLcnbvoKwVJMU4ViQEpCtKtCgTl6lmqNasQa8CGBhoCd4fxWAiPg+06O7TQUDdMwdddRzokMNgZcbccHo2zulUk9XonRYVEWWCWIhrwA3sRS9y2UqcaelXBUEWObyZKeLY+hOBVNcQSxH2KXGrAB+uSwn2CfIo0gJ9EVcgvZHS9HCUa/oMQlAWiyg4CWe0METwGrpKNhKA4m3mD7xiaKgQgyIIZKQGBlFzonbHV8krv6mhxEQicamCwPtgo7pGZKgQguEc2VgIDrUXNr8VnRH/moIGCmPF/8AXBjJ5LjRAM+9jcimDADVfNtgt8w4vhGBKiB+gRhOH90vJWVMt5o1jDl/Dx10iHBGYu/gWv8g4tGNTs/uz8/ubyXlacYtbGLUeJhqr9fkk4ImuY1qo4fNnElqFAwT/FkRYZFPr5OfTI4DAdYLccHK0p6275ZYPZxjkWosEhKSuXIBgPd1JvEMDZo9+5gwoBCPY9s5VwQCQsKIyrBT9jVSFQSzYjHRIYbNGMtTBQJM2NqUMCQ9HYuPTAcHecqzNZVX0H+mrBad7+gOxroGIrXkSaEJm+YInL9HWKE12Ss2ax6S6o0Xd3wUdkEyUE0Ibk0NNUCoUkC77Yi8HHiE41NBjVAxyr4cCqRomnVh9RQh6z9Qli8PQFvlxdfG141QWdpHq0Xl1CWLLH7dXFwJLR0eDM+IKLF05GNdEjgEMNSgwZDMp8Wy1WSlbiX92SJckr69QEQxKccbZUCECwH3SKs8y4aOCIOOAzvpYNvyvZFhXX1pahQDl5YaLcNbvosLtxaQpk/PjFKQdFw8UrRwUr3yXGvVkHDShEvZEVYqPrIICzRxbCQQSGMf/47gR7sYuhAYeolohAc4MAwl6H8kNfkTRRwgLdSIprwDx6WLhuJkXvNKLjG0tiEQuCemUIoXFOpSw5g29FmEqhkS6qdq3Pg2N2SLjl0GhXVcMxIRinUmika14tmxUFUa9EBISKm+ZUQ4N9aNdPNM+uVyICoiqpgxoarNsNBh+zTpTwQIrXXL3wk3rDF81Mv8wkdFNZNOoMc/p5pIOGmTcKs293ooQG2n9OqWq9JYjEo+zYEHRqTmVbFaJansqv2N3rTjUw2JlQC/ztnWMhOE4pNvoMJAWQLQVHkuuNrHT8mK56cnXZViT35yZog6HP+TP6/npbBoFSL0hQ9jJgFAIMIgT0dM1UCot0z5Yf2JrTQB3EEFil2NQUTZOtBAa6vDgteVUQANlKCKAzWUp1wxolvpJgTfVQcKPGjQjRrYoFrQXJDM1UDQVWvcjyhZM+YYckAvFcPD+3elf8cqXXVUkY3ZooyHpTskUnc8M2RJAuTRxkw6qmyzUV4VgQg6fkZr5i+rQVCdxYDoF2WUpJ0yybShigtlpQTHzbSkigUzKgUxogiu6YrYQEmpEBzfBA71hb14JVp2VL8+F0CCLwujsDSbhMJQTQDVdEQKYSFkgHEqKDMtQwYFJtVrKUyy0N2VgOgaZjkHGar58lhUDqZj3pPsoTOQTafMMXbckUaefLI4rClIQFOFZDgN0LkpkvSwiD06qnttTiNFBjOTiaKBua0ZsphMS5U2ItdIDd+S7m7knT7+5EbPlNEUdgN/fyo+BfTuVXHOFBBw4jFRfL6rYLyErxZB16YDiKjiG6S/iOyzVvFMU3ciQFR1KsEHrGjwDJlsIgbVZiQTHXPJICI1H1TEn6pfgVfeRK/rWoKArDkEGhMEVYiZ2CYLwbonWnG4pFJx3Ii+STawkhcOrPJDB7GTgKb1jBGkaBY0uBkfCbUZCbUIhqLkXFvWON/jsNjaEEB5LldkmyWGsroYBKmlZ5JAVHot2SQ7kVZ8YKwUrCj4ZTEI5H032eEfSaada3CZa4aVe5CRe65wslNhSPyxKC45DMdM3xk1zzRlKsiRkyCJQtyZyMqQOH+SKaBcWH1RKC42zXT7KkwDGFwDj38w2j+KyaOnAYXuM2uXYCCPuvTXdPBsknaqqGAiMiokAh6qiOpHBIsr96gmb+3K0IBxQNSXNo6sBhhu25KJJBBIzxMLvaC2NITB04DMkGtQf85jQ9IUxAYsgAUborhOAIXXKM9a3S/XrkiaOxEhEQvj/sUwQDyrK8qppuPQG9Md2lhgGjASIAuZc0KHsdIAxftEo02ztZisX2o5Alwe21IVF6TNSB5JgwFLfkuBDOewUogHoRC/5J6plaBIShQgCCb6tcakCwbqPgTEpE3dlLYBHwBTORwiLh3ipLBohSyqZhT5jD0IMCEKCLDHPaPj9jXiFDBI+BrycOMSDWhvPFar6tmhWvBeIrZuuQwBCENfQqEgPiXrOQKg0oaSHSlR950dGXGuo1deuRwD3oJTDU7WI+QVo86kKcCJPgfpSCriQ7MSCWHrstcGG3DA00BO7ltHWgMFIxVGl06VHmyObTEMFjIJ+ILQTF0XfRtIoXc64EK8W/0Peu+SWhiNuSz1ecY8pqkAAitE9r0SCrzkEDDYGrOLYODEbPgIMJdGK47Q1vlFjA66ehAYfoIjKiEDoFJMBZC29MTRE8Brpr4BJDYtExIYHEmndfTkSd3UsAEWS7gO9P7VIjjHEN50ECi4BqNm0ZBAqeAgGAj42LDYxLFBWXIiTufpVy3ijO4AueIx0SmHP+zNqy2yCg1xQQ810xYSQuBRkBxGXZ1it0FF+fIBpv3jDVUOJZgmi8/f+lRJyIIjAFfglspEMCg23CxlpQKM4/sRKzrnSQgCE8XOEezi49yhz1MAwNIMS1rJa42Z6DBBBhdg33nl0DTauCq3Krb9sQFbzdsGUoUE6eJEGTG9CkgDwrZc2JIS1NCkiaj1dAkwLykxINdUlamjDIj6wUhWi23ZXUYCxLhQDksmRL+Gh0KgVEEgWXl/qClKGMh7NacDSvJBZxd1kAuoZ5FRGAw30Ov7QMdTeRSwyKVbes1DvEUHcA2jIUKOhJIbccEE2KYogFCgcyRGAYny5O310/LnRUwMenbiPC43MpGfyx+QRxeOuNviOeF4/6763ij6xuFmhGpyoxKH8NTv4amD+8CucPxKD1j69RoFr1FUAfa7V8eh3aThqDXPCndvmouO71cPUoqmf4kVCvIh6wXukL6OAdFocWDmrTrIYHgYYytDBQutP/uNDniRArc1MpIBJ/enf9dtbVAlEtz7BYTjkE2slCh/25QlV3WwcBg9zPaGggIHZlShBeyS2HR8NNME2UiIBQk05ONQRYN6x4IqhOhhAC507JpUKsq5giCIxfWq7gY6KDBAKhb7oonoyphAaiapoJW+a5NsQW0k4Eg9H1EpAUnQYa4k7xhdD37l5KtcYMyrySGMRtheiJDwoIgHtsL8wQwWAMa12XnBeo+SG3HALtoRLdbTtygTsu6RJDYH3kquFfT5Ri2z6eIA5sIkeJdnsxJ6a7vZgDAVecl8iu0F4Ci4Dr/FgyQBRRFfILHKFLjrHu+N+zqihR49OpFhkUesIzoImGJOJCoujWrMRuTp9KYZBuVX+i8l0pn1g5X8gNlsyhiAG8k3Vzw+uaLdEbxn2CGLw5r3X/huah2mJALCW6g4/IrWa2DAUK3UaziC4hbLcuSwzaa8Ig/+fm+lwuWlRYDkMDCNHFynlhZcsaqU4Z4lryqRQG6Ws3dY3peo50EDAzXrcl4iEdNGAQ+6sm9SrraE9Aoz2SMKYqI5o//vU/fvjT2zyiGe9uOsJDmUIIrs2GV8WNLGAw+9QIAt1d7ydWr8VnGIYtgWBpm9X79qnr7ZxbGyQyYEYaThrD81RUTG2hbofU8Fz3GloQTqD/gSAo5dMdM3cwZPjv0iLcZbG1x1gZ7ru0CPeu3vbxCUAERno4xRnrWjmtOW6801EmIiieF1afCzUOJ5NFY0pgWS5FWc7aEvSMbAU0iayan7mqrBuss2EOIlieLrg/vAJPRLA8OpT9mTnkzWXZCVBw/LcUiMo7KGBJ9MzrSSmWCJS9BAWL7uvqWNs4nEEFQaT3Ts03bMH1VZ5c1dCmxqGDodpdenq74YqBm7+JCiXRrTppG0nD1Wth6Kq6UUxUp1KWnAFLy9YgoDm/vZk3CtpIT1QoiGT7BPyA2RIELN0pDBRKpwAnGaYBZpwV8DHiVAVP9FHU4kmU0+3s+VgjKTjbRVXcPvczOV20JQjUWANFI6oldMRySI0g0MO7a1E3vOLqVtn/HC20ZZBFVRHEXxdlCxvm75LCvXXPFzrHMKRFuOtN0T++1QUJAjgkRzDIqrlkC34tWaFfxbYGoUxUEERtWdZdCNwP7EUsuy/xwxWIyqkEJ3t3PdoXn46yS4rxFhXQWUymlLN8W7Bxi3Nma75hxQ3bbBBt6lQFQdStndH0gn1acLr39zfXt8p7N146mlOIgMtzMwsALHQ1Sw4Z7/aCQ6fYjOQIhvZpeqYsg+GQPDaf+759umPbUrICaLRLHfO5Oj89a1UtFWqSbKoCL+Or89PdYTtcn9qlg6Lq9nmxLnfnrWJ9hxhI5tSiooP2kaYqKKLu5OnPHFpEQ3IEg24RT0WzZhv4vOJEBMnjvAwhE8d/DUIuzXwtZbMS1XJyGjUTaSyE4KpqrvY3toCALAUMCaK/v0+M8G923QyaTkxADssoFXy5x1aAk9zwQrCf+Xa3LwnaBXXI4Jl2m5K6YA/FjLMa9gQDcmSM2HIzZJBMd0q+CGtjfybNIIDk6Oeauhhm4M6IUwjO9UEW/FKUDaxwDqnhBLfPz/1g3X84JR3IK/YKfFegDnVADsG4hg1ldDqEa3UIdL/bIwyCmMogmA4dmmu5+AxtgxwyJEwEPDiWO670SY4u/HrVqC20U+LSQVDtgo+gho4TEQSP4gV/FhUvDiupICSHDopq3ZaN2JTbk3KzAu3PGmvAaWb3Z3qb19mKVRUvwd8zhwyOqSnrbuyp47SgqCZCKK6ujTvnDRMltBGYqqCIrhb8jFWFKFgD7uM6ZNBMekxRAacKRxJYlnesWemAFph6NJbBMt0p2ciFLOE4gwKW5H6xIapAYyU0GUUDMNFBUKHmHylmHTtRxVV/vR6MwlTAkKxlw4ePNaJQJjIYJvzQg27EsY8Qt1gBi+aQHk+huzBVI1gJWiGeqqCJznndiAo8eTVVQRPZEWWyURyBZPIZoFP1RnI0w4wXXd8bwTFIYFhq8S+OmIW2BFAcG1nV8C+jkR5OMWdrPhewJnZIG1v56++/PeUr9iJgO7FsBURuO51ruRQLVmIm/p1CWK4Zr/VZUhyTIYLgCVy2ey7qDabk0qQx7LsLeaEtniWA4TCuwAV3Y6YqCKL9Za/gorEUECSlbE7qWiwrvVMDTDNRQRA5bug8g3J5tBB0jdwM+yox20JcOrHW+55/RR6YsRXgpbC/eOlnnRQGchAg4IBWXEsAwSHWXCEm1s30CAp99xC0E7NPjPDvgiJxxYBHBcz0cIoHgVnCP6SGE/Rh8eSXLo7XTh/C4tKBU/3PzfX7ptnseu+Yk6tuJQSZPrT/YT7jtSxfYC/QSAJxjltfIDEXS/3nPccLU0JXysRj3AeJ70eBlX9MhdDnVBbN6LaSXAxDBAoyhAwAQwwCWICL52druArE6GXQMHZ4LyiLVsGiDNNqNEiWGhZNf9Tso5pAqkEICtQ0CszQNApq2xZCjkMHZ7ofJDAQd0ou9A6daomrJQ6tEFbBN4ovWMOL34WCGDB1p+QGCrVLDiyeU/4sFX+o9K5pVNlMhKBApXzCgQwCQICz85P7k/l4aT+PwdSAYszndsSETII+Odzcdad1NsJBBAqi1wUmIdIyOQwNMIY+N/9OsUIgaqatgkK5Y43+TziSnQgKZLyS9PYcxzTVg+KtmO77cWVHB8pkMkWgIKXYPEmmcM2rrQJGkTVHYgwKUAS5XmP8++Rw82FOF1cKIx0ojtpuzDgQmRBdaqh1WzdyvTudNuNLUTdmAPpMEpcYDgz1dA4SQIjz25uLrwu+wXQBTA04xpWOEr+eHp3JZrGF4EA3rFHiKwKkF8AC6G0mt1UJrrITITjQnRTwujqkR9oTFIelA8eZIeYodslx5gRFYcrAYfrIM1b46GySvQYUgzVsmFMGYxgaUAyu1w1vJPrDOxFCARkb1QmoxmpQtEmU3kyYXXqk/aViSwqMQQeJg51JG+tgcawlJiDKdgPGUAw3kbUXAAJMAiTk2e+S48yvqv4/1UiKvQ4UZ38gCAyyV4AioNyxxvdMLeGzRIYEFGL4G5Rglx4/k3sp4BN2Oi2wAHTS+bZu+Bpj3iugEfoTTVJtu6NWeCBbjw5vxu3rs9B8vSAakKjYUKUlF22NalMOCmCEPlgXHKBPj7Sf8+YauzDi0gJjqbXujiN5DBEgyC5iFRRhlxxnfto2DXxKxBLBgaCehqmBw3jPNo1YnCya7kYMJI8tBgTTsbBOqsVKKmR/cSKEAVKcUeAcZDAwekGZgsbQQeCczghY9iIYEFZPo8MBUA4yGBhZbClgDjIYmK7BosAxhRBA/bIdAZAlhAHSVzmhVu9tFQTKud5FSVA0pg4GR3/1CWgOMkgYquKxpTBQ3Wl1itpsK2GQBCvlkoLIFEIBDQMyCiZbCz8E71VfSNhe8IVFwEEAsX7iBQWJoYPAuRS8LOac4s0fSWGgZEUCdJChqcvdNfcUYIYOIRnRY7SlaPjeU3Rm3xN0ZnUMXgqUgwwSRm9dpeE5KGGQmnVJwXOQQcBcUb1wV6lvXAzIGSkbwGPoYHCqTUvxyps6CJzrKwKWvQgGhD1xilps6mBw+JJXFK2OJYQBEtVnCpyDDALmhm0IWA4qKBT1z5ZTvOC2Es03tAvgScFm6GAKi1ctCc1eBgVDMpo2ZHAwnGKW1dTB4EiKtueggkC5JZpkuKWZYehvIqLgMYUwQJvmnZItRYM4ksJBCZJZTksIA9Q2NP0eSwgBdMcUWyq2WREwjbWQWGsipDXpp+xOLJpWUXxobSVMYdHg0KDIpb66noTHkkJA/dLKhqKETB0EjuduoHweSwgDVEoSnIMMBqYLqEKBYwphgDaM4gtiyGBg9EFIChpDB4Fzr13PGNVX1iGHhuMlxXB6rIXGknRUkgqKiogIZya/UBEdpLBQu8PYVGC2HAaOrzclI/nMjaRQUF8bon0yIykMlCCZlzVkUDANzXtn6GBwdAAvChxDB4HzQDTmfqAZcz9Unyv5heLdt5UQSB9FwSk2fpk6UBxWr/SNBkvcyfCRDBRG6Iih4P3Pu+RA8/19jlD7vQAW4JNoVh9Z2YL3P0+V4EiXbIF5JgcFOMJVVXDwoeMhPdz+Z75FBSIzJOAQtxte7S/3RJBYOnAcPAgawbi2E4FhqMBRPnLV3U2Hb0edYlCwouTnnBWYk5OmBhTjcJkomOIggYfw36AAhhpLYiAxAWv2AlCAblkeVX/3CkCEn/kWHy7HEgGCXMsFKurGkB5o36+ZVgsd5oXjSsMhhYLS51VxLFoBg3C4qhRfMCMtJNbuJlAs0U4GCQM+G70XwAD80vLxpX0Air0KCQq+uthSGKhxFHMATC+BguiuZ8VBdBJ4iG72gYCk0yHCwdeXsRgYrGui7qRC4OwloBCyRQaQOyhAEVqCiC2WCH59+YMVez8PRacFFoXrPuR8814BgTBcZY6BGDSAGLfPz3p80h2D1MH5So6uIgFJOGR/m3J/0g0BZsrQwNCF8YwKA4Hv9LX0eqiOD9/okAJDNSt4UfWpwdZbPel7w5uVLAjmHXx6OLzdHM/DRt+WScE3FYQCHi6FBiMdJPAQqLgfYx08zg1T4K7YSIYAhrO6VRTPaaeER/rAXsQSNT3gFMP3RQzZe7EW1ZKArxciYOt3zl1VwxY6VIPgEoM+2JHWJ1EV8gsVWa8GRdNxOTkuwJipAcbYdDe+ITkMESjI/vqFq6puVIua/neKwcH6fY+oEjJF4CBrUfMZ/8dukwoSaCoGBNMX1d/fXN7LihN0WNxqCDTWMC1U8RKDdFAhQUEX0UgKAdWU9f6OcQyRqQPHQU1CD+mR9tiHgw782N/8vr+OHoFiyqBgKKqIKQOHueNcncmq6huuqwUneWYBVUpUckoc4Exfdrfg4gU+12SrwFHw07KWCBQEsx8EsxNkxtey4cM1ZWACSwWMgtoCgtv/MVw5Dnfv0wPt5x/fnSD37xkSCIhqCY85O6TH2Osb6rA7YSdCaKBdiHgqLEsODddH05cKe1DOr4hGLPD1ytDB45xKWXIGHudNlfBIF1W75go1BeRWw6PpkOZL+Jd6qoRHuubVslkREPVCVECY3QlOMTzYh3b9RPLseiEqIKKSOojhwe4Ur7l64Sf1Rt/Yol8eAkKHKh4Vcy3OSAYP098qQ4DTC+GB9p8vokpm6WHxCPsRFH2IM6EW6KNHYx0ETik2eh2TAMhWQiDp2/kqfavE7taiy7aiOPyXIA2HPufP2MP3tgoGpV5QoOxV4Ch4DAKEUmzQ0agnQnCgy4vTEh/bayKEATqTpVT9fXoUWFM5HNzonaVBdIuiQWtBMZqeiuHAqhdZvnDKJ+xQxCCei+fntubXYrlq8OEtA5I4yHpTskWngw9BF5BEQjasarpsExGO9VB4Sm7mK1agYwy41TBol6VEhz2bCKGA2mpBMElpC2GBTqmATomACDoZthAWCBu3eCKEAXrH2roWrDotW5IPp0MPg0cRHXcihAG64YoGyBRCA+kt1mRQhhgKTKrNSpZyib1IwK2GQdN7mNGBzadKGKRuCxfZR3mihkGbb/iiLZmi7Hx5NHGYkq4Ax2IYsHtBMZ9j6aBwWvXUllqdBGqshkDrDqoQQJk6CBypuFhWJAFdPXJwOIJODb47847LNW/QF8VMlRBIihX6mm4CJFsJhbRZiQXB7N9ICY5E1Kui6VOhVw6xK4bXoiIoDEMFh8IUXSV26sHxbmhWAm5IlgH00ROKz4Wlg8GpsRHabBUECm9Ygb8LbqoER0IvemMXu2lqLknFvWON/jsJjSGEAJLldkmxfGYL4YBKklZ5pIRAIt2LQLoHYcYKwUq6j4ZTD4FH0n2eUfSaSVYcKRYdSUKNj3UQOBSTIehr+rRGIwmWTQwVDAo+ovdIBgHzRTQLgu+XpYPA2a6f0IGyxzpwnHuCUPAjGQQM/9p0sRAomuKpGA6MhogEhaZDNlJCIsk+YgTJHKdbEAFIEJF6JIOAGTbgYUgGDTjGA8W+nQeCPTsfBSdYrzZUoChdZBYwQpcaZX2rdJ8Rt2l+LAQF4otWiWZ7J0ux2H4UssTHlQppgjGRt9nvBcAA6kUs+Cepp0HgEIYIFKTbqDGTEv549gpQhC7c3mn7/IwoCkMDirHhfLGab6tmxWsBjiQ1kqGBwR+y9QoSAVKy0WE96LkaTDQinx4N3kcpyNA6LSiWbvMXqNO3hgQYQiqGAeiS48xx1djQAGNsSz5fcY6AGBSgCO3TWuAiuhoSQAjdj4e638MjheukN7xRYgFu/g0JBAQqaOteAAtwBr8qw9SAYog179oT+LPYK0ARZLsAL5J2iTHGqHfwoABFQEeEQIeD2A9WceGURzI0MOf8mbVlN0+kZFnCe64xXQwuPqonTUTPe8X5J1YihjoHBSDCwxWqHHbJoeaza7Dx7Bpo+pGVohDNtgsOB7W3RKAg+jqtISrKLy0rRQOOyenSAmPVLSv19A8msJKtAkT5xJ/eXb+lukHFrYZBO1k04oVfVc/g5deRDAYGN1FgSGAgdoWKalMmQhigS8XW/AlfNIYOBqcLuQj/ZJsaGIzuWgkURKeAQejfQ4InYwrhgYiaGcpWZq4dkYW000BhrFiBpegk8BB3ii+EvrHmUscMxj0ppyIKcVstcETbaoEB0GNMRABrUwOFMXTgLzkvMOHj3GoYtIdKdAE7kHduubQwWB+5avjXE6XYtt+ZjwKbqEHRVhwZGfagAEVARchGRcT+pESjrXBDbVuFBIVsoB2RpYTVfyQG7SWBkP9zc30uFy1mpdyQgEJ0W0a+bhTuLreRDAZmxuu2hJfIQSIL4lcD40xWtSz5tVxakeW6tE4MK4Ft+sPbv1jK8rPgkzWVkLKRIKR89cNfqhRB/buQjmcJ3C9oJQgpv2+fztimbs1Yi12s/me2cCofEtiyb//0Z0P2Z77tLn3eldHVoJho4ksesjxji1ViB6f76bga2oWSJvS+fQrIFH1zlLVYZ6cJiNf9O50lbqcJia+Y0rEXb/haqm2ehytpwGrDVM1PeokzWT0LIy7c8y64lctnms42+fNP/+9Xq/34/9iX+vudxpvfv1msRFkoXr352//e/2TJjUmbtSxancVHw/txyeWoDrqVhH1fuFer+12S4n/uG9XfdY3qfyWrT5vjFL93XJ51zfKktUm2GSRC7c87Lp91mlNWuxuHHLe9UqidGHrluyZyXOcg1k7JEMNJc81Z3dyat2I3Wivd8yAxMvrjX//jhz+Zb9jF10XZFnCnXXqnTVIH4nYtGrC7Tgy3vmOqEawEu+/SIwCEOcjNdReLz3DrGV9IVYDN++S59maLe7Jm/5LV6OW4YZtu30XOGxcUCr1n57zkDR9ahrrvgdY51m6FkOc7Lu+UfBHWxFjcyEgWUe9IRrePJOkfEqY4dPeoQxy6hCkOt5vu4w7x2CUNtvOiboafAx68I3nIDVKtU2rwXenrNXtEuwRRxSGeQbbykDDo0J+yBHnYSUMuc/aCerNd6YN+nKnF6nR7JqUqRMUaXgMqsF8lxVtPwe5+ntth8khkun4SzepUsHo4OIIkGMsBaPo/nyjO9Hi/UUxUmfUgQzfOdynVvF0ued0JjWdNUmlcKiHvepeH7hW9KgD10q0Q7MO6PsqnrFmsPN+oYP8jUS3W102U2V1EXtPCDaogyFhXJR8wqeuSBjeIYHAGDRTApGbDOdxVPA9Hb/VpSWh6JRCM2VMhKB+HXAzrVLZVIarlqfya6GykiIkbX8pEcSNFTFxPUYwmAILS+98nCOe8Makvx76PnTquOyRIld51wTL1d6liJtesEU36ZMTw86hsF0ZoZl0qERbeJ4hLQ98uwIt0LatlVvkMv48Jf7jILPlDggTpTGojRUx8/imT+5AgQTqT20gRFZ92KlNNpinTzFx9xjxTp0JCs+FaGPA3F5O1AHPKaLObAqn/UA6bJ+r+s/QH58dqOtPinQzfSz8O0o876ceg9KvNzoOBYBP6XX/V7hOeyfWaVcVt2yRP9RBCx4Amg4+kWU+HasZc2etmzz33Bs3W9ALK3y5nAwsic1cNX/+GT2pvj8jCXdsc0avlo6HJ4G/4qMYUNBna3QZ7USVPWb5ivkwYquz9lq2FA4QmW/N2seB14lTXK+ZqxwHLVH8V2r89D70tDHnId94kPyH8GACWjSF+6ClnKnW9jjATtj0sC8P7NGj92zMxBsjJRnS5eNrB925DAWcpo/uvN6/Y24q6QmaL0RDP2ek3f0q2i8gSTd9OdAXEPjh8N5Lo7X764a8//fjHn8zdH5W+Ckx3Fkcryo4RqcNqlDw+Fq4KkM8+YYrDuFuXbuHsgu08zGpV8q/fv/yQ82RK/vXx5YdXGa26fGCD0Ct3vfO1VGnGlmhoycr8nbdaIln8FqlkjipMx+Sr5l6aPkhHt7D1GjyGfCpRF73nFZFM/VSmCU6sRUgicUNMWiR3nTtjZWkfsSJhmhrk4E1HISRQnjFFEAXSjie/YqFmPmuHXpo9fq8e+Cu9Y3r9z/TO6FW/04ZH2hN0f8480+AuK/+nyzwYU/CN4gt9s/ibaS/hbfbX+23St9pbJbJcvpvK+HqKjkqRZ2UKhEzG1SLfZa/gs8F3sd7+Vl0sl3Gki/Ur3SvxNvhKjAZfG8ULkTSIMX75Kl1kUx/23LqiqMy96gCjQcR2/Mn/EXCzdAdzL9aiaaJLaxk8341krXcn8TtFWkrjs4jZ5XTebsroCD2L5bu9ZGrpmN0JVuh3jJTHEIUTTZbACcEO2vl84xPcBFh7yXyaO1bX9ysl26URSM853ZWMZEhOJrLyQrlREe0FYTzDgW8qnEEPRtO/rMnbbZOpLF3YtPCd2CSMjtMrktgAVwr2D5y+mMbSMMChCtDzjZRxE+MnV2eyeuGquTvYJ86Oh4Hj8qEDnEPqq4JXjXjevhZdQD8JTz+VjeKvVnohgxDgWSmsUBMAhF4C1oLpsZniK14VFCAjMUyjigLpJWD27r4vAMIUOiKUcac3FeZ902x22xJQLIYOBmQ8jwgmcc0cpqJcVQu5FtVyMv0LoBlpQYGaP/+ExGj+/BPM/E6W5ZagGTF0gCAH+ZQYBhGakVioMZ+OwACGgwgs7zP+WS6r7jQdwaOYqMGg5nLxmeNIegmg/WiYB7HvJIBjKP610RNaBM/DlkIM6UrWcAoeWwsGNJ3TwYzp3h4DxI8wiJNP8zPFu54uK9EjEVsteJbzSarmPauKMmUTVMTV0IINyDqFuVhaTwMB00sdE8u4Dwag6bp0N2xDSDVIQtlqWbYNn0bQhILZekCqouiypQ9j8YorokG+RxbIuOSj+4SAUDsdIEXFyu2/+BC5cLdlPHEjSgTML03JmrrZHgKL2To/UpwMokg4nUMqMGHqXvFMRMzO753YxdcNr2r+CtXToUxISlo5XdIUrLRV0xal4SOtmCNVFOHV+StUSVuUho+0Io5UkYTnvOGp+xYS8Q6SSDbaV2Ovh6YifSEOgkCuzaYUvLjnai0qWcr/v7rz7Y0ct/b0VwmStxskM9M3m1xcXMDtdk87Y7c9Lndng71BQ5boKsYqqYZi9XQNsN99QalUJUokxeL5Hbv7RZDMxPWch9QhJVH8s4xYFzIjNiEmmpk9z7uzTMwBNGQtG0dwupJP9KvXgxI9mkbQE9tAkuPXucy0eGuCQrtRLxloCupQ/WiEK6r7ckExfqCOzEklGhZvozbhizRraYlG20LW8Qu9ZoSGsHQffbmOmog/L9ORUk2W5hVDFNdZJR9Foxvzam4WddPNfORE01+bs61etb1Q7ObDM4YTIsnsTjR1+VkUUDkbmux3HM/s5gNo+gOGC0rao8E8cL4xn/KySl9l1XKbLaGvq5FhuMqAud3FxoGXwjTc2G0Zk4twDAL3B93I5yMwmGNu8REhyO4XphuQ2IfRGTzaGd5OnXyYNUu7nMJhvvh2OCIDTeHtbowmu/4kdrcrlTVsLc4dAO8Nb3WeCEBzlpbnwgOd8a1vwobawlvgFE72XZhnX/Snvzk+3BreAN0BcN4szc9BxxnjG98YjXSFN70Jm267q3T2havZTeBYX3yDm9JBxjxNbYQGuTI0siEXZolvXhaY7HmfqaXQouC+uwXjsJUC3vjCgfDlYGmSgSj4EuAbqi8Ehzu8+XpjEOxP2Bo2wpO606vIhnu2JIoYSGL8Msuf3qpsTb9qB1KqSf1wq+qNUHr3OiN/KRjhkp2GWx4lm0y2NXr2+KlzhNsfH5AQlcO/TTSqi92VqJZ6dZ6V+bbMNKAlO5ipdo7DS1KlfKeaWLPteSIm5wuPzXiPoZe1+SHRpp3hQxZpKQGD4/ZOvwvKyLIALdIYslKr5kg4U8t2gi952p4TSvcDTfp3IAFumCf4CZFgdi2LohS/Zop+97BxiU47LZpFvVWAu9kRFeqgz0UpHhRgcsEBlFbyw8/fCJ1J8gKkEY7oZPYc3C8NhYkNmIl2K5E/NVvypJ+eQ7PoTo7c5oDnHQcy1U2WBeQp9UhKNDF/Ih+lUBefs3LbLvK6FlrJnNxTB9BUV9TsuymRZLbjWLcVYkNtMTfBIBzjCxrs8WBRjphBHR831dJebJ7qZCiprzrdr9+IxyzusOgYl5729Rl9jbWU+lrI6pT4csjq9Iri1HbQF1WxqWWlbzMzwqeFAil64N+aL611vIgxqe28iDGpZb2IcXK7qxvR7ghA1+tJVJPLSgJtDC3RqC7b4VnQKMwIl+rUPhrSXVpMssMmU/hFbz4uzBL0tO4D0z2vzWc+pF8LpHuh3h6mSIQb6K3BwSTZQRbfDVk0m270sF2phhQbYdMdh/tvYlZwuakYQ+xaszA91biqRK5F8a5ei4XQWlZLwD3MAQX6va3Vh02RaUB6hujJxjqTVXMrJccymxk82hl1MwzzYdawW5CPDDRF3ZC86HRXxIN+hwl+h+r+5LouhGrHsA+7mYCCO8ipdbLZ3ar63yLXH4VqzHah0CYdooONUQ06iEc5w5qzB4zzRDVmHznV9LNQjZlMdJspQDUOaYlGSpjtVOuy7NojtB0F2FBbUBsKwTG+qPbjxqIcQW3Hw6VYvsl01gjsR0cf+FvxTB5ZdgCRDclF/nZMIbUKbe428+u2A9UesiMaQb92P2IN9lMSDrM+GLqiYAwWe2ijDwfB+mObmg+Pdoamt5dPse6/qOGz20UGmiIz2YlGuEKzdgTF+CEzdEylGerj9NLfOHrfUAQGc2y+BkIg3cH564RjfbH57KZTjM23oiv5WVSiaRaigQ+8xQTh8Ucm+FwUcAmgae7n81jDPnFFxoGXAtlkAwFI3uXu15UQJUNTdZCBptBG6UIjXLHNz4Zi/KApOqJSDM08uLIUpXn1xeemjw42RuaoF49yhuaqA4zzROasi0wy7b4IMaTsFIzzhCaqgwwwxaanxYTYQZPShgL8OL6Ez/Dh1gxJCvwe7sBypCzkm7gTyJDAmO/iLbE79PRW1blompph0CQQAO+NTOVQBKA5NJndbKgtMp09cIrvh4Zj5G9MBRki03WCpTpCE3MApHshU3BITDZDneYbOsr31K1kzreNrtdX2YOgbypxRKVVkXkJWIh8a/Z/wEwDnxLTzRqh+Y6WmQ1A8j5fmcNgyXln00hGb0STK7lBTGCdEmlmk6+hbVfevfejcjImDqkU4y8MZ1VV6wyy6m4+AtS8rycu7wMfat39s2m8TNrHAFBvnlyfiUIqwVtZavouaBaM5MNTg8gaa+/Q+A54jKU7LnQGa/ZHIMkLtefPCEdy2u+UKmE3+COQ5IXZqM2C0XyA6UTJJJGbtTZkkQ6T6lAKrqUFITbUFvNaHIRjfEGvyB4syhHzuuzjUiwZpux7wThPZHriJuxbPGhiIibBj0jIlIRMMt+jWKdwx8RgsYcmLMcUbh8am8bYKdx+KDS5wVO4OyrHFG4/GWiKzGTgFG4bCM1ayBTuMQqZoZgp3D2Lbwr3fAQGc2y+wqdwu8Hg/AVO4fYhsfmMnMLdMeH7f3mwKEdk2qI2/xrQoAlK32LL4iBTEbDB1h7EMBnZTwaaQhMRNxnZBmLTETEZeYyCJiVkMnLHuhJfZM4xSOUA4zyRSekiA0zxVYmqQ4bKo9ca16T4MB1sjKxZ8KT4KRTaZ8ImxbtwyL4TNyl+z8NPiveCcZ7QRIVNird4t3Up8x1bvU7xaGeGOnbwYdbY7sBBBppCOwQXGuDKUZ+4mmSpQ2DtMSzqmOPDrRk6ANyiDheWI2URizrcQIYEhizq6IhmU2Qzq4LrNubnw62ReRwIgPOG5rETjXRF5rGbTbFlXJw0GwDvjUxl/OIkJxeazMjFSR4iMp2hi5M65L1Qa1nVZb1k6JQ9cKwvMod9dJAxNHenXIolepGamwoyRF5y0CK1Iwx6kcmL1IYYZFdEX6TWTd9+YJsZGqKDjVH5GMSjnGH56QHjPFH56iPTTFlminrR35Jr6qa1biS2cSFnt76MLah2wd0AZkbu8xnCahHbSYFmDj+nI7kmR/NJ83Zh59/rB5beKiYYb3nAPURUNKYSoVvoTBy2UoDbx1wgbDnQ720xUZhKwNs0QO95PjhzYyC/B/qxvOmPek98U69llVX6KquW22wpDmeHsd0q4uKxlwrdKiID8pUL3lJmQ3GWBd165mPRSsOz0sbPhtpi2wJ0vY2NBOc4aM3NGIbNXdS6m57WHZvJ3c/PxWErBTqXZwLhywHPcW8IDnd07vtjAOzZVqDNx2CxZ8h99Do0N5oj53Fr0XxQhlwHrkfbUz+bnbHYe/tgFKYSgLM9HAZdBnTG+wLgvcFZ741AM+dZCednQ22xmQ1dD2cjL/X+yHHOanYG4fHnqXh3FHAJwB2Kjw+3xnYn3gAYb6ZKhtYtV5ViavInsbtdqazhfwOdj8RYEmxHEhGKoyzgbA8G4fHHtoRwFFoJbqV8rqGZiFCcZcE2jZhYLKUBN45wFKYSYJvHTBhiGay1M+A9VmZDcLiD20EgBtQenfdOOtgYnOduPMSZM7HxGc2aygw5zJS80KzlSldQnnKuOJyLwGCOzVyGdYcuMDiLoWsP3UhsRmPXH3bMhTmOx0yw4X76ng3EVw5sss9HYigJOPVDMVjssQ0hGIToz7kidzYEhzs4+xnW5TrJ6IyHrs31MMFZjl2f20HvM7UUWhTP1u9HB+QvF7YlxEdkLBm4lcTEYi0NtgVFBSOWR3zR9yqrmpJzoUk4ClMJwM0lHAZdBnTD8AXAe4ObgDcC0bzeyJx9yD4chakE4LwPh0GXAZ33vgB4b3DeeyPQzD/WEr7VuY8MNMXmtAONcGWoTlg9clQgseaEklkpfxPvsqooEceyjYkoszO1BB2E6kejXG/aEyAZTPdgmCcqH51csuW1LIpS/JopRIc+hab6mbvB4LBvcD8eooONUZc/iEc5w55JPGCcJ+oZxEemmPYrYc0TPT5vfXSwMTJvvXiUMzRvHWCcJzJvXWSaqb0GlSN3/REYzLE5HAiBdAfnshOO9cXmtJtOMe7nfOHz2UUGmiLz14lGuELzdQTF+CHzc0ylGDKcxebEohyR6Yg7i+1AgyYi4iy2AQeZgpCz2AzoOFscn4RuNtQWmY4eOMYXmpgTLMoRmaJTLsWSawQA++7P9tYPft/vcJfrbCleZ/nTUtXbqkCajtAg17e1EkyuRzTI9VbVG6HMYwLc9YiGuy6E1rJacjr3IUDuP2+zUuodXHjPpVtCe37YSBrHGBpu9KwjcSQjIvuu62K/bpfrrhSKwGCOvFMFQyDdoe3KA8f6Ituaj04xNudBrkGtrWNNbKYxj8vx8M3IAyfV0QSJbDw+OsgY2mSmXJglsqE4wCRPVbeTVD6Li1+2ctNudorP23AQHn9oHs9EAZcAm9dePtwamuf+ABTvw2RcfJY70UhXZEa72RBbaPaOqSBDZKZOsCTHXaWzLwzJOeHCLKFpOQXTPbEJOUQi3KCpaDEpdpPFC/iUDIbgcEcmajgG1B6avj462BiZ1F48yZllHhNy/hLTvCXofCUDeytLLRToNXsApHphmw1m3hR+vhRqnpQoFnJZZXqLmDM7AlK8ZF11+YCxOuASnWSTNU2dy0wL/EyHEBzrC+pQgnSQMaoZe7gwS1Cj9oHpnoXhIf1aYLKXVvJhq/sD2ABeNhDkdVFphR7KjYjBYg9r9PNBsP64LiCERzvDOoQgP9F6P8uabLfnfB0Wyac3Dk/5Qsm0MIDP4dC987p6lEuo3oiNtP17/QB6bgvjwc7AWS7zITDuQvX/Bu48QKNceZKi56Is25uw6XB5Gt0kAMq7u/tyio8joMz5Gt6QjbJdbNfrTNEnafnANM8fVb3doNxaGM2nndGB8mlhRJ+664xhSnsezepa6KzIdIay6nlfpxX1We1OZIU5HAvZyw2ZNDsDvpKNvtRijbIbMlPtunVo53VZA27BAxjNp18Xh1LqeRirw8Ah8JF2LgLeHHl/jYmSVoKLdY3omPeYRIcqN3MRyQ4dJtlB7dotO34S5KcMC5bq052GSlfpOAGLQmyUyM3w4u8ihDAN0qbRqqh9ssfclxxImls7iVUgvtZNiV+vWeqjxrO4ff8Vu/3wFbu9IrrBbodTIs3s4/coo4/JuTU9TgbVz/rIOFPklQ3RCcaAO7pOXsrV/fZsKe6yiv7IbdNCyyO6v4QMBQxQlDq4yqpinaknlE5Hm68D1Cu1TZuPuz/kGPctwYOlXJPjQcxnVVXrdlgF05DdaIwrbADeC8Z47jNV0r+l+skg089ZuW0v0bXQSubwmp0EwHgD75MTKsYQ/GljBo9xxvaYUy7Wsvv3bUjUGOAJoTBlQX9ImuNjrMHPfk4yxhT0AcmDpTi2ZKbu180m22JbGaI19SvWDq8OZLUJMdFMqaq++JKLDcTKoiUb1Qp3CS1aotEhQe9Esy3pz0ojXqoVYKZUCyHEv6wkxsGACB7mAosK8KA1hAF8bh7MoY9Qqw6JcMPsLe5iEuy6xT0QqQ5FcOEY8fJwUZbAJ54AO9H2y0ZUjTjfKhOI/qxj40hOuPvyiEezAs2HHeFITm+lKMm7kw1ZJJt2MtI+L1EJZTFJdoYLkjL/lOqiVWaWX52vsvZ/AB+u/GiSK6Qd9qREk514IxWoTxiwkm1uNgIhYjDJDkvzV4A7y4GUZoJYt5S+VMn88kzv12CQ68KmhcbszV++ETqT5M8lR1J6DcBumBYs3ec60/kK4dKC0j1u8rzcFoJ8hxyy0m3MQJCCuHSkdJOFyFS+Qm14OCUmmsmS3pPIMrUnkWW/bejudUYeUh3h0p0W7bHuCJ2OFOzVZIU8NWyES62DiuW8MB8XYolZzOmE0vz2qymxB5oF4RBf3JFhXnCiZ7n7dSVEiRmPsGk0o0u937ETqzbCghxxAyUBNM3VbIFawr+8hOk0Y3ylouoS9H1thEtz+lFUgPnkHSXZQKisxO5C7YSm+tVroemXq+d8HRap847hHonzQH8U+lyU4kFJvbusHmvkJhghNtQW85wUhGN8QZtceLAoR8ymFj4u3dKajMiTrp4QHO745PXFgNozpPKUDjbGJ7YDn+5cV9osnj1sko9O7hAfbo1L62AAnDcwoT1ouCtqymRECKQ7rhn62Mm2/efUsyord42E7gk2g0c7wxpgkA+zxjU/DxloCktgH5rsanYMPXyBYUpibwwWe3g6+4Ng/fGJ7cKjneEp7uQnW+9nUDB10wE62BiW1SE8yhmXyW4wzhOWvR5ysqn1ZRyctV421BaWsX44xheXrS4syhGWqU4uyfJKfhaVaJqFaJrDvHZ0VxsXiK8c0HSOiMRQEmyiB2Ow2EObQDgIyb+bnMKQ/1MwzhOa3w4ywBSbvxYTYgfNTxua7Nd+kON6kPDDsb6w3AzQQca4HHVysZbAYcEgH2YNa2FucLqnqApZLZneMgN0sDGuoQXwKGdgU3OCcZ64tHWTUab7iS286esIwuPPlcyuKOASsKW2zYdbcyX6KADB+4vM8Y9BUyrIEJjCUyzVEVx9kHpDVxixpswWhWUpym5rE2jS+dBIV1htetkQW1xv6aCCDGE9owub7ihUU1f3KsufZLVEZ6gXjvXFZamfDjIGZqqLC7PEZasTnOy5EEtr2xtwxobwaGdY1gb5MGtc5nrIQFNY9vrQ6a4bIfKVOZd7JRrZ3GfNEzqFwxEYzHGJPBMC6c5Y3fB65qxgYs3eC7WWVV3WS/SggYcMNIVVqw+NcMV1u1Moxg/W2TqoBEO+WW342Wyss9gYZq8xzVqDzlbjmqWGnJ2m6m1V3KutXl1nlXxE1OIUmea2X1N98UXk2y5xqvb/Ifp5sCRH0KJyxCryd1lD3obEMALR4w7EMZDzumq02uaafrrXCEfXqxv9rj1eDXg+jhOaeB0PqDvR1OVnUaAVbW6ipdYbcBuYENPNrkXTAE5xG6DSXUD3qAEqdTVvh8DcjYasZJ/tOquu6npzlmv5uV0ag3ny8IK/FU9yjYK6DBv3NTqRa8oMZeM2VfNgvwXH1Jq8LESl5eOuX20K2ILDgQzt5NT/eX9KEip8z4uOTd4nwabFxH2r6vV5XZaYLfHc1HkPVMlTdz3tf43atnbMw1hBNrB1QhP91oBnpBYSzBBYlOQeyvz4521WIvJ0wEq12dSqXQ1cIgeHPFiUI+aBx8clW4IesqdEgBnmgduBpLgxDZ4H4VhfZEZiR9EnTGh2osbSHTRkpsJG1C+r3BzzvWzHB9rxC/oD3hSZ6laIL2bBBHTWtZsKMgQ1GzeW6ohqKGMg3QvUNCbEVDOpJXL32gkQ5AXbwdZPBpmCRjF9XJQlqPU6sVRH3Ma1LmaqHfTwQMiZkrxOyW9JVaOzir77ds9JtdB/eUVX0H95lV4PWqiN6r62npUlQMbiBd+Vh3/bXterrFpuES/QXnK0z41eQZ69Jsiwwef6SbzdVpjxLYuWmB+bfFHnT+2+XpXI9c0GcHdzMBPtzFbQD/SzBXoOzaLbmJr+DXjMI1ihbMgWd0JvFehcRxeTZvdPM6yIlRsg09z+Xj90h8eQ29uRlGbyk9jdrlRGfyE4gEJ9ID5a6r3xAGA4nzDERtridoqf4ydbf8zKLeJit5xgZsnKTMY1D48LrURGPpdtAkysgw7zURaihooNiCizhc6UXgjzrYx+a5nBJzpX9a8VZuv/ASrNpd37gGrRQgjxz0qZkVv/kUQwOc+0WNb0DfYtGMEHdriaTUMYoQ6LcFNTDatinaknulPHSbaAvCN63wjjLLpV87gMGvFoVqCJASMcyQkyHWDIItlgnvUtGMkHdGyOTUs1apfj01VaDMkBNwtsAiR5vRFNruQG0+7HxEQzWe3PGqWfiTlkhZ6nzd+ZM4jb5ki/RBYtvRYMoz1aGiXUwlJ9Gn2cWQb9bBpAI10xn2BCbIgt6FOqmwoyxHxU9WDTHc3bayP0RaWVxH7ZD9PBxrhEDeBRzsB0dYJxnrikdZPJpt0xeExpO4VjfeFJ66CDjPEpa3FhlvCEtcFkT65UxWYpW4KCc5MhLWEZyZGMiDzcv82fmz+XjzLP9kP5+MyMisRYEmD2xoXiKAsyw+eC8PgDW8FsFFwJhOqGUTgeiuNCcZaFr2n4YrGUhrFxTKMwlYCveTjCIMvwDO2CrT08Rzvgy3/evOfId+Y8h+T3WlZZdZgpOJzlwJDpkcF4y4PM/thoTCWCtoj5OGylQLaSiEDp5bioik0tK/wLrROM88TlvJsMMAXm8pgJscPl6ARK8ev2L2Dtt2eD8Pgjc3YuCrgE0Fz28+HWyBwPBCB694fd/8b4thoViK8c4NyfjcRQEnQbCMRgsQe3hVAQnD97O2DKf/6858p3zjzH5zdrXiPy+bNZ78v7NBMOweEOzOqZGFB7ZGZ76WBjYHb78enO8I0knFCMHy5rUbtIHFjAzKTvITGg4LIPsINEiyl3v66EKLsFerKu3slG19gj+GLjsJUCmKgxgfDlQKZzOASHOzDpZ2LQ7fF9rwuM88SnNqwf7nkMyQvoj48kfHoC+mX3ulJ4dkaE4SoDLnNj4sBLAczqcAQGc1zGz4RId+8/z8Az3gnGeeKy2k0GmAIzd8yE2OGycwIl+HUrkvDp6ODCLIHJ6ALTPeHVCKo/fMVRa4zrIN8QG2qLq1LwWb5jJLB7hJ3mO4XhOknceb4tTcpn+eQcE4etFMBcjgmELwcyx8MhONyBuT8Tg2Cv6n+LXN/WpcwZvj4H8GhnYLIH+DBrZGo7yUBTYCK70emuC3PChHX2MEcvPh+FqQS4pI4Igy4DMMWDAfDeuIQPRyCYT48oxmf9TAwWe2DGzwXB+rNWO0N981Y0uYbbDeVuVZ2Lpqnx04FCfLg1sKpDAXDeyJ7bjUa6AntrDzvd9j5bNm/r9hjTrcoFOo0D+G/ROXWv1xe2/h5tjeswQvxv0xqfI8/kjcsSYPfsJn87psBs4HdFZgDupudBf0uu0CzgtyXlgVoKLYrnGfeIj8ZcImQXHR2Oq0zQjiYiEF85kE0lJhKhJIcj/hhGub1wrC+wEXjpIGNkiju4MEtgArvAFM8v+l5lVVOybfA0E4LDHZnB4RhQe2g2++hgY2Rme/EE53ojc95P7zMhONyB+T0TA2qPzG8vHWwMzG8/Pt35Q8OwhnUCxfjhsnZKJRoCM3PII1vhss8Cpnp9FpVo9t9cMAd1upiJdvVyST/Mp6OkGtRP281NJUDn5o55JCuoEsXnOtP5ShQmH6k2A1SiiyhktmgHTcguRxTZpV1Je52RzyZwIFPd1rX8TRS3qv4sAUdmjXmpVpVujyvav8rTrWxeqpXOikxnr0WmEDU1pCUaHc6LXugsJx/MNMIlOtXFfski5PSzES7VaatXNxtBPq7lAEr02DY6y1f0LmnPSbN4Xxfi9fbxkZ7DR1LApBAbJfJMi+J3QSm1bs9ALyDnQY5wqRWlD5sMn6+yqqKnswP5NbulfhZBPkjSHyC5bGi1czzEHuN05H2dVqm1dZsthb3hN9VsSkw1G67PQdTZlEg3M/+5qlE15+bSLXEHFbupyYaAx8+Okmygbx67CZL3GSLBhrhEJ6Eac2adOSKOLDRgEW0wJ3GOcBSn9i0W49OiEl3cS38w55gH4VBfYAcxF4DmTT7F8wBK9kDfyh3IRLdyu1xmDyX5+f4ASvQwmw6THQxkEp8lSvKzE84gccoR0OCHVIOy3J2X0hwYgGkNYyDZy8zvKj+LAu5ng1M96d8pDCMx+oFLdjj8v6km7cpD4OG/UyLJrF0TSb/7DGEkn49CNRJ6WrIXnOzZ3v4/i4tftnJjRoZf18XOPCMDTH1omGv3ZMhg2oFhnvtNnn9r3xRxZ3rHRwKXBNHEPORkU8jHG9pHm9ttvwcMctaCmwoyxMxb8GCpjuDqg9QbusKINWXdq8BZ52VDbWEV6odjfEHzaDxYlCNmVo2Pm2zZr99gSVQ/HOsLS9UAHWSMS1YnF2YJS1c3OM3z563oDkVBvItasHQf8iNXC0mLfyeywow0gSZajXA0p265OUqpo6Ua7c++OBeleFDt6Cqyo5vjw60x3d1sAJw3qNMLoJGumK4vxE61LbI2HKb/G+FSnZZy/wCPshoBKV43j5dGApJ6Ni/V6snkRFvpwFFfDxbkiB0BnsGnOnfLd5qVJM9fHbLoNo2ZBn+pBeBG6IBS/D4L1MyLMS/Vqu3I32VVUdLHi2wawqifFIs166kkw4VcVrAq62BkH1ktz9SyPQsb8FzqxKY6dvdg3PW0ealWWu0ulKrVZfVY052GNIIR9MZu8whW6DvSBElwW2iVabEkvxVaMIDPx++hRh8Tv7m3kPv6iT7f/UhKNNm2Ky4uvmhRNYi74Ij3dVqlztZg90rNJ26vxJkd7F6vMF6gsTQP9ltwRLUIZktQ+2C2BLUWZsvEtrP44Y1otKwgL00WLNXn5sF8CaKrdJzQfEF0rNRWB/dIbFeL4qkbkr6WXyQ9GSxaopHIVL5qTyR9vbtcm3UkwDHuMB1sjBnfnsGjnEFj214wzhMzru0nk02ZEhaaqVwpis1NfFKispEhDRH51+5UwtZv+uhgY2RSevEoZ2iKOsA4T2TCushkU6aEhWYqV4picxOflKhsZEhDRP6JwnTBGKmORbfpVmySvzo4kDQ3xO5DQ1aqzdLagpZuZPNIVoaJ+AAywqU6ObbrxaxNDaCBrrh1qTN4ovMirxWgDxnSUo2UbLdmAX2FHvMwVrDvql4wxhM0K9GDBTmCnkdcVKLhccsrmN4Rmei2qvW+ayU7HVGJLnJZZXqrBO5ONiESzT6+Ole7ja4vK0mvLxeU7Ac2ozkhp4xg5oos1pK+H0ALSY6vV7vuq8VWYb47TJGJbnX+JMxcjkarba5r0y/TL5sLmupnVh1gNpMbsug2qJ02XcxEu00p9Zs630J69iEs0UdnSvfzpnf7mdTdVGXgSEdMEB5/0FNHVBRwCVAjJDN8uDVo9GQuAMW7rrRpxIddRfHJHorAYI5M82AIpDs0wT1wrC8ytX10gnF/KzirsnLXSOxo9VwAvDcwqYMRgObIlPawobbAhPbBAb72Np1/rx/YEjsYibEkDKkeDsVRFo7k9wXh8WdoDt4ogBKYI5UOIyhsbcIbhakEDG3BHwZdBo424AqA92bIfWcEkvlaVlmlr7Jquc2WYviJhCH944LxlgfaGCKjMZUI2zRm47CVAtpQ5gMRyuHa4BbeTuaC8PgD28VsFHAJkO0gwIdbA/M+FIDibYZmmbM9GILDHZnp4RhQe2iW++hgY2SGe/EU5y8bUTWCbXgnwIdbI9M6EADnDU1oJxrpikxlN5tgu5/nx/Te6qWDjYEZ7MejnJHZ6wLjPIGZ6yQTTbtpoSxJO0UjXcHp6mBDbNGJalFBhuAUtbEUx3L360qI8lJzfdcMRmAwRyZtMATSHZrCHjjWF5nQPjrB+Cexu12prGEeyZgPw1UGYJpHxIGXApnwwQgM5sDUD4cguLeH3vI9MPvxaGdgngf4MGtkXjvJQFNgHrvRFFdRFWaKMNe4RYAPt0amcCAAzhuaxE400hWZxm42wbY7EudeZfmTrJbwNPbj0c7AJA7wYdbIFHaSgabABHajKa7uMy/xiTwfh60UyNSOCIQvBzTZgyE43JHpH45BsbdOkMOnvxePdkYmu58Ps4amtosMNEUmshNNcB1vBADP4FAAvDcwi4MRgObdBgL0RXgBNtAW2e48bKgtsO354CRfxw4NDE1wJgpTCaCNcS4MugzYRPcHwHtDUz4QgWK+qsedFMZ3yqVYboTIV4tdpVeikc191jzh22Y4Bos9sl3OBMH6s1Y7Q33zVjS9htvda29VnYumqRU+t/18uDWyqgMBcN7Q+4sTjXRF3lPcbILtfaaWQovieZ6moqMxlwiY8fHhuMqEbA0xgfjKAWwpUZEoJRH5qpJ5Vp5vBcfTWIBPsuZcqcixQpF5ZSLLikQLihyicIFRntBeBLtSkm+FJHplpOHdq6xqSrYl8uEQHO7g5haIAbVHJ7STDjYGp7YbT3GuNzLn/WgZDsHhjszvcAyoPTS/fXSwMTK/vfhU53rzfAvb42OxlgaV+icE4ykPrDFEheEqA6p5xMVJLwX/7JX5GCz2uPbANmPFjQbmP8NMFR8Ul+8cM1TqDfdC9rkIDObADOdZxe4CI7MbvYbdjQRmNnwFe715joU8MVGYSoDLccZVPD44MNdZ1vD4sbic51nBU2+eZeJtVBiuMuBSn3PWrZcOTH6eObcBLi79mWbc1hvOCbchOtgYmOT42bZjKDKlkXNtpzhgAkNn2tabZ/g4HRGExx+XzHxfoD1sYGpzfG/2UnGJzvJ1ud6wTi4K4tHOwOxmmFk0oSIzGjqvyMEDZjF2VlG9ecZJRScE4y0PLtP5ZxTNxAC2As75RLN0XAthnU1Ub7inDcxFYDAHNgeeOQMuMDLx0TMG3EhgisPnC9Sbe5VJcyjdeBN+AX+kiYvEWBJgvseF4igLMv/ngvD4A9vDbBR6CdpRnv5Qrd/4WkUoDlsp8C0iGAhfDobW4AnB4Y5vCb4YyfYqW4ruSEeA5hE28bGimled87oshTlskx7XwqXWxOD1S1bL/epBpKEHjvI1AyFcukc2wBYsCHJ6k+lsscqUrJa3qg8IFnXGgNiD7lZTJsTufa0Ppz6dr7KqEiXY1REBYo66fzqgEL+F0FpWS8DKBicW6vi2Vh82RabRrWrCT7aW1fIfKttsEMuHBrBEn+16nakd2aTDpDpUS/NXgp5gB1Kiya7S2Zf7+knQzyI/otJdDouYETYHGM3nN9Etsoa+wQTYUFtQTxuCY3xZqhVYnzwVSanB++yhJHf6LST0VtH+wbkoyY8WB1A42pIeZ5lan4jYf/wuOfqdaNqXPGRH48F+C47fRk3+8XuUJaaH8XG/DUvcNWf2pF910BDclPj1mgGuLp8b4opiBiYdyK/ZDXJV+eySr2vgszhmM4yIEAzut6reCGUm4LL6H8OAytAN0cOdOyzI8dr8j5r8Ku3jplqazdeqRwl4vO1JiSb5ZlHnT0Kf11Ulcn2z0fQkdDAT7Qbb0uz39CTLTZGpbmpNl1Hr9Oiyqst6uTNj7QiRAQ7idFV3o9Rgtx5LdgT2ui5oql9jhngx1/SAIrvciWZbAtreCJjqNdhGh+40gAF8UDU1Qaa79at7EFI9KzhiJL4ct6NFBD3AZqO2A96QkC1pLp49gw30COrhpl9/m4bs9vzsdFuV5fq8lGYOFOYJycFE2Jm3mvKzKDgsbXairVyLu6xaAq7zgZRoMtk7B9RSPFyUJbClBNiJtv18QcSDwoBFtwHdACfEZLOqyZV8EKCaGtCCd4d9vyigXZkLSqiXIwrcmYXgRN/DBFnkd4QQHOsLGgMP0kHGqHFdDxdmCRqn9IGJnubGzpKrYzDOE5yjEzLAFJ2bAybEDpyTQyjRr+jzGyZ3INLMZF2h5vg5kGluH+6uqC4f7q4SY1dF+7woioVcVpneKnI+OZCpbrIqxBdRvM3oU4ctWKpPIzKVr1BCQ1qy0TY3szYft6WhnDVNnUvIeGgAjXF9I0rBIdpzQZayyfgq1aanGmueeS9e8Lfimfp9+gVME79Vu4CY5yo/+dsxRV5/dldEBoCeV13Mr9sOcqU5/TBXF/O874R+7X6gK8xpmHqN2zU27VI2kW+V1DvM8JiPS7VshPk8p6RooLfGGT7cGtShzwXAeaO6Jz8a6QpqaAE2xfaiKja1xA7v+slAU2TWOtEIV2imjqAYP2R2jqkUw7fl7teVECU+L11koCkyL51ohCs0L0dQjB8yL8dUiuFtprKyFKXpifG56aODjZE56sWjnKG56gDjPJE56yJTTBn3HJ0NgPdGJjB+51EnF5rGyN1HPURkMkN3IP2gyttMNfTpTAdQogdCgRT9bCkq3bYw0Huyg0m0w85z8WDTHa8zna8QVi0ozeNjVsqi/eqBmDFl0xKNZCFqsoiBEOJfC50ViAoZwhJ9akn/yNlCEuNvckz7OYDSPP6RKTNFkGqxx5AcmivZ6EstyCuCxrxEK/HQrcAi6/Qgokd7rNR1toH59MBEr1oVZJVaFaEZoP9QUpv9NbqHDXI0i5ZW6rPNRlTFdV0MOg9t8KeIHCEjiT//7X9/9x/fx4kole1ebx8fhbqSTyQbm5Su9FpWmdq9E1kh1Mes3FKkJiyqluGSfcw/EETK+uFmYyJkJVVnhKJJ3WZKE2UMgiBR16XIKlDqTGAEMVX/2gh1t20XT3Udh6yWXYl3ZZ3tXyrb0BTnU+KwFIexBFTptmsa7zp7uuAAQ5DZaQFKU5uUrnS+EvlTs113j4Fb1b4pXIlllu8IegHqjGohNkrkZlLr70LW1rKG/jODGSJbCy0UJRXn0ISqfjnpyRSBb0R7PG/gG9H+4dvUfkXQrtcbJVaiKoYro4jPKX4oTtQeOAILT+EU8eqzUNp0/KQkGGCcMoOQbzItRh8ETo53YKSX/I14zLalbojvTUNMusxFVdw8dg8oF0oN9xc/WWiMIknJipq8RwhJpO1Ubh7MeZD7JbaUBwk3kC4I6VAdXeh/ENTMgIoZdRKVUDfK/se2+BTVWThB/EtebklNc09IV3iXVUUpKI1xTyAotE/jr4f7pZ4u0TOoGtTXC8irxTutN4ALc6TQVPbfRLuBD0qzn8KoYt3XT5SZRUtXuyzMpi+PO+oTh8WZe+To/5j8wm6DZsNWWiyFwjSeKYxwEbRQmW6/kFt7OpwuZYHShX4Su9uVyhpSShwhcxfmqq6WmKsyIqXXwFVdP203b7dVbi97SzAagtKFrkXTZEvQwNIURhCTRVGKXzMliI+mNihd6H1diL837OOxp4ThKAyfP1H5Zi0pfZj5eXpw85FBZiUh/p5AUJD5EyW+zMfHdpwSvC7LHXB0xsmD6EHHZIJcku5uSer+94S5O+CtkrWSpJfoHpFe2p+3Qu0Or7m0l5wJK13rTmTF8Zs86OuoH0oT3S20dSBVklgHoYjk1syLBIl8Ou3iJIEnc5ykwQP7ogAVqArtlyLoFPUyIz6d9giqxGdxfHqjv+F6mRTN9lV+P8YwnkieYDjF0eSkErQW2yEoElrt2iFqcs4PQelCi+JpPKnrZJcDg6Ah1GeZd583qM/cE9ZXqkX5kswrRvhWzCtG+BrMK0b43ruHYd6Xp7CvVgyQ/mxq9AbApkZvAmxqlEawqpXGDLuNUQQp/2Eip1vNHCJykpYZh7cXtCT49BCCiBYbioIW4ynvJwXnGnNkG2aEjiwiBxO7c49BzW/MStdy7XZPfGz2IVGS0PfaOTRBWq5Fo7P1BnPNXTiCnGtncGpV+pgwTeyVn2Ona3+oss+ZLO3DfU8WHFAIKv2SU4pIzwBo3GaSMr3C4hB0trLANMsRibDG6aFWut1md/DN53OmpLn+p61xOpLGD9k/nLIKgajRQcZvIJEG52XdiHbaF9HiCEo0QUiQ43enCSIsOlKiy1s57NCSJAwiMfq1KGQ2nmmTJDEgJbp0P4a0kyEq0cZ1dE+SyxGUaGJtgJ6k8OHuKjG2YxFzksGBc5LHvxzTwvrDzxK2qXEiQsuHxz9I2WLGzYiJepU9iJJSzgEgPh6ljENCTETzokAo3+HnsbEoZTv+PhjNEDdK6NSiTX4fHS2pcFNAKN5iI0S+uq8TCzf5eWyslKJNfx+K1h6jV3e/SSjZ5OexsVJKNv19MNrw/JKUok1+Hx0tqXBTQCje7fGnJ92hBr8b34+su85m+9BsH47odV1sp+D2j0aa/+v3+UqWhRLV7//z/x54eftebFxd/6+sdVyoPeaTrMe14wbfbh8WscUYs/9w+HEX4tV3f3v1w59fDS9C+weTL/sJQY4MO9bwkqx/0SfWkvlFVDX91+G55Xftc8t/J8SZPvvERDZzatoh9tGrkai266SgNtB2+Kv1ity0Y3XjDGmfydLKayPt0N99/1frjbQF/bwVw/ECQughMBi4qxtzNpGZTHVdV1IPF/JRFJzokMzNQyPUZ3tgiyBwxE2CRs8P64uArBgHN1Qri+1Dd8ojJvoRl1Yr+99v7ClVdKHNdIJVrNKVrJ7asdVhvsWc2xXl56aH7sVd4kVtgHhCIqduhniz6Va7wGz2vIBN3MYVPWi6fAQj6FlNElltt9mq7npRlNeRGH6Qq9eyEfZWVMTAR2RiXbQ3sNdZ1JancUoHYrAu3M9TiNDuqZLj6KVsot+CYoMfmMGXvn0vbd8MabGHzLQ8ONw7oHViUyNqpb10yAYy5qbVjhnfhPWyLSzN44PZYA3dqVrQVK+GIattapqZ8xYf/m6X/ugwu8yz/dE7kZV6hRUZMGdX2sQsEIu861EXinV3r/O6arTa5rqO2KbxlNviCEwQbW8s53WlZ7+In3Cj2vNmL9jwj6cPoBgJz4PoRCZmZU30qxJlhc29yFRR/1pd1UuZA3ws3qla/5pcroT3p/mxBMBD08wj0r+sorTn5caND7V/GjUMdH7z/v7u5urT9eLHmDGgDjz4kX+cx9vLz9JD3fj0AsRd2w7NdVGH9IgH3vOb9+8vzu8vb95/Wtyf3V98On939v7Hi/nx5NFFcEEmg8v2OOZ9vZH5aMP5x/3TRiia/Vs7yF9ejTI1K7KNFuqPlfii/z03Prv/40/dH0clbbaRp0GzjWQZjnWESRuNPa8L8aOojqlvT4tzNJmo0E6sv0G9vri6ef/j4tP9Darcf7CQ+wY3bArvzhafrs/e/xMWcAD0hLt5fwGN1vEcwX5U2Wb189VoyzZnLxUVcchLHMCr8yxiPDHKpmelmUQPQUe5UEegx/OR0k1cW/+cOOI7PwAdZ/J848+n+BCGn+/rJwFRaUFpDme3l/tmGHsYRpTRGBt6eji7vbwTTfRpO7Hxj8xgcLXcrkWl31v7YtJiD5BpwwpnTVPnsu2NzEinfe+kuU3JwdrZ6lU3fUfvbuu6xF4jJ3xOx8y1Nn99VhWsZsE4sZJsVvMa+z342/nfwOQeY9MS/Dwry4XUKKkelyjTbiFRs2WTlx98pep+xJJITnZYpt3vGCwxYIaD10/m1Ot2nKHd8ibiPTZSYUIOimwbXa+7j4RRA+RxEjb1BIH+PsMj0tPnhW5V/VkWMV8wTvDooaHwb6Qyb4GfxRvxKLtdYIA9nYee1sccYByCBK06Rz/9DJFpUhfVdm1gLFfVDaeJXnzRomp4PC12umZ7v2arUAedqMohSNAyMwC7tTDQe+CEG+rt3kpRRhz3FhW4Zc0GY8kXBzntorQgtBhBp6wzjc5dG5ooprKl6ZB5rqYTThNdbJTIoFd2Ak4THI5XHvpl1MOoG04SPTzLAQcQXOhQR3L4+/aDzMe/oDX22AiF/okS2oM72REy463IERLOXcmnwX8phyOX+62qkSbOADELzKBXxoaeskaxP+MGLDLGxy65Y9IZoudV9H5lIovMGB5esHe22XQ5JaslS5sOhQirlbIS/c0GeP+agtNuC+00ye6gGrb3q2AMiDbH21YoBEGa763Lh0+VhT+5DpHJUsIsgjI3+Cvx5eN34EbupM+uFR785HtWoe8jhUw8xtbsjUC4qD2QpyX7AhCEzfpu/MU+UqNXqKNvvy52SOYnWYlGNm+lEqu6ESy332CMCDlOqXiZtk95XWPTxobOhf+eI/z3ceFl095IgQ17iEydrN/Ab3MWM1FrMoeJZrTHTTbZPVFnv8srNoFc7FAemWNGyzOtlXzYwr4W29DZ8O24IHAExYbOhr+stKqbzX4Ccb4S6wwp4sCHlN5na2Tz6XFpqWp+XYC7GYuZqGVWZzMkzoQbvFB19X5blujasamJ9bMtS3Q/bDETlzub+TXQ7m5ADK/6Nu+d6M8ZI2pinfAOFmDHCXiHCKCjAx0M3QhG1FS12D0ITpjJTNuCQNYVT/q56URVvtbij8C9wcMJfi+yv8NJftTtHZaiMI/9IKsDL7ijgFCNOUBN/sbzzu3lB6Vk1Z3czmLkhIf3vzhsSMYxX9GHj1Ri+cbl5cdKsQxu+QNEavEklI8flpLrTO1+ErvL6rGGmQyh4Y1EmtX7WstH2b0381RMMEhI7+5icc+iNAUHNcQvDJODR9SwQNOukmqwlWBTg9ub/MByGcbYoEKelZlie/bx4RO3oznQON4UPPRUVTMkw1SnUzRF0ky0hKoZYDjn2r9iuYQTMqVm2mEbqFpLnK+bfsgIGruHBsOLcj+kKJAzIcbYxIvS9qvgcXcbmijW7kj8o6i6FxXw1z4PPXgZ2yOd0OMUI2piXZ20JdRJK4zJ+5ydsM/YyUuNCduMmY2heww4t5zsUGZZu1RzyIzZIZkTNz6LkoDse8Y5nOShE1U57sZueKroaXvJRQrSt5L7uN8ih+Vau+E0UQY9wor528vxq49jr67YrQOcrzuTzcrOFvd2HSRH7EDOeHGlr7Jyp2U+eQFNNrKBszUx2FVAlHW1bO5rgISDeoLJu6y5zqod1GPPPM3ipkLkyBh5gsP93JGEpxo4Pj5P4+srkTUaU/gDazaq4xtuclTf11tn1IXOqiJTxWFiyU8CkXsecozRR6HkY9uv4p3c7DmrbkDtuLppsbjbr8GnW/nZ6f2qg3knftmKJrxLZ6rvnk3w7TZ28A0GJqu6sLPX2t5kYma7FqLaKZu1zJl2P7p+zMxujVtEZgb5s3btdgjdYZ4ImSGOkGkt5nqrs9HGkjSvA5BqNtnGAqY4JcddwcPv8CaRBj9vhcJ0tUMc9Uot8hrxdDKAzdWG7w0rNXTwpeqE+uh3zsA8rg1pczXSbzYByI0DKr0eLr6IfKtD78LJch4yxbU9qKkdD78WOkM42sR0N8f801Qp35TTSSa1fwhIo44zH+2LKEw/tBuvp06PaxPnDPaj6aLo71x0hQky2qH1Bgq0vOjo7v01yRL+bTZdLjXqwfKAmo3ZLb43L0XXkE5qBIyMfy30qg7vnH9K9A53UuzF4g4cfrG4izRAZf6AFhn5TjSbumrEcGcLYvgjMtIB3PKm0EiPfhi3AVbGgBllYW8+gboteNFzTsNVvaiuacqcs7jOdg+AnqnFpD+PtI80oMfMIyvd5734LNTFeqMBPceRNXct9kto7K9PyWGPMEI9DCb/wZLUAZ2rmXa5zHQzyVQDCxcVG/QqemTNRh3O6Me84kyQ6Xlhz3iGZMUEOVdDCWc4RYpgj3A6TlgDdG4D2Fz9DGaDwQJ3tLjI/VwwWPADcDZ+PxUM024sHCEPdK2y5WTVdLLVEDdbI1rJXLeTJRCRD7AT4r4T5QbRd0+Qcw7x53XFzSCiHNc1sDLnMvwkq8KeGptsNcQRrAIzipLV5uYRnejnmUZE0QtNHjrRDidFd1nsGi3WHNfTRUa4MlxbBzjdtO12fhI7wD3tgJrrvz5UT1X9azUaAUAIuLhzNh//0n2dRn6fnzJPsIB9dZ8yZy2mk5+Tg3tmPJ+Qm/+QemUWizbtQDVdyebN3mX7G9AxsOdkv9PuZ3bcH+Kq4tOndf+N5NMnjJCFPEFqeFZgl18fGlkt05uPExI3u6b/0Z34hRb1TvwyF3G5H6RftEv8Bz+fFNtzJKNDYo5pO/3lVYzOnfjlDmzTIScyp55vOgoZf84p8WTHLtC0BcSE/p/fV3Uh/rPRSmTrP+V11WzXQjX/83uMwidD/9TRPx3oI7VX/tboOWJTqWzXbbV/ah6cKjoINc6PqI7toawfuB1NjDS5Z6nCh/Ta+3czfP3l0TMxkuTa/2KWMzFOkBv2WHbL3nRjZDwNu4dT27V5OWlWw0chYK0eJfswSVd9IzfC7ODM7NiHSbz47WEkF2up9bB9Uy74kEi8zGcPtdL2NxOo2R+GAfaO3/3t1Q9/jrvCz1B3fxjFoEmeNbsq73cYOBrHHEEaZeyNZedB7CmlXlz0webQQviORD+5LH18WS09V4SrPL7Ip5TJftg9tF9A9vc0Yq/xZrsp0x7BZ5T+cCCf3gy7n04SF+12DHC64p3IClxna9sN2OlijLU3DXG65qK9NXPYHcipUow1Nw5wuuI/lATe5G27ATtdjLH2piFO15w+DEP83A+/J/fGn/bPqkbhE+pZeCpphUl8Fp4+sUMq0v2E/pVV5EESUZG3WdPcr1S9Xa4wT5kHzQE57Zmy3SXisVZrsNiBm6b1dp/H6Cfbg98oQNpD7K1M2NZ6/ppKx6bW0T4madlqbRSAsAOLSQ02zXEEWm2ac9UfsvzplA8J0TXZwwkT1PakN6LRsjp5+UW06YAPlb0083gfSjHdeYZHfhwPWpj9jLrnKssoHL0oeyCL955Nl1yMRgeAjgvX63+yImsa2CHoyo4nAaCt53mAJMqYB6MYhAk/PYjlLjKhp4sevp2cOolgVvJATprg0I/sw7V6cJJVVhTtWPlCLq3hPtDbh41P+tyC/iQ0ecUcH60U6bUU/WZ07+Ry9Y9MC3WdqSe4pidOkrNs2gOpGSrzQE70mo5RwsR69FfxsW/yXp6Yfc0zZZ8nTuL4AcN3KsDnqNfWDA2KzOvJPIxYh/G3DYpFx6J/msN/SBwne6zV5Xd/fT9dSkaxGhITnaq8XstqOTlynaRlQ9PM3osvejLFlmI1AFKMxrOg6Uqu+c+nOH24u8LpfLi7SjO52epljc6kETTNbHpXpii5b8SnurzOUDk0JKY6tY1iMj+WZjVkpnp1LQMsZkHTzLqZt9i+wGYmetX5kwB1lx0r0WP0rZnk0bLSPKbfbikmPY3mgmv5Q2Ka03SCDOJrU+rzkWM+HfETxIGY9snhrCiUaJqkY5a8SkdmolQX72arN9uE3em9XhZ2ouYVOOzKfKvqjVDa6qihTo5IJ2h2+y4wG1pB4uXeZDpjl7ODxMv9KGp2NytGvJq1nwe7pCdavO5+4Ty76CROUPG4MOSjFL/ilGxuYl9nIElnlgS10o8raX+O/lA+hCZqmeGjwyE6ODELi1BLPs8kTpF2tEnL6r9HYw17KkCs/W/4VR7TqaI8gjQxrvn5uGn4ZuQVbTdgJkqNVtdRfRzL6E5TGWyQBLYakNMEz+uqErm+2QCfzAfMZCnzvxYbkSOlembo6WL/Z+2ienTsFhoOboZ4zE4Cl1qcfgqkP/wQm3pJDGMhlGzPt0a3eTc+TfWNzE8/Vtz7UUfm0zPFIzWaTd1A78xHZKJSvc5kZU5XREoNoIla7rU8VK8hNXGRmVJVffElFxvoI6CNTVYD3kxaGn0hHsuCuz9+TxfjXOBIyjDzPTTxtOnQJ1bPSdMnfWB9p/VmcmAK1W3KTpTc5N1wP8fziwueqIl+N6O9lrG9kWFexni0yDp3Qm/VZBNskNoQTtP8pznsgclywE6TvBLLLN+Be7ohNPRY3T2btKPxjZmXBq0iFzyxjur6abvZf24B+g2oFDH0PdSipoldy6Ioxa+ZEv1X6MtK4i6tG5+oWhfyUYpiMkGI6mhz0+TMNJq3QuerwyQIaDt149NUbx7+LYCvdx0uUaUyM1mgTx5HZKISuI2SWmc/FYrjQdLBTlykl6lGFB9UOTr8hOhnYxPVugUG0K9JA2aa1M9bsTU7G2qzn98SV2EjLkRuIX/D1ZyDnSZpWriZCCPGc46IgiNuulw7Q2fXc8zYparLEvh2HwqC154unGLU96yjOrEY6G58xKXJMaTtEfsVq40niaXJvf7nzeu79obFpHkMgNDdL0Jh7AQ8cYDy5l++qSsBfvGLiAUuRLvz9XOVYhAMXAzuJMJlfzssznb/cMRASLdzS2TOWtNWDIT0s7RRfON8nlYJbY79HOzbTOKzYwhP1WyHCKDjOANmqhTD6BJ9TGmxypQozlx7chPdJmSQIMdEmFCQRO3+40+PgY7xOOmJouZo45zzQ6c3Qqqwc/dEsuSAShEzu3fwyA3IiZte5Ru+D54ueJrmh6oQqtzJatm+HWO34XXBqZoLWeGe7GwsQq1dDwR/Ag3EQEifl3Xj2PUMKm3FQEgvdMZe01YMhHQ73scsbcUgS3P1CKDeoKWcZ1UuSs5qdYTBqN9uS37xYRCMNnvjm0ZJE/duYUxUHXFpcuBhUBv7FauljtDaFL4hz5k4QPm2z2YW72KkSX96c3PdvlTcZ2opcO/UI26inDlckMVuBCas6OvedE89xTti6SPtAG/v2kyIm0FO2vgJdq9llakdqtKONIJRXezsQSWCz55FsGlr+aLK60JWJ527HV6k1BOpZrj9Ooe8dKvzer2pG/G2us1UBtn21Camm118ycvtaYeteqe6d6h0l/30HFSaD3DpTsfZt/awfbqWTUw3s6eTTh4z0wWdYIqnmb2J3KDYJqabmdmGvlld6XZTKs2wRZgjcotMZyhBC5rud7PGNFXDIVhMpvhBnCbUdMPbTGk53IsoXWuPIrhIzNbQhkOw6Hbw2P0kII1ugEt3sr+lul7r0gV9bJTtYEYD7lY1EwLlzimNsq2rEpKoPYtu49vakO4W2uDwNNO8VgXGzJAoJo9CKaFu61LmoOs4JFLMurrO8hXkIXzIo1u1GYDUaoF0LyUKUZnbICjvx1SyIfiInCmVbGjv/EdWc2z6d7rTdY15Ex3gyE53opDKWkhE9uqRFLfhTq8YtSGRbmawSC/zj+lWgQkR6WpzEyFO9jP3352ZRwOpuTEz3c4Au2lTCK8jLd3oH1KvLk3YXOrzWqgc1M+6uOmW/+f6yrw87ls9cgTXTaaOmh7NaAffdLTx+HvkeTej7UpoJi0sUWS8fpRm0tESVeLWWtEEQzGI2uNPuRjR/Zfc7wFqrqU2SMkjH1KTge/OSOtJGKQ8Z3VbIRKlAzOmaaoTcKKgb54EzW40TSKtcUXPkkC6orI1apYEg3gX4iTp4cFNZlC/O2bhaBl/hvbx13b4V+4Dsc+VyLTYn+qwrSqhLqvNNnX6wyC4BxzasmX6k26raA6Zjhyy+VHsf72QRbtLdbPf0ZGu40WHfAYHA51VxfBMHpjXbIh4P2a3E7zutpV5F9j/JSi7HdCQQ/er9kN/JSoNqxQ3N9jGxqFj31yGrckZpntHCTZnWtQJbk7gblvdbMwXelkPrxbJwsOcU+l+fdZ+5UZoOHhuheGNJQ9ckFOOMJxy7Nh/eWWF3Wo5HNyNuZW1PxkVyH3/6lz2zXF/wEDfKkbVHFfELvQs1lHiYZnNt/hG10r8semOOfjjPsxMPRx+92n/u14vqjIuvmzqxc9XUouz7ld/mvyb5PgT0qfJv4ly/K/DM9Tv2meo/2Y1mj6xxTi+P7u+WNyenV8sjnKi2q6Z1Y5hbcu/Wps92cOxz6DVhfQrtRNQbqrnleqD+rUWtdJv2sF5a0TxGdysyH7By/eLi7v7F0j/Pxwid1LfDR8QPty+Obu/eAmrQ2SH1Xm9XteVpydr36q4FR0G9qX97vvhxZ1I+h7x0J7uvnh6mE73FFPHbM8GV7TiB02bps5lpkVh7sMvYGrFD5vuqvzcjFZEnhyDV7UEZl3jdylmMUUdNRO1qQBfCQhHcBy7E3Pm2YN13uJzFcRlEcqc/QDXrVCNbLSo2u/ypZl8+saa0fpc/mGfUEkuqu36rdng2H6cei5xK3zQ85dtVkr9kt31RCHke2neEKMXSqJVh9HDll2LXOQrsX6BvLXjB02T9iOH+77sxuVcxSHvcP6T2L1M/7EPHMqc66x9b7uv23ZbFS/QHCcKQV/TdZ9preTDVr9AldrxZ03b3vuFLNvYcYYvk552/FnTy6rRZl+E6dKYZxUea8x6mz98IVcTOvg1pq5eOgkmCiHf22y5nw4b+YUGbTsSCLraj5sn7W8G1/a6nFCCl3uAT3hyv1WiMOcbix9Vvd28wF1tJBDlGnuCAZur58wDl2vTlusFXTuBsOsJu+TjPYnb6d+Jsu1oXqZbHkYPfrNu303Mi+rzOx5jzxu2HcdLKbbB5x37W+FLafbxg6a7Rov1YS7BC6jaAiHXbiuV99la9CO0LzLm6tQIeX9ohHqpMYdj7JDh67ouRVY5hpscsxTQiuPgszNM2p0zpBaX7WqvRzkzxYRh+HQcf1Z52+h6/VK+o+Bzsm+E2PQzHJ9VdBh4TjJm2xP4kCh1f5SLL1plMyvR8NJtTMIGKi+TtfH5evzL12a46YUs29jxqu3r8fP2s+Pgp8q+rdXs8idu573DrLr5IiCa2TWMLF8iurizivH7EvGN69O2VfhJ7Jqbx8V2I9Sz1/Qo9lxtd3/+QpYxgtdZlS1F8UKd7ST6rO5+sPRG7T/GPq/uOHqsbnvkYlXuXqD3dSvMirefJ1xvO8+hPAoeJ9t/S3nm6rVjR6m+RBYc40YpPvsN9xA1Wu+1NYflORVfT+et+DTtTzztKvHnfVAMeEQVwdxJnl/YRI3SO4ziPr/jIfSs6LZ9sxwNyT2H5iDwnKQZVmo2WW4OgKrLz8/8HDCJPqtbV++3ZfnsQwWDuITNGbfrB3PKzUsMeo1iz9Xz7D6N8On/tA0d11J3E7Kysvvy8PmZnwecBrO1PP7BzePzSk/jxyqXu5d9gwh4zBWh3QBZaKHkb6Jod7pZW18insHerRAhPrspKIMpcfdQ+9v788rbsWfrd26jU7gfbUdUmT+9bKfnNJit5f756eLLRommee63TEf82SW+Mft54r+g0zf+nN1OEy9N3XezmzbQrOTm2UfPxsHn0+KXrVTiuWu4C0rYOy7Pyky95MOo02B2cfthtsZzyx7ixim295qXcOwCx0ke3rxewPMQ+0TVl6jTY/BI2f0cmBdx7WPP7xOh2xECx7Td55AdR5/VrZV+mQEfK/JJmi/0cONxmFXXSlbLF7oZ2LHnVM2vTKN8Vsc+6Jzcp0/rfoLxp0+zu3+hLa3o423B7I1Dxh/RWAwL18eykYn1iz9Z/5S8O4DtZTvFbMxBr52QQUyttDvgJJe/2z8npqSY+j7G+8MYuN8V7ru/vfrhz93uNf/6f//6/+yI8VKeTQoA" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/api/assets/search.js b/docs/api/assets/search.js index 8eb875900f5..91aa3e28732 100644 --- a/docs/api/assets/search.js +++ b/docs/api/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Blob.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Blob.html index 91d82cd1f64..5e8597b6d59 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Blob.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Blob.html @@ -13,7 +13,7 @@

{ArrayBuffer}, {TypedArray}, {DataView}, and {Buffer} sources are copied into the 'Blob' and can therefore be safely modified after the 'Blob' is created.

String sources are also copied into the Blob.

-

Parameters

Returns Blob

Properties

size: number

The total size of the Blob in bytes.

+

Parameters

Returns Blob

Properties

size: number

The total size of the Blob in bytes.

Since

v15.7.0, v14.18.0

type: string

The content-type of the Blob.

Since

v15.7.0, v14.18.0

diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Duplex.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Duplex.html index cf0059aac1c..e20fb0efa91 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Duplex.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Duplex.html @@ -101,8 +101,8 @@

Constructors

Properties

allowHalfOpen: boolean

If false then the stream will automatically end the writable side when the readable side ends. Set initially by the allowHalfOpen constructor option, which defaults to true.

-

This can be changed manually to change the half-open behavior of an existingDuplex stream instance, but must be changed before the 'end' event is -emitted.

+

This can be changed manually to change the half-open behavior of an existing +Duplex stream instance, but must be changed before the 'end' event is emitted.

Since

v0.9.4

closed: boolean

Is true after 'close' has been emitted.

Since

v18.0.0

@@ -110,19 +110,19 @@

Since

v8.0.0

errored: null | Error

Returns error if the stream has been destroyed with an error.

Since

v18.0.0

-
readable: boolean

Is true if it is safe to call readable.read(), which means +

readable: boolean

Is true if it is safe to call read, which means the stream has not been destroyed or emitted 'error' or 'end'.

Since

v11.4.0

readableAborted: boolean

Returns whether the stream was destroyed or errored before emitting 'end'.

Since

v16.8.0

readableDidRead: boolean

Returns whether 'data' has been emitted.

Since

v16.7.0, v14.18.0

-
readableEncoding: null | BufferEncoding

Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

+
readableEncoding: null | BufferEncoding

Getter for the property encoding of a given Readable stream. The encoding property can be set using the setEncoding method.

Since

v12.7.0

-
readableEnded: boolean

Becomes true when 'end' event is emitted.

+
readableEnded: boolean

Becomes true when 'end' event is emitted.

Since

v12.9.0

readableFlowing: null | boolean

This property reflects the current state of a Readable stream as described -in the Three states section.

+in the Three states section.

Since

v9.4.0

readableHighWaterMark: number

Returns the value of highWaterMark passed when creating this Readable.

Since

v9.3.0

@@ -162,14 +162,16 @@
defaultMaxListeners: number

By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

+for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.setMaxListeners(emitter.getMaxListeners() + 1);
emitter.once('event', () => {
// do stuff
emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
});
@@ -181,13 +183,13 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

Since

v0.11.2

-
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

-

Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

Since

v13.6.0, v12.17.0

Methods

  • Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

    Returns Promise<void>

    Since

    v20.4.0

    -
  • Parameters

    • callback: ((error?) => void)
        • (error?): void
        • Parameters

          • Optional error: null | Error

          Returns void

    Returns void

  • Parameters

    • chunk: any
    • encoding: BufferEncoding
    • callback: ((error?) => void)
        • (error?): void
        • Parameters

          • Optional error: null | Error

          Returns void

    Returns void

  • Parameters

    • chunks: {
          chunk: any;
          encoding: BufferEncoding;
      }[]
    • callback: ((error?) => void)
        • (error?): void
        • Parameters

          • Optional error: null | Error

          Returns void

    Returns void

  • Parameters

    • callback: ((error?) => void)
        • (error?): void
        • Parameters

          • Optional error: null | Error

          Returns void

    Returns void

  • Parameters

    • chunk: any
    • encoding: BufferEncoding
    • callback: ((error?) => void)
        • (error?): void
        • Parameters

          • Optional error: null | Error

          Returns void

    Returns void

  • Parameters

    • chunks: {
          chunk: any;
          encoding: BufferEncoding;
      }[]
    • callback: ((error?) => void)
        • (error?): void
        • Parameters

          • Optional error: null | Error

          Returns void

    Returns void

  • Event emitter The defined events on documents including:

    1. close
    2. @@ -210,14 +212,14 @@ The buffered data will be flushed when either the uncork or end methods are called.

      The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them +immediately forwarding them to the underlying destination, writable.cork() buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

      +to be processed. However, use of writable.cork() without implementing writable._writev() may have an adverse effect on throughput.

      See also: writable.uncork(), writable._writev().

    Returns void

    Since

    v0.11.2

    -
  • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the readable -stream will release any internal resources and subsequent calls to push()will be ignored.

    +
  • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the readable +stream will release any internal resources and subsequent calls to push() will be ignored.

    Once destroy() has been called any further calls will be a no-op and no further errors except from _destroy() may be emitted as 'error'.

    Implementors should not override this method, but instead implement readable._destroy().

    @@ -227,7 +229,7 @@

    Parameters

    • limit: number

      the number of chunks to drop from the readable.

    • Optional options: Pick<ArrayOptions, "signal">

    Returns Readable

    a stream with limit chunks dropped from the start.

    Since

    v17.5.0

    -
  • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -288,9 +290,9 @@
  • The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

    +
  • The readable.isPaused() method returns the current operating state of the Readable. +This is used primarily by the mechanism that underlies the readable.pipe() method. +In most typical cases, there will be no reason to use this method directly.

    const readable = new stream.Readable();

    readable.isPaused(); // === false
    readable.pause();
    readable.isPaused(); // === true
    readable.resume();
    readable.isPaused(); // === false

    Returns boolean

    Since

    v0.11.14

    @@ -301,43 +303,43 @@ or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. Default: true.

Returns AsyncIterableIterator<any>

Since

v16.3.0

-
  • Returns the number of listeners listening for the event named eventName. +

  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    -

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

      • Optional listener: Function

        The event handler function

      Returns number

      Since

      v3.2.0

      -
  • Returns a copy of the array of listeners for the event named eventName.

    server.on('connection', (stream) => {
    console.log('someone connected!');
    });
    console.log(util.inspect(server.listeners('connection')));
    // Prints: [ [Function] ]
    -

    Parameters

    • eventName: string | symbol

    Returns Function[]

    Since

    v0.1.26

    +

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

    Returns Function[]

    Since

    v0.1.26

  • This method allows mapping over the stream. The fn function will be called for every chunk in the stream. If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

    Parameters

    • fn: ((data, options?) => any)

      a function to map over every chunk in the stream. Async or not.

        • (data, options?): any
        • Parameters

          Returns any

    • Optional options: ArrayOptions

    Returns Readable

    a stream mapped with the function fn.

    Since

    v17.4.0, v16.14.0

    -
  • Alias for emitter.removeListener().

    -

    Parameters

    • eventName: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

    Since

    v10.0.0

    -
  • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

    +
  • Alias for emitter.removeListener().

    +

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

    Since

    v10.0.0

    +
  • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

    server.on('connection', (stream) => {
    console.log('someone connected!');
    });

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

    By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

    import { EventEmitter } from 'node:events';
    const myEE = new EventEmitter();
    myEE.on('foo', () => console.log('a'));
    myEE.prependListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    // b
    // a

    Parameters

    • event: "close"

      The name of the event.

    • listener: (() => void)

      The callback function

        • (): void
        • Returns void

    Returns this

    Since

    v0.1.101

    -
  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Adds a one-timelistener function for the event named eventName. The +

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

    server.once('connection', (stream) => {
    console.log('Ah, we have our first user!');
    });

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

    By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

    import { EventEmitter } from 'node:events';
    const myEE = new EventEmitter();
    myEE.once('foo', () => console.log('a'));
    myEE.prependOnceListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    // b
    // a
    @@ -349,12 +351,12 @@ becomes available will remain in the internal buffer.

    const readable = getReadableStreamSomehow();
    readable.on('data', (chunk) => {
    console.log(`Received ${chunk.length} bytes of data.`);
    readable.pause();
    console.log('There will be no additional data for 1 second.');
    setTimeout(() => {
    console.log('Now data will start flowing again.');
    readable.resume();
    }, 1000);
    });
    -

    The readable.pause() method has no effect if there is a 'readable'event listener.

    +

    The readable.pause() method has no effect if there is a 'readable' event listener.

    Returns this

    Since

    v0.9.4

  • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

    +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

    server.prependListener('connection', (stream) => {
    console.log('someone connected!');
    });

    Returns a reference to the EventEmitter, so that calls can be chained.

    @@ -369,19 +371,20 @@

    Parameters

    • event: "close"

      The name of the event.

    • listener: (() => void)

      The callback function

        • (): void
        • Returns void

    Returns this

    Since

    v6.0.0

    -
  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Returns a copy of the array of listeners for the event named eventName, +

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Parameters

    • eventName: string | symbol

    Returns Function[]

    Since

    v9.4.0

    +

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

    Returns Function[]

    Since

    v9.4.0

  • The readable.read() method reads data out of the internal buffer and returns it. If no data is available to be read, null is returned. By default, the data is returned as a Buffer object unless an encoding has been specified using the readable.setEncoding() method or the stream is operating in object mode.

    -

    The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

    +

    The optional size argument specifies a specific number of bytes to read. If +size bytes are not available to be read, null will be returned unless the +stream has ended, in which case all of the data remaining in the internal buffer +will be returned.

    If the size argument is not specified, all of the data contained in the internal buffer will be returned.

    The size argument must be less than or equal to 1 GiB.

    @@ -402,7 +405,7 @@
    const chunks = [];

    readable.on('readable', () => {
    let chunk;
    while (null !== (chunk = readable.read())) {
    chunks.push(chunk);
    }
    });

    readable.on('end', () => {
    const content = chunks.join('');
    });

    A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

    +a call to readable.read(size), regardless of the value of the size argument.

    If the readable.read() method returns a chunk of data, a 'data' event will also be emitted.

    Calling read after the 'end' event has @@ -419,13 +422,13 @@

      • (previous, data, options?): T
      • Parameters

        Returns T

  • Optional initial: undefined

    the initial value to use in the reduction.

  • Optional options: Pick<ArrayOptions, "signal">

Returns Promise<T>

a promise for the final value of the reduction.

Since

v17.5.0

-
  • Type Parameters

    • T = any

    Parameters

    • fn: ((previous, data, options?) => T)
        • (previous, data, options?): T
        • Parameters

          Returns T

    • initial: T
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      +
    • Type Parameters

      • T = any

      Parameters

      • fn: ((previous, data, options?) => T)
          • (previous, data, options?): T
          • Parameters

            Returns T

      • initial: T
      • Optional options: Pick<ArrayOptions, "signal">

      Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -433,7 +436,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -444,7 +447,7 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -455,16 +458,16 @@ stream without actually processing any of that data:

      getReadableStreamSomehow()
      .resume()
      .on('end', () => {
      console.log('Reached the end, but did not read anything.');
      });
      -

      The readable.resume() method has no effect if there is a 'readable'event listener.

      +

      The readable.resume() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • The writable.setDefaultEncoding() method sets the default encoding for a Writable stream.

      Parameters

      Returns this

      Since

      v0.11.15

    • The readable.setEncoding() method sets the character encoding for data read from the Readable stream.

      -

      By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data -to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the -output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal +

      By default, no encoding is assigned and stream data will be returned as Buffer objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as Buffer objects. For instance, calling readable.setEncoding('utf8') will cause the +output data to be interpreted as UTF-8 data, and passed as strings. Calling readable.setEncoding('hex') will cause the data to be encoded in hexadecimal string format.

      The Readable stream will properly handle multi-byte characters delivered through the stream that would otherwise become improperly decoded if simply @@ -476,7 +479,7 @@

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • This method is similar to Array.prototype.some and calls fn on each chunk in the stream @@ -497,7 +500,7 @@

      Since

      v17.5.0

    • The writable.uncork() method flushes all data buffered since cork was called.

      When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event +of writes to a stream, defer calls to writable.uncork() using process.nextTick(). Doing so allows batching of all writable.write() calls that occur within a given Node.js event loop phase.

      stream.cork();
      stream.write('some ');
      stream.write('data ');
      process.nextTick(() => stream.uncork());
      @@ -538,13 +541,13 @@ custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, however it is best to simply avoid calling readable.unshift() while in the process of performing a read.

      -

      Parameters

      • chunk: any

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array, or null. For object mode -streams, chunk may be any JavaScript value.

        +

        Parameters

        • chunk: any

          Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must +be a {string}, {Buffer}, {TypedArray}, {DataView} or null. For object mode streams, chunk may be any JavaScript value.

        • Optional encoding: BufferEncoding

          Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        Returns void

        Since

        v0.9.11

        -
    • Prior to Node.js 0.10, streams did not implement the entire node:streammodule API as it is currently defined. (See Compatibility for more +

    • Prior to Node.js 0.10, streams did not implement the entire node:stream module API as it is currently defined. (See Compatibility for more information.)

      -

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, the readable.wrap() method can be used to create a Readable stream that uses the old stream as its data source.

      It will rarely be necessary to use readable.wrap() but the method has been @@ -559,7 +562,7 @@ occurs, the callback will be called with the error as its first argument. The callback is called asynchronously and before 'error' is emitted.

      -

      The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. +

      The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk. If false is returned, further attempts to write data to the stream should stop until the 'drain' event is emitted.

      While a stream is not draining, calls to write() will buffer chunk, and @@ -584,8 +587,8 @@

      function write(data, cb) {
      if (!stream.write(data)) {
      stream.once('drain', cb);
      } else {
      process.nextTick(cb);
      }
      }

      // Wait for cb to be called before doing any other write.
      write('hello', () => {
      console.log('Write completed, do more writes now.');
      });

      A Writable stream in object mode will always ignore the encoding argument.

      -

      Parameters

      • chunk: any

        Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

        +

        Parameters

        • chunk: any

          Optional data to write. For streams not operating in object mode, chunk must be a {string}, {Buffer}, +{TypedArray} or {DataView}. For object mode streams, chunk may be any JavaScript value other than null.

        • Optional encoding: BufferEncoding

          Callback for when this chunk of data is flushed.

        • Optional cb: ((error) => void)
            • (error): void
            • Parameters

              • error: undefined | null | Error

              Returns void

        Returns boolean

        false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

        Since

        v0.9.4

        @@ -631,7 +634,7 @@ event target. This is useful for debugging and diagnostic purposes.

        import { getEventListeners, EventEmitter } from 'node:events';

        {
        const ee = new EventEmitter();
        const listener = () => console.log('Events are fun');
        ee.on('foo', listener);
        console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
        }
        {
        const et = new EventTarget();
        const listener = () => console.log('Events are fun');
        et.addEventListener('foo', listener);
        console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
        }
        -

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

        +

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -640,17 +643,17 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      +

      Returns number

      Since

      v19.9.0

    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      +
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -659,10 +662,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

    Parameters

    Returns AsyncIterableIterator<any[]>

    An AsyncIterator that iterates eventName events emitted by the emitter

    Since

    v13.6.0, v12.16.0

    -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -670,7 +675,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -678,11 +683,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter-1.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter-1.html index 98f2163fe57..2eeb0e160d2 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter-1.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter-1.html @@ -1,12 +1,12 @@ EventEmitter | Amplify JS API Documentation -

    The EventEmitter class is defined and exposed by the node:events module:

    +

    The EventEmitter class is defined and exposed by the node:events module:

    import { EventEmitter } from 'node:events';
     

    All EventEmitters emit the event 'newListener' when new listeners are added and 'removeListener' when existing listeners are removed.

    It supports the following option:

    Since

    v0.1.26

    -

    Hierarchy (view full)

    Constructors

    Type Parameters

    Hierarchy (view full)

    Constructors

    Properties

    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +

    Constructors

    Properties

    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    Since

    v13.4.0, v12.16.0

    captureRejections: boolean

    Value: boolean

    @@ -43,14 +43,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -62,94 +64,94 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    -

    Methods

    • Alias for emitter.on(eventName, listener).

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    Methods

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • K

      Parameters

      Returns this

      Since

      v0.1.26

      +
    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      -
    • Returns an array listing the events for which the emitter has registered +

      Type Parameters

      • K

      Parameters

      Returns boolean

      Since

      v0.1.26

      +
    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ]
      -

      Returns (string | symbol)[]

      Since

      v6.0.0

      +

      Returns ((string | symbol) & Key2<unknown, T>)[]

      Since

      v6.0.0

    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        -
      • Optional listener: Function

        The event handler function

        +

        Type Parameters

        • K

        Parameters

        • eventName: Key<K, T>

          The name of the event being listened for

          +
        • Optional listener: Listener<K, T, Function>

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      Returns Listener<K, T, Function>[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        -
      • listener: ((...args) => void)

        The callback function

        -
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.101

      -
    • Adds a one-timelistener function for the event named eventName. The +

      Type Parameters

      • K

      Parameters

      • eventName: Key<K, T>

        The name of the event.

        +
      • listener: Listener<K, T, ((...args) => void)>

        The callback function

        +

      Returns this

      Since

      v0.1.101

      +
    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        -
      • listener: ((...args) => void)

        The callback function

        -
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.3.0

      -
    • Adds the listener function to the beginning of the listeners array for the +

      Type Parameters

      • K

      Parameters

      • eventName: Key<K, T>

        The name of the event.

        +
      • listener: Listener<K, T, ((...args) => void)>

        The callback function

        +

      Returns this

      Since

      v0.3.0

      +
    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        -
      • listener: ((...args) => void)

        The callback function

        -
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v6.0.0

      -
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

      Type Parameters

      • K

      Parameters

      • eventName: Key<K, T>

        The name of the event.

        +
      • listener: Listener<K, T, ((...args) => void)>

        The callback function

        +

      Returns this

      Since

      v6.0.0

      +
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        -
      • listener: ((...args) => void)

        The callback function

        -
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v6.0.0

      -
    • Returns a copy of the array of listeners for the event named eventName, +

      Type Parameters

      • K

      Parameters

      • eventName: Key<K, T>

        The name of the event.

        +
      • listener: Listener<K, T, ((...args) => void)>

        The callback function

        +

      Returns this

      Since

      v6.0.0

      +
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      Returns Listener<K, T, Function>[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: Key<unknown, T>

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -157,7 +159,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -168,15 +170,15 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      Returns this

      Since

      v0.1.26

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Experimental

      Listens once to the abort event on the provided signal.

      @@ -200,7 +202,7 @@ event target. This is useful for debugging and diagnostic purposes.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -209,15 +211,15 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      -
    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      +

      Returns number

      Since

      v19.9.0

      +
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

      • emitter: EventEmitter

        The emitter to query

        +

        Parameters

        Returns number

        Since

        v0.9.12

        Deprecated

        Since v3.2.0 - Use listenerCount instead.

        -
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -226,10 +228,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

    Parameters

    Returns AsyncIterableIterator<any[]>

    An AsyncIterator that iterates eventName events emitted by the emitter

    Since

    v13.6.0, v12.16.0

    -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -237,7 +241,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -245,9 +249,9 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter.EventEmitterAsyncResource.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter.EventEmitterAsyncResource.html index bd3b1ce3727..80615afdf24 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter.EventEmitterAsyncResource.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter.EventEmitterAsyncResource.html @@ -53,14 +53,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -72,18 +74,18 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    -

    Methods

    • Alias for emitter.on(eventName, listener).

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    Methods

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +
    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • Rest ...args: AnyRest

      Returns boolean

      Since

      v0.1.26

    • Call all destroy hooks. This should only ever be called once. An error will be thrown if it is called more than once. This must be manually called. If the resource is left to be collected by the GC then the destroy hooks will @@ -96,74 +98,74 @@

    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.1.101

        -
    • Adds a one-timelistener function for the event named eventName. The +

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.3.0

        -
    • Adds the listener function to the beginning of the listeners array for the +

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Returns a copy of the array of listeners for the event named eventName, +

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -171,7 +173,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -182,15 +184,15 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Experimental

      Listens once to the abort event on the provided signal.

      @@ -214,7 +216,7 @@ event target. This is useful for debugging and diagnostic purposes.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -223,15 +225,15 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      -
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -240,10 +242,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

    Parameters

    Returns AsyncIterableIterator<any[]>

    An AsyncIterator that iterates eventName events emitted by the emitter

    Since

    v13.6.0, v12.16.0

    -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -251,7 +255,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -259,9 +263,9 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.IncomingMessage.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.IncomingMessage.html index 377747f6bd1..f02ea36ad21 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.IncomingMessage.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.IncomingMessage.html @@ -2,7 +2,7 @@

    An IncomingMessage object is created by Server or ClientRequest and passed as the first argument to the 'request' and 'response' event respectively. It may be used to access response status, headers, and data.

    -

    Different from its socket value which is a subclass of stream.Duplex, theIncomingMessage itself extends stream.Readable and is created separately to +

    Different from its socket value which is a subclass of stream.Duplex, the IncomingMessage itself extends stream.Readable and is created separately to parse and emit the incoming HTTP headers and payload, as the underlying socket may be reused multiple times in case of keep-alive.

    Since

    v0.1.17

    @@ -125,8 +125,8 @@

    Deprecated

    Since v16.0.0 - Use socket.

    Duplicates in raw headers are handled in the following ways, depending on the header name:

      -
    • Duplicates of age, authorization, content-length, content-type,etag, expires, from, host, if-modified-since, if-unmodified-since,last-modified, location, -max-forwards, proxy-authorization, referer,retry-after, server, or user-agent are discarded. +
    • Duplicates of age, authorization, content-length, content-type, etag, expires, from, host, if-modified-since, if-unmodified-since, last-modified, location, +max-forwards, proxy-authorization, referer, retry-after, server, or user-agent are discarded. To allow duplicate values of the headers listed above to be joined, use the option joinDuplicateHeaders in request and createServer. See RFC 9110 Section 5.3 for more information.
    • @@ -143,7 +143,7 @@

      Deprecated

      Since v16.0.0 - Use socket.

    httpVersion: string

    In case of server request, the HTTP version sent by the client. In the case of client response, the HTTP version of the connected-to server. Probably either '1.1' or '1.0'.

    -

    Also message.httpVersionMajor is the first integer andmessage.httpVersionMinor is the second.

    +

    Also message.httpVersionMajor is the first integer and message.httpVersionMinor is the second.

    Since

    v0.1.1

    httpVersionMajor: number
    httpVersionMinor: number
    method?: string

    Only valid for request obtained from Server.

    The request method as a string. Read only. Examples: 'GET', 'DELETE'.

    @@ -159,19 +159,19 @@

    Deprecated

    Since v16.0.0 - Use socket.

    rawTrailers: string[]

    The raw request/response trailer keys and values exactly as they were received. Only populated at the 'end' event.

    Since

    v0.11.6

    -
    readable: boolean

    Is true if it is safe to call readable.read(), which means +

    readable: boolean

    Is true if it is safe to call read, which means the stream has not been destroyed or emitted 'error' or 'end'.

    Since

    v11.4.0

    readableAborted: boolean

    Returns whether the stream was destroyed or errored before emitting 'end'.

    Since

    v16.8.0

    readableDidRead: boolean

    Returns whether 'data' has been emitted.

    Since

    v16.7.0, v14.18.0

    -
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

    +
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encoding property can be set using the setEncoding method.

    Since

    v12.7.0

    -
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    +
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    Since

    v12.9.0

    readableFlowing: null | boolean

    This property reflects the current state of a Readable stream as described -in the Three states section.

    +in the Three states section.

    Since

    v9.4.0

    readableHighWaterMark: number

    Returns the value of highWaterMark passed when creating this Readable.

    Since

    v9.3.0

    @@ -206,11 +206,13 @@

    Deprecated

    Since v16.0.0 - Use socket.

    GET /status?name=ryan HTTP/1.1
    Accept: text/plain

    To parse the URL into its parts:

    -
    new URL(request.url, `http://${request.headers.host}`);
    +
    new URL(`http://${process.env.HOST ?? 'localhost'}${request.url}`);
     
    -

    When request.url is '/status?name=ryan' and request.headers.host is'localhost:3000':

    -
    $ node
    > new URL(request.url, `http://${request.headers.host}`)
    URL {
    href: 'http://localhost:3000/status?name=ryan',
    origin: 'http://localhost:3000',
    protocol: 'http:',
    username: '',
    password: '',
    host: 'localhost:3000',
    hostname: 'localhost',
    port: '3000',
    pathname: '/status',
    search: '?name=ryan',
    searchParams: URLSearchParams { 'name' => 'ryan' },
    hash: ''
    } +

    When request.url is '/status?name=ryan' and process.env.HOST is undefined:

    +
    $ node
    > new URL(`http://${process.env.HOST ?? 'localhost'}${request.url}`);
    URL {
    href: 'http://localhost/status?name=ryan',
    origin: 'http://localhost',
    protocol: 'http:',
    username: '',
    password: '',
    host: 'localhost',
    hostname: 'localhost',
    port: '',
    pathname: '/status',
    search: '?name=ryan',
    searchParams: URLSearchParams { 'name' => 'ryan' },
    hash: ''
    }
    +

    Ensure that you set process.env.HOST to the server's host name, or consider replacing this part entirely. If using req.headers.host, ensure proper +validation is used, as clients may specify a custom Host header.

    Since

    v0.1.90

    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    @@ -221,14 +223,16 @@

    Deprecated

    Since v16.0.0 - Use socket.

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -240,13 +244,13 @@

    Deprecated

    Since v16.0.0 - Use socket.

    listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    Methods

    • Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

      Returns Promise<void>

      Since

      v20.4.0

      -
    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -261,14 +265,14 @@

        Deprecated

        Since v16.0.0 - Use socket.

        in the form [index, chunk]. The first index value is 0 and it increases by 1 for each chunk produced.

      Parameters

      Returns Readable

      a stream of indexed pairs.

      Since

      v17.5.0

      -
    • Calls destroy() on the socket that received the IncomingMessage. If erroris provided, an 'error' event is emitted on the socket and error is passed +

    • Calls destroy() on the socket that received the IncomingMessage. If error is provided, an 'error' event is emitted on the socket and error is passed as an argument to any listeners on the event.

      Parameters

      Returns this

      Since

      v0.3.0

    • This method returns a new stream with the first limit chunks dropped from the start.

      Parameters

      • limit: number

        the number of chunks to drop from the readable.

      • Optional options: Pick<ArrayOptions, "signal">

      Returns Readable

      a stream with limit chunks dropped from the start.

      Since

      v17.5.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -321,9 +325,9 @@

      Deprecated

      Since v16.0.0 - Use socket.

    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

      +
    • The readable.isPaused() method returns the current operating state of the Readable. +This is used primarily by the mechanism that underlies the readable.pipe() method. +In most typical cases, there will be no reason to use this method directly.

      const readable = new stream.Readable();

      readable.isPaused(); // === false
      readable.pause();
      readable.isPaused(); // === true
      readable.resume();
      readable.isPaused(); // === false

      Returns boolean

      Since

      v0.11.14

      @@ -334,43 +338,43 @@

      Deprecated

      Since v16.0.0 - Use socket.

      or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. Default: true.

    Returns AsyncIterableIterator<any>

    Since

    v16.3.0

    -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

    • This method allows mapping over the stream. The fn function will be called for every chunk in the stream. If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

      Parameters

      • fn: ((data, options?) => any)

        a function to map over every chunk in the stream. Async or not.

          • (data, options?): any
          • Parameters

            Returns any

      • Optional options: ArrayOptions

      Returns Readable

      a stream mapped with the function fn.

      Since

      v17.4.0, v16.14.0

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -382,12 +386,12 @@

      Deprecated

      Since v16.0.0 - Use socket.

      becomes available will remain in the internal buffer.

      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });
      -

      The readable.pause() method has no effect if there is a 'readable'event listener.

      +

      The readable.pause() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -402,19 +406,20 @@

      Deprecated

      Since v16.0.0 - Use socket.

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

    • The readable.read() method reads data out of the internal buffer and returns it. If no data is available to be read, null is returned. By default, the data is returned as a Buffer object unless an encoding has been specified using the readable.setEncoding() method or the stream is operating in object mode.

      -

      The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

      +

      The optional size argument specifies a specific number of bytes to read. If +size bytes are not available to be read, null will be returned unless the +stream has ended, in which case all of the data remaining in the internal buffer +will be returned.

      If the size argument is not specified, all of the data contained in the internal buffer will be returned.

      The size argument must be less than or equal to 1 GiB.

      @@ -435,7 +440,7 @@

      Deprecated

      Since v16.0.0 - Use socket.

      const chunks = [];

      readable.on('readable', () => {
      let chunk;
      while (null !== (chunk = readable.read())) {
      chunks.push(chunk);
      }
      });

      readable.on('end', () => {
      const content = chunks.join('');
      });

      A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

      +a call to readable.read(size), regardless of the value of the size argument.

      If the readable.read() method returns a chunk of data, a 'data' event will also be emitted.

      Calling read after the 'end' event has @@ -452,13 +457,13 @@

      Deprecated

      Since v16.0.0 - Use socket.

        • (previous, data, options?): T
        • Parameters

          Returns T

    • Optional initial: undefined

      the initial value to use in the reduction.

    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    a promise for the final value of the reduction.

    Since

    v17.5.0

    -
  • Type Parameters

    • T = any

    Parameters

    • fn: ((previous, data, options?) => T)
        • (previous, data, options?): T
        • Parameters

          Returns T

    • initial: T
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      +
    • Type Parameters

      • T = any

      Parameters

      • fn: ((previous, data, options?) => T)
          • (previous, data, options?): T
          • Parameters

            Returns T

      • initial: T
      • Optional options: Pick<ArrayOptions, "signal">

      Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -466,7 +471,7 @@

      Deprecated

      Since v16.0.0 - Use socket.

      listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -477,7 +482,7 @@

      Deprecated

      Since v16.0.0 - Use socket.

      the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -488,13 +493,13 @@

      Deprecated

      Since v16.0.0 - Use socket.

      stream without actually processing any of that data:

      getReadableStreamSomehow()
      .resume()
      .on('end', () => {
      console.log('Reached the end, but did not read anything.');
      });
      -

      The readable.resume() method has no effect if there is a 'readable'event listener.

      +

      The readable.resume() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • The readable.setEncoding() method sets the character encoding for data read from the Readable stream.

      -

      By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data -to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the -output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal +

      By default, no encoding is assigned and stream data will be returned as Buffer objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as Buffer objects. For instance, calling readable.setEncoding('utf8') will cause the +output data to be interpreted as UTF-8 data, and passed as strings. Calling readable.setEncoding('hex') will cause the data to be encoded in hexadecimal string format.

      The Readable stream will properly handle multi-byte characters delivered through the stream that would otherwise become improperly decoded if simply @@ -506,7 +511,7 @@

      Deprecated

      Since v16.0.0 - Use socket.

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Calls message.socket.setTimeout(msecs, callback).

      @@ -557,13 +562,13 @@

      Deprecated

      Since v16.0.0 - Use socket.

      custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, however it is best to simply avoid calling readable.unshift() while in the process of performing a read.

      -

      Parameters

      • chunk: any

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array, or null. For object mode -streams, chunk may be any JavaScript value.

        +

        Parameters

        • chunk: any

          Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must +be a {string}, {Buffer}, {TypedArray}, {DataView} or null. For object mode streams, chunk may be any JavaScript value.

        • Optional encoding: BufferEncoding

          Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        Returns void

        Since

        v0.9.11

        -
    • Prior to Node.js 0.10, streams did not implement the entire node:streammodule API as it is currently defined. (See Compatibility for more +

    • Prior to Node.js 0.10, streams did not implement the entire node:stream module API as it is currently defined. (See Compatibility for more information.)

      -

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, the readable.wrap() method can be used to create a Readable stream that uses the old stream as its data source.

      It will rarely be necessary to use readable.wrap() but the method has been @@ -588,7 +593,10 @@

      Deprecated

      Since v16.0.0 - Use socket.

      Parameters

      • signal: AbortSignal
      • resource: ((event) => void)
          • (event): void
          • Parameters

            Returns void

      Returns Disposable

      Disposable that removes the abort listener.

      Since

      v20.5.0

    • Experimental

      A utility method for creating a Readable from a web ReadableStream.

      +

      Parameters

      • iterable: Iterable<any> | AsyncIterable<any>

        Object implementing the Symbol.asyncIterator or Symbol.iterator iterable protocol. Emits an 'error' event if a null value is passed.

        +
      • Optional options: ReadableOptions

        Options provided to new stream.Readable([options]). By default, Readable.from() will set options.objectMode to true, unless this is explicitly opted out by setting options.objectMode to false.

        +

      Returns Readable

      Since

      v12.3.0, v10.17.0

      +
    • Experimental

      A utility method for creating a Readable from a web ReadableStream.

      Parameters

      Returns Readable

      Since

      v17.0.0

    • Returns a copy of the array of listeners for the event named eventName.

      For EventEmitters this behaves exactly the same as calling .listeners on @@ -597,7 +605,7 @@

      Deprecated

      Since v16.0.0 - Use socket.

      event target. This is useful for debugging and diagnostic purposes.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -606,17 +614,17 @@

      Deprecated

      Since v16.0.0 - Use socket.

      the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      +

      Returns number

      Since

      v19.9.0

    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      +
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -625,10 +633,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -636,7 +646,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -644,11 +654,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.NextRequest.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.NextRequest.html index d512e8f838a..9196264abab 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.NextRequest.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.NextRequest.html @@ -1,5 +1,6 @@ NextRequest | Amplify JS API Documentation -

    This Fetch API interface represents a resource request.

    +

    This class extends the Web Request API with additional convenience methods.

    +

    Read more: Next.js Docs: NextRequest

    Hierarchy (view full)

    Constructors

    Properties

    [INTERNALS] body diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.NextResponse.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.NextResponse.html index 2dcdebbdd3b..c7649862b84 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.NextResponse.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.NextResponse.html @@ -1,5 +1,6 @@ NextResponse | Amplify JS API Documentation -

    This Fetch API interface represents the response to a request.

    +

    This class extends the Web Response API with additional convenience methods.

    +

    Read more: Next.js Docs: NextResponse

    Type Parameters

    • Body = unknown

    Hierarchy (view full)

    Constructors

    Properties

    [INTERNALS] body diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.OutgoingMessage.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.OutgoingMessage.html index 395014c2e34..77d54a601dd 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.OutgoingMessage.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.OutgoingMessage.html @@ -121,14 +121,16 @@

    Deprecated

    Since v15.12.0,v14.17.1 - Use socket instead.

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -140,11 +142,11 @@

    Deprecated

    Since v15.12.0,v14.17.1 - Use socket instead. listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    -

    Methods

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    Methods

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -164,10 +166,10 @@

        Deprecated

        Since v15.12.0,v14.17.1 - Use socket instead.

        Attempting to set a header field name or value that contains invalid characters will result in a TypeError being thrown.

      Parameters

      Returns void

      Since

      v0.3.0

      -
    • Append a single header value for the header object.

      -

      If the value is an array, this is equivalent of calling this method multiple +

    • Append a single header value to the header object.

      +

      If the value is an array, this is equivalent to calling this method multiple times.

      -

      If there were no previous value for the header, this is equivalent of calling outgoingMessage.setHeader(name, value).

      +

      If there were no previous values for the header, this is equivalent to calling outgoingMessage.setHeader(name, value).

      Depending of the value of options.uniqueHeaders when the client request or the server were created, this will end up in the header being sent multiple times or a single time with values joined using ; .

      @@ -178,16 +180,16 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. The buffered data will be flushed when either the uncork or end methods are called.

      The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them +immediately forwarding them to the underlying destination, writable.cork() buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

      +to be processed. However, use of writable.cork() without implementing writable._writev() may have an adverse effect on throughput.

      See also: writable.uncork(), writable._writev().

      Returns void

      Since

      v0.11.2

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the writable +

    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the writable stream has ended and subsequent calls to write() or end() will result in an ERR_STREAM_DESTROYED error. -This is a destructive and immediate way to destroy a stream. Previous calls towrite() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. +This is a destructive and immediate way to destroy a stream. Previous calls to write() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. Use end() instead of destroy if data should flush before close, or wait for the 'drain' event before destroying the stream.

      Once destroy() has been called any further calls will be a no-op and no @@ -196,7 +198,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. but instead implement writable._destroy().

      Parameters

      • Optional error: Error

        Optional, an error to emit with 'error' event.

      Returns this

      Since

      v8.0.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -221,7 +223,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. is written. It then tries to pack the headers and data into a single TCP packet.

      It is usually desired (it saves a TCP round-trip), but not when the first -data is not sent until possibly much later. outgoingMessage.flushHeaders()bypasses the optimization and kickstarts the message.

      +data is not sent until possibly much later. outgoingMessage.flushHeaders() bypasses the optimization and kickstarts the message.

      Returns void

      Since

      v1.6.0

    • Gets the value of the HTTP header with the given name. If that header is not set, the returned value will be undefined.

      @@ -250,38 +252,38 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

      const hasContentType = outgoingMessage.hasHeader('content-type');
       

      Parameters

      • name: string

      Returns boolean

      Since

      v7.7.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -290,8 +292,8 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

        • (): void
        • Returns void

    Returns this

    Since

    v0.3.0

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -306,23 +308,23 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

    • Removes a header that is queued for implicit sending.

      outgoingMessage.removeHeader('Content-Encoding');
       

      Parameters

      • name: string

        Header name

      Returns void

      Since

      v0.4.0

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -330,7 +332,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -341,7 +343,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -358,15 +360,15 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

      -
    • Once a socket is associated with the message and is connected,socket.setTimeout() will be called with msecs as the first parameter.

      +
    • Once a socket is associated with the message and is connected, socket.setTimeout() will be called with msecs as the first parameter.

      Parameters

      • msecs: number
      • Optional callback: (() => void)

        Optional function to be called when a timeout occurs. Same as binding to the timeout event.

          • (): void
          • Returns void

      Returns this

      Since

      v0.9.12

    • The writable.uncork() method flushes all data buffered since cork was called.

      When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event +of writes to a stream, defer calls to writable.uncork() using process.nextTick(). Doing so allows batching of all writable.write() calls that occur within a given Node.js event loop phase.

      stream.cork();
      stream.write('some ');
      stream.write('data ');
      process.nextTick(() => stream.uncork());
      @@ -382,7 +384,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. occurs, the callback will be called with the error as its first argument. The callback is called asynchronously and before 'error' is emitted.

      -

      The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. +

      The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk. If false is returned, further attempts to write data to the stream should stop until the 'drain' event is emitted.

      While a stream is not draining, calls to write() will buffer chunk, and @@ -407,8 +409,8 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

      function write(data, cb) {
      if (!stream.write(data)) {
      stream.once('drain', cb);
      } else {
      process.nextTick(cb);
      }
      }

      // Wait for cb to be called before doing any other write.
      write('hello', () => {
      console.log('Write completed, do more writes now.');
      });

      A Writable stream in object mode will always ignore the encoding argument.

      -

      Parameters

      • chunk: any

        Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

        +

        Parameters

        • chunk: any

          Optional data to write. For streams not operating in object mode, chunk must be a {string}, {Buffer}, +{TypedArray} or {DataView}. For object mode streams, chunk may be any JavaScript value other than null.

        • Optional callback: ((error) => void)

          Callback for when this chunk of data is flushed.

            • (error): void
            • Parameters

              • error: undefined | null | Error

              Returns void

        Returns boolean

        false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

        Since

        v0.9.4

        @@ -435,7 +437,7 @@

        Deprecated

        Since v15.12.0,v14.17.1 - Use socket instead. event target. This is useful for debugging and diagnostic purposes.

        import { getEventListeners, EventEmitter } from 'node:events';

        {
        const ee = new EventEmitter();
        const listener = () => console.log('Events are fun');
        ee.on('foo', listener);
        console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
        }
        {
        const et = new EventTarget();
        const listener = () => console.log('Events are fun');
        et.addEventListener('foo', listener);
        console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
        }
        -

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

        +

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -444,15 +446,15 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      -
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -461,10 +463,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

    Parameters

    Returns AsyncIterableIterator<any[]>

    An AsyncIterator that iterates eventName events emitted by the emitter

    Since

    v13.6.0, v12.16.0

    -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -472,7 +476,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -480,11 +484,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Readable.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Readable.html index 15c5d4f4605..61bbba573d0 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Readable.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Readable.html @@ -80,19 +80,19 @@

    Since

    v8.0.0

    errored: null | Error

    Returns error if the stream has been destroyed with an error.

    Since

    v18.0.0

    -
    readable: boolean

    Is true if it is safe to call readable.read(), which means +

    readable: boolean

    Is true if it is safe to call read, which means the stream has not been destroyed or emitted 'error' or 'end'.

    Since

    v11.4.0

    readableAborted: boolean

    Returns whether the stream was destroyed or errored before emitting 'end'.

    Since

    v16.8.0

    readableDidRead: boolean

    Returns whether 'data' has been emitted.

    Since

    v16.7.0, v14.18.0

    -
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

    +
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encoding property can be set using the setEncoding method.

    Since

    v12.7.0

    -
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    +
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    Since

    v12.9.0

    readableFlowing: null | boolean

    This property reflects the current state of a Readable stream as described -in the Three states section.

    +in the Three states section.

    Since

    v9.4.0

    readableHighWaterMark: number

    Returns the value of highWaterMark passed when creating this Readable.

    Since

    v9.3.0

    @@ -111,14 +111,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -130,13 +132,13 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    Methods

    • Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

      Returns Promise<void>

      Since

      v20.4.0

      -
    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -151,8 +153,8 @@ in the form [index, chunk]. The first index value is 0 and it increases by 1 for each chunk produced.

      Parameters

      Returns Readable

      a stream of indexed pairs.

      Since

      v17.5.0

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the readable -stream will release any internal resources and subsequent calls to push()will be ignored.

      +
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the readable +stream will release any internal resources and subsequent calls to push() will be ignored.

      Once destroy() has been called any further calls will be a no-op and no further errors except from _destroy() may be emitted as 'error'.

      Implementors should not override this method, but instead implement readable._destroy().

      @@ -162,7 +164,7 @@

      Parameters

      • limit: number

        the number of chunks to drop from the readable.

      • Optional options: Pick<ArrayOptions, "signal">

      Returns Readable

      a stream with limit chunks dropped from the start.

      Since

      v17.5.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -215,9 +217,9 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

      +
    • The readable.isPaused() method returns the current operating state of the Readable. +This is used primarily by the mechanism that underlies the readable.pipe() method. +In most typical cases, there will be no reason to use this method directly.

      const readable = new stream.Readable();

      readable.isPaused(); // === false
      readable.pause();
      readable.isPaused(); // === true
      readable.resume();
      readable.isPaused(); // === false

      Returns boolean

      Since

      v0.11.14

      @@ -228,43 +230,43 @@ or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. Default: true.

    Returns AsyncIterableIterator<any>

    Since

    v16.3.0

    -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

    • This method allows mapping over the stream. The fn function will be called for every chunk in the stream. If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

      Parameters

      • fn: ((data, options?) => any)

        a function to map over every chunk in the stream. Async or not.

          • (data, options?): any
          • Parameters

            Returns any

      • Optional options: ArrayOptions

      Returns Readable

      a stream mapped with the function fn.

      Since

      v17.4.0, v16.14.0

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -276,12 +278,12 @@ becomes available will remain in the internal buffer.

      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });
      -

      The readable.pause() method has no effect if there is a 'readable'event listener.

      +

      The readable.pause() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -296,19 +298,20 @@

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

    • The readable.read() method reads data out of the internal buffer and returns it. If no data is available to be read, null is returned. By default, the data is returned as a Buffer object unless an encoding has been specified using the readable.setEncoding() method or the stream is operating in object mode.

      -

      The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

      +

      The optional size argument specifies a specific number of bytes to read. If +size bytes are not available to be read, null will be returned unless the +stream has ended, in which case all of the data remaining in the internal buffer +will be returned.

      If the size argument is not specified, all of the data contained in the internal buffer will be returned.

      The size argument must be less than or equal to 1 GiB.

      @@ -329,7 +332,7 @@
      const chunks = [];

      readable.on('readable', () => {
      let chunk;
      while (null !== (chunk = readable.read())) {
      chunks.push(chunk);
      }
      });

      readable.on('end', () => {
      const content = chunks.join('');
      });

      A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

      +a call to readable.read(size), regardless of the value of the size argument.

      If the readable.read() method returns a chunk of data, a 'data' event will also be emitted.

      Calling read after the 'end' event has @@ -346,13 +349,13 @@

        • (previous, data, options?): T
        • Parameters

          Returns T

    • Optional initial: undefined

      the initial value to use in the reduction.

    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    a promise for the final value of the reduction.

    Since

    v17.5.0

    -
  • Type Parameters

    • T = any

    Parameters

    • fn: ((previous, data, options?) => T)
        • (previous, data, options?): T
        • Parameters

          Returns T

    • initial: T
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      +
    • Type Parameters

      • T = any

      Parameters

      • fn: ((previous, data, options?) => T)
          • (previous, data, options?): T
          • Parameters

            Returns T

      • initial: T
      • Optional options: Pick<ArrayOptions, "signal">

      Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -360,7 +363,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -371,7 +374,7 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -382,13 +385,13 @@ stream without actually processing any of that data:

      getReadableStreamSomehow()
      .resume()
      .on('end', () => {
      console.log('Reached the end, but did not read anything.');
      });
      -

      The readable.resume() method has no effect if there is a 'readable'event listener.

      +

      The readable.resume() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • The readable.setEncoding() method sets the character encoding for data read from the Readable stream.

      -

      By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data -to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the -output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal +

      By default, no encoding is assigned and stream data will be returned as Buffer objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as Buffer objects. For instance, calling readable.setEncoding('utf8') will cause the +output data to be interpreted as UTF-8 data, and passed as strings. Calling readable.setEncoding('hex') will cause the data to be encoded in hexadecimal string format.

      The Readable stream will properly handle multi-byte characters delivered through the stream that would otherwise become improperly decoded if simply @@ -400,7 +403,7 @@

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • This method is similar to Array.prototype.some and calls fn on each chunk in the stream @@ -449,13 +452,13 @@ custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, however it is best to simply avoid calling readable.unshift() while in the process of performing a read.

      -

      Parameters

      • chunk: any

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array, or null. For object mode -streams, chunk may be any JavaScript value.

        +

        Parameters

        • chunk: any

          Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must +be a {string}, {Buffer}, {TypedArray}, {DataView} or null. For object mode streams, chunk may be any JavaScript value.

        • Optional encoding: BufferEncoding

          Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        Returns void

        Since

        v0.9.11

        -
    • Prior to Node.js 0.10, streams did not implement the entire node:streammodule API as it is currently defined. (See Compatibility for more +

    • Prior to Node.js 0.10, streams did not implement the entire node:stream module API as it is currently defined. (See Compatibility for more information.)

      -

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, the readable.wrap() method can be used to create a Readable stream that uses the old stream as its data source.

      It will rarely be necessary to use readable.wrap() but the method has been @@ -480,7 +483,10 @@

      Parameters

      • signal: AbortSignal
      • resource: ((event) => void)
          • (event): void
          • Parameters

            Returns void

      Returns Disposable

      Disposable that removes the abort listener.

      Since

      v20.5.0

    • Experimental

      A utility method for creating a Readable from a web ReadableStream.

      +

      Parameters

      • iterable: Iterable<any> | AsyncIterable<any>

        Object implementing the Symbol.asyncIterator or Symbol.iterator iterable protocol. Emits an 'error' event if a null value is passed.

        +
      • Optional options: ReadableOptions

        Options provided to new stream.Readable([options]). By default, Readable.from() will set options.objectMode to true, unless this is explicitly opted out by setting options.objectMode to false.

        +

      Returns Readable

      Since

      v12.3.0, v10.17.0

      +
    • Experimental

      A utility method for creating a Readable from a web ReadableStream.

      Parameters

      Returns Readable

      Since

      v17.0.0

    • Returns a copy of the array of listeners for the event named eventName.

      For EventEmitters this behaves exactly the same as calling .listeners on @@ -489,7 +495,7 @@ event target. This is useful for debugging and diagnostic purposes.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -498,17 +504,17 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      +

      Returns number

      Since

      v19.9.0

    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      +
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -517,10 +523,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -528,7 +536,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -536,11 +544,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    • Experimental

      A utility method for creating a web ReadableStream from a Readable.

      Parameters

      Returns ReadableStream<any>

      Since

      v17.0.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableBase.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableBase.html index 190a893eb64..0162a9b458c 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableBase.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableBase.html @@ -84,19 +84,19 @@

    Since

    v8.0.0

    errored: null | Error

    Returns error if the stream has been destroyed with an error.

    Since

    v18.0.0

    -
    readable: boolean

    Is true if it is safe to call readable.read(), which means +

    readable: boolean

    Is true if it is safe to call read, which means the stream has not been destroyed or emitted 'error' or 'end'.

    Since

    v11.4.0

    readableAborted: boolean

    Returns whether the stream was destroyed or errored before emitting 'end'.

    Since

    v16.8.0

    readableDidRead: boolean

    Returns whether 'data' has been emitted.

    Since

    v16.7.0, v14.18.0

    -
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

    +
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encoding property can be set using the setEncoding method.

    Since

    v12.7.0

    -
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    +
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    Since

    v12.9.0

    readableFlowing: null | boolean

    This property reflects the current state of a Readable stream as described -in the Three states section.

    +in the Three states section.

    Since

    v9.4.0

    readableHighWaterMark: number

    Returns the value of highWaterMark passed when creating this Readable.

    Since

    v9.3.0

    @@ -115,14 +115,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -134,13 +136,13 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    Methods

    • Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

      Returns Promise<void>

      Since

      v20.4.0

      -
    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Event emitter +

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -155,8 +157,8 @@ in the form [index, chunk]. The first index value is 0 and it increases by 1 for each chunk produced.

      Parameters

      Returns Readable

      a stream of indexed pairs.

      Since

      v17.5.0

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the readable -stream will release any internal resources and subsequent calls to push()will be ignored.

      +
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the readable +stream will release any internal resources and subsequent calls to push() will be ignored.

      Once destroy() has been called any further calls will be a no-op and no further errors except from _destroy() may be emitted as 'error'.

      Implementors should not override this method, but instead implement readable._destroy().

      @@ -166,7 +168,7 @@

      Parameters

      • limit: number

        the number of chunks to drop from the readable.

      • Optional options: Pick<ArrayOptions, "signal">

      Returns Readable

      a stream with limit chunks dropped from the start.

      Since

      v17.5.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -219,9 +221,9 @@
    • The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

      +
    • The readable.isPaused() method returns the current operating state of the Readable. +This is used primarily by the mechanism that underlies the readable.pipe() method. +In most typical cases, there will be no reason to use this method directly.

      const readable = new stream.Readable();

      readable.isPaused(); // === false
      readable.pause();
      readable.isPaused(); // === true
      readable.resume();
      readable.isPaused(); // === false

      Returns boolean

      Since

      v0.11.14

      @@ -232,43 +234,43 @@ or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. Default: true.

    Returns AsyncIterableIterator<any>

    Since

    v16.3.0

    -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

    • This method allows mapping over the stream. The fn function will be called for every chunk in the stream. If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

      Parameters

      • fn: ((data, options?) => any)

        a function to map over every chunk in the stream. Async or not.

          • (data, options?): any
          • Parameters

            Returns any

      • Optional options: ArrayOptions

      Returns Readable

      a stream mapped with the function fn.

      Since

      v17.4.0, v16.14.0

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -280,12 +282,12 @@ becomes available will remain in the internal buffer.

      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });
      -

      The readable.pause() method has no effect if there is a 'readable'event listener.

      +

      The readable.pause() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -300,19 +302,20 @@

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      Returns boolean

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      Returns boolean

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

    • The readable.read() method reads data out of the internal buffer and returns it. If no data is available to be read, null is returned. By default, the data is returned as a Buffer object unless an encoding has been specified using the readable.setEncoding() method or the stream is operating in object mode.

      -

      The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

      +

      The optional size argument specifies a specific number of bytes to read. If +size bytes are not available to be read, null will be returned unless the +stream has ended, in which case all of the data remaining in the internal buffer +will be returned.

      If the size argument is not specified, all of the data contained in the internal buffer will be returned.

      The size argument must be less than or equal to 1 GiB.

      @@ -333,7 +336,7 @@
      const chunks = [];

      readable.on('readable', () => {
      let chunk;
      while (null !== (chunk = readable.read())) {
      chunks.push(chunk);
      }
      });

      readable.on('end', () => {
      const content = chunks.join('');
      });

      A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

      +a call to readable.read(size), regardless of the value of the size argument.

      If the readable.read() method returns a chunk of data, a 'data' event will also be emitted.

      Calling read after the 'end' event has @@ -350,13 +353,13 @@

        • (previous, data, options?): T
        • Parameters

          Returns T

    • Optional initial: undefined

      the initial value to use in the reduction.

    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    a promise for the final value of the reduction.

    Since

    v17.5.0

    -
  • Type Parameters

    • T = any

    Parameters

    • fn: ((previous, data, options?) => T)
        • (previous, data, options?): T
        • Parameters

          Returns T

    • initial: T
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      +
    • Type Parameters

      • T = any

      Parameters

      • fn: ((previous, data, options?) => T)
          • (previous, data, options?): T
          • Parameters

            Returns T

      • initial: T
      • Optional options: Pick<ArrayOptions, "signal">

      Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -364,7 +367,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -375,7 +378,7 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -386,13 +389,13 @@ stream without actually processing any of that data:

      getReadableStreamSomehow()
      .resume()
      .on('end', () => {
      console.log('Reached the end, but did not read anything.');
      });
      -

      The readable.resume() method has no effect if there is a 'readable'event listener.

      +

      The readable.resume() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • The readable.setEncoding() method sets the character encoding for data read from the Readable stream.

      -

      By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data -to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the -output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal +

      By default, no encoding is assigned and stream data will be returned as Buffer objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as Buffer objects. For instance, calling readable.setEncoding('utf8') will cause the +output data to be interpreted as UTF-8 data, and passed as strings. Calling readable.setEncoding('hex') will cause the data to be encoded in hexadecimal string format.

      The Readable stream will properly handle multi-byte characters delivered through the stream that would otherwise become improperly decoded if simply @@ -404,7 +407,7 @@

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • This method is similar to Array.prototype.some and calls fn on each chunk in the stream @@ -453,13 +456,13 @@ custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, however it is best to simply avoid calling readable.unshift() while in the process of performing a read.

      -

      Parameters

      • chunk: any

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array, or null. For object mode -streams, chunk may be any JavaScript value.

        +

        Parameters

        • chunk: any

          Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must +be a {string}, {Buffer}, {TypedArray}, {DataView} or null. For object mode streams, chunk may be any JavaScript value.

        • Optional encoding: BufferEncoding

          Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        Returns void

        Since

        v0.9.11

        -
    • Prior to Node.js 0.10, streams did not implement the entire node:streammodule API as it is currently defined. (See Compatibility for more +

    • Prior to Node.js 0.10, streams did not implement the entire node:stream module API as it is currently defined. (See Compatibility for more information.)

      -

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, the readable.wrap() method can be used to create a Readable stream that uses the old stream as its data source.

      It will rarely be necessary to use readable.wrap() but the method has been @@ -484,14 +487,17 @@

      Parameters

      • signal: AbortSignal
      • resource: ((event) => void)
          • (event): void
          • Parameters

            Returns void

      Returns Disposable

      Disposable that removes the abort listener.

      Since

      v20.5.0

    • Returns a copy of the array of listeners for the event named eventName.

      +

      Parameters

      • iterable: Iterable<any> | AsyncIterable<any>

        Object implementing the Symbol.asyncIterator or Symbol.iterator iterable protocol. Emits an 'error' event if a null value is passed.

        +
      • Optional options: ReadableOptions

        Options provided to new stream.Readable([options]). By default, Readable.from() will set options.objectMode to true, unless this is explicitly opted out by setting options.objectMode to false.

        +

      Returns Readable

      Since

      v12.3.0, v10.17.0

      +
    • Returns a copy of the array of listeners for the event named eventName.

      For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

      For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -500,17 +506,17 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      +

      Returns number

      Since

      v19.9.0

    • Returns whether the stream has been read from or cancelled.

      Parameters

      Returns boolean

      Since

      v16.8.0

      -
    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      +
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -519,10 +525,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -530,7 +538,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -538,9 +546,9 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.ServerResponse.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.ServerResponse.html index 035470f9eea..8749e64a2d8 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.ServerResponse.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.ServerResponse.html @@ -117,7 +117,7 @@

    Deprecated

    Since v15.12.0,v14.17.1 - Use socket instead.

    After response header was sent to the client, this property indicates the status message which was sent out.

    Since

    v0.11.8

    -
    strictContentLength: boolean

    If set to true, Node.js will check whether the Content-Lengthheader value and the size of the body, in bytes, are equal. +

    strictContentLength: boolean

    If set to true, Node.js will check whether the Content-Length header value and the size of the body, in bytes, are equal. Mismatching the Content-Length header value will result in an Error being thrown, identified by code:``'ERR_HTTP_CONTENT_LENGTH_MISMATCH'.

    Since

    v18.10.0, v16.18.0

    @@ -151,14 +151,16 @@

    Deprecated

    Since v15.12.0,v14.17.1 - Use socket instead.

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -170,11 +172,11 @@

    Deprecated

    Since v15.12.0,v14.17.1 - Use socket instead. listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    -

    Methods

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    Methods

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -194,10 +196,10 @@

        Deprecated

        Since v15.12.0,v14.17.1 - Use socket instead.

        Attempting to set a header field name or value that contains invalid characters will result in a TypeError being thrown.

      Parameters

      Returns void

      Since

      v0.3.0

      -
    • Append a single header value for the header object.

      -

      If the value is an array, this is equivalent of calling this method multiple +

    • Append a single header value to the header object.

      +

      If the value is an array, this is equivalent to calling this method multiple times.

      -

      If there were no previous value for the header, this is equivalent of calling outgoingMessage.setHeader(name, value).

      +

      If there were no previous values for the header, this is equivalent to calling outgoingMessage.setHeader(name, value).

      Depending of the value of options.uniqueHeaders when the client request or the server were created, this will end up in the header being sent multiple times or a single time with values joined using ; .

      @@ -208,16 +210,16 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. The buffered data will be flushed when either the uncork or end methods are called.

      The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them +immediately forwarding them to the underlying destination, writable.cork() buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

      +to be processed. However, use of writable.cork() without implementing writable._writev() may have an adverse effect on throughput.

      See also: writable.uncork(), writable._writev().

      Returns void

      Since

      v0.11.2

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the writable +

    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the writable stream has ended and subsequent calls to write() or end() will result in an ERR_STREAM_DESTROYED error. -This is a destructive and immediate way to destroy a stream. Previous calls towrite() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. +This is a destructive and immediate way to destroy a stream. Previous calls to write() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. Use end() instead of destroy if data should flush before close, or wait for the 'drain' event before destroying the stream.

      Once destroy() has been called any further calls will be a no-op and no @@ -226,7 +228,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. but instead implement writable._destroy().

      Parameters

      • Optional error: Error

        Optional, an error to emit with 'error' event.

      Returns this

      Since

      v8.0.0

      -
    • Parameters

      Returns void

    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Parameters

      Returns void

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -251,7 +253,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. is written. It then tries to pack the headers and data into a single TCP packet.

      It is usually desired (it saves a TCP round-trip), but not when the first -data is not sent until possibly much later. outgoingMessage.flushHeaders()bypasses the optimization and kickstarts the message.

      +data is not sent until possibly much later. outgoingMessage.flushHeaders() bypasses the optimization and kickstarts the message.

      Returns void

      Since

      v1.6.0

    • Gets the value of the HTTP header with the given name. If that header is not set, the returned value will be undefined.

      @@ -280,38 +282,38 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

      const hasContentType = outgoingMessage.hasHeader('content-type');
       

      Parameters

      • name: string

      Returns boolean

      Since

      v7.7.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -320,8 +322,8 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

        • (): void
        • Returns void

    Returns this

    Since

    v0.3.0

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -336,23 +338,23 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

    • Removes a header that is queued for implicit sending.

      outgoingMessage.removeHeader('Content-Encoding');
       

      Parameters

      • name: string

        Header name

      Returns void

      Since

      v0.4.0

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -360,7 +362,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -371,7 +373,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -388,15 +390,15 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

      -
    • Once a socket is associated with the message and is connected,socket.setTimeout() will be called with msecs as the first parameter.

      +
    • Once a socket is associated with the message and is connected, socket.setTimeout() will be called with msecs as the first parameter.

      Parameters

      • msecs: number
      • Optional callback: (() => void)

        Optional function to be called when a timeout occurs. Same as binding to the timeout event.

          • (): void
          • Returns void

      Returns this

      Since

      v0.9.12

    • The writable.uncork() method flushes all data buffered since cork was called.

      When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event +of writes to a stream, defer calls to writable.uncork() using process.nextTick(). Doing so allows batching of all writable.write() calls that occur within a given Node.js event loop phase.

      stream.cork();
      stream.write('some ');
      stream.write('data ');
      process.nextTick(() => stream.uncork());
      @@ -412,7 +414,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. occurs, the callback will be called with the error as its first argument. The callback is called asynchronously and before 'error' is emitted.

      -

      The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. +

      The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk. If false is returned, further attempts to write data to the stream should stop until the 'drain' event is emitted.

      While a stream is not draining, calls to write() will buffer chunk, and @@ -437,13 +439,13 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead.

      function write(data, cb) {
      if (!stream.write(data)) {
      stream.once('drain', cb);
      } else {
      process.nextTick(cb);
      }
      }

      // Wait for cb to be called before doing any other write.
      write('hello', () => {
      console.log('Write completed, do more writes now.');
      });

      A Writable stream in object mode will always ignore the encoding argument.

      -

      Parameters

      • chunk: any

        Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

        +

        Parameters

        • chunk: any

          Optional data to write. For streams not operating in object mode, chunk must be a {string}, {Buffer}, +{TypedArray} or {DataView}. For object mode streams, chunk may be any JavaScript value other than null.

        • Optional callback: ((error) => void)

          Callback for when this chunk of data is flushed.

            • (error): void
            • Parameters

              • error: undefined | null | Error

              Returns void

        Returns boolean

        false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

        Since

        v0.9.4

      • Parameters

        • chunk: any
        • encoding: BufferEncoding
        • Optional callback: ((error) => void)
            • (error): void
            • Parameters

              • error: undefined | null | Error

              Returns void

        Returns boolean

    • Sends an HTTP/1.1 100 Continue message to the client, indicating that -the request body should be sent. See the 'checkContinue' event onServer.

      +the request body should be sent. See the 'checkContinue' event on Server.

      Parameters

      • Optional callback: (() => void)
          • (): void
          • Returns void

      Returns void

      Since

      v0.3.0

    • Sends an HTTP/1.1 103 Early Hints message to the client with a Link header, indicating that the user agent can preload/preconnect the linked resources. @@ -513,7 +515,7 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. event target. This is useful for debugging and diagnostic purposes.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -522,15 +524,15 @@

      Deprecated

      Since v15.12.0,v14.17.1 - Use socket instead. the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      -
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -539,10 +541,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -550,7 +554,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -558,11 +562,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Socket.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Socket.html index 8cbb9cbaece..8754062c8c3 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Socket.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Socket.html @@ -119,15 +119,15 @@ getMaxListeners isDisturbed listenerCount -on -once +on +once setMaxListeners toWeb

    Constructors

    Properties

    allowHalfOpen: boolean

    If false then the stream will automatically end the writable side when the readable side ends. Set initially by the allowHalfOpen constructor option, which defaults to true.

    -

    This can be changed manually to change the half-open behavior of an existingDuplex stream instance, but must be changed before the 'end' event is -emitted.

    +

    This can be changed manually to change the half-open behavior of an existing +Duplex stream instance, but must be changed before the 'end' event is emitted.

    Since

    v0.9.4

    autoSelectFamilyAttemptedAddresses: string[]

    This property is only present if the family autoselection algorithm is enabled in socket.connect(options) and it is an array of the addresses that have been attempted.

    @@ -153,7 +153,7 @@

    Deprecated

    Since v14.6.0 - Use writableLength instead.

    Since

    v0.5.3

    closed: boolean

    Is true after 'close' has been emitted.

    Since

    v18.0.0

    -
    connecting: boolean

    If true,socket.connect(options[, connectListener]) was +

    connecting: boolean

    If true, socket.connect(options[, connectListener]) was called and has not yet finished. It will stay true until the socket becomes connected, then it is set to false and the 'connect' event is emitted. Note that the socket.connect(options[, connectListener]) callback is a listener for the 'connect' event.

    @@ -172,19 +172,19 @@

    Deprecated

    Since v14.6.0 - Use writableLength instead.

    pending: boolean

    This is true if the socket is not connected yet, either because .connect()has not yet been called or because it is still in the process of connecting (see socket.connecting).

    Since

    v11.2.0, v10.16.0

    -
    readable: boolean

    Is true if it is safe to call readable.read(), which means +

    readable: boolean

    Is true if it is safe to call read, which means the stream has not been destroyed or emitted 'error' or 'end'.

    Since

    v11.4.0

    readableAborted: boolean

    Returns whether the stream was destroyed or errored before emitting 'end'.

    Since

    v16.8.0

    readableDidRead: boolean

    Returns whether 'data' has been emitted.

    Since

    v16.7.0, v14.18.0

    -
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

    +
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encoding property can be set using the setEncoding method.

    Since

    v12.7.0

    -
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    +
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    Since

    v12.9.0

    readableFlowing: null | boolean

    This property reflects the current state of a Readable stream as described -in the Three states section.

    +in the Three states section.

    Since

    v9.4.0

    readableHighWaterMark: number

    Returns the value of highWaterMark passed when creating this Readable.

    Since

    v9.3.0

    @@ -244,14 +244,16 @@

    Deprecated

    Since v14.6.0 - Use writableLength instead.

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -263,16 +265,19 @@

    Deprecated

    Since v14.6.0 - Use writableLength instead.name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    Methods

    • Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

      Returns Promise<void>

      Since

      v20.4.0

      -
    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • events.EventEmitter

      1. close
      2. connect
      3. +
      4. connectionAttempt
      5. +
      6. connectionAttemptFailed
      7. +
      8. connectionAttemptTimeout
      9. data
      10. drain
      11. end
      12. @@ -281,7 +286,7 @@

        Deprecated

        Since v14.6.0 - Use writableLength instead.ready

      13. timeout
      -

      Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Returns the bound address, the address family name and port of the +

      Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "connectionAttempt"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptFailed"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptTimeout"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Returns the bound address, the address family name and port of the socket as reported by the operating system:{ port: 12346, family: 'IPv4', address: '127.0.0.1' }

      Returns {} | AddressInfo

      Since

      v0.1.90

    • This method returns a new stream with chunks of the underlying stream paired with a counter @@ -307,14 +312,14 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.uncork or end methods are called.

      The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them +immediately forwarding them to the underlying destination, writable.cork() buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

      +to be processed. However, use of writable.cork() without implementing writable._writev() may have an adverse effect on throughput.

      See also: writable.uncork(), writable._writev().

      Returns void

      Since

      v0.11.2

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the readable -stream will release any internal resources and subsequent calls to push()will be ignored.

      +
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the readable +stream will release any internal resources and subsequent calls to push() will be ignored.

      Once destroy() has been called any further calls will be a no-op and no further errors except from _destroy() may be emitted as 'error'.

      Implementors should not override this method, but instead implement readable._destroy().

      @@ -327,13 +332,13 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.

      Parameters

      • limit: number

        the number of chunks to drop from the readable.

      • Optional options: Pick<ArrayOptions, "signal">

      Returns Readable

      a stream with limit chunks dropped from the start.

      Since

      v17.5.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener

      Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      -
    • Parameters

      • event: "close"
      • hadError: boolean

      Returns boolean

    • Parameters

      • event: "connect"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "drain"

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "lookup"
      • err: Error
      • address: string
      • family: string | number
      • host: string

      Returns boolean

    • Parameters

      • event: "ready"

      Returns boolean

    • Parameters

      • event: "timeout"

      Returns boolean

    • Half-closes the socket. i.e., it sends a FIN packet. It is possible the +

    • Parameters

      • event: "close"
      • hadError: boolean

      Returns boolean

    • Parameters

      • event: "connect"

      Returns boolean

    • Parameters

      • event: "connectionAttempt"
      • ip: string
      • port: number
      • family: number

      Returns boolean

    • Parameters

      • event: "connectionAttemptFailed"
      • ip: string
      • port: number
      • family: number

      Returns boolean

    • Parameters

      • event: "connectionAttemptTimeout"
      • ip: string
      • port: number
      • family: number

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "drain"

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "lookup"
      • err: Error
      • address: string
      • family: string | number
      • host: string

      Returns boolean

    • Parameters

      • event: "ready"

      Returns boolean

    • Parameters

      • event: "timeout"

      Returns boolean

    • Half-closes the socket. i.e., it sends a FIN packet. It is possible the server will still send some data.

      See writable.end() for further details.

      Parameters

      • Optional callback: (() => void)

        Optional callback for when the socket is finished.

        @@ -386,9 +391,9 @@

        Deprecated

        Since v14.6.0 - Use writableLength instead.

    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

      +
    • The readable.isPaused() method returns the current operating state of the Readable. +This is used primarily by the mechanism that underlies the readable.pipe() method. +In most typical cases, there will be no reason to use this method directly.

      const readable = new stream.Readable();

      readable.isPaused(); // === false
      readable.pause();
      readable.isPaused(); // === true
      readable.resume();
      readable.isPaused(); // === false

      Returns boolean

      Since

      v0.11.14

      @@ -399,63 +404,63 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.for await...of iteration using a break, return, or throw will not destroy the stream. Default: true.

    Returns AsyncIterableIterator<any>

    Since

    v16.3.0

    -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

    • This method allows mapping over the stream. The fn function will be called for every chunk in the stream. If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

      Parameters

      • fn: ((data, options?) => any)

        a function to map over every chunk in the stream. Async or not.

          • (data, options?): any
          • Parameters

            Returns any

      • Optional options: ArrayOptions

      Returns Readable

      a stream mapped with the function fn.

      Since

      v17.4.0, v16.14.0

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: string

        The name of the event.

      • listener: ((...args) => void)

        The callback function

          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "connectionAttempt"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptFailed"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptTimeout"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: string

        The name of the event.

      • listener: ((...args) => void)

        The callback function

          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.3.0

      -
    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Pauses the reading of data. That is, 'data' events will not be emitted. +

    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttempt"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptFailed"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptTimeout"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Pauses the reading of data. That is, 'data' events will not be emitted. Useful to throttle back an upload.

      Returns this

      The socket itself.

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • event: string

        The name of the event.

      • listener: ((...args) => void)

        The callback function

          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "connectionAttempt"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptFailed"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptTimeout"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });
      @@ -463,19 +468,20 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.

      Parameters

      • event: string

        The name of the event.

      • listener: ((...args) => void)

        The callback function

          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      Returns boolean

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "close"
      • listener: ((hadError) => void)
          • (hadError): void
          • Parameters

            • hadError: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "connectionAttempt"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptFailed"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "connectionAttemptTimeout"
      • listener: ((ip, port, family) => void)
          • (ip, port, family): void
          • Parameters

            • ip: string
            • port: number
            • family: number

            Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "ready"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      Returns boolean

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

    • The readable.read() method reads data out of the internal buffer and returns it. If no data is available to be read, null is returned. By default, the data is returned as a Buffer object unless an encoding has been specified using the readable.setEncoding() method or the stream is operating in object mode.

      -

      The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

      +

      The optional size argument specifies a specific number of bytes to read. If +size bytes are not available to be read, null will be returned unless the +stream has ended, in which case all of the data remaining in the internal buffer +will be returned.

      If the size argument is not specified, all of the data contained in the internal buffer will be returned.

      The size argument must be less than or equal to 1 GiB.

      @@ -496,7 +502,7 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.const chunks = [];

      readable.on('readable', () => {
      let chunk;
      while (null !== (chunk = readable.read())) {
      chunks.push(chunk);
      }
      });

      readable.on('end', () => {
      const content = chunks.join('');
      });

      A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

      +a call to readable.read(size), regardless of the value of the size argument.

      If the readable.read() method returns a chunk of data, a 'data' event will also be emitted.

      Calling read after the 'end' event has @@ -517,13 +523,13 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.refed calling ref again will have no effect.

      Returns this

      The socket itself.

      Since

      v0.9.1

      -
    • Removes all listeners, or those of the specified eventName.

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -531,7 +537,7 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -542,7 +548,7 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -577,7 +583,7 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Enable/disable the use of Nagle's algorithm.

      @@ -617,7 +623,7 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.

      Since

      v17.5.0

    • The writable.uncork() method flushes all data buffered since cork was called.

      When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event +of writes to a stream, defer calls to writable.uncork() using process.nextTick(). Doing so allows batching of all writable.write() calls that occur within a given Node.js event loop phase.

      stream.cork();
      stream.write('some ');
      stream.write('data ');
      process.nextTick(() => stream.uncork());
      @@ -662,13 +668,13 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.readable.unshift() with an immediate push will reset the reading state appropriately, however it is best to simply avoid calling readable.unshift() while in the process of performing a read.

      -

      Parameters

      • chunk: any

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array, or null. For object mode -streams, chunk may be any JavaScript value.

        +

        Parameters

        • chunk: any

          Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must +be a {string}, {Buffer}, {TypedArray}, {DataView} or null. For object mode streams, chunk may be any JavaScript value.

        • Optional encoding: BufferEncoding

          Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        Returns void

        Since

        v0.9.11

        -
    • Prior to Node.js 0.10, streams did not implement the entire node:streammodule API as it is currently defined. (See Compatibility for more +

    • Prior to Node.js 0.10, streams did not implement the entire node:stream module API as it is currently defined. (See Compatibility for more information.)

      -

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, the readable.wrap() method can be used to create a Readable stream that uses the old stream as its data source.

      It will rarely be necessary to use readable.wrap() but the method has been @@ -729,7 +735,7 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -738,17 +744,17 @@

      Deprecated

      Since v14.6.0 - Use writableLength instead.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      +

      Returns number

      Since

      v19.9.0

    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      +
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -757,10 +763,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -768,7 +776,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -776,11 +784,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Stream.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Stream.html index db4b022e279..a2b89f645b4 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Stream.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Stream.html @@ -45,14 +45,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -64,18 +66,18 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    -

    Methods

    • Alias for emitter.on(eventName, listener).

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    Methods

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +
    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • Rest ...args: AnyRest

      Returns boolean

      Since

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -84,74 +86,74 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.1.101

        -
    • Adds a one-timelistener function for the event named eventName. The +

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.3.0

        -
    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the +

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Returns a copy of the array of listeners for the event named eventName, +

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -159,7 +161,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -170,15 +172,15 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Experimental

      Listens once to the abort event on the provided signal.

      @@ -202,7 +204,7 @@ event target. This is useful for debugging and diagnostic purposes.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -211,15 +213,15 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      -
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -228,10 +230,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -239,7 +243,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -247,9 +251,9 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Writable.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Writable.html index c929c0a037b..20b0757ac2b 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Writable.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.Writable.html @@ -90,14 +90,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -109,11 +111,11 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    -

    Methods

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    Methods

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -127,16 +129,16 @@ The buffered data will be flushed when either the uncork or end methods are called.

        The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them +immediately forwarding them to the underlying destination, writable.cork() buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

        +to be processed. However, use of writable.cork() without implementing writable._writev() may have an adverse effect on throughput.

        See also: writable.uncork(), writable._writev().

      Returns void

      Since

      v0.11.2

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the writable +

    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the writable stream has ended and subsequent calls to write() or end() will result in an ERR_STREAM_DESTROYED error. -This is a destructive and immediate way to destroy a stream. Previous calls towrite() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. +This is a destructive and immediate way to destroy a stream. Previous calls to write() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. Use end() instead of destroy if data should flush before close, or wait for the 'drain' event before destroying the stream.

      Once destroy() has been called any further calls will be a no-op and no @@ -145,7 +147,7 @@ but instead implement writable._destroy().

      Parameters

      • Optional error: Error

        Optional, an error to emit with 'error' event.

      Returns this

      Since

      v8.0.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -167,38 +169,38 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -207,8 +209,8 @@
        • (): void
        • Returns void

    Returns this

    Since

    v0.3.0

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -223,18 +225,18 @@

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -242,7 +244,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -253,7 +255,7 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -264,12 +266,12 @@
    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • The writable.uncork() method flushes all data buffered since cork was called.

      When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event +of writes to a stream, defer calls to writable.uncork() using process.nextTick(). Doing so allows batching of all writable.write() calls that occur within a given Node.js event loop phase.

      stream.cork();
      stream.write('some ');
      stream.write('data ');
      process.nextTick(() => stream.uncork());
      @@ -285,7 +287,7 @@ occurs, the callback will be called with the error as its first argument. The callback is called asynchronously and before 'error' is emitted.

      -

      The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. +

      The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk. If false is returned, further attempts to write data to the stream should stop until the 'drain' event is emitted.

      While a stream is not draining, calls to write() will buffer chunk, and @@ -310,8 +312,8 @@

      function write(data, cb) {
      if (!stream.write(data)) {
      stream.once('drain', cb);
      } else {
      process.nextTick(cb);
      }
      }

      // Wait for cb to be called before doing any other write.
      write('hello', () => {
      console.log('Write completed, do more writes now.');
      });

      A Writable stream in object mode will always ignore the encoding argument.

      -

      Parameters

      • chunk: any

        Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

        +

        Parameters

        • chunk: any

          Optional data to write. For streams not operating in object mode, chunk must be a {string}, {Buffer}, +{TypedArray} or {DataView}. For object mode streams, chunk may be any JavaScript value other than null.

        • Optional callback: ((error) => void)

          Callback for when this chunk of data is flushed.

            • (error): void
            • Parameters

              • error: undefined | null | Error

              Returns void

        Returns boolean

        false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

        Since

        v0.9.4

        @@ -338,7 +340,7 @@ event target. This is useful for debugging and diagnostic purposes.

        import { getEventListeners, EventEmitter } from 'node:events';

        {
        const ee = new EventEmitter();
        const listener = () => console.log('Events are fun');
        ee.on('foo', listener);
        console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
        }
        {
        const et = new EventTarget();
        const listener = () => console.log('Events are fun');
        et.addEventListener('foo', listener);
        console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
        }
        -

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

        +

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -347,15 +349,15 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      -
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -364,10 +366,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -375,7 +379,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -383,11 +387,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    • Experimental

      A utility method for creating a web WritableStream from a Writable.

      Parameters

      Returns WritableStream<any>

      Since

      v17.0.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.WritableBase.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.WritableBase.html index 2c679f64cc6..7be335c4782 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.WritableBase.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.WritableBase.html @@ -94,14 +94,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -113,11 +115,11 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    -

    Methods

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    Methods

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -131,16 +133,16 @@ The buffered data will be flushed when either the uncork or end methods are called.

        The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them +immediately forwarding them to the underlying destination, writable.cork() buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

        +to be processed. However, use of writable.cork() without implementing writable._writev() may have an adverse effect on throughput.

        See also: writable.uncork(), writable._writev().

      Returns void

      Since

      v0.11.2

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the writable +

    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the writable stream has ended and subsequent calls to write() or end() will result in an ERR_STREAM_DESTROYED error. -This is a destructive and immediate way to destroy a stream. Previous calls towrite() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. +This is a destructive and immediate way to destroy a stream. Previous calls to write() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. Use end() instead of destroy if data should flush before close, or wait for the 'drain' event before destroying the stream.

      Once destroy() has been called any further calls will be a no-op and no @@ -149,7 +151,7 @@ but instead implement writable._destroy().

      Parameters

      • Optional error: Error

        Optional, an error to emit with 'error' event.

      Returns this

      Since

      v8.0.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -171,38 +173,38 @@
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -211,8 +213,8 @@
        • (): void
        • Returns void

    Returns this

    Since

    v0.3.0

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -227,18 +229,18 @@

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -246,7 +248,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -257,7 +259,7 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -268,12 +270,12 @@
    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • The writable.uncork() method flushes all data buffered since cork was called.

      When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event +of writes to a stream, defer calls to writable.uncork() using process.nextTick(). Doing so allows batching of all writable.write() calls that occur within a given Node.js event loop phase.

      stream.cork();
      stream.write('some ');
      stream.write('data ');
      process.nextTick(() => stream.uncork());
      @@ -289,7 +291,7 @@ occurs, the callback will be called with the error as its first argument. The callback is called asynchronously and before 'error' is emitted.

      -

      The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. +

      The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk. If false is returned, further attempts to write data to the stream should stop until the 'drain' event is emitted.

      While a stream is not draining, calls to write() will buffer chunk, and @@ -314,8 +316,8 @@

      function write(data, cb) {
      if (!stream.write(data)) {
      stream.once('drain', cb);
      } else {
      process.nextTick(cb);
      }
      }

      // Wait for cb to be called before doing any other write.
      write('hello', () => {
      console.log('Write completed, do more writes now.');
      });

      A Writable stream in object mode will always ignore the encoding argument.

      -

      Parameters

      • chunk: any

        Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

        +

        Parameters

        • chunk: any

          Optional data to write. For streams not operating in object mode, chunk must be a {string}, {Buffer}, +{TypedArray} or {DataView}. For object mode streams, chunk may be any JavaScript value other than null.

        • Optional callback: ((error) => void)

          Callback for when this chunk of data is flushed.

            • (error): void
            • Parameters

              • error: undefined | null | Error

              Returns void

        Returns boolean

        false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

        Since

        v0.9.4

        @@ -340,7 +342,7 @@ event target. This is useful for debugging and diagnostic purposes.

        import { getEventListeners, EventEmitter } from 'node:events';

        {
        const ee = new EventEmitter();
        const listener = () => console.log('Events are fun');
        ee.on('foo', listener);
        console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
        }
        {
        const et = new EventTarget();
        const listener = () => console.log('Events are fun');
        et.addEventListener('foo', listener);
        console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
        }
        -

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

        +

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -349,15 +351,15 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      -
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -366,10 +368,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -377,7 +381,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -385,9 +389,9 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal-1.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal-1.html index 0b0fcd20ffd..33dd449f44c 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal-1.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal-1.html @@ -45,14 +45,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -64,18 +66,18 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    -

    Methods

    • Alias for emitter.on(eventName, listener).

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    Methods

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +
    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • Rest ...args: AnyRest

      Returns boolean

      Since

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -84,74 +86,74 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.1.101

        -
    • Adds a one-timelistener function for the event named eventName. The +

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.3.0

        -
    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the +

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Returns a copy of the array of listeners for the event named eventName, +

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -159,7 +161,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -170,15 +172,15 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Experimental

      Listens once to the abort event on the provided signal.

      @@ -202,7 +204,7 @@ event target. This is useful for debugging and diagnostic purposes.

      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }
      -

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

      +

      Parameters

      Returns Function[]

      Since

      v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -211,15 +213,15 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      -
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -228,10 +230,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -239,7 +243,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -247,9 +251,9 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.PassThrough.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.PassThrough.html index 4b656c0af88..d375f318c0f 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.PassThrough.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.PassThrough.html @@ -1,6 +1,6 @@ PassThrough | Amplify JS API Documentation

    The stream.PassThrough class is a trivial implementation of a Transform stream that simply passes the input bytes across to the output. Its purpose is -primarily for examples and testing, but there are some use cases wherestream.PassThrough is useful as a building block for novel sorts of streams.

    +primarily for examples and testing, but there are some use cases where stream.PassThrough is useful as a building block for novel sorts of streams.

    Hierarchy (view full)

    Constructors

    Properties

    allowHalfOpen closed @@ -97,8 +97,8 @@

    Constructors

    Properties

    allowHalfOpen: boolean

    If false then the stream will automatically end the writable side when the readable side ends. Set initially by the allowHalfOpen constructor option, which defaults to true.

    -

    This can be changed manually to change the half-open behavior of an existingDuplex stream instance, but must be changed before the 'end' event is -emitted.

    +

    This can be changed manually to change the half-open behavior of an existing +Duplex stream instance, but must be changed before the 'end' event is emitted.

    Since

    v0.9.4

    closed: boolean

    Is true after 'close' has been emitted.

    Since

    v18.0.0

    @@ -106,19 +106,19 @@

    Since

    v8.0.0

    errored: null | Error

    Returns error if the stream has been destroyed with an error.

    Since

    v18.0.0

    -
    readable: boolean

    Is true if it is safe to call readable.read(), which means +

    readable: boolean

    Is true if it is safe to call read, which means the stream has not been destroyed or emitted 'error' or 'end'.

    Since

    v11.4.0

    readableAborted: boolean

    Returns whether the stream was destroyed or errored before emitting 'end'.

    Since

    v16.8.0

    readableDidRead: boolean

    Returns whether 'data' has been emitted.

    Since

    v16.7.0, v14.18.0

    -
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

    +
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encoding property can be set using the setEncoding method.

    Since

    v12.7.0

    -
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    +
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    Since

    v12.9.0

    readableFlowing: null | boolean

    This property reflects the current state of a Readable stream as described -in the Three states section.

    +in the Three states section.

    Since

    v9.4.0

    readableHighWaterMark: number

    Returns the value of highWaterMark passed when creating this Readable.

    Since

    v9.3.0

    @@ -158,14 +158,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -177,13 +179,13 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    Methods

    • Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

      Returns Promise<void>

      Since

      v20.4.0

      -
    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -206,14 +208,14 @@ The buffered data will be flushed when either the uncork or end methods are called.

        The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them +immediately forwarding them to the underlying destination, writable.cork() buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

        +to be processed. However, use of writable.cork() without implementing writable._writev() may have an adverse effect on throughput.

        See also: writable.uncork(), writable._writev().

      Returns void

      Since

      v0.11.2

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the readable -stream will release any internal resources and subsequent calls to push()will be ignored.

      +
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the readable +stream will release any internal resources and subsequent calls to push() will be ignored.

      Once destroy() has been called any further calls will be a no-op and no further errors except from _destroy() may be emitted as 'error'.

      Implementors should not override this method, but instead implement readable._destroy().

      @@ -223,7 +225,7 @@

      Parameters

      • limit: number

        the number of chunks to drop from the readable.

      • Optional options: Pick<ArrayOptions, "signal">

      Returns Readable

      a stream with limit chunks dropped from the start.

      Since

      v17.5.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -284,9 +286,9 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

      +
    • The readable.isPaused() method returns the current operating state of the Readable. +This is used primarily by the mechanism that underlies the readable.pipe() method. +In most typical cases, there will be no reason to use this method directly.

      const readable = new stream.Readable();

      readable.isPaused(); // === false
      readable.pause();
      readable.isPaused(); // === true
      readable.resume();
      readable.isPaused(); // === false

      Returns boolean

      Since

      v0.11.14

      @@ -297,43 +299,43 @@ or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. Default: true.

    Returns AsyncIterableIterator<any>

    Since

    v16.3.0

    -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

    • This method allows mapping over the stream. The fn function will be called for every chunk in the stream. If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

      Parameters

      • fn: ((data, options?) => any)

        a function to map over every chunk in the stream. Async or not.

          • (data, options?): any
          • Parameters

            Returns any

      • Optional options: ArrayOptions

      Returns Readable

      a stream mapped with the function fn.

      Since

      v17.4.0, v16.14.0

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -345,12 +347,12 @@ becomes available will remain in the internal buffer.

      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });
      -

      The readable.pause() method has no effect if there is a 'readable'event listener.

      +

      The readable.pause() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -365,19 +367,20 @@

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

    • The readable.read() method reads data out of the internal buffer and returns it. If no data is available to be read, null is returned. By default, the data is returned as a Buffer object unless an encoding has been specified using the readable.setEncoding() method or the stream is operating in object mode.

      -

      The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

      +

      The optional size argument specifies a specific number of bytes to read. If +size bytes are not available to be read, null will be returned unless the +stream has ended, in which case all of the data remaining in the internal buffer +will be returned.

      If the size argument is not specified, all of the data contained in the internal buffer will be returned.

      The size argument must be less than or equal to 1 GiB.

      @@ -398,7 +401,7 @@
      const chunks = [];

      readable.on('readable', () => {
      let chunk;
      while (null !== (chunk = readable.read())) {
      chunks.push(chunk);
      }
      });

      readable.on('end', () => {
      const content = chunks.join('');
      });

      A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

      +a call to readable.read(size), regardless of the value of the size argument.

      If the readable.read() method returns a chunk of data, a 'data' event will also be emitted.

      Calling read after the 'end' event has @@ -415,13 +418,13 @@

        • (previous, data, options?): T
        • Parameters

          Returns T

    • Optional initial: undefined

      the initial value to use in the reduction.

    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    a promise for the final value of the reduction.

    Since

    v17.5.0

    -
  • Type Parameters

    • T = any

    Parameters

    • fn: ((previous, data, options?) => T)
        • (previous, data, options?): T
        • Parameters

          Returns T

    • initial: T
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      +
    • Type Parameters

      • T = any

      Parameters

      • fn: ((previous, data, options?) => T)
          • (previous, data, options?): T
          • Parameters

            Returns T

      • initial: T
      • Optional options: Pick<ArrayOptions, "signal">

      Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -429,7 +432,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -440,7 +443,7 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -451,16 +454,16 @@ stream without actually processing any of that data:

      getReadableStreamSomehow()
      .resume()
      .on('end', () => {
      console.log('Reached the end, but did not read anything.');
      });
      -

      The readable.resume() method has no effect if there is a 'readable'event listener.

      +

      The readable.resume() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • The writable.setDefaultEncoding() method sets the default encoding for a Writable stream.

      Parameters

      Returns this

      Since

      v0.11.15

    • The readable.setEncoding() method sets the character encoding for data read from the Readable stream.

      -

      By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data -to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the -output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal +

      By default, no encoding is assigned and stream data will be returned as Buffer objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as Buffer objects. For instance, calling readable.setEncoding('utf8') will cause the +output data to be interpreted as UTF-8 data, and passed as strings. Calling readable.setEncoding('hex') will cause the data to be encoded in hexadecimal string format.

      The Readable stream will properly handle multi-byte characters delivered through the stream that would otherwise become improperly decoded if simply @@ -472,7 +475,7 @@

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • This method is similar to Array.prototype.some and calls fn on each chunk in the stream @@ -493,7 +496,7 @@

      Since

      v17.5.0

    • The writable.uncork() method flushes all data buffered since cork was called.

      When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event +of writes to a stream, defer calls to writable.uncork() using process.nextTick(). Doing so allows batching of all writable.write() calls that occur within a given Node.js event loop phase.

      stream.cork();
      stream.write('some ');
      stream.write('data ');
      process.nextTick(() => stream.uncork());
      @@ -534,13 +537,13 @@ custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, however it is best to simply avoid calling readable.unshift() while in the process of performing a read.

      -

      Parameters

      • chunk: any

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array, or null. For object mode -streams, chunk may be any JavaScript value.

        +

        Parameters

        • chunk: any

          Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must +be a {string}, {Buffer}, {TypedArray}, {DataView} or null. For object mode streams, chunk may be any JavaScript value.

        • Optional encoding: BufferEncoding

          Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        Returns void

        Since

        v0.9.11

        -
    • Prior to Node.js 0.10, streams did not implement the entire node:streammodule API as it is currently defined. (See Compatibility for more +

    • Prior to Node.js 0.10, streams did not implement the entire node:stream module API as it is currently defined. (See Compatibility for more information.)

      -

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, the readable.wrap() method can be used to create a Readable stream that uses the old stream as its data source.

      It will rarely be necessary to use readable.wrap() but the method has been @@ -555,7 +558,7 @@ occurs, the callback will be called with the error as its first argument. The callback is called asynchronously and before 'error' is emitted.

      -

      The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. +

      The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk. If false is returned, further attempts to write data to the stream should stop until the 'drain' event is emitted.

      While a stream is not draining, calls to write() will buffer chunk, and @@ -580,8 +583,8 @@

      function write(data, cb) {
      if (!stream.write(data)) {
      stream.once('drain', cb);
      } else {
      process.nextTick(cb);
      }
      }

      // Wait for cb to be called before doing any other write.
      write('hello', () => {
      console.log('Write completed, do more writes now.');
      });

      A Writable stream in object mode will always ignore the encoding argument.

      -

      Parameters

      • chunk: any

        Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

        +

        Parameters

        • chunk: any

          Optional data to write. For streams not operating in object mode, chunk must be a {string}, {Buffer}, +{TypedArray} or {DataView}. For object mode streams, chunk may be any JavaScript value other than null.

        • Optional encoding: BufferEncoding

          Callback for when this chunk of data is flushed.

        • Optional cb: ((error) => void)
            • (error): void
            • Parameters

              • error: undefined | null | Error

              Returns void

        Returns boolean

        false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

        Since

        v0.9.4

        @@ -627,7 +630,7 @@ event target. This is useful for debugging and diagnostic purposes.

        import { getEventListeners, EventEmitter } from 'node:events';

        {
        const ee = new EventEmitter();
        const listener = () => console.log('Events are fun');
        ee.on('foo', listener);
        console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
        }
        {
        const et = new EventTarget();
        const listener = () => console.log('Events are fun');
        et.addEventListener('foo', listener);
        console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
        }
        -

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

        +

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -636,17 +639,17 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      +

      Returns number

      Since

      v19.9.0

    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      +
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -655,10 +658,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -666,7 +671,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -674,11 +679,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.Transform.html b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.Transform.html index 3c9f020e113..dc4073480ba 100644 --- a/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.Transform.html +++ b/docs/api/classes/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.Transform.html @@ -104,8 +104,8 @@

    Constructors

    Properties

    allowHalfOpen: boolean

    If false then the stream will automatically end the writable side when the readable side ends. Set initially by the allowHalfOpen constructor option, which defaults to true.

    -

    This can be changed manually to change the half-open behavior of an existingDuplex stream instance, but must be changed before the 'end' event is -emitted.

    +

    This can be changed manually to change the half-open behavior of an existing +Duplex stream instance, but must be changed before the 'end' event is emitted.

    Since

    v0.9.4

    closed: boolean

    Is true after 'close' has been emitted.

    Since

    v18.0.0

    @@ -113,19 +113,19 @@

    Since

    v8.0.0

    errored: null | Error

    Returns error if the stream has been destroyed with an error.

    Since

    v18.0.0

    -
    readable: boolean

    Is true if it is safe to call readable.read(), which means +

    readable: boolean

    Is true if it is safe to call read, which means the stream has not been destroyed or emitted 'error' or 'end'.

    Since

    v11.4.0

    readableAborted: boolean

    Returns whether the stream was destroyed or errored before emitting 'end'.

    Since

    v16.8.0

    readableDidRead: boolean

    Returns whether 'data' has been emitted.

    Since

    v16.7.0, v14.18.0

    -
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

    +
    readableEncoding: null | BufferEncoding

    Getter for the property encoding of a given Readable stream. The encoding property can be set using the setEncoding method.

    Since

    v12.7.0

    -
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    +
    readableEnded: boolean

    Becomes true when 'end' event is emitted.

    Since

    v12.9.0

    readableFlowing: null | boolean

    This property reflects the current state of a Readable stream as described -in the Three states section.

    +in the Three states section.

    Since

    v9.4.0

    readableHighWaterMark: number

    Returns the value of highWaterMark passed when creating this Readable.

    Since

    v9.3.0

    @@ -165,14 +165,16 @@
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single event. This limit can be changed for individual EventEmitter instances using the emitter.setMaxListeners(n) method. To change the default -for allEventEmitter instances, the events.defaultMaxListenersproperty can be used. If this value is not a positive number, a RangeErroris thrown.

    +for allEventEmitter instances, the events.defaultMaxListeners property +can be used. If this value is not a positive number, a RangeError is thrown.

    Take caution when setting the events.defaultMaxListeners because the -change affects allEventEmitter instances, including those created before +change affects all EventEmitter instances, including those created before the change is made. However, calling emitter.setMaxListeners(n) still has precedence over events.defaultMaxListeners.

    This is not a hard limit. The EventEmitter instance will allow more listeners to be added but will output a trace warning to stderr indicating -that a "possible EventEmitter memory leak" has been detected. For any singleEventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners()methods can be used to +that a "possible EventEmitter memory leak" has been detected. For any single +EventEmitter, the emitter.getMaxListeners() and emitter.setMaxListeners() methods can be used to temporarily avoid this warning:

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.setMaxListeners(emitter.getMaxListeners() + 1);
    emitter.once('event', () => {
    // do stuff
    emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
    });
    @@ -184,13 +186,13 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    Since

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no +

    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    Since

    v13.6.0, v12.17.0

    Methods

    • Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

      Returns Promise<void>

      Since

      v20.4.0

      -
    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • chunk: any
      • encoding: BufferEncoding
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: BufferEncoding;
        }[]
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            • Optional error: null | Error

            Returns void

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -213,14 +215,14 @@ The buffered data will be flushed when either the uncork or end methods are called.

        The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them +immediately forwarding them to the underlying destination, writable.cork() buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

        +to be processed. However, use of writable.cork() without implementing writable._writev() may have an adverse effect on throughput.

        See also: writable.uncork(), writable._writev().

      Returns void

      Since

      v0.11.2

      -
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the readable -stream will release any internal resources and subsequent calls to push()will be ignored.

      +
    • Destroy the stream. Optionally emit an 'error' event, and emit a 'close' event (unless emitClose is set to false). After this call, the readable +stream will release any internal resources and subsequent calls to push() will be ignored.

      Once destroy() has been called any further calls will be a no-op and no further errors except from _destroy() may be emitted as 'error'.

      Implementors should not override this method, but instead implement readable._destroy().

      @@ -230,7 +232,7 @@

      Parameters

      • limit: number

        the number of chunks to drop from the readable.

      • Optional options: Pick<ArrayOptions, "signal">

      Returns Readable

      a stream with limit chunks dropped from the start.

      Since

      v17.5.0

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener @@ -291,9 +293,9 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

      +
    • The readable.isPaused() method returns the current operating state of the Readable. +This is used primarily by the mechanism that underlies the readable.pipe() method. +In most typical cases, there will be no reason to use this method directly.

      const readable = new stream.Readable();

      readable.isPaused(); // === false
      readable.pause();
      readable.isPaused(); // === true
      readable.resume();
      readable.isPaused(); // === false

      Returns boolean

      Since

      v0.11.14

      @@ -304,43 +306,43 @@ or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. Default: true.

    Returns AsyncIterableIterator<any>

    Since

    v16.3.0

    -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

    • This method allows mapping over the stream. The fn function will be called for every chunk in the stream. If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

      Parameters

      • fn: ((data, options?) => any)

        a function to map over every chunk in the stream. Async or not.

          • (data, options?): any
          • Parameters

            Returns any

      • Optional options: ArrayOptions

      Returns Readable

      a stream mapped with the function fn.

      Since

      v17.4.0, v16.14.0

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v0.1.101

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-timelistener function for the event named eventName. The +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      @@ -352,12 +354,12 @@ becomes available will remain in the internal buffer.

      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });
      -

      The readable.pause() method has no effect if there is a 'readable'event listener.

      +

      The readable.pause() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -372,19 +374,20 @@

      Parameters

      • event: "close"

        The name of the event.

      • listener: (() => void)

        The callback function

          • (): void
          • Returns void

      Returns this

      Since

      v6.0.0

      -
    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      Returns boolean

    • Returns a copy of the array of listeners for the event named eventName, +

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      Returns boolean

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

    • The readable.read() method reads data out of the internal buffer and returns it. If no data is available to be read, null is returned. By default, the data is returned as a Buffer object unless an encoding has been specified using the readable.setEncoding() method or the stream is operating in object mode.

      -

      The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

      +

      The optional size argument specifies a specific number of bytes to read. If +size bytes are not available to be read, null will be returned unless the +stream has ended, in which case all of the data remaining in the internal buffer +will be returned.

      If the size argument is not specified, all of the data contained in the internal buffer will be returned.

      The size argument must be less than or equal to 1 GiB.

      @@ -405,7 +408,7 @@
      const chunks = [];

      readable.on('readable', () => {
      let chunk;
      while (null !== (chunk = readable.read())) {
      chunks.push(chunk);
      }
      });

      readable.on('end', () => {
      const content = chunks.join('');
      });

      A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

      +a call to readable.read(size), regardless of the value of the size argument.

      If the readable.read() method returns a chunk of data, a 'data' event will also be emitted.

      Calling read after the 'end' event has @@ -422,13 +425,13 @@

        • (previous, data, options?): T
        • Parameters

          Returns T

    • Optional initial: undefined

      the initial value to use in the reduction.

    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    a promise for the final value of the reduction.

    Since

    v17.5.0

    -
  • Type Parameters

    • T = any

    Parameters

    • fn: ((previous, data, options?) => T)
        • (previous, data, options?): T
        • Parameters

          Returns T

    • initial: T
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      +
    • Type Parameters

      • T = any

      Parameters

      • fn: ((previous, data, options?) => T)
          • (previous, data, options?): T
          • Parameters

            Returns T

      • initial: T
      • Optional options: Pick<ArrayOptions, "signal">

      Returns Promise<T>

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -436,7 +439,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -447,7 +450,7 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -458,16 +461,16 @@ stream without actually processing any of that data:

      getReadableStreamSomehow()
      .resume()
      .on('end', () => {
      console.log('Reached the end, but did not read anything.');
      });
      -

      The readable.resume() method has no effect if there is a 'readable'event listener.

      +

      The readable.resume() method has no effect if there is a 'readable' event listener.

      Returns this

      Since

      v0.9.4

    • The writable.setDefaultEncoding() method sets the default encoding for a Writable stream.

      Parameters

      Returns this

      Since

      v0.11.15

    • The readable.setEncoding() method sets the character encoding for data read from the Readable stream.

      -

      By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data -to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the -output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal +

      By default, no encoding is assigned and stream data will be returned as Buffer objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as Buffer objects. For instance, calling readable.setEncoding('utf8') will cause the +output data to be interpreted as UTF-8 data, and passed as strings. Calling readable.setEncoding('hex') will cause the data to be encoded in hexadecimal string format.

      The Readable stream will properly handle multi-byte characters delivered through the stream that would otherwise become improperly decoded if simply @@ -479,7 +482,7 @@

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • This method is similar to Array.prototype.some and calls fn on each chunk in the stream @@ -500,7 +503,7 @@

      Since

      v17.5.0

    • The writable.uncork() method flushes all data buffered since cork was called.

      When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event +of writes to a stream, defer calls to writable.uncork() using process.nextTick(). Doing so allows batching of all writable.write() calls that occur within a given Node.js event loop phase.

      stream.cork();
      stream.write('some ');
      stream.write('data ');
      process.nextTick(() => stream.uncork());
      @@ -541,13 +544,13 @@ custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, however it is best to simply avoid calling readable.unshift() while in the process of performing a read.

      -

      Parameters

      • chunk: any

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array, or null. For object mode -streams, chunk may be any JavaScript value.

        +

        Parameters

        • chunk: any

          Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must +be a {string}, {Buffer}, {TypedArray}, {DataView} or null. For object mode streams, chunk may be any JavaScript value.

        • Optional encoding: BufferEncoding

          Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        Returns void

        Since

        v0.9.11

        -
    • Prior to Node.js 0.10, streams did not implement the entire node:streammodule API as it is currently defined. (See Compatibility for more +

    • Prior to Node.js 0.10, streams did not implement the entire node:stream module API as it is currently defined. (See Compatibility for more information.)

      -

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, the readable.wrap() method can be used to create a Readable stream that uses the old stream as its data source.

      It will rarely be necessary to use readable.wrap() but the method has been @@ -562,7 +565,7 @@ occurs, the callback will be called with the error as its first argument. The callback is called asynchronously and before 'error' is emitted.

      -

      The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. +

      The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk. If false is returned, further attempts to write data to the stream should stop until the 'drain' event is emitted.

      While a stream is not draining, calls to write() will buffer chunk, and @@ -587,8 +590,8 @@

      function write(data, cb) {
      if (!stream.write(data)) {
      stream.once('drain', cb);
      } else {
      process.nextTick(cb);
      }
      }

      // Wait for cb to be called before doing any other write.
      write('hello', () => {
      console.log('Write completed, do more writes now.');
      });

      A Writable stream in object mode will always ignore the encoding argument.

      -

      Parameters

      • chunk: any

        Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

        +

        Parameters

        • chunk: any

          Optional data to write. For streams not operating in object mode, chunk must be a {string}, {Buffer}, +{TypedArray} or {DataView}. For object mode streams, chunk may be any JavaScript value other than null.

        • Optional encoding: BufferEncoding

          Callback for when this chunk of data is flushed.

        • Optional cb: ((error) => void)
            • (error): void
            • Parameters

              • error: undefined | null | Error

              Returns void

        Returns boolean

        false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

        Since

        v0.9.4

        @@ -634,7 +637,7 @@ event target. This is useful for debugging and diagnostic purposes.

        import { getEventListeners, EventEmitter } from 'node:events';

        {
        const ee = new EventEmitter();
        const listener = () => console.log('Events are fun');
        ee.on('foo', listener);
        console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
        }
        {
        const et = new EventTarget();
        const listener = () => console.log('Events are fun');
        et.addEventListener('foo', listener);
        console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
        }
        -

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

        +

        Parameters

        Returns Function[]

        Since

        v15.2.0, v14.17.0

    • Returns the currently set max amount of listeners.

      For EventEmitters this behaves exactly the same as calling .getMaxListeners on the emitter.

      @@ -643,17 +646,17 @@ the max set, the EventTarget will print a warning.

      import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      console.log(getMaxListeners(ee)); // 10
      setMaxListeners(11, ee);
      console.log(getMaxListeners(ee)); // 11
      }
      {
      const et = new EventTarget();
      console.log(getMaxListeners(et)); // 10
      setMaxListeners(11, et);
      console.log(getMaxListeners(et)); // 11
      }
      -

      Parameters

      Returns number

      Since

      v19.9.0

      +

      Returns number

      Since

      v19.9.0

    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      +
    • A class method that returns the number of listeners for the given eventName registered on the given emitter.

      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2
      -

      Parameters

    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here +
    • import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when @@ -662,10 +665,12 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting on events:

      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());
      -

      Parameters

      Returns AsyncIterableIterator<any>

      that iterates eventName events emitted by the emitter

      +

      Use the close option to specify an array of event names that will end the iteration:

      +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      ee.emit('close');
      });

      for await (const event of on(ee, 'foo', { close: ['close'] })) {
      console.log(event); // prints ['bar'] [42]
      }
      // the loop will exit after 'close' is emitted
      console.log('done'); // prints 'done' +
      +

      Parameters

      Returns AsyncIterableIterator<any[]>

      An AsyncIterator that iterates eventName events emitted by the emitter

      Since

      v13.6.0, v12.16.0

      -
    • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

      @@ -673,7 +678,7 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      semantics and does not listen to the 'error' event.

      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }
      -

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the +

      The special handling of the 'error' event is only used when events.once() is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom @@ -681,11 +686,11 @@

      Deprecated

      Since v3.2.0 - Use listenerCount instead.

      An AbortSignal can be used to cancel waiting for the event:

      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!
      -

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      -
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +

      Parameters

      Returns Promise<any[]>

      Since

      v11.13.0, v10.16.0

      +
    • Parameters

      Returns Promise<any[]>

    • import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Parameters

      • Optional n: number

        A non-negative number. The maximum number of listeners per EventTarget event.

        -
      • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

      Returns void

      Since

      v15.4.0

      +
    • Rest ...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Returns void

    Since

    v15.4.0

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Agent-1.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Agent-1.html new file mode 100644 index 00000000000..21315802740 --- /dev/null +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Agent-1.html @@ -0,0 +1,13 @@ +Agent | Amplify JS API Documentation +

    Hierarchy (view full)

    Constructors

    Properties

    Methods

    Constructors

    Properties

    maxFreeSockets: number
    maxSockets: number
    options: AgentOptions
    requests: any
    sockets: any

    Methods

    • Destroy any sockets that are currently in use by the agent. +It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled, +then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise, +sockets may hang open for quite a long time before the server terminates them.

      +

      Returns void

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Agent.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Agent.html new file mode 100644 index 00000000000..bdbda0170e8 --- /dev/null +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Agent.html @@ -0,0 +1,12 @@ +Agent | Amplify JS API Documentation +

    Hierarchy (view full)

    Constructors

    Properties

    Methods

    Constructors

    Properties

    maxFreeSockets: number
    maxSockets: number
    requests: any
    sockets: any

    Methods

    • Destroy any sockets that are currently in use by the agent. +It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled, +then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise, +sockets may hang open for quite a long time before the server terminates them.

      +

      Returns void

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Client.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Client.html index b7eb8bbdb7a..6f86015f210 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Client.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Client.html @@ -7,4 +7,4 @@ middlewareStack

    Methods

    Constructors

    Properties

    Methods

    \ No newline at end of file +

    Constructors

    Properties

    Methods

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Duplex.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Duplex.html index b2c5890277c..fab2e6878d1 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Duplex.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Duplex.html @@ -1,5 +1,5 @@ Duplex | Amplify JS API Documentation -

    Hierarchy (view full)

    Implements

    Constructors

    constructor +

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    readable: boolean
    readableHighWaterMark: number
    writable: boolean
    writableHighWaterMark: number
    defaultMaxListeners: number

    Methods

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            Returns void

      Returns void

    • Parameters

      • callback: Function

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • chunk: any
      • encoding: string
      • callback: ((err?) => void)
          • (err?): void
          • Parameters

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: string;
        }[]
      • callback: ((err?) => void)
          • (err?): void
          • Parameters

            Returns void

      Returns void

    • Event emitter +

    Constructors

    Properties

    readable: boolean
    readableHighWaterMark: number
    writable: boolean
    writableHighWaterMark: number
    defaultMaxListeners: number

    Methods

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            Returns void

      Returns void

    • Parameters

      • callback: Function

      Returns void

    • Parameters

      • size: number

      Returns void

    • Parameters

      • chunk: any
      • encoding: string
      • callback: ((err?) => void)
          • (err?): void
          • Parameters

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: string;
        }[]
      • callback: ((err?) => void)
          • (err?): void
          • Parameters

            Returns void

      Returns void

    • Event emitter The defined events on documents including:

      1. close
      2. @@ -49,4 +49,4 @@
      3. readable
      4. error
      -

      Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • encoding: string

      Returns this

    • Parameters

      • chunk: any

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns boolean

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    \ No newline at end of file +

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • encoding: string

      Returns this

    • Parameters

      • chunk: any

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns boolean

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.HttpRequest.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.HttpRequest.html index b80aa75c901..24063906533 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.HttpRequest.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.HttpRequest.html @@ -1,6 +1,6 @@ HttpRequest | Amplify JS API Documentation

    Represents an HTTP message with headers and an optional static or streaming -body. bode: ArrayBuffer | ArrayBufferView | string | Uint8Array | Readable | ReadableStream;

    +body. body: ArrayBuffer | ArrayBufferView | string | Uint8Array | Readable | ReadableStream;

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    body? fragment? @@ -13,6 +13,15 @@ protocol query username? -

    Methods

    Methods

    Constructors

    Properties

    body?: any
    fragment?: string
    headers: HeaderBag
    hostname: string
    method: string
    password?: string
    path: string
    port?: number
    protocol: string
    username?: string

    Methods

    \ No newline at end of file +

    Constructors

    Properties

    body?: any
    fragment?: string
    headers: HeaderBag
    hostname: string
    method: string
    password?: string
    path: string
    port?: number
    protocol: string
    username?: string

    Methods

    • Returns HttpRequest

      Deprecated

      use static HttpRequest.clone(request) instead. It's not safe to call +this method because HttpRequest.isInstance incorrectly +asserts that IHttpRequest (interface) objects are of type HttpRequest (class).

      +
    • This method only actually asserts that request is the interface IHttpRequest, +and not necessarily this concrete class. Left in place for API stability.

      +

      Do not call instance methods on the input of this function, and +do not assume it has the HttpRequest prototype.

      +

      Parameters

      • request: unknown

      Returns request is HttpRequest

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.IncomingMessage.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.IncomingMessage.html index 40f86cb7780..805ee9db33f 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.IncomingMessage.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.IncomingMessage.html @@ -57,4 +57,4 @@
  • readable
  • error
  • -

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • encoding: string

      Returns this

    • Parameters

      • msecs: number
      • callback: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • chunk: any

      Returns void

    \ No newline at end of file +

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • encoding: string

      Returns this

    • Parameters

      • msecs: number
      • callback: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • chunk: any

      Returns void

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Readable.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Readable.html index 33740c6529d..f37bb5900f1 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Readable.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Readable.html @@ -39,4 +39,4 @@
  • readable
  • error
  • -

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Parameters

      Returns void

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    \ No newline at end of file +

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Parameters

      Returns void

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.RekognitionClient.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.RekognitionClient.html index 245824af4a2..ad534196b3d 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.RekognitionClient.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.RekognitionClient.html @@ -82,6 +82,11 @@ GetCelebrityInfo

    +
  • +

    + GetMediaAnalysisJob +

    +
  • IndexFaces @@ -92,6 +97,11 @@ ListCollections

  • +
  • +

    + ListMediaAnalysisJob +

    +
  • ListFaces @@ -127,6 +137,11 @@ SearchUsersByImage

  • +
  • +

    + StartMediaAnalysisJob +

    +
  • Amazon Rekognition Custom Labels diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Socket.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Socket.html index cea269bd2dc..2467d8b8da3 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Socket.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Socket.html @@ -68,4 +68,4 @@

  • lookup
  • timeout
  • -

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: ((had_error) => void)
        • (had_error): void
        • Parameters

          • had_error: boolean

          Returns void

    Returns this

  • Parameters

    • event: "connect"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((data) => void)
        • (data): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "lookup"
    • listener: ((err, address, family, host) => void)
        • (err, address, family, host): void
        • Parameters

          • err: Error
          • address: string
          • family: string | number
          • host: string

          Returns void

    Returns this

  • Parameters

    • event: "timeout"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

    • Returns {
          address: string;
          family: string;
          port: number;
      }

      • address: string
      • family: string
      • port: number
    • Parameters

      Returns this

    • Parameters

      • port: number
      • host: string
      • Optional connectionListener: Function

      Returns this

    • Parameters

      • port: number
      • Optional connectionListener: Function

      Returns this

    • Parameters

      • path: string
      • Optional connectionListener: Function

      Returns this

    • Returns void

    • Parameters

      • Optional err: any

      Returns void

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"
      • had_error: boolean

      Returns boolean

    • Parameters

      • event: "connect"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "drain"

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "lookup"
      • err: Error
      • address: string
      • family: string | number
      • host: string

      Returns boolean

    • Parameters

      • event: "timeout"

      Returns boolean

    • Returns void

    • Parameters

      • buffer: Buffer
      • Optional cb: Function

      Returns void

    • Parameters

      • str: string
      • Optional cb: Function

      Returns void

    • Parameters

      • str: string
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Parameters

      • Optional data: any
      • Optional encoding: string

      Returns void

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((had_error) => void)
          • (had_error): void
          • Parameters

            • had_error: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((had_error) => void)
          • (had_error): void
          • Parameters

            • had_error: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((had_error) => void)
          • (had_error): void
          • Parameters

            • had_error: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((had_error) => void)
          • (had_error): void
          • Parameters

            • had_error: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Returns void

    • Parameters

      • Optional event: string | symbol

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • Optional encoding: string

      Returns this

    • Parameters

      • Optional enable: boolean
      • Optional initialDelay: number

      Returns this

    • Parameters

      • Optional noDelay: boolean

      Returns this

    • Parameters

      • timeout: number
      • Optional callback: Function

      Returns this

    • Returns void

    • Parameters

      • chunk: any

      Returns void

    • Parameters

      Returns boolean

    • Parameters

      • buffer: Buffer
      • Optional cb: Function

      Returns boolean

    • Parameters

      • str: string
      • Optional cb: Function

      Returns boolean

    • Parameters

      • str: string
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    • Parameters

      • str: string
      • Optional encoding: string
      • Optional fd: string

      Returns boolean

    • Parameters

      • data: any
      • Optional encoding: string
      • Optional callback: Function

      Returns void

    \ No newline at end of file +

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: ((had_error) => void)
        • (had_error): void
        • Parameters

          • had_error: boolean

          Returns void

    Returns this

  • Parameters

    • event: "connect"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((data) => void)
        • (data): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "lookup"
    • listener: ((err, address, family, host) => void)
        • (err, address, family, host): void
        • Parameters

          • err: Error
          • address: string
          • family: string | number
          • host: string

          Returns void

    Returns this

  • Parameters

    • event: "timeout"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

    • Returns {
          address: string;
          family: string;
          port: number;
      }

      • address: string
      • family: string
      • port: number
    • Parameters

      Returns this

    • Parameters

      • port: number
      • host: string
      • Optional connectionListener: Function

      Returns this

    • Parameters

      • port: number
      • Optional connectionListener: Function

      Returns this

    • Parameters

      • path: string
      • Optional connectionListener: Function

      Returns this

    • Returns void

    • Parameters

      • Optional err: any

      Returns void

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"
      • had_error: boolean

      Returns boolean

    • Parameters

      • event: "connect"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "drain"

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "lookup"
      • err: Error
      • address: string
      • family: string | number
      • host: string

      Returns boolean

    • Parameters

      • event: "timeout"

      Returns boolean

    • Returns void

    • Parameters

      • buffer: Buffer
      • Optional cb: Function

      Returns void

    • Parameters

      • str: string
      • Optional cb: Function

      Returns void

    • Parameters

      • str: string
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Parameters

      • Optional data: any
      • Optional encoding: string

      Returns void

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((had_error) => void)
          • (had_error): void
          • Parameters

            • had_error: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((had_error) => void)
          • (had_error): void
          • Parameters

            • had_error: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((had_error) => void)
          • (had_error): void
          • Parameters

            • had_error: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: ((had_error) => void)
          • (had_error): void
          • Parameters

            • had_error: boolean

            Returns void

      Returns this

    • Parameters

      • event: "connect"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((data) => void)
          • (data): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "lookup"
      • listener: ((err, address, family, host) => void)
          • (err, address, family, host): void
          • Parameters

            • err: Error
            • address: string
            • family: string | number
            • host: string

            Returns void

      Returns this

    • Parameters

      • event: "timeout"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Returns void

    • Parameters

      • Optional event: string | symbol

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • Optional encoding: string

      Returns this

    • Parameters

      • Optional enable: boolean
      • Optional initialDelay: number

      Returns this

    • Parameters

      • Optional noDelay: boolean

      Returns this

    • Parameters

      • timeout: number
      • Optional callback: Function

      Returns this

    • Returns void

    • Parameters

      • chunk: any

      Returns void

    • Parameters

      Returns boolean

    • Parameters

      • buffer: Buffer
      • Optional cb: Function

      Returns boolean

    • Parameters

      • str: string
      • Optional cb: Function

      Returns boolean

    • Parameters

      • str: string
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    • Parameters

      • str: string
      • Optional encoding: string
      • Optional fd: string

      Returns boolean

    • Parameters

      • data: any
      • Optional encoding: string
      • Optional callback: Function

      Returns void

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Stream.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Stream.html index ab7bc38f5a5..a4aa295dfbc 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Stream.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Stream.html @@ -1,5 +1,5 @@ Stream | Amplify JS API Documentation -

    Hierarchy (view full)

    Constructors

    constructor +

    Hierarchy (view full)

    Constructors

    Properties

    defaultMaxListeners: number

    Methods

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    \ No newline at end of file +

    Constructors

    Properties

    defaultMaxListeners: number

    Methods

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.Writable.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Writable.html similarity index 55% rename from docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.Writable.html rename to docs/api/classes/_aws_amplify_predictions._Reference_Types_.Writable.html index 31606edf5c4..41bf1a2ec24 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.Writable.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.Writable.html @@ -1,34 +1,34 @@ Writable | Amplify JS API Documentation -

    Hierarchy (view full)

    Implements

    Implemented by

    Constructors

    Properties

    writable: boolean
    writableHighWaterMark: number
    defaultMaxListeners: number

    Methods

    • Parameters

      • error: null | Error
      • callback: ((error?) => void)
          • (error?): void
          • Parameters

            Returns void

      Returns void

    • Parameters

      • callback: Function

      Returns void

    • Parameters

      • chunk: any
      • encoding: string
      • callback: ((err?) => void)
          • (err?): void
          • Parameters

            Returns void

      Returns void

    • Parameters

      • chunks: {
            chunk: any;
            encoding: string;
        }[]
      • callback: ((err?) => void)
          • (err?): void
          • Parameters

            Returns void

      Returns void

    • Event emitter +

      Hierarchy (view full)

      Implements

      Implemented by

      Constructors

      Properties

      writable: boolean
      writableHighWaterMark: number
      defaultMaxListeners: number

      Methods

      • Parameters

        • error: null | Error
        • callback: ((error?) => void)
            • (error?): void
            • Parameters

              Returns void

        Returns void

      • Parameters

        • callback: Function

        Returns void

      • Parameters

        • chunk: any
        • encoding: string
        • callback: ((err?) => void)
            • (err?): void
            • Parameters

              Returns void

        Returns void

      • Parameters

        • chunks: {
              chunk: any;
              encoding: string;
          }[]
        • callback: ((err?) => void)
            • (err?): void
            • Parameters

              Returns void

        Returns void

      • Event emitter The defined events on documents including:

        1. close
        2. @@ -38,4 +38,4 @@
        3. pipe
        4. unpipe
        -

        Parameters

        • event: string
        • listener: ((...args) => void)
            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

      • Parameters

        • event: "close"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "drain"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "error"
        • listener: ((err) => void)
            • (err): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "finish"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "pipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "unpipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Returns void

      • Parameters

        Returns void

      • Parameters

        • event: string | symbol
        • Rest ...args: any[]

        Returns boolean

      • Parameters

        • event: "close"

        Returns boolean

      • Parameters

        • event: "drain"
        • chunk: string | Buffer

        Returns boolean

      • Parameters

        Returns boolean

      • Parameters

        • event: "finish"

        Returns boolean

      • Parameters

        Returns boolean

      • Parameters

        Returns boolean

      • Parameters

        • Optional cb: Function

        Returns void

      • Parameters

        • chunk: any
        • Optional cb: Function

        Returns void

      • Parameters

        • chunk: any
        • Optional encoding: string
        • Optional cb: Function

        Returns void

      • Parameters

        • event: string
        • listener: ((...args) => void)
            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

      • Parameters

        • event: "close"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "drain"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "error"
        • listener: ((err) => void)
            • (err): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "finish"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "pipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "unpipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: string
        • listener: ((...args) => void)
            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

      • Parameters

        • event: "close"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "drain"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "error"
        • listener: ((err) => void)
            • (err): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "finish"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "pipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "unpipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Type Parameters

        Parameters

        • destination: T
        • Optional options: {
              end?: boolean;
          }
          • Optional end?: boolean

        Returns T

      • Parameters

        • event: string
        • listener: ((...args) => void)
            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

      • Parameters

        • event: "close"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "drain"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "error"
        • listener: ((err) => void)
            • (err): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "finish"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "pipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "unpipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: string
        • listener: ((...args) => void)
            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

      • Parameters

        • event: "close"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "drain"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "error"
        • listener: ((err) => void)
            • (err): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "finish"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "pipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "unpipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: string
        • listener: ((...args) => void)
            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

      • Parameters

        • event: "close"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "drain"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "error"
        • listener: ((err) => void)
            • (err): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "finish"
        • listener: (() => void)
            • (): void
            • Returns void

        Returns this

      • Parameters

        • event: "pipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • event: "unpipe"
        • listener: ((src) => void)
            • (src): void
            • Parameters

              Returns void

        Returns this

      • Parameters

        • encoding: string

        Returns this

      • Returns void

      • Parameters

        • chunk: any
        • Optional cb: Function

        Returns boolean

      • Parameters

        • chunk: any
        • Optional encoding: string
        • Optional cb: Function

        Returns boolean

      \ No newline at end of file +

      Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Returns void

    • Parameters

      Returns void

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "drain"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • event: "finish"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • encoding: string

      Returns this

    • Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns boolean

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.PassThrough.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.PassThrough.html index 136b22156df..7022b1dbe16 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.PassThrough.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.PassThrough.html @@ -50,4 +50,4 @@
  • readable
  • error
  • -

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • encoding: string

      Returns this

    • Parameters

      • chunk: any

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns boolean

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    \ No newline at end of file +

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • encoding: string

      Returns this

    • Parameters

      • chunk: any

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns boolean

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.Transform.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.Transform.html index c99ffbb69e6..65642d6cbc7 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.Transform.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-1.Transform.html @@ -50,4 +50,4 @@
  • readable
  • error
  • -

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Returns void

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • Optional event: string | symbol

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • encoding: string

      Returns this

    • Parameters

      • chunk: any

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns boolean

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    \ No newline at end of file +

    Parameters

    • event: string
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

    • Returns void

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: "close"

      Returns boolean

    • Parameters

      • event: "data"
      • chunk: string | Buffer

      Returns boolean

    • Parameters

      • event: "end"

      Returns boolean

    • Parameters

      • event: "readable"

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns void

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns void

    • Returns (string | symbol)[]

    • Parameters

      • type: string | symbol

      Returns number

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • chunk: any
      • Optional encoding: string

      Returns boolean

    • Parameters

      • Optional size: number

      Returns any

    • Parameters

      • Optional event: string | symbol

      Returns this

    • Parameters

      • event: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: "close"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "data"
      • listener: ((chunk) => void)
          • (chunk): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • encoding: string

      Returns this

    • Parameters

      • chunk: any

      Returns void

    • Parameters

      • chunk: any
      • Optional cb: Function

      Returns boolean

    • Parameters

      • chunk: any
      • Optional encoding: string
      • Optional cb: Function

      Returns boolean

    \ No newline at end of file diff --git a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-3.html b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-3.html index 8635934ba67..02fe790ee1a 100644 --- a/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-3.html +++ b/docs/api/classes/_aws_amplify_predictions._Reference_Types_.internal-3.html @@ -16,4 +16,4 @@ removeListener setMaxListeners listenerCount -

    Constructors

    Properties

    defaultMaxListeners: number

    Methods

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    \ No newline at end of file +

    Constructors

    Properties

    defaultMaxListeners: number

    Methods

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • event: string | symbol

      Returns Function[]

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.AdapterVersionStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.AdapterVersionStatus.html new file mode 100644 index 00000000000..43c47a69479 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.AdapterVersionStatus.html @@ -0,0 +1,7 @@ +AdapterVersionStatus | Amplify JS API Documentation +

    Enumeration Members

    ACTIVE: "ACTIVE"
    AT_RISK: "AT_RISK"
    CREATION_ERROR: "CREATION_ERROR"
    CREATION_IN_PROGRESS: "CREATION_IN_PROGRESS"
    DEPRECATED: "DEPRECATED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Attribute.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Attribute.html new file mode 100644 index 00000000000..8b6cb9f52fc --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Attribute.html @@ -0,0 +1,16 @@ +Attribute | Amplify JS API Documentation +

    Enumeration Members

    AGE_RANGE: "AGE_RANGE"
    ALL: "ALL"
    BEARD: "BEARD"
    DEFAULT: "DEFAULT"
    EMOTIONS: "EMOTIONS"
    EYEGLASSES: "EYEGLASSES"
    EYES_OPEN: "EYES_OPEN"
    EYE_DIRECTION: "EYE_DIRECTION"
    FACE_OCCLUDED: "FACE_OCCLUDED"
    GENDER: "GENDER"
    MOUTH_OPEN: "MOUTH_OPEN"
    MUSTACHE: "MUSTACHE"
    SMILE: "SMILE"
    SUNGLASSES: "SUNGLASSES"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.AugmentedManifestsDocumentTypeFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.AugmentedManifestsDocumentTypeFormat.html new file mode 100644 index 00000000000..93eb6699e41 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.AugmentedManifestsDocumentTypeFormat.html @@ -0,0 +1,4 @@ +AugmentedManifestsDocumentTypeFormat | Amplify JS API Documentation +

    Enumeration Members

    PLAIN_TEXT_DOCUMENT: "PLAIN_TEXT_DOCUMENT"
    SEMI_STRUCTURED_DOCUMENT: "SEMI_STRUCTURED_DOCUMENT"
    \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.HttpHandler.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.AutoUpdate.html similarity index 74% rename from docs/api/types/_aws_amplify_predictions._Reference_Types_.HttpHandler.html rename to docs/api/enums/_aws_amplify_predictions._Reference_Types_.AutoUpdate.html index 30eead1c14e..d556a6ced9c 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.HttpHandler.html +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.AutoUpdate.html @@ -1,2 +1,4 @@ -HttpHandler | Amplify JS API Documentation -
    \ No newline at end of file +AutoUpdate | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    DISABLED: "DISABLED"
    ENABLED: "ENABLED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BlockType-1.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BlockType-1.html new file mode 100644 index 00000000000..f0f5e4234ea --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BlockType-1.html @@ -0,0 +1,4 @@ +BlockType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    LINE: "LINE"
    WORD: "WORD"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BlockType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BlockType.html new file mode 100644 index 00000000000..2617ca1605c --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BlockType.html @@ -0,0 +1,26 @@ +BlockType | Amplify JS API Documentation +

    Enumeration Members

    CELL: "CELL"
    KEY_VALUE_SET: "KEY_VALUE_SET"
    LAYOUT_FIGURE: "LAYOUT_FIGURE"
    LAYOUT_FOOTER: "LAYOUT_FOOTER"
    LAYOUT_HEADER: "LAYOUT_HEADER"
    LAYOUT_KEY_VALUE: "LAYOUT_KEY_VALUE"
    LAYOUT_LIST: "LAYOUT_LIST"
    LAYOUT_PAGE_NUMBER: "LAYOUT_PAGE_NUMBER"
    LAYOUT_SECTION_HEADER: "LAYOUT_SECTION_HEADER"
    LAYOUT_TABLE: "LAYOUT_TABLE"
    LAYOUT_TEXT: "LAYOUT_TEXT"
    LAYOUT_TITLE: "LAYOUT_TITLE"
    LINE: "LINE"
    MERGED_CELL: "MERGED_CELL"
    PAGE: "PAGE"
    QUERY: "QUERY"
    QUERY_RESULT: "QUERY_RESULT"
    SELECTION_ELEMENT: "SELECTION_ELEMENT"
    SIGNATURE: "SIGNATURE"
    TABLE: "TABLE"
    TABLE_FOOTER: "TABLE_FOOTER"
    TABLE_TITLE: "TABLE_TITLE"
    TITLE: "TITLE"
    WORD: "WORD"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BodyPart.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BodyPart.html new file mode 100644 index 00000000000..50d500e152e --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.BodyPart.html @@ -0,0 +1,6 @@ +BodyPart | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    FACE: "FACE"
    HEAD: "HEAD"
    LEFT_HAND: "LEFT_HAND"
    RIGHT_HAND: "RIGHT_HAND"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.CelebrityRecognitionSortBy.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.CelebrityRecognitionSortBy.html new file mode 100644 index 00000000000..27d88904d7f --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.CelebrityRecognitionSortBy.html @@ -0,0 +1,4 @@ +CelebrityRecognitionSortBy | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ID: "ID"
    TIMESTAMP: "TIMESTAMP"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentClassifier-1.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentClassifier-1.html new file mode 100644 index 00000000000..e0c43513e92 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentClassifier-1.html @@ -0,0 +1,4 @@ +ContentClassifier | Amplify JS API Documentation +

    Enumeration Members

    FREE_OF_ADULT_CONTENT: "FreeOfAdultContent"
    FREE_OF_PERSONALLY_IDENTIFIABLE_INFORMATION: "FreeOfPersonallyIdentifiableInformation"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentClassifier.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentClassifier.html new file mode 100644 index 00000000000..057c6a23ac6 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentClassifier.html @@ -0,0 +1,4 @@ +ContentClassifier | Amplify JS API Documentation +

    Enumeration Members

    FREE_OF_ADULT_CONTENT: "FreeOfAdultContent"
    FREE_OF_PERSONALLY_IDENTIFIABLE_INFORMATION: "FreeOfPersonallyIdentifiableInformation"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentModerationAggregateBy.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentModerationAggregateBy.html new file mode 100644 index 00000000000..6a6040a7ac5 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentModerationAggregateBy.html @@ -0,0 +1,4 @@ +ContentModerationAggregateBy | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    SEGMENTS: "SEGMENTS"
    TIMESTAMPS: "TIMESTAMPS"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentModerationSortBy.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentModerationSortBy.html new file mode 100644 index 00000000000..ae98aee9c97 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ContentModerationSortBy.html @@ -0,0 +1,4 @@ +ContentModerationSortBy | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    NAME: "NAME"
    TIMESTAMP: "TIMESTAMP"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.CustomizationFeature.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.CustomizationFeature.html new file mode 100644 index 00000000000..ebe27b0cd0c --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.CustomizationFeature.html @@ -0,0 +1,4 @@ +CustomizationFeature | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    CONTENT_MODERATION: "CONTENT_MODERATION"
    CUSTOM_LABELS: "CUSTOM_LABELS"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetDataFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetDataFormat.html new file mode 100644 index 00000000000..91d3d079bf8 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetDataFormat.html @@ -0,0 +1,4 @@ +DatasetDataFormat | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    AUGMENTED_MANIFEST: "AUGMENTED_MANIFEST"
    COMPREHEND_CSV: "COMPREHEND_CSV"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatus-1.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatus-1.html new file mode 100644 index 00000000000..4c4f146675b --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatus-1.html @@ -0,0 +1,5 @@ +DatasetStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    COMPLETED: "COMPLETED"
    CREATING: "CREATING"
    FAILED: "FAILED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatus.html new file mode 100644 index 00000000000..ee0c92c82dc --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatus.html @@ -0,0 +1,9 @@ +DatasetStatus | Amplify JS API Documentation +

    Enumeration Members

    CREATE_COMPLETE: "CREATE_COMPLETE"
    CREATE_FAILED: "CREATE_FAILED"
    CREATE_IN_PROGRESS: "CREATE_IN_PROGRESS"
    DELETE_IN_PROGRESS: "DELETE_IN_PROGRESS"
    UPDATE_COMPLETE: "UPDATE_COMPLETE"
    UPDATE_FAILED: "UPDATE_FAILED"
    UPDATE_IN_PROGRESS: "UPDATE_IN_PROGRESS"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatusMessageCode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatusMessageCode.html new file mode 100644 index 00000000000..9671a4dacb0 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetStatusMessageCode.html @@ -0,0 +1,5 @@ +DatasetStatusMessageCode | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    CLIENT_ERROR: "CLIENT_ERROR"
    SERVICE_ERROR: "SERVICE_ERROR"
    SUCCESS: "SUCCESS"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetType-1.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetType-1.html new file mode 100644 index 00000000000..354666a1a46 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetType-1.html @@ -0,0 +1,4 @@ +DatasetType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    TEST: "TEST"
    TRAIN: "TRAIN"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetType.html new file mode 100644 index 00000000000..f736ab462b7 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DatasetType.html @@ -0,0 +1,4 @@ +DatasetType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    TEST: "TEST"
    TRAIN: "TRAIN"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DetectLabelsFeatureName.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DetectLabelsFeatureName.html new file mode 100644 index 00000000000..6a14f842774 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DetectLabelsFeatureName.html @@ -0,0 +1,4 @@ +DetectLabelsFeatureName | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    GENERAL_LABELS: "GENERAL_LABELS"
    IMAGE_PROPERTIES: "IMAGE_PROPERTIES"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Directionality.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Directionality.html new file mode 100644 index 00000000000..73c0f4fb82e --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Directionality.html @@ -0,0 +1,4 @@ +Directionality | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    MULTI: "MULTI"
    UNI: "UNI"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DisplayLanguageCode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DisplayLanguageCode.html new file mode 100644 index 00000000000..b4628457b4c --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DisplayLanguageCode.html @@ -0,0 +1,12 @@ +DisplayLanguageCode | Amplify JS API Documentation +

    Enumeration Members

    DE +EN +ES +FR +IT +JA +KO +PT +ZH +ZH_TW +

    Enumeration Members

    DE: "de"
    EN: "en"
    ES: "es"
    FR: "fr"
    IT: "it"
    JA: "ja"
    KO: "ko"
    PT: "pt"
    ZH: "zh"
    ZH_TW: "zh-TW"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDataFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDataFormat.html new file mode 100644 index 00000000000..0df420cdc43 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDataFormat.html @@ -0,0 +1,4 @@ +DocumentClassifierDataFormat | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    AUGMENTED_MANIFEST: "AUGMENTED_MANIFEST"
    COMPREHEND_CSV: "COMPREHEND_CSV"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDocumentTypeFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDocumentTypeFormat.html new file mode 100644 index 00000000000..716571631b2 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDocumentTypeFormat.html @@ -0,0 +1,4 @@ +DocumentClassifierDocumentTypeFormat | Amplify JS API Documentation +

    Enumeration Members

    PLAIN_TEXT_DOCUMENT: "PLAIN_TEXT_DOCUMENT"
    SEMI_STRUCTURED_DOCUMENT: "SEMI_STRUCTURED_DOCUMENT"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierMode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierMode.html new file mode 100644 index 00000000000..1213e4f1fbe --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentClassifierMode.html @@ -0,0 +1,4 @@ +DocumentClassifierMode | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    MULTI_CLASS: "MULTI_CLASS"
    MULTI_LABEL: "MULTI_LABEL"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadAction.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadAction.html new file mode 100644 index 00000000000..f834f4117d1 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadAction.html @@ -0,0 +1,4 @@ +DocumentReadAction | Amplify JS API Documentation +

    Enumeration Members

    TEXTRACT_ANALYZE_DOCUMENT: "TEXTRACT_ANALYZE_DOCUMENT"
    TEXTRACT_DETECT_DOCUMENT_TEXT: "TEXTRACT_DETECT_DOCUMENT_TEXT"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadFeatureTypes.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadFeatureTypes.html new file mode 100644 index 00000000000..31954fc86f7 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadFeatureTypes.html @@ -0,0 +1,4 @@ +DocumentReadFeatureTypes | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    FORMS: "FORMS"
    TABLES: "TABLES"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadMode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadMode.html new file mode 100644 index 00000000000..5b46434ea48 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentReadMode.html @@ -0,0 +1,4 @@ +DocumentReadMode | Amplify JS API Documentation +

    Enumeration Members

    FORCE_DOCUMENT_READ_ACTION: "FORCE_DOCUMENT_READ_ACTION"
    SERVICE_DEFAULT: "SERVICE_DEFAULT"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentType.html new file mode 100644 index 00000000000..163d5bf4a13 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.DocumentType.html @@ -0,0 +1,9 @@ +DocumentType | Amplify JS API Documentation +

    Enumeration Members

    IMAGE: "IMAGE"
    MS_WORD: "MS_WORD"
    NATIVE_PDF: "NATIVE_PDF"
    PLAIN_TEXT: "PLAIN_TEXT"
    SCANNED_PDF: "SCANNED_PDF"
    TEXTRACT_ANALYZE_DOCUMENT_JSON: "TEXTRACT_ANALYZE_DOCUMENT_JSON"
    TEXTRACT_DETECT_DOCUMENT_TEXT_JSON: "TEXTRACT_DETECT_DOCUMENT_TEXT_JSON"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EmotionName.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EmotionName.html new file mode 100644 index 00000000000..1c258b4542f --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EmotionName.html @@ -0,0 +1,11 @@ +EmotionName | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ANGRY: "ANGRY"
    CALM: "CALM"
    CONFUSED: "CONFUSED"
    DISGUSTED: "DISGUSTED"
    FEAR: "FEAR"
    HAPPY: "HAPPY"
    SAD: "SAD"
    SURPRISED: "SURPRISED"
    UNKNOWN: "UNKNOWN"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EndpointStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EndpointStatus.html new file mode 100644 index 00000000000..550b65e73de --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EndpointStatus.html @@ -0,0 +1,7 @@ +EndpointStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    CREATING: "CREATING"
    DELETING: "DELETING"
    FAILED: "FAILED"
    IN_SERVICE: "IN_SERVICE"
    UPDATING: "UPDATING"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Engine.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Engine.html new file mode 100644 index 00000000000..6ac9eed1a96 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Engine.html @@ -0,0 +1,6 @@ +Engine | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    GENERATIVE: "generative"
    LONG_FORM: "long-form"
    NEURAL: "neural"
    STANDARD: "standard"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityRecognizerDataFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityRecognizerDataFormat.html new file mode 100644 index 00000000000..c13880f43cd --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityRecognizerDataFormat.html @@ -0,0 +1,4 @@ +EntityRecognizerDataFormat | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    AUGMENTED_MANIFEST: "AUGMENTED_MANIFEST"
    COMPREHEND_CSV: "COMPREHEND_CSV"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityType-1.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityType-1.html new file mode 100644 index 00000000000..e33007e2ad1 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityType-1.html @@ -0,0 +1,11 @@ +EntityType | Amplify JS API Documentation +

    Enumeration Members

    COLUMN_HEADER: "COLUMN_HEADER"
    KEY: "KEY"
    SEMI_STRUCTURED_TABLE: "SEMI_STRUCTURED_TABLE"
    STRUCTURED_TABLE: "STRUCTURED_TABLE"
    TABLE_FOOTER: "TABLE_FOOTER"
    TABLE_SECTION_TITLE: "TABLE_SECTION_TITLE"
    TABLE_SUMMARY: "TABLE_SUMMARY"
    TABLE_TITLE: "TABLE_TITLE"
    VALUE: "VALUE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityType.html new file mode 100644 index 00000000000..3e450316341 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.EntityType.html @@ -0,0 +1,11 @@ +EntityType | Amplify JS API Documentation +

    Enumeration Members

    COMMERCIAL_ITEM: "COMMERCIAL_ITEM"
    DATE: "DATE"
    EVENT: "EVENT"
    LOCATION: "LOCATION"
    ORGANIZATION: "ORGANIZATION"
    OTHER: "OTHER"
    PERSON: "PERSON"
    QUANTITY: "QUANTITY"
    TITLE: "TITLE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FaceAttributes.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FaceAttributes.html new file mode 100644 index 00000000000..50fd039e966 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FaceAttributes.html @@ -0,0 +1,4 @@ +FaceAttributes | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ALL: "ALL"
    DEFAULT: "DEFAULT"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FaceSearchSortBy.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FaceSearchSortBy.html new file mode 100644 index 00000000000..e5d0b612ddf --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FaceSearchSortBy.html @@ -0,0 +1,4 @@ +FaceSearchSortBy | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    INDEX: "INDEX"
    TIMESTAMP: "TIMESTAMP"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FeatureType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FeatureType.html new file mode 100644 index 00000000000..08f2eab62cb --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FeatureType.html @@ -0,0 +1,7 @@ +FeatureType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    FORMS: "FORMS"
    LAYOUT: "LAYOUT"
    QUERIES: "QUERIES"
    SIGNATURES: "SIGNATURES"
    TABLES: "TABLES"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FlywheelIterationStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FlywheelIterationStatus.html new file mode 100644 index 00000000000..2bdb44a7d5e --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FlywheelIterationStatus.html @@ -0,0 +1,8 @@ +FlywheelIterationStatus | Amplify JS API Documentation +

    Enumeration Members

    COMPLETED: "COMPLETED"
    EVALUATING: "EVALUATING"
    FAILED: "FAILED"
    STOPPED: "STOPPED"
    STOP_REQUESTED: "STOP_REQUESTED"
    TRAINING: "TRAINING"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FlywheelStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FlywheelStatus.html new file mode 100644 index 00000000000..29dffb481eb --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.FlywheelStatus.html @@ -0,0 +1,7 @@ +FlywheelStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ACTIVE: "ACTIVE"
    CREATING: "CREATING"
    DELETING: "DELETING"
    FAILED: "FAILED"
    UPDATING: "UPDATING"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Formality.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Formality.html new file mode 100644 index 00000000000..10789d3aff4 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Formality.html @@ -0,0 +1,4 @@ +Formality | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    FORMAL: "FORMAL"
    INFORMAL: "INFORMAL"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Gender.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Gender.html new file mode 100644 index 00000000000..3f1b81e76eb --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Gender.html @@ -0,0 +1,4 @@ +Gender | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    Female: "Female"
    Male: "Male"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.GenderType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.GenderType.html new file mode 100644 index 00000000000..86a9cb644c7 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.GenderType.html @@ -0,0 +1,4 @@ +GenderType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    Female: "Female"
    Male: "Male"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.InputFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.InputFormat.html new file mode 100644 index 00000000000..600fe64c66b --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.InputFormat.html @@ -0,0 +1,4 @@ +InputFormat | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ONE_DOC_PER_FILE: "ONE_DOC_PER_FILE"
    ONE_DOC_PER_LINE: "ONE_DOC_PER_LINE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus-1.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus-1.html new file mode 100644 index 00000000000..d0f8cdf12f4 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus-1.html @@ -0,0 +1,6 @@ +JobStatus | Amplify JS API Documentation +

    Enumeration Members

    FAILED: "FAILED"
    IN_PROGRESS: "IN_PROGRESS"
    PARTIAL_SUCCESS: "PARTIAL_SUCCESS"
    SUCCEEDED: "SUCCEEDED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus-2.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus-2.html new file mode 100644 index 00000000000..704bd8e18ff --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus-2.html @@ -0,0 +1,8 @@ +JobStatus | Amplify JS API Documentation +

    Enumeration Members

    COMPLETED: "COMPLETED"
    FAILED: "FAILED"
    IN_PROGRESS: "IN_PROGRESS"
    STOPPED: "STOPPED"
    STOP_REQUESTED: "STOP_REQUESTED"
    SUBMITTED: "SUBMITTED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus.html new file mode 100644 index 00000000000..c9c42f3ee36 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.JobStatus.html @@ -0,0 +1,9 @@ +JobStatus | Amplify JS API Documentation +

    Enumeration Members

    COMPLETED: "COMPLETED"
    COMPLETED_WITH_ERROR: "COMPLETED_WITH_ERROR"
    FAILED: "FAILED"
    IN_PROGRESS: "IN_PROGRESS"
    STOPPED: "STOPPED"
    STOP_REQUESTED: "STOP_REQUESTED"
    SUBMITTED: "SUBMITTED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.KnownGenderType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.KnownGenderType.html new file mode 100644 index 00000000000..26937941c94 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.KnownGenderType.html @@ -0,0 +1,6 @@ +KnownGenderType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    Female: "Female"
    Male: "Male"
    Nonbinary: "Nonbinary"
    Unlisted: "Unlisted"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LabelDetectionAggregateBy.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LabelDetectionAggregateBy.html new file mode 100644 index 00000000000..956a6e695fd --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LabelDetectionAggregateBy.html @@ -0,0 +1,4 @@ +LabelDetectionAggregateBy | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    SEGMENTS: "SEGMENTS"
    TIMESTAMPS: "TIMESTAMPS"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LabelDetectionSortBy.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LabelDetectionSortBy.html new file mode 100644 index 00000000000..2fc20a4104b --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LabelDetectionSortBy.html @@ -0,0 +1,4 @@ +LabelDetectionSortBy | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    NAME: "NAME"
    TIMESTAMP: "TIMESTAMP"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LandmarkType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LandmarkType.html new file mode 100644 index 00000000000..c012ab371d6 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LandmarkType.html @@ -0,0 +1,32 @@ +LandmarkType | Amplify JS API Documentation +

    Enumeration Members

    chinBottom: "chinBottom"
    eyeLeft: "eyeLeft"
    eyeRight: "eyeRight"
    leftEyeBrowLeft: "leftEyeBrowLeft"
    leftEyeBrowRight: "leftEyeBrowRight"
    leftEyeBrowUp: "leftEyeBrowUp"
    leftEyeDown: "leftEyeDown"
    leftEyeLeft: "leftEyeLeft"
    leftEyeRight: "leftEyeRight"
    leftEyeUp: "leftEyeUp"
    leftPupil: "leftPupil"
    midJawlineLeft: "midJawlineLeft"
    midJawlineRight: "midJawlineRight"
    mouthDown: "mouthDown"
    mouthLeft: "mouthLeft"
    mouthRight: "mouthRight"
    mouthUp: "mouthUp"
    nose: "nose"
    noseLeft: "noseLeft"
    noseRight: "noseRight"
    rightEyeBrowLeft: "rightEyeBrowLeft"
    rightEyeBrowRight: "rightEyeBrowRight"
    rightEyeBrowUp: "rightEyeBrowUp"
    rightEyeDown: "rightEyeDown"
    rightEyeLeft: "rightEyeLeft"
    rightEyeRight: "rightEyeRight"
    rightEyeUp: "rightEyeUp"
    rightPupil: "rightPupil"
    upperJawlineLeft: "upperJawlineLeft"
    upperJawlineRight: "upperJawlineRight"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LanguageCode-1.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LanguageCode-1.html new file mode 100644 index 00000000000..b3b4b453e52 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LanguageCode-1.html @@ -0,0 +1,14 @@ +LanguageCode | Amplify JS API Documentation +

    Enumeration Members

    AR +DE +EN +ES +FR +HI +IT +JA +KO +PT +ZH +ZH_TW +

    Enumeration Members

    AR: "ar"
    DE: "de"
    EN: "en"
    ES: "es"
    FR: "fr"
    HI: "hi"
    IT: "it"
    JA: "ja"
    KO: "ko"
    PT: "pt"
    ZH: "zh"
    ZH_TW: "zh-TW"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LanguageCode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LanguageCode.html new file mode 100644 index 00000000000..6bd631fc627 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LanguageCode.html @@ -0,0 +1,41 @@ +LanguageCode | Amplify JS API Documentation +

    Enumeration Members

    ar_AE: "ar-AE"
    arb: "arb"
    ca_ES: "ca-ES"
    cmn_CN: "cmn-CN"
    cy_GB: "cy-GB"
    da_DK: "da-DK"
    de_AT: "de-AT"
    de_DE: "de-DE"
    en_AU: "en-AU"
    en_GB: "en-GB"
    en_GB_WLS: "en-GB-WLS"
    en_IE: "en-IE"
    en_IN: "en-IN"
    en_NZ: "en-NZ"
    en_US: "en-US"
    en_ZA: "en-ZA"
    es_ES: "es-ES"
    es_MX: "es-MX"
    es_US: "es-US"
    fi_FI: "fi-FI"
    fr_BE: "fr-BE"
    fr_CA: "fr-CA"
    fr_FR: "fr-FR"
    hi_IN: "hi-IN"
    is_IS: "is-IS"
    it_IT: "it-IT"
    ja_JP: "ja-JP"
    ko_KR: "ko-KR"
    nb_NO: "nb-NO"
    nl_BE: "nl-BE"
    nl_NL: "nl-NL"
    pl_PL: "pl-PL"
    pt_BR: "pt-BR"
    pt_PT: "pt-PT"
    ro_RO: "ro-RO"
    ru_RU: "ru-RU"
    sv_SE: "sv-SE"
    tr_TR: "tr-TR"
    yue_CN: "yue-CN"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LivenessSessionStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LivenessSessionStatus.html new file mode 100644 index 00000000000..ec839c5c293 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.LivenessSessionStatus.html @@ -0,0 +1,7 @@ +LivenessSessionStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    CREATED: "CREATED"
    EXPIRED: "EXPIRED"
    FAILED: "FAILED"
    IN_PROGRESS: "IN_PROGRESS"
    SUCCEEDED: "SUCCEEDED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobFailureCode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobFailureCode.html new file mode 100644 index 00000000000..4e37aa78a68 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobFailureCode.html @@ -0,0 +1,11 @@ +MediaAnalysisJobFailureCode | Amplify JS API Documentation +

    Enumeration Members

    ACCESS_DENIED: "ACCESS_DENIED"
    INTERNAL_ERROR: "INTERNAL_ERROR"
    INVALID_KMS_KEY: "INVALID_KMS_KEY"
    INVALID_MANIFEST: "INVALID_MANIFEST"
    INVALID_OUTPUT_CONFIG: "INVALID_OUTPUT_CONFIG"
    INVALID_S3_OBJECT: "INVALID_S3_OBJECT"
    RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND"
    RESOURCE_NOT_READY: "RESOURCE_NOT_READY"
    THROTTLED: "THROTTLED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobStatus.html new file mode 100644 index 00000000000..8bbb7177490 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobStatus.html @@ -0,0 +1,7 @@ +MediaAnalysisJobStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    CREATED: "CREATED"
    FAILED: "FAILED"
    IN_PROGRESS: "IN_PROGRESS"
    QUEUED: "QUEUED"
    SUCCEEDED: "SUCCEEDED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ModelStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ModelStatus.html new file mode 100644 index 00000000000..56df1507e2b --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ModelStatus.html @@ -0,0 +1,10 @@ +ModelStatus | Amplify JS API Documentation +

    Enumeration Members

    DELETING: "DELETING"
    IN_ERROR: "IN_ERROR"
    STOPPED: "STOPPED"
    STOP_REQUESTED: "STOP_REQUESTED"
    SUBMITTED: "SUBMITTED"
    TRAINED: "TRAINED"
    TRAINED_WITH_WARNING: "TRAINED_WITH_WARNING"
    TRAINING: "TRAINING"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ModelType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ModelType.html new file mode 100644 index 00000000000..e70a53ae89e --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ModelType.html @@ -0,0 +1,4 @@ +ModelType | Amplify JS API Documentation +

    Enumeration Members

    DOCUMENT_CLASSIFIER: "DOCUMENT_CLASSIFIER"
    ENTITY_RECOGNIZER: "ENTITY_RECOGNIZER"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.OrientationCorrection.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.OrientationCorrection.html new file mode 100644 index 00000000000..7f11ee0377d --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.OrientationCorrection.html @@ -0,0 +1,6 @@ +OrientationCorrection | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ROTATE_0: "ROTATE_0"
    ROTATE_180: "ROTATE_180"
    ROTATE_270: "ROTATE_270"
    ROTATE_90: "ROTATE_90"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.OutputFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.OutputFormat.html new file mode 100644 index 00000000000..2a9a8332840 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.OutputFormat.html @@ -0,0 +1,6 @@ +OutputFormat | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    JSON: "json"
    MP3: "mp3"
    OGG_VORBIS: "ogg_vorbis"
    PCM: "pcm"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PageBasedErrorCode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PageBasedErrorCode.html new file mode 100644 index 00000000000..f9e566b8ec6 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PageBasedErrorCode.html @@ -0,0 +1,7 @@ +PageBasedErrorCode | Amplify JS API Documentation +

    Enumeration Members

    INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR"
    PAGE_CHARACTERS_EXCEEDED: "PAGE_CHARACTERS_EXCEEDED"
    PAGE_SIZE_EXCEEDED: "PAGE_SIZE_EXCEEDED"
    TEXTRACT_BAD_PAGE: "TEXTRACT_BAD_PAGE"
    TEXTRACT_PROVISIONED_THROUGHPUT_EXCEEDED: "TEXTRACT_PROVISIONED_THROUGHPUT_EXCEEDED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PageBasedWarningCode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PageBasedWarningCode.html new file mode 100644 index 00000000000..b44c1c97092 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PageBasedWarningCode.html @@ -0,0 +1,4 @@ +PageBasedWarningCode | Amplify JS API Documentation +

    Enumeration Members

    INFERENCING_NATIVE_DOCUMENT_WITH_PLAINTEXT_TRAINED_MODEL: "INFERENCING_NATIVE_DOCUMENT_WITH_PLAINTEXT_TRAINED_MODEL"
    INFERENCING_PLAINTEXT_WITH_NATIVE_TRAINED_MODEL: "INFERENCING_PLAINTEXT_WITH_NATIVE_TRAINED_MODEL"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ParallelDataFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ParallelDataFormat.html new file mode 100644 index 00000000000..9800dbb0e70 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ParallelDataFormat.html @@ -0,0 +1,5 @@ +ParallelDataFormat | Amplify JS API Documentation +

    Enumeration Members

    CSV +TMX +TSV +

    Enumeration Members

    CSV: "CSV"
    TMX: "TMX"
    TSV: "TSV"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ParallelDataStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ParallelDataStatus.html new file mode 100644 index 00000000000..a50071dbd62 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ParallelDataStatus.html @@ -0,0 +1,7 @@ +ParallelDataStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ACTIVE: "ACTIVE"
    CREATING: "CREATING"
    DELETING: "DELETING"
    FAILED: "FAILED"
    UPDATING: "UPDATING"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PartOfSpeechTagType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PartOfSpeechTagType.html new file mode 100644 index 00000000000..7f070841d48 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PartOfSpeechTagType.html @@ -0,0 +1,20 @@ +PartOfSpeechTagType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ADJ: "ADJ"
    ADP: "ADP"
    ADV: "ADV"
    AUX: "AUX"
    CCONJ: "CCONJ"
    CONJ: "CONJ"
    DET: "DET"
    INTJ: "INTJ"
    NOUN: "NOUN"
    NUM: "NUM"
    O: "O"
    PART: "PART"
    PRON: "PRON"
    PROPN: "PROPN"
    PUNCT: "PUNCT"
    SCONJ: "SCONJ"
    SYM: "SYM"
    VERB: "VERB"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PersonTrackingSortBy.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PersonTrackingSortBy.html new file mode 100644 index 00000000000..b4d69b8ee8b --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PersonTrackingSortBy.html @@ -0,0 +1,4 @@ +PersonTrackingSortBy | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    INDEX: "INDEX"
    TIMESTAMP: "TIMESTAMP"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionMaskMode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionMaskMode.html new file mode 100644 index 00000000000..d4fecb100ad --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionMaskMode.html @@ -0,0 +1,4 @@ +PiiEntitiesDetectionMaskMode | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    MASK: "MASK"
    REPLACE_WITH_PII_ENTITY_TYPE: "REPLACE_WITH_PII_ENTITY_TYPE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionMode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionMode.html new file mode 100644 index 00000000000..5345b5dca7b --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionMode.html @@ -0,0 +1,4 @@ +PiiEntitiesDetectionMode | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ONLY_OFFSETS: "ONLY_OFFSETS"
    ONLY_REDACTION: "ONLY_REDACTION"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntityType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntityType.html new file mode 100644 index 00000000000..794350eeff6 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.PiiEntityType.html @@ -0,0 +1,39 @@ +PiiEntityType | Amplify JS API Documentation +

    Enumeration Members

    ADDRESS: "ADDRESS"
    AGE: "AGE"
    ALL: "ALL"
    AWS_ACCESS_KEY: "AWS_ACCESS_KEY"
    AWS_SECRET_KEY: "AWS_SECRET_KEY"
    BANK_ACCOUNT_NUMBER: "BANK_ACCOUNT_NUMBER"
    BANK_ROUTING: "BANK_ROUTING"
    CA_HEALTH_NUMBER: "CA_HEALTH_NUMBER"
    CA_SOCIAL_INSURANCE_NUMBER: "CA_SOCIAL_INSURANCE_NUMBER"
    CREDIT_DEBIT_CVV: "CREDIT_DEBIT_CVV"
    CREDIT_DEBIT_EXPIRY: "CREDIT_DEBIT_EXPIRY"
    CREDIT_DEBIT_NUMBER: "CREDIT_DEBIT_NUMBER"
    DATE_TIME: "DATE_TIME"
    DRIVER_ID: "DRIVER_ID"
    EMAIL: "EMAIL"
    INTERNATIONAL_BANK_ACCOUNT_NUMBER: "INTERNATIONAL_BANK_ACCOUNT_NUMBER"
    IN_AADHAAR: "IN_AADHAAR"
    IN_NREGA: "IN_NREGA"
    IN_PERMANENT_ACCOUNT_NUMBER: "IN_PERMANENT_ACCOUNT_NUMBER"
    IN_VOTER_NUMBER: "IN_VOTER_NUMBER"
    IP_ADDRESS: "IP_ADDRESS"
    LICENSE_PLATE: "LICENSE_PLATE"
    MAC_ADDRESS: "MAC_ADDRESS"
    NAME: "NAME"
    PASSPORT_NUMBER: "PASSPORT_NUMBER"
    PASSWORD: "PASSWORD"
    PHONE: "PHONE"
    PIN: "PIN"
    SSN: "SSN"
    SWIFT_CODE: "SWIFT_CODE"
    UK_NATIONAL_HEALTH_SERVICE_NUMBER: "UK_NATIONAL_HEALTH_SERVICE_NUMBER"
    UK_NATIONAL_INSURANCE_NUMBER: "UK_NATIONAL_INSURANCE_NUMBER"
    UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER: "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER"
    URL: "URL"
    USERNAME: "USERNAME"
    US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER: "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER"
    VEHICLE_IDENTIFICATION_NUMBER: "VEHICLE_IDENTIFICATION_NUMBER"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectAutoUpdate.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectAutoUpdate.html new file mode 100644 index 00000000000..45f64c5016e --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectAutoUpdate.html @@ -0,0 +1,4 @@ +ProjectAutoUpdate | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    DISABLED: "DISABLED"
    ENABLED: "ENABLED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectStatus.html new file mode 100644 index 00000000000..360d75165e2 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectStatus.html @@ -0,0 +1,5 @@ +ProjectStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    CREATED: "CREATED"
    CREATING: "CREATING"
    DELETING: "DELETING"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectVersionStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectVersionStatus.html new file mode 100644 index 00000000000..af23f482f95 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProjectVersionStatus.html @@ -0,0 +1,16 @@ +ProjectVersionStatus | Amplify JS API Documentation +

    Enumeration Members

    COPYING_COMPLETED: "COPYING_COMPLETED"
    COPYING_FAILED: "COPYING_FAILED"
    COPYING_IN_PROGRESS: "COPYING_IN_PROGRESS"
    DELETING: "DELETING"
    DEPRECATED: "DEPRECATED"
    EXPIRED: "EXPIRED"
    FAILED: "FAILED"
    RUNNING: "RUNNING"
    STARTING: "STARTING"
    STOPPED: "STOPPED"
    STOPPING: "STOPPING"
    TRAINING_COMPLETED: "TRAINING_COMPLETED"
    TRAINING_FAILED: "TRAINING_FAILED"
    TRAINING_IN_PROGRESS: "TRAINING_IN_PROGRESS"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentType.html new file mode 100644 index 00000000000..c410f783eba --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentType.html @@ -0,0 +1,5 @@ +ProtectiveEquipmentType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    FACE_COVER: "FACE_COVER"
    HAND_COVER: "HAND_COVER"
    HEAD_COVER: "HEAD_COVER"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.QualityFilter.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.QualityFilter.html new file mode 100644 index 00000000000..c31b8aaa301 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.QualityFilter.html @@ -0,0 +1,7 @@ +QualityFilter | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    AUTO: "AUTO"
    HIGH: "HIGH"
    LOW: "LOW"
    MEDIUM: "MEDIUM"
    NONE: "NONE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Reason.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Reason.html new file mode 100644 index 00000000000..fa7255ad1ec --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Reason.html @@ -0,0 +1,9 @@ +Reason | Amplify JS API Documentation +

    Enumeration Members

    EXCEEDS_MAX_FACES: "EXCEEDS_MAX_FACES"
    EXTREME_POSE: "EXTREME_POSE"
    LOW_BRIGHTNESS: "LOW_BRIGHTNESS"
    LOW_CONFIDENCE: "LOW_CONFIDENCE"
    LOW_FACE_QUALITY: "LOW_FACE_QUALITY"
    LOW_SHARPNESS: "LOW_SHARPNESS"
    SMALL_BOUNDING_BOX: "SMALL_BOUNDING_BOX"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.RelationshipType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.RelationshipType.html new file mode 100644 index 00000000000..28d13a47926 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.RelationshipType.html @@ -0,0 +1,11 @@ +RelationshipType | Amplify JS API Documentation +

    Enumeration Members

    ANSWER: "ANSWER"
    CHILD: "CHILD"
    COMPLEX_FEATURES: "COMPLEX_FEATURES"
    MERGED_CELL: "MERGED_CELL"
    TABLE: "TABLE"
    TABLE_FOOTER: "TABLE_FOOTER"
    TABLE_TITLE: "TABLE_TITLE"
    TITLE: "TITLE"
    VALUE: "VALUE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SegmentType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SegmentType.html new file mode 100644 index 00000000000..2fdce8ddef2 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SegmentType.html @@ -0,0 +1,4 @@ +SegmentType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    SHOT: "SHOT"
    TECHNICAL_CUE: "TECHNICAL_CUE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SelectionStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SelectionStatus.html new file mode 100644 index 00000000000..dfc1639afaa --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SelectionStatus.html @@ -0,0 +1,4 @@ +SelectionStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    NOT_SELECTED: "NOT_SELECTED"
    SELECTED: "SELECTED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SentimentType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SentimentType.html new file mode 100644 index 00000000000..de51c9423b9 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SentimentType.html @@ -0,0 +1,6 @@ +SentimentType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    MIXED: "MIXED"
    NEGATIVE: "NEGATIVE"
    NEUTRAL: "NEUTRAL"
    POSITIVE: "POSITIVE"
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsAuthInputConfig.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SpeechMarkType.html similarity index 54% rename from docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsAuthInputConfig.html rename to docs/api/enums/_aws_amplify_predictions._Reference_Types_.SpeechMarkType.html index 8112d67f616..fa1f4b0c9d4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsAuthInputConfig.html +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SpeechMarkType.html @@ -1,13 +1,6 @@ -AwsAuthInputConfig | Amplify JS API Documentation -
    interface AwsAuthInputConfig {
        credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
        signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>);
        signingEscapePath?: boolean;
        signingRegion?: string;
        systemClockOffset?: number;
    }

    Properties

    The credentials used to sign requests.

    -
    signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>)

    The signer to use when signing requests.

    -

    Type declaration

    signingEscapePath?: boolean

    Whether to escape request path when signing the request.

    -
    signingRegion?: string

    The region where you want to sign your request against. This -can be different to the region in the endpoint.

    -
    systemClockOffset?: number

    An offset value in milliseconds to apply to all signing times.

    -
    \ No newline at end of file +SpeechMarkType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    SENTENCE: "sentence"
    SSML: "ssml"
    VISEME: "viseme"
    WORD: "word"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Split.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Split.html new file mode 100644 index 00000000000..d2ea11378bd --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.Split.html @@ -0,0 +1,4 @@ +Split | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    TEST: "TEST"
    TRAIN: "TRAIN"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.StreamProcessorParameterToDelete.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.StreamProcessorParameterToDelete.html new file mode 100644 index 00000000000..8d0b59d0ff5 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.StreamProcessorParameterToDelete.html @@ -0,0 +1,4 @@ +StreamProcessorParameterToDelete | Amplify JS API Documentation +

    Enumeration Members

    ConnectedHomeMinConfidence: "ConnectedHomeMinConfidence"
    RegionsOfInterest: "RegionsOfInterest"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.StreamProcessorStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.StreamProcessorStatus.html new file mode 100644 index 00000000000..128bb530bc6 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.StreamProcessorStatus.html @@ -0,0 +1,8 @@ +StreamProcessorStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    FAILED: "FAILED"
    RUNNING: "RUNNING"
    STARTING: "STARTING"
    STOPPED: "STOPPED"
    STOPPING: "STOPPING"
    UPDATING: "UPDATING"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SyntaxLanguageCode.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SyntaxLanguageCode.html new file mode 100644 index 00000000000..fe9533cb217 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.SyntaxLanguageCode.html @@ -0,0 +1,8 @@ +SyntaxLanguageCode | Amplify JS API Documentation +

    Enumeration Members

    DE +EN +ES +FR +IT +PT +

    Enumeration Members

    DE: "de"
    EN: "en"
    ES: "es"
    FR: "fr"
    IT: "it"
    PT: "pt"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TargetedSentimentEntityType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TargetedSentimentEntityType.html new file mode 100644 index 00000000000..6bd7edc7e97 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TargetedSentimentEntityType.html @@ -0,0 +1,19 @@ +TargetedSentimentEntityType | Amplify JS API Documentation +

    Enumeration Members

    ATTRIBUTE: "ATTRIBUTE"
    BOOK: "BOOK"
    BRAND: "BRAND"
    COMMERCIAL_ITEM: "COMMERCIAL_ITEM"
    DATE: "DATE"
    EVENT: "EVENT"
    FACILITY: "FACILITY"
    GAME: "GAME"
    LOCATION: "LOCATION"
    MOVIE: "MOVIE"
    MUSIC: "MUSIC"
    ORGANIZATION: "ORGANIZATION"
    OTHER: "OTHER"
    PERSON: "PERSON"
    PERSONAL_TITLE: "PERSONAL_TITLE"
    QUANTITY: "QUANTITY"
    SOFTWARE: "SOFTWARE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TaskStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TaskStatus.html new file mode 100644 index 00000000000..7e6e01fe7b0 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TaskStatus.html @@ -0,0 +1,6 @@ +TaskStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    COMPLETED: "completed"
    FAILED: "failed"
    IN_PROGRESS: "inProgress"
    SCHEDULED: "scheduled"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TechnicalCueType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TechnicalCueType.html new file mode 100644 index 00000000000..9c5d6152447 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TechnicalCueType.html @@ -0,0 +1,9 @@ +TechnicalCueType | Amplify JS API Documentation +

    Enumeration Members

    BLACK_FRAMES: "BlackFrames"
    COLOR_BARS: "ColorBars"
    CONTENT: "Content"
    END_CREDITS: "EndCredits"
    OPENING_CREDITS: "OpeningCredits"
    SLATE: "Slate"
    STUDIO_LOGO: "StudioLogo"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TerminologyDataFormat.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TerminologyDataFormat.html new file mode 100644 index 00000000000..d508165ef8d --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TerminologyDataFormat.html @@ -0,0 +1,5 @@ +TerminologyDataFormat | Amplify JS API Documentation +

    Enumeration Members

    CSV +TMX +TSV +

    Enumeration Members

    CSV: "CSV"
    TMX: "TMX"
    TSV: "TSV"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextType-1.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextType-1.html new file mode 100644 index 00000000000..911093f23f7 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextType-1.html @@ -0,0 +1,4 @@ +TextType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    HANDWRITING: "HANDWRITING"
    PRINTED: "PRINTED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextType.html new file mode 100644 index 00000000000..a08ec6b69ea --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextType.html @@ -0,0 +1,4 @@ +TextType | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    SSML: "ssml"
    TEXT: "text"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextTypes.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextTypes.html new file mode 100644 index 00000000000..0cb0c47fc2d --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.TextTypes.html @@ -0,0 +1,4 @@ +TextTypes | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    LINE: "LINE"
    WORD: "WORD"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ToxicContentType.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ToxicContentType.html new file mode 100644 index 00000000000..a63653c5e42 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.ToxicContentType.html @@ -0,0 +1,9 @@ +ToxicContentType | Amplify JS API Documentation +

    Enumeration Members

    GRAPHIC: "GRAPHIC"
    HARASSMENT_OR_ABUSE: "HARASSMENT_OR_ABUSE"
    HATE_SPEECH: "HATE_SPEECH"
    INSULT: "INSULT"
    PROFANITY: "PROFANITY"
    SEXUAL: "SEXUAL"
    VIOLENCE_OR_THREAT: "VIOLENCE_OR_THREAT"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsearchedFaceReason.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsearchedFaceReason.html new file mode 100644 index 00000000000..86901186d0a --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsearchedFaceReason.html @@ -0,0 +1,10 @@ +UnsearchedFaceReason | Amplify JS API Documentation +

    Enumeration Members

    EXCEEDS_MAX_FACES: "EXCEEDS_MAX_FACES"
    EXTREME_POSE: "EXTREME_POSE"
    FACE_NOT_LARGEST: "FACE_NOT_LARGEST"
    LOW_BRIGHTNESS: "LOW_BRIGHTNESS"
    LOW_CONFIDENCE: "LOW_CONFIDENCE"
    LOW_FACE_QUALITY: "LOW_FACE_QUALITY"
    LOW_SHARPNESS: "LOW_SHARPNESS"
    SMALL_BOUNDING_BOX: "SMALL_BOUNDING_BOX"
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_._DOMEventTarget.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceAssociationReason.html similarity index 66% rename from docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_._DOMEventTarget.html rename to docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceAssociationReason.html index 18fa1b823e8..1c67d4f0256 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_._DOMEventTarget.html +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceAssociationReason.html @@ -1,3 +1,5 @@ -_DOMEventTarget | Amplify JS API Documentation -
    interface _DOMEventTarget {
        addEventListener(eventName, listener, opts?): any;
    }

    Methods

    • Parameters

      • eventName: string
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      • Optional opts: {
            once: boolean;
        }
        • once: boolean

      Returns any

    \ No newline at end of file +UnsuccessfulFaceAssociationReason | Amplify JS API Documentation +

    Enumeration Members

    ASSOCIATED_TO_A_DIFFERENT_USER: "ASSOCIATED_TO_A_DIFFERENT_USER"
    FACE_NOT_FOUND: "FACE_NOT_FOUND"
    LOW_MATCH_CONFIDENCE: "LOW_MATCH_CONFIDENCE"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceDeletionReason.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceDeletionReason.html new file mode 100644 index 00000000000..e0daab1b4f0 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceDeletionReason.html @@ -0,0 +1,4 @@ +UnsuccessfulFaceDeletionReason | Amplify JS API Documentation +

    Enumeration Members

    ASSOCIATED_TO_AN_EXISTING_USER: "ASSOCIATED_TO_AN_EXISTING_USER"
    FACE_NOT_FOUND: "FACE_NOT_FOUND"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceDisassociationReason.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceDisassociationReason.html new file mode 100644 index 00000000000..37e1313b679 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UnsuccessfulFaceDisassociationReason.html @@ -0,0 +1,4 @@ +UnsuccessfulFaceDisassociationReason | Amplify JS API Documentation +

    Enumeration Members

    ASSOCIATED_TO_A_DIFFERENT_USER: "ASSOCIATED_TO_A_DIFFERENT_USER"
    FACE_NOT_FOUND: "FACE_NOT_FOUND"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UserStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UserStatus.html new file mode 100644 index 00000000000..b7262129e7d --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.UserStatus.html @@ -0,0 +1,6 @@ +UserStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    ACTIVE: "ACTIVE"
    CREATED: "CREATED"
    CREATING: "CREATING"
    UPDATING: "UPDATING"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VideoColorRange.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VideoColorRange.html new file mode 100644 index 00000000000..d0dfa63e390 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VideoColorRange.html @@ -0,0 +1,4 @@ +VideoColorRange | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    FULL: "FULL"
    LIMITED: "LIMITED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VideoJobStatus.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VideoJobStatus.html new file mode 100644 index 00000000000..a7991c2940d --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VideoJobStatus.html @@ -0,0 +1,5 @@ +VideoJobStatus | Amplify JS API Documentation +

    Enumeration Members

    Enumeration Members

    FAILED: "FAILED"
    IN_PROGRESS: "IN_PROGRESS"
    SUCCEEDED: "SUCCEEDED"
    \ No newline at end of file diff --git a/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VoiceId.html b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VoiceId.html new file mode 100644 index 00000000000..ce85f8be808 --- /dev/null +++ b/docs/api/enums/_aws_amplify_predictions._Reference_Types_.VoiceId.html @@ -0,0 +1,98 @@ +VoiceId | Amplify JS API Documentation +

    Enumeration Members

    Aditi: "Aditi"
    Adriano: "Adriano"
    Amy: "Amy"
    Andres: "Andres"
    Aria: "Aria"
    Arlet: "Arlet"
    Arthur: "Arthur"
    Astrid: "Astrid"
    Ayanda: "Ayanda"
    Bianca: "Bianca"
    Brian: "Brian"
    Burcu: "Burcu"
    Camila: "Camila"
    Carla: "Carla"
    Carmen: "Carmen"
    Celine: "Celine"
    Chantal: "Chantal"
    Conchita: "Conchita"
    Cristiano: "Cristiano"
    Daniel: "Daniel"
    Danielle: "Danielle"
    Dora: "Dora"
    Elin: "Elin"
    Emma: "Emma"
    Enrique: "Enrique"
    Ewa: "Ewa"
    Filiz: "Filiz"
    Gabrielle: "Gabrielle"
    Geraint: "Geraint"
    Giorgio: "Giorgio"
    Gregory: "Gregory"
    Gwyneth: "Gwyneth"
    Hala: "Hala"
    Hannah: "Hannah"
    Hans: "Hans"
    Hiujin: "Hiujin"
    Ida: "Ida"
    Ines: "Ines"
    Isabelle: "Isabelle"
    Ivy: "Ivy"
    Jacek: "Jacek"
    Jan: "Jan"
    Joanna: "Joanna"
    Joey: "Joey"
    Justin: "Justin"
    Kajal: "Kajal"
    Karl: "Karl"
    Kazuha: "Kazuha"
    Kendra: "Kendra"
    Kevin: "Kevin"
    Kimberly: "Kimberly"
    Laura: "Laura"
    Lea: "Lea"
    Liam: "Liam"
    Lisa: "Lisa"
    Liv: "Liv"
    Lotte: "Lotte"
    Lucia: "Lucia"
    Lupe: "Lupe"
    Mads: "Mads"
    Maja: "Maja"
    Marlene: "Marlene"
    Mathieu: "Mathieu"
    Matthew: "Matthew"
    Maxim: "Maxim"
    Mia: "Mia"
    Miguel: "Miguel"
    Mizuki: "Mizuki"
    Naja: "Naja"
    Niamh: "Niamh"
    Nicole: "Nicole"
    Ola: "Ola"
    Olivia: "Olivia"
    Pedro: "Pedro"
    Penelope: "Penelope"
    Raveena: "Raveena"
    Remi: "Remi"
    Ricardo: "Ricardo"
    Ruben: "Ruben"
    Russell: "Russell"
    Ruth: "Ruth"
    Salli: "Salli"
    Seoyeon: "Seoyeon"
    Sergio: "Sergio"
    Sofie: "Sofie"
    Stephen: "Stephen"
    Suvi: "Suvi"
    Takumi: "Takumi"
    Tatyana: "Tatyana"
    Thiago: "Thiago"
    Tomoko: "Tomoko"
    Vicki: "Vicki"
    Vitoria: "Vitoria"
    Zayd: "Zayd"
    Zeina: "Zeina"
    Zhiyu: "Zhiyu"
    \ No newline at end of file diff --git a/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.addAbortSignal.html b/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.addAbortSignal.html index 6a1b2371848..30b65186595 100644 --- a/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.addAbortSignal.html +++ b/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.addAbortSignal.html @@ -2,7 +2,8 @@
    • A stream to attach a signal to.

      Attaches an AbortSignal to a readable or writeable stream. This lets code control stream destruction using an AbortController.

      -

      Calling abort on the AbortController corresponding to the passedAbortSignal will behave the same way as calling .destroy(new AbortError())on the stream, and controller.error(new AbortError()) for webstreams.

      +

      Calling abort on the AbortController corresponding to the passed AbortSignal will behave the same way as calling .destroy(new AbortError()) on the +stream, and controller.error(new AbortError()) for webstreams.

      const fs = require('node:fs');

      const controller = new AbortController();
      const read = addAbortSignal(
      controller.signal,
      fs.createReadStream(('object.json')),
      );
      // Later, abort the operation closing the stream
      controller.abort();

      Or using an AbortSignal with a readable stream as an async iterable:

      @@ -12,6 +13,6 @@
      const controller = new AbortController();
      const rs = new ReadableStream({
      start(controller) {
      controller.enqueue('hello');
      controller.enqueue('world');
      controller.close();
      },
      });

      addAbortSignal(controller.signal, rs);

      finished(rs, (err) => {
      if (err) {
      if (err.name === 'AbortError') {
      // The operation was cancelled
      }
      }
      });

      const reader = rs.getReader();

      reader.read().then(({ value, done }) => {
      console.log(value); // hello
      console.log(done); // false
      controller.abort();
      });

      Type Parameters

      Parameters

      • signal: AbortSignal

        A signal representing possible cancellation

        -
      • stream: T

        a stream to attach a signal to

        +
      • stream: T

        A stream to attach a signal to.

      Returns T

      Since

      v15.4.0

    \ No newline at end of file diff --git a/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.finished-1.html b/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.finished-1.html index 648803aca6a..b7b64cd138f 100644 --- a/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.finished-1.html +++ b/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.finished-1.html @@ -5,9 +5,9 @@
    const { finished } = require('node:stream');
    const fs = require('node:fs');

    const rs = fs.createReadStream('archive.tar');

    finished(rs, (err) => {
    if (err) {
    console.error('Stream failed.', err);
    } else {
    console.log('Stream is done reading.');
    }
    });

    rs.resume(); // Drain the stream.

    Especially useful in error handling scenarios where a stream is destroyed -prematurely (like an aborted HTTP request), and will not emit 'end'or 'finish'.

    -

    The finished API provides promise version.

    -

    stream.finished() leaves dangling event listeners (in particular'error', 'end', 'finish' and 'close') after callback has been +prematurely (like an aborted HTTP request), and will not emit 'end' or 'finish'.

    +

    The finished API provides promise version.

    +

    stream.finished() leaves dangling event listeners (in particular 'error', 'end', 'finish' and 'close') after callback has been invoked. The reason for this is so that unexpected 'error' events (due to incorrect stream implementations) do not cause unexpected crashes. If this is unwanted behavior then the returned cleanup function needs to be diff --git a/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.pipeline-1.html b/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.pipeline-1.html index 7915032a224..74bdb125ec3 100644 --- a/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.pipeline-1.html +++ b/docs/api/functions/_aws_amplify_adapter_nextjs.index._Reference_Types_.internal.pipeline-1.html @@ -1,9 +1,9 @@ pipeline | Amplify JS API Documentation -

    \ No newline at end of file diff --git a/docs/api/hierarchy.html b/docs/api/hierarchy.html index e7e829e70a9..2a8e6fb4c81 100644 --- a/docs/api/hierarchy.html +++ b/docs/api/hierarchy.html @@ -1,2 +1,2 @@ Amplify JS API Documentation -

    Amplify JS API Documentation

    Class Hierarchy

    \ No newline at end of file +

    Amplify JS API Documentation

    Class Hierarchy

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.api._Reference_Types_.CognitoUserPoolConfig.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.api._Reference_Types_.CognitoUserPoolConfig.html index 67977061ce3..15628be2b3f 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.api._Reference_Types_.CognitoUserPoolConfig.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.api._Reference_Types_.CognitoUserPoolConfig.html @@ -1,5 +1,5 @@ CognitoUserPoolConfig | Amplify JS API Documentation -
    interface CognitoUserPoolConfig {
        loginWith?: {
            email?: boolean;
            oauth?: OAuthConfig;
            phone?: boolean;
            username?: boolean;
        };
        mfa?: {
            smsEnabled?: boolean;
            status?: CognitoUserPoolConfigMfaStatus;
            totpEnabled?: boolean;
        };
        passwordFormat?: {
            minLength?: number;
            requireLowercase?: boolean;
            requireNumbers?: boolean;
            requireSpecialCharacters?: boolean;
            requireUppercase?: boolean;
        };
        signUpVerificationMethod?: "code" | "link";
        userAttributes?: Partial<Record<AuthStandardAttributeKey, {
            required: boolean;
        }>>;
        userPoolClientId: string;
        userPoolEndpoint?: string;
        userPoolId: string;
    }

    Properties

    loginWith? +
    interface CognitoUserPoolConfig {
        loginWith?: {
            email?: boolean;
            oauth?: OAuthConfig;
            phone?: boolean;
            username?: boolean;
        };
        mfa?: {
            smsEnabled?: boolean;
            status?: CognitoUserPoolConfigMfaStatus;
            totpEnabled?: boolean;
        };
        passwordFormat?: {
            minLength?: number;
            requireLowercase?: boolean;
            requireNumbers?: boolean;
            requireSpecialCharacters?: boolean;
            requireUppercase?: boolean;
        };
        signUpVerificationMethod?: "link" | "code";
        userAttributes?: Partial<Record<AuthStandardAttributeKey, {
            required: boolean;
        }>>;
        userPoolClientId: string;
        userPoolEndpoint?: string;
        userPoolId: string;
    }

    Properties

    loginWith?: {
        email?: boolean;
        oauth?: OAuthConfig;
        phone?: boolean;
        username?: boolean;
    }

    Type declaration

    • Optional email?: boolean
    • Optional oauth?: OAuthConfig
    • Optional phone?: boolean
    • Optional username?: boolean
    mfa?: {
        smsEnabled?: boolean;
        status?: CognitoUserPoolConfigMfaStatus;
        totpEnabled?: boolean;
    }

    Type declaration

    passwordFormat?: {
        minLength?: number;
        requireLowercase?: boolean;
        requireNumbers?: boolean;
        requireSpecialCharacters?: boolean;
        requireUppercase?: boolean;
    }

    Type declaration

    • Optional minLength?: number
    • Optional requireLowercase?: boolean
    • Optional requireNumbers?: boolean
    • Optional requireSpecialCharacters?: boolean
    • Optional requireUppercase?: boolean
    signUpVerificationMethod?: "code" | "link"
    userAttributes?: Partial<Record<AuthStandardAttributeKey, {
        required: boolean;
    }>>
    userPoolClientId: string
    userPoolEndpoint?: string
    userPoolId: string
    \ No newline at end of file +

    Properties

    loginWith?: {
        email?: boolean;
        oauth?: OAuthConfig;
        phone?: boolean;
        username?: boolean;
    }

    Type declaration

    • Optional email?: boolean
    • Optional oauth?: OAuthConfig
    • Optional phone?: boolean
    • Optional username?: boolean
    mfa?: {
        smsEnabled?: boolean;
        status?: CognitoUserPoolConfigMfaStatus;
        totpEnabled?: boolean;
    }

    Type declaration

    passwordFormat?: {
        minLength?: number;
        requireLowercase?: boolean;
        requireNumbers?: boolean;
        requireSpecialCharacters?: boolean;
        requireUppercase?: boolean;
    }

    Type declaration

    • Optional minLength?: number
    • Optional requireLowercase?: boolean
    • Optional requireNumbers?: boolean
    • Optional requireSpecialCharacters?: boolean
    • Optional requireUppercase?: boolean
    signUpVerificationMethod?: "link" | "code"
    userAttributes?: Partial<Record<AuthStandardAttributeKey, {
        required: boolean;
    }>>
    userPoolClientId: string
    userPoolEndpoint?: string
    userPoolId: string
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ArrayOptions.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ArrayOptions.html index 0364fcbc10f..08b95a8c3d4 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ArrayOptions.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ArrayOptions.html @@ -1,6 +1,8 @@ ArrayOptions | Amplify JS API Documentation
    interface ArrayOptions {
        concurrency?: number;
        signal?: AbortSignal;
    }

    Properties

    Properties

    concurrency?: number

    the maximum concurrent invocations of fn to call on the stream at once. Default: 1.

    -
    signal?: AbortSignal

    allows destroying the stream if the signal is aborted.

    +

    Properties

    concurrency?: number

    The maximum concurrent invocations of fn to call on the stream at once.

    +

    Default

    1
    +
    +
    signal?: AbortSignal

    Allows destroying the stream if the signal is aborted.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.BlobOptions.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.BlobOptions.html index 48dbb1a470b..f6033f1c4bb 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.BlobOptions.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.BlobOptions.html @@ -1,9 +1,9 @@ BlobOptions | Amplify JS API Documentation -
    interface BlobOptions {
        encoding?: BufferEncoding;
        type?: string;
    }

    Properties

    encoding? +
    interface BlobOptions {
        endings?: "transparent" | "native";
        type?: string;
    }

    Properties

    Properties

    encoding?: BufferEncoding

    Default

    'utf8'
    -
    -
    type?: string

    The Blob content-type. The intent is for type to convey +

    Properties

    endings?: "transparent" | "native"

    One of either 'transparent' or 'native'. When set to 'native', line endings in string source parts +will be converted to the platform native line-ending as specified by require('node:os').EOL.

    +
    type?: string

    The Blob content-type. The intent is for type to convey the MIME media type of the data, however no validation of the type format is performed.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.Buffer.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.Buffer.html index 3c9a5955217..5ae47a43c76 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.Buffer.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.Buffer.html @@ -10,7 +10,7 @@ compare copy copyWithin -entries +entries equals every fill @@ -21,7 +21,7 @@ includes indexOf join -keys +keys lastIndexOf map readBigInt64BE @@ -70,7 +70,7 @@ toLocaleString toString valueOf -values +values write writeBigInt64BE writeBigInt64LE @@ -120,10 +120,10 @@
    import { Buffer } from 'node:buffer';

    const buf1 = Buffer.from('ABC');
    const buf2 = Buffer.from('BCD');
    const buf3 = Buffer.from('ABCD');

    console.log(buf1.compare(buf1));
    // Prints: 0
    console.log(buf1.compare(buf2));
    // Prints: -1
    console.log(buf1.compare(buf3));
    // Prints: -1
    console.log(buf2.compare(buf1));
    // Prints: 1
    console.log(buf2.compare(buf3));
    // Prints: 1
    console.log([buf1, buf2, buf3].sort(Buffer.compare));
    // Prints: [ <Buffer 41 42 43>, <Buffer 41 42 43 44>, <Buffer 42 43 44> ]
    // (This result is equal to: [buf1, buf3, buf2].)
    -

    The optional targetStart, targetEnd, sourceStart, and sourceEndarguments can be used to limit the comparison to specific ranges within targetand buf respectively.

    +

    The optional targetStart, targetEnd, sourceStart, and sourceEnd arguments can be used to limit the comparison to specific ranges within target and buf respectively.

    import { Buffer } from 'node:buffer';

    const buf1 = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9]);
    const buf2 = Buffer.from([5, 6, 7, 8, 9, 1, 2, 3, 4]);

    console.log(buf1.compare(buf2, 5, 9, 0, 4));
    // Prints: 0
    console.log(buf1.compare(buf2, 0, 6, 4));
    // Prints: -1
    console.log(buf1.compare(buf2, 5, 6, 5));
    // Prints: 1
    -

    ERR_OUT_OF_RANGE is thrown if targetStart < 0, sourceStart < 0,targetEnd > target.byteLength, or sourceEnd > source.byteLength.

    +

    ERR_OUT_OF_RANGE is thrown if targetStart < 0, sourceStart < 0, targetEnd > target.byteLength, or sourceEnd > source.byteLength.

    Parameters

    • target: Uint8Array

      A Buffer or Uint8Array with which to compare buf.

    • Optional targetStart: number

      The offset within target at which to begin comparison.

    • Optional targetEnd: number

      The offset within target at which to end comparison (not inclusive).

      @@ -151,12 +151,8 @@
    • start: number

      If start is negative, it is treated as length+start. If end is negative, it is treated as length+end.

    • Optional end: number

      If not specified, length of the this object is used as its default value.

      -

    Returns this

    • Creates and returns an iterator of [index, byte] pairs from the contents -of buf.

      -
      import { Buffer } from 'node:buffer';

      // Log the entire contents of a `Buffer`.

      const buf = Buffer.from('buffer');

      for (const pair of buf.entries()) {
      console.log(pair);
      }
      // Prints:
      // [0, 98]
      // [1, 117]
      // [2, 102]
      // [3, 102]
      // [4, 101]
      // [5, 114] -
      -

      Returns IterableIterator<[number, number]>

      Since

      v1.1.0

      -
    • Returns true if both buf and otherBuffer have exactly the same bytes,false otherwise. Equivalent to buf.compare(otherBuffer) === 0.

      +

    Returns this

    • Returns an array of key, value pairs for every entry in the array

      +

      Returns IterableIterator<[number, number]>

    • Returns true if both buf and otherBuffer have exactly the same bytes,false otherwise. Equivalent to buf.compare(otherBuffer) === 0.

      import { Buffer } from 'node:buffer';

      const buf1 = Buffer.from('ABC');
      const buf2 = Buffer.from('414243', 'hex');
      const buf3 = Buffer.from('ABCD');

      console.log(buf1.equals(buf2));
      // Prints: true
      console.log(buf1.equals(buf3));
      // Prints: false

      Parameters

      • otherBuffer: Uint8Array

        A Buffer or Uint8Array with which to compare buf.

        @@ -222,7 +218,7 @@

        Since

        v5.3.0

    • If value is:

        -
      • a string, value is interpreted according to the character encoding inencoding.
      • +
      • a string, value is interpreted according to the character encoding in encoding.
      • a Buffer or Uint8Array, value will be used in its entirety. To compare a partial Buffer, use buf.subarray.
      • a number, value will be interpreted as an unsigned 8-bit integer @@ -230,7 +226,7 @@
      import { Buffer } from 'node:buffer';

      const buf = Buffer.from('this is a buffer');

      console.log(buf.indexOf('this'));
      // Prints: 0
      console.log(buf.indexOf('is'));
      // Prints: 2
      console.log(buf.indexOf(Buffer.from('a buffer')));
      // Prints: 8
      console.log(buf.indexOf(97));
      // Prints: 8 (97 is the decimal ASCII value for 'a')
      console.log(buf.indexOf(Buffer.from('a buffer example')));
      // Prints: -1
      console.log(buf.indexOf(Buffer.from('a buffer example').slice(0, 8)));
      // Prints: 8

      const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le');

      console.log(utf16Buffer.indexOf('\u03a3', 0, 'utf16le'));
      // Prints: 4
      console.log(utf16Buffer.indexOf('\u03a3', -4, 'utf16le'));
      // Prints: 6
      -

      If value is not a string, number, or Buffer, this method will throw aTypeError. If value is a number, it will be coerced to a valid byte value, +

      If value is not a string, number, or Buffer, this method will throw a TypeError. If value is a number, it will be coerced to a valid byte value, an integer between 0 and 255.

      If byteOffset is not a number, it will be coerced to a number. If the result of coercion is NaN or 0, then the entire buffer will be searched. This @@ -247,15 +243,12 @@

    • Adds all the elements of an array separated by the specified separator string.

      Parameters

      • Optional separator: string

        A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.

        -

      Returns string

    • Creates and returns an iterator of buf keys (indices).

      -
      import { Buffer } from 'node:buffer';

      const buf = Buffer.from('buffer');

      for (const key of buf.keys()) {
      console.log(key);
      }
      // Prints:
      // 0
      // 1
      // 2
      // 3
      // 4
      // 5 -
      -

      Returns IterableIterator<number>

      Since

      v1.1.0

      -
    • Identical to buf.indexOf(), except the last occurrence of value is found +

    Returns string

    • Identical to buf.indexOf(), except the last occurrence of value is found rather than the first occurrence.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.from('this buffer is a buffer');

      console.log(buf.lastIndexOf('this'));
      // Prints: 0
      console.log(buf.lastIndexOf('buffer'));
      // Prints: 17
      console.log(buf.lastIndexOf(Buffer.from('buffer')));
      // Prints: 17
      console.log(buf.lastIndexOf(97));
      // Prints: 15 (97 is the decimal ASCII value for 'a')
      console.log(buf.lastIndexOf(Buffer.from('yolo')));
      // Prints: -1
      console.log(buf.lastIndexOf('buffer', 5));
      // Prints: 5
      console.log(buf.lastIndexOf('buffer', 4));
      // Prints: -1

      const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le');

      console.log(utf16Buffer.lastIndexOf('\u03a3', undefined, 'utf16le'));
      // Prints: 6
      console.log(utf16Buffer.lastIndexOf('\u03a3', -5, 'utf16le'));
      // Prints: 4
      -

      If value is not a string, number, or Buffer, this method will throw aTypeError. If value is a number, it will be coerced to a valid byte value, +

      If value is not a string, number, or Buffer, this method will throw a TypeError. If value is a number, it will be coerced to a valid byte value, an integer between 0 and 255.

      If byteOffset is not a number, it will be coerced to a number. Any arguments that coerce to NaN, like {} or undefined, will search the whole buffer. @@ -350,14 +343,14 @@

      Since

      v14.10.0, v12.19.0

      Parameters

      • Optional offset: number

        Number of bytes to skip before starting to read. Must satisfy 0 <= offset <= buf.length - 1.

      Returns number

      Since

      v0.5.0

      -
    • Reads byteLength number of bytes from buf at the specified offsetand interprets the result as a big-endian, two's complement signed value +

    • Reads byteLength number of bytes from buf at the specified offset and interprets the result as a big-endian, two's complement signed value supporting up to 48 bits of accuracy.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);

      console.log(buf.readIntBE(0, 6).toString(16));
      // Prints: 1234567890ab
      console.log(buf.readIntBE(1, 6).toString(16));
      // Throws ERR_OUT_OF_RANGE.
      console.log(buf.readIntBE(1, 0).toString(16));
      // Throws ERR_OUT_OF_RANGE.

      Parameters

      • offset: number

        Number of bytes to skip before starting to read. Must satisfy 0 <= offset <= buf.length - byteLength.

      • byteLength: number

        Number of bytes to read. Must satisfy 0 < byteLength <= 6.

      Returns number

      Since

      v0.11.15

      -
    • Reads byteLength number of bytes from buf at the specified offsetand interprets the result as a little-endian, two's complement signed value +

    • Reads byteLength number of bytes from buf at the specified offset and interprets the result as a little-endian, two's complement signed value supporting up to 48 bits of accuracy.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);

      console.log(buf.readIntLE(0, 6).toString(16));
      // Prints: -546f87a9cbee
      @@ -370,7 +363,7 @@

      Since

      v14.10.0, v12.19.0

      Parameters

      • Optional offset: number

        Number of bytes to skip before starting to read. Must satisfy 0 <= offset <= buf.length - 2.

      Returns number

      Since

      v0.5.5

      -
    • Reads an unsigned, little-endian 16-bit integer from buf at the specifiedoffset.

      +
    • Reads an unsigned, little-endian 16-bit integer from buf at the specified offset.

      This function is also available under the readUint16LE alias.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.from([0x12, 0x34, 0x56]);

      console.log(buf.readUInt16LE(0).toString(16));
      // Prints: 3412
      console.log(buf.readUInt16LE(1).toString(16));
      // Prints: 5634
      console.log(buf.readUInt16LE(2).toString(16));
      // Throws ERR_OUT_OF_RANGE.
      @@ -394,7 +387,7 @@

      Since

      v14.10.0, v12.19.0

      Parameters

      • Optional offset: number

        Number of bytes to skip before starting to read. Must satisfy 0 <= offset <= buf.length - 1.

      Returns number

      Since

      v0.5.0

      -
    • Reads byteLength number of bytes from buf at the specified offsetand interprets the result as an unsigned big-endian integer supporting +

    • Reads byteLength number of bytes from buf at the specified offset and interprets the result as an unsigned big-endian integer supporting up to 48 bits of accuracy.

      This function is also available under the readUintBE alias.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);

      console.log(buf.readUIntBE(0, 6).toString(16));
      // Prints: 1234567890ab
      console.log(buf.readUIntBE(1, 6).toString(16));
      // Throws ERR_OUT_OF_RANGE. @@ -402,7 +395,7 @@

      Since

      v14.10.0, v12.19.0

      Parameters

      • offset: number

        Number of bytes to skip before starting to read. Must satisfy 0 <= offset <= buf.length - byteLength.

      • byteLength: number

        Number of bytes to read. Must satisfy 0 < byteLength <= 6.

      Returns number

      Since

      v0.11.15

      -
    • Reads byteLength number of bytes from buf at the specified offsetand interprets the result as an unsigned, little-endian integer supporting +

    • Reads byteLength number of bytes from buf at the specified offset and interprets the result as an unsigned, little-endian integer supporting up to 48 bits of accuracy.

      This function is also available under the readUintLE alias.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);

      console.log(buf.readUIntLE(0, 6).toString(16));
      // Prints: ab9078563412 @@ -532,12 +525,8 @@

      Deprecated

      Use subarray instead.

    • Optional end: number

      The byte offset to stop decoding at (not inclusive).

    Returns string

    Since

    v0.1.90

    • Returns the primitive value of the specified object.

      -

      Returns Uint8Array

    • Creates and returns an iterator for buf values (bytes). This function is -called automatically when a Buffer is used in a for..of statement.

      -
      import { Buffer } from 'node:buffer';

      const buf = Buffer.from('buffer');

      for (const value of buf.values()) {
      console.log(value);
      }
      // Prints:
      // 98
      // 117
      // 102
      // 102
      // 101
      // 114

      for (const value of buf) {
      console.log(value);
      }
      // Prints:
      // 98
      // 117
      // 102
      // 102
      // 101
      // 114 -
      -

      Returns IterableIterator<number>

      Since

      v1.1.0

      -
    • Writes string to buf at offset according to the character encoding inencoding. The length parameter is the number of bytes to write. If buf did +

      Returns Uint8Array

    • Writes string to buf at offset according to the character encoding inencoding. The length parameter is the number of bytes to write. If buf did not contain enough space to fit the entire string, only part of string will be written. However, partially encoded characters will not be written.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.alloc(256);

      const len = buf.write('\u00bd + \u00bc = \u00be', 0);

      console.log(`${len} bytes: ${buf.toString('utf8', 0, len)}`);
      // Prints: 12 bytes: ½ + ¼ = ¾

      const buffer = Buffer.alloc(10);

      const length = buffer.write('abcd', 8);

      console.log(`${length} bytes: ${buffer.toString('utf8', 8, 10)}`);
      // Prints: 2 bytes : ab @@ -582,7 +571,7 @@

      Deprecated

      Use subarray instead.

      Since

      v14.10.0, v12.19.0

    • Parameters

      • value: bigint
      • Optional offset: number

      Returns number

      Alias

      Buffer.writeBigUInt64LE

      Since

      v14.10.0, v12.19.0

      -
    • Writes value to buf at the specified offset as big-endian. The valuemust be a JavaScript number. Behavior is undefined when value is anything +

    • Writes value to buf at the specified offset as big-endian. The value must be a JavaScript number. Behavior is undefined when value is anything other than a JavaScript number.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(8);

      buf.writeDoubleBE(123.456, 0);

      console.log(buf);
      // Prints: <Buffer 40 5e dd 2f 1a 9f be 77>
      @@ -590,7 +579,7 @@

      Since

      v14.10.0, v12.19.0

    • Optional offset: number

      Number of bytes to skip before starting to write. Must satisfy 0 <= offset <= buf.length - 8.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.11.15

    -
    • Writes value to buf at the specified offset as little-endian. The valuemust be a JavaScript number. Behavior is undefined when value is anything +

    • Writes value to buf at the specified offset as little-endian. The value must be a JavaScript number. Behavior is undefined when value is anything other than a JavaScript number.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(8);

      buf.writeDoubleLE(123.456, 0);

      console.log(buf);
      // Prints: <Buffer 77 be 9f 1a 2f dd 5e 40>
      @@ -614,7 +603,7 @@

      Since

      v14.10.0, v12.19.0

    • Optional offset: number

      Number of bytes to skip before starting to write. Must satisfy 0 <= offset <= buf.length - 4.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.11.15

    -
    • Writes value to buf at the specified offset as big-endian. The valuemust be a valid signed 16-bit integer. Behavior is undefined when value is +

    • Writes value to buf at the specified offset as big-endian. The value must be a valid signed 16-bit integer. Behavior is undefined when value is anything other than a signed 16-bit integer.

      The value is interpreted and written as a two's complement signed integer.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(2);

      buf.writeInt16BE(0x0102, 0);

      console.log(buf);
      // Prints: <Buffer 01 02> @@ -623,7 +612,7 @@

      Since

      v14.10.0, v12.19.0

    • Optional offset: number

      Number of bytes to skip before starting to write. Must satisfy 0 <= offset <= buf.length - 2.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.5.5

    -
    • Writes value to buf at the specified offset as little-endian. The valuemust be a valid signed 16-bit integer. Behavior is undefined when value is +

    • Writes value to buf at the specified offset as little-endian. The value must be a valid signed 16-bit integer. Behavior is undefined when value is anything other than a signed 16-bit integer.

      The value is interpreted and written as a two's complement signed integer.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(2);

      buf.writeInt16LE(0x0304, 0);

      console.log(buf);
      // Prints: <Buffer 04 03> @@ -632,7 +621,7 @@

      Since

      v14.10.0, v12.19.0

    • Optional offset: number

      Number of bytes to skip before starting to write. Must satisfy 0 <= offset <= buf.length - 2.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.5.5

    -
    • Writes value to buf at the specified offset as big-endian. The valuemust be a valid signed 32-bit integer. Behavior is undefined when value is +

    • Writes value to buf at the specified offset as big-endian. The value must be a valid signed 32-bit integer. Behavior is undefined when value is anything other than a signed 32-bit integer.

      The value is interpreted and written as a two's complement signed integer.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(4);

      buf.writeInt32BE(0x01020304, 0);

      console.log(buf);
      // Prints: <Buffer 01 02 03 04> @@ -641,7 +630,7 @@

      Since

      v14.10.0, v12.19.0

    • Optional offset: number

      Number of bytes to skip before starting to write. Must satisfy 0 <= offset <= buf.length - 4.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.5.5

    -
    • Writes value to buf at the specified offset as little-endian. The valuemust be a valid signed 32-bit integer. Behavior is undefined when value is +

    • Writes value to buf at the specified offset as little-endian. The value must be a valid signed 32-bit integer. Behavior is undefined when value is anything other than a signed 32-bit integer.

      The value is interpreted and written as a two's complement signed integer.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(4);

      buf.writeInt32LE(0x05060708, 0);

      console.log(buf);
      // Prints: <Buffer 08 07 06 05> @@ -678,7 +667,7 @@

      Since

      v14.10.0, v12.19.0

    • byteLength: number

      Number of bytes to write. Must satisfy 0 < byteLength <= 6.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.11.15

    -
    • Writes value to buf at the specified offset as big-endian. The valuemust be a valid unsigned 16-bit integer. Behavior is undefined when valueis anything other than an +

    • Writes value to buf at the specified offset as big-endian. The value must be a valid unsigned 16-bit integer. Behavior is undefined when valueis anything other than an unsigned 16-bit integer.

      This function is also available under the writeUint16BE alias.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(4);

      buf.writeUInt16BE(0xdead, 0);
      buf.writeUInt16BE(0xbeef, 2);

      console.log(buf);
      // Prints: <Buffer de ad be ef> @@ -687,7 +676,7 @@

      Since

      v14.10.0, v12.19.0

    • Optional offset: number

      Number of bytes to skip before starting to write. Must satisfy 0 <= offset <= buf.length - 2.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.5.5

    -
    • Writes value to buf at the specified offset as little-endian. The valuemust be a valid unsigned 16-bit integer. Behavior is undefined when value is +

    • Writes value to buf at the specified offset as little-endian. The value must be a valid unsigned 16-bit integer. Behavior is undefined when value is anything other than an unsigned 16-bit integer.

      This function is also available under the writeUint16LE alias.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(4);

      buf.writeUInt16LE(0xdead, 0);
      buf.writeUInt16LE(0xbeef, 2);

      console.log(buf);
      // Prints: <Buffer ad de ef be> @@ -696,7 +685,7 @@

      Since

      v14.10.0, v12.19.0

    • Optional offset: number

      Number of bytes to skip before starting to write. Must satisfy 0 <= offset <= buf.length - 2.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.5.5

    -
    • Writes value to buf at the specified offset as big-endian. The valuemust be a valid unsigned 32-bit integer. Behavior is undefined when valueis anything other than an +

    • Writes value to buf at the specified offset as big-endian. The value must be a valid unsigned 32-bit integer. Behavior is undefined when valueis anything other than an unsigned 32-bit integer.

      This function is also available under the writeUint32BE alias.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(4);

      buf.writeUInt32BE(0xfeedface, 0);

      console.log(buf);
      // Prints: <Buffer fe ed fa ce> @@ -705,7 +694,7 @@

      Since

      v14.10.0, v12.19.0

    • Optional offset: number

      Number of bytes to skip before starting to write. Must satisfy 0 <= offset <= buf.length - 4.

    Returns number

    offset plus the number of bytes written.

    Since

    v0.5.5

    -
    • Writes value to buf at the specified offset as little-endian. The valuemust be a valid unsigned 32-bit integer. Behavior is undefined when value is +

    • Writes value to buf at the specified offset as little-endian. The value must be a valid unsigned 32-bit integer. Behavior is undefined when value is anything other than an unsigned 32-bit integer.

      This function is also available under the writeUint32LE alias.

      import { Buffer } from 'node:buffer';

      const buf = Buffer.allocUnsafe(4);

      buf.writeUInt32LE(0xfeedface, 0);

      console.log(buf);
      // Prints: <Buffer ce fa ed fe> @@ -758,4 +747,4 @@

      Since

      v14.9.0, v12.19.0

      Since

      v14.9.0, v12.19.0

    • Parameters

      • value: number
      • offset: number
      • byteLength: number

      Returns number

      Alias

      Buffer.writeUIntLE

      Since

      v14.9.0, v12.19.0

      -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.BufferConstructor.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.BufferConstructor.html index 55be55337d9..55fd1fda170 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.BufferConstructor.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.BufferConstructor.html @@ -64,8 +64,8 @@

    A TypeError will be thrown if size is not a number.

    The Buffer module pre-allocates an internal Buffer instance of -size Buffer.poolSize that is used as a pool for the fast allocation of newBuffer instances created using Buffer.allocUnsafe(), Buffer.from(array), -and Buffer.concat() only when size is less thanBuffer.poolSize >>> 1 (floor of Buffer.poolSize divided by two).

    +size Buffer.poolSize that is used as a pool for the fast allocation of new Buffer instances created using Buffer.allocUnsafe(), Buffer.from(array), +and Buffer.concat() only when size is less than Buffer.poolSize >>> 1 (floor of Buffer.poolSize divided by two).

    Use of this pre-allocated internal memory pool is a key difference between calling Buffer.alloc(size, fill) vs. Buffer.allocUnsafe(size).fill(fill). Specifically, Buffer.alloc(size, fill) will never use the internal Bufferpool, while Buffer.allocUnsafe(size).fill(fill)will use the internalBuffer pool if size is less @@ -107,17 +107,17 @@ Buffer/DataView/[TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/- Reference/Global_Objects/TypedArray)/ArrayBuffer/[SharedArrayBuffer](https://develop- er.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer), the byte length as reported by .byteLengthis returned.

    -

    Parameters

    • Compares buf1 to buf2, typically for the purpose of sorting arrays ofBuffer instances. This is equivalent to calling buf1.compare(buf2).

      +
    • Compares buf1 to buf2, typically for the purpose of sorting arrays of Buffer instances. This is equivalent to calling buf1.compare(buf2).

      import { Buffer } from 'node:buffer';

      const buf1 = Buffer.from('1234');
      const buf2 = Buffer.from('0123');
      const arr = [buf1, buf2];

      console.log(arr.sort(Buffer.compare));
      // Prints: [ <Buffer 30 31 32 33>, <Buffer 31 32 33 34> ]
      // (This result is equal to: [buf2, buf1].)

      Parameters

      • buf1: Uint8Array
      • buf2: Uint8Array

      Returns 0 | 1 | -1

      Either -1, 0, or 1, depending on the result of the comparison. See compare for details.

      Since

      v0.11.13

      -
    • Returns a new Buffer which is the result of concatenating all the Bufferinstances in the list together.

      -

      If the list has no items, or if the totalLength is 0, then a new zero-lengthBuffer is returned.

      +
    • Returns a new Buffer which is the result of concatenating all the Buffer instances in the list together.

      +

      If the list has no items, or if the totalLength is 0, then a new zero-length Buffer is returned.

      If totalLength is not provided, it is calculated from the Buffer instances in list by adding their lengths.

      If totalLength is provided, it is coerced to an unsigned integer. If the @@ -142,10 +142,10 @@

      If array is an Array-like object (that is, one with a length property of type number), it is treated as if it is an array, unless it is a Buffer or -a Uint8Array. This means all other TypedArray variants get treated as anArray. To create a Buffer from the bytes backing a TypedArray, use Buffer.copyBytesFrom().

      +a Uint8Array. This means all other TypedArray variants get treated as an Array. To create a Buffer from the bytes backing a TypedArray, use Buffer.copyBytesFrom().

      A TypeError will be thrown if array is not an Array or another type appropriate for Buffer.from() variants.

      -

      Buffer.from(array) and Buffer.from(string) may also use the internalBuffer pool like Buffer.allocUnsafe() does.

      +

      Buffer.from(array) and Buffer.from(string) may also use the internal Buffer pool like Buffer.allocUnsafe() does.

      Parameters

      Returns Buffer

      Since

      v5.10.0

    • Creates a new Buffer using the passed {data}

      Parameters

      • data: Uint8Array | readonly number[]

        data to create a new Buffer

        diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.CookieListItem.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.CookieListItem.html index c52e706aa4e..d1185611a74 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.CookieListItem.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.CookieListItem.html @@ -1,9 +1,10 @@ CookieListItem | Amplify JS API Documentation

        CookieListItem as specified by W3C.

        -
        interface CookieListItem {
            domain?: string;
            expires?: number | Date;
            name: string;
            path?: string;
            sameSite?: boolean | "lax" | "strict" | "none";
            secure?: boolean;
            value: string;
        }

        Hierarchy (view full)

        Properties

        interface CookieListItem {
            domain?: string;
            expires?: number | Date;
            name: string;
            partitioned?: boolean;
            path?: string;
            sameSite?: boolean | "lax" | "strict" | "none";
            secure?: boolean;
            value: string;
        }

        Hierarchy (view full)

        Properties

        domain? expires? name +partitioned? path? sameSite? secure? @@ -13,7 +14,13 @@ the current domain.

        expires?: number | Date

        A number of milliseconds or Date interface containing the expires of the cookie.

        name: string

        A string with the name of a cookie.

        -
        path?: string

        Specifies the value for the Set-Cookie attribute. +

        partitioned?: boolean

        Specifies the boolean value for the Partitioned Set-Cookie +attribute. When truthy, the Partitioned attribute is set, otherwise it is not. By default, the +Partitioned attribute is not set.

        +

        note This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it.

        +

        More information about can be found in the proposal

        +
        path?: string

        Specifies the value for the Set-Cookie attribute. By default, the path is considered the "default path".

        sameSite?: boolean | "lax" | "strict" | "none"

        Specifies the boolean or string to be the value for the Set-Cookie attribute.

          @@ -35,4 +42,4 @@ not send the cookie back to the server in the future if the browser does not have an HTTPS connection.

        value: string

        A string containing the value of the cookie.

        -
        \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.CookieSerializeOptions.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.CookieSerializeOptions.html index 17ecd085e38..2ffee79a5ba 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.CookieSerializeOptions.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.CookieSerializeOptions.html @@ -1,9 +1,10 @@ CookieSerializeOptions | Amplify JS API Documentation

    Additional serialization options

    -
    interface CookieSerializeOptions {
        domain?: string;
        expires?: Date;
        httpOnly?: boolean;
        maxAge?: number;
        path?: string;
        priority?: "low" | "medium" | "high";
        sameSite?: boolean | "lax" | "strict" | "none";
        secure?: boolean;
        encode?(value): string;
    }

    Properties

    interface CookieSerializeOptions {
        domain?: string;
        expires?: Date;
        httpOnly?: boolean;
        maxAge?: number;
        partitioned?: boolean;
        path?: string;
        priority?: "low" | "medium" | "high";
        sameSite?: boolean | "lax" | "strict" | "none";
        secure?: boolean;
        encode?(value): string;
    }

    Properties

    domain? expires? httpOnly? maxAge? +partitioned? path? priority? sameSite? @@ -31,6 +32,12 @@ states that if both expires and maxAge are set, then maxAge takes precedence, but it is possible not all clients by obey this, so if both are set, they should point to the same date and time.

    +
    partitioned?: boolean

    Specifies the boolean value for the Partitioned Set-Cookie +attribute. When truthy, the Partitioned attribute is set, otherwise it is not. By default, the +Partitioned attribute is not set.

    +

    note This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it.

    +

    More information about can be found in the proposal

    path?: string

    Specifies the value for the Set-Cookie attribute. By default, the path is considered the "default path".

    priority?: "low" | "medium" | "high"

    Specifies the string to be the value for the [Priority Set-Cookie attribute][rfc-west-cookie-priority-00-4.1].

    @@ -69,4 +76,4 @@

    The default function is the global encodeURIComponent, which will encode a JavaScript string into UTF-8 byte sequences and then URL-encode any that fall outside of the cookie range.

    -

    Parameters

    • value: string

    Returns string

    \ No newline at end of file +

    Parameters

    • value: string

    Returns string

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter-2.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter-2.html index 1b91ff4c388..dcef3eb58a5 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter-2.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventEmitter-2.html @@ -1,5 +1,5 @@ EventEmitter | Amplify JS API Documentation -
    interface EventEmitter {
        [captureRejectionSymbol]?(error, event, ...args): void;
        addListener(eventName, listener): this;
        emit(eventName, ...args): boolean;
        eventNames(): (string | symbol)[];
        getMaxListeners(): number;
        listenerCount(eventName, listener?): number;
        listeners(eventName): Function[];
        off(eventName, listener): this;
        on(eventName, listener): this;
        once(eventName, listener): this;
        prependListener(eventName, listener): this;
        prependOnceListener(eventName, listener): this;
        rawListeners(eventName): Function[];
        removeAllListeners(event?): this;
        removeListener(eventName, listener): this;
        setMaxListeners(n): this;
    }

    Hierarchy (view full)

    Methods

    [captureRejectionSymbol]? +
    interface EventEmitter<T> {
        [captureRejectionSymbol]?<K>(error, event, ...args): void;
        addListener<K>(eventName, listener): this;
        emit<K>(eventName, ...args): boolean;
        eventNames(): ((string | symbol) & Key2<unknown, T>)[];
        getMaxListeners(): number;
        listenerCount<K>(eventName, listener?): number;
        listeners<K>(eventName): Listener<K, T, Function>[];
        off<K>(eventName, listener): this;
        on<K>(eventName, listener): this;
        once<K>(eventName, listener): this;
        prependListener<K>(eventName, listener): this;
        prependOnceListener<K>(eventName, listener): this;
        rawListeners<K>(eventName): Listener<K, T, Function>[];
        removeAllListeners(eventName?): this;
        removeListener<K>(eventName, listener): this;
        setMaxListeners(n): this;
    }

    Type Parameters

    Hierarchy (view full)

    Methods

    • Parameters

      • error: Error
      • event: string
      • Rest ...args: any[]

      Returns void

    • Alias for emitter.on(eventName, listener).

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    Methods

    • Type Parameters

      • K

      Parameters

      Returns void

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • K

      Parameters

      Returns this

      Since

      v0.1.26

      +
    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      -
    • Returns an array listing the events for which the emitter has registered +

      Type Parameters

      • K

      Parameters

      Returns boolean

      Since

      v0.1.26

      +
    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ]
      -

      Returns (string | symbol)[]

      Since

      v6.0.0

      +

      Returns ((string | symbol) & Key2<unknown, T>)[]

      Since

      v6.0.0

    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        -
      • Optional listener: Function

        The event handler function

        +

        Type Parameters

        • K

        Parameters

        • eventName: Key<K, T>

          The name of the event being listened for

          +
        • Optional listener: Listener<K, T, Function>

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      Returns Listener<K, T, Function>[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        -
      • listener: ((...args) => void)

        The callback function

        -
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.101

      -
    • Adds a one-timelistener function for the event named eventName. The +

      Type Parameters

      • K

      Parameters

      • eventName: Key<K, T>

        The name of the event.

        +
      • listener: Listener<K, T, ((...args) => void)>

        The callback function

        +

      Returns this

      Since

      v0.1.101

      +
    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        -
      • listener: ((...args) => void)

        The callback function

        -
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.3.0

      -
    • Adds the listener function to the beginning of the listeners array for the +

      Type Parameters

      • K

      Parameters

      • eventName: Key<K, T>

        The name of the event.

        +
      • listener: Listener<K, T, ((...args) => void)>

        The callback function

        +

      Returns this

      Since

      v0.3.0

      +
    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        -
      • listener: ((...args) => void)

        The callback function

        -
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v6.0.0

      -
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

      Type Parameters

      • K

      Parameters

      • eventName: Key<K, T>

        The name of the event.

        +
      • listener: Listener<K, T, ((...args) => void)>

        The callback function

        +

      Returns this

      Since

      v6.0.0

      +
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        -
      • listener: ((...args) => void)

        The callback function

        -
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v6.0.0

      -
    • Returns a copy of the array of listeners for the event named eventName, +

      Type Parameters

      • K

      Parameters

      • eventName: Key<K, T>

        The name of the event.

        +
      • listener: Listener<K, T, ((...args) => void)>

        The callback function

        +

      Returns this

      Since

      v6.0.0

      +
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      Returns Listener<K, T, Function>[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: Key<unknown, T>

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -106,7 +106,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -117,15 +117,15 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      Returns this

      Since

      v0.1.26

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.I18NConfig.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.I18NConfig.html index ee613e267fa..4ce7bc941f4 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.I18NConfig.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.I18NConfig.html @@ -1,6 +1,6 @@ I18NConfig | Amplify JS API Documentation -
    interface I18NConfig {
        defaultLocale: string;
        domains?: DomainLocale[];
        localeDetection?: false;
        locales: string[];
    }

    Properties

    defaultLocale +
    interface I18NConfig {
        defaultLocale: string;
        domains?: I18NDomains;
        localeDetection?: false;
        locales: string[];
    }

    Properties

    defaultLocale: string
    domains?: DomainLocale[]
    localeDetection?: false
    locales: string[]
    \ No newline at end of file +

    Properties

    defaultLocale: string
    domains?: I18NDomains
    localeDetection?: false
    locales: string[]
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.LookupAddress.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.LookupAddress.html index 8238db7e8f8..ce99165c05a 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.LookupAddress.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.LookupAddress.html @@ -1,4 +1,7 @@ LookupAddress | Amplify JS API Documentation
    interface LookupAddress {
        address: string;
        family: number;
    }

    Properties

    Properties

    address: string
    family: number
    \ No newline at end of file +

    Properties

    address: string

    A string representation of an IPv4 or IPv6 address.

    +
    family: number

    4 or 6, denoting the family of address, or 0 if the address is not an IPv4 or IPv6 address. 0 is a likely indicator of a +bug in the name resolution service used by the operating system.

    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.LookupOptions.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.LookupOptions.html index 0b13121b64b..7eb2e5e0066 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.LookupOptions.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.LookupOptions.html @@ -1,8 +1,28 @@ LookupOptions | Amplify JS API Documentation -
    interface LookupOptions {
        all?: boolean;
        family?: number;
        hints?: number;
        verbatim?: boolean;
    }

    Properties

    all? +
    interface LookupOptions {
        all?: boolean;
        family?: number | "IPv4" | "IPv6";
        hints?: number;
        order?: "ipv4first" | "ipv6first" | "verbatim";
        verbatim?: boolean;
    }

    Properties

    all?: boolean
    family?: number
    hints?: number
    verbatim?: boolean

    Default

    true
    +

    Properties

    all?: boolean

    When true, the callback returns all resolved addresses in an array. Otherwise, returns a single address.

    +

    Default

    false
     
    -
    \ No newline at end of file +
    family?: number | "IPv4" | "IPv6"

    The record family. Must be 4, 6, or 0. For backward compatibility reasons, 'IPv4' and 'IPv6' are interpreted +as 4 and 6 respectively. The value 0 indicates that either an IPv4 or IPv6 address is returned. If the value 0 is used +with { all: true } (see below), both IPv4 and IPv6 addresses are returned.

    +

    Default

    0
    +
    +
    hints?: number

    One or more supported getaddrinfo flags. Multiple flags may be +passed by bitwise ORing their values.

    +
    order?: "ipv4first" | "ipv6first" | "verbatim"

    When verbatim, the resolved addresses are return unsorted. When ipv4first, the resolved addresses are sorted +by placing IPv4 addresses before IPv6 addresses. When ipv6first, the resolved addresses are sorted by placing IPv6 +addresses before IPv4 addresses. Default value is configurable using +setDefaultResultOrder or --dns-result-order.

    +

    Default

    verbatim (addresses are not reordered)

    +
    verbatim?: boolean

    When true, the callback receives IPv4 and IPv6 addresses in the order the DNS resolver returned them. When false, IPv4 +addresses are placed before IPv6 addresses. This option will be deprecated in favor of order. When both are specified, +order has higher precedence. New code should only use order. Default value is configurable using setDefaultResultOrder +or --dns-result-order.

    +

    Default

    true (addresses are not reordered)
    +
    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadWriteStream.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadWriteStream.html index c5ef3f26f48..a810288b5cc 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadWriteStream.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadWriteStream.html @@ -1,5 +1,5 @@ ReadWriteStream | Amplify JS API Documentation -
    interface ReadWriteStream {
        readable: boolean;
        writable: boolean;
        [asyncIterator](): AsyncIterableIterator<string | Buffer>;
        [captureRejectionSymbol]?(error, event, ...args): void;
        addListener(eventName, listener): this;
        emit(eventName, ...args): boolean;
        end(cb?): this;
        end(data, cb?): this;
        end(str, encoding?, cb?): this;
        eventNames(): (string | symbol)[];
        getMaxListeners(): number;
        isPaused(): boolean;
        listenerCount(eventName, listener?): number;
        listeners(eventName): Function[];
        off(eventName, listener): this;
        on(eventName, listener): this;
        once(eventName, listener): this;
        pause(): this;
        pipe<T>(destination, options?): T;
        prependListener(eventName, listener): this;
        prependOnceListener(eventName, listener): this;
        rawListeners(eventName): Function[];
        read(size?): string | Buffer;
        removeAllListeners(event?): this;
        removeListener(eventName, listener): this;
        resume(): this;
        setEncoding(encoding): this;
        setMaxListeners(n): this;
        unpipe(destination?): this;
        unshift(chunk, encoding?): void;
        wrap(oldStream): this;
        write(buffer, cb?): boolean;
        write(str, encoding?, cb?): boolean;
    }

    Hierarchy (view full)

    Properties

    readable +
    interface ReadWriteStream {
        readable: boolean;
        writable: boolean;
        [asyncIterator](): AsyncIterableIterator<string | Buffer>;
        [captureRejectionSymbol]?<K>(error, event, ...args): void;
        addListener<K>(eventName, listener): this;
        emit<K>(eventName, ...args): boolean;
        end(cb?): this;
        end(data, cb?): this;
        end(str, encoding?, cb?): this;
        eventNames(): (string | symbol)[];
        getMaxListeners(): number;
        isPaused(): boolean;
        listenerCount<K>(eventName, listener?): number;
        listeners<K>(eventName): Function[];
        off<K>(eventName, listener): this;
        on<K>(eventName, listener): this;
        once<K>(eventName, listener): this;
        pause(): this;
        pipe<T>(destination, options?): T;
        prependListener<K>(eventName, listener): this;
        prependOnceListener<K>(eventName, listener): this;
        rawListeners<K>(eventName): Function[];
        read(size?): string | Buffer;
        removeAllListeners(eventName?): this;
        removeListener<K>(eventName, listener): this;
        resume(): this;
        setEncoding(encoding): this;
        setMaxListeners(n): this;
        unpipe(destination?): this;
        unshift(chunk, encoding?): void;
        wrap(oldStream): this;
        write(buffer, cb?): boolean;
        write(str, encoding?, cb?): boolean;
    }

    Hierarchy (view full)

    Properties

    readable: boolean
    writable: boolean

    Methods

    • Alias for emitter.on(eventName, listener).

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    Properties

    readable: boolean
    writable: boolean

    Methods

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +
    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • Rest ...args: AnyRest

      Returns boolean

      Since

      v0.1.26

    • Parameters

      • Optional cb: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • data: string | Uint8Array
      • Optional cb: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • str: string
      • Optional encoding: BufferEncoding
      • Optional cb: (() => void)
          • (): void
          • Returns void

      Returns this

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -45,74 +45,74 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.1.101

        -
    • Adds a one-timelistener function for the event named eventName. The +

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.3.0

        -
    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the +

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -120,7 +120,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -131,15 +131,15 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Parameters

      • buffer: string | Uint8Array
      • Optional cb: ((err?) => void)
          • (err?): void
          • Parameters

            • Optional err: null | Error

            Returns void

      Returns boolean

    • Parameters

      • str: string
      • Optional encoding: BufferEncoding
      • Optional cb: ((err?) => void)
          • (err?): void
          • Parameters

            • Optional err: null | Error

            Returns void

      Returns boolean

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableStream-1.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableStream-1.html index a3ba5bfe543..f4a58462356 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableStream-1.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableStream-1.html @@ -1,5 +1,5 @@ ReadableStream | Amplify JS API Documentation -
    interface ReadableStream {
        readable: boolean;
        [asyncIterator](): AsyncIterableIterator<string | Buffer>;
        [captureRejectionSymbol]?(error, event, ...args): void;
        addListener(eventName, listener): this;
        emit(eventName, ...args): boolean;
        eventNames(): (string | symbol)[];
        getMaxListeners(): number;
        isPaused(): boolean;
        listenerCount(eventName, listener?): number;
        listeners(eventName): Function[];
        off(eventName, listener): this;
        on(eventName, listener): this;
        once(eventName, listener): this;
        pause(): this;
        pipe<T>(destination, options?): T;
        prependListener(eventName, listener): this;
        prependOnceListener(eventName, listener): this;
        rawListeners(eventName): Function[];
        read(size?): string | Buffer;
        removeAllListeners(event?): this;
        removeListener(eventName, listener): this;
        resume(): this;
        setEncoding(encoding): this;
        setMaxListeners(n): this;
        unpipe(destination?): this;
        unshift(chunk, encoding?): void;
        wrap(oldStream): this;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    readable +
    interface ReadableStream {
        readable: boolean;
        [asyncIterator](): AsyncIterableIterator<string | Buffer>;
        [captureRejectionSymbol]?<K>(error, event, ...args): void;
        addListener<K>(eventName, listener): this;
        emit<K>(eventName, ...args): boolean;
        eventNames(): (string | symbol)[];
        getMaxListeners(): number;
        isPaused(): boolean;
        listenerCount<K>(eventName, listener?): number;
        listeners<K>(eventName): Function[];
        off<K>(eventName, listener): this;
        on<K>(eventName, listener): this;
        once<K>(eventName, listener): this;
        pause(): this;
        pipe<T>(destination, options?): T;
        prependListener<K>(eventName, listener): this;
        prependOnceListener<K>(eventName, listener): this;
        rawListeners<K>(eventName): Function[];
        read(size?): string | Buffer;
        removeAllListeners(eventName?): this;
        removeListener<K>(eventName, listener): this;
        resume(): this;
        setEncoding(encoding): this;
        setMaxListeners(n): this;
        unpipe(destination?): this;
        unshift(chunk, encoding?): void;
        wrap(oldStream): this;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    readable: boolean

    Methods

    • Alias for emitter.on(eventName, listener).

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    Properties

    readable: boolean

    Methods

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +
    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • Rest ...args: AnyRest

      Returns boolean

      Since

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -42,74 +42,74 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns boolean

    • Returns the number of listeners listening for the event named eventName. +

    • Returns boolean

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.1.101

        -
    • Adds a one-timelistener function for the event named eventName. The +

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.3.0

        -
    • Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the +

    • Returns this

    • Type Parameters

      Parameters

      • destination: T
      • Optional options: {
            end?: boolean;
        }
        • Optional end?: boolean

      Returns T

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Returns a copy of the array of listeners for the event named eventName, +

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Parameters

      • Optional size: number

      Returns string | Buffer

    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Parameters

      • Optional size: number

      Returns string | Buffer

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -117,7 +117,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -128,15 +128,15 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

    • Returns this

    • Parameters

      Returns this

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Parameters

      Returns this

    • Parameters

      Returns void

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.StaticEventEmitterIteratorOptions.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.StaticEventEmitterIteratorOptions.html new file mode 100644 index 00000000000..1140867078f --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.StaticEventEmitterIteratorOptions.html @@ -0,0 +1,16 @@ +StaticEventEmitterIteratorOptions | Amplify JS API Documentation +
    interface StaticEventEmitterIteratorOptions {
        close?: string[];
        highWaterMark?: number;
        lowWaterMark?: number;
        signal?: AbortSignal;
    }

    Hierarchy (view full)

    Properties

    close?: string[]

    Names of events that will end the iteration.

    +
    highWaterMark?: number

    The high watermark. The emitter is paused every time the size of events being buffered is higher than it. +Supported only on emitters implementing pause() and resume() methods.

    +

    Default

    Number.MAX_SAFE_INTEGER
    +
    +
    lowWaterMark?: number

    The low watermark. The emitter is resumed every time the size of events being buffered is lower than it. +Supported only on emitters implementing pause() and resume() methods.

    +

    Default

    1
    +
    +
    signal?: AbortSignal

    Can be used to cancel awaiting events.

    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.StaticEventEmitterOptions.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.StaticEventEmitterOptions.html index 9198766e268..b42abba5c7d 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.StaticEventEmitterOptions.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.StaticEventEmitterOptions.html @@ -1,3 +1,4 @@ StaticEventEmitterOptions | Amplify JS API Documentation -
    interface StaticEventEmitterOptions {
        signal?: AbortSignal;
    }

    Properties

    Properties

    signal?: AbortSignal
    \ No newline at end of file +
    interface StaticEventEmitterOptions {
        signal?: AbortSignal;
    }

    Hierarchy (view full)

    Properties

    Properties

    signal?: AbortSignal

    Can be used to cancel awaiting events.

    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.WritableStream.html b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.WritableStream.html index 71c227c29dc..0cfd2c0409c 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.WritableStream.html +++ b/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_.WritableStream.html @@ -1,5 +1,5 @@ WritableStream | Amplify JS API Documentation -
    interface WritableStream {
        writable: boolean;
        [captureRejectionSymbol]?(error, event, ...args): void;
        addListener(eventName, listener): this;
        emit(eventName, ...args): boolean;
        end(cb?): this;
        end(data, cb?): this;
        end(str, encoding?, cb?): this;
        eventNames(): (string | symbol)[];
        getMaxListeners(): number;
        listenerCount(eventName, listener?): number;
        listeners(eventName): Function[];
        off(eventName, listener): this;
        on(eventName, listener): this;
        once(eventName, listener): this;
        prependListener(eventName, listener): this;
        prependOnceListener(eventName, listener): this;
        rawListeners(eventName): Function[];
        removeAllListeners(event?): this;
        removeListener(eventName, listener): this;
        setMaxListeners(n): this;
        write(buffer, cb?): boolean;
        write(str, encoding?, cb?): boolean;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    writable +
    interface WritableStream {
        writable: boolean;
        [captureRejectionSymbol]?<K>(error, event, ...args): void;
        addListener<K>(eventName, listener): this;
        emit<K>(eventName, ...args): boolean;
        end(cb?): this;
        end(data, cb?): this;
        end(str, encoding?, cb?): this;
        eventNames(): (string | symbol)[];
        getMaxListeners(): number;
        listenerCount<K>(eventName, listener?): number;
        listeners<K>(eventName): Function[];
        off<K>(eventName, listener): this;
        on<K>(eventName, listener): this;
        once<K>(eventName, listener): this;
        prependListener<K>(eventName, listener): this;
        prependOnceListener<K>(eventName, listener): this;
        rawListeners<K>(eventName): Function[];
        removeAllListeners(eventName?): this;
        removeListener<K>(eventName, listener): this;
        setMaxListeners(n): this;
        write(buffer, cb?): boolean;
        write(str, encoding?, cb?): boolean;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    writable: boolean

    Methods

    • Alias for emitter.on(eventName, listener).

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      -
    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

    Properties

    writable: boolean

    Methods

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +
    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • Rest ...args: AnyRest

      Returns boolean

      Since

      v0.1.26

    • Parameters

      • Optional cb: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • data: string | Uint8Array
      • Optional cb: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • str: string
      • Optional encoding: BufferEncoding
      • Optional cb: (() => void)
          • (): void
          • Returns void

      Returns this

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -34,74 +34,74 @@
    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      Returns number

      Since

      v1.0.0

      -
    • Returns the number of listeners listening for the event named eventName. +

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event being listened for

        • Optional listener: Function

          The event handler function

        Returns number

        Since

        v3.2.0

        -
    • Returns a copy of the array of listeners for the event named eventName.

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      -
    • Alias for emitter.removeListener().

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      -
    • Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • Alias for emitter.removeListener().

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event +named eventName. No checks are made to see if the listener has already +been added. Multiple calls passing the same combination of eventName and +listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.1.101

        -
    • Adds a one-timelistener function for the event named eventName. The +

    • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the +

      By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v0.3.0

        -
    • Adds the listener function to the beginning of the listeners array for the +

    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

      +already been added. Multiple calls passing the same combination of eventName +and listener will result in the listener being added, and called, multiple times.

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +

    • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol

        The name of the event.

        +

        Type Parameters

        • K

        Parameters

        • eventName: string | symbol

          The name of the event.

        • listener: ((...args) => void)

          The callback function

            • (...args): void
            • Parameters

              • Rest ...args: any[]

              Returns void

        Returns this

        Since

        v6.0.0

        -
    • Returns a copy of the array of listeners for the event named eventName, +

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      -
    • Removes all listeners, or those of the specified eventName.

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      -
    • Removes the specified listener from the listener array for the event namedeventName.

      +

      Parameters

      • Optional eventName: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the @@ -109,7 +109,7 @@ listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +time of emitting are called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A
      @@ -120,15 +120,15 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

      +recently added instance. In the example the once('ping') listener is removed:

      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

    • Parameters

      • buffer: string | Uint8Array
      • Optional cb: ((err?) => void)
          • (err?): void
          • Parameters

            • Optional err: null | Error

            Returns void

      Returns boolean

    • Parameters

      • str: string
      • Optional encoding: BufferEncoding
      • Optional cb: ((err?) => void)
          • (err?): void
          • Parameters

            • Optional err: null | Error

            Returns void

      Returns boolean

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchItemError.html b/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchItemError.html index 575e9d3e5c9..e4bbae27588 100644 --- a/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchItemError.html +++ b/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchItemError.html @@ -1,4 +1,4 @@ BatchItemError | Amplify JS API Documentation -

    Contains the batch request error details associated with the request.

    interface BatchItemError {
        Code?: string;
        Message?: string;
    }

    Properties

    Code? +

    Contains the batch request error details associated with the request.

    interface BatchItemError {
        Code?: BatchItemErrorCode;
        Message?: string;
    }

    Properties

    Properties

    Code?: string

    The error code associated with the batch request error.

    Message?: string

    A message with the reason for the batch request error.

    \ No newline at end of file +

    Properties

    The error code associated with the batch request error.

    Message?: string

    A message with the reason for the batch request error.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchPutGeofenceRequestEntry.html b/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchPutGeofenceRequestEntry.html index 7a85a40be90..9b9be6fd697 100644 --- a/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchPutGeofenceRequestEntry.html +++ b/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchPutGeofenceRequestEntry.html @@ -6,9 +6,9 @@ pair stored with the geofence and added to any geofence event triggered with that geofence.

    Format: "key" : "value" -

    Geometry: undefined | GeofenceGeometry

    Contains the details of the position of the geofence. Can be either a - polygon or a circle. Including both will return a validation error.

    +

    Geometry: undefined | GeofenceGeometry

    Contains the details to specify the position of the geofence. Can be a + polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

    -

    Each - geofence polygon can have a maximum of 1,000 vertices.

    +

    The + geofence polygon format supports a maximum of 1,000 vertices. The Geofence geobuf format supports a maximum of 100,000 vertices.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.GeofenceGeometry.html b/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.GeofenceGeometry.html index 055ca2edff8..9155ce7ff7c 100644 --- a/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.GeofenceGeometry.html +++ b/docs/api/interfaces/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.GeofenceGeometry.html @@ -1,13 +1,15 @@ GeofenceGeometry | Amplify JS API Documentation

    Contains the geofence geometry details.

    -

    A geofence geometry is made up of either a polygon or a circle. Can be either a - polygon or a circle. Including both will return a validation error.

    +

    A geofence geometry is made up of either a polygon or a circle. Can be a + polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

    Amazon Location doesn't currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.

    -
    interface GeofenceGeometry {
        Circle?: Circle;
        Polygon?: number[][][];
    }

    Properties

    interface GeofenceGeometry {
        Circle?: Circle;
        Geobuf?: Uint8Array;
        Polygon?: number[][][];
    }

    Properties

    Properties

    Circle?: Circle

    A circle on the earth, as defined by a center point and a radius.

    Polygon?: number[][][]

    A polygon is a list of linear rings which are each made up of a list of +

    Properties

    Circle?: Circle

    A circle on the earth, as defined by a center point and a radius.

    Geobuf?: Uint8Array

    Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons. The Geobuf must be Base64-encoded.

    +

    A polygon in Geobuf format can have up to 100,000 vertices.

    Polygon?: number[][][]

    A polygon is a list of linear rings which are each made up of a list of vertices.

    Each vertex is a 2-dimensional point of the form: [longitude, latitude]. This is represented as an array of doubles of length 2 (so [double, @@ -19,4 +21,4 @@

    A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...]).

    -

    A linear ring for use in geofences can consist of between 4 and 1,000 vertices.

    \ No newline at end of file +

    A linear ring for use in geofences can consist of between 4 and 1,000 vertices.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortHandler.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortHandler.html index e1adb122590..13b60aab615 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortHandler.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortHandler.html @@ -1,2 +1,2 @@ AbortHandler | Amplify JS API Documentation -
    interface AbortHandler ((this, ev) => any)
    • Parameters

      Returns any

    \ No newline at end of file +
    interface AbortHandler ((this, ev) => any)
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortSignal-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortSignal-1.html index d8e056ac964..1aea67d9041 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortSignal-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortSignal-1.html @@ -1,20 +1,11 @@ AbortSignal | Amplify JS API Documentation -

    A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object.

    -
    interface AbortSignal {
        aborted: boolean;
        onabort: null | ((this, ev) => any);
        reason: any;
        addEventListener<K>(type, listener, options?): void;
        addEventListener(type, listener, options?): void;
        dispatchEvent(event): boolean;
        removeEventListener<K>(type, listener, options?): void;
        removeEventListener(type, listener, options?): void;
        throwIfAborted(): void;
    }

    Hierarchy (view full)

    Properties

    aborted: boolean

    Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.

    -
    onabort: null | ((this, ev) => any)

    Type declaration

    reason: any

    Methods

    • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

      -

      The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

      -

      When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

      -

      When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

      -

      When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

      -

      If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

      -

      The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

      -

      Type Parameters

      • K extends "abort"

      Parameters

      Returns void

    • Parameters

      Returns void

    • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

      -

      Parameters

      Returns boolean

    • Returns void

    \ No newline at end of file +

    Deprecated

    use platform (global) type for AbortSignal.

    +

    Holders of an AbortSignal object may query if the associated operation has +been aborted and register an onabort handler.

    +

    See

    https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal

    +
    interface AbortSignal {
        aborted: boolean;
        onabort: null | Function | AbortHandler;
    }

    Properties

    Properties

    aborted: boolean

    Whether the action represented by this signal has been cancelled.

    +
    onabort: null | Function | AbortHandler

    A function to be invoked when the action represented by this signal has +been cancelled.

    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortSignal.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortSignal.html index d764e3cead7..d3dc247ef31 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortSignal.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AbortSignal.html @@ -1,10 +1,20 @@ AbortSignal | Amplify JS API Documentation -

    Holders of an AbortSignal object may query if the associated operation has -been aborted and register an onabort handler.

    -
    interface AbortSignal {
        aborted: boolean;
        onabort: null | Function | AbortHandler;
    }

    Properties

    aborted +

    A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object.

    +
    interface AbortSignal {
        aborted: boolean;
        onabort: null | ((this, ev) => any);
        reason: any;
        addEventListener<K>(type, listener, options?): void;
        addEventListener(type, listener, options?): void;
        dispatchEvent(event): boolean;
        removeEventListener<K>(type, listener, options?): void;
        removeEventListener(type, listener, options?): void;
        throwIfAborted(): void;
    }

    Hierarchy (view full)

    Properties

    Properties

    aborted: boolean

    Whether the action represented by this signal has been cancelled.

    -
    onabort: null | Function | AbortHandler

    A function to be invoked when the action represented by this signal has -been cancelled.

    -
    \ No newline at end of file +reason +

    Methods

    Properties

    aborted: boolean

    Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.

    +
    onabort: null | ((this, ev) => any)

    Type declaration

    reason: any

    Methods

    • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

      +

      The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

      +

      When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

      +

      When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

      +

      When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

      +

      If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

      +

      The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

      +

      Type Parameters

      • K extends "abort"

      Parameters

      Returns void

    • Parameters

      Returns void

    • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

      +

      Parameters

      Returns boolean

    • Returns void

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Adapter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Adapter.html new file mode 100644 index 00000000000..3020dabb11c --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Adapter.html @@ -0,0 +1,26 @@ +Adapter | Amplify JS API Documentation +

    An adapter selected for use when analyzing documents. Contains an adapter ID and a version number. + Contains information on pages selected for analysis when analyzing documents asychronously.

    interface Adapter {
        AdapterId: undefined | string;
        Pages?: string[];
        Version: undefined | string;
    }

    Properties

    Properties

    AdapterId: undefined | string

    A unique identifier for the adapter resource.

    Pages?: string[]

    Pages is a parameter that the user inputs to specify which pages to apply an adapter to. The following is a + list of rules for using this parameter.

    +
      +
    • +

      If a page is not specified, it is set to ["1"] by default.

      +
    • +
    • +

      The following characters are allowed in the parameter's string: + 0 1 2 3 4 5 6 7 8 9 - *. No whitespace is allowed.

      +
    • +
    • +

      When using * to indicate all pages, it must be the only element in the list.

      +
    • +
    • +

      You can use page intervals, such as ["1-3", "1-1", "4-*"]. Where * indicates last page of + document.

      +
    • +
    • +

      Specified pages must be greater than 0 and less than or equal to the number of pages in the document.

      +
    • +
    Version: undefined | string

    A string that identifies the version of the adapter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterOverview.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterOverview.html new file mode 100644 index 00000000000..61c2350c977 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterOverview.html @@ -0,0 +1,6 @@ +AdapterOverview | Amplify JS API Documentation +

    Contains information on the adapter, including the adapter ID, Name, Creation time, and feature types.

    interface AdapterOverview {
        AdapterId?: string;
        AdapterName?: string;
        CreationTime?: Date;
        FeatureTypes?: FeatureType[];
    }

    Properties

    AdapterId?: string

    A unique identifier for the adapter resource.

    AdapterName?: string

    A string naming the adapter resource.

    CreationTime?: Date

    The date and time that the adapter was created.

    FeatureTypes?: FeatureType[]

    The feature types that the adapter is operating on.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionDatasetConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionDatasetConfig.html new file mode 100644 index 00000000000..3524c021551 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionDatasetConfig.html @@ -0,0 +1,12 @@ +AdapterVersionDatasetConfig | Amplify JS API Documentation +

    The dataset configuration options for a given version of an adapter. + Can include an Amazon S3 bucket if specified.

    interface AdapterVersionDatasetConfig {
        ManifestS3Object?: S3Object;
    }

    Properties

    Properties

    ManifestS3Object?: S3Object

    The S3 bucket name and file name that identifies the document.

    +

    The AWS Region for the S3 bucket that contains the document must match the Region that + you use for Amazon Textract operations.

    +

    For Amazon Textract to process a file in an S3 bucket, the user must have + permission to access the S3 bucket and file. + +

      </p>
    +
    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionEvaluationMetric.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionEvaluationMetric.html new file mode 100644 index 00000000000..a851cb0d63c --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionEvaluationMetric.html @@ -0,0 +1,6 @@ +AdapterVersionEvaluationMetric | Amplify JS API Documentation +

    Contains information on the metrics used to evalute the peformance of a given adapter version. Includes data for + baseline model performance and individual adapter version perfromance.

    interface AdapterVersionEvaluationMetric {
        AdapterVersion?: EvaluationMetric;
        Baseline?: EvaluationMetric;
        FeatureType?: FeatureType;
    }

    Properties

    AdapterVersion?: EvaluationMetric

    The F1 score, precision, and recall metrics for the baseline model.

    Baseline?: EvaluationMetric

    The F1 score, precision, and recall metrics for the baseline model.

    FeatureType?: FeatureType

    Indicates the feature type being analyzed by a given adapter version.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionOverview.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionOverview.html new file mode 100644 index 00000000000..7cb3aba97d9 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdapterVersionOverview.html @@ -0,0 +1,8 @@ +AdapterVersionOverview | Amplify JS API Documentation +

    Summary info for an adapter version. Contains information on the AdapterId, AdapterVersion, CreationTime, FeatureTypes, and Status.

    interface AdapterVersionOverview {
        AdapterId?: string;
        AdapterVersion?: string;
        CreationTime?: Date;
        FeatureTypes?: FeatureType[];
        Status?: AdapterVersionStatus;
        StatusMessage?: string;
    }

    Properties

    AdapterId?: string

    A unique identifier for the adapter associated with a given adapter version.

    AdapterVersion?: string

    An identified for a given adapter version.

    CreationTime?: Date

    The date and time that a given adapter version was created.

    FeatureTypes?: FeatureType[]

    The feature types that the adapter version is operating on.

    Contains information on the status of a given adapter version.

    StatusMessage?: string

    A message explaining the status of a given adapter vesion.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdaptersConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdaptersConfig.html new file mode 100644 index 00000000000..30646a53ea6 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AdaptersConfig.html @@ -0,0 +1,4 @@ +AdaptersConfig | Amplify JS API Documentation +

    Contains information about adapters used when analyzing a document, + with each adapter specified using an AdapterId and version

    interface AdaptersConfig {
        Adapters: undefined | Adapter[];
    }

    Properties

    Properties

    Adapters: undefined | Adapter[]

    A list of adapters to be used when analyzing the specified document.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AddEventListenerOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AddEventListenerOptions.html index 184e9fb5698..c2cb2441448 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AddEventListenerOptions.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AddEventListenerOptions.html @@ -1,6 +1,6 @@ AddEventListenerOptions | Amplify JS API Documentation -
    interface AddEventListenerOptions {
        capture?: boolean;
        once?: boolean;
        passive?: boolean;
        signal?: AbortSignal;
    }

    Hierarchy (view full)

    Properties

    capture? +
    interface AddEventListenerOptions {
        capture?: boolean;
        once?: boolean;
        passive?: boolean;
        signal?: AbortSignal;
    }

    Hierarchy (view full)

    Properties

    capture?: boolean
    once?: boolean
    passive?: boolean
    signal?: AbortSignal
    \ No newline at end of file +

    Properties

    capture?: boolean
    once?: boolean
    passive?: boolean
    signal?: AbortSignal
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AgentOptions-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AgentOptions-1.html new file mode 100644 index 00000000000..eae76d2abfb --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AgentOptions-1.html @@ -0,0 +1,38 @@ +AgentOptions | Amplify JS API Documentation +
    interface AgentOptions {
        ALPNProtocols?: string[] | Buffer | Uint8Array | Buffer[] | Uint8Array[];
        NPNProtocols?: string[] | Buffer | Uint8Array | Buffer[] | Uint8Array[];
        ca?: string | Buffer | (string | Buffer)[];
        cert?: string | Buffer | (string | Buffer)[];
        checkServerIdentity?: ((host, cert) => Error | undefined);
        ciphers?: string;
        crl?: string | Buffer | (string | Buffer)[];
        dhparam?: string | Buffer;
        ecdhCurve?: string;
        honorCipherOrder?: boolean;
        host?: string;
        keepAlive?: boolean;
        keepAliveMsecs?: number;
        key?: string | Buffer | (Object | Buffer)[];
        lookup?: LookupFunction;
        maxCachedSessions?: number;
        maxFreeSockets?: number;
        maxSockets?: number;
        minDHSize?: number;
        passphrase?: string;
        path?: string;
        pfx?: string | Buffer | (string | Object | Buffer)[];
        port?: number;
        rejectUnauthorized?: boolean;
        secureContext?: SecureContext;
        secureOptions?: number;
        secureProtocol?: string;
        servername?: string;
        session?: Buffer;
        sessionIdContext?: string;
        socket?: Socket;
    }

    Hierarchy (view full)

    Properties

    ALPNProtocols?: string[] | Buffer | Uint8Array | Buffer[] | Uint8Array[]
    NPNProtocols?: string[] | Buffer | Uint8Array | Buffer[] | Uint8Array[]
    ca?: string | Buffer | (string | Buffer)[]
    cert?: string | Buffer | (string | Buffer)[]
    checkServerIdentity?: ((host, cert) => Error | undefined)

    Type declaration

    ciphers?: string
    crl?: string | Buffer | (string | Buffer)[]
    dhparam?: string | Buffer
    ecdhCurve?: string
    honorCipherOrder?: boolean
    host?: string
    keepAlive?: boolean

    Keep sockets around in a pool to be used by other requests in the future. Default = false

    +
    keepAliveMsecs?: number

    When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000. +Only relevant if keepAlive is set to true.

    +
    key?: string | Buffer | (Object | Buffer)[]
    maxCachedSessions?: number
    maxFreeSockets?: number

    Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256.

    +
    maxSockets?: number

    Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity

    +
    minDHSize?: number
    passphrase?: string
    path?: string
    pfx?: string | Buffer | (string | Object | Buffer)[]
    port?: number
    rejectUnauthorized?: boolean
    secureContext?: SecureContext
    secureOptions?: number
    secureProtocol?: string
    servername?: string
    session?: Buffer
    sessionIdContext?: string
    socket?: Socket
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AgentOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AgentOptions.html new file mode 100644 index 00000000000..9bac9a9569b --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AgentOptions.html @@ -0,0 +1,11 @@ +AgentOptions | Amplify JS API Documentation +
    interface AgentOptions {
        keepAlive?: boolean;
        keepAliveMsecs?: number;
        maxFreeSockets?: number;
        maxSockets?: number;
    }

    Hierarchy (view full)

    Properties

    keepAlive?: boolean

    Keep sockets around in a pool to be used by other requests in the future. Default = false

    +
    keepAliveMsecs?: number

    When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000. +Only relevant if keepAlive is set to true.

    +
    maxFreeSockets?: number

    Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256.

    +
    maxSockets?: number

    Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity

    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AnalyzeDocumentCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AnalyzeDocumentCommandInput.html index cd47c073d3d..56f3e1b406b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AnalyzeDocumentCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AnalyzeDocumentCommandInput.html @@ -1,18 +1,17 @@ AnalyzeDocumentCommandInput | Amplify JS API Documentation

    The input for AnalyzeDocumentCommand.

    -
    interface AnalyzeDocumentCommandInput {
        Document: undefined | Document;
        FeatureTypes: undefined | string[];
        HumanLoopConfig?: HumanLoopConfig;
        QueriesConfig?: QueriesConfig;
    }

    Hierarchy (view full)

    Properties

    interface AnalyzeDocumentCommandInput {
        AdaptersConfig?: AdaptersConfig;
        Document: undefined | Document;
        FeatureTypes: undefined | FeatureType[];
        HumanLoopConfig?: HumanLoopConfig;
        QueriesConfig?: QueriesConfig;
    }

    Hierarchy (view full)

    Properties

    Document: undefined | Document

    The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS +

    Properties

    AdaptersConfig?: AdaptersConfig

    Specifies the adapter to be used when analyzing a document.

    Document: undefined | Document

    The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPEG, PNG, PDF, or TIFF format.

    If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode - image bytes that are passed using the Bytes field.

    FeatureTypes: undefined | string[]

    A list of the types of analysis to perform. Add TABLES to the list to return information + image bytes that are passed using the Bytes field.

    FeatureTypes: undefined | FeatureType[]

    A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form - data. Add SIGNATURES to return the locations of detected signatures. To perform both forms - and table analysis, add TABLES and FORMS to FeatureTypes. To detect signatures within - form data and table data, add SIGNATURES to either TABLES or FORMS. - All lines and words detected in the document are included in the response (including text - that isn't related to the value of FeatureTypes).

    HumanLoopConfig?: HumanLoopConfig

    Sets the configuration for the human in the loop workflow for analyzing - documents.

    QueriesConfig?: QueriesConfig

    Contains Queries and the alias for those Queries, as determined by the input.

    \ No newline at end of file + data. Add SIGNATURES to return the locations of detected signatures. Add LAYOUT to the list + to return information about the layout of the document. All lines and words detected in the document are included in the response (including + text that isn't related to the value of FeatureTypes).

    HumanLoopConfig?: HumanLoopConfig

    Sets the configuration for the human in the loop workflow for analyzing + documents.

    QueriesConfig?: QueriesConfig

    Contains Queries and the alias for those Queries, as determined by the input.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AnalyzeDocumentRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AnalyzeDocumentRequest.html index 43577cb7de3..34181d11b07 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AnalyzeDocumentRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AnalyzeDocumentRequest.html @@ -1,17 +1,16 @@ AnalyzeDocumentRequest | Amplify JS API Documentation -
    interface AnalyzeDocumentRequest {
        Document: undefined | Document;
        FeatureTypes: undefined | string[];
        HumanLoopConfig?: HumanLoopConfig;
        QueriesConfig?: QueriesConfig;
    }

    Hierarchy (view full)

    Properties

    Document +
    interface AnalyzeDocumentRequest {
        AdaptersConfig?: AdaptersConfig;
        Document: undefined | Document;
        FeatureTypes: undefined | FeatureType[];
        HumanLoopConfig?: HumanLoopConfig;
        QueriesConfig?: QueriesConfig;
    }

    Hierarchy (view full)

    Properties

    Document: undefined | Document

    The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS +

    Properties

    AdaptersConfig?: AdaptersConfig

    Specifies the adapter to be used when analyzing a document.

    Document: undefined | Document

    The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPEG, PNG, PDF, or TIFF format.

    If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode - image bytes that are passed using the Bytes field.

    FeatureTypes: undefined | string[]

    A list of the types of analysis to perform. Add TABLES to the list to return information + image bytes that are passed using the Bytes field.

    FeatureTypes: undefined | FeatureType[]

    A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form - data. Add SIGNATURES to return the locations of detected signatures. To perform both forms - and table analysis, add TABLES and FORMS to FeatureTypes. To detect signatures within - form data and table data, add SIGNATURES to either TABLES or FORMS. - All lines and words detected in the document are included in the response (including text - that isn't related to the value of FeatureTypes).

    HumanLoopConfig?: HumanLoopConfig

    Sets the configuration for the human in the loop workflow for analyzing - documents.

    QueriesConfig?: QueriesConfig

    Contains Queries and the alias for those Queries, as determined by the input.

    \ No newline at end of file + data. Add SIGNATURES to return the locations of detected signatures. Add LAYOUT to the list + to return information about the layout of the document. All lines and words detected in the document are included in the response (including + text that isn't related to the value of FeatureTypes).

    HumanLoopConfig?: HumanLoopConfig

    Sets the configuration for the human in the loop workflow for analyzing + documents.

    QueriesConfig?: QueriesConfig

    Contains Queries and the alias for those Queries, as determined by the input.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AssociateFacesCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AssociateFacesCommandOutput.html index 2feeed50d8c..2b02e31cdaa 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AssociateFacesCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AssociateFacesCommandOutput.html @@ -1,11 +1,11 @@ AssociateFacesCommandOutput | Amplify JS API Documentation

    The output of AssociateFacesCommand.

    -
    interface AssociateFacesCommandOutput {
        $metadata: ResponseMetadata;
        AssociatedFaces?: AssociatedFace[];
        UnsuccessfulFaceAssociations?: UnsuccessfulFaceAssociation[];
        UserStatus?: string;
    }

    Hierarchy (view full)

    Properties

    interface AssociateFacesCommandOutput {
        $metadata: ResponseMetadata;
        AssociatedFaces?: AssociatedFace[];
        UnsuccessfulFaceAssociations?: UnsuccessfulFaceAssociation[];
        UserStatus?: UserStatus;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    AssociatedFaces?: AssociatedFace[]

    An array of AssociatedFace objects containing FaceIDs that are successfully associated - with the UserID is returned. Returned if the AssociateFaces action is successful.

    UnsuccessfulFaceAssociations?: UnsuccessfulFaceAssociation[]

    An array of UnsuccessfulAssociation objects containing FaceIDs that are not successfully - associated along with the reasons. Returned if the AssociateFaces action is successful.

    UserStatus?: string

    The status of an update made to a UserID. Reflects if the UserID has been updated for +

    AssociatedFaces?: AssociatedFace[]

    An array of AssociatedFace objects containing FaceIDs that have been successfully associated + with the UserID. Returned if the AssociateFaces action is successful.

    UnsuccessfulFaceAssociations?: UnsuccessfulFaceAssociation[]

    An array of UnsuccessfulAssociation objects containing FaceIDs that are not successfully + associated along with the reasons. Returned if the AssociateFaces action is successful.

    UserStatus?: UserStatus

    The status of an update made to a UserID. Reflects if the UserID has been updated for every requested change.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AssociateFacesResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AssociateFacesResponse.html index 0e8ee2b0980..246b6b07b60 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AssociateFacesResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AssociateFacesResponse.html @@ -1,8 +1,8 @@ AssociateFacesResponse | Amplify JS API Documentation -
    interface AssociateFacesResponse {
        AssociatedFaces?: AssociatedFace[];
        UnsuccessfulFaceAssociations?: UnsuccessfulFaceAssociation[];
        UserStatus?: string;
    }

    Hierarchy (view full)

    Properties

    AssociatedFaces? +
    interface AssociateFacesResponse {
        AssociatedFaces?: AssociatedFace[];
        UnsuccessfulFaceAssociations?: UnsuccessfulFaceAssociation[];
        UserStatus?: UserStatus;
    }

    Hierarchy (view full)

    Properties

    AssociatedFaces?: AssociatedFace[]

    An array of AssociatedFace objects containing FaceIDs that are successfully associated - with the UserID is returned. Returned if the AssociateFaces action is successful.

    UnsuccessfulFaceAssociations?: UnsuccessfulFaceAssociation[]

    An array of UnsuccessfulAssociation objects containing FaceIDs that are not successfully - associated along with the reasons. Returned if the AssociateFaces action is successful.

    UserStatus?: string

    The status of an update made to a UserID. Reflects if the UserID has been updated for +

    Properties

    AssociatedFaces?: AssociatedFace[]

    An array of AssociatedFace objects containing FaceIDs that have been successfully associated + with the UserID. Returned if the AssociateFaces action is successful.

    UnsuccessfulFaceAssociations?: UnsuccessfulFaceAssociation[]

    An array of UnsuccessfulAssociation objects containing FaceIDs that are not successfully + associated along with the reasons. Returned if the AssociateFaces action is successful.

    UserStatus?: UserStatus

    The status of an update made to a UserID. Reflects if the UserID has been updated for every requested change.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AugmentedManifestsListItem.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AugmentedManifestsListItem.html index 9723943db8b..98055704655 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AugmentedManifestsListItem.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AugmentedManifestsListItem.html @@ -1,6 +1,6 @@ AugmentedManifestsListItem | Amplify JS API Documentation

    An augmented manifest file that provides training data for your custom model. An augmented - manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.

    interface AugmentedManifestsListItem {
        AnnotationDataS3Uri?: string;
        AttributeNames: undefined | string[];
        DocumentType?: string;
        S3Uri: undefined | string;
        SourceDocumentsS3Uri?: string;
        Split?: string;
    }

    Properties

    AnnotationDataS3Uri? + manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.

    interface AugmentedManifestsListItem {
        AnnotationDataS3Uri?: string;
        AttributeNames: undefined | string[];
        DocumentType?: AugmentedManifestsDocumentTypeFormat;
        S3Uri: undefined | string;
        SourceDocumentsS3Uri?: string;
        Split?: Split;
    }

    Properties

    AnnotationDataS3Uri? AttributeNames DocumentType? S3Uri @@ -14,7 +14,7 @@ that was used when the job was created in Ground Truth.

    If your file is the output of a chained labeling job, specify the LabelAttributeName key for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from - an individual job.

    DocumentType?: string

    The type of augmented manifest. PlainTextDocument or SemiStructuredDocument. If you don't + an individual job.

    The type of augmented manifest. PlainTextDocument or SemiStructuredDocument. If you don't specify, the default is PlainTextDocument.

    • @@ -29,7 +29,7 @@ inference, Amazon Comprehend support PDFs, DOCX and TXT.

    S3Uri: undefined | string

    The Amazon S3 location of the augmented manifest file.

    SourceDocumentsS3Uri?: string

    The S3 prefix to the source files (PDFs) that are referred to in the augmented manifest - file.

    Split?: string

    The purpose of the data you've provided in the augmented manifest. You can either train or + file.

    Split?: Split

    The purpose of the data you've provided in the augmented manifest. You can either train or test this data. If you don't specify, the default is train.

    TRAIN - all of the documents in the manifest will be used for training. If no test documents are provided, Amazon Comprehend will automatically reserve a portion of the training diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsAuthResolvedConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsAuthResolvedConfig.html deleted file mode 100644 index 1631b246dbb..00000000000 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsAuthResolvedConfig.html +++ /dev/null @@ -1,13 +0,0 @@ -AwsAuthResolvedConfig | Amplify JS API Documentation -

    interface AwsAuthResolvedConfig {
        credentials: MemoizedProvider<AwsCredentialIdentity>;
        signer: ((authScheme?) => Promise<RequestSigner>);
        signingEscapePath: boolean;
        systemClockOffset: number;
    }

    Properties

    Resolved value for input config AwsAuthInputConfig.credentials -This provider MAY memoize the loaded credentials for certain period. -See MemoizedProvider for more information.

    -
    signer: ((authScheme?) => Promise<RequestSigner>)

    Resolved value for input config AwsAuthInputConfig.signer

    -

    Type declaration

    signingEscapePath: boolean

    Resolved value for input config AwsAuthInputConfig.signingEscapePath

    -
    systemClockOffset: number

    Resolved value for input config AwsAuthInputConfig.systemClockOffset

    -
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsCredentialIdentity.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsCredentialIdentity.html index d95ae71262e..1fd19657f0a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsCredentialIdentity.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.AwsCredentialIdentity.html @@ -1,13 +1,15 @@ AwsCredentialIdentity | Amplify JS API Documentation -
    interface AwsCredentialIdentity {
        accessKeyId: string;
        credentialScope?: string;
        expiration?: Date;
        secretAccessKey: string;
        sessionToken?: string;
    }

    Hierarchy (view full)

    Properties

    accessKeyId +
    interface AwsCredentialIdentity {
        accessKeyId: string;
        accountId?: string;
        credentialScope?: string;
        expiration?: Date;
        secretAccessKey: string;
        sessionToken?: string;
    }

    Hierarchy (view full)

    Properties

    accessKeyId: string

    AWS access key ID

    +
    accountId?: string

    AWS accountId.

    credentialScope?: string

    AWS credential scope for this set of credentials.

    expiration?: Date

    A Date when the identity or credential will no longer be accepted.

    secretAccessKey: string

    AWS secret access key

    sessionToken?: string

    A security or session token to use with these credentials. Usually present for temporary credentials.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectEntitiesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectEntitiesCommandInput.html index 1687eda0f4d..21db9585162 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectEntitiesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectEntitiesCommandInput.html @@ -1,7 +1,7 @@ BatchDetectEntitiesCommandInput | Amplify JS API Documentation

    The input for BatchDetectEntitiesCommand.

    -
    interface BatchDetectEntitiesCommandInput {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    interface BatchDetectEntitiesCommandInput {
        LanguageCode: undefined | LanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectEntitiesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectEntitiesRequest.html index e592ea46cc0..8eed911271e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectEntitiesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectEntitiesRequest.html @@ -1,6 +1,6 @@ BatchDetectEntitiesRequest | Amplify JS API Documentation -
    interface BatchDetectEntitiesRequest {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface BatchDetectEntitiesRequest {
        LanguageCode: undefined | LanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectKeyPhrasesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectKeyPhrasesCommandInput.html index f61e14bc1a3..78075e7204e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectKeyPhrasesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectKeyPhrasesCommandInput.html @@ -1,7 +1,7 @@ BatchDetectKeyPhrasesCommandInput | Amplify JS API Documentation

    The input for BatchDetectKeyPhrasesCommand.

    -
    interface BatchDetectKeyPhrasesCommandInput {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    interface BatchDetectKeyPhrasesCommandInput {
        LanguageCode: undefined | LanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectKeyPhrasesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectKeyPhrasesRequest.html index 229fd2133be..8e586d4abe0 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectKeyPhrasesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectKeyPhrasesRequest.html @@ -1,6 +1,6 @@ BatchDetectKeyPhrasesRequest | Amplify JS API Documentation -
    interface BatchDetectKeyPhrasesRequest {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface BatchDetectKeyPhrasesRequest {
        LanguageCode: undefined | LanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentCommandInput.html index d5507c78eb0..f413af57eaf 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentCommandInput.html @@ -1,7 +1,7 @@ BatchDetectSentimentCommandInput | Amplify JS API Documentation

    The input for BatchDetectSentimentCommand.

    -
    interface BatchDetectSentimentCommandInput {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    interface BatchDetectSentimentCommandInput {
        LanguageCode: undefined | LanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentItemResult.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentItemResult.html index 8ce016cbba2..17a62edb830 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentItemResult.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentItemResult.html @@ -1,8 +1,8 @@ BatchDetectSentimentItemResult | Amplify JS API Documentation

    The result of calling the operation. The operation returns one object for each document that is successfully processed by the - operation.

    interface BatchDetectSentimentItemResult {
        Index?: number;
        Sentiment?: string;
        SentimentScore?: SentimentScore;
    }

    Properties

    Index? + operation.

    interface BatchDetectSentimentItemResult {
        Index?: number;
        Sentiment?: SentimentType;
        SentimentScore?: SentimentScore;
    }

    Properties

    Index?: number

    The zero-based index of the document in the input list.

    Sentiment?: string

    The sentiment detected in the document.

    SentimentScore?: SentimentScore

    The level of confidence that Amazon Comprehend has in the accuracy of its sentiment +

    Properties

    Index?: number

    The zero-based index of the document in the input list.

    Sentiment?: SentimentType

    The sentiment detected in the document.

    SentimentScore?: SentimentScore

    The level of confidence that Amazon Comprehend has in the accuracy of its sentiment detection.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentRequest.html index 9567e6cf4f9..0e3adc9e66b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSentimentRequest.html @@ -1,6 +1,6 @@ BatchDetectSentimentRequest | Amplify JS API Documentation -
    interface BatchDetectSentimentRequest {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface BatchDetectSentimentRequest {
        LanguageCode: undefined | LanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSyntaxCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSyntaxCommandInput.html index 7b59b9d51a3..8b5a175ef16 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSyntaxCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSyntaxCommandInput.html @@ -1,8 +1,8 @@ BatchDetectSyntaxCommandInput | Amplify JS API Documentation

    The input for BatchDetectSyntaxCommand.

    -
    interface BatchDetectSyntaxCommandInput {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    interface BatchDetectSyntaxCommandInput {
        LanguageCode: undefined | SyntaxLanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the following languages +

    Properties

    LanguageCode: undefined | SyntaxLanguageCode

    The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be in the same language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size for each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSyntaxRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSyntaxRequest.html index 1a38b4e9776..8191109bc8c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSyntaxRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectSyntaxRequest.html @@ -1,7 +1,7 @@ BatchDetectSyntaxRequest | Amplify JS API Documentation -
    interface BatchDetectSyntaxRequest {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface BatchDetectSyntaxRequest {
        LanguageCode: undefined | SyntaxLanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the following languages +

    Properties

    LanguageCode: undefined | SyntaxLanguageCode

    The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be in the same language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size for each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectTargetedSentimentCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectTargetedSentimentCommandInput.html index 92679aa24d7..07eac464cd4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectTargetedSentimentCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectTargetedSentimentCommandInput.html @@ -1,6 +1,6 @@ BatchDetectTargetedSentimentCommandInput | Amplify JS API Documentation

    The input for BatchDetectTargetedSentimentCommand.

    -
    interface BatchDetectTargetedSentimentCommandInput {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    interface BatchDetectTargetedSentimentCommandInput {
        LanguageCode: undefined | LanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. Currently, English is the only supported language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. Currently, English is the only supported language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectTargetedSentimentRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectTargetedSentimentRequest.html index 8c7a5f6c958..85f6b03f8b6 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectTargetedSentimentRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.BatchDetectTargetedSentimentRequest.html @@ -1,5 +1,5 @@ BatchDetectTargetedSentimentRequest | Amplify JS API Documentation -
    interface BatchDetectTargetedSentimentRequest {
        LanguageCode: undefined | string;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface BatchDetectTargetedSentimentRequest {
        LanguageCode: undefined | LanguageCode;
        TextList: undefined | string[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | string

    The language of the input documents. Currently, English is the only supported language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. Currently, English is the only supported language.

    TextList: undefined | string[]

    A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Block-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Block-1.html index 02b5c42d423..4435e00ff67 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Block-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Block-1.html @@ -1,12 +1,12 @@ Block | Amplify JS API Documentation

    Information about each word or line of text in the input document.

    -

    For additional information, see Block in the Amazon Textract API reference.

    interface Block {
        BlockType?: string;
        Geometry?: Geometry;
        Id?: string;
        Page?: number;
        Relationships?: RelationshipsListItem[];
        Text?: string;
    }

    Properties

    BlockType? +

    For additional information, see Block in the Amazon Textract API reference.

    interface Block {
        BlockType?: BlockType;
        Geometry?: Geometry;
        Id?: string;
        Page?: number;
        Relationships?: RelationshipsListItem[];
        Text?: string;
    }

    Properties

    BlockType?: string

    The block represents a line of text or one word of text.

    +

    Properties

    BlockType?: BlockType

    The block represents a line of text or one word of text.

    • WORD - A word that's detected on a document page. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Block.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Block.html index 64b13bcf826..7309d537834 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Block.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Block.html @@ -10,7 +10,7 @@ array of Block objects is the entire set of results. In asynchronous operations, such as GetDocumentAnalysis, the array is returned over one or more responses.

      -

      For more information, see How Amazon Textract Works.

    interface Block {
        BlockType?: string;
        ColumnIndex?: number;
        ColumnSpan?: number;
        Confidence?: number;
        EntityTypes?: string[];
        Geometry?: Geometry;
        Id?: string;
        Page?: number;
        Query?: Query;
        Relationships?: Relationship[];
        RowIndex?: number;
        RowSpan?: number;
        SelectionStatus?: string;
        Text?: string;
        TextType?: string;
    }

    Properties

    BlockType? +

    For more information, see How Amazon Textract Works.

    interface Block {
        BlockType?: BlockType;
        ColumnIndex?: number;
        ColumnSpan?: number;
        Confidence?: number;
        EntityTypes?: EntityType[];
        Geometry?: Geometry;
        Id?: string;
        Page?: number;
        Query?: Query;
        Relationships?: Relationship[];
        RowIndex?: number;
        RowSpan?: number;
        SelectionStatus?: SelectionStatus;
        Text?: string;
        TextType?: TextType;
    }

    Properties

    BlockType?: string

    The type of text item that's recognized. In operations for text detection, the following +

    Properties

    BlockType?: BlockType

    The type of text item that's recognized. In operations for text detection, the following types are returned:

    • @@ -105,7 +105,7 @@
    • - SIGNATURE - The location and confidene score of a signature detected on a + SIGNATURE - The location and confidence score of a signature detected on a document page. Can be returned as part of a Key-Value pair or a detected cell.

    • @@ -119,11 +119,54 @@ of analyze document. Comes with an alias and ID for ease of locating in a response. Also contains location and confidence score.

    • +
    +

    The following BlockTypes are only returned for Amazon Textract Layout.

    +
      +
    • +

      + LAYOUT_TITLE - The main title of the document.

      +
    • +
    • +

      + LAYOUT_HEADER - Text located in the top margin of the document.

      +
    • +
    • +

      + LAYOUT_FOOTER - Text located in the bottom margin of the document.

      +
    • +
    • +

      + LAYOUT_SECTION_HEADER - The titles of sections within a document.

      +
    • +
    • +

      + LAYOUT_PAGE_NUMBER - The page number of the documents.

      +
    • +
    • +

      + LAYOUT_LIST - Any information grouped together in list form.

      +
    • +
    • +

      + LAYOUT_FIGURE - Indicates the location of an image in a document.

      +
    • +
    • +

      + LAYOUT_TABLE - Indicates the location of a table in the document.

      +
    • +
    • +

      + LAYOUT_KEY_VALUE - Indicates the location of form key-values in a document.

      +
    • +
    • +

      + LAYOUT_TEXT - Text that is present typically as a part of paragraphs in documents.

      +
    ColumnIndex?: number

    The column in which a table cell appears. The first column position is 1. ColumnIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.

    ColumnSpan?: number

    The number of columns that a table cell spans. ColumnSpan isn't returned by DetectDocumentText and GetDocumentTextDetection.

    Confidence?: number

    The confidence score that Amazon Textract has in the accuracy of the recognized text and - the accuracy of the geometry points around the recognized text.

    EntityTypes?: string[]

    The type of entity.

    + the accuracy of the geometry points around the recognized text.

    EntityTypes?: EntityType[]

    The type of entity.

    The following entity types can be returned by FORMS analysis:

    • @@ -182,13 +225,12 @@ documents that are in PDF or TIFF format. A scanned image (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple document pages, is considered a single-page document. This means that for scanned images the value of Page is - always 1. Synchronous operations will also return a Page value of 1 - because every input document is considered to be a single-page document.

    Query?: Query

    Relationships?: Relationship[]

    A list of relationship objects that describe how blocks are related to each other. For + always 1.

    Query?: Query

    Relationships?: Relationship[]

    A list of relationship objects that describe how blocks are related to each other. For example, a LINE block object contains a CHILD relationship type with the WORD blocks that make up the line of text. There aren't Relationship objects in the list for relationships that don't exist, such as when the current block has no child blocks.

    RowIndex?: number

    The row in which a table cell is located. The first row position is 1. RowIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.

    RowSpan?: number

    The number of rows that a table cell spans. RowSpan isn't returned by - DetectDocumentText and GetDocumentTextDetection.

    SelectionStatus?: string

    The selection status of a selection element, such as an option button or check box. -

    Text?: string

    The word or line of text that's recognized by Amazon Textract.

    TextType?: string

    The kind of text that Amazon Textract has detected. Can check for handwritten text and + DetectDocumentText and GetDocumentTextDetection.

    SelectionStatus?: SelectionStatus

    The selection status of a selection element, such as an option button or check box. +

    Text?: string

    The word or line of text that's recognized by Amazon Textract.

    TextType?: TextType

    The kind of text that Amazon Textract has detected. Can check for handwritten text and printed text.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Certificate.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Certificate.html new file mode 100644 index 00000000000..faa6681c5b0 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Certificate.html @@ -0,0 +1,14 @@ +Certificate | Amplify JS API Documentation +
    interface Certificate {
        C: string;
        CN: string;
        L: string;
        O: string;
        OU: string;
        ST: string;
    }

    Properties

    C +CN +L +O +OU +ST +

    Properties

    C: string

    Country code.

    +
    CN: string

    Common name.

    +
    L: string

    Locality.

    +
    O: string

    Organization.

    +
    OU: string

    Organizational unit.

    +
    ST: string

    Street.

    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentCommandInput.html index dbc6ca8f672..619a55a94ac 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentCommandInput.html @@ -4,9 +4,10 @@ DocumentReaderConfig? EndpointArn Text? -

    Properties

    Bytes?: Uint8Array

    Use the Bytes parameter to input a text, PDF, Word or image file. - You can also use the Bytes parameter to input an Amazon Textract DetectDocumentText - or AnalyzeDocument output file.

    +

    Properties

    Bytes?: Uint8Array

    Use the Bytes parameter to input a text, PDF, Word or image file.

    +

    When you classify a document using a custom model, you can also use the Bytes parameter to input an Amazon Textract DetectDocumentText + or AnalyzeDocument output file.

    +

    To classify a document using the prompt safety classifier, use the Text parameter for input.

    Provide the input document as a sequence of base64-encoded bytes. If your code uses an Amazon Web Services SDK to classify documents, the SDK may encode the document file bytes for you.

    @@ -14,5 +15,9 @@ Inputs for real-time custom analysis in the Comprehend Developer Guide.

    If you use the Bytes parameter, do not use the Text parameter.

    DocumentReaderConfig?: DocumentReaderConfig

    Provides configuration parameters to override the default actions for extracting text - from PDF documents and image files.

    EndpointArn: undefined | string

    The Amazon Resource Number (ARN) of the endpoint. For information about endpoints, see Managing endpoints.

    Text?: string

    The document text to be analyzed. If you enter text using this parameter, + from PDF documents and image files.

    EndpointArn: undefined | string

    The Amazon Resource Number (ARN) of the endpoint.

    +

    For prompt safety classification, Amazon Comprehend provides the endpoint ARN. For more information about prompt safety classifiers, see Prompt safety classification in the Amazon Comprehend Developer Guide +

    +

    For custom classification, you create an endpoint for your custom model. For more information, + see Using Amazon Comprehend endpoints.

    Text?: string

    The document text to be analyzed. If you enter text using this parameter, do not use the Bytes parameter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentCommandOutput.html index 76a8454ad19..29cac7e6f4e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentCommandOutput.html @@ -8,13 +8,15 @@ Labels? Warnings?

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    Classes?: DocumentClass[]

    The classes used by the document being analyzed. These are used for multi-class trained - models. Individual classes are mutually exclusive and each document is expected to have only a +

    Classes?: DocumentClass[]

    The classes used by the document being analyzed. These are used for models trained in multi-class mode. + Individual classes are mutually exclusive and each document is expected to have only a single class assigned to it. For example, an animal can be a dog or a cat, but not both at the - same time.

    DocumentMetadata?: DocumentMetadata

    Extraction information about the document. This field is present + same time.

    +

    For prompt safety classification, the response includes only two classes (SAFE_PROMPT and UNSAFE_PROMPT), + along with a confidence score for each class. The value range of the score is zero to one, where one is the highest confidence.

    DocumentMetadata?: DocumentMetadata

    Extraction information about the document. This field is present in the response only if your request includes the Byte parameter.

    DocumentType?: DocumentTypeListItem[]

    The document type for each page in the input document. This field is present in the response only if your request includes the Byte parameter.

    Errors?: ErrorsListItem[]

    Page-level errors that the system detected while processing the input document. - The field is empty if the system encountered no errors.

    Labels?: DocumentLabel[]

    The labels used the document being analyzed. These are used for multi-label trained + The field is empty if the system encountered no errors.

    Labels?: DocumentLabel[]

    The labels used in the document being analyzed. These are used for multi-label trained models. Individual labels represent different categories that are related in some manner and are not mutually exclusive. For example, a movie can be just an action movie, or it can be an action movie, a science fiction movie, and a comedy, all at the same time.

    Warnings?: WarningsListItem[]

    Warnings detected while processing the input document. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentRequest.html index af24468cd84..598de3d57b5 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentRequest.html @@ -3,9 +3,10 @@ DocumentReaderConfig? EndpointArn Text? -

    Properties

    Bytes?: Uint8Array

    Use the Bytes parameter to input a text, PDF, Word or image file. - You can also use the Bytes parameter to input an Amazon Textract DetectDocumentText - or AnalyzeDocument output file.

    +

    Properties

    Bytes?: Uint8Array

    Use the Bytes parameter to input a text, PDF, Word or image file.

    +

    When you classify a document using a custom model, you can also use the Bytes parameter to input an Amazon Textract DetectDocumentText + or AnalyzeDocument output file.

    +

    To classify a document using the prompt safety classifier, use the Text parameter for input.

    Provide the input document as a sequence of base64-encoded bytes. If your code uses an Amazon Web Services SDK to classify documents, the SDK may encode the document file bytes for you.

    @@ -13,5 +14,9 @@ Inputs for real-time custom analysis in the Comprehend Developer Guide.

    If you use the Bytes parameter, do not use the Text parameter.

    DocumentReaderConfig?: DocumentReaderConfig

    Provides configuration parameters to override the default actions for extracting text - from PDF documents and image files.

    EndpointArn: undefined | string

    The Amazon Resource Number (ARN) of the endpoint. For information about endpoints, see Managing endpoints.

    Text?: string

    The document text to be analyzed. If you enter text using this parameter, + from PDF documents and image files.

    EndpointArn: undefined | string

    The Amazon Resource Number (ARN) of the endpoint.

    +

    For prompt safety classification, Amazon Comprehend provides the endpoint ARN. For more information about prompt safety classifiers, see Prompt safety classification in the Amazon Comprehend Developer Guide +

    +

    For custom classification, you create an endpoint for your custom model. For more information, + see Using Amazon Comprehend endpoints.

    Text?: string

    The document text to be analyzed. If you enter text using this parameter, do not use the Bytes parameter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentResponse.html index 0ad01d3d45e..3753d174c52 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClassifyDocumentResponse.html @@ -5,13 +5,15 @@ Errors? Labels? Warnings? -

    Properties

    Classes?: DocumentClass[]

    The classes used by the document being analyzed. These are used for multi-class trained - models. Individual classes are mutually exclusive and each document is expected to have only a +

    Properties

    Classes?: DocumentClass[]

    The classes used by the document being analyzed. These are used for models trained in multi-class mode. + Individual classes are mutually exclusive and each document is expected to have only a single class assigned to it. For example, an animal can be a dog or a cat, but not both at the - same time.

    DocumentMetadata?: DocumentMetadata

    Extraction information about the document. This field is present + same time.

    +

    For prompt safety classification, the response includes only two classes (SAFE_PROMPT and UNSAFE_PROMPT), + along with a confidence score for each class. The value range of the score is zero to one, where one is the highest confidence.

    DocumentMetadata?: DocumentMetadata

    Extraction information about the document. This field is present in the response only if your request includes the Byte parameter.

    DocumentType?: DocumentTypeListItem[]

    The document type for each page in the input document. This field is present in the response only if your request includes the Byte parameter.

    Errors?: ErrorsListItem[]

    Page-level errors that the system detected while processing the input document. - The field is empty if the system encountered no errors.

    Labels?: DocumentLabel[]

    The labels used the document being analyzed. These are used for multi-label trained + The field is empty if the system encountered no errors.

    Labels?: DocumentLabel[]

    The labels used in the document being analyzed. These are used for multi-label trained models. Individual labels represent different categories that are related in some manner and are not mutually exclusive. For example, a movie can be just an action movie, or it can be an action movie, a science fiction movie, and a comedy, all at the same time.

    Warnings?: WarningsListItem[]

    Warnings detected while processing the input document. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-1.html index 04cafd05318..3ac52892ba0 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-1.html @@ -1,6 +1,6 @@ ClientDefaults | Amplify JS API Documentation

    Make all properties in T optional

    -
    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandler;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandlerUserInput;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    logger?: Logger

    Optional logger for logging debug/info/warn/error.

    maxAttempts?: number | Provider<number>

    Value for how many times a request will be made at most in case of retry.

    region?: string | Provider<string>

    The AWS region to which this client will send requests

    -
    requestHandler?: HttpHandler

    The HTTP handler to use. Fetch in browser and Https in Nodejs.

    +
    requestHandler?: HttpHandlerUserInput

    The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

    retryMode?: string | Provider<string>

    Specifies which retry algorithm to use.

    -
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    +
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    useFipsEndpoint?: boolean | Provider<boolean>

    Enables FIPS compatible endpoints.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-2.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-2.html index 18f4a5c699d..601a523d367 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-2.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-2.html @@ -1,6 +1,6 @@ ClientDefaults | Amplify JS API Documentation

    Make all properties in T optional

    -
    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandler;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandlerUserInput;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    logger?: Logger

    Optional logger for logging debug/info/warn/error.

    maxAttempts?: number | Provider<number>

    Value for how many times a request will be made at most in case of retry.

    region?: string | Provider<string>

    The AWS region to which this client will send requests

    -
    requestHandler?: HttpHandler

    The HTTP handler to use. Fetch in browser and Https in Nodejs.

    +
    requestHandler?: HttpHandlerUserInput

    The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

    retryMode?: string | Provider<string>

    Specifies which retry algorithm to use.

    -
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    +
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    useFipsEndpoint?: boolean | Provider<boolean>

    Enables FIPS compatible endpoints.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-3.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-3.html index 5d43698b21c..20a33521922 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-3.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-3.html @@ -1,6 +1,6 @@ ClientDefaults | Amplify JS API Documentation

    Make all properties in T optional

    -
    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandler;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandlerUserInput;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    logger?: Logger

    Optional logger for logging debug/info/warn/error.

    maxAttempts?: number | Provider<number>

    Value for how many times a request will be made at most in case of retry.

    region?: string | Provider<string>

    The AWS region to which this client will send requests

    -
    requestHandler?: HttpHandler

    The HTTP handler to use. Fetch in browser and Https in Nodejs.

    +
    requestHandler?: HttpHandlerUserInput

    The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

    retryMode?: string | Provider<string>

    Specifies which retry algorithm to use.

    -
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    +
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    useFipsEndpoint?: boolean | Provider<boolean>

    Enables FIPS compatible endpoints.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-4.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-4.html index bfbd8184665..660fdc18da3 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-4.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults-4.html @@ -1,6 +1,6 @@ ClientDefaults | Amplify JS API Documentation

    Make all properties in T optional

    -
    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandler;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandlerUserInput;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    logger?: Logger

    Optional logger for logging debug/info/warn/error.

    maxAttempts?: number | Provider<number>

    Value for how many times a request will be made at most in case of retry.

    region?: string | Provider<string>

    The AWS region to which this client will send requests

    -
    requestHandler?: HttpHandler

    The HTTP handler to use. Fetch in browser and Https in Nodejs.

    +
    requestHandler?: HttpHandlerUserInput

    The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

    retryMode?: string | Provider<string>

    Specifies which retry algorithm to use.

    -
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    +
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    useFipsEndpoint?: boolean | Provider<boolean>

    Enables FIPS compatible endpoints.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults.html index b7690a1dab8..4707255a601 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ClientDefaults.html @@ -1,6 +1,6 @@ ClientDefaults | Amplify JS API Documentation

    Make all properties in T optional

    -
    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandler;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    interface ClientDefaults {
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: HttpHandlerUserInput;
        retryMode?: string | Provider<string>;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    logger?: Logger

    Optional logger for logging debug/info/warn/error.

    maxAttempts?: number | Provider<number>

    Value for how many times a request will be made at most in case of retry.

    region?: string | Provider<string>

    The AWS region to which this client will send requests

    -
    requestHandler?: HttpHandler

    The HTTP handler to use. Fetch in browser and Https in Nodejs.

    +
    requestHandler?: HttpHandlerUserInput

    The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

    retryMode?: string | Provider<string>

    Specifies which retry algorithm to use.

    -
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    +
    useDualstackEndpoint?: boolean | Provider<boolean>

    Enables IPv6/IPv4 dualstack endpoint.

    useFipsEndpoint?: boolean | Provider<boolean>

    Enables FIPS compatible endpoints.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesCommandInput.html index 84239135a50..6e52a5eaef9 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesCommandInput.html @@ -1,10 +1,10 @@ CompareFacesCommandInput | Amplify JS API Documentation

    The input for CompareFacesCommand.

    -
    interface CompareFacesCommandInput {
        QualityFilter?: string;
        SimilarityThreshold?: number;
        SourceImage: undefined | Image;
        TargetImage: undefined | Image;
    }

    Hierarchy (view full)

    Properties

    interface CompareFacesCommandInput {
        QualityFilter?: QualityFilter;
        SimilarityThreshold?: number;
        SourceImage: undefined | Image;
        TargetImage: undefined | Image;
    }

    Hierarchy (view full)

    Properties

    QualityFilter?: string

    A filter that specifies a quality bar for how much filtering is done to identify faces. +

    Properties

    QualityFilter?: QualityFilter

    A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't compared. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesCommandOutput.html index b68fe9a9f33..9b6dd9695fe 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesCommandOutput.html @@ -1,6 +1,6 @@ CompareFacesCommandOutput | Amplify JS API Documentation

    The output of CompareFacesCommand.

    -
    interface CompareFacesCommandOutput {
        $metadata: ResponseMetadata;
        FaceMatches?: CompareFacesMatch[];
        SourceImageFace?: ComparedSourceImageFace;
        SourceImageOrientationCorrection?: string;
        TargetImageOrientationCorrection?: string;
        UnmatchedFaces?: ComparedFace[];
    }

    Hierarchy (view full)

    Properties

    Hierarchy (view full)

    Properties

    FaceMatches?: CompareFacesMatch[]

    An array of faces in the target image that match the source image face. Each CompareFacesMatch object provides the bounding box, the confidence level that the bounding box contains a face, and the similarity score for the face in the bounding box - and the face in the source image.

    SourceImageFace?: ComparedSourceImageFace

    The face in the source image that was used for comparison.

    SourceImageOrientationCorrection?: string

    The value of SourceImageOrientationCorrection is always null.

    + and the face in the source image.

    SourceImageFace?: ComparedSourceImageFace

    The face in the source image that was used for comparison.

    SourceImageOrientationCorrection?: OrientationCorrection

    The value of SourceImageOrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to @@ -18,7 +18,7 @@ correct the image orientation. Images in .png format don't contain Exif metadata.

    Amazon Rekognition doesn’t perform image correction for images in .png format and .jpeg images without orientation information in the image Exif metadata. The bounding box coordinates - aren't translated and represent the object locations before the image is rotated.

    TargetImageOrientationCorrection?: string

    The value of TargetImageOrientationCorrection is always null.

    + aren't translated and represent the object locations before the image is rotated.

    TargetImageOrientationCorrection?: OrientationCorrection

    The value of TargetImageOrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesRequest.html index dd3d41e8c11..5f61c88fdb7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesRequest.html @@ -1,9 +1,9 @@ CompareFacesRequest | Amplify JS API Documentation -

    interface CompareFacesRequest {
        QualityFilter?: string;
        SimilarityThreshold?: number;
        SourceImage: undefined | Image;
        TargetImage: undefined | Image;
    }

    Hierarchy (view full)

    Properties

    QualityFilter? +
    interface CompareFacesRequest {
        QualityFilter?: QualityFilter;
        SimilarityThreshold?: number;
        SourceImage: undefined | Image;
        TargetImage: undefined | Image;
    }

    Hierarchy (view full)

    Properties

    QualityFilter?: string

    A filter that specifies a quality bar for how much filtering is done to identify faces. +

    Properties

    QualityFilter?: QualityFilter

    A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't compared. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesResponse.html index 63a2cc81cb6..edb3179aa60 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CompareFacesResponse.html @@ -1,5 +1,5 @@ CompareFacesResponse | Amplify JS API Documentation -

    interface CompareFacesResponse {
        FaceMatches?: CompareFacesMatch[];
        SourceImageFace?: ComparedSourceImageFace;
        SourceImageOrientationCorrection?: string;
        TargetImageOrientationCorrection?: string;
        UnmatchedFaces?: ComparedFace[];
    }

    Hierarchy (view full)

    Properties

    FaceMatches? +

    Hierarchy (view full)

    Properties

    FaceMatches?: CompareFacesMatch[]

    An array of faces in the target image that match the source image face. Each CompareFacesMatch object provides the bounding box, the confidence level that the bounding box contains a face, and the similarity score for the face in the bounding box - and the face in the source image.

    SourceImageFace?: ComparedSourceImageFace

    The face in the source image that was used for comparison.

    SourceImageOrientationCorrection?: string

    The value of SourceImageOrientationCorrection is always null.

    + and the face in the source image.

    SourceImageFace?: ComparedSourceImageFace

    The face in the source image that was used for comparison.

    SourceImageOrientationCorrection?: OrientationCorrection

    The value of SourceImageOrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to @@ -15,7 +15,7 @@ correct the image orientation. Images in .png format don't contain Exif metadata.

    Amazon Rekognition doesn’t perform image correction for images in .png format and .jpeg images without orientation information in the image Exif metadata. The bounding box coordinates - aren't translated and represent the object locations before the image is rotated.

    TargetImageOrientationCorrection?: string

    The value of TargetImageOrientationCorrection is always null.

    + aren't translated and represent the object locations before the image is rotated.

    TargetImageOrientationCorrection?: OrientationCorrection

    The value of TargetImageOrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ComprehendClientConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ComprehendClientConfig.html index ed72c495393..38ff19e3a9a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ComprehendClientConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ComprehendClientConfig.html @@ -1,6 +1,6 @@ ComprehendClientConfig | Amplify JS API Documentation

    The configuration interface of ComprehendClient class constructor that set the region, credentials and other options.

    -
    interface ComprehendClientConfig {
        credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
        customUserAgent?: string | UserAgent;
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        endpoint?: (string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>) & (string | Provider<string> | Endpoint | Provider<...> | EndpointV2 | Provider<...>);
        endpointProvider?: ((params, context?) => EndpointV2);
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler;
        retryMode?: string | Provider<string>;
        retryStrategy?: RetryStrategy | RetryStrategyV2;
        signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>);
        signingEscapePath?: boolean;
        signingRegion?: string;
        systemClockOffset?: number;
        tls?: boolean;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    interface ComprehendClientConfig {
        credentials?: AwsCredentialIdentity | AwsCredentialIdentityProvider;
        customUserAgent?: string | UserAgent;
        defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix?: boolean;
        endpoint?: (string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>) & (string | Provider<string> | Endpoint | Provider<...> | EndpointV2 | Provider<...>);
        endpointProvider?: ((params, context?) => EndpointV2);
        extensions?: RuntimeExtension[];
        logger?: Logger;
        maxAttempts?: number | Provider<number>;
        region?: string | Provider<string>;
        requestHandler?: (NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown> | RequestHandler<any, any, HttpHandlerOptions>) & HttpHandlerUserInput;
        retryMode?: string | Provider<string>;
        retryStrategy?: RetryStrategy | RetryStrategyV2;
        signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>);
        signingEscapePath?: boolean;
        signingRegion?: string;
        systemClockOffset?: number;
        tls?: boolean;
        useDualstackEndpoint?: boolean | Provider<boolean>;
        useFipsEndpoint?: boolean | Provider<boolean>;
    }

    Hierarchy (view full)

    Properties

    The credentials used to sign requests.

    +

    Properties

    The credentials used to sign requests.

    customUserAgent?: string | UserAgent

    The custom user agent header that would be appended to default one

    The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.

    disableHostPrefix?: boolean

    Disable dynamically changing the endpoint of the client based on the hostPrefix @@ -39,9 +39,10 @@

    logger?: Logger

    Optional logger for logging debug/info/warn/error.

    maxAttempts?: number | Provider<number>

    Value for how many times a request will be made at most in case of retry.

    region?: string | Provider<string>

    The AWS region to which this client will send requests

    -
    requestHandler?: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler

    The HTTP handler to use. Fetch in browser and Https in Nodejs.

    +
    requestHandler?: (NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown> | RequestHandler<any, any, HttpHandlerOptions>) & HttpHandlerUserInput

    The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

    retryMode?: string | Provider<string>

    Specifies which retry algorithm to use.

    -
    retryStrategy?: RetryStrategy | RetryStrategyV2

    The strategy to retry the request. Using built-in exponential backoff strategy by default.

    +
    retryStrategy?: RetryStrategy | RetryStrategyV2

    The strategy to retry the request. Using built-in exponential backoff strategy by default.

    signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>)

    The signer to use when signing requests.

    Type declaration

    signingEscapePath?: boolean

    Whether to escape request path when signing the request.

    signingRegion?: string

    The region where you want to sign your request against. This diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ComprehendClientResolvedConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ComprehendClientResolvedConfig.html index 0a1a95d9c1f..e9782c354d2 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ComprehendClientResolvedConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ComprehendClientResolvedConfig.html @@ -1,6 +1,6 @@ ComprehendClientResolvedConfig | Amplify JS API Documentation

    The resolved configuration interface of ComprehendClient class. This is resolved and normalized from the constructor configuration interface.

    -
    interface ComprehendClientResolvedConfig {
        credentials: MemoizedProvider<AwsCredentialIdentity>;
        customUserAgent?: UserAgent;
        defaultSigningName: string;
        defaultsMode: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix: boolean;
        endpoint?: Provider<Endpoint> & (string | Provider<string> | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<...>);
        endpointProvider: ((params, context?) => EndpointV2);
        extensions: RuntimeExtension[];
        logger: Logger;
        maxAttempts: Provider<number> | number & Provider<number>;
        region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>);
        requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler & RequestHandler<any, any, {}>;
        retryMode: string | Provider<string>;
        retryStrategy: Provider<RetryStrategy | RetryStrategyV2>;
        signer: ((authScheme?) => Promise<RequestSigner>);
        signingEscapePath: boolean;
        systemClockOffset: number;
        tls: boolean;
        useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
        useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
    }

    Hierarchy (view full)

    Properties

    interface ComprehendClientResolvedConfig {
        credentials: AwsCredentialIdentityProvider;
        customUserAgent?: UserAgent;
        defaultSigningName: string;
        defaultsMode: DefaultsMode | Provider<DefaultsMode>;
        disableHostPrefix: boolean;
        endpoint?: Provider<Endpoint> & (string | Provider<string> | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<...>);
        endpointProvider: ((params, context?) => EndpointV2);
        extensions: RuntimeExtension[];
        logger: Logger;
        maxAttempts: Provider<number> | number & Provider<number>;
        region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>);
        requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandlerUserInput & RequestHandler<any, any, {}>;
        retryMode: string | Provider<string>;
        retryStrategy: Provider<RetryStrategy | RetryStrategyV2>;
        signer: ((authScheme?) => Promise<RequestSigner>);
        signingEscapePath: boolean;
        systemClockOffset: number;
        tls: boolean;
        useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
        useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
    }

    Hierarchy (view full)

    Properties

    Resolved value for input config AwsAuthInputConfig.credentials +

    Properties

    Resolved value for input config AwsSdkSigV4AuthInputConfig.credentials This provider MAY memoize the loaded credentials for certain period. -See MemoizedProvider for more information.

    +See MemoizedProvider for more information.

    customUserAgent?: UserAgent

    The custom user agent header that would be appended to default one

    defaultSigningName: string

    The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.

    disableHostPrefix: boolean

    Disable dynamically changing the endpoint of the client based on the hostPrefix @@ -34,13 +34,14 @@

    logger: Logger

    Optional logger for logging debug/info/warn/error.

    maxAttempts: Provider<number> | number & Provider<number>

    Value for how many times a request will be made at most in case of retry.

    region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>)

    The AWS region to which this client will send requests

    -
    requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler & RequestHandler<any, any, {}>

    The HTTP handler to use. Fetch in browser and Https in Nodejs.

    +
    requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandlerUserInput & RequestHandler<any, any, {}>

    The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

    retryMode: string | Provider<string>

    Specifies which retry algorithm to use.

    -

    Resolved value for input config RetryInputConfig.retryStrategy

    -
    signer: ((authScheme?) => Promise<RequestSigner>)

    Resolved value for input config AwsAuthInputConfig.signer

    -

    Type declaration

    signingEscapePath: boolean

    Resolved value for input config AwsAuthInputConfig.signingEscapePath

    -
    systemClockOffset: number

    Resolved value for input config AwsAuthInputConfig.systemClockOffset

    +

    Resolved value for input config RetryInputConfig.retryStrategy

    +
    signer: ((authScheme?) => Promise<RequestSigner>)

    Resolved value for input config AwsSdkSigV4AuthInputConfig.signer

    +

    Type declaration

    signingEscapePath: boolean

    Resolved value for input config AwsSdkSigV4AuthInputConfig.signingEscapePath

    +
    systemClockOffset: number

    Resolved value for input config AwsSdkSigV4AuthInputConfig.systemClockOffset

    tls: boolean

    Whether TLS is enabled for requests.

    Deprecated

    useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>)

    Enables IPv6/IPv4 dualstack endpoint.

    useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>)

    Enables FIPS compatible endpoints.

    diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ConnectionOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ConnectionOptions.html new file mode 100644 index 00000000000..717fec3fff8 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ConnectionOptions.html @@ -0,0 +1,28 @@ +ConnectionOptions | Amplify JS API Documentation +
    interface ConnectionOptions {
        ALPNProtocols?: string[] | Buffer | Uint8Array | Buffer[] | Uint8Array[];
        NPNProtocols?: string[] | Buffer | Uint8Array | Buffer[] | Uint8Array[];
        ca?: string | Buffer | (string | Buffer)[];
        cert?: string | Buffer | (string | Buffer)[];
        checkServerIdentity?: ((host, cert) => Error | undefined);
        ciphers?: string;
        crl?: string | Buffer | (string | Buffer)[];
        dhparam?: string | Buffer;
        ecdhCurve?: string;
        honorCipherOrder?: boolean;
        host?: string;
        key?: string | Buffer | (Object | Buffer)[];
        lookup?: LookupFunction;
        minDHSize?: number;
        passphrase?: string;
        path?: string;
        pfx?: string | Buffer | (string | Object | Buffer)[];
        port?: number;
        rejectUnauthorized?: boolean;
        secureContext?: SecureContext;
        secureOptions?: number;
        secureProtocol?: string;
        servername?: string;
        session?: Buffer;
        sessionIdContext?: string;
        socket?: Socket;
    }

    Hierarchy (view full)

    Properties

    ALPNProtocols?: string[] | Buffer | Uint8Array | Buffer[] | Uint8Array[]
    NPNProtocols?: string[] | Buffer | Uint8Array | Buffer[] | Uint8Array[]
    ca?: string | Buffer | (string | Buffer)[]
    cert?: string | Buffer | (string | Buffer)[]
    checkServerIdentity?: ((host, cert) => Error | undefined)

    Type declaration

    ciphers?: string
    crl?: string | Buffer | (string | Buffer)[]
    dhparam?: string | Buffer
    ecdhCurve?: string
    honorCipherOrder?: boolean
    host?: string
    key?: string | Buffer | (Object | Buffer)[]
    minDHSize?: number
    passphrase?: string
    path?: string
    pfx?: string | Buffer | (string | Object | Buffer)[]
    port?: number
    rejectUnauthorized?: boolean
    secureContext?: SecureContext
    secureOptions?: number
    secureProtocol?: string
    servername?: string
    session?: Buffer
    sessionIdContext?: string
    socket?: Socket
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContainsPiiEntitiesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContainsPiiEntitiesCommandInput.html index 4426cf5c58d..2b596bf751e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContainsPiiEntitiesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContainsPiiEntitiesCommandInput.html @@ -1,5 +1,5 @@ ContainsPiiEntitiesCommandInput | Amplify JS API Documentation

    The input for ContainsPiiEntitiesCommand.

    -
    interface ContainsPiiEntitiesCommandInput {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    interface ContainsPiiEntitiesCommandInput {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. Currently, English is the only valid language.

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 100 KB.

    \ No newline at end of file +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents.

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 100 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContainsPiiEntitiesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContainsPiiEntitiesRequest.html index 4347e82253d..13db788aa6a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContainsPiiEntitiesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContainsPiiEntitiesRequest.html @@ -1,4 +1,4 @@ ContainsPiiEntitiesRequest | Amplify JS API Documentation -
    interface ContainsPiiEntitiesRequest {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface ContainsPiiEntitiesRequest {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. Currently, English is the only valid language.

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 100 KB.

    \ No newline at end of file +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents.

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 100 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContentModerationDetection.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContentModerationDetection.html index a91a4bce0cd..b601a4e0be4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContentModerationDetection.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContentModerationDetection.html @@ -1,11 +1,13 @@ ContentModerationDetection | Amplify JS API Documentation -

    Information about an inappropriate, unwanted, or offensive content label detection in a stored video.

    interface ContentModerationDetection {
        DurationMillis?: number;
        EndTimestampMillis?: number;
        ModerationLabel?: ModerationLabel;
        StartTimestampMillis?: number;
        Timestamp?: number;
    }

    Properties

    DurationMillis? +

    Information about an inappropriate, unwanted, or offensive content label detection in a stored video.

    interface ContentModerationDetection {
        ContentTypes?: ContentType[];
        DurationMillis?: number;
        EndTimestampMillis?: number;
        ModerationLabel?: ModerationLabel;
        StartTimestampMillis?: number;
        Timestamp?: number;
    }

    Properties

    DurationMillis?: number

    The time duration of a segment in milliseconds, I.e. time elapsed from +

    Properties

    ContentTypes?: ContentType[]

    A list of predicted results for the type of content an image contains. For example, + the image content might be from animation, sports, or a video game.

    DurationMillis?: number

    The time duration of a segment in milliseconds, I.e. time elapsed from StartTimestampMillis to EndTimestampMillis.

    EndTimestampMillis?: number

    The time in milliseconds defining the end of the timeline segment containing a continuously detected moderation label.

    ModerationLabel?: ModerationLabel

    The content moderation label detected by in the stored video.

    StartTimestampMillis?: number

    The time in milliseconds defining the start of the timeline segment containing a continuously detected moderation label.

    Timestamp?: number

    Time, in milliseconds from the beginning of the video, that the content moderation label was detected. - Note that Timestamp is not guaranteed to be accurate to the individual frame where the moderated content first appears.

    \ No newline at end of file + Note that Timestamp is not guaranteed to be accurate to the individual frame where the moderated content first appears.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContentType.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContentType.html new file mode 100644 index 00000000000..78887d495fc --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ContentType.html @@ -0,0 +1,4 @@ +ContentType | Amplify JS API Documentation +

    Contains information regarding the confidence and name of a detected content type.

    interface ContentType {
        Confidence?: number;
        Name?: string;
    }

    Properties

    Properties

    Confidence?: number

    The confidence level of the label given

    Name?: string

    The name of the label

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterCommandInput.html new file mode 100644 index 00000000000..a93e788bfbc --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterCommandInput.html @@ -0,0 +1,13 @@ +CreateAdapterCommandInput | Amplify JS API Documentation +

    The input for CreateAdapterCommand.

    +
    interface CreateAdapterCommandInput {
        AdapterName: undefined | string;
        AutoUpdate?: AutoUpdate;
        ClientRequestToken?: string;
        Description?: string;
        FeatureTypes: undefined | FeatureType[];
        Tags?: Record<string, string>;
    }

    Hierarchy (view full)

    Properties

    AdapterName: undefined | string

    The name to be assigned to the adapter being created.

    AutoUpdate?: AutoUpdate

    Controls whether or not the adapter should automatically update.

    ClientRequestToken?: string

    Idempotent token is used to recognize the request. If the same token is used with multiple + CreateAdapter requests, the same session is returned. + This token is employed to avoid unintentionally creating the same session multiple times.

    Description?: string

    The description to be assigned to the adapter being created.

    FeatureTypes: undefined | FeatureType[]

    The type of feature that the adapter is being trained on. Currrenly, supported feature + types are: QUERIES +

    Tags?: Record<string, string>

    A list of tags to be added to the adapter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterCommandOutput.html new file mode 100644 index 00000000000..7347b0337c3 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterCommandOutput.html @@ -0,0 +1,6 @@ +CreateAdapterCommandOutput | Amplify JS API Documentation +

    The output of CreateAdapterCommand.

    +
    interface CreateAdapterCommandOutput {
        $metadata: ResponseMetadata;
        AdapterId?: string;
    }

    Hierarchy (view full)

    Properties

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    +
    AdapterId?: string

    A string containing the unique ID for the adapter that has been created.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterRequest.html new file mode 100644 index 00000000000..917247d2cae --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterRequest.html @@ -0,0 +1,12 @@ +CreateAdapterRequest | Amplify JS API Documentation +
    interface CreateAdapterRequest {
        AdapterName: undefined | string;
        AutoUpdate?: AutoUpdate;
        ClientRequestToken?: string;
        Description?: string;
        FeatureTypes: undefined | FeatureType[];
        Tags?: Record<string, string>;
    }

    Hierarchy (view full)

    Properties

    AdapterName: undefined | string

    The name to be assigned to the adapter being created.

    AutoUpdate?: AutoUpdate

    Controls whether or not the adapter should automatically update.

    ClientRequestToken?: string

    Idempotent token is used to recognize the request. If the same token is used with multiple + CreateAdapter requests, the same session is returned. + This token is employed to avoid unintentionally creating the same session multiple times.

    Description?: string

    The description to be assigned to the adapter being created.

    FeatureTypes: undefined | FeatureType[]

    The type of feature that the adapter is being trained on. Currrenly, supported feature + types are: QUERIES +

    Tags?: Record<string, string>

    A list of tags to be added to the adapter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterResponse.html new file mode 100644 index 00000000000..5ff2115c8cb --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterResponse.html @@ -0,0 +1,3 @@ +CreateAdapterResponse | Amplify JS API Documentation +
    interface CreateAdapterResponse {
        AdapterId?: string;
    }

    Hierarchy (view full)

    Properties

    Properties

    AdapterId?: string

    A string containing the unique ID for the adapter that has been created.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionCommandInput.html new file mode 100644 index 00000000000..9e814ebf58f --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionCommandInput.html @@ -0,0 +1,28 @@ +CreateAdapterVersionCommandInput | Amplify JS API Documentation +

    The input for CreateAdapterVersionCommand.

    +
    interface CreateAdapterVersionCommandInput {
        AdapterId: undefined | string;
        ClientRequestToken?: string;
        DatasetConfig: undefined | AdapterVersionDatasetConfig;
        KMSKeyId?: string;
        OutputConfig: undefined | OutputConfig;
        Tags?: Record<string, string>;
    }

    Hierarchy (view full)

    Properties

    AdapterId: undefined | string

    A string containing a unique ID for the adapter that will receive a new version.

    ClientRequestToken?: string

    Idempotent token is used to recognize the request. If the same token is used with multiple + CreateAdapterVersion requests, the same session is returned. + This token is employed to avoid unintentionally creating the same session multiple times.

    DatasetConfig: undefined | AdapterVersionDatasetConfig

    Specifies a dataset used to train a new adapter version. Takes a ManifestS3Object as the + value.

    KMSKeyId?: string

    The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

    OutputConfig: undefined | OutputConfig

    Sets whether or not your output will go to a user created bucket. Used to set the name + of the bucket, and the prefix on the output file.

    +

    + OutputConfig is an optional parameter which lets you adjust where your + output will be placed. By default, Amazon Textract will store the results internally and can + only be accessed by the Get API operations. With OutputConfig enabled, you can + set the name of the bucket the output will be sent to the file prefix of the results where + you can download your results. Additionally, you can set the KMSKeyID + parameter to a customer master key (CMK) to encrypt your output. Without this parameter set + Amazon Textract will encrypt server-side using the AWS managed CMK for Amazon S3.

    +

    Decryption of Customer Content is necessary for processing of the documents by Amazon Textract. If your account + is opted out under an AI services opt out policy then all unencrypted Customer Content is immediately and permanently deleted after + the Customer Content has been processed by the service. No copy of of the output is retained by Amazon Textract. For information about how to opt out, see Managing AI services opt-out policy. +

    +

    For more information on data privacy, + see the Data Privacy + FAQ.

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the adapter version.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionCommandOutput.html new file mode 100644 index 00000000000..646371e0fcc --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionCommandOutput.html @@ -0,0 +1,7 @@ +CreateAdapterVersionCommandOutput | Amplify JS API Documentation +

    The output of CreateAdapterVersionCommand.

    +
    interface CreateAdapterVersionCommandOutput {
        $metadata: ResponseMetadata;
        AdapterId?: string;
        AdapterVersion?: string;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    +
    AdapterId?: string

    A string containing the unique ID for the adapter that has received a new version.

    AdapterVersion?: string

    A string describing the new version of the adapter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionRequest.html new file mode 100644 index 00000000000..eedc6acafd6 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionRequest.html @@ -0,0 +1,27 @@ +CreateAdapterVersionRequest | Amplify JS API Documentation +
    interface CreateAdapterVersionRequest {
        AdapterId: undefined | string;
        ClientRequestToken?: string;
        DatasetConfig: undefined | AdapterVersionDatasetConfig;
        KMSKeyId?: string;
        OutputConfig: undefined | OutputConfig;
        Tags?: Record<string, string>;
    }

    Hierarchy (view full)

    Properties

    AdapterId: undefined | string

    A string containing a unique ID for the adapter that will receive a new version.

    ClientRequestToken?: string

    Idempotent token is used to recognize the request. If the same token is used with multiple + CreateAdapterVersion requests, the same session is returned. + This token is employed to avoid unintentionally creating the same session multiple times.

    DatasetConfig: undefined | AdapterVersionDatasetConfig

    Specifies a dataset used to train a new adapter version. Takes a ManifestS3Object as the + value.

    KMSKeyId?: string

    The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

    OutputConfig: undefined | OutputConfig

    Sets whether or not your output will go to a user created bucket. Used to set the name + of the bucket, and the prefix on the output file.

    +

    + OutputConfig is an optional parameter which lets you adjust where your + output will be placed. By default, Amazon Textract will store the results internally and can + only be accessed by the Get API operations. With OutputConfig enabled, you can + set the name of the bucket the output will be sent to the file prefix of the results where + you can download your results. Additionally, you can set the KMSKeyID + parameter to a customer master key (CMK) to encrypt your output. Without this parameter set + Amazon Textract will encrypt server-side using the AWS managed CMK for Amazon S3.

    +

    Decryption of Customer Content is necessary for processing of the documents by Amazon Textract. If your account + is opted out under an AI services opt out policy then all unencrypted Customer Content is immediately and permanently deleted after + the Customer Content has been processed by the service. No copy of of the output is retained by Amazon Textract. For information about how to opt out, see Managing AI services opt-out policy. +

    +

    For more information on data privacy, + see the Data Privacy + FAQ.

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the adapter version.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RetryResolvedConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionResponse.html similarity index 66% rename from docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RetryResolvedConfig.html rename to docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionResponse.html index 450a896b167..c0236745b90 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RetryResolvedConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateAdapterVersionResponse.html @@ -1,6 +1,4 @@ -RetryResolvedConfig | Amplify JS API Documentation -
    interface RetryResolvedConfig {
        maxAttempts: Provider<number>;
        retryStrategy: Provider<RetryStrategy | RetryStrategyV2>;
    }

    Properties

    maxAttempts: Provider<number>

    Resolved value for input config RetryInputConfig.maxAttempts

    -

    Resolved value for input config RetryInputConfig.retryStrategy

    -
    \ No newline at end of file +CreateAdapterVersionResponse | Amplify JS API Documentation +
    interface CreateAdapterVersionResponse {
        AdapterId?: string;
        AdapterVersion?: string;
    }

    Hierarchy (view full)

    Properties

    AdapterId?: string

    A string containing the unique ID for the adapter that has received a new version.

    AdapterVersion?: string

    A string describing the new version of the adapter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetCommandInput-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetCommandInput-1.html index 8178b484d2e..4cb62934f52 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetCommandInput-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetCommandInput-1.html @@ -1,6 +1,6 @@ CreateDatasetCommandInput | Amplify JS API Documentation

    The input for CreateDatasetCommand.

    -
    interface CreateDatasetCommandInput {
        ClientRequestToken?: string;
        DatasetName: undefined | string;
        DatasetType?: string;
        Description?: string;
        FlywheelArn: undefined | string;
        InputDataConfig: undefined | DatasetInputDataConfig;
        Tags?: Tag[];
    }

    Hierarchy (view full)

    Properties

    interface CreateDatasetCommandInput {
        ClientRequestToken?: string;
        DatasetName: undefined | string;
        DatasetType?: DatasetType;
        Description?: string;
        FlywheelArn: undefined | string;
        InputDataConfig: undefined | DatasetInputDataConfig;
        Tags?: Tag[];
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon - Comprehend generates one.

    DatasetName: undefined | string

    Name of the dataset.

    DatasetType?: string

    The dataset type. You can specify that the data in a dataset is for training + Comprehend generates one.

    DatasetName: undefined | string

    Name of the dataset.

    DatasetType?: DatasetType

    The dataset type. You can specify that the data in a dataset is for training the model or for testing the model.

    Description?: string

    Description of the dataset.

    FlywheelArn: undefined | string

    The Amazon Resource Number (ARN) of the flywheel of the flywheel to receive the data.

    InputDataConfig: undefined | DatasetInputDataConfig

    Information about the input data configuration. The type of input data varies based on the format of the input and whether the data is for a classifier model or an entity recognition model.

    Tags?: Tag[]

    Tags for the dataset.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetCommandInput.html index e4cb5bc6fc3..e3a69d199ce 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetCommandInput.html @@ -1,16 +1,17 @@ CreateDatasetCommandInput | Amplify JS API Documentation

    The input for CreateDatasetCommand.

    -
    interface CreateDatasetCommandInput {
        DatasetSource?: DatasetSource;
        DatasetType: undefined | string;
        ProjectArn: undefined | string;
    }

    Hierarchy (view full)

    Properties

    interface CreateDatasetCommandInput {
        DatasetSource?: DatasetSource;
        DatasetType: undefined | DatasetType;
        ProjectArn: undefined | string;
        Tags?: Record<string, string>;
    }

    Hierarchy (view full)

    Properties

    DatasetSource?: DatasetSource

    The source files for the dataset. You can specify the ARN of an existing dataset or specify the Amazon S3 bucket location of an Amazon Sagemaker format manifest file. If you don't specify datasetSource, an empty dataset is created. To add labeled images to the dataset, You can use the console or call UpdateDatasetEntries. -

    DatasetType: undefined | string

    +

    DatasetType: undefined | DatasetType

    The type of the dataset. Specify TRAIN to create a training dataset. Specify TEST to create a test dataset.

    ProjectArn: undefined | string

    The ARN of the Amazon Rekognition Custom Labels project to which you want to asssign the dataset. -

    \ No newline at end of file +

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the dataset.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetRequest-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetRequest-1.html index 31542a405e2..4b4ae13dc18 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetRequest-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetRequest-1.html @@ -1,5 +1,5 @@ CreateDatasetRequest | Amplify JS API Documentation -
    interface CreateDatasetRequest {
        ClientRequestToken?: string;
        DatasetName: undefined | string;
        DatasetType?: string;
        Description?: string;
        FlywheelArn: undefined | string;
        InputDataConfig: undefined | DatasetInputDataConfig;
        Tags?: Tag[];
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken? +
    interface CreateDatasetRequest {
        ClientRequestToken?: string;
        DatasetName: undefined | string;
        DatasetType?: DatasetType;
        Description?: string;
        FlywheelArn: undefined | string;
        InputDataConfig: undefined | DatasetInputDataConfig;
        Tags?: Tag[];
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon - Comprehend generates one.

    DatasetName: undefined | string

    Name of the dataset.

    DatasetType?: string

    The dataset type. You can specify that the data in a dataset is for training + Comprehend generates one.

    DatasetName: undefined | string

    Name of the dataset.

    DatasetType?: DatasetType

    The dataset type. You can specify that the data in a dataset is for training the model or for testing the model.

    Description?: string

    Description of the dataset.

    FlywheelArn: undefined | string

    The Amazon Resource Number (ARN) of the flywheel of the flywheel to receive the data.

    InputDataConfig: undefined | DatasetInputDataConfig

    Information about the input data configuration. The type of input data varies based on the format of the input and whether the data is for a classifier model or an entity recognition model.

    Tags?: Tag[]

    Tags for the dataset.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetRequest.html index 9c44b4ffac8..ce0fd7dcc1b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDatasetRequest.html @@ -1,15 +1,16 @@ CreateDatasetRequest | Amplify JS API Documentation -
    interface CreateDatasetRequest {
        DatasetSource?: DatasetSource;
        DatasetType: undefined | string;
        ProjectArn: undefined | string;
    }

    Hierarchy (view full)

    Properties

    DatasetSource? +
    interface CreateDatasetRequest {
        DatasetSource?: DatasetSource;
        DatasetType: undefined | DatasetType;
        ProjectArn: undefined | string;
        Tags?: Record<string, string>;
    }

    Hierarchy (view full)

    Properties

    DatasetSource?: DatasetSource

    The source files for the dataset. You can specify the ARN of an existing dataset or specify the Amazon S3 bucket location of an Amazon Sagemaker format manifest file. If you don't specify datasetSource, an empty dataset is created. To add labeled images to the dataset, You can use the console or call UpdateDatasetEntries. -

    DatasetType: undefined | string

    +

    DatasetType: undefined | DatasetType

    The type of the dataset. Specify TRAIN to create a training dataset. Specify TEST to create a test dataset.

    ProjectArn: undefined | string

    The ARN of the Amazon Rekognition Custom Labels project to which you want to asssign the dataset. -

    \ No newline at end of file +

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the dataset.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDocumentClassifierCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDocumentClassifierCommandInput.html index 4ce5ce72786..88498ce83e5 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDocumentClassifierCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDocumentClassifierCommandInput.html @@ -1,6 +1,6 @@ CreateDocumentClassifierCommandInput | Amplify JS API Documentation

    The input for CreateDocumentClassifierCommand.

    -
    interface CreateDocumentClassifierCommandInput {
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        DocumentClassifierName: undefined | string;
        InputDataConfig: undefined | DocumentClassifierInputDataConfig;
        LanguageCode: undefined | string;
        Mode?: string;
        ModelKmsKeyId?: string;
        ModelPolicy?: string;
        OutputDataConfig?: DocumentClassifierOutputDataConfig;
        Tags?: Tag[];
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Hierarchy (view full)

    Properties

    interface CreateDocumentClassifierCommandInput {
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        DocumentClassifierName: undefined | string;
        InputDataConfig: undefined | DocumentClassifierInputDataConfig;
        LanguageCode: undefined | LanguageCode;
        Mode?: DocumentClassifierMode;
        ModelKmsKeyId?: string;
        ModelPolicy?: string;
        OutputDataConfig?: DocumentClassifierOutputDataConfig;
        Tags?: Tag[];
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

    DataAccessRoleArn: undefined | string

    The Amazon Resource Name (ARN) of the IAM role that - grants Amazon Comprehend read access to your input data.

    DocumentClassifierName: undefined | string

    The name of the document classifier.

    InputDataConfig: undefined | DocumentClassifierInputDataConfig

    Specifies the format and location of the input data for the job.

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the languages - supported by Amazon Comprehend. All documents must be in the same language.

    Mode?: string

    Indicates the mode in which the classifier will be trained. The classifier can be trained - in multi-class mode, which identifies one and only one class for each document, or multi-label - mode, which identifies one or more labels for each document. In multi-label mode, multiple + grants Amazon Comprehend read access to your input data.

    DocumentClassifierName: undefined | string

    The name of the document classifier.

    InputDataConfig: undefined | DocumentClassifierInputDataConfig

    Specifies the format and location of the input data for the job.

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the languages + supported by Amazon Comprehend. All documents must be in the same language.

    Indicates the mode in which the classifier will be trained. The classifier can be trained + in multi-class (single-label) mode or multi-label mode. + Multi-class mode identifies a single class label for each document and + multi-label mode identifies one or more class labels for each document. Multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).

    ModelKmsKeyId?: string

    ID for the KMS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:

    @@ -46,7 +47,7 @@

    '{"attribute": "value", "attribute": ["value"]}'

    Specifies the location for the output files from a custom classifier job. - This parameter is required for a request that creates a native classifier model.

    Tags?: Tag[]

    Tags to associate with the document classifier. A tag is a key-value + This parameter is required for a request that creates a native document model.

    Tags?: Tag[]

    Tags to associate with the document classifier. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.

    VersionName?: string

    The version name given to the newly created classifier. Version names can have a maximum diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDocumentClassifierRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDocumentClassifierRequest.html index c7ce3420816..9dcbcafdd41 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDocumentClassifierRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateDocumentClassifierRequest.html @@ -1,5 +1,5 @@ CreateDocumentClassifierRequest | Amplify JS API Documentation -

    interface CreateDocumentClassifierRequest {
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        DocumentClassifierName: undefined | string;
        InputDataConfig: undefined | DocumentClassifierInputDataConfig;
        LanguageCode: undefined | string;
        Mode?: string;
        ModelKmsKeyId?: string;
        ModelPolicy?: string;
        OutputDataConfig?: DocumentClassifierOutputDataConfig;
        Tags?: Tag[];
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken? +
    interface CreateDocumentClassifierRequest {
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        DocumentClassifierName: undefined | string;
        InputDataConfig: undefined | DocumentClassifierInputDataConfig;
        LanguageCode: undefined | LanguageCode;
        Mode?: DocumentClassifierMode;
        ModelKmsKeyId?: string;
        ModelPolicy?: string;
        OutputDataConfig?: DocumentClassifierOutputDataConfig;
        Tags?: Tag[];
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

    DataAccessRoleArn: undefined | string

    The Amazon Resource Name (ARN) of the IAM role that - grants Amazon Comprehend read access to your input data.

    DocumentClassifierName: undefined | string

    The name of the document classifier.

    InputDataConfig: undefined | DocumentClassifierInputDataConfig

    Specifies the format and location of the input data for the job.

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the languages - supported by Amazon Comprehend. All documents must be in the same language.

    Mode?: string

    Indicates the mode in which the classifier will be trained. The classifier can be trained - in multi-class mode, which identifies one and only one class for each document, or multi-label - mode, which identifies one or more labels for each document. In multi-label mode, multiple + grants Amazon Comprehend read access to your input data.

    DocumentClassifierName: undefined | string

    The name of the document classifier.

    InputDataConfig: undefined | DocumentClassifierInputDataConfig

    Specifies the format and location of the input data for the job.

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the languages + supported by Amazon Comprehend. All documents must be in the same language.

    Indicates the mode in which the classifier will be trained. The classifier can be trained + in multi-class (single-label) mode or multi-label mode. + Multi-class mode identifies a single class label for each document and + multi-label mode identifies one or more class labels for each document. Multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).

    ModelKmsKeyId?: string

    ID for the KMS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:

    @@ -45,7 +46,7 @@

    '{"attribute": "value", "attribute": ["value"]}'

    Specifies the location for the output files from a custom classifier job. - This parameter is required for a request that creates a native classifier model.

    Tags?: Tag[]

    Tags to associate with the document classifier. A tag is a key-value + This parameter is required for a request that creates a native document model.

    Tags?: Tag[]

    Tags to associate with the document classifier. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.

    VersionName?: string

    The version name given to the newly created classifier. Version names can have a maximum diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateEntityRecognizerCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateEntityRecognizerCommandInput.html index bf5242e8bf8..b1d21600a6c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateEntityRecognizerCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateEntityRecognizerCommandInput.html @@ -1,6 +1,6 @@ CreateEntityRecognizerCommandInput | Amplify JS API Documentation

    The input for CreateEntityRecognizerCommand.

    -
    interface CreateEntityRecognizerCommandInput {
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        InputDataConfig: undefined | EntityRecognizerInputDataConfig;
        LanguageCode: undefined | string;
        ModelKmsKeyId?: string;
        ModelPolicy?: string;
        RecognizerName: undefined | string;
        Tags?: Tag[];
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Hierarchy (view full)

    Properties

    interface CreateEntityRecognizerCommandInput {
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        InputDataConfig: undefined | EntityRecognizerInputDataConfig;
        LanguageCode: undefined | LanguageCode;
        ModelKmsKeyId?: string;
        ModelPolicy?: string;
        RecognizerName: undefined | string;
        Tags?: Tag[];
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

    DataAccessRoleArn: undefined | string

    The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data.

    InputDataConfig: undefined | EntityRecognizerInputDataConfig

    Specifies the format and location of the input data. The S3 bucket containing the input - data must be located in the same Region as the entity recognizer being created.

    LanguageCode: undefined | string

    You can specify any of the following languages: English + data must be located in the same Region as the entity recognizer being created.

    LanguageCode: undefined | LanguageCode

    You can specify any of the following languages: English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), German ("de"), or Portuguese ("pt"). If you plan to use this entity recognizer with PDF, Word, or image input files, you must specify English as the language. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateEntityRecognizerRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateEntityRecognizerRequest.html index 5f893307539..0126a85243c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateEntityRecognizerRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateEntityRecognizerRequest.html @@ -1,5 +1,5 @@ CreateEntityRecognizerRequest | Amplify JS API Documentation -

    interface CreateEntityRecognizerRequest {
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        InputDataConfig: undefined | EntityRecognizerInputDataConfig;
        LanguageCode: undefined | string;
        ModelKmsKeyId?: string;
        ModelPolicy?: string;
        RecognizerName: undefined | string;
        Tags?: Tag[];
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken? +
    interface CreateEntityRecognizerRequest {
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        InputDataConfig: undefined | EntityRecognizerInputDataConfig;
        LanguageCode: undefined | LanguageCode;
        ModelKmsKeyId?: string;
        ModelPolicy?: string;
        RecognizerName: undefined | string;
        Tags?: Tag[];
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Hierarchy (view full)

    Properties

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

    DataAccessRoleArn: undefined | string

    The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data.

    InputDataConfig: undefined | EntityRecognizerInputDataConfig

    Specifies the format and location of the input data. The S3 bucket containing the input - data must be located in the same Region as the entity recognizer being created.

    LanguageCode: undefined | string

    You can specify any of the following languages: English + data must be located in the same Region as the entity recognizer being created.

    LanguageCode: undefined | LanguageCode

    You can specify any of the following languages: English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), German ("de"), or Portuguese ("pt"). If you plan to use this entity recognizer with PDF, Word, or image input files, you must specify English as the language. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFaceLivenessSessionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFaceLivenessSessionCommandOutput.html index 43fda93a164..76da7d4352a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFaceLivenessSessionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFaceLivenessSessionCommandOutput.html @@ -3,4 +3,8 @@

    interface CreateFaceLivenessSessionCommandOutput {
        $metadata: ResponseMetadata;
        SessionId: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    SessionId: undefined | string

    A unique 128-bit UUID identifying a Face Liveness session.

    \ No newline at end of file +
    SessionId: undefined | string

    A unique 128-bit UUID identifying a Face Liveness session. + A new sessionID must be used for every Face Liveness check. If a given sessionID is used for subsequent + Face Liveness checks, the checks will fail. Additionally, a SessionId expires 3 minutes after it's sent, + making all Liveness data associated with the session (e.g., sessionID, reference image, audit images, etc.) unavailable. +

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFaceLivenessSessionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFaceLivenessSessionResponse.html index 5551b14b776..17a114d346f 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFaceLivenessSessionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFaceLivenessSessionResponse.html @@ -1,3 +1,7 @@ CreateFaceLivenessSessionResponse | Amplify JS API Documentation
    interface CreateFaceLivenessSessionResponse {
        SessionId: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    SessionId: undefined | string

    A unique 128-bit UUID identifying a Face Liveness session.

    \ No newline at end of file +

    Properties

    SessionId: undefined | string

    A unique 128-bit UUID identifying a Face Liveness session. + A new sessionID must be used for every Face Liveness check. If a given sessionID is used for subsequent + Face Liveness checks, the checks will fail. Additionally, a SessionId expires 3 minutes after it's sent, + making all Liveness data associated with the session (e.g., sessionID, reference image, audit images, etc.) unavailable. +

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFlywheelCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFlywheelCommandInput.html index 48402d6860f..9f2c012a72f 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFlywheelCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFlywheelCommandInput.html @@ -1,6 +1,6 @@ CreateFlywheelCommandInput | Amplify JS API Documentation

    The input for CreateFlywheelCommand.

    -
    interface CreateFlywheelCommandInput {
        ActiveModelArn?: string;
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        DataLakeS3Uri: undefined | string;
        DataSecurityConfig?: DataSecurityConfig;
        FlywheelName: undefined | string;
        ModelType?: string;
        Tags?: Tag[];
        TaskConfig?: TaskConfig;
    }

    Hierarchy (view full)

    Properties

    interface CreateFlywheelCommandInput {
        ActiveModelArn?: string;
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        DataLakeS3Uri: undefined | string;
        DataSecurityConfig?: DataSecurityConfig;
        FlywheelName: undefined | string;
        ModelType?: ModelType;
        Tags?: Tag[];
        TaskConfig?: TaskConfig;
    }

    Hierarchy (view full)

    Properties

    ActiveModelArn?: string

    To associate an existing model with the flywheel, specify the Amazon Resource Number (ARN) of the model version.

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon +

    Properties

    ActiveModelArn?: string

    To associate an existing model with the flywheel, specify the Amazon Resource Number (ARN) of the model version. + Do not set TaskConfig or ModelType if you specify an ActiveModelArn.

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

    DataAccessRoleArn: undefined | string

    The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend the permissions required to access the flywheel data in the data lake.

    DataLakeS3Uri: undefined | string

    Enter the S3 location for the data lake. You can specify a new S3 bucket or a new folder of an - existing S3 bucket. The flywheel creates the data lake at this location.

    DataSecurityConfig?: DataSecurityConfig

    Data security configurations.

    FlywheelName: undefined | string

    Name for the flywheel.

    ModelType?: string

    The model type.

    Tags?: Tag[]

    The tags to associate with this flywheel.

    TaskConfig?: TaskConfig

    Configuration about the custom classifier associated with the flywheel.

    \ No newline at end of file + existing S3 bucket. The flywheel creates the data lake at this location.

    DataSecurityConfig?: DataSecurityConfig

    Data security configurations.

    FlywheelName: undefined | string

    Name for the flywheel.

    ModelType?: ModelType

    The model type. You need to set ModelType if you are creating a flywheel for a new model.

    Tags?: Tag[]

    The tags to associate with this flywheel.

    TaskConfig?: TaskConfig

    Configuration about the model associated with the flywheel. + You need to set TaskConfig if you are creating a flywheel for a new model.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFlywheelRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFlywheelRequest.html index 092dea88481..6bb570bc25e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFlywheelRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateFlywheelRequest.html @@ -1,5 +1,5 @@ CreateFlywheelRequest | Amplify JS API Documentation -
    interface CreateFlywheelRequest {
        ActiveModelArn?: string;
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        DataLakeS3Uri: undefined | string;
        DataSecurityConfig?: DataSecurityConfig;
        FlywheelName: undefined | string;
        ModelType?: string;
        Tags?: Tag[];
        TaskConfig?: TaskConfig;
    }

    Hierarchy (view full)

    Properties

    ActiveModelArn? +
    interface CreateFlywheelRequest {
        ActiveModelArn?: string;
        ClientRequestToken?: string;
        DataAccessRoleArn: undefined | string;
        DataLakeS3Uri: undefined | string;
        DataSecurityConfig?: DataSecurityConfig;
        FlywheelName: undefined | string;
        ModelType?: ModelType;
        Tags?: Tag[];
        TaskConfig?: TaskConfig;
    }

    Hierarchy (view full)

    Properties

    ActiveModelArn?: string

    To associate an existing model with the flywheel, specify the Amazon Resource Number (ARN) of the model version.

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon +

    Properties

    ActiveModelArn?: string

    To associate an existing model with the flywheel, specify the Amazon Resource Number (ARN) of the model version. + Do not set TaskConfig or ModelType if you specify an ActiveModelArn.

    ClientRequestToken?: string

    A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

    DataAccessRoleArn: undefined | string

    The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend the permissions required to access the flywheel data in the data lake.

    DataLakeS3Uri: undefined | string

    Enter the S3 location for the data lake. You can specify a new S3 bucket or a new folder of an - existing S3 bucket. The flywheel creates the data lake at this location.

    DataSecurityConfig?: DataSecurityConfig

    Data security configurations.

    FlywheelName: undefined | string

    Name for the flywheel.

    ModelType?: string

    The model type.

    Tags?: Tag[]

    The tags to associate with this flywheel.

    TaskConfig?: TaskConfig

    Configuration about the custom classifier associated with the flywheel.

    \ No newline at end of file + existing S3 bucket. The flywheel creates the data lake at this location.

    DataSecurityConfig?: DataSecurityConfig

    Data security configurations.

    FlywheelName: undefined | string

    Name for the flywheel.

    ModelType?: ModelType

    The model type. You need to set ModelType if you are creating a flywheel for a new model.

    Tags?: Tag[]

    The tags to associate with this flywheel.

    TaskConfig?: TaskConfig

    Configuration about the model associated with the flywheel. + You need to set TaskConfig if you are creating a flywheel for a new model.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateParallelDataCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateParallelDataCommandOutput.html index 56eea2f2cb5..aa2e22c12d6 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateParallelDataCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateParallelDataCommandOutput.html @@ -1,8 +1,8 @@ CreateParallelDataCommandOutput | Amplify JS API Documentation

    The output of CreateParallelDataCommand.

    -
    interface CreateParallelDataCommandOutput {
        $metadata: ResponseMetadata;
        Name?: string;
        Status?: string;
    }

    Hierarchy (view full)

    Properties

    interface CreateParallelDataCommandOutput {
        $metadata: ResponseMetadata;
        Name?: string;
        Status?: ParallelDataStatus;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    Name?: string

    The custom name that you assigned to the parallel data resource.

    Status?: string

    The status of the parallel data resource. When the resource is ready for you to use, the +

    Name?: string

    The custom name that you assigned to the parallel data resource.

    The status of the parallel data resource. When the resource is ready for you to use, the status is ACTIVE.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateParallelDataResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateParallelDataResponse.html index 2a7ab0e10e7..e9278a1c19c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateParallelDataResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateParallelDataResponse.html @@ -1,5 +1,5 @@ CreateParallelDataResponse | Amplify JS API Documentation -
    interface CreateParallelDataResponse {
        Name?: string;
        Status?: string;
    }

    Hierarchy (view full)

    Properties

    Name? +
    interface CreateParallelDataResponse {
        Name?: string;
        Status?: ParallelDataStatus;
    }

    Hierarchy (view full)

    Properties

    Properties

    Name?: string

    The custom name that you assigned to the parallel data resource.

    Status?: string

    The status of the parallel data resource. When the resource is ready for you to use, the +

    Properties

    Name?: string

    The custom name that you assigned to the parallel data resource.

    The status of the parallel data resource. When the resource is ready for you to use, the status is ACTIVE.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectCommandInput.html index 52e9751bc87..adef27ef0e7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectCommandInput.html @@ -1,4 +1,9 @@ CreateProjectCommandInput | Amplify JS API Documentation

    The input for CreateProjectCommand.

    -
    interface CreateProjectCommandInput {
        ProjectName: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    ProjectName: undefined | string

    The name of the project to create.

    \ No newline at end of file +
    interface CreateProjectCommandInput {
        AutoUpdate?: ProjectAutoUpdate;
        Feature?: CustomizationFeature;
        ProjectName: undefined | string;
        Tags?: Record<string, string>;
    }

    Hierarchy (view full)

    Properties

    AutoUpdate?: ProjectAutoUpdate

    Specifies whether automatic retraining should be attempted for the versions of the + project. Automatic retraining is done as a best effort. Required argument for Content + Moderation. Applicable only to adapters.

    Specifies feature that is being customized. If no value is provided CUSTOM_LABELS is used as a default.

    ProjectName: undefined | string

    The name of the project to create.

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the project.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectRequest.html index 7a965ff5a3b..fe5dcf9fbae 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectRequest.html @@ -1,3 +1,8 @@ CreateProjectRequest | Amplify JS API Documentation -
    interface CreateProjectRequest {
        ProjectName: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    ProjectName: undefined | string

    The name of the project to create.

    \ No newline at end of file +
    interface CreateProjectRequest {
        AutoUpdate?: ProjectAutoUpdate;
        Feature?: CustomizationFeature;
        ProjectName: undefined | string;
        Tags?: Record<string, string>;
    }

    Hierarchy (view full)

    Properties

    AutoUpdate?: ProjectAutoUpdate

    Specifies whether automatic retraining should be attempted for the versions of the + project. Automatic retraining is done as a best effort. Required argument for Content + Moderation. Applicable only to adapters.

    Specifies feature that is being customized. If no value is provided CUSTOM_LABELS is used as a default.

    ProjectName: undefined | string

    The name of the project to create.

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the project.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionCommandInput.html index 00c53f15bd9..f8f1566c192 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionCommandInput.html @@ -1,18 +1,20 @@ CreateProjectVersionCommandInput | Amplify JS API Documentation

    The input for CreateProjectVersionCommand.

    -
    interface CreateProjectVersionCommandInput {
        KmsKeyId?: string;
        OutputConfig: undefined | OutputConfig;
        ProjectArn: undefined | string;
        Tags?: Record<string, string>;
        TestingData?: TestingData;
        TrainingData?: TrainingData;
        VersionName: undefined | string;
    }

    Hierarchy (view full)

    Properties

    interface CreateProjectVersionCommandInput {
        FeatureConfig?: CustomizationFeatureConfig;
        KmsKeyId?: string;
        OutputConfig: undefined | OutputConfig;
        ProjectArn: undefined | string;
        Tags?: Record<string, string>;
        TestingData?: TestingData;
        TrainingData?: TrainingData;
        VersionDescription?: string;
        VersionName: undefined | string;
    }

    Hierarchy (view full)

    Properties

    KmsKeyId?: string

    The identifier for your AWS Key Management Service key (AWS KMS key). - You can supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, - an alias for your KMS key, or an alias ARN. - The key is used to encrypt training and test images copied into the service for model training. - Your source images are unaffected. The key is also used to encrypt training results - and manifest files written to the output Amazon S3 bucket (OutputConfig).

    +

    Properties

    Feature-specific configuration of the training job. If the job configuration does not match the feature type associated with the project, an InvalidParameterException is returned.

    KmsKeyId?: string

    The identifier for your AWS Key Management Service key (AWS KMS key). You can supply + the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, an alias for + your KMS key, or an alias ARN. The key is used to encrypt training images, test images, and manifest files copied + into the service for the project version. Your source images are unaffected. The + key is also used to encrypt training results and manifest files written to the output Amazon S3 + bucket (OutputConfig).

    If you choose to use your own KMS key, you need the following permissions on the KMS key.

    • @@ -29,12 +31,11 @@

    If you don't specify a value for KmsKeyId, images copied into the service are encrypted - using a key that AWS owns and manages.

    OutputConfig: undefined | OutputConfig

    The Amazon S3 bucket location to store the results of training. - The S3 bucket can be in any AWS account as long as the caller has - s3:PutObject permissions on the S3 bucket.

    ProjectArn: undefined | string

    The ARN of the Amazon Rekognition Custom Labels project that - manages the model that you want to train.

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the model.

    TestingData?: TestingData

    Specifies an external manifest that the service uses to test the model. - If you specify TestingData you must also specify TrainingData. - The project must not have any associated datasets.

    TrainingData?: TrainingData

    Specifies an external manifest that the services uses to train the model. + using a key that AWS owns and manages.

    OutputConfig: undefined | OutputConfig

    The Amazon S3 bucket location to store the results of training. The bucket can be any S3 + bucket in your AWS account. You need s3:PutObject permission on the bucket. +

    ProjectArn: undefined | string

    The ARN of the Amazon Rekognition project that will manage the project version you want to + train.

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the project version.

    TestingData?: TestingData

    Specifies an external manifest that the service uses to test the project version. If + you specify TestingData you must also specify TrainingData. The + project must not have any associated datasets.

    TrainingData?: TrainingData

    Specifies an external manifest that the services uses to train the project version. If you specify TrainingData you must also specify TestingData. - The project must not have any associated datasets. -

    VersionName: undefined | string

    A name for the version of the model. This value must be unique.

    \ No newline at end of file + The project must not have any associated datasets.

    VersionDescription?: string

    A description applied to the project version being created.

    VersionName: undefined | string

    A name for the version of the project version. This value must be unique.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionCommandOutput.html index 0af38b89ab8..7282423abac 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionCommandOutput.html @@ -3,5 +3,6 @@
    interface CreateProjectVersionCommandOutput {
        $metadata: ResponseMetadata;
        ProjectVersionArn?: string;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    ProjectVersionArn?: string

    The ARN of the model version that was created. Use DescribeProjectVersion - to get the current status of the training operation.

    \ No newline at end of file +
    ProjectVersionArn?: string

    The ARN of the model or the project version that was created. Use + DescribeProjectVersion to get the current status of the training + operation.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionRequest.html index d105f0c1e10..57f320272ad 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionRequest.html @@ -1,17 +1,19 @@ CreateProjectVersionRequest | Amplify JS API Documentation -
    interface CreateProjectVersionRequest {
        KmsKeyId?: string;
        OutputConfig: undefined | OutputConfig;
        ProjectArn: undefined | string;
        Tags?: Record<string, string>;
        TestingData?: TestingData;
        TrainingData?: TrainingData;
        VersionName: undefined | string;
    }

    Hierarchy (view full)

    Properties

    KmsKeyId? +
    interface CreateProjectVersionRequest {
        FeatureConfig?: CustomizationFeatureConfig;
        KmsKeyId?: string;
        OutputConfig: undefined | OutputConfig;
        ProjectArn: undefined | string;
        Tags?: Record<string, string>;
        TestingData?: TestingData;
        TrainingData?: TrainingData;
        VersionDescription?: string;
        VersionName: undefined | string;
    }

    Hierarchy (view full)

    Properties

    KmsKeyId?: string

    The identifier for your AWS Key Management Service key (AWS KMS key). - You can supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, - an alias for your KMS key, or an alias ARN. - The key is used to encrypt training and test images copied into the service for model training. - Your source images are unaffected. The key is also used to encrypt training results - and manifest files written to the output Amazon S3 bucket (OutputConfig).

    +

    Properties

    Feature-specific configuration of the training job. If the job configuration does not match the feature type associated with the project, an InvalidParameterException is returned.

    KmsKeyId?: string

    The identifier for your AWS Key Management Service key (AWS KMS key). You can supply + the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, an alias for + your KMS key, or an alias ARN. The key is used to encrypt training images, test images, and manifest files copied + into the service for the project version. Your source images are unaffected. The + key is also used to encrypt training results and manifest files written to the output Amazon S3 + bucket (OutputConfig).

    If you choose to use your own KMS key, you need the following permissions on the KMS key.

    • @@ -28,12 +30,11 @@

    If you don't specify a value for KmsKeyId, images copied into the service are encrypted - using a key that AWS owns and manages.

    OutputConfig: undefined | OutputConfig

    The Amazon S3 bucket location to store the results of training. - The S3 bucket can be in any AWS account as long as the caller has - s3:PutObject permissions on the S3 bucket.

    ProjectArn: undefined | string

    The ARN of the Amazon Rekognition Custom Labels project that - manages the model that you want to train.

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the model.

    TestingData?: TestingData

    Specifies an external manifest that the service uses to test the model. - If you specify TestingData you must also specify TrainingData. - The project must not have any associated datasets.

    TrainingData?: TrainingData

    Specifies an external manifest that the services uses to train the model. + using a key that AWS owns and manages.

    OutputConfig: undefined | OutputConfig

    The Amazon S3 bucket location to store the results of training. The bucket can be any S3 + bucket in your AWS account. You need s3:PutObject permission on the bucket. +

    ProjectArn: undefined | string

    The ARN of the Amazon Rekognition project that will manage the project version you want to + train.

    Tags?: Record<string, string>

    A set of tags (key-value pairs) that you want to attach to the project version.

    TestingData?: TestingData

    Specifies an external manifest that the service uses to test the project version. If + you specify TestingData you must also specify TrainingData. The + project must not have any associated datasets.

    TrainingData?: TrainingData

    Specifies an external manifest that the services uses to train the project version. If you specify TrainingData you must also specify TestingData. - The project must not have any associated datasets. -

    VersionName: undefined | string

    A name for the version of the model. This value must be unique.

    \ No newline at end of file + The project must not have any associated datasets.

    VersionDescription?: string

    A description applied to the project version being created.

    VersionName: undefined | string

    A name for the version of the project version. This value must be unique.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionResponse.html index 0c90387e6fb..0e21f6eee25 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CreateProjectVersionResponse.html @@ -1,4 +1,5 @@ CreateProjectVersionResponse | Amplify JS API Documentation
    interface CreateProjectVersionResponse {
        ProjectVersionArn?: string;
    }

    Hierarchy (view full)

    Properties

    Properties

    ProjectVersionArn?: string

    The ARN of the model version that was created. Use DescribeProjectVersion - to get the current status of the training operation.

    \ No newline at end of file +

    Properties

    ProjectVersionArn?: string

    The ARN of the model or the project version that was created. Use + DescribeProjectVersion to get the current status of the training + operation.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CustomizationFeatureConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CustomizationFeatureConfig.html new file mode 100644 index 00000000000..51d8fd00bf5 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CustomizationFeatureConfig.html @@ -0,0 +1,5 @@ +CustomizationFeatureConfig | Amplify JS API Documentation +

    Feature specific configuration for the training job. Configuration provided for the job must match + the feature type parameter associated with project. If configuration + and feature type do not match an InvalidParameterException is returned.

    interface CustomizationFeatureConfig {
        ContentModeration?: CustomizationFeatureContentModerationConfig;
    }

    Properties

    Properties

    Configuration options for Custom Moderation training.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CustomizationFeatureContentModerationConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CustomizationFeatureContentModerationConfig.html new file mode 100644 index 00000000000..ddd1acb76a6 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.CustomizationFeatureContentModerationConfig.html @@ -0,0 +1,3 @@ +CustomizationFeatureContentModerationConfig | Amplify JS API Documentation +

    Configuration options for Content Moderation training.

    interface CustomizationFeatureContentModerationConfig {
        ConfidenceThreshold?: number;
    }

    Properties

    ConfidenceThreshold?: number

    The confidence level you plan to use to identify if unsafe content is present during inference.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetAugmentedManifestsListItem.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetAugmentedManifestsListItem.html index cb9f8df5ecc..a216904bbcd 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetAugmentedManifestsListItem.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetAugmentedManifestsListItem.html @@ -1,6 +1,6 @@ DatasetAugmentedManifestsListItem | Amplify JS API Documentation

    An augmented manifest file that provides training data for your custom model. - An augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.

    interface DatasetAugmentedManifestsListItem {
        AnnotationDataS3Uri?: string;
        AttributeNames: undefined | string[];
        DocumentType?: string;
        S3Uri: undefined | string;
        SourceDocumentsS3Uri?: string;
    }

    Properties

    AnnotationDataS3Uri? + An augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.

    interface DatasetAugmentedManifestsListItem {
        AnnotationDataS3Uri?: string;
        AttributeNames: undefined | string[];
        DocumentType?: AugmentedManifestsDocumentTypeFormat;
        S3Uri: undefined | string;
        SourceDocumentsS3Uri?: string;
    }

    Properties

    AnnotationDataS3Uri? AttributeNames DocumentType? S3Uri @@ -13,7 +13,7 @@ that was used when the job was created in Ground Truth.

    If your file is the output of a chained labeling job, specify the LabelAttributeName key for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from - an individual job.

    DocumentType?: string

    The type of augmented manifest. If you don't specify, the default is PlainTextDocument.

    + an individual job.

    The type of augmented manifest. If you don't specify, the default is PlainTextDocument.

    PLAIN_TEXT_DOCUMENT A document type that represents any unicode text that is encoded in UTF-8.

    S3Uri: undefined | string

    The Amazon S3 location of the augmented manifest file.

    SourceDocumentsS3Uri?: string

    The S3 prefix to the source files (PDFs) that are referred to in the augmented manifest diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetDescription.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetDescription.html index 8fe0ed363f5..cb64725bb97 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetDescription.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetDescription.html @@ -3,7 +3,7 @@ A description for a dataset. For more information, see DescribeDataset.

    The status fields Status, StatusMessage, and StatusMessageCode reflect the last operation on the dataset. -

    interface DatasetDescription {
        CreationTimestamp?: Date;
        DatasetStats?: DatasetStats;
        LastUpdatedTimestamp?: Date;
        Status?: string;
        StatusMessage?: string;
        StatusMessageCode?: string;
    }

    Properties

    interface DatasetDescription {
        CreationTimestamp?: Date;
        DatasetStats?: DatasetStats;
        LastUpdatedTimestamp?: Date;
        Status?: DatasetStatus;
        StatusMessage?: string;
        StatusMessageCode?: DatasetStatusMessageCode;
    }

    Properties

    CreationTimestamp? DatasetStats? LastUpdatedTimestamp? Status? @@ -15,11 +15,11 @@ The status message code for the dataset.

    LastUpdatedTimestamp?: Date

    The Unix timestamp for the date and time that the dataset was last updated. -

    Status?: string

    +

    Status?: DatasetStatus

    The status of the dataset.

    StatusMessage?: string

    The status message for the dataset. -

    StatusMessageCode?: string

    +

    StatusMessageCode?: DatasetStatusMessageCode

    The status message code for the dataset operation. If a service error occurs, try the API call again later. If a client error occurs, check the input parameters to the dataset API call that failed. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetEntityRecognizerDocuments.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetEntityRecognizerDocuments.html index b8886920873..067a68d70c7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetEntityRecognizerDocuments.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetEntityRecognizerDocuments.html @@ -1,7 +1,7 @@ DatasetEntityRecognizerDocuments | Amplify JS API Documentation -

    Describes the documents submitted with a dataset for an entity recognizer model.

    interface DatasetEntityRecognizerDocuments {
        InputFormat?: string;
        S3Uri: undefined | string;
    }

    Properties

    InputFormat? +

    Describes the documents submitted with a dataset for an entity recognizer model.

    interface DatasetEntityRecognizerDocuments {
        InputFormat?: InputFormat;
        S3Uri: undefined | string;
    }

    Properties

    Properties

    InputFormat?: string

    Specifies how the text in an input file should be processed. This is optional, and the +

    Properties

    InputFormat?: InputFormat

    Specifies how the text in an input file should be processed. This is optional, and the default is ONE_DOC_PER_LINE. ONE_DOC_PER_FILE - Each file is considered a separate document. Use this option when you are processing large documents, such as newspaper articles or scientific papers. ONE_DOC_PER_LINE - Each line in a file is considered a separate document. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetFilter.html index 92982983943..679fa743334 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetFilter.html @@ -1,6 +1,6 @@ DatasetFilter | Amplify JS API Documentation -

    Filter the datasets based on creation time or dataset status.

    interface DatasetFilter {
        CreationTimeAfter?: Date;
        CreationTimeBefore?: Date;
        DatasetType?: string;
        Status?: string;
    }

    Properties

    CreationTimeAfter? +

    Filter the datasets based on creation time or dataset status.

    interface DatasetFilter {
        CreationTimeAfter?: Date;
        CreationTimeBefore?: Date;
        DatasetType?: DatasetType;
        Status?: DatasetStatus;
    }

    Properties

    CreationTimeAfter?: Date

    Filter the datasets to include datasets created after the specified time.

    CreationTimeBefore?: Date

    Filter the datasets to include datasets created before the specified time.

    DatasetType?: string

    Filter the datasets based on the dataset type.

    Status?: string

    Filter the datasets based on the dataset status.

    \ No newline at end of file +

    Properties

    CreationTimeAfter?: Date

    Filter the datasets to include datasets created after the specified time.

    CreationTimeBefore?: Date

    Filter the datasets to include datasets created before the specified time.

    DatasetType?: DatasetType

    Filter the datasets based on the dataset type.

    Status?: DatasetStatus

    Filter the datasets based on the dataset status.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetInputDataConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetInputDataConfig.html index c711de032db..d36fa4ff0d3 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetInputDataConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetInputDataConfig.html @@ -1,11 +1,11 @@ DatasetInputDataConfig | Amplify JS API Documentation -

    Specifies the format and location of the input data for the dataset.

    Properties

    AugmentedManifests? +

    Specifies the format and location of the input data for the dataset.

    Properties

    AugmentedManifests?: DatasetAugmentedManifestsListItem[]

    A list of augmented manifest files that provide training data for your custom model. An augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground - Truth.

    DataFormat?: string

    + Truth.

    DataFormat?: DatasetDataFormat

    COMPREHEND_CSV: The data format is a two-column CSV file, where the first column contains labels and the second column contains documents.

    diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetMetadata.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetMetadata.html index d8c97fce08b..2adc205ed88 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetMetadata.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetMetadata.html @@ -2,7 +2,7 @@

    Summary information for an Amazon Rekognition Custom Labels dataset. For more information, see ProjectDescription. -

    interface DatasetMetadata {
        CreationTimestamp?: Date;
        DatasetArn?: string;
        DatasetType?: string;
        Status?: string;
        StatusMessage?: string;
        StatusMessageCode?: string;
    }

    Properties

    interface DatasetMetadata {
        CreationTimestamp?: Date;
        DatasetArn?: string;
        DatasetType?: DatasetType;
        Status?: DatasetStatus;
        StatusMessage?: string;
        StatusMessageCode?: DatasetStatusMessageCode;
    }

    Properties

    CreationTimestamp? DatasetArn? DatasetType? Status? @@ -12,13 +12,13 @@ The Unix timestamp for the date and time that the dataset was created.

    DatasetArn?: string

    The Amazon Resource Name (ARN) for the dataset. -

    DatasetType?: string

    +

    DatasetType?: DatasetType

    The type of the dataset. -

    Status?: string

    +

    Status?: DatasetStatus

    The status for the dataset.

    StatusMessage?: string

    The status message for the dataset. -

    StatusMessageCode?: string

    +

    StatusMessageCode?: DatasetStatusMessageCode

    The status message code for the dataset operation. If a service error occurs, try the API call again later. If a client error occurs, check the input parameters to the dataset API call that failed. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetProperties.html index 2121bbd1955..f8e22ff61db 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DatasetProperties.html @@ -1,5 +1,5 @@ DatasetProperties | Amplify JS API Documentation -

    Properties associated with the dataset.

    interface DatasetProperties {
        CreationTime?: Date;
        DatasetArn?: string;
        DatasetName?: string;
        DatasetS3Uri?: string;
        DatasetType?: string;
        Description?: string;
        EndTime?: Date;
        Message?: string;
        NumberOfDocuments?: number;
        Status?: string;
    }

    Properties

    CreationTime? +

    Properties associated with the dataset.

    interface DatasetProperties {
        CreationTime?: Date;
        DatasetArn?: string;
        DatasetName?: string;
        DatasetS3Uri?: string;
        DatasetType?: DatasetType;
        Description?: string;
        EndTime?: Date;
        Message?: string;
        NumberOfDocuments?: number;
        Status?: DatasetStatus;
    }

    Properties

    CreationTime?: Date

    Creation time of the dataset.

    DatasetArn?: string

    The ARN of the dataset.

    DatasetName?: string

    The name of the dataset.

    DatasetS3Uri?: string

    The S3 URI where the dataset is stored.

    DatasetType?: string

    The dataset type (training data or test data).

    Description?: string

    Description of the dataset.

    EndTime?: Date

    Time when the data from the dataset becomes available in the data lake.

    Message?: string

    A description of the status of the dataset.

    NumberOfDocuments?: number

    The number of documents in the dataset.

    Status?: string

    The dataset status. While the system creates the dataset, the status is CREATING. +

    Properties

    CreationTime?: Date

    Creation time of the dataset.

    DatasetArn?: string

    The ARN of the dataset.

    DatasetName?: string

    The name of the dataset.

    DatasetS3Uri?: string

    The S3 URI where the dataset is stored.

    DatasetType?: DatasetType

    The dataset type (training data or test data).

    Description?: string

    Description of the dataset.

    EndTime?: Date

    Time when the data from the dataset becomes available in the data lake.

    Message?: string

    A description of the status of the dataset.

    NumberOfDocuments?: number

    The number of documents in the dataset.

    Status?: DatasetStatus

    The dataset status. While the system creates the dataset, the status is CREATING. When the dataset is ready to use, the status changes to COMPLETED.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Decoder.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Decoder.html index 1ab3d55b938..d7e9b195eb9 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Decoder.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Decoder.html @@ -1,6 +1,6 @@ Decoder | Amplify JS API Documentation

    A function that, given a string, can derive the bytes represented by that string.

    -

    Example

    A decoder function that converts bytes to hexadecimal
    representation would return `new Uint8Array([0xde, 0xad, 0xbe, 0xef])` when
    given the string `'deadbeef'`. +

    Example

    A decoder function that converts bytes to hexadecimal
    representation would return `new Uint8Array([104, 101, 108, 108, 111])` when
    given the string `'hello'`.
    interface Decoder ((input) => Uint8Array)
    • Parameters

      • input: string

      Returns Uint8Array

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterCommandInput.html new file mode 100644 index 00000000000..69183dc7498 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterCommandInput.html @@ -0,0 +1,4 @@ +DeleteAdapterCommandInput | Amplify JS API Documentation +

    The input for DeleteAdapterCommand.

    +
    interface DeleteAdapterCommandInput {
        AdapterId: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    AdapterId: undefined | string

    A string containing a unique ID for the adapter to be deleted.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterCommandOutput.html new file mode 100644 index 00000000000..6300ff8ba9a --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterCommandOutput.html @@ -0,0 +1,5 @@ +DeleteAdapterCommandOutput | Amplify JS API Documentation +

    The output of DeleteAdapterCommand.

    +
    interface DeleteAdapterCommandOutput {
        $metadata: ResponseMetadata;
    }

    Hierarchy (view full)

    Properties

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterRequest.html new file mode 100644 index 00000000000..1bf2499593a --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterRequest.html @@ -0,0 +1,3 @@ +DeleteAdapterRequest | Amplify JS API Documentation +
    interface DeleteAdapterRequest {
        AdapterId: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    AdapterId: undefined | string

    A string containing a unique ID for the adapter to be deleted.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterResponse.html new file mode 100644 index 00000000000..848607a9a46 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterResponse.html @@ -0,0 +1,2 @@ +DeleteAdapterResponse | Amplify JS API Documentation +
    interface DeleteAdapterResponse {}

    Hierarchy (view full)

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionCommandInput.html new file mode 100644 index 00000000000..6c06d444acf --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionCommandInput.html @@ -0,0 +1,5 @@ +DeleteAdapterVersionCommandInput | Amplify JS API Documentation +

    The input for DeleteAdapterVersionCommand.

    +
    interface DeleteAdapterVersionCommandInput {
        AdapterId: undefined | string;
        AdapterVersion: undefined | string;
    }

    Hierarchy (view full)

    Properties

    AdapterId: undefined | string

    A string containing a unique ID for the adapter version that will be deleted.

    AdapterVersion: undefined | string

    Specifies the adapter version to be deleted.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionCommandOutput.html new file mode 100644 index 00000000000..f0a10e2516c --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionCommandOutput.html @@ -0,0 +1,5 @@ +DeleteAdapterVersionCommandOutput | Amplify JS API Documentation +

    The output of DeleteAdapterVersionCommand.

    +
    interface DeleteAdapterVersionCommandOutput {
        $metadata: ResponseMetadata;
    }

    Hierarchy (view full)

    Properties

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    +
    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionRequest.html new file mode 100644 index 00000000000..a001e509286 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionRequest.html @@ -0,0 +1,4 @@ +DeleteAdapterVersionRequest | Amplify JS API Documentation +
    interface DeleteAdapterVersionRequest {
        AdapterId: undefined | string;
        AdapterVersion: undefined | string;
    }

    Hierarchy (view full)

    Properties

    AdapterId: undefined | string

    A string containing a unique ID for the adapter version that will be deleted.

    AdapterVersion: undefined | string

    Specifies the adapter version to be deleted.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionResponse.html new file mode 100644 index 00000000000..0204f604271 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteAdapterVersionResponse.html @@ -0,0 +1,2 @@ +DeleteAdapterVersionResponse | Amplify JS API Documentation +
    interface DeleteAdapterVersionResponse {}

    Hierarchy (view full)

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteParallelDataCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteParallelDataCommandOutput.html index 1e981c2b6a8..740f5af68a9 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteParallelDataCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteParallelDataCommandOutput.html @@ -1,7 +1,7 @@ DeleteParallelDataCommandOutput | Amplify JS API Documentation

    The output of DeleteParallelDataCommand.

    -
    interface DeleteParallelDataCommandOutput {
        $metadata: ResponseMetadata;
        Name?: string;
        Status?: string;
    }

    Hierarchy (view full)

    Properties

    interface DeleteParallelDataCommandOutput {
        $metadata: ResponseMetadata;
        Name?: string;
        Status?: ParallelDataStatus;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    Name?: string

    The name of the parallel data resource that is being deleted.

    Status?: string

    The status of the parallel data deletion.

    \ No newline at end of file +
    Name?: string

    The name of the parallel data resource that is being deleted.

    The status of the parallel data deletion.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteParallelDataResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteParallelDataResponse.html index 29d5fee2831..64a743c7f23 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteParallelDataResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteParallelDataResponse.html @@ -1,4 +1,4 @@ DeleteParallelDataResponse | Amplify JS API Documentation -
    interface DeleteParallelDataResponse {
        Name?: string;
        Status?: string;
    }

    Hierarchy (view full)

    Properties

    Name? +
    interface DeleteParallelDataResponse {
        Name?: string;
        Status?: ParallelDataStatus;
    }

    Hierarchy (view full)

    Properties

    Properties

    Name?: string

    The name of the parallel data resource that is being deleted.

    Status?: string

    The status of the parallel data deletion.

    \ No newline at end of file +

    Properties

    Name?: string

    The name of the parallel data resource that is being deleted.

    The status of the parallel data deletion.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectCommandOutput.html index 39844b4fa19..d066ab3dfa1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectCommandOutput.html @@ -1,6 +1,6 @@ DeleteProjectCommandOutput | Amplify JS API Documentation

    The output of DeleteProjectCommand.

    -
    interface DeleteProjectCommandOutput {
        $metadata: ResponseMetadata;
        Status?: string;
    }

    Hierarchy (view full)

    Properties

    interface DeleteProjectCommandOutput {
        $metadata: ResponseMetadata;
        Status?: ProjectStatus;
    }

    Hierarchy (view full)

    Properties

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    Status?: string

    The current status of the delete project operation.

    \ No newline at end of file +
    Status?: ProjectStatus

    The current status of the delete project operation.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectResponse.html index 412e48cdce1..adbc5d39c8e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectResponse.html @@ -1,3 +1,3 @@ DeleteProjectResponse | Amplify JS API Documentation -
    interface DeleteProjectResponse {
        Status?: string;
    }

    Hierarchy (view full)

    Properties

    Properties

    Status?: string

    The current status of the delete project operation.

    \ No newline at end of file +
    interface DeleteProjectResponse {
        Status?: ProjectStatus;
    }

    Hierarchy (view full)

    Properties

    Properties

    Status?: ProjectStatus

    The current status of the delete project operation.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionCommandInput.html index e09278ea804..e4dbf61ba36 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionCommandInput.html @@ -1,4 +1,5 @@ DeleteProjectVersionCommandInput | Amplify JS API Documentation

    The input for DeleteProjectVersionCommand.

    interface DeleteProjectVersionCommandInput {
        ProjectVersionArn: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    ProjectVersionArn: undefined | string

    The Amazon Resource Name (ARN) of the model version that you want to delete.

    \ No newline at end of file +

    Properties

    ProjectVersionArn: undefined | string

    The Amazon Resource Name (ARN) of the project version that you want to + delete.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionCommandOutput.html index 27704b837c7..fa17ecd99e2 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionCommandOutput.html @@ -1,6 +1,6 @@ DeleteProjectVersionCommandOutput | Amplify JS API Documentation

    The output of DeleteProjectVersionCommand.

    -
    interface DeleteProjectVersionCommandOutput {
        $metadata: ResponseMetadata;
        Status?: string;
    }

    Hierarchy (view full)

    Properties

    interface DeleteProjectVersionCommandOutput {
        $metadata: ResponseMetadata;
        Status?: ProjectVersionStatus;
    }

    Hierarchy (view full)

    Properties

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    Status?: string

    The status of the deletion operation.

    \ No newline at end of file +

    The status of the deletion operation.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionRequest.html index 48639b055d2..923d11b19f1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionRequest.html @@ -1,3 +1,4 @@ DeleteProjectVersionRequest | Amplify JS API Documentation
    interface DeleteProjectVersionRequest {
        ProjectVersionArn: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    ProjectVersionArn: undefined | string

    The Amazon Resource Name (ARN) of the model version that you want to delete.

    \ No newline at end of file +

    Properties

    ProjectVersionArn: undefined | string

    The Amazon Resource Name (ARN) of the project version that you want to + delete.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionResponse.html index 6137ca9ae71..2a9e7158c41 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DeleteProjectVersionResponse.html @@ -1,3 +1,3 @@ DeleteProjectVersionResponse | Amplify JS API Documentation -
    interface DeleteProjectVersionResponse {
        Status?: string;
    }

    Hierarchy (view full)

    Properties

    Properties

    Status?: string

    The status of the deletion operation.

    \ No newline at end of file +
    interface DeleteProjectVersionResponse {
        Status?: ProjectVersionStatus;
    }

    Hierarchy (view full)

    Properties

    Properties

    The status of the deletion operation.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsCommandInput.html index fd0df0baba2..305e565ac30 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsCommandInput.html @@ -7,8 +7,10 @@

    Properties

    MaxResults?: number

    The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

    NextToken?: string

    If the previous response was incomplete (because there is more - results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. - You can use this pagination token to retrieve the next set of results.

    ProjectArn: undefined | string

    The Amazon Resource Name (ARN) of the project that contains the models you want to describe.

    VersionNames?: string[]

    A list of model version names that you want to describe. You can add up to 10 model version names - to the list. If you don't specify a value, all model descriptions are returned. A version name is part of a - model (ProjectVersion) ARN. For example, my-model.2020-01-21T09.10.15 is the version name in the following ARN. + results to retrieve), Amazon Rekognition returns a pagination token in the response. + You can use this pagination token to retrieve the next set of results.

    ProjectArn: undefined | string

    The Amazon Resource Name (ARN) of the project that contains the model/adapter you want + to describe.

    VersionNames?: string[]

    A list of model or project version names that you want to describe. You can add + up to 10 model or project version names to the list. If you don't specify a value, all + project version descriptions are returned. A version name is part of a project version ARN. For example, my-model.2020-01-21T09.10.15 is + the version name in the following ARN. arn:aws:rekognition:us-east-1:123456789012:project/getting-started/version/my-model.2020-01-21T09.10.15/1234567890123.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsCommandOutput.html index e7f9af4f74e..5812b68f2d4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsCommandOutput.html @@ -5,6 +5,6 @@ ProjectVersionDescriptions?

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    NextToken?: string

    If the previous response was incomplete (because there is more - results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. - You can use this pagination token to retrieve the next set of results.

    ProjectVersionDescriptions?: ProjectVersionDescription[]

    A list of model descriptions. The list is sorted by the creation date and time of - the model versions, latest to earliest.

    \ No newline at end of file + results to retrieve), Amazon Rekognition returns a pagination token in the response. + You can use this pagination token to retrieve the next set of results.

    ProjectVersionDescriptions?: ProjectVersionDescription[]

    A list of project version descriptions. The list is sorted by the creation date and + time of the project versions, latest to earliest.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsRequest.html index a42738e2a49..665d0192b2b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsRequest.html @@ -6,8 +6,10 @@

    Properties

    MaxResults?: number

    The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

    NextToken?: string

    If the previous response was incomplete (because there is more - results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. - You can use this pagination token to retrieve the next set of results.

    ProjectArn: undefined | string

    The Amazon Resource Name (ARN) of the project that contains the models you want to describe.

    VersionNames?: string[]

    A list of model version names that you want to describe. You can add up to 10 model version names - to the list. If you don't specify a value, all model descriptions are returned. A version name is part of a - model (ProjectVersion) ARN. For example, my-model.2020-01-21T09.10.15 is the version name in the following ARN. + results to retrieve), Amazon Rekognition returns a pagination token in the response. + You can use this pagination token to retrieve the next set of results.

    ProjectArn: undefined | string

    The Amazon Resource Name (ARN) of the project that contains the model/adapter you want + to describe.

    VersionNames?: string[]

    A list of model or project version names that you want to describe. You can add + up to 10 model or project version names to the list. If you don't specify a value, all + project version descriptions are returned. A version name is part of a project version ARN. For example, my-model.2020-01-21T09.10.15 is + the version name in the following ARN. arn:aws:rekognition:us-east-1:123456789012:project/getting-started/version/my-model.2020-01-21T09.10.15/1234567890123.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsResponse.html index 368db3018f3..84d86f6af21 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectVersionsResponse.html @@ -2,6 +2,6 @@
    interface DescribeProjectVersionsResponse {
        NextToken?: string;
        ProjectVersionDescriptions?: ProjectVersionDescription[];
    }

    Hierarchy (view full)

    Properties

    NextToken?: string

    If the previous response was incomplete (because there is more - results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. - You can use this pagination token to retrieve the next set of results.

    ProjectVersionDescriptions?: ProjectVersionDescription[]

    A list of model descriptions. The list is sorted by the creation date and time of - the model versions, latest to earliest.

    \ No newline at end of file + results to retrieve), Amazon Rekognition returns a pagination token in the response. + You can use this pagination token to retrieve the next set of results.

    ProjectVersionDescriptions?: ProjectVersionDescription[]

    A list of project version descriptions. The list is sorted by the creation date and + time of the project versions, latest to earliest.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsCommandInput.html index a7a4608cb6d..45407813f29 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsCommandInput.html @@ -1,11 +1,13 @@ DescribeProjectsCommandInput | Amplify JS API Documentation

    The input for DescribeProjectsCommand.

    -
    interface DescribeProjectsCommandInput {
        MaxResults?: number;
        NextToken?: string;
        ProjectNames?: string[];
    }

    Hierarchy (view full)

    Properties

    interface DescribeProjectsCommandInput {
        Features?: CustomizationFeature[];
        MaxResults?: number;
        NextToken?: string;
        ProjectNames?: string[];
    }

    Hierarchy (view full)

    Properties

    MaxResults?: number

    The maximum number of results to return per paginated call. The largest value you can specify is 100. +

    Properties

    Specifies the type of customization to filter projects by. If no value is specified, + CUSTOM_LABELS is used as a default.

    MaxResults?: number

    The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

    NextToken?: string

    If the previous response was incomplete (because there is more - results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination - token to retrieve the next set of results.

    ProjectNames?: string[]

    A list of the projects that you want Amazon Rekognition Custom Labels to describe. If you don't specify a value, - the response includes descriptions for all the projects in your AWS account.

    \ No newline at end of file + results to retrieve), Rekognition returns a pagination token in the response. You can use this pagination + token to retrieve the next set of results.

    ProjectNames?: string[]

    A list of the projects that you want Rekognition to describe. If you don't specify a value, + the response includes descriptions for all the projects in your AWS account.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsCommandOutput.html index 960d9b52121..2fd631fb445 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsCommandOutput.html @@ -5,5 +5,5 @@ ProjectDescriptions?

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    NextToken?: string

    If the previous response was incomplete (because there is more - results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. + results to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

    ProjectDescriptions?: ProjectDescription[]

    A list of project descriptions. The list is sorted by the date and time the projects are created.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsRequest.html index fba3b3911ee..e0d1b8c095a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsRequest.html @@ -1,10 +1,12 @@ DescribeProjectsRequest | Amplify JS API Documentation -
    interface DescribeProjectsRequest {
        MaxResults?: number;
        NextToken?: string;
        ProjectNames?: string[];
    }

    Hierarchy (view full)

    Properties

    MaxResults? +
    interface DescribeProjectsRequest {
        Features?: CustomizationFeature[];
        MaxResults?: number;
        NextToken?: string;
        ProjectNames?: string[];
    }

    Hierarchy (view full)

    Properties

    MaxResults?: number

    The maximum number of results to return per paginated call. The largest value you can specify is 100. +

    Properties

    Specifies the type of customization to filter projects by. If no value is specified, + CUSTOM_LABELS is used as a default.

    MaxResults?: number

    The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

    NextToken?: string

    If the previous response was incomplete (because there is more - results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination - token to retrieve the next set of results.

    ProjectNames?: string[]

    A list of the projects that you want Amazon Rekognition Custom Labels to describe. If you don't specify a value, - the response includes descriptions for all the projects in your AWS account.

    \ No newline at end of file + results to retrieve), Rekognition returns a pagination token in the response. You can use this pagination + token to retrieve the next set of results.

    ProjectNames?: string[]

    A list of the projects that you want Rekognition to describe. If you don't specify a value, + the response includes descriptions for all the projects in your AWS account.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsResponse.html index 1d9ee2340c2..05e42cac6e9 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeProjectsResponse.html @@ -2,5 +2,5 @@
    interface DescribeProjectsResponse {
        NextToken?: string;
        ProjectDescriptions?: ProjectDescription[];
    }

    Hierarchy (view full)

    Properties

    NextToken?: string

    If the previous response was incomplete (because there is more - results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. + results to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

    ProjectDescriptions?: ProjectDescription[]

    A list of project descriptions. The list is sorted by the date and time the projects are created.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeStreamProcessorCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeStreamProcessorCommandOutput.html index 1b271686ff5..32bd1a315b7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeStreamProcessorCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeStreamProcessorCommandOutput.html @@ -1,6 +1,6 @@ DescribeStreamProcessorCommandOutput | Amplify JS API Documentation

    The output of DescribeStreamProcessorCommand.

    -
    interface DescribeStreamProcessorCommandOutput {
        $metadata: ResponseMetadata;
        CreationTimestamp?: Date;
        DataSharingPreference?: StreamProcessorDataSharingPreference;
        Input?: StreamProcessorInput;
        KmsKeyId?: string;
        LastUpdateTimestamp?: Date;
        Name?: string;
        NotificationChannel?: StreamProcessorNotificationChannel;
        Output?: StreamProcessorOutput;
        RegionsOfInterest?: RegionOfInterest[];
        RoleArn?: string;
        Settings?: StreamProcessorSettings;
        Status?: string;
        StatusMessage?: string;
        StreamProcessorArn?: string;
    }

    Hierarchy (view full)

    Properties

    interface DescribeStreamProcessorCommandOutput {
        $metadata: ResponseMetadata;
        CreationTimestamp?: Date;
        DataSharingPreference?: StreamProcessorDataSharingPreference;
        Input?: StreamProcessorInput;
        KmsKeyId?: string;
        LastUpdateTimestamp?: Date;
        Name?: string;
        NotificationChannel?: StreamProcessorNotificationChannel;
        Output?: StreamProcessorOutput;
        RegionsOfInterest?: RegionOfInterest[];
        RoleArn?: string;
        Settings?: StreamProcessorSettings;
        Status?: StreamProcessorStatus;
        StatusMessage?: string;
        StreamProcessorArn?: string;
    }

    Hierarchy (view full)

    Properties

    $metadata CreationTimestamp? DataSharingPreference? Input? @@ -29,4 +29,4 @@

    Amazon Rekognition also publishes an an end-of-session notification with a summary when the stream processing session is complete.

    Kinesis data stream to which Amazon Rekognition Video puts the analysis results.

    RegionsOfInterest?: RegionOfInterest[]

    Specifies locations in the frames where Amazon Rekognition checks for objects or people. This is an optional parameter for label detection stream processors.

    RoleArn?: string

    ARN of the IAM role that allows access to the stream processor.

    Input parameters used in a streaming video analyzed by a stream processor. You can use FaceSearch to recognize faces - in a streaming video, or you can use ConnectedHome to detect labels.

    Status?: string

    Current status of the stream processor.

    StatusMessage?: string

    Detailed status message about the stream processor.

    StreamProcessorArn?: string

    ARN of the stream processor.

    \ No newline at end of file + in a streaming video, or you can use ConnectedHome to detect labels.

    Current status of the stream processor.

    StatusMessage?: string

    Detailed status message about the stream processor.

    StreamProcessorArn?: string

    ARN of the stream processor.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeStreamProcessorResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeStreamProcessorResponse.html index 9bf8dd4b447..b02b91d46c1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeStreamProcessorResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeStreamProcessorResponse.html @@ -1,5 +1,5 @@ DescribeStreamProcessorResponse | Amplify JS API Documentation -
    interface DescribeStreamProcessorResponse {
        CreationTimestamp?: Date;
        DataSharingPreference?: StreamProcessorDataSharingPreference;
        Input?: StreamProcessorInput;
        KmsKeyId?: string;
        LastUpdateTimestamp?: Date;
        Name?: string;
        NotificationChannel?: StreamProcessorNotificationChannel;
        Output?: StreamProcessorOutput;
        RegionsOfInterest?: RegionOfInterest[];
        RoleArn?: string;
        Settings?: StreamProcessorSettings;
        Status?: string;
        StatusMessage?: string;
        StreamProcessorArn?: string;
    }

    Hierarchy (view full)

    Properties

    CreationTimestamp? +
    interface DescribeStreamProcessorResponse {
        CreationTimestamp?: Date;
        DataSharingPreference?: StreamProcessorDataSharingPreference;
        Input?: StreamProcessorInput;
        KmsKeyId?: string;
        LastUpdateTimestamp?: Date;
        Name?: string;
        NotificationChannel?: StreamProcessorNotificationChannel;
        Output?: StreamProcessorOutput;
        RegionsOfInterest?: RegionOfInterest[];
        RoleArn?: string;
        Settings?: StreamProcessorSettings;
        Status?: StreamProcessorStatus;
        StatusMessage?: string;
        StreamProcessorArn?: string;
    }

    Hierarchy (view full)

    Properties

    CreationTimestamp? DataSharingPreference? Input? KmsKeyId? @@ -26,4 +26,4 @@

    Amazon Rekognition also publishes an an end-of-session notification with a summary when the stream processing session is complete.

    Kinesis data stream to which Amazon Rekognition Video puts the analysis results.

    RegionsOfInterest?: RegionOfInterest[]

    Specifies locations in the frames where Amazon Rekognition checks for objects or people. This is an optional parameter for label detection stream processors.

    RoleArn?: string

    ARN of the IAM role that allows access to the stream processor.

    Input parameters used in a streaming video analyzed by a stream processor. You can use FaceSearch to recognize faces - in a streaming video, or you can use ConnectedHome to detect labels.

    Status?: string

    Current status of the stream processor.

    StatusMessage?: string

    Detailed status message about the stream processor.

    StreamProcessorArn?: string

    ARN of the stream processor.

    \ No newline at end of file + in a streaming video, or you can use ConnectedHome to detect labels.

    Current status of the stream processor.

    StatusMessage?: string

    Detailed status message about the stream processor.

    StreamProcessorArn?: string

    ARN of the stream processor.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeVoicesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeVoicesCommandInput.html index d55b7c1e42e..9dd7eec17df 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeVoicesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeVoicesCommandInput.html @@ -1,16 +1,17 @@ DescribeVoicesCommandInput | Amplify JS API Documentation

    The input for DescribeVoicesCommand.

    -
    interface DescribeVoicesCommandInput {
        Engine?: string;
        IncludeAdditionalLanguageCodes?: boolean;
        LanguageCode?: string;
        NextToken?: string;
    }

    Hierarchy (view full)

    Properties

    interface DescribeVoicesCommandInput {
        Engine?: Engine;
        IncludeAdditionalLanguageCodes?: boolean;
        LanguageCode?: LanguageCode;
        NextToken?: string;
    }

    Hierarchy (view full)

    Properties

    Engine?: string

    Specifies the engine (standard or neural) - used by Amazon Polly when processing input text for speech synthesis.

    IncludeAdditionalLanguageCodes?: boolean

    Boolean value indicating whether to return any bilingual voices that +

    Properties

    Engine?: Engine

    Specifies the engine (standard, neural, + long-form or generative) used by Amazon Polly when + processing input text for speech synthesis.

    IncludeAdditionalLanguageCodes?: boolean

    Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language. For instance, if you request all languages that use US English (es-US), and there is an Italian voice that speaks both Italian (it-IT) and US English, that voice will be included if you specify yes but not if you specify - no.

    LanguageCode?: string

    The language identification tag (ISO 639 code for the language + no.

    LanguageCode?: LanguageCode

    The language identification tag (ISO 639 code for the language name-ISO 3166 country code) for filtering the list of voices returned. If you don't specify this optional parameter, all available voices are returned.

    NextToken?: string

    An opaque pagination token returned from the previous diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeVoicesInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeVoicesInput.html index c29b045660c..847d0085d7c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeVoicesInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DescribeVoicesInput.html @@ -1,15 +1,16 @@ DescribeVoicesInput | Amplify JS API Documentation -

    interface DescribeVoicesInput {
        Engine?: string;
        IncludeAdditionalLanguageCodes?: boolean;
        LanguageCode?: string;
        NextToken?: string;
    }

    Hierarchy (view full)

    Properties

    Engine? +
    interface DescribeVoicesInput {
        Engine?: Engine;
        IncludeAdditionalLanguageCodes?: boolean;
        LanguageCode?: LanguageCode;
        NextToken?: string;
    }

    Hierarchy (view full)

    Properties

    Engine?: string

    Specifies the engine (standard or neural) - used by Amazon Polly when processing input text for speech synthesis.

    IncludeAdditionalLanguageCodes?: boolean

    Boolean value indicating whether to return any bilingual voices that +

    Properties

    Engine?: Engine

    Specifies the engine (standard, neural, + long-form or generative) used by Amazon Polly when + processing input text for speech synthesis.

    IncludeAdditionalLanguageCodes?: boolean

    Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language. For instance, if you request all languages that use US English (es-US), and there is an Italian voice that speaks both Italian (it-IT) and US English, that voice will be included if you specify yes but not if you specify - no.

    LanguageCode?: string

    The language identification tag (ISO 639 code for the language + no.

    LanguageCode?: LanguageCode

    The language identification tag (ISO 639 code for the language name-ISO 3166 country code) for filtering the list of voices returned. If you don't specify this optional parameter, all available voices are returned.

    NextToken?: string

    An opaque pagination token returned from the previous diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectCustomLabelsCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectCustomLabelsCommandInput.html index 8b17f8afd03..22449d18da1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectCustomLabelsCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectCustomLabelsCommandInput.html @@ -30,4 +30,7 @@ value of 0, DetectCustomLabels returns all labels, regardless of the assumed threshold applied to each label. If you don't specify a value for MinConfidence, DetectCustomLabels - returns labels based on the assumed threshold of each label.

    ProjectVersionArn: undefined | string

    The ARN of the model version that you want to use.

    \ No newline at end of file + returns labels based on the assumed threshold of each label.

    ProjectVersionArn: undefined | string

    The ARN of the model version that you want to use. Only models associated with Custom + Labels projects accepted by the operation. If a provided ARN refers to a model version + associated with a project for a different feature type, then an InvalidParameterException + is returned.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectCustomLabelsRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectCustomLabelsRequest.html index bf8126924d4..1693d808719 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectCustomLabelsRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectCustomLabelsRequest.html @@ -29,4 +29,7 @@ value of 0, DetectCustomLabels returns all labels, regardless of the assumed threshold applied to each label. If you don't specify a value for MinConfidence, DetectCustomLabels - returns labels based on the assumed threshold of each label.

    ProjectVersionArn: undefined | string

    The ARN of the model version that you want to use.

    \ No newline at end of file + returns labels based on the assumed threshold of each label.

    ProjectVersionArn: undefined | string

    The ARN of the model version that you want to use. Only models associated with Custom + Labels projects accepted by the operation. If a provided ARN refers to a model version + associated with a project for a different feature type, then an InvalidParameterException + is returned.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectEntitiesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectEntitiesCommandInput.html index a426cc01f72..bddb945cea2 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectEntitiesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectEntitiesCommandInput.html @@ -1,6 +1,6 @@ DetectEntitiesCommandInput | Amplify JS API Documentation

    The input for DetectEntitiesCommand.

    -
    interface DetectEntitiesCommandInput {
        Bytes?: Uint8Array;
        DocumentReaderConfig?: DocumentReaderConfig;
        EndpointArn?: string;
        LanguageCode?: string;
        Text?: string;
    }

    Hierarchy (view full)

    Properties

    interface DetectEntitiesCommandInput {
        Bytes?: Uint8Array;
        DocumentReaderConfig?: DocumentReaderConfig;
        EndpointArn?: string;
        LanguageCode?: LanguageCode;
        Text?: string;
    }

    Hierarchy (view full)

    Properties

    Bytes? DocumentReaderConfig? EndpointArn? LanguageCode? @@ -26,7 +26,7 @@ model instead of the default model that is used by Amazon Comprehend.

    If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you provide in your request.

    -

    For information about endpoints, see Managing endpoints.

    LanguageCode?: string

    The language of the input documents. You can specify any of the primary languages +

    For information about endpoints, see Managing endpoints.

    LanguageCode?: LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. If your request includes the endpoint for a custom entity recognition model, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you specify here.

    diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectEntitiesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectEntitiesRequest.html index 51294878d2f..ccc2acf9154 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectEntitiesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectEntitiesRequest.html @@ -1,5 +1,5 @@ DetectEntitiesRequest | Amplify JS API Documentation -
    interface DetectEntitiesRequest {
        Bytes?: Uint8Array;
        DocumentReaderConfig?: DocumentReaderConfig;
        EndpointArn?: string;
        LanguageCode?: string;
        Text?: string;
    }

    Hierarchy (view full)

    Properties

    Bytes? +
    interface DetectEntitiesRequest {
        Bytes?: Uint8Array;
        DocumentReaderConfig?: DocumentReaderConfig;
        EndpointArn?: string;
        LanguageCode?: LanguageCode;
        Text?: string;
    }

    Hierarchy (view full)

    Properties

    Bytes? DocumentReaderConfig? EndpointArn? LanguageCode? @@ -25,7 +25,7 @@ model instead of the default model that is used by Amazon Comprehend.

    If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you provide in your request.

    -

    For information about endpoints, see Managing endpoints.

    LanguageCode?: string

    The language of the input documents. You can specify any of the primary languages +

    For information about endpoints, see Managing endpoints.

    LanguageCode?: LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. If your request includes the endpoint for a custom entity recognition model, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you specify here.

    diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesCommandInput.html index 3de1eca6139..6539483cd18 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesCommandInput.html @@ -1,8 +1,8 @@ DetectFacesCommandInput | Amplify JS API Documentation

    The input for DetectFacesCommand.

    -
    interface DetectFacesCommandInput {
        Attributes?: string[];
        Image: undefined | Image;
    }

    Hierarchy (view full)

    Properties

    interface DetectFacesCommandInput {
        Attributes?: Attribute[];
        Image: undefined | Image;
    }

    Hierarchy (view full)

    Properties

    Properties

    Attributes?: string[]

    An array of facial attributes you want to be returned. A DEFAULT subset of +

    Properties

    Attributes?: Attribute[]

    An array of facial attributes you want to be returned. A DEFAULT subset of facial attributes - BoundingBox, Confidence, Pose, Quality, and Landmarks - will always be returned. You can request for specific facial attributes (in addition to the default list) - by using ["DEFAULT", diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesCommandOutput.html index f48e8563f9b..d86119c3ef1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesCommandOutput.html @@ -1,10 +1,10 @@ DetectFacesCommandOutput | Amplify JS API Documentation

    The output of DetectFacesCommand.

    -
    interface DetectFacesCommandOutput {
        $metadata: ResponseMetadata;
        FaceDetails?: FaceDetail[];
        OrientationCorrection?: string;
    }

    Hierarchy (view full)

    Properties

    interface DetectFacesCommandOutput {
        $metadata: ResponseMetadata;
        FaceDetails?: FaceDetail[];
        OrientationCorrection?: OrientationCorrection;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    FaceDetails?: FaceDetail[]

    Details of each face found in the image.

    OrientationCorrection?: string

    The value of OrientationCorrection is always null.

    +
    FaceDetails?: FaceDetail[]

    Details of each face found in the image.

    OrientationCorrection?: OrientationCorrection

    The value of OrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesRequest.html index f6ee4e4bced..65b97401a3e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesRequest.html @@ -1,7 +1,7 @@ DetectFacesRequest | Amplify JS API Documentation -

    interface DetectFacesRequest {
        Attributes?: string[];
        Image: undefined | Image;
    }

    Hierarchy (view full)

    Properties

    Attributes? +
    interface DetectFacesRequest {
        Attributes?: Attribute[];
        Image: undefined | Image;
    }

    Hierarchy (view full)

    Properties

    Properties

    Attributes?: string[]

    An array of facial attributes you want to be returned. A DEFAULT subset of +

    Properties

    Attributes?: Attribute[]

    An array of facial attributes you want to be returned. A DEFAULT subset of facial attributes - BoundingBox, Confidence, Pose, Quality, and Landmarks - will always be returned. You can request for specific facial attributes (in addition to the default list) - by using ["DEFAULT", diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesResponse.html index 2923e56e854..ac8f8e68170 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectFacesResponse.html @@ -1,7 +1,7 @@ DetectFacesResponse | Amplify JS API Documentation -

    interface DetectFacesResponse {
        FaceDetails?: FaceDetail[];
        OrientationCorrection?: string;
    }

    Hierarchy (view full)

    Properties

    FaceDetails? +
    interface DetectFacesResponse {
        FaceDetails?: FaceDetail[];
        OrientationCorrection?: OrientationCorrection;
    }

    Hierarchy (view full)

    Properties

    FaceDetails?: FaceDetail[]

    Details of each face found in the image.

    OrientationCorrection?: string

    The value of OrientationCorrection is always null.

    +

    Properties

    FaceDetails?: FaceDetail[]

    Details of each face found in the image.

    OrientationCorrection?: OrientationCorrection

    The value of OrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectKeyPhrasesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectKeyPhrasesCommandInput.html index 8ab08db6c3a..cef196c99b5 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectKeyPhrasesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectKeyPhrasesCommandInput.html @@ -1,7 +1,7 @@ DetectKeyPhrasesCommandInput | Amplify JS API Documentation

    The input for DetectKeyPhrasesCommand.

    -
    interface DetectKeyPhrasesCommandInput {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    interface DetectKeyPhrasesCommandInput {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    Text: undefined | string

    A UTF-8 text string. The string must contain less than 100 KB of UTF-8 encoded characters.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectKeyPhrasesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectKeyPhrasesRequest.html index 2ab982765ac..c45b813b043 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectKeyPhrasesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectKeyPhrasesRequest.html @@ -1,6 +1,6 @@ DetectKeyPhrasesRequest | Amplify JS API Documentation -
    interface DetectKeyPhrasesRequest {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface DetectKeyPhrasesRequest {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    Text: undefined | string

    A UTF-8 text string. The string must contain less than 100 KB of UTF-8 encoded characters.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsCommandInput.html index 3613327b3cf..a99432a1890 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsCommandInput.html @@ -1,11 +1,11 @@ DetectLabelsCommandInput | Amplify JS API Documentation

    The input for DetectLabelsCommand.

    -
    interface DetectLabelsCommandInput {
        Features?: string[];
        Image: undefined | Image;
        MaxLabels?: number;
        MinConfidence?: number;
        Settings?: DetectLabelsSettings;
    }

    Hierarchy (view full)

    Properties

    interface DetectLabelsCommandInput {
        Features?: DetectLabelsFeatureName[];
        Image: undefined | Image;
        MaxLabels?: number;
        MinConfidence?: number;
        Settings?: DetectLabelsSettings;
    }

    Hierarchy (view full)

    Properties

    Features?: string[]

    A list of the types of analysis to perform. Specifying GENERAL_LABELS uses the label +

    Properties

    A list of the types of analysis to perform. Specifying GENERAL_LABELS uses the label detection feature, while specifying IMAGE_PROPERTIES returns information regarding image color and quality. If no option is specified GENERAL_LABELS is used by default.

    Image: undefined | Image

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. Images stored in an diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsCommandOutput.html index fed3b38a045..57c443ff510 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsCommandOutput.html @@ -1,13 +1,13 @@ DetectLabelsCommandOutput | Amplify JS API Documentation

    The output of DetectLabelsCommand.

    -
    interface DetectLabelsCommandOutput {
        $metadata: ResponseMetadata;
        ImageProperties?: DetectLabelsImageProperties;
        LabelModelVersion?: string;
        Labels?: Label[];
        OrientationCorrection?: string;
    }

    Hierarchy (view full)

    Properties

    interface DetectLabelsCommandOutput {
        $metadata: ResponseMetadata;
        ImageProperties?: DetectLabelsImageProperties;
        LabelModelVersion?: string;
        Labels?: Label[];
        OrientationCorrection?: OrientationCorrection;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    ImageProperties?: DetectLabelsImageProperties

    Information about the properties of the input image, such as brightness, sharpness, - contrast, and dominant colors.

    LabelModelVersion?: string

    Version number of the label detection model that was used to detect labels.

    Labels?: Label[]

    An array of labels for the real-world objects detected.

    OrientationCorrection?: string

    The value of OrientationCorrection is always null.

    + contrast, and dominant colors.

    LabelModelVersion?: string

    Version number of the label detection model that was used to detect labels.

    Labels?: Label[]

    An array of labels for the real-world objects detected.

    OrientationCorrection?: OrientationCorrection

    The value of OrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsRequest.html index f079c6e5c79..d722420beae 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsRequest.html @@ -1,10 +1,10 @@ DetectLabelsRequest | Amplify JS API Documentation -

    interface DetectLabelsRequest {
        Features?: string[];
        Image: undefined | Image;
        MaxLabels?: number;
        MinConfidence?: number;
        Settings?: DetectLabelsSettings;
    }

    Hierarchy (view full)

    Properties

    Features? +
    interface DetectLabelsRequest {
        Features?: DetectLabelsFeatureName[];
        Image: undefined | Image;
        MaxLabels?: number;
        MinConfidence?: number;
        Settings?: DetectLabelsSettings;
    }

    Hierarchy (view full)

    Properties

    Features?: string[]

    A list of the types of analysis to perform. Specifying GENERAL_LABELS uses the label +

    Properties

    A list of the types of analysis to perform. Specifying GENERAL_LABELS uses the label detection feature, while specifying IMAGE_PROPERTIES returns information regarding image color and quality. If no option is specified GENERAL_LABELS is used by default.

    Image: undefined | Image

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. Images stored in an diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsResponse.html index 1f3847a12ff..0c86d3c01dc 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectLabelsResponse.html @@ -1,10 +1,10 @@ DetectLabelsResponse | Amplify JS API Documentation -

    interface DetectLabelsResponse {
        ImageProperties?: DetectLabelsImageProperties;
        LabelModelVersion?: string;
        Labels?: Label[];
        OrientationCorrection?: string;
    }

    Hierarchy (view full)

    Properties

    ImageProperties? +
    interface DetectLabelsResponse {
        ImageProperties?: DetectLabelsImageProperties;
        LabelModelVersion?: string;
        Labels?: Label[];
        OrientationCorrection?: OrientationCorrection;
    }

    Hierarchy (view full)

    Properties

    ImageProperties?: DetectLabelsImageProperties

    Information about the properties of the input image, such as brightness, sharpness, - contrast, and dominant colors.

    LabelModelVersion?: string

    Version number of the label detection model that was used to detect labels.

    Labels?: Label[]

    An array of labels for the real-world objects detected.

    OrientationCorrection?: string

    The value of OrientationCorrection is always null.

    + contrast, and dominant colors.

    LabelModelVersion?: string

    Version number of the label detection model that was used to detect labels.

    Labels?: Label[]

    An array of labels for the real-world objects detected.

    OrientationCorrection?: OrientationCorrection

    The value of OrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsCommandInput.html index 99a4270ac90..59464c01922 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsCommandInput.html @@ -1,8 +1,9 @@ DetectModerationLabelsCommandInput | Amplify JS API Documentation

    The input for DetectModerationLabelsCommand.

    -
    interface DetectModerationLabelsCommandInput {
        HumanLoopConfig?: HumanLoopConfig;
        Image: undefined | Image;
        MinConfidence?: number;
    }

    Hierarchy (view full)

    Properties

    interface DetectModerationLabelsCommandInput {
        HumanLoopConfig?: HumanLoopConfig;
        Image: undefined | Image;
        MinConfidence?: number;
        ProjectVersion?: string;
    }

    Hierarchy (view full)

    Properties

    HumanLoopConfig?: HumanLoopConfig

    Sets up the configuration for human evaluation, including the FlowDefinition the image will be sent to.

    Image: undefined | Image

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

    @@ -11,4 +12,5 @@ Images in the Amazon Rekognition developer guide.

    MinConfidence?: number

    Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value.

    If you don't specify MinConfidence, the operation returns labels with - confidence values greater than or equal to 50 percent.

    \ No newline at end of file + confidence values greater than or equal to 50 percent.

    ProjectVersion?: string

    Identifier for the custom adapter. Expects the ProjectVersionArn as a value. + Use the CreateProject or CreateProjectVersion APIs to create a custom adapter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsCommandOutput.html index 98ac11fa645..6caea43e6e0 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsCommandOutput.html @@ -1,10 +1,15 @@ DetectModerationLabelsCommandOutput | Amplify JS API Documentation

    The output of DetectModerationLabelsCommand.

    -
    interface DetectModerationLabelsCommandOutput {
        $metadata: ResponseMetadata;
        HumanLoopActivationOutput?: HumanLoopActivationOutput;
        ModerationLabels?: ModerationLabel[];
        ModerationModelVersion?: string;
    }

    Hierarchy (view full)

    Properties

    interface DetectModerationLabelsCommandOutput {
        $metadata: ResponseMetadata;
        ContentTypes?: ContentType[];
        HumanLoopActivationOutput?: HumanLoopActivationOutput;
        ModerationLabels?: ModerationLabel[];
        ModerationModelVersion?: string;
        ProjectVersion?: string;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    HumanLoopActivationOutput?: HumanLoopActivationOutput

    Shows the results of the human in the loop evaluation.

    ModerationLabels?: ModerationLabel[]

    Array of detected Moderation labels and the time, in milliseconds from the start of the - video, they were detected.

    ModerationModelVersion?: string

    Version number of the moderation detection model that was used to detect unsafe - content.

    \ No newline at end of file +
    ContentTypes?: ContentType[]

    A list of predicted results for the type of content an image contains. For example, + the image content might be from animation, sports, or a video game.

    HumanLoopActivationOutput?: HumanLoopActivationOutput

    Shows the results of the human in the loop evaluation.

    ModerationLabels?: ModerationLabel[]

    Array of detected Moderation labels. For video operations, this includes the time, + in milliseconds from the start of the video, they were detected.

    ModerationModelVersion?: string

    Version number of the base moderation detection model that was used to detect unsafe + content.

    ProjectVersion?: string

    Identifier of the custom adapter that was used during inference. If + during inference the adapter was EXPIRED, then the parameter will not be returned, + indicating that a base moderation detection project version was used.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsRequest.html index b0ad8250439..06cf6a788c1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsRequest.html @@ -1,7 +1,8 @@ DetectModerationLabelsRequest | Amplify JS API Documentation -
    interface DetectModerationLabelsRequest {
        HumanLoopConfig?: HumanLoopConfig;
        Image: undefined | Image;
        MinConfidence?: number;
    }

    Hierarchy (view full)

    Properties

    HumanLoopConfig? +
    interface DetectModerationLabelsRequest {
        HumanLoopConfig?: HumanLoopConfig;
        Image: undefined | Image;
        MinConfidence?: number;
        ProjectVersion?: string;
    }

    Hierarchy (view full)

    Properties

    HumanLoopConfig?: HumanLoopConfig

    Sets up the configuration for human evaluation, including the FlowDefinition the image will be sent to.

    Image: undefined | Image

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

    @@ -10,4 +11,5 @@ Images in the Amazon Rekognition developer guide.

    MinConfidence?: number

    Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value.

    If you don't specify MinConfidence, the operation returns labels with - confidence values greater than or equal to 50 percent.

    \ No newline at end of file + confidence values greater than or equal to 50 percent.

    ProjectVersion?: string

    Identifier for the custom adapter. Expects the ProjectVersionArn as a value. + Use the CreateProject or CreateProjectVersion APIs to create a custom adapter.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsResponse.html index 1a274b352b3..a36bc8e9cf1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectModerationLabelsResponse.html @@ -1,7 +1,12 @@ DetectModerationLabelsResponse | Amplify JS API Documentation -
    interface DetectModerationLabelsResponse {
        HumanLoopActivationOutput?: HumanLoopActivationOutput;
        ModerationLabels?: ModerationLabel[];
        ModerationModelVersion?: string;
    }

    Hierarchy (view full)

    Properties

    HumanLoopActivationOutput? +
    interface DetectModerationLabelsResponse {
        ContentTypes?: ContentType[];
        HumanLoopActivationOutput?: HumanLoopActivationOutput;
        ModerationLabels?: ModerationLabel[];
        ModerationModelVersion?: string;
        ProjectVersion?: string;
    }

    Hierarchy (view full)

    Properties

    HumanLoopActivationOutput?: HumanLoopActivationOutput

    Shows the results of the human in the loop evaluation.

    ModerationLabels?: ModerationLabel[]

    Array of detected Moderation labels and the time, in milliseconds from the start of the - video, they were detected.

    ModerationModelVersion?: string

    Version number of the moderation detection model that was used to detect unsafe - content.

    \ No newline at end of file +ProjectVersion? +

    Properties

    ContentTypes?: ContentType[]

    A list of predicted results for the type of content an image contains. For example, + the image content might be from animation, sports, or a video game.

    HumanLoopActivationOutput?: HumanLoopActivationOutput

    Shows the results of the human in the loop evaluation.

    ModerationLabels?: ModerationLabel[]

    Array of detected Moderation labels. For video operations, this includes the time, + in milliseconds from the start of the video, they were detected.

    ModerationModelVersion?: string

    Version number of the base moderation detection model that was used to detect unsafe + content.

    ProjectVersion?: string

    Identifier of the custom adapter that was used during inference. If + during inference the adapter was EXPIRED, then the parameter will not be returned, + indicating that a base moderation detection project version was used.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectPiiEntitiesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectPiiEntitiesCommandInput.html index 97a9342cee6..e61e6049c86 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectPiiEntitiesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectPiiEntitiesCommandInput.html @@ -1,5 +1,6 @@ DetectPiiEntitiesCommandInput | Amplify JS API Documentation

    The input for DetectPiiEntitiesCommand.

    -
    interface DetectPiiEntitiesCommandInput {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    interface DetectPiiEntitiesCommandInput {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. Currently, English is the only valid language.

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 100 KB.

    \ No newline at end of file +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input text. + Enter the language code for English (en) or Spanish (es).

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 100 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectPiiEntitiesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectPiiEntitiesRequest.html index c7001ab042c..2b2dc8ef279 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectPiiEntitiesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectPiiEntitiesRequest.html @@ -1,4 +1,5 @@ DetectPiiEntitiesRequest | Amplify JS API Documentation -
    interface DetectPiiEntitiesRequest {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface DetectPiiEntitiesRequest {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. Currently, English is the only valid language.

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 100 KB.

    \ No newline at end of file +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input text. + Enter the language code for English (en) or Spanish (es).

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 100 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentCommandInput.html index 02a2d86405a..0f3e70c9708 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentCommandInput.html @@ -1,6 +1,6 @@ DetectSentimentCommandInput | Amplify JS API Documentation

    The input for DetectSentimentCommand.

    -
    interface DetectSentimentCommandInput {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    interface DetectSentimentCommandInput {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentCommandOutput.html index 28a1d5c6b86..489ad43eff0 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentCommandOutput.html @@ -1,9 +1,9 @@ DetectSentimentCommandOutput | Amplify JS API Documentation

    The output of DetectSentimentCommand.

    -
    interface DetectSentimentCommandOutput {
        $metadata: ResponseMetadata;
        Sentiment?: string;
        SentimentScore?: SentimentScore;
    }

    Hierarchy (view full)

    Properties

    interface DetectSentimentCommandOutput {
        $metadata: ResponseMetadata;
        Sentiment?: SentimentType;
        SentimentScore?: SentimentScore;
    }

    Hierarchy (view full)

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    -
    Sentiment?: string

    The inferred sentiment that Amazon Comprehend has the highest level of confidence +

    Sentiment?: SentimentType

    The inferred sentiment that Amazon Comprehend has the highest level of confidence in.

    SentimentScore?: SentimentScore

    An object that lists the sentiments, and their corresponding confidence levels.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentRequest.html index a6fc0a58582..4558b08b426 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentRequest.html @@ -1,5 +1,5 @@ DetectSentimentRequest | Amplify JS API Documentation -
    interface DetectSentimentRequest {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface DetectSentimentRequest {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. You can specify any of the primary languages +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    Text: undefined | string

    A UTF-8 text string. The maximum string size is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentResponse.html index d1857fcc99c..53118dd8c0a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSentimentResponse.html @@ -1,6 +1,6 @@ DetectSentimentResponse | Amplify JS API Documentation -
    interface DetectSentimentResponse {
        Sentiment?: string;
        SentimentScore?: SentimentScore;
    }

    Hierarchy (view full)

    Properties

    Sentiment? +
    interface DetectSentimentResponse {
        Sentiment?: SentimentType;
        SentimentScore?: SentimentScore;
    }

    Hierarchy (view full)

    Properties

    Sentiment?: string

    The inferred sentiment that Amazon Comprehend has the highest level of confidence +

    Properties

    Sentiment?: SentimentType

    The inferred sentiment that Amazon Comprehend has the highest level of confidence in.

    SentimentScore?: SentimentScore

    An object that lists the sentiments, and their corresponding confidence levels.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSyntaxCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSyntaxCommandInput.html index 044134167db..f3105116394 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSyntaxCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSyntaxCommandInput.html @@ -1,7 +1,7 @@ DetectSyntaxCommandInput | Amplify JS API Documentation

    The input for DetectSyntaxCommand.

    -
    interface DetectSyntaxCommandInput {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    interface DetectSyntaxCommandInput {
        LanguageCode: undefined | SyntaxLanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language code of the input documents. You can specify any of the following languages +

    Properties

    LanguageCode: undefined | SyntaxLanguageCode

    The language code of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt").

    Text: undefined | string

    A UTF-8 string. The maximum string size is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSyntaxRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSyntaxRequest.html index 563666e2f05..01da8adbbef 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSyntaxRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectSyntaxRequest.html @@ -1,6 +1,6 @@ DetectSyntaxRequest | Amplify JS API Documentation -
    interface DetectSyntaxRequest {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface DetectSyntaxRequest {
        LanguageCode: undefined | SyntaxLanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language code of the input documents. You can specify any of the following languages +

    Properties

    LanguageCode: undefined | SyntaxLanguageCode

    The language code of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt").

    Text: undefined | string

    A UTF-8 string. The maximum string size is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectTargetedSentimentCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectTargetedSentimentCommandInput.html index 673bb36613f..b6e7cc64039 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectTargetedSentimentCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectTargetedSentimentCommandInput.html @@ -1,5 +1,5 @@ DetectTargetedSentimentCommandInput | Amplify JS API Documentation

    The input for DetectTargetedSentimentCommand.

    -
    interface DetectTargetedSentimentCommandInput {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    interface DetectTargetedSentimentCommandInput {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. Currently, English is the only supported language.

    Text: undefined | string

    A UTF-8 text string. The maximum string length is 5 KB.

    \ No newline at end of file +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. Currently, English is the only supported language.

    Text: undefined | string

    A UTF-8 text string. The maximum string length is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectTargetedSentimentRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectTargetedSentimentRequest.html index 1c20d966875..8320fdb5131 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectTargetedSentimentRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectTargetedSentimentRequest.html @@ -1,4 +1,4 @@ DetectTargetedSentimentRequest | Amplify JS API Documentation -
    interface DetectTargetedSentimentRequest {
        LanguageCode: undefined | string;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    LanguageCode +
    interface DetectTargetedSentimentRequest {
        LanguageCode: undefined | LanguageCode;
        Text: undefined | string;
    }

    Hierarchy (view full)

    Properties

    Properties

    LanguageCode: undefined | string

    The language of the input documents. Currently, English is the only supported language.

    Text: undefined | string

    A UTF-8 text string. The maximum string length is 5 KB.

    \ No newline at end of file +

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input documents. Currently, English is the only supported language.

    Text: undefined | string

    A UTF-8 text string. The maximum string length is 5 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Gender.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentCommandInput.html similarity index 65% rename from docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Gender.html rename to docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentCommandInput.html index 028006f773c..2f1962f2de7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Gender.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentCommandInput.html @@ -1,8 +1,6 @@ -Gender | Amplify JS API Documentation -

    The predicted gender of a detected face. - -

    </p>
    <p>Amazon Rekognition makes gender binary (male/female) predictions based on the physical
    appearance of a face in a particular image. This kind of prediction is not designed to
    categorize a persons gender identity, and you shouldn't use Amazon Rekognition to make such a
    determination. For example, a male actor wearing a long-haired wig and earrings for a role
    might be predicted as female.</p>
    <p>Using Amazon Rekognition to make gender binary predictions is best suited for use cases
    where aggregate gender distribution statistics need to be analyzed without identifying
    specific users. For example, the percentage of female users compared to male users on a social
    media platform. </p>
    <p>We don't recommend using gender binary predictions to make decisions that impact an
    individual's rights, privacy, or access to services.</p> -
    -
    interface Gender {
        Confidence?: number;
        Value?: string;
    }

    Properties

    Properties

    Confidence?: number

    Level of confidence in the prediction.

    Value?: string

    The predicted gender of the face.

    \ No newline at end of file +DetectToxicContentCommandInput | Amplify JS API Documentation +

    The input for DetectToxicContentCommand.

    +
    interface DetectToxicContentCommandInput {
        LanguageCode: undefined | LanguageCode;
        TextSegments: undefined | TextSegment[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input text. Currently, English is the only supported language.

    TextSegments: undefined | TextSegment[]

    A list of up to 10 text strings. Each string has a maximum size of 1 KB, and + the maximum size of the list is 10 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentCommandOutput.html new file mode 100644 index 00000000000..df00a41022e --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentCommandOutput.html @@ -0,0 +1,10 @@ +DetectToxicContentCommandOutput | Amplify JS API Documentation +

    The output of DetectToxicContentCommand.

    +
    interface DetectToxicContentCommandOutput {
        $metadata: ResponseMetadata;
        ResultList?: ToxicLabels[];
    }

    Hierarchy (view full)

    Properties

    Properties

    $metadata: ResponseMetadata

    Metadata pertaining to this request.

    +
    ResultList?: ToxicLabels[]

    Results of the content moderation analysis. + Each entry in the results list contains a list of toxic content types identified in + the text, along with a confidence score for each content type. + The results list also includes a toxicity score for each entry in the results list. +

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentRequest.html new file mode 100644 index 00000000000..ebdc34b2ef3 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentRequest.html @@ -0,0 +1,5 @@ +DetectToxicContentRequest | Amplify JS API Documentation +
    interface DetectToxicContentRequest {
        LanguageCode: undefined | LanguageCode;
        TextSegments: undefined | TextSegment[];
    }

    Hierarchy (view full)

    Properties

    LanguageCode: undefined | LanguageCode

    The language of the input text. Currently, English is the only supported language.

    TextSegments: undefined | TextSegment[]

    A list of up to 10 text strings. Each string has a maximum size of 1 KB, and + the maximum size of the list is 10 KB.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentResponse.html new file mode 100644 index 00000000000..bde76cedc3d --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DetectToxicContentResponse.html @@ -0,0 +1,7 @@ +DetectToxicContentResponse | Amplify JS API Documentation +
    interface DetectToxicContentResponse {
        ResultList?: ToxicLabels[];
    }

    Hierarchy (view full)

    Properties

    Properties

    ResultList?: ToxicLabels[]

    Results of the content moderation analysis. + Each entry in the results list contains a list of toxic content types identified in + the text, along with a confidence score for each content type. + The results list also includes a toxicity score for each entry in the results list. +

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DisassociateFacesCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DisassociateFacesCommandOutput.html index ab51aeb3e6f..ec94250f82e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DisassociateFacesCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DisassociateFacesCommandOutput.html @@ -1,6 +1,6 @@ DisassociateFacesCommandOutput | Amplify JS API Documentation

    The output of DisassociateFacesCommand.

    -
    interface DisassociateFacesCommandOutput {
        $metadata: ResponseMetadata;
        DisassociatedFaces?: DisassociatedFace[];
        UnsuccessfulFaceDisassociations?: UnsuccessfulFaceDisassociation[];
        UserStatus?: string;
    }

    Hierarchy (view full)

    Properties

    interface DisassociateFacesCommandOutput {
        $metadata: ResponseMetadata;
        DisassociatedFaces?: DisassociatedFace[];
        UnsuccessfulFaceDisassociations?: UnsuccessfulFaceDisassociation[];
        UserStatus?: UserStatus;
    }

    Hierarchy (view full)

    Properties

    DisassociatedFaces?: DisassociatedFace[]

    An array of DissociatedFace objects containing FaceIds that are successfully disassociated with the UserID is returned. Returned if the DisassociatedFaces action is successful.

    UnsuccessfulFaceDisassociations?: UnsuccessfulFaceDisassociation[]

    An array of UnsuccessfulDisassociation objects containing FaceIds that are not successfully associated, along with the reasons for the failure to associate. Returned if the - DisassociateFaces action is successful.

    UserStatus?: string

    The status of an update made to a User. Reflects if the User has been updated for every + DisassociateFaces action is successful.

    UserStatus?: UserStatus

    The status of an update made to a User. Reflects if the User has been updated for every requested change.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DisassociateFacesResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DisassociateFacesResponse.html index d5f392fdc5f..be230a4694b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DisassociateFacesResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DisassociateFacesResponse.html @@ -1,9 +1,9 @@ DisassociateFacesResponse | Amplify JS API Documentation -
    interface DisassociateFacesResponse {
        DisassociatedFaces?: DisassociatedFace[];
        UnsuccessfulFaceDisassociations?: UnsuccessfulFaceDisassociation[];
        UserStatus?: string;
    }

    Hierarchy (view full)

    Properties

    DisassociatedFaces? +
    interface DisassociateFacesResponse {
        DisassociatedFaces?: DisassociatedFace[];
        UnsuccessfulFaceDisassociations?: UnsuccessfulFaceDisassociation[];
        UserStatus?: UserStatus;
    }

    Hierarchy (view full)

    Properties

    DisassociatedFaces?: DisassociatedFace[]

    An array of DissociatedFace objects containing FaceIds that are successfully disassociated with the UserID is returned. Returned if the DisassociatedFaces action is successful.

    UnsuccessfulFaceDisassociations?: UnsuccessfulFaceDisassociation[]

    An array of UnsuccessfulDisassociation objects containing FaceIds that are not successfully associated, along with the reasons for the failure to associate. Returned if the - DisassociateFaces action is successful.

    UserStatus?: string

    The status of an update made to a User. Reflects if the User has been updated for every + DisassociateFaces action is successful.

    UserStatus?: UserStatus

    The status of an update made to a User. Reflects if the User has been updated for every requested change.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationConfig.html index a162fd77e1b..0705daaca7b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationConfig.html @@ -1,4 +1,4 @@ DocumentClassificationConfig | Amplify JS API Documentation -

    Configuration required for a custom classification model.

    interface DocumentClassificationConfig {
        Labels?: string[];
        Mode: undefined | string;
    }

    Properties

    Labels? +

    Configuration required for a document classification model.

    interface DocumentClassificationConfig {
        Labels?: string[];
        Mode: undefined | DocumentClassifierMode;
    }

    Properties

    Properties

    Labels?: string[]

    One or more labels to associate with the custom classifier.

    Mode: undefined | string

    Classification mode indicates whether the documents are MULTI_CLASS or MULTI_LABEL.

    \ No newline at end of file +

    Properties

    Labels?: string[]

    One or more labels to associate with the custom classifier.

    Mode: undefined | DocumentClassifierMode

    Classification mode indicates whether the documents are MULTI_CLASS or MULTI_LABEL.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationJobFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationJobFilter.html index fae08e6b438..f14eba65324 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationJobFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationJobFilter.html @@ -1,11 +1,11 @@ DocumentClassificationJobFilter | Amplify JS API Documentation

    Provides information for filtering a list of document classification jobs. For more information, see the operation. You can - provide only one filter parameter in each request.

    interface DocumentClassificationJobFilter {
        JobName?: string;
        JobStatus?: string;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    JobName? + provide only one filter parameter in each request.

    interface DocumentClassificationJobFilter {
        JobName?: string;
        JobStatus?: JobStatus;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    JobName?: string

    Filters on the name of the job.

    JobStatus?: string

    Filters the list based on job status. Returns only jobs with the specified status.

    SubmitTimeAfter?: Date

    Filters the list of jobs based on the time that the job was submitted for processing. +

    Properties

    JobName?: string

    Filters on the name of the job.

    JobStatus?: JobStatus

    Filters the list based on job status. Returns only jobs with the specified status.

    SubmitTimeAfter?: Date

    Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

    SubmitTimeBefore?: Date

    Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationJobProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationJobProperties.html index 4fd201748fe..a7f05badf63 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationJobProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassificationJobProperties.html @@ -1,5 +1,5 @@ DocumentClassificationJobProperties | Amplify JS API Documentation -

    Provides information about a document classification job.

    interface DocumentClassificationJobProperties {
        DataAccessRoleArn?: string;
        DocumentClassifierArn?: string;
        EndTime?: Date;
        FlywheelArn?: string;
        InputDataConfig?: InputDataConfig;
        JobArn?: string;
        JobId?: string;
        JobName?: string;
        JobStatus?: string;
        Message?: string;
        OutputDataConfig?: OutputDataConfig;
        SubmitTime?: Date;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Properties

    DataAccessRoleArn? +

    Provides information about a document classification job.

    interface DocumentClassificationJobProperties {
        DataAccessRoleArn?: string;
        DocumentClassifierArn?: string;
        EndTime?: Date;
        FlywheelArn?: string;
        InputDataConfig?: InputDataConfig;
        JobArn?: string;
        JobId?: string;
        JobName?: string;
        JobStatus?: JobStatus;
        Message?: string;
        OutputDataConfig?: OutputDataConfig;
        SubmitTime?: Date;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Properties

    DataAccessRoleArn? DocumentClassifierArn? EndTime? FlywheelArn? @@ -24,7 +24,7 @@

    The following is an example job ARN:

    arn:aws:comprehend:us-west-2:111122223333:document-classification-job/1234abcd12ab34cd56ef1234567890ab -

    JobId?: string

    The identifier assigned to the document classification job.

    JobName?: string

    The name that you assigned to the document classification job.

    JobStatus?: string

    The current status of the document classification job. If the status is +

    JobId?: string

    The identifier assigned to the document classification job.

    JobName?: string

    The name that you assigned to the document classification job.

    JobStatus?: JobStatus

    The current status of the document classification job. If the status is FAILED, the Message field shows the reason for the failure.

    Message?: string

    A description of the status of the job.

    OutputDataConfig?: OutputDataConfig

    The output data configuration that you supplied when you created the document classification job.

    SubmitTime?: Date

    The time that the document classification job was submitted for processing.

    VolumeKmsKeyId?: string

    ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis @@ -40,5 +40,5 @@

    VpcConfig?: VpcConfig

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the - resources you are using for your document classification job. For more information, see Amazon + resources you are using for your document classification job. For more information, see Amazon VPC.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDocuments.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDocuments.html index 91eefe48270..b725a35827a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDocuments.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierDocuments.html @@ -1,5 +1,5 @@ DocumentClassifierDocuments | Amplify JS API Documentation -

    The location of the training documents. This parameter is required in a request to create a native classifier model.

    interface DocumentClassifierDocuments {
        S3Uri: undefined | string;
        TestS3Uri?: string;
    }

    Properties

    S3Uri +

    The location of the training documents. This parameter is required in a request to create a semi-structured document classification model.

    interface DocumentClassifierDocuments {
        S3Uri: undefined | string;
        TestS3Uri?: string;
    }

    Properties

    Properties

    S3Uri: undefined | string

    The S3 URI location of the training documents specified in the S3Uri CSV file.

    TestS3Uri?: string

    The S3 URI location of the test documents included in the TestS3Uri CSV file. This field is not required if you do not specify a test CSV file.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierFilter.html index a961620a7b5..9fcdbd063a2 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierFilter.html @@ -1,11 +1,11 @@ DocumentClassifierFilter | Amplify JS API Documentation

    Provides information for filtering a list of document classifiers. You can only specify one filtering parameter in a request. For more information, see the - ListDocumentClassifiers operation.

    interface DocumentClassifierFilter {
        DocumentClassifierName?: string;
        Status?: string;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    DocumentClassifierName? + ListDocumentClassifiers operation.

    interface DocumentClassifierFilter {
        DocumentClassifierName?: string;
        Status?: ModelStatus;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    DocumentClassifierName?: string

    The name that you assigned to the document classifier

    Status?: string

    Filters the list of classifiers based on status.

    SubmitTimeAfter?: Date

    Filters the list of classifiers based on the time that the classifier was submitted for +

    Properties

    DocumentClassifierName?: string

    The name that you assigned to the document classifier

    Status?: ModelStatus

    Filters the list of classifiers based on status.

    SubmitTimeAfter?: Date

    Filters the list of classifiers based on the time that the classifier was submitted for processing. Returns only classifiers submitted after the specified time. Classifiers are returned in descending order, newest to oldest.

    SubmitTimeBefore?: Date

    Filters the list of classifiers based on the time that the classifier was submitted for processing. Returns only classifiers submitted before the specified time. Classifiers are diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierInputDataConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierInputDataConfig.html index ba142a76f4b..f7df32f40c9 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierInputDataConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierInputDataConfig.html @@ -2,7 +2,7 @@

    The input properties for training a document classifier.

    For more information on how the input file is formatted, see Preparing training data in the Comprehend Developer Guide. -

    interface DocumentClassifierInputDataConfig {
        AugmentedManifests?: AugmentedManifestsListItem[];
        DataFormat?: string;
        DocumentReaderConfig?: DocumentReaderConfig;
        DocumentType?: string;
        Documents?: DocumentClassifierDocuments;
        LabelDelimiter?: string;
        S3Uri?: string;
        TestS3Uri?: string;
    }

    Properties

    interface DocumentClassifierInputDataConfig {
        AugmentedManifests?: AugmentedManifestsListItem[];
        DataFormat?: DocumentClassifierDataFormat;
        DocumentReaderConfig?: DocumentReaderConfig;
        DocumentType?: DocumentClassifierDocumentTypeFormat;
        Documents?: DocumentClassifierDocuments;
        LabelDelimiter?: string;
        S3Uri?: string;
        TestS3Uri?: string;
    }

    Properties

    AugmentedManifests? DataFormat? DocumentReaderConfig? DocumentType? @@ -14,7 +14,7 @@ augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.

    This parameter is required if you set DataFormat to - AUGMENTED_MANIFEST.

    DataFormat?: string

    The format of your training data:

    + AUGMENTED_MANIFEST.

    The format of your training data:

    • @@ -55,9 +55,9 @@ For image files and PDF documents, you can override these default actions using the fields listed below. For more information, see Setting text extraction options in the Comprehend Developer Guide. -

    DocumentType?: string

    The type of input documents for training the model. Provide plain-text documents to create a plain-text model, and - provide semi-structured documents to create a native model.

    The S3 location of the training documents. - This parameter is required in a request to create a native classifier model.

    LabelDelimiter?: string

    Indicates the delimiter used to separate each label for training a multi-label classifier. +

    The type of input documents for training the model. Provide plain-text documents to create a plain-text model, and + provide semi-structured documents to create a native document model.

    The S3 location of the training documents. + This parameter is required in a request to create a native document model.

    LabelDelimiter?: string

    Indicates the delimiter used to separate each label for training a multi-label classifier. The default delimiter between labels is a pipe (|). You can use a different character as a delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the training documents use a delimiter other than the default or the delimiter you specify, the @@ -69,6 +69,5 @@ single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, Amazon Comprehend uses all of them as input.

    This parameter is required if you set DataFormat to - COMPREHEND_CSV.

    TestS3Uri?: string

    This specifies the Amazon S3 location where the test annotations for an entity recognizer - are located. The URI must be in the same Amazon Web Services Region as the API endpoint that you are - calling.

    \ No newline at end of file + COMPREHEND_CSV.

    TestS3Uri?: string

    This specifies the Amazon S3 location that contains the test annotations for the document classifier. + The URI must be in the same Amazon Web Services Region as the API endpoint that you are calling.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierOutputDataConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierOutputDataConfig.html index cbc1a430f87..3f7abad2919 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierOutputDataConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierOutputDataConfig.html @@ -1,6 +1,6 @@ DocumentClassifierOutputDataConfig | Amplify JS API Documentation

    Provide the location for output data from a custom classifier job. This field is mandatory - if you are training a native classifier model.

    interface DocumentClassifierOutputDataConfig {
        FlywheelStatsS3Prefix?: string;
        KmsKeyId?: string;
        S3Uri?: string;
    }

    Properties

    FlywheelStatsS3Prefix? + if you are training a native document model.

    interface DocumentClassifierOutputDataConfig {
        FlywheelStatsS3Prefix?: string;
        KmsKeyId?: string;
        S3Uri?: string;
    }

    Properties

    FlywheelStatsS3Prefix?: string

    The Amazon S3 prefix for the data lake location of the flywheel statistics.

    KmsKeyId?: string

    ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierProperties.html index bef5f9f7ce7..36e0b0fc1ee 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierProperties.html @@ -1,5 +1,5 @@ DocumentClassifierProperties | Amplify JS API Documentation -

    Provides information about a document classifier.

    interface DocumentClassifierProperties {
        ClassifierMetadata?: ClassifierMetadata;
        DataAccessRoleArn?: string;
        DocumentClassifierArn?: string;
        EndTime?: Date;
        FlywheelArn?: string;
        InputDataConfig?: DocumentClassifierInputDataConfig;
        LanguageCode?: string;
        Message?: string;
        Mode?: string;
        ModelKmsKeyId?: string;
        OutputDataConfig?: DocumentClassifierOutputDataConfig;
        SourceModelArn?: string;
        Status?: string;
        SubmitTime?: Date;
        TrainingEndTime?: Date;
        TrainingStartTime?: Date;
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Properties

    ClassifierMetadata? +

    Provides information about a document classifier.

    interface DocumentClassifierProperties {
        ClassifierMetadata?: ClassifierMetadata;
        DataAccessRoleArn?: string;
        DocumentClassifierArn?: string;
        EndTime?: Date;
        FlywheelArn?: string;
        InputDataConfig?: DocumentClassifierInputDataConfig;
        LanguageCode?: LanguageCode;
        Message?: string;
        Mode?: DocumentClassifierMode;
        ModelKmsKeyId?: string;
        OutputDataConfig?: DocumentClassifierOutputDataConfig;
        SourceModelArn?: string;
        Status?: ModelStatus;
        SubmitTime?: Date;
        TrainingEndTime?: Date;
        TrainingStartTime?: Date;
        VersionName?: string;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Properties

    ClassifierMetadata? DataAccessRoleArn? DocumentClassifierArn? EndTime? @@ -22,8 +22,8 @@ training the classifier, the number of documents used for test the classifier, and an accuracy rating.

    DataAccessRoleArn?: string

    The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data.

    DocumentClassifierArn?: string

    The Amazon Resource Name (ARN) that identifies the document classifier.

    EndTime?: Date

    The time that training the document classifier completed.

    FlywheelArn?: string

    The Amazon Resource Number (ARN) of the flywheel

    The input data configuration that you supplied when you created the document classifier - for training.

    LanguageCode?: string

    The language code for the language of the documents that the classifier was trained - on.

    Message?: string

    Additional information about the status of the classifier.

    Mode?: string

    Indicates the mode in which the specific classifier was trained. This also indicates the + for training.

    LanguageCode?: LanguageCode

    The language code for the language of the documents that the classifier was trained + on.

    Message?: string

    Additional information about the status of the classifier.

    Indicates the mode in which the specific classifier was trained. This also indicates the format of input documents and the format of the confusion matrix. Each classifier can only be trained in one mode and this cannot be changed once the classifier is trained.

    ModelKmsKeyId?: string

    ID for the KMS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:

    @@ -38,7 +38,7 @@

    Provides output results configuration parameters for custom classifier jobs.

    SourceModelArn?: string

    The Amazon Resource Name (ARN) of the source model. This model was imported from a - different Amazon Web Services account to create the document classifier model in your Amazon Web Services account.

    Status?: string

    The status of the document classifier. If the status is TRAINED the + different Amazon Web Services account to create the document classifier model in your Amazon Web Services account.

    Status?: ModelStatus

    The status of the document classifier. If the status is TRAINED the classifier is ready to use. If the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should review the warnings returned in the CreateDocumentClassifier response.

    @@ -60,5 +60,5 @@

    VpcConfig?: VpcConfig

    Configuration parameters for a private Virtual Private Cloud (VPC) containing the - resources you are using for your custom classifier. For more information, see Amazon + resources you are using for your custom classifier. For more information, see Amazon VPC.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierSummary.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierSummary.html index 72c1c45933a..2533c536312 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierSummary.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentClassifierSummary.html @@ -1,7 +1,7 @@ DocumentClassifierSummary | Amplify JS API Documentation -

    Describes information about a document classifier and its versions.

    interface DocumentClassifierSummary {
        DocumentClassifierName?: string;
        LatestVersionCreatedAt?: Date;
        LatestVersionName?: string;
        LatestVersionStatus?: string;
        NumberOfVersions?: number;
    }

    Properties

    DocumentClassifierName? +

    Describes information about a document classifier and its versions.

    interface DocumentClassifierSummary {
        DocumentClassifierName?: string;
        LatestVersionCreatedAt?: Date;
        LatestVersionName?: string;
        LatestVersionStatus?: ModelStatus;
        NumberOfVersions?: number;
    }

    Properties

    DocumentClassifierName?: string

    The name that you assigned the document classifier.

    LatestVersionCreatedAt?: Date

    The time that the latest document classifier version was submitted for processing.

    LatestVersionName?: string

    The version name you assigned to the latest document classifier version.

    LatestVersionStatus?: string

    Provides the status of the latest document classifier version.

    NumberOfVersions?: number

    The number of versions you created.

    \ No newline at end of file +

    Properties

    DocumentClassifierName?: string

    The name that you assigned the document classifier.

    LatestVersionCreatedAt?: Date

    The time that the latest document classifier version was submitted for processing.

    LatestVersionName?: string

    The version name you assigned to the latest document classifier version.

    LatestVersionStatus?: ModelStatus

    Provides the status of the latest document classifier version.

    NumberOfVersions?: number

    The number of versions you created.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentReaderConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentReaderConfig.html index 1d5df4793e6..fa82a2ddbb5 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentReaderConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentReaderConfig.html @@ -22,10 +22,10 @@ For image files and PDF documents, you can override these default actions using the fields listed below. For more information, see Setting text extraction options in the Comprehend Developer Guide. -

    interface DocumentReaderConfig {
        DocumentReadAction: undefined | string;
        DocumentReadMode?: string;
        FeatureTypes?: string[];
    }

    Properties

    interface DocumentReaderConfig {
        DocumentReadAction: undefined | DocumentReadAction;
        DocumentReadMode?: DocumentReadMode;
        FeatureTypes?: DocumentReadFeatureTypes[];
    }

    Properties

    DocumentReadAction: undefined | string

    This field defines the Amazon Textract API operation that Amazon Comprehend uses to extract text from PDF files and image files. +

    Properties

    DocumentReadAction: undefined | DocumentReadAction

    This field defines the Amazon Textract API operation that Amazon Comprehend uses to extract text from PDF files and image files. Enter one of the following values:

    • @@ -38,7 +38,7 @@ TEXTRACT_ANALYZE_DOCUMENT - The Amazon Comprehend service uses the AnalyzeDocument API operation.

    • -
    DocumentReadMode?: string

    Determines the text extraction actions for PDF files. Enter one of the following values:

    +
    DocumentReadMode?: DocumentReadMode

    Determines the text extraction actions for PDF files. Enter one of the following values:

    • @@ -49,15 +49,15 @@ FORCE_DOCUMENT_READ_ACTION - Amazon Comprehend uses the Textract API specified by DocumentReadAction for all PDF files, including digital PDF files.

    • -
    FeatureTypes?: string[]

    Specifies the type of Amazon Textract features to apply. If you chose TEXTRACT_ANALYZE_DOCUMENT +

    FeatureTypes?: DocumentReadFeatureTypes[]

    Specifies the type of Amazon Textract features to apply. If you chose TEXTRACT_ANALYZE_DOCUMENT as the read action, you must specify one or both of the following values:

    • - TABLES - Returns information about any tables that are detected in the input document.

      + TABLES - Returns additional information about any tables that are detected in the input document.

    • - FORMS - Returns information and the data from any forms that are detected in the input document.

      + FORMS - Returns additional information about any forms that are detected in the input document.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentTypeListItem.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentTypeListItem.html index 7c4e10213ee..97f70867885 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentTypeListItem.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DocumentTypeListItem.html @@ -1,4 +1,4 @@ DocumentTypeListItem | Amplify JS API Documentation -

    Document type for each page in the document.

    interface DocumentTypeListItem {
        Page?: number;
        Type?: string;
    }

    Properties

    Page? +

    Document type for each page in the document.

    interface DocumentTypeListItem {
        Page?: number;
        Type?: DocumentType;
    }

    Properties

    Properties

    Page?: number

    Page number.

    Type?: string

    Document type.

    \ No newline at end of file +

    Properties

    Page?: number

    Page number.

    Document type.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DominantLanguageDetectionJobFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DominantLanguageDetectionJobFilter.html index 5111c12e59a..a7acca2f2d1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DominantLanguageDetectionJobFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DominantLanguageDetectionJobFilter.html @@ -1,11 +1,11 @@ DominantLanguageDetectionJobFilter | Amplify JS API Documentation

    Provides information for filtering a list of dominant language detection jobs. For more information, see the - operation.

    interface DominantLanguageDetectionJobFilter {
        JobName?: string;
        JobStatus?: string;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    JobName? + operation.

    interface DominantLanguageDetectionJobFilter {
        JobName?: string;
        JobStatus?: JobStatus;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    JobName?: string

    Filters on the name of the job.

    JobStatus?: string

    Filters the list of jobs based on job status. Returns only jobs with the specified +

    Properties

    JobName?: string

    Filters on the name of the job.

    JobStatus?: JobStatus

    Filters the list of jobs based on job status. Returns only jobs with the specified status.

    SubmitTimeAfter?: Date

    Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

    SubmitTimeBefore?: Date

    Filters the list of jobs based on the time that the job was submitted for processing. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DominantLanguageDetectionJobProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DominantLanguageDetectionJobProperties.html index 97fdaaf78dc..bcd1dfe99ab 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DominantLanguageDetectionJobProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DominantLanguageDetectionJobProperties.html @@ -1,5 +1,5 @@ DominantLanguageDetectionJobProperties | Amplify JS API Documentation -

    Provides information about a dominant language detection job.

    interface DominantLanguageDetectionJobProperties {
        DataAccessRoleArn?: string;
        EndTime?: Date;
        InputDataConfig?: InputDataConfig;
        JobArn?: string;
        JobId?: string;
        JobName?: string;
        JobStatus?: string;
        Message?: string;
        OutputDataConfig?: OutputDataConfig;
        SubmitTime?: Date;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Properties

    DataAccessRoleArn? +

    Provides information about a dominant language detection job.

    interface DominantLanguageDetectionJobProperties {
        DataAccessRoleArn?: string;
        EndTime?: Date;
        InputDataConfig?: InputDataConfig;
        JobArn?: string;
        JobId?: string;
        JobName?: string;
        JobStatus?: JobStatus;
        Message?: string;
        OutputDataConfig?: OutputDataConfig;
        SubmitTime?: Date;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Properties

    DataAccessRoleArn? EndTime? InputDataConfig? JobArn? @@ -22,7 +22,7 @@

    The following is an example job ARN:

    arn:aws:comprehend:us-west-2:111122223333:dominant-language-detection-job/1234abcd12ab34cd56ef1234567890ab -

    JobId?: string

    The identifier assigned to the dominant language detection job.

    JobName?: string

    The name that you assigned to the dominant language detection job.

    JobStatus?: string

    The current status of the dominant language detection job. If the status is +

    JobId?: string

    The identifier assigned to the dominant language detection job.

    JobName?: string

    The name that you assigned to the dominant language detection job.

    JobStatus?: JobStatus

    The current status of the dominant language detection job. If the status is FAILED, the Message field shows the reason for the failure.

    Message?: string

    A description for the status of a job.

    OutputDataConfig?: OutputDataConfig

    The output data configuration that you supplied when you created the dominant language detection job.

    SubmitTime?: Date

    The time that the dominant language detection job was submitted for processing.

    VolumeKmsKeyId?: string

    ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.DuplexOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DuplexOptions.html similarity index 81% rename from docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.DuplexOptions.html rename to docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DuplexOptions.html index d7f9ed50f82..ac8792e51fe 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.DuplexOptions.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.DuplexOptions.html @@ -1,14 +1,14 @@ DuplexOptions | Amplify JS API Documentation -

    interface DuplexOptions {
        allowHalfOpen?: boolean;
        decodeStrings?: boolean;
        destroy?: ((error, callback) => void);
        encoding?: string;
        final?: ((callback) => void);
        highWaterMark?: number;
        objectMode?: boolean;
        read?: ((this, size?) => any);
        readableObjectMode?: boolean;
        writableObjectMode?: boolean;
        write?: ((chunk, encoding, callback) => any);
        writev?: ((chunks, callback) => any);
    }

    Hierarchy (view full)

    Properties

    allowHalfOpen? -decodeStrings? -destroy? -encoding? -final? -highWaterMark? -objectMode? -read? -readableObjectMode? -writableObjectMode? -write? -writev? +
    interface DuplexOptions {
        allowHalfOpen?: boolean;
        decodeStrings?: boolean;
        destroy?: ((error, callback) => void);
        encoding?: string;
        final?: ((callback) => void);
        highWaterMark?: number;
        objectMode?: boolean;
        read?: ((this, size?) => any);
        readableObjectMode?: boolean;
        writableObjectMode?: boolean;
        write?: ((chunk, encoding, callback) => any);
        writev?: ((chunks, callback) => any);
    }

    Hierarchy (view full)

    Properties

    allowHalfOpen?: boolean
    decodeStrings?: boolean
    destroy?: ((error, callback) => void)

    Type declaration

      • (error, callback): void
      • Parameters

        • error: null | Error
        • callback: ((error?) => void)
            • (error?): void
            • Parameters

              Returns void

        Returns void

    encoding?: string
    final?: ((callback) => void)

    Type declaration

      • (callback): void
      • Parameters

        • callback: ((error?) => void)
            • (error?): void
            • Parameters

              Returns void

        Returns void

    highWaterMark?: number
    objectMode?: boolean
    read?: ((this, size?) => any)

    Type declaration

      • (this, size?): any
      • Parameters

        Returns any

    readableObjectMode?: boolean
    writableObjectMode?: boolean
    write?: ((chunk, encoding, callback) => any)

    Type declaration

      • (chunk, encoding, callback): any
      • Parameters

        • chunk: any
        • encoding: string
        • callback: Function

        Returns any

    writev?: ((chunks, callback) => any)

    Type declaration

      • (chunks, callback): any
      • Parameters

        • chunks: {
              chunk: any;
              encoding: string;
          }[]
        • callback: Function

        Returns any

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Emotion.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Emotion.html index 455d8f7655b..339910ee117 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Emotion.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Emotion.html @@ -3,6 +3,6 @@ determination. The API is only making a determination of the physical appearance of a person's face. It is not a determination of the person’s internal emotional state and should not be used in such a way. For example, a person pretending to have a sad face might not be sad - emotionally.

    interface Emotion {
        Confidence?: number;
        Type?: string;
    }

    Properties

    Confidence? + emotionally.

    interface Emotion {
        Confidence?: number;
        Type?: EmotionName;
    }

    Properties

    Properties

    Confidence?: number

    Level of confidence in the determination.

    Type?: string

    Type of emotion detected.

    \ No newline at end of file +

    Properties

    Confidence?: number

    Level of confidence in the determination.

    Type of emotion detected.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Encoder.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Encoder.html index 11d33805fc6..a2aefe40575 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Encoder.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Encoder.html @@ -1,6 +1,11 @@ Encoder | Amplify JS API Documentation -

    A function that, given a TypedArray of bytes, can produce a string -representation thereof.

    -

    Example

    An encoder function that converts bytes to hexadecimal
    representation would return `'deadbeef'` when given
    `new Uint8Array([0xde, 0xad, 0xbe, 0xef])`. +

    A function that, given a Uint8Array of bytes, can produce a string +representation thereof. The function may optionally attempt to +convert other input types to Uint8Array before encoding.

    +

    Example

    An encoder function that converts bytes to hexadecimal
    representation would return `'hello'` when given
    `new Uint8Array([104, 101, 108, 108, 111])`.
    -
    interface Encoder ((input) => string)
    • Parameters

      • input: Uint8Array

      Returns string

    \ No newline at end of file +
    interface Encoder ((input) => string)
    • Caution: the any type on the input is for backwards compatibility. +Runtime support is limited to Uint8Array and string by default.

      +

      You may choose to support more encoder input types if overriding the default +implementations.

      +

      Parameters

      • input: any

      Returns string

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EncryptionKey.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EncryptionKey.html index 4ecad31c40c..52c419df136 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EncryptionKey.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EncryptionKey.html @@ -1,4 +1,4 @@ EncryptionKey | Amplify JS API Documentation -

    The encryption key used to encrypt this object.

    interface EncryptionKey {
        Id: undefined | string;
        Type: undefined | string;
    }

    Properties

    Id +

    The encryption key used to encrypt this object.

    interface EncryptionKey {
        Id: undefined | string;
        Type: undefined | "KMS";
    }

    Properties

    Properties

    Id: undefined | string

    The Amazon Resource Name (ARN) of the encryption key being used to encrypt this object.

    Type: undefined | string

    The type of encryption key used by Amazon Translate to encrypt this object.

    \ No newline at end of file +

    Properties

    Id: undefined | string

    The Amazon Resource Name (ARN) of the encryption key being used to encrypt this object.

    Type: undefined | "KMS"

    The type of encryption key used by Amazon Translate to encrypt this object.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EndpointFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EndpointFilter.html index a6a1ba82ab9..365950a39f4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EndpointFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EndpointFilter.html @@ -1,9 +1,9 @@ EndpointFilter | Amplify JS API Documentation

    The filter used to determine which endpoints are returned. You can filter jobs on their name, model, status, or the date and time that they were created. You can only set one filter - at a time.

    interface EndpointFilter {
        CreationTimeAfter?: Date;
        CreationTimeBefore?: Date;
        ModelArn?: string;
        Status?: string;
    }

    Properties

    CreationTimeAfter? + at a time.

    interface EndpointFilter {
        CreationTimeAfter?: Date;
        CreationTimeBefore?: Date;
        ModelArn?: string;
        Status?: EndpointStatus;
    }

    Properties

    CreationTimeAfter?: Date

    Specifies a date after which the returned endpoint or endpoints were created.

    CreationTimeBefore?: Date

    Specifies a date before which the returned endpoint or endpoints were created.

    ModelArn?: string

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    Status?: string

    Specifies the status of the endpoint being returned. Possible values are: Creating, Ready, +

    Properties

    CreationTimeAfter?: Date

    Specifies a date after which the returned endpoint or endpoints were created.

    CreationTimeBefore?: Date

    Specifies a date before which the returned endpoint or endpoints were created.

    ModelArn?: string

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    Specifies the status of the endpoint being returned. Possible values are: Creating, Ready, Updating, Deleting, Failed.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EndpointProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EndpointProperties.html index 621a8d041c5..91e9c159cc1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EndpointProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EndpointProperties.html @@ -1,6 +1,6 @@ EndpointProperties | Amplify JS API Documentation

    Specifies information about the specified endpoint. - For information about endpoints, see Managing endpoints.

    interface EndpointProperties {
        CreationTime?: Date;
        CurrentInferenceUnits?: number;
        DataAccessRoleArn?: string;
        DesiredDataAccessRoleArn?: string;
        DesiredInferenceUnits?: number;
        DesiredModelArn?: string;
        EndpointArn?: string;
        FlywheelArn?: string;
        LastModifiedTime?: Date;
        Message?: string;
        ModelArn?: string;
        Status?: string;
    }

    Properties

    CreationTime? + For information about endpoints, see Managing endpoints.

    interface EndpointProperties {
        CreationTime?: Date;
        CurrentInferenceUnits?: number;
        DataAccessRoleArn?: string;
        DesiredDataAccessRoleArn?: string;
        DesiredInferenceUnits?: number;
        DesiredModelArn?: string;
        EndpointArn?: string;
        FlywheelArn?: string;
        LastModifiedTime?: Date;
        Message?: string;
        ModelArn?: string;
        Status?: EndpointStatus;
    }

    Properties

    CreationTime? CurrentInferenceUnits? DataAccessRoleArn? DesiredDataAccessRoleArn? @@ -20,6 +20,6 @@
      Each inference unit represents of a throughput of 100 characters per second.</p>
     
    DesiredModelArn?: string

    ARN of the new model to use for updating an existing endpoint. This ARN is going to be - different from the model ARN when the update is in progress

    EndpointArn?: string

    The Amazon Resource Number (ARN) of the endpoint.

    FlywheelArn?: string

    The Amazon Resource Number (ARN) of the flywheel

    LastModifiedTime?: Date

    The date and time that the endpoint was last modified.

    Message?: string

    Specifies a reason for failure in cases of Failed status.

    ModelArn?: string

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    Status?: string

    Specifies the status of the endpoint. Because the endpoint updates and creation are + different from the model ARN when the update is in progress

    EndpointArn?: string

    The Amazon Resource Number (ARN) of the endpoint.

    FlywheelArn?: string

    The Amazon Resource Number (ARN) of the flywheel

    LastModifiedTime?: Date

    The date and time that the endpoint was last modified.

    Message?: string

    Specifies a reason for failure in cases of Failed status.

    ModelArn?: string

    The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

    Specifies the status of the endpoint. Because the endpoint updates and creation are asynchronous, so customers will need to wait for the endpoint to be Ready status before making inference requests.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntitiesDetectionJobFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntitiesDetectionJobFilter.html index 551b54bd559..4dc1b9c808b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntitiesDetectionJobFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntitiesDetectionJobFilter.html @@ -1,10 +1,10 @@ EntitiesDetectionJobFilter | Amplify JS API Documentation

    Provides information for filtering a list of dominant language detection jobs. For more - information, see the operation.

    interface EntitiesDetectionJobFilter {
        JobName?: string;
        JobStatus?: string;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    JobName? + information, see the operation.

    interface EntitiesDetectionJobFilter {
        JobName?: string;
        JobStatus?: JobStatus;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    JobName?: string

    Filters on the name of the job.

    JobStatus?: string

    Filters the list of jobs based on job status. Returns only jobs with the specified +

    Properties

    JobName?: string

    Filters on the name of the job.

    JobStatus?: JobStatus

    Filters the list of jobs based on job status. Returns only jobs with the specified status.

    SubmitTimeAfter?: Date

    Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

    SubmitTimeBefore?: Date

    Filters the list of jobs based on the time that the job was submitted for processing. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntitiesDetectionJobProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntitiesDetectionJobProperties.html index 27bb9249482..d5531ee57a7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntitiesDetectionJobProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntitiesDetectionJobProperties.html @@ -1,5 +1,5 @@ EntitiesDetectionJobProperties | Amplify JS API Documentation -

    Provides information about an entities detection job.

    interface EntitiesDetectionJobProperties {
        DataAccessRoleArn?: string;
        EndTime?: Date;
        EntityRecognizerArn?: string;
        FlywheelArn?: string;
        InputDataConfig?: InputDataConfig;
        JobArn?: string;
        JobId?: string;
        JobName?: string;
        JobStatus?: string;
        LanguageCode?: string;
        Message?: string;
        OutputDataConfig?: OutputDataConfig;
        SubmitTime?: Date;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Properties

    DataAccessRoleArn? +

    Provides information about an entities detection job.

    interface EntitiesDetectionJobProperties {
        DataAccessRoleArn?: string;
        EndTime?: Date;
        EntityRecognizerArn?: string;
        FlywheelArn?: string;
        InputDataConfig?: InputDataConfig;
        JobArn?: string;
        JobId?: string;
        JobName?: string;
        JobStatus?: JobStatus;
        LanguageCode?: LanguageCode;
        Message?: string;
        OutputDataConfig?: OutputDataConfig;
        SubmitTime?: Date;
        VolumeKmsKeyId?: string;
        VpcConfig?: VpcConfig;
    }

    Properties

    DataAccessRoleArn? EndTime? EntityRecognizerArn? FlywheelArn? @@ -25,8 +25,8 @@

    The following is an example job ARN:

    arn:aws:comprehend:us-west-2:111122223333:entities-detection-job/1234abcd12ab34cd56ef1234567890ab -

    JobId?: string

    The identifier assigned to the entities detection job.

    JobName?: string

    The name that you assigned the entities detection job.

    JobStatus?: string

    The current status of the entities detection job. If the status is FAILED, - the Message field shows the reason for the failure.

    LanguageCode?: string

    The language code of the input documents.

    Message?: string

    A description of the status of a job.

    OutputDataConfig?: OutputDataConfig

    The output data configuration that you supplied when you created the entities detection +

    JobId?: string

    The identifier assigned to the entities detection job.

    JobName?: string

    The name that you assigned the entities detection job.

    JobStatus?: JobStatus

    The current status of the entities detection job. If the status is FAILED, + the Message field shows the reason for the failure.

    LanguageCode?: LanguageCode

    The language code of the input documents.

    Message?: string

    A description of the status of a job.

    OutputDataConfig?: OutputDataConfig

    The output data configuration that you supplied when you created the entities detection job.

    SubmitTime?: Date

    The time that the entities detection job was submitted for processing.

    VolumeKmsKeyId?: string

    ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Entity.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Entity.html index 7e6d54b70b1..478116b1bf0 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Entity.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Entity.html @@ -1,6 +1,6 @@ Entity | Amplify JS API Documentation

    Provides information about an entity.

    -

    interface Entity {
        BeginOffset?: number;
        BlockReferences?: BlockReference[];
        EndOffset?: number;
        Score?: number;
        Text?: string;
        Type?: string;
    }

    Properties

    interface Entity {
        BeginOffset?: number;
        BlockReferences?: BlockReference[];
        EndOffset?: number;
        Score?: number;
        Text?: string;
        Type?: EntityType;
    }

    Properties

    BeginOffset? BlockReferences? EndOffset? Score? @@ -11,7 +11,7 @@

    This field is empty for non-text input.

    BlockReferences?: BlockReference[]

    A reference to each block for this entity. This field is empty for plain-text input.

    EndOffset?: number

    The zero-based offset from the beginning of the source text to the last character in the entity.

    This field is empty for non-text input.

    Score?: number

    The level of confidence that Amazon Comprehend has in the accuracy of the - detection.

    Text?: string

    The text of the entity.

    Type?: string

    The entity type. For entity detection using the built-in model, this field contains one of the + detection.

    Text?: string

    The text of the entity.

    Type?: EntityType

    The entity type. For entity detection using the built-in model, this field contains one of the standard entity types listed below.

    For custom entity detection, this field contains one of the entity types that you specified when you trained your custom model.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityLabel.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityLabel.html index c26aa023860..040f50c7790 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityLabel.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityLabel.html @@ -1,6 +1,6 @@ EntityLabel | Amplify JS API Documentation

    Specifies one of the label or labels that categorize the personally identifiable - information (PII) entity being analyzed.

    interface EntityLabel {
        Name?: string;
        Score?: number;
    }

    Properties

    Name? + information (PII) entity being analyzed.

    interface EntityLabel {
        Name?: PiiEntityType;
        Score?: number;
    }

    Properties

    Properties

    Name?: string

    The name of the label.

    Score?: number

    The level of confidence that Amazon Comprehend has in the accuracy of the +

    Properties

    The name of the label.

    Score?: number

    The level of confidence that Amazon Comprehend has in the accuracy of the detection.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerDocuments.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerDocuments.html index 5b3f989291c..fd97f0df58e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerDocuments.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerDocuments.html @@ -1,8 +1,8 @@ EntityRecognizerDocuments | Amplify JS API Documentation -

    Describes the training documents submitted with an entity recognizer.

    interface EntityRecognizerDocuments {
        InputFormat?: string;
        S3Uri: undefined | string;
        TestS3Uri?: string;
    }

    Properties

    InputFormat? +

    Describes the training documents submitted with an entity recognizer.

    interface EntityRecognizerDocuments {
        InputFormat?: InputFormat;
        S3Uri: undefined | string;
        TestS3Uri?: string;
    }

    Properties

    InputFormat?: string

    Specifies how the text in an input file should be processed. This is optional, and the +

    Properties

    InputFormat?: InputFormat

    Specifies how the text in an input file should be processed. This is optional, and the default is ONE_DOC_PER_LINE. ONE_DOC_PER_FILE - Each file is considered a separate document. Use this option when you are processing large documents, such as newspaper articles or scientific papers. ONE_DOC_PER_LINE - Each line in a file is considered a separate document. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerFilter.html index 0a4354fef6e..47f3421f8e7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerFilter.html @@ -1,11 +1,11 @@ EntityRecognizerFilter | Amplify JS API Documentation

    Provides information for filtering a list of entity recognizers. You can only specify one filtering parameter in a request. For more information, see the - ListEntityRecognizers operation./>

    interface EntityRecognizerFilter {
        RecognizerName?: string;
        Status?: string;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    RecognizerName? + ListEntityRecognizers operation./>

    interface EntityRecognizerFilter {
        RecognizerName?: string;
        Status?: ModelStatus;
        SubmitTimeAfter?: Date;
        SubmitTimeBefore?: Date;
    }

    Properties

    RecognizerName?: string

    The name that you assigned the entity recognizer.

    Status?: string

    The status of an entity recognizer.

    SubmitTimeAfter?: Date

    Filters the list of entities based on the time that the list was submitted for processing. +

    Properties

    RecognizerName?: string

    The name that you assigned the entity recognizer.

    Status?: ModelStatus

    The status of an entity recognizer.

    SubmitTimeAfter?: Date

    Filters the list of entities based on the time that the list was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in ascending order, oldest to newest.

    SubmitTimeBefore?: Date

    Filters the list of entities based on the time that the list was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in descending order, diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerInputDataConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerInputDataConfig.html index 0e3a702a184..a10b3f8de71 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerInputDataConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EntityRecognizerInputDataConfig.html @@ -1,5 +1,5 @@ EntityRecognizerInputDataConfig | Amplify JS API Documentation -

    Specifies the format and location of the input data.

    interface EntityRecognizerInputDataConfig {
        Annotations?: EntityRecognizerAnnotations;
        AugmentedManifests?: AugmentedManifestsListItem[];
        DataFormat?: string;
        Documents?: EntityRecognizerDocuments;
        EntityList?: EntityRecognizerEntityList;
        EntityTypes: undefined | EntityTypesListItem[];
    }

    Properties

    Annotations? +

    Specifies the format and location of the input data.

    Properties

    Annotations? AugmentedManifests? DataFormat? Documents? @@ -9,7 +9,7 @@ augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.

    This parameter is required if you set DataFormat to - AUGMENTED_MANIFEST.

    DataFormat?: string

    The format of your training data:

    + AUGMENTED_MANIFEST.

    The format of your training data:

    Properties

    BoundingBox?: BoundingBox

    A bounding box surrounding the item of detected PPE.

    Confidence?: number

    The confidence that Amazon Rekognition has that the bounding box (BoundingBox) contains an item of PPE.

    CoversBodyPart?: CoversBodyPart

    Information about the body part covered by the detected PPE.

    The type of detected PPE.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ErrorsListItem.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ErrorsListItem.html index 96fe46f6831..82b252d9c8c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ErrorsListItem.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ErrorsListItem.html @@ -21,7 +21,7 @@
  • INTERNAL_SERVER_ERROR - The request encountered a service issue. Try the API request again.

  • -
    interface ErrorsListItem {
        ErrorCode?: string;
        ErrorMessage?: string;
        Page?: number;
    }

    Properties

    interface ErrorsListItem {
        ErrorCode?: PageBasedErrorCode;
        ErrorMessage?: string;
        Page?: number;
    }

    Properties

    ErrorCode?: string

    Error code for the cause of the error.

    ErrorMessage?: string

    Text message explaining the reason for the error.

    Page?: number

    Page number where the error occurred.

    \ No newline at end of file +

    Properties

    ErrorCode?: PageBasedErrorCode

    Error code for the cause of the error.

    ErrorMessage?: string

    Text message explaining the reason for the error.

    Page?: number

    Page number where the error occurred.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EvaluationMetric.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EvaluationMetric.html new file mode 100644 index 00000000000..5f9de26d057 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EvaluationMetric.html @@ -0,0 +1,5 @@ +EvaluationMetric | Amplify JS API Documentation +

    The evaluation metrics (F1 score, Precision, and Recall) for an adapter version.

    interface EvaluationMetric {
        F1Score?: number;
        Precision?: number;
        Recall?: number;
    }

    Properties

    F1Score?: number

    The F1 score for an adapter version.

    Precision?: number

    The Precision score for an adapter version.

    Recall?: number

    The Recall score for an adapter version.

    \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventTarget.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventTarget.html index d2fd2fe03e6..2c2379f61fa 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventTarget.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventTarget.html @@ -1,6 +1,6 @@ EventTarget | Amplify JS API Documentation

    EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them.

    -
    interface EventTarget {
        addEventListener(type, callback, options?): void;
        dispatchEvent(event): boolean;
        removeEventListener(type, callback, options?): void;
    }

    Hierarchy (view full)

    Methods

    interface EventTarget {
        addEventListener(type, callback, options?): void;
        dispatchEvent(event): boolean;
        removeEventListener(type, callback, options?): void;
    }

    Hierarchy (view full)

    Methods

    • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

      diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventsDetectionJobFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventsDetectionJobFilter.html index 2dd64ec7368..ba334adfda3 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventsDetectionJobFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventsDetectionJobFilter.html @@ -1,9 +1,9 @@ EventsDetectionJobFilter | Amplify JS API Documentation -

      Provides information for filtering a list of event detection jobs.

      interface EventsDetectionJobFilter {
          JobName?: string;
          JobStatus?: string;
          SubmitTimeAfter?: Date;
          SubmitTimeBefore?: Date;
      }

      Properties

      JobName? +

      Provides information for filtering a list of event detection jobs.

      interface EventsDetectionJobFilter {
          JobName?: string;
          JobStatus?: JobStatus;
          SubmitTimeAfter?: Date;
          SubmitTimeBefore?: Date;
      }

      Properties

      JobName?: string

      Filters on the name of the events detection job.

      JobStatus?: string

      Filters the list of jobs based on job status. Returns only jobs with the specified +

      Properties

      JobName?: string

      Filters on the name of the events detection job.

      JobStatus?: JobStatus

      Filters the list of jobs based on job status. Returns only jobs with the specified status.

      SubmitTimeAfter?: Date

      Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

      SubmitTimeBefore?: Date

      Filters the list of jobs based on the time that the job was submitted for processing. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventsDetectionJobProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventsDetectionJobProperties.html index 12d3a0eac08..96dca1ff0da 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventsDetectionJobProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.EventsDetectionJobProperties.html @@ -1,5 +1,5 @@ EventsDetectionJobProperties | Amplify JS API Documentation -

      Provides information about an events detection job.

      interface EventsDetectionJobProperties {
          DataAccessRoleArn?: string;
          EndTime?: Date;
          InputDataConfig?: InputDataConfig;
          JobArn?: string;
          JobId?: string;
          JobName?: string;
          JobStatus?: string;
          LanguageCode?: string;
          Message?: string;
          OutputDataConfig?: OutputDataConfig;
          SubmitTime?: Date;
          TargetEventTypes?: string[];
      }

      Properties

      DataAccessRoleArn? +

      Provides information about an events detection job.

      interface EventsDetectionJobProperties {
          DataAccessRoleArn?: string;
          EndTime?: Date;
          InputDataConfig?: InputDataConfig;
          JobArn?: string;
          JobId?: string;
          JobName?: string;
          JobStatus?: JobStatus;
          LanguageCode?: LanguageCode;
          Message?: string;
          OutputDataConfig?: OutputDataConfig;
          SubmitTime?: Date;
          TargetEventTypes?: string[];
      }

      Properties

      DataAccessRoleArn? EndTime? InputDataConfig? JobArn? @@ -22,5 +22,5 @@

      The following is an example job ARN:

      arn:aws:comprehend:us-west-2:111122223333:events-detection-job/1234abcd12ab34cd56ef1234567890ab -

      JobId?: string

      The identifier assigned to the events detection job.

      JobName?: string

      The name you assigned the events detection job.

      JobStatus?: string

      The current status of the events detection job.

      LanguageCode?: string

      The language code of the input documents.

      Message?: string

      A description of the status of the events detection job.

      OutputDataConfig?: OutputDataConfig

      The output data configuration that you supplied when you created the events detection +

      JobId?: string

      The identifier assigned to the events detection job.

      JobName?: string

      The name you assigned the events detection job.

      JobStatus?: JobStatus

      The current status of the events detection job.

      LanguageCode?: LanguageCode

      The language code of the input documents.

      Message?: string

      A description of the status of the events detection job.

      OutputDataConfig?: OutputDataConfig

      The output data configuration that you supplied when you created the events detection job.

      SubmitTime?: Date

      The time that the events detection job was submitted for processing.

      TargetEventTypes?: string[]

      The types of events that are detected by the job.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceAttributes.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceAttributes-1.html similarity index 85% rename from docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceAttributes.html rename to docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceAttributes-1.html index b5c0b648833..ec305106d37 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceAttributes.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceAttributes-1.html @@ -1,11 +1,11 @@ FaceAttributes | Amplify JS API Documentation -
      interface FaceAttributes {
          beard?: boolean;
          emotions?: (undefined | string)[];
          eyeglasses?: boolean;
          eyesOpen?: boolean;
          gender?: string;
          mouthOpen?: boolean;
          mustache?: boolean;
          smile?: boolean;
          sunglasses?: boolean;
      }

      Properties

      beard? -emotions? -eyeglasses? -eyesOpen? -gender? -mouthOpen? -mustache? -smile? -sunglasses? +
      interface FaceAttributes {
          beard?: boolean;
          emotions?: (undefined | string)[];
          eyeglasses?: boolean;
          eyesOpen?: boolean;
          gender?: string;
          mouthOpen?: boolean;
          mustache?: boolean;
          smile?: boolean;
          sunglasses?: boolean;
      }

      Properties

      beard?: boolean
      emotions?: (undefined | string)[]
      eyeglasses?: boolean
      eyesOpen?: boolean
      gender?: string
      mouthOpen?: boolean
      mustache?: boolean
      smile?: boolean
      sunglasses?: boolean
      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceDetail.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceDetail.html index 1d13c326d52..1e529fac1d9 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceDetail.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FaceDetail.html @@ -24,7 +24,7 @@

      The Amazon Rekognition Image DetectFaces and IndexFaces operations can return all facial attributes. To specify which attributes to return, use the Attributes input parameter for DetectFaces. For - IndexFaces, use the DetectAttributes input parameter.

      interface FaceDetail {
          AgeRange?: AgeRange;
          Beard?: Beard;
          BoundingBox?: BoundingBox;
          Confidence?: number;
          Emotions?: Emotion[];
          EyeDirection?: EyeDirection;
          Eyeglasses?: Eyeglasses;
          EyesOpen?: EyeOpen;
          FaceOccluded?: FaceOccluded;
          Gender?: Gender;
          Landmarks?: Landmark[];
          MouthOpen?: MouthOpen;
          Mustache?: Mustache;
          Pose?: Pose;
          Quality?: ImageQuality;
          Smile?: Smile;
          Sunglasses?: Sunglasses;
      }

      Properties

      AgeRange? + IndexFaces, use the DetectAttributes input parameter.

      interface FaceDetail {
          AgeRange?: AgeRange;
          Beard?: Beard;
          BoundingBox?: BoundingBox;
          Confidence?: number;
          Emotions?: Emotion[];
          EyeDirection?: EyeDirection;
          Eyeglasses?: Eyeglasses;
          EyesOpen?: EyeOpen;
          FaceOccluded?: FaceOccluded;
          Gender?: Gender;
          Landmarks?: Landmark[];
          MouthOpen?: MouthOpen;
          Mustache?: Mustache;
          Pose?: Pose;
          Quality?: ImageQuality;
          Smile?: Smile;
          Sunglasses?: Sunglasses;
      }

      Properties

      AgeRange? Beard? BoundingBox? Confidence? @@ -56,7 +56,7 @@ sunglasses, cell phones, hands, or other objects. FaceOccluded should return "false" with a high confidence score if common occurrences that do not impact face verification are detected, such as eye glasses, lightly tinted sunglasses, strands of hair, - and others.

      Gender?: Gender

      The predicted gender of a detected face.

      Landmarks?: Landmark[]

      Indicates the location of landmarks on the face. Default attribute.

      MouthOpen?: MouthOpen

      Indicates whether or not the mouth on the face is open, and the confidence level in the + and others.

      Gender?: Gender

      The predicted gender of a detected face.

      Landmarks?: Landmark[]

      Indicates the location of landmarks on the face. Default attribute.

      MouthOpen?: MouthOpen

      Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

      Mustache?: Mustache

      Indicates whether or not the face has a mustache, and the confidence level in the determination.

      Pose?: Pose

      Indicates the pose of the face as determined by its pitch, roll, and yaw. Default attribute.

      Quality?: ImageQuality

      Identifies image brightness and sharpness. Default attribute.

      Smile?: Smile

      Indicates whether or not the face is smiling, and the confidence level in the diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FetchHttpHandlerOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FetchHttpHandlerOptions.html new file mode 100644 index 00000000000..6c9ea2fd905 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FetchHttpHandlerOptions.html @@ -0,0 +1,16 @@ +FetchHttpHandlerOptions | Amplify JS API Documentation +

      Represents the http options that can be passed to a browser http client.

      +
      interface FetchHttpHandlerOptions {
          credentials?: string;
          keepAlive?: boolean;
          requestTimeout?: number;
      }

      Properties

      credentials?: string

      A string indicating whether credentials will be sent with the request always, never, or +only when sent to a same-origin URL.

      +
      keepAlive?: boolean

      Whether to allow the request to outlive the page. Default value is false.

      +

      There may be limitations to the payload size, number of concurrent requests, +request duration etc. when using keepalive in browsers.

      +

      These may change over time, so look for up to date information about +these limitations before enabling keepalive.

      +
      requestTimeout?: number

      The number of milliseconds a request can take before being automatically +terminated.

      +
      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelFilter.html index 3424cc67744..fa305671c93 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelFilter.html @@ -1,5 +1,5 @@ FlywheelFilter | Amplify JS API Documentation -

      Filter the flywheels based on creation time or flywheel status.

      interface FlywheelFilter {
          CreationTimeAfter?: Date;
          CreationTimeBefore?: Date;
          Status?: string;
      }

      Properties

      CreationTimeAfter? +

      Filter the flywheels based on creation time or flywheel status.

      interface FlywheelFilter {
          CreationTimeAfter?: Date;
          CreationTimeBefore?: Date;
          Status?: FlywheelStatus;
      }

      Properties

      CreationTimeAfter?: Date

      Filter the flywheels to include flywheels created after the specified time.

      CreationTimeBefore?: Date

      Filter the flywheels to include flywheels created before the specified time.

      Status?: string

      Filter the flywheels based on the flywheel status.

      \ No newline at end of file +

      Properties

      CreationTimeAfter?: Date

      Filter the flywheels to include flywheels created after the specified time.

      CreationTimeBefore?: Date

      Filter the flywheels to include flywheels created before the specified time.

      Filter the flywheels based on the flywheel status.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelIterationProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelIterationProperties.html index 85ddb5d4bb1..131720a8200 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelIterationProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelIterationProperties.html @@ -1,5 +1,5 @@ FlywheelIterationProperties | Amplify JS API Documentation -

      The configuration properties of a flywheel iteration.

      interface FlywheelIterationProperties {
          CreationTime?: Date;
          EndTime?: Date;
          EvaluatedModelArn?: string;
          EvaluatedModelMetrics?: FlywheelModelEvaluationMetrics;
          EvaluationManifestS3Prefix?: string;
          FlywheelArn?: string;
          FlywheelIterationId?: string;
          Message?: string;
          Status?: string;
          TrainedModelArn?: string;
          TrainedModelMetrics?: FlywheelModelEvaluationMetrics;
      }

      Properties

      CreationTime? +

      The configuration properties of a flywheel iteration.

      interface FlywheelIterationProperties {
          CreationTime?: Date;
          EndTime?: Date;
          EvaluatedModelArn?: string;
          EvaluatedModelMetrics?: FlywheelModelEvaluationMetrics;
          EvaluationManifestS3Prefix?: string;
          FlywheelArn?: string;
          FlywheelIterationId?: string;
          Message?: string;
          Status?: FlywheelIterationStatus;
          TrainedModelArn?: string;
          TrainedModelMetrics?: FlywheelModelEvaluationMetrics;
      }

      Properties

      CreationTime?: Date

      The creation start time of the flywheel iteration.

      EndTime?: Date

      The completion time of this flywheel iteration.

      EvaluatedModelArn?: string

      The ARN of the evaluated model associated with this flywheel iteration.

      EvaluatedModelMetrics?: FlywheelModelEvaluationMetrics

      The evaluation metrics associated with the evaluated model.

      EvaluationManifestS3Prefix?: string

      FlywheelArn?: string

      FlywheelIterationId?: string

      Message?: string

      A description of the status of the flywheel iteration.

      Status?: string

      The status of the flywheel iteration.

      TrainedModelArn?: string

      The ARN of the trained model associated with this flywheel iteration.

      TrainedModelMetrics?: FlywheelModelEvaluationMetrics

      The metrics associated with the trained model.

      \ No newline at end of file +

      Properties

      CreationTime?: Date

      The creation start time of the flywheel iteration.

      EndTime?: Date

      The completion time of this flywheel iteration.

      EvaluatedModelArn?: string

      The ARN of the evaluated model associated with this flywheel iteration.

      EvaluatedModelMetrics?: FlywheelModelEvaluationMetrics

      The evaluation metrics associated with the evaluated model.

      EvaluationManifestS3Prefix?: string

      FlywheelArn?: string

      FlywheelIterationId?: string

      Message?: string

      A description of the status of the flywheel iteration.

      The status of the flywheel iteration.

      TrainedModelArn?: string

      The ARN of the trained model associated with this flywheel iteration.

      TrainedModelMetrics?: FlywheelModelEvaluationMetrics

      The metrics associated with the trained model.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelProperties.html index f6c00aca115..382daf56564 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelProperties.html @@ -1,5 +1,5 @@ FlywheelProperties | Amplify JS API Documentation -

      The flywheel properties.

      interface FlywheelProperties {
          ActiveModelArn?: string;
          CreationTime?: Date;
          DataAccessRoleArn?: string;
          DataLakeS3Uri?: string;
          DataSecurityConfig?: DataSecurityConfig;
          FlywheelArn?: string;
          LastModifiedTime?: Date;
          LatestFlywheelIteration?: string;
          Message?: string;
          ModelType?: string;
          Status?: string;
          TaskConfig?: TaskConfig;
      }

      Properties

      ActiveModelArn? +

      The flywheel properties.

      interface FlywheelProperties {
          ActiveModelArn?: string;
          CreationTime?: Date;
          DataAccessRoleArn?: string;
          DataLakeS3Uri?: string;
          DataSecurityConfig?: DataSecurityConfig;
          FlywheelArn?: string;
          LastModifiedTime?: Date;
          LatestFlywheelIteration?: string;
          Message?: string;
          ModelType?: ModelType;
          Status?: FlywheelStatus;
          TaskConfig?: TaskConfig;
      }

      Properties

      ActiveModelArn?: string

      The Amazon Resource Number (ARN) of the active model version.

      CreationTime?: Date

      Creation time of the flywheel.

      DataAccessRoleArn?: string

      The Amazon Resource Name (ARN) of the IAM role that - grants Amazon Comprehend permission to access the flywheel data.

      DataLakeS3Uri?: string

      Amazon S3 URI of the data lake location.

      DataSecurityConfig?: DataSecurityConfig

      Data security configuration.

      FlywheelArn?: string

      The Amazon Resource Number (ARN) of the flywheel.

      LastModifiedTime?: Date

      Last modified time for the flywheel.

      LatestFlywheelIteration?: string

      The most recent flywheel iteration.

      Message?: string

      A description of the status of the flywheel.

      ModelType?: string

      Model type of the flywheel's model.

      Status?: string

      The status of the flywheel.

      TaskConfig?: TaskConfig

      Configuration about the custom classifier associated with the flywheel.

      \ No newline at end of file + grants Amazon Comprehend permission to access the flywheel data.

      DataLakeS3Uri?: string

      Amazon S3 URI of the data lake location.

      DataSecurityConfig?: DataSecurityConfig

      Data security configuration.

      FlywheelArn?: string

      The Amazon Resource Number (ARN) of the flywheel.

      LastModifiedTime?: Date

      Last modified time for the flywheel.

      LatestFlywheelIteration?: string

      The most recent flywheel iteration.

      Message?: string

      A description of the status of the flywheel.

      ModelType?: ModelType

      Model type of the flywheel's model.

      The status of the flywheel.

      TaskConfig?: TaskConfig

      Configuration about the model associated with a flywheel.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelSummary.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelSummary.html index 307bb26bfb4..7fcb661da53 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelSummary.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.FlywheelSummary.html @@ -1,5 +1,5 @@ FlywheelSummary | Amplify JS API Documentation -

      Flywheel summary information.

      interface FlywheelSummary {
          ActiveModelArn?: string;
          CreationTime?: Date;
          DataLakeS3Uri?: string;
          FlywheelArn?: string;
          LastModifiedTime?: Date;
          LatestFlywheelIteration?: string;
          Message?: string;
          ModelType?: string;
          Status?: string;
      }

      Properties

      ActiveModelArn? +

      Flywheel summary information.

      interface FlywheelSummary {
          ActiveModelArn?: string;
          CreationTime?: Date;
          DataLakeS3Uri?: string;
          FlywheelArn?: string;
          LastModifiedTime?: Date;
          LatestFlywheelIteration?: string;
          Message?: string;
          ModelType?: ModelType;
          Status?: FlywheelStatus;
      }

      Properties

      ActiveModelArn?: string

      ARN of the active model version for the flywheel.

      CreationTime?: Date

      Creation time of the flywheel.

      DataLakeS3Uri?: string

      Amazon S3 URI of the data lake location.

      FlywheelArn?: string

      The Amazon Resource Number (ARN) of the flywheel

      LastModifiedTime?: Date

      Last modified time for the flywheel.

      LatestFlywheelIteration?: string

      The most recent flywheel iteration.

      Message?: string

      A description of the status of the flywheel.

      ModelType?: string

      Model type of the flywheel's model.

      Status?: string

      The status of the flywheel.

      \ No newline at end of file +

      Properties

      ActiveModelArn?: string

      ARN of the active model version for the flywheel.

      CreationTime?: Date

      Creation time of the flywheel.

      DataLakeS3Uri?: string

      Amazon S3 URI of the data lake location.

      FlywheelArn?: string

      The Amazon Resource Number (ARN) of the flywheel

      LastModifiedTime?: Date

      Last modified time for the flywheel.

      LatestFlywheelIteration?: string

      The most recent flywheel iteration.

      Message?: string

      A description of the status of the flywheel.

      ModelType?: ModelType

      Model type of the flywheel's model.

      The status of the flywheel.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Gender-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Gender-1.html new file mode 100644 index 00000000000..56030caa0f7 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Gender-1.html @@ -0,0 +1,8 @@ +Gender | Amplify JS API Documentation +

      The predicted gender of a detected face. + +

      </p>
      <p>Amazon Rekognition makes gender binary (male/female) predictions based on the physical
      appearance of a face in a particular image. This kind of prediction is not designed to
      categorize a persons gender identity, and you shouldn't use Amazon Rekognition to make such a
      determination. For example, a male actor wearing a long-haired wig and earrings for a role
      might be predicted as female.</p>
      <p>Using Amazon Rekognition to make gender binary predictions is best suited for use cases
      where aggregate gender distribution statistics need to be analyzed without identifying
      specific users. For example, the percentage of female users compared to male users on a social
      media platform. </p>
      <p>We don't recommend using gender binary predictions to make decisions that impact an
      individual's rights, privacy, or access to services.</p> +
      +
      interface Gender {
          Confidence?: number;
          Value?: GenderType;
      }

      Properties

      Properties

      Confidence?: number

      Level of confidence in the prediction.

      Value?: GenderType

      The predicted gender of the face.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterCommandInput.html new file mode 100644 index 00000000000..d558dde6026 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterCommandInput.html @@ -0,0 +1,4 @@ +GetAdapterCommandInput | Amplify JS API Documentation +

      The input for GetAdapterCommand.

      +
      interface GetAdapterCommandInput {
          AdapterId: undefined | string;
      }

      Hierarchy (view full)

      Properties

      Properties

      AdapterId: undefined | string

      A string containing a unique ID for the adapter.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterCommandOutput.html new file mode 100644 index 00000000000..23fff8916ae --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterCommandOutput.html @@ -0,0 +1,12 @@ +GetAdapterCommandOutput | Amplify JS API Documentation +

      The output of GetAdapterCommand.

      +
      interface GetAdapterCommandOutput {
          $metadata: ResponseMetadata;
          AdapterId?: string;
          AdapterName?: string;
          AutoUpdate?: AutoUpdate;
          CreationTime?: Date;
          Description?: string;
          FeatureTypes?: FeatureType[];
          Tags?: Record<string, string>;
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      +
      AdapterId?: string

      A string identifying the adapter that information has been retrieved for.

      AdapterName?: string

      The name of the requested adapter.

      AutoUpdate?: AutoUpdate

      Binary value indicating if the adapter is being automatically updated or not.

      CreationTime?: Date

      The date and time the requested adapter was created at.

      Description?: string

      The description for the requested adapter.

      FeatureTypes?: FeatureType[]

      List of the targeted feature types for the requested adapter.

      Tags?: Record<string, string>

      A set of tags (key-value pairs) associated with the adapter that has been retrieved.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterRequest.html new file mode 100644 index 00000000000..3c996d0c503 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterRequest.html @@ -0,0 +1,3 @@ +GetAdapterRequest | Amplify JS API Documentation +
      interface GetAdapterRequest {
          AdapterId: undefined | string;
      }

      Hierarchy (view full)

      Properties

      Properties

      AdapterId: undefined | string

      A string containing a unique ID for the adapter.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterResponse.html new file mode 100644 index 00000000000..283c28ddc25 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterResponse.html @@ -0,0 +1,9 @@ +GetAdapterResponse | Amplify JS API Documentation +
      interface GetAdapterResponse {
          AdapterId?: string;
          AdapterName?: string;
          AutoUpdate?: AutoUpdate;
          CreationTime?: Date;
          Description?: string;
          FeatureTypes?: FeatureType[];
          Tags?: Record<string, string>;
      }

      Hierarchy (view full)

      Properties

      AdapterId?: string

      A string identifying the adapter that information has been retrieved for.

      AdapterName?: string

      The name of the requested adapter.

      AutoUpdate?: AutoUpdate

      Binary value indicating if the adapter is being automatically updated or not.

      CreationTime?: Date

      The date and time the requested adapter was created at.

      Description?: string

      The description for the requested adapter.

      FeatureTypes?: FeatureType[]

      List of the targeted feature types for the requested adapter.

      Tags?: Record<string, string>

      A set of tags (key-value pairs) associated with the adapter that has been retrieved.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionCommandInput.html new file mode 100644 index 00000000000..dcf60b19b66 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionCommandInput.html @@ -0,0 +1,5 @@ +GetAdapterVersionCommandInput | Amplify JS API Documentation +

      The input for GetAdapterVersionCommand.

      +
      interface GetAdapterVersionCommandInput {
          AdapterId: undefined | string;
          AdapterVersion: undefined | string;
      }

      Hierarchy (view full)

      Properties

      AdapterId: undefined | string

      A string specifying a unique ID for the adapter version you want to retrieve information for.

      AdapterVersion: undefined | string

      A string specifying the adapter version you want to retrieve information for.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionCommandOutput.html new file mode 100644 index 00000000000..ec86fb5bcec --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionCommandOutput.html @@ -0,0 +1,34 @@ +GetAdapterVersionCommandOutput | Amplify JS API Documentation +

      The output of GetAdapterVersionCommand.

      +
      interface GetAdapterVersionCommandOutput {
          $metadata: ResponseMetadata;
          AdapterId?: string;
          AdapterVersion?: string;
          CreationTime?: Date;
          DatasetConfig?: AdapterVersionDatasetConfig;
          EvaluationMetrics?: AdapterVersionEvaluationMetric[];
          FeatureTypes?: FeatureType[];
          KMSKeyId?: string;
          OutputConfig?: OutputConfig;
          Status?: AdapterVersionStatus;
          StatusMessage?: string;
          Tags?: Record<string, string>;
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      +
      AdapterId?: string

      A string containing a unique ID for the adapter version being retrieved.

      AdapterVersion?: string

      A string containing the adapter version that has been retrieved.

      CreationTime?: Date

      The time that the adapter version was created.

      Specifies a dataset used to train a new adapter version. Takes a ManifestS3Objec as the + value.

      EvaluationMetrics?: AdapterVersionEvaluationMetric[]

      The evaluation metrics (F1 score, Precision, and Recall) for the requested version, + grouped by baseline metrics and adapter version.

      FeatureTypes?: FeatureType[]

      List of the targeted feature types for the requested adapter version.

      KMSKeyId?: string

      The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

      OutputConfig?: OutputConfig

      Sets whether or not your output will go to a user created bucket. Used to set the name + of the bucket, and the prefix on the output file.

      +

      + OutputConfig is an optional parameter which lets you adjust where your + output will be placed. By default, Amazon Textract will store the results internally and can + only be accessed by the Get API operations. With OutputConfig enabled, you can + set the name of the bucket the output will be sent to the file prefix of the results where + you can download your results. Additionally, you can set the KMSKeyID + parameter to a customer master key (CMK) to encrypt your output. Without this parameter set + Amazon Textract will encrypt server-side using the AWS managed CMK for Amazon S3.

      +

      Decryption of Customer Content is necessary for processing of the documents by Amazon Textract. If your account + is opted out under an AI services opt out policy then all unencrypted Customer Content is immediately and permanently deleted after + the Customer Content has been processed by the service. No copy of of the output is retained by Amazon Textract. For information about how to opt out, see Managing AI services opt-out policy. +

      +

      For more information on data privacy, + see the Data Privacy + FAQ.

      The status of the adapter version that has been requested.

      StatusMessage?: string

      A message that describes the status of the requested adapter version.

      Tags?: Record<string, string>

      A set of tags (key-value pairs) that are associated with the adapter version.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionRequest.html new file mode 100644 index 00000000000..34275896069 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionRequest.html @@ -0,0 +1,4 @@ +GetAdapterVersionRequest | Amplify JS API Documentation +
      interface GetAdapterVersionRequest {
          AdapterId: undefined | string;
          AdapterVersion: undefined | string;
      }

      Hierarchy (view full)

      Properties

      AdapterId: undefined | string

      A string specifying a unique ID for the adapter version you want to retrieve information for.

      AdapterVersion: undefined | string

      A string specifying the adapter version you want to retrieve information for.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionResponse.html new file mode 100644 index 00000000000..bce3569b1f7 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetAdapterVersionResponse.html @@ -0,0 +1,31 @@ +GetAdapterVersionResponse | Amplify JS API Documentation +
      interface GetAdapterVersionResponse {
          AdapterId?: string;
          AdapterVersion?: string;
          CreationTime?: Date;
          DatasetConfig?: AdapterVersionDatasetConfig;
          EvaluationMetrics?: AdapterVersionEvaluationMetric[];
          FeatureTypes?: FeatureType[];
          KMSKeyId?: string;
          OutputConfig?: OutputConfig;
          Status?: AdapterVersionStatus;
          StatusMessage?: string;
          Tags?: Record<string, string>;
      }

      Hierarchy (view full)

      Properties

      AdapterId?: string

      A string containing a unique ID for the adapter version being retrieved.

      AdapterVersion?: string

      A string containing the adapter version that has been retrieved.

      CreationTime?: Date

      The time that the adapter version was created.

      Specifies a dataset used to train a new adapter version. Takes a ManifestS3Objec as the + value.

      EvaluationMetrics?: AdapterVersionEvaluationMetric[]

      The evaluation metrics (F1 score, Precision, and Recall) for the requested version, + grouped by baseline metrics and adapter version.

      FeatureTypes?: FeatureType[]

      List of the targeted feature types for the requested adapter version.

      KMSKeyId?: string

      The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

      OutputConfig?: OutputConfig

      Sets whether or not your output will go to a user created bucket. Used to set the name + of the bucket, and the prefix on the output file.

      +

      + OutputConfig is an optional parameter which lets you adjust where your + output will be placed. By default, Amazon Textract will store the results internally and can + only be accessed by the Get API operations. With OutputConfig enabled, you can + set the name of the bucket the output will be sent to the file prefix of the results where + you can download your results. Additionally, you can set the KMSKeyID + parameter to a customer master key (CMK) to encrypt your output. Without this parameter set + Amazon Textract will encrypt server-side using the AWS managed CMK for Amazon S3.

      +

      Decryption of Customer Content is necessary for processing of the documents by Amazon Textract. If your account + is opted out under an AI services opt out policy then all unencrypted Customer Content is immediately and permanently deleted after + the Customer Content has been processed by the service. No copy of of the output is retained by Amazon Textract. For information about how to opt out, see Managing AI services opt-out policy. +

      +

      For more information on data privacy, + see the Data Privacy + FAQ.

      The status of the adapter version that has been requested.

      StatusMessage?: string

      A message that describes the status of the requested adapter version.

      Tags?: Record<string, string>

      A set of tags (key-value pairs) that are associated with the adapter version.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionCommandInput.html index 9a9b6e411cd..1f469ebf9ad 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionCommandInput.html @@ -1,6 +1,6 @@ GetCelebrityRecognitionCommandInput | Amplify JS API Documentation

      The input for GetCelebrityRecognitionCommand.

      -
      interface GetCelebrityRecognitionCommandInput {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      interface GetCelebrityRecognitionCommandInput {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: CelebrityRecognitionSortBy;
      }

      Hierarchy (view full)

      Properties

      JobId MaxResults? NextToken? SortBy? @@ -8,5 +8,5 @@ a call to StartCelebrityRecognition.

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there is more recognized celebrities to retrieve), Amazon Rekognition Video returns a pagination - token in the response. You can use this pagination token to retrieve the next set of celebrities.

      SortBy?: string

      Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, + token in the response. You can use this pagination token to retrieve the next set of celebrities.

      Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, specify TIMESTAMP to sort by the time the celebrity was recognized.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionCommandOutput.html index d83b73e14f6..9b2d515b17a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionCommandOutput.html @@ -1,6 +1,6 @@ GetCelebrityRecognitionCommandOutput | Amplify JS API Documentation

      The output of GetCelebrityRecognitionCommand.

      -
      interface GetCelebrityRecognitionCommandOutput {
          $metadata: ResponseMetadata;
          Celebrities?: CelebrityRecognition[];
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      interface GetCelebrityRecognitionCommandOutput {
          $metadata: ResponseMetadata;
          Celebrities?: CelebrityRecognition[];
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      Celebrities?: CelebrityRecognition[]

      Array of celebrities recognized in the video.

      JobId?: string

      Job identifier for the celebrity recognition operation for which you want to obtain - results. The job identifer is returned by an initial call to StartCelebrityRecognition.

      JobStatus?: string

      The current status of the celebrity recognition job.

      JobTag?: string

      A job identifier specified in the call to StartCelebrityRecognition and returned in the + results. The job identifer is returned by an initial call to StartCelebrityRecognition.

      JobStatus?: VideoJobStatus

      The current status of the celebrity recognition job.

      JobTag?: string

      A job identifier specified in the call to StartCelebrityRecognition and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of celebrities.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

      VideoMetadata?: VideoMetadata

      Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionRequest.html index dae594a94bd..69f54decb62 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionRequest.html @@ -1,5 +1,5 @@ GetCelebrityRecognitionRequest | Amplify JS API Documentation -

      interface GetCelebrityRecognitionRequest {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      JobId +
      interface GetCelebrityRecognitionRequest {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: CelebrityRecognitionSortBy;
      }

      Hierarchy (view full)

      Properties

      JobId MaxResults? NextToken? SortBy? @@ -7,5 +7,5 @@ a call to StartCelebrityRecognition.

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there is more recognized celebrities to retrieve), Amazon Rekognition Video returns a pagination - token in the response. You can use this pagination token to retrieve the next set of celebrities.

      SortBy?: string

      Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, + token in the response. You can use this pagination token to retrieve the next set of celebrities.

      Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, specify TIMESTAMP to sort by the time the celebrity was recognized.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionResponse.html index c41e688ce84..9ef5f486a62 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetCelebrityRecognitionResponse.html @@ -1,5 +1,5 @@ GetCelebrityRecognitionResponse | Amplify JS API Documentation -
      interface GetCelebrityRecognitionResponse {
          Celebrities?: CelebrityRecognition[];
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Celebrities? +
      interface GetCelebrityRecognitionResponse {
          Celebrities?: CelebrityRecognition[];
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Celebrities?: CelebrityRecognition[]

      Array of celebrities recognized in the video.

      JobId?: string

      Job identifier for the celebrity recognition operation for which you want to obtain - results. The job identifer is returned by an initial call to StartCelebrityRecognition.

      JobStatus?: string

      The current status of the celebrity recognition job.

      JobTag?: string

      A job identifier specified in the call to StartCelebrityRecognition and returned in the + results. The job identifer is returned by an initial call to StartCelebrityRecognition.

      JobStatus?: VideoJobStatus

      The current status of the celebrity recognition job.

      JobTag?: string

      A job identifier specified in the call to StartCelebrityRecognition and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of celebrities.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

      VideoMetadata?: VideoMetadata

      Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationCommandInput.html index ada8c3d782b..93f567f36d2 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationCommandInput.html @@ -1,17 +1,17 @@ GetContentModerationCommandInput | Amplify JS API Documentation

      The input for GetContentModerationCommand.

      -
      interface GetContentModerationCommandInput {
          AggregateBy?: string;
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      interface GetContentModerationCommandInput {
          AggregateBy?: ContentModerationAggregateBy;
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: ContentModerationSortBy;
      }

      Hierarchy (view full)

      Properties

      AggregateBy?: string

      Defines how to aggregate results of the StartContentModeration request. Default +

      Properties

      Defines how to aggregate results of the StartContentModeration request. Default aggregation option is TIMESTAMPS. SEGMENTS mode aggregates moderation labels over time.

      JobId: undefined | string

      The identifier for the inappropriate, unwanted, or offensive content moderation job. Use JobId to identify the job in a subsequent call to GetContentModeration.

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token - to retrieve the next set of content moderation labels.

      SortBy?: string

      Sort to use for elements in the ModerationLabelDetections array. + to retrieve the next set of content moderation labels.

      Sort to use for elements in the ModerationLabelDetections array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationCommandOutput.html index 4cf8b827887..292967b2dde 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationCommandOutput.html @@ -1,6 +1,6 @@ GetContentModerationCommandOutput | Amplify JS API Documentation

      The output of GetContentModerationCommand.

      -
      interface GetContentModerationCommandOutput {
          $metadata: ResponseMetadata;
          GetRequestMetadata?: GetContentModerationRequestMetadata;
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          ModerationLabels?: ContentModerationDetection[];
          ModerationModelVersion?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      interface GetContentModerationCommandOutput {
          $metadata: ResponseMetadata;
          GetRequestMetadata?: GetContentModerationRequestMetadata;
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          ModerationLabels?: ContentModerationDetection[];
          ModerationModelVersion?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      Information about the paramters used when getting a response. Includes information on aggregation and sorting methods.

      JobId?: string

      Job identifier for the content moderation operation for which you want to obtain results. - The job identifer is returned by an initial call to StartContentModeration.

      JobStatus?: string

      The current status of the content moderation analysis job.

      JobTag?: string

      A job identifier specified in the call to StartContentModeration and returned in the job + The job identifer is returned by an initial call to StartContentModeration.

      JobStatus?: VideoJobStatus

      The current status of the content moderation analysis job.

      JobTag?: string

      A job identifier specified in the call to StartContentModeration and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      ModerationLabels?: ContentModerationDetection[]

      The detected inappropriate, unwanted, or offensive content moderation labels and the time(s) they were detected.

      ModerationModelVersion?: string

      Version number of the moderation detection model that was used to detect inappropriate, unwanted, or offensive content.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of content moderation labels.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

      VideoMetadata?: VideoMetadata

      Information about a video that Amazon Rekognition analyzed. Videometadata diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationRequest.html index 6c8a584557e..a60856946bf 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationRequest.html @@ -1,16 +1,16 @@ GetContentModerationRequest | Amplify JS API Documentation -

      interface GetContentModerationRequest {
          AggregateBy?: string;
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      AggregateBy? +
      interface GetContentModerationRequest {
          AggregateBy?: ContentModerationAggregateBy;
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: ContentModerationSortBy;
      }

      Hierarchy (view full)

      Properties

      AggregateBy?: string

      Defines how to aggregate results of the StartContentModeration request. Default +

      Properties

      Defines how to aggregate results of the StartContentModeration request. Default aggregation option is TIMESTAMPS. SEGMENTS mode aggregates moderation labels over time.

      JobId: undefined | string

      The identifier for the inappropriate, unwanted, or offensive content moderation job. Use JobId to identify the job in a subsequent call to GetContentModeration.

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token - to retrieve the next set of content moderation labels.

      SortBy?: string

      Sort to use for elements in the ModerationLabelDetections array. + to retrieve the next set of content moderation labels.

      Sort to use for elements in the ModerationLabelDetections array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationRequestMetadata.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationRequestMetadata.html index 404beed37a6..394c14b8a66 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationRequestMetadata.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationRequestMetadata.html @@ -1,5 +1,5 @@ GetContentModerationRequestMetadata | Amplify JS API Documentation

      Contains metadata about a content moderation request, including the SortBy and AggregateBy - options.

      interface GetContentModerationRequestMetadata {
          AggregateBy?: string;
          SortBy?: string;
      }

      Properties

      AggregateBy? + options.

      interface GetContentModerationRequestMetadata {
          AggregateBy?: ContentModerationAggregateBy;
          SortBy?: ContentModerationSortBy;
      }

      Properties

      Properties

      AggregateBy?: string

      The aggregation method chosen for a GetContentModeration request.

      SortBy?: string

      The sorting method chosen for a GetContentModeration request.

      \ No newline at end of file +

      Properties

      The aggregation method chosen for a GetContentModeration request.

      The sorting method chosen for a GetContentModeration request.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationResponse.html index 4bab28eb515..e18d0a8ed0a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetContentModerationResponse.html @@ -1,5 +1,5 @@ GetContentModerationResponse | Amplify JS API Documentation -
      interface GetContentModerationResponse {
          GetRequestMetadata?: GetContentModerationRequestMetadata;
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          ModerationLabels?: ContentModerationDetection[];
          ModerationModelVersion?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      GetRequestMetadata? +
      interface GetContentModerationResponse {
          GetRequestMetadata?: GetContentModerationRequestMetadata;
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          ModerationLabels?: ContentModerationDetection[];
          ModerationModelVersion?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Information about the paramters used when getting a response. Includes information on aggregation and sorting methods.

      JobId?: string

      Job identifier for the content moderation operation for which you want to obtain results. - The job identifer is returned by an initial call to StartContentModeration.

      JobStatus?: string

      The current status of the content moderation analysis job.

      JobTag?: string

      A job identifier specified in the call to StartContentModeration and returned in the job + The job identifer is returned by an initial call to StartContentModeration.

      JobStatus?: VideoJobStatus

      The current status of the content moderation analysis job.

      JobTag?: string

      A job identifier specified in the call to StartContentModeration and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      ModerationLabels?: ContentModerationDetection[]

      The detected inappropriate, unwanted, or offensive content moderation labels and the time(s) they were detected.

      ModerationModelVersion?: string

      Version number of the moderation detection model that was used to detect inappropriate, unwanted, or offensive content.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of content moderation labels.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

      VideoMetadata?: VideoMetadata

      Information about a video that Amazon Rekognition analyzed. Videometadata diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentAnalysisCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentAnalysisCommandOutput.html index 9a73fe37af8..99bb797d96d 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentAnalysisCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentAnalysisCommandOutput.html @@ -1,6 +1,6 @@ GetDocumentAnalysisCommandOutput | Amplify JS API Documentation

      The output of GetDocumentAnalysisCommand.

      -
      interface GetDocumentAnalysisCommandOutput {
          $metadata: ResponseMetadata;
          AnalyzeDocumentModelVersion?: string;
          Blocks?: Block[];
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: string;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      interface GetDocumentAnalysisCommandOutput {
          $metadata: ResponseMetadata;
          AnalyzeDocumentModelVersion?: string;
          Blocks?: Block[];
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: JobStatus;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      AnalyzeDocumentModelVersion?: string

      Blocks?: Block[]

      The results of the text-analysis operation.

      DocumentMetadata?: DocumentMetadata

      Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an - Amazon Textract video operation.

      JobStatus?: string

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token + Amazon Textract video operation.

      JobStatus?: JobStatus

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text detection results.

      StatusMessage?: string

      Returns if the detection job could not be completed. Contains explanation for what error occured.

      Warnings?: Warning[]

      A list of warnings that occurred during the document-analysis operation.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentAnalysisResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentAnalysisResponse.html index 86283be5d35..b39544a0dfd 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentAnalysisResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentAnalysisResponse.html @@ -1,5 +1,5 @@ GetDocumentAnalysisResponse | Amplify JS API Documentation -
      interface GetDocumentAnalysisResponse {
          AnalyzeDocumentModelVersion?: string;
          Blocks?: Block[];
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: string;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      AnalyzeDocumentModelVersion? +
      interface GetDocumentAnalysisResponse {
          AnalyzeDocumentModelVersion?: string;
          Blocks?: Block[];
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: JobStatus;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      AnalyzeDocumentModelVersion?: string

      Blocks?: Block[]

      The results of the text-analysis operation.

      DocumentMetadata?: DocumentMetadata

      Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an - Amazon Textract video operation.

      JobStatus?: string

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token + Amazon Textract video operation.

      JobStatus?: JobStatus

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text detection results.

      StatusMessage?: string

      Returns if the detection job could not be completed. Contains explanation for what error occured.

      Warnings?: Warning[]

      A list of warnings that occurred during the document-analysis operation.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentTextDetectionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentTextDetectionCommandOutput.html index 27714c64a7b..9e67f5fd47a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentTextDetectionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentTextDetectionCommandOutput.html @@ -1,6 +1,6 @@ GetDocumentTextDetectionCommandOutput | Amplify JS API Documentation

      The output of GetDocumentTextDetectionCommand.

      -
      interface GetDocumentTextDetectionCommandOutput {
          $metadata: ResponseMetadata;
          Blocks?: Block[];
          DetectDocumentTextModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: string;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      interface GetDocumentTextDetectionCommandOutput {
          $metadata: ResponseMetadata;
          Blocks?: Block[];
          DetectDocumentTextModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: JobStatus;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      Blocks?: Block[]

      The results of the text-detection operation.

      DetectDocumentTextModelVersion?: string

      DocumentMetadata?: DocumentMetadata

      Information about a document that Amazon Textract processed. DocumentMetadata is - returned in every page of paginated responses from an Amazon Textract video operation.

      JobStatus?: string

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in + returned in every page of paginated responses from an Amazon Textract video operation.

      JobStatus?: JobStatus

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

      StatusMessage?: string

      Returns if the detection job could not be completed. Contains explanation for what error occured.

      Warnings?: Warning[]

      A list of warnings that occurred during the text-detection operation for the document.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentTextDetectionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentTextDetectionResponse.html index 215fe8aca4a..f60891e40e6 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentTextDetectionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetDocumentTextDetectionResponse.html @@ -1,5 +1,5 @@ GetDocumentTextDetectionResponse | Amplify JS API Documentation -
      interface GetDocumentTextDetectionResponse {
          Blocks?: Block[];
          DetectDocumentTextModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: string;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      Blocks? +
      interface GetDocumentTextDetectionResponse {
          Blocks?: Block[];
          DetectDocumentTextModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: JobStatus;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      Blocks?: Block[]

      The results of the text-detection operation.

      DetectDocumentTextModelVersion?: string

      DocumentMetadata?: DocumentMetadata

      Information about a document that Amazon Textract processed. DocumentMetadata is - returned in every page of paginated responses from an Amazon Textract video operation.

      JobStatus?: string

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in + returned in every page of paginated responses from an Amazon Textract video operation.

      JobStatus?: JobStatus

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

      StatusMessage?: string

      Returns if the detection job could not be completed. Contains explanation for what error occured.

      Warnings?: Warning[]

      A list of warnings that occurred during the text-detection operation for the document.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetExpenseAnalysisCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetExpenseAnalysisCommandOutput.html index 08b42307904..e1bbf2273b1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetExpenseAnalysisCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetExpenseAnalysisCommandOutput.html @@ -1,6 +1,6 @@ GetExpenseAnalysisCommandOutput | Amplify JS API Documentation

      The output of GetExpenseAnalysisCommand.

      -
      interface GetExpenseAnalysisCommandOutput {
          $metadata: ResponseMetadata;
          AnalyzeExpenseModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          ExpenseDocuments?: ExpenseDocument[];
          JobStatus?: string;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      interface GetExpenseAnalysisCommandOutput {
          $metadata: ResponseMetadata;
          AnalyzeExpenseModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          ExpenseDocuments?: ExpenseDocument[];
          JobStatus?: JobStatus;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      AnalyzeExpenseModelVersion?: string

      The current model version of AnalyzeExpense.

      DocumentMetadata?: DocumentMetadata

      Information about a document that Amazon Textract processed. DocumentMetadata is - returned in every page of paginated responses from an Amazon Textract operation.

      ExpenseDocuments?: ExpenseDocument[]

      The expenses detected by Amazon Textract.

      JobStatus?: string

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in + returned in every page of paginated responses from an Amazon Textract operation.

      ExpenseDocuments?: ExpenseDocument[]

      The expenses detected by Amazon Textract.

      JobStatus?: JobStatus

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

      StatusMessage?: string

      Returns if the detection job could not be completed. Contains explanation for what error occured.

      Warnings?: Warning[]

      A list of warnings that occurred during the text-detection operation for the document.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetExpenseAnalysisResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetExpenseAnalysisResponse.html index c3a66680abd..db3f89c13e7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetExpenseAnalysisResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetExpenseAnalysisResponse.html @@ -1,5 +1,5 @@ GetExpenseAnalysisResponse | Amplify JS API Documentation -
      interface GetExpenseAnalysisResponse {
          AnalyzeExpenseModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          ExpenseDocuments?: ExpenseDocument[];
          JobStatus?: string;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      AnalyzeExpenseModelVersion? +
      interface GetExpenseAnalysisResponse {
          AnalyzeExpenseModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          ExpenseDocuments?: ExpenseDocument[];
          JobStatus?: JobStatus;
          NextToken?: string;
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      AnalyzeExpenseModelVersion?: string

      The current model version of AnalyzeExpense.

      DocumentMetadata?: DocumentMetadata

      Information about a document that Amazon Textract processed. DocumentMetadata is - returned in every page of paginated responses from an Amazon Textract operation.

      ExpenseDocuments?: ExpenseDocument[]

      The expenses detected by Amazon Textract.

      JobStatus?: string

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in + returned in every page of paginated responses from an Amazon Textract operation.

      ExpenseDocuments?: ExpenseDocument[]

      The expenses detected by Amazon Textract.

      JobStatus?: JobStatus

      The current status of the text detection job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

      StatusMessage?: string

      Returns if the detection job could not be completed. Contains explanation for what error occured.

      Warnings?: Warning[]

      A list of warnings that occurred during the text-detection operation for the document.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceDetectionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceDetectionCommandOutput.html index 2ed3f434ad3..98128cc9ae2 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceDetectionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceDetectionCommandOutput.html @@ -1,6 +1,6 @@ GetFaceDetectionCommandOutput | Amplify JS API Documentation

      The output of GetFaceDetectionCommand.

      -
      interface GetFaceDetectionCommandOutput {
          $metadata: ResponseMetadata;
          Faces?: FaceDetection[];
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      interface GetFaceDetectionCommandOutput {
          $metadata: ResponseMetadata;
          Faces?: FaceDetection[];
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      $metadata Faces? JobId? JobStatus? @@ -12,7 +12,7 @@

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      Faces?: FaceDetection[]

      An array of faces detected in the video. Each element contains a detected face's details and the time, in milliseconds from the start of the video, the face was detected.

      JobId?: string

      Job identifier for the face detection operation for which you want to obtain results. The - job identifer is returned by an initial call to StartFaceDetection.

      JobStatus?: string

      The current status of the face detection job.

      JobTag?: string

      A job identifier specified in the call to StartFaceDetection and returned in the job + job identifer is returned by an initial call to StartFaceDetection.

      JobStatus?: VideoJobStatus

      The current status of the face detection job.

      JobTag?: string

      A job identifier specified in the call to StartFaceDetection and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

      VideoMetadata?: VideoMetadata

      Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceDetectionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceDetectionResponse.html index 68e1ea1a44d..7cf9e242e93 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceDetectionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceDetectionResponse.html @@ -1,5 +1,5 @@ GetFaceDetectionResponse | Amplify JS API Documentation -
      interface GetFaceDetectionResponse {
          Faces?: FaceDetection[];
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Faces? +
      interface GetFaceDetectionResponse {
          Faces?: FaceDetection[];
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Properties

      Faces?: FaceDetection[]

      An array of faces detected in the video. Each element contains a detected face's details and the time, in milliseconds from the start of the video, the face was detected.

      JobId?: string

      Job identifier for the face detection operation for which you want to obtain results. The - job identifer is returned by an initial call to StartFaceDetection.

      JobStatus?: string

      The current status of the face detection job.

      JobTag?: string

      A job identifier specified in the call to StartFaceDetection and returned in the job + job identifer is returned by an initial call to StartFaceDetection.

      JobStatus?: VideoJobStatus

      The current status of the face detection job.

      JobTag?: string

      A job identifier specified in the call to StartFaceDetection and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

      VideoMetadata?: VideoMetadata

      Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceLivenessSessionResultsCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceLivenessSessionResultsCommandOutput.html index 3a4f583bed7..45e28a7030f 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceLivenessSessionResultsCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceLivenessSessionResultsCommandOutput.html @@ -1,6 +1,6 @@ GetFaceLivenessSessionResultsCommandOutput | Amplify JS API Documentation

      The output of GetFaceLivenessSessionResultsCommand.

      -
      interface GetFaceLivenessSessionResultsCommandOutput {
          $metadata: ResponseMetadata;
          AuditImages?: AuditImage[];
          Confidence?: number;
          ReferenceImage?: AuditImage;
          SessionId: undefined | string;
          Status: undefined | string;
      }

      Hierarchy (view full)

      Properties

      interface GetFaceLivenessSessionResultsCommandOutput {
          $metadata: ResponseMetadata;
          AuditImages?: AuditImage[];
          Confidence?: number;
          ReferenceImage?: AuditImage;
          SessionId: undefined | string;
          Status: undefined | LivenessSessionStatus;
      }

      Hierarchy (view full)

      Properties

      $metadata AuditImages? Confidence? ReferenceImage? @@ -16,5 +16,5 @@ search. It includes a bounding box of the face and the Base64-encoded bytes that return an image. If the CreateFaceLivenessSession request included an OutputConfig argument, the image will be uploaded to an S3Object specified in the output configuration. In case the reference - image is not returned, it's recommended to retry the Liveness check.

      SessionId: undefined | string

      The sessionId for which this request was called.

      Status: undefined | string

      Represents a status corresponding to the state of the session. Possible statuses are: + image is not returned, it's recommended to retry the Liveness check.

      SessionId: undefined | string

      The sessionId for which this request was called.

      Status: undefined | LivenessSessionStatus

      Represents a status corresponding to the state of the session. Possible statuses are: CREATED, IN_PROGRESS, SUCCEEDED, FAILED, EXPIRED.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceLivenessSessionResultsResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceLivenessSessionResultsResponse.html index 8d7518f99e8..ba065ee1af4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceLivenessSessionResultsResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceLivenessSessionResultsResponse.html @@ -1,5 +1,5 @@ GetFaceLivenessSessionResultsResponse | Amplify JS API Documentation -
      interface GetFaceLivenessSessionResultsResponse {
          AuditImages?: AuditImage[];
          Confidence?: number;
          ReferenceImage?: AuditImage;
          SessionId: undefined | string;
          Status: undefined | string;
      }

      Hierarchy (view full)

      Properties

      AuditImages? +
      interface GetFaceLivenessSessionResultsResponse {
          AuditImages?: AuditImage[];
          Confidence?: number;
          ReferenceImage?: AuditImage;
          SessionId: undefined | string;
          Status: undefined | LivenessSessionStatus;
      }

      Hierarchy (view full)

      Properties

      AuditImages? Confidence? ReferenceImage? SessionId @@ -13,5 +13,5 @@ search. It includes a bounding box of the face and the Base64-encoded bytes that return an image. If the CreateFaceLivenessSession request included an OutputConfig argument, the image will be uploaded to an S3Object specified in the output configuration. In case the reference - image is not returned, it's recommended to retry the Liveness check.

      SessionId: undefined | string

      The sessionId for which this request was called.

      Status: undefined | string

      Represents a status corresponding to the state of the session. Possible statuses are: + image is not returned, it's recommended to retry the Liveness check.

      SessionId: undefined | string

      The sessionId for which this request was called.

      Status: undefined | LivenessSessionStatus

      Represents a status corresponding to the state of the session. Possible statuses are: CREATED, IN_PROGRESS, SUCCEEDED, FAILED, EXPIRED.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchCommandInput.html index 63ada4c8520..83102489358 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchCommandInput.html @@ -1,11 +1,11 @@ GetFaceSearchCommandInput | Amplify JS API Documentation

      The input for GetFaceSearchCommand.

      -
      interface GetFaceSearchCommandInput {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      interface GetFaceSearchCommandInput {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: FaceSearchSortBy;
      }

      Hierarchy (view full)

      Properties

      JobId: undefined | string

      The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch.

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there is more search results to retrieve), Amazon Rekognition Video returns a pagination - token in the response. You can use this pagination token to retrieve the next set of search results.

      SortBy?: string

      Sort to use for grouping faces in the response. Use TIMESTAMP to group faces by the time + token in the response. You can use this pagination token to retrieve the next set of search results.

      Sort to use for grouping faces in the response. Use TIMESTAMP to group faces by the time that they are recognized. Use INDEX to sort by recognized faces.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchCommandOutput.html index 28602f79804..dc88fb1ea59 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchCommandOutput.html @@ -1,6 +1,6 @@ GetFaceSearchCommandOutput | Amplify JS API Documentation

      The output of GetFaceSearchCommand.

      -
      interface GetFaceSearchCommandOutput {
          $metadata: ResponseMetadata;
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          Persons?: PersonMatch[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      interface GetFaceSearchCommandOutput {
          $metadata: ResponseMetadata;
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          Persons?: PersonMatch[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      JobId?: string

      Job identifier for the face search operation for which you want to obtain results. The job - identifer is returned by an initial call to StartFaceSearch.

      JobStatus?: string

      The current status of the face search job.

      JobTag?: string

      A job identifier specified in the call to StartFaceSearch and returned in the job + identifer is returned by an initial call to StartFaceSearch.

      JobStatus?: VideoJobStatus

      The current status of the face search job.

      JobTag?: string

      A job identifier specified in the call to StartFaceSearch and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of search results.

      Persons?: PersonMatch[]

      An array of persons, PersonMatch, in the video whose face(s) match the face(s) in an Amazon Rekognition collection. It also includes time information for when persons are matched in the video. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchRequest.html index d054e057885..b43e2fcbcfa 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchRequest.html @@ -1,10 +1,10 @@ GetFaceSearchRequest | Amplify JS API Documentation -

      interface GetFaceSearchRequest {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      JobId +
      interface GetFaceSearchRequest {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: FaceSearchSortBy;
      }

      Hierarchy (view full)

      Properties

      JobId: undefined | string

      The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch.

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there is more search results to retrieve), Amazon Rekognition Video returns a pagination - token in the response. You can use this pagination token to retrieve the next set of search results.

      SortBy?: string

      Sort to use for grouping faces in the response. Use TIMESTAMP to group faces by the time + token in the response. You can use this pagination token to retrieve the next set of search results.

      Sort to use for grouping faces in the response. Use TIMESTAMP to group faces by the time that they are recognized. Use INDEX to sort by recognized faces.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchResponse.html index ad486756ac7..e3272bcf75e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetFaceSearchResponse.html @@ -1,5 +1,5 @@ GetFaceSearchResponse | Amplify JS API Documentation -
      interface GetFaceSearchResponse {
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          Persons?: PersonMatch[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      JobId? +
      interface GetFaceSearchResponse {
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          Persons?: PersonMatch[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      JobId?: string

      Job identifier for the face search operation for which you want to obtain results. The job - identifer is returned by an initial call to StartFaceSearch.

      JobStatus?: string

      The current status of the face search job.

      JobTag?: string

      A job identifier specified in the call to StartFaceSearch and returned in the job + identifer is returned by an initial call to StartFaceSearch.

      JobStatus?: VideoJobStatus

      The current status of the face search job.

      JobTag?: string

      A job identifier specified in the call to StartFaceSearch and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of search results.

      Persons?: PersonMatch[]

      An array of persons, PersonMatch, in the video whose face(s) match the face(s) in an Amazon Rekognition collection. It also includes time information for when persons are matched in the video. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionCommandInput.html index 4d0b54db7c4..b53ba3a1ecd 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionCommandInput.html @@ -1,15 +1,15 @@ GetLabelDetectionCommandInput | Amplify JS API Documentation

      The input for GetLabelDetectionCommand.

      -
      interface GetLabelDetectionCommandInput {
          AggregateBy?: string;
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      interface GetLabelDetectionCommandInput {
          AggregateBy?: LabelDetectionAggregateBy;
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: LabelDetectionSortBy;
      }

      Hierarchy (view full)

      Properties

      AggregateBy?: string

      Defines how to aggregate the returned results. Results can be aggregated by timestamps or segments.

      JobId: undefined | string

      Job identifier for the label detection operation for which you want results returned. You get the job identifer from +

      Properties

      Defines how to aggregate the returned results. Results can be aggregated by timestamps or segments.

      JobId: undefined | string

      Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartlabelDetection.

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination - token in the response. You can use this pagination token to retrieve the next set of labels.

      SortBy?: string

      Sort to use for elements in the Labels array. + token in the response. You can use this pagination token to retrieve the next set of labels.

      Sort to use for elements in the Labels array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionCommandOutput.html index 2a7e1059bb5..20154fa1060 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionCommandOutput.html @@ -1,6 +1,6 @@ GetLabelDetectionCommandOutput | Amplify JS API Documentation

      The output of GetLabelDetectionCommand.

      -
      interface GetLabelDetectionCommandOutput {
          $metadata: ResponseMetadata;
          GetRequestMetadata?: GetLabelDetectionRequestMetadata;
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          LabelModelVersion?: string;
          Labels?: LabelDetection[];
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      interface GetLabelDetectionCommandOutput {
          $metadata: ResponseMetadata;
          GetRequestMetadata?: GetLabelDetectionRequestMetadata;
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          LabelModelVersion?: string;
          Labels?: LabelDetection[];
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      Information about the paramters used when getting a response. Includes information on aggregation and sorting methods.

      JobId?: string

      Job identifier for the label detection operation for which you want to obtain results. The - job identifer is returned by an initial call to StartLabelDetection.

      JobStatus?: string

      The current status of the label detection job.

      JobTag?: string

      A job identifier specified in the call to StartLabelDetection and returned in the job + job identifer is returned by an initial call to StartLabelDetection.

      JobStatus?: VideoJobStatus

      The current status of the label detection job.

      JobTag?: string

      A job identifier specified in the call to StartLabelDetection and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      LabelModelVersion?: string

      Version number of the label detection model that was used to detect labels.

      Labels?: LabelDetection[]

      An array of labels detected in the video. Each element contains the detected label and the time, in milliseconds from the start of the video, that the label was detected.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of labels.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionRequest.html index 87c2f3eae1c..c5d04845008 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionRequest.html @@ -1,14 +1,14 @@ GetLabelDetectionRequest | Amplify JS API Documentation -

      interface GetLabelDetectionRequest {
          AggregateBy?: string;
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      AggregateBy? +
      interface GetLabelDetectionRequest {
          AggregateBy?: LabelDetectionAggregateBy;
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: LabelDetectionSortBy;
      }

      Hierarchy (view full)

      Properties

      AggregateBy?: string

      Defines how to aggregate the returned results. Results can be aggregated by timestamps or segments.

      JobId: undefined | string

      Job identifier for the label detection operation for which you want results returned. You get the job identifer from +

      Properties

      Defines how to aggregate the returned results. Results can be aggregated by timestamps or segments.

      JobId: undefined | string

      Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartlabelDetection.

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination - token in the response. You can use this pagination token to retrieve the next set of labels.

      SortBy?: string

      Sort to use for elements in the Labels array. + token in the response. You can use this pagination token to retrieve the next set of labels.

      Sort to use for elements in the Labels array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionRequestMetadata.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionRequestMetadata.html index 82f38e99af5..bc6f3d1628e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionRequestMetadata.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionRequestMetadata.html @@ -1,5 +1,5 @@ GetLabelDetectionRequestMetadata | Amplify JS API Documentation

      Contains metadata about a label detection request, including the SortBy and AggregateBy - options.

      interface GetLabelDetectionRequestMetadata {
          AggregateBy?: string;
          SortBy?: string;
      }

      Properties

      AggregateBy? + options.

      interface GetLabelDetectionRequestMetadata {
          AggregateBy?: LabelDetectionAggregateBy;
          SortBy?: LabelDetectionSortBy;
      }

      Properties

      Properties

      AggregateBy?: string

      The aggregation method chosen for a GetLabelDetection request.

      SortBy?: string

      The sorting method chosen for a GetLabelDetection request.

      \ No newline at end of file +

      Properties

      The aggregation method chosen for a GetLabelDetection request.

      The sorting method chosen for a GetLabelDetection request.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionResponse.html index ee1450cb40f..fd5ab0e7181 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLabelDetectionResponse.html @@ -1,5 +1,5 @@ GetLabelDetectionResponse | Amplify JS API Documentation -
      interface GetLabelDetectionResponse {
          GetRequestMetadata?: GetLabelDetectionRequestMetadata;
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          LabelModelVersion?: string;
          Labels?: LabelDetection[];
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      GetRequestMetadata? +
      interface GetLabelDetectionResponse {
          GetRequestMetadata?: GetLabelDetectionRequestMetadata;
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          LabelModelVersion?: string;
          Labels?: LabelDetection[];
          NextToken?: string;
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Information about the paramters used when getting a response. Includes information on aggregation and sorting methods.

      JobId?: string

      Job identifier for the label detection operation for which you want to obtain results. The - job identifer is returned by an initial call to StartLabelDetection.

      JobStatus?: string

      The current status of the label detection job.

      JobTag?: string

      A job identifier specified in the call to StartLabelDetection and returned in the job + job identifer is returned by an initial call to StartLabelDetection.

      JobStatus?: VideoJobStatus

      The current status of the label detection job.

      JobTag?: string

      A job identifier specified in the call to StartLabelDetection and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      LabelModelVersion?: string

      Version number of the label detection model that was used to detect labels.

      Labels?: LabelDetection[]

      An array of labels detected in the video. Each element contains the detected label and the time, in milliseconds from the start of the video, that the label was detected.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of labels.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisCommandOutput.html index 078b9c9a668..245c9c40f75 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisCommandOutput.html @@ -1,6 +1,6 @@ GetLendingAnalysisCommandOutput | Amplify JS API Documentation

      The output of GetLendingAnalysisCommand.

      -
      interface GetLendingAnalysisCommandOutput {
          $metadata: ResponseMetadata;
          AnalyzeLendingModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: string;
          NextToken?: string;
          Results?: LendingResult[];
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      interface GetLendingAnalysisCommandOutput {
          $metadata: ResponseMetadata;
          AnalyzeLendingModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: JobStatus;
          NextToken?: string;
          Results?: LendingResult[];
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      -
      AnalyzeLendingModelVersion?: string

      The current model version of the Analyze Lending API.

      DocumentMetadata?: DocumentMetadata

      Information about the input document.

      JobStatus?: string

      The current status of the lending analysis job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. +

      AnalyzeLendingModelVersion?: string

      The current model version of the Analyze Lending API.

      DocumentMetadata?: DocumentMetadata

      Information about the input document.

      JobStatus?: JobStatus

      The current status of the lending analysis job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of lending results.

      Results?: LendingResult[]

      Holds the information returned by one of AmazonTextract's document analysis operations for the pinstripe.

      StatusMessage?: string

      Returns if the lending analysis job could not be completed. Contains explanation for what error occurred.

      Warnings?: Warning[]

      A list of warnings that occurred during the lending analysis operation.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisResponse.html index a22c59be459..7603e58b3e4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisResponse.html @@ -1,12 +1,12 @@ GetLendingAnalysisResponse | Amplify JS API Documentation -
      interface GetLendingAnalysisResponse {
          AnalyzeLendingModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: string;
          NextToken?: string;
          Results?: LendingResult[];
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      AnalyzeLendingModelVersion? +
      interface GetLendingAnalysisResponse {
          AnalyzeLendingModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: JobStatus;
          NextToken?: string;
          Results?: LendingResult[];
          StatusMessage?: string;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      AnalyzeLendingModelVersion?: string

      The current model version of the Analyze Lending API.

      DocumentMetadata?: DocumentMetadata

      Information about the input document.

      JobStatus?: string

      The current status of the lending analysis job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. +

      Properties

      AnalyzeLendingModelVersion?: string

      The current model version of the Analyze Lending API.

      DocumentMetadata?: DocumentMetadata

      Information about the input document.

      JobStatus?: JobStatus

      The current status of the lending analysis job.

      NextToken?: string

      If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of lending results.

      Results?: LendingResult[]

      Holds the information returned by one of AmazonTextract's document analysis operations for the pinstripe.

      StatusMessage?: string

      Returns if the lending analysis job could not be completed. Contains explanation for what error occurred.

      Warnings?: Warning[]

      A list of warnings that occurred during the lending analysis operation.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisSummaryCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisSummaryCommandOutput.html index fc99a708aca..7d74c7fabf3 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisSummaryCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisSummaryCommandOutput.html @@ -1,6 +1,6 @@ GetLendingAnalysisSummaryCommandOutput | Amplify JS API Documentation

      The output of GetLendingAnalysisSummaryCommand.

      -
      interface GetLendingAnalysisSummaryCommandOutput {
          $metadata: ResponseMetadata;
          AnalyzeLendingModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: string;
          StatusMessage?: string;
          Summary?: LendingSummary;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      interface GetLendingAnalysisSummaryCommandOutput {
          $metadata: ResponseMetadata;
          AnalyzeLendingModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: JobStatus;
          StatusMessage?: string;
          Summary?: LendingSummary;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      -
      AnalyzeLendingModelVersion?: string

      The current model version of the Analyze Lending API.

      DocumentMetadata?: DocumentMetadata

      Information about the input document.

      JobStatus?: string

      The current status of the lending analysis job.

      StatusMessage?: string

      Returns if the lending analysis could not be completed. Contains explanation for what error +

      AnalyzeLendingModelVersion?: string

      The current model version of the Analyze Lending API.

      DocumentMetadata?: DocumentMetadata

      Information about the input document.

      JobStatus?: JobStatus

      The current status of the lending analysis job.

      StatusMessage?: string

      Returns if the lending analysis could not be completed. Contains explanation for what error occurred.

      Summary?: LendingSummary

      Contains summary information for documents grouped by type.

      Warnings?: Warning[]

      A list of warnings that occurred during the lending analysis operation.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisSummaryResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisSummaryResponse.html index 8a39718b8e2..7457029eabb 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisSummaryResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetLendingAnalysisSummaryResponse.html @@ -1,9 +1,9 @@ GetLendingAnalysisSummaryResponse | Amplify JS API Documentation -
      interface GetLendingAnalysisSummaryResponse {
          AnalyzeLendingModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: string;
          StatusMessage?: string;
          Summary?: LendingSummary;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      AnalyzeLendingModelVersion? +
      interface GetLendingAnalysisSummaryResponse {
          AnalyzeLendingModelVersion?: string;
          DocumentMetadata?: DocumentMetadata;
          JobStatus?: JobStatus;
          StatusMessage?: string;
          Summary?: LendingSummary;
          Warnings?: Warning[];
      }

      Hierarchy (view full)

      Properties

      AnalyzeLendingModelVersion?: string

      The current model version of the Analyze Lending API.

      DocumentMetadata?: DocumentMetadata

      Information about the input document.

      JobStatus?: string

      The current status of the lending analysis job.

      StatusMessage?: string

      Returns if the lending analysis could not be completed. Contains explanation for what error +

      Properties

      AnalyzeLendingModelVersion?: string

      The current model version of the Analyze Lending API.

      DocumentMetadata?: DocumentMetadata

      Information about the input document.

      JobStatus?: JobStatus

      The current status of the lending analysis job.

      StatusMessage?: string

      Returns if the lending analysis could not be completed. Contains explanation for what error occurred.

      Summary?: LendingSummary

      Contains summary information for documents grouped by type.

      Warnings?: Warning[]

      A list of warnings that occurred during the lending analysis operation.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobCommandInput.html new file mode 100644 index 00000000000..159870f01d9 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobCommandInput.html @@ -0,0 +1,4 @@ +GetMediaAnalysisJobCommandInput | Amplify JS API Documentation +

      The input for GetMediaAnalysisJobCommand.

      +
      interface GetMediaAnalysisJobCommandInput {
          JobId: undefined | string;
      }

      Hierarchy (view full)

      Properties

      Properties

      JobId: undefined | string

      Unique identifier for the media analysis job for which you want to retrieve results.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobCommandOutput.html new file mode 100644 index 00000000000..d071118f6e1 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobCommandOutput.html @@ -0,0 +1,17 @@ +GetMediaAnalysisJobCommandOutput | Amplify JS API Documentation +

      The output of GetMediaAnalysisJobCommand.

      +
      interface GetMediaAnalysisJobCommandOutput {
          $metadata: ResponseMetadata;
          CompletionTimestamp?: Date;
          CreationTimestamp: undefined | Date;
          FailureDetails?: MediaAnalysisJobFailureDetails;
          Input: undefined | MediaAnalysisInput;
          JobId: undefined | string;
          JobName?: string;
          KmsKeyId?: string;
          ManifestSummary?: MediaAnalysisManifestSummary;
          OperationsConfig: undefined | MediaAnalysisOperationsConfig;
          OutputConfig: undefined | MediaAnalysisOutputConfig;
          Results?: MediaAnalysisResults;
          Status: undefined | MediaAnalysisJobStatus;
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      +
      CompletionTimestamp?: Date

      The Unix date and time when the job finished.

      CreationTimestamp: undefined | Date

      The Unix date and time when the job was started.

      Details about the error that resulted in failure of the job.

      Input: undefined | MediaAnalysisInput

      Reference to the input manifest that was provided in the job creation request.

      JobId: undefined | string

      The identifier for the media analysis job.

      JobName?: string

      The name of the media analysis job.

      KmsKeyId?: string

      KMS Key that was provided in the creation request.

      The summary manifest provides statistics on input manifest and errors identified in the input manifest.

      OperationsConfig: undefined | MediaAnalysisOperationsConfig

      Operation configurations that were provided during job creation.

      OutputConfig: undefined | MediaAnalysisOutputConfig

      Output configuration that was provided in the creation request.

      Output manifest that contains prediction results.

      Status: undefined | MediaAnalysisJobStatus

      The current status of the media analysis job.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobRequest.html new file mode 100644 index 00000000000..0397316af50 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobRequest.html @@ -0,0 +1,3 @@ +GetMediaAnalysisJobRequest | Amplify JS API Documentation +
      interface GetMediaAnalysisJobRequest {
          JobId: undefined | string;
      }

      Hierarchy (view full)

      Properties

      Properties

      JobId: undefined | string

      Unique identifier for the media analysis job for which you want to retrieve results.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobResponse.html new file mode 100644 index 00000000000..d2002da3c68 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetMediaAnalysisJobResponse.html @@ -0,0 +1,14 @@ +GetMediaAnalysisJobResponse | Amplify JS API Documentation +
      interface GetMediaAnalysisJobResponse {
          CompletionTimestamp?: Date;
          CreationTimestamp: undefined | Date;
          FailureDetails?: MediaAnalysisJobFailureDetails;
          Input: undefined | MediaAnalysisInput;
          JobId: undefined | string;
          JobName?: string;
          KmsKeyId?: string;
          ManifestSummary?: MediaAnalysisManifestSummary;
          OperationsConfig: undefined | MediaAnalysisOperationsConfig;
          OutputConfig: undefined | MediaAnalysisOutputConfig;
          Results?: MediaAnalysisResults;
          Status: undefined | MediaAnalysisJobStatus;
      }

      Hierarchy (view full)

      Properties

      CompletionTimestamp?: Date

      The Unix date and time when the job finished.

      CreationTimestamp: undefined | Date

      The Unix date and time when the job was started.

      Details about the error that resulted in failure of the job.

      Input: undefined | MediaAnalysisInput

      Reference to the input manifest that was provided in the job creation request.

      JobId: undefined | string

      The identifier for the media analysis job.

      JobName?: string

      The name of the media analysis job.

      KmsKeyId?: string

      KMS Key that was provided in the creation request.

      The summary manifest provides statistics on input manifest and errors identified in the input manifest.

      OperationsConfig: undefined | MediaAnalysisOperationsConfig

      Operation configurations that were provided during job creation.

      OutputConfig: undefined | MediaAnalysisOutputConfig

      Output configuration that was provided in the creation request.

      Output manifest that contains prediction results.

      Status: undefined | MediaAnalysisJobStatus

      The current status of the media analysis job.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingCommandInput.html index 8f690de59e8..125aac1d2d6 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingCommandInput.html @@ -1,6 +1,6 @@ GetPersonTrackingCommandInput | Amplify JS API Documentation

      The input for GetPersonTrackingCommand.

      -
      interface GetPersonTrackingCommandInput {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      interface GetPersonTrackingCommandInput {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: PersonTrackingSortBy;
      }

      Hierarchy (view full)

      Properties

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there are more persons to retrieve), Amazon Rekognition Video returns a pagination - token in the response. You can use this pagination token to retrieve the next set of persons.

      SortBy?: string

      Sort to use for elements in the Persons array. Use TIMESTAMP to sort array elements + token in the response. You can use this pagination token to retrieve the next set of persons.

      Sort to use for elements in the Persons array. Use TIMESTAMP to sort array elements by the time persons are detected. Use INDEX to sort by the tracked persons. If you sort by INDEX, the array elements for each person are sorted by detection confidence. The default sort is by TIMESTAMP.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingCommandOutput.html index e19ed6af75a..4a532b799e1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingCommandOutput.html @@ -1,6 +1,6 @@ GetPersonTrackingCommandOutput | Amplify JS API Documentation

      The output of GetPersonTrackingCommand.

      -
      interface GetPersonTrackingCommandOutput {
          $metadata: ResponseMetadata;
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          Persons?: PersonDetection[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      interface GetPersonTrackingCommandOutput {
          $metadata: ResponseMetadata;
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          Persons?: PersonDetection[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      JobId?: string

      Job identifier for the person tracking operation for which you want to obtain results. The - job identifer is returned by an initial call to StartPersonTracking.

      JobStatus?: string

      The current status of the person tracking job.

      JobTag?: string

      A job identifier specified in the call to StartCelebrityRecognition and returned in the + job identifer is returned by an initial call to StartPersonTracking.

      JobStatus?: VideoJobStatus

      The current status of the person tracking job.

      JobTag?: string

      A job identifier specified in the call to StartCelebrityRecognition and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of persons.

      Persons?: PersonDetection[]

      An array of the persons detected in the video and the time(s) their path was tracked throughout the video. An array element will exist for each time a person's path is tracked.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

      VideoMetadata?: VideoMetadata

      Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingRequest.html index 1a756188671..29bbaa0caa3 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingRequest.html @@ -1,5 +1,5 @@ GetPersonTrackingRequest | Amplify JS API Documentation -

      interface GetPersonTrackingRequest {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: string;
      }

      Hierarchy (view full)

      Properties

      JobId +
      interface GetPersonTrackingRequest {
          JobId: undefined | string;
          MaxResults?: number;
          NextToken?: string;
          SortBy?: PersonTrackingSortBy;
      }

      Hierarchy (view full)

      Properties

      MaxResults?: number

      Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

      NextToken?: string

      If the previous response was incomplete (because there are more persons to retrieve), Amazon Rekognition Video returns a pagination - token in the response. You can use this pagination token to retrieve the next set of persons.

      SortBy?: string

      Sort to use for elements in the Persons array. Use TIMESTAMP to sort array elements + token in the response. You can use this pagination token to retrieve the next set of persons.

      Sort to use for elements in the Persons array. Use TIMESTAMP to sort array elements by the time persons are detected. Use INDEX to sort by the tracked persons. If you sort by INDEX, the array elements for each person are sorted by detection confidence. The default sort is by TIMESTAMP.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingResponse.html index 3e2f939d7df..7a30a73b153 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetPersonTrackingResponse.html @@ -1,5 +1,5 @@ GetPersonTrackingResponse | Amplify JS API Documentation -
      interface GetPersonTrackingResponse {
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          Persons?: PersonDetection[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      JobId? +
      interface GetPersonTrackingResponse {
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          Persons?: PersonDetection[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      JobId?: string

      Job identifier for the person tracking operation for which you want to obtain results. The - job identifer is returned by an initial call to StartPersonTracking.

      JobStatus?: string

      The current status of the person tracking job.

      JobTag?: string

      A job identifier specified in the call to StartCelebrityRecognition and returned in the + job identifer is returned by an initial call to StartPersonTracking.

      JobStatus?: VideoJobStatus

      The current status of the person tracking job.

      JobTag?: string

      A job identifier specified in the call to StartCelebrityRecognition and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of persons.

      Persons?: PersonDetection[]

      An array of the persons detected in the video and the time(s) their path was tracked throughout the video. An array element will exist for each time a person's path is tracked.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

      VideoMetadata?: VideoMetadata

      Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetSegmentDetectionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetSegmentDetectionCommandOutput.html index a498bd55135..30e5cc8b8d5 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetSegmentDetectionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetSegmentDetectionCommandOutput.html @@ -1,6 +1,6 @@ GetSegmentDetectionCommandOutput | Amplify JS API Documentation

      The output of GetSegmentDetectionCommand.

      -
      interface GetSegmentDetectionCommandOutput {
          $metadata: ResponseMetadata;
          AudioMetadata?: AudioMetadata[];
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          Segments?: SegmentDetection[];
          SelectedSegmentTypes?: SegmentTypeInfo[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata[];
      }

      Hierarchy (view full)

      Properties

      interface GetSegmentDetectionCommandOutput {
          $metadata: ResponseMetadata;
          AudioMetadata?: AudioMetadata[];
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          Segments?: SegmentDetection[];
          SelectedSegmentTypes?: SegmentTypeInfo[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata[];
      }

      Hierarchy (view full)

      Properties

      $metadata AudioMetadata? JobId? JobStatus? @@ -19,7 +19,7 @@ the audio codec, the number of audio channels, the duration of the audio stream, and the sample rate. Audio metadata is returned in each page of information returned by GetSegmentDetection.

      JobId?: string

      Job identifier for the segment detection operation for which you want to obtain results. - The job identifer is returned by an initial call to StartSegmentDetection.

      JobStatus?: string

      Current status of the segment detection job.

      JobTag?: string

      A job identifier specified in the call to StartSegmentDetection and returned in the job + The job identifer is returned by an initial call to StartSegmentDetection.

      JobStatus?: VideoJobStatus

      Current status of the segment detection job.

      JobTag?: string

      A job identifier specified in the call to StartSegmentDetection and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of text.

      Segments?: SegmentDetection[]

      An array of segments detected in a video. The array is sorted by the segment types (TECHNICAL_CUE or SHOT) specified in the SegmentTypes input parameter of StartSegmentDetection. Within diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetSegmentDetectionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetSegmentDetectionResponse.html index b6aaf1a3926..a680fb5f8a0 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetSegmentDetectionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetSegmentDetectionResponse.html @@ -1,5 +1,5 @@ GetSegmentDetectionResponse | Amplify JS API Documentation -

      interface GetSegmentDetectionResponse {
          AudioMetadata?: AudioMetadata[];
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          Segments?: SegmentDetection[];
          SelectedSegmentTypes?: SegmentTypeInfo[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata[];
      }

      Hierarchy (view full)

      Properties

      AudioMetadata? +
      interface GetSegmentDetectionResponse {
          AudioMetadata?: AudioMetadata[];
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          Segments?: SegmentDetection[];
          SelectedSegmentTypes?: SegmentTypeInfo[];
          StatusMessage?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata[];
      }

      Hierarchy (view full)

      Properties

      AudioMetadata? JobId? JobStatus? JobTag? @@ -16,7 +16,7 @@ the audio codec, the number of audio channels, the duration of the audio stream, and the sample rate. Audio metadata is returned in each page of information returned by GetSegmentDetection.

      JobId?: string

      Job identifier for the segment detection operation for which you want to obtain results. - The job identifer is returned by an initial call to StartSegmentDetection.

      JobStatus?: string

      Current status of the segment detection job.

      JobTag?: string

      A job identifier specified in the call to StartSegmentDetection and returned in the job + The job identifer is returned by an initial call to StartSegmentDetection.

      JobStatus?: VideoJobStatus

      Current status of the segment detection job.

      JobTag?: string

      A job identifier specified in the call to StartSegmentDetection and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of text.

      Segments?: SegmentDetection[]

      An array of segments detected in a video. The array is sorted by the segment types (TECHNICAL_CUE or SHOT) specified in the SegmentTypes input parameter of StartSegmentDetection. Within diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTerminologyCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTerminologyCommandInput.html index 9a8e7f81604..81bc4685414 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTerminologyCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTerminologyCommandInput.html @@ -1,8 +1,8 @@ GetTerminologyCommandInput | Amplify JS API Documentation

      The input for GetTerminologyCommand.

      -
      interface GetTerminologyCommandInput {
          Name: undefined | string;
          TerminologyDataFormat?: string;
      }

      Hierarchy (view full)

      Properties

      interface GetTerminologyCommandInput {
          Name: undefined | string;
          TerminologyDataFormat?: TerminologyDataFormat;
      }

      Hierarchy (view full)

      Properties

      Name: undefined | string

      The name of the custom terminology being retrieved.

      TerminologyDataFormat?: string

      The data format of the custom terminology being retrieved.

      +

      Properties

      Name: undefined | string

      The name of the custom terminology being retrieved.

      TerminologyDataFormat?: TerminologyDataFormat

      The data format of the custom terminology being retrieved.

      If you don't specify this parameter, Amazon Translate returns a file with the same format as the file that was imported to create the terminology.

      If you specify this parameter when you retrieve a multi-directional terminology resource, diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTerminologyRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTerminologyRequest.html index 05d8a6b6bd4..7febefe8817 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTerminologyRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTerminologyRequest.html @@ -1,7 +1,7 @@ GetTerminologyRequest | Amplify JS API Documentation -

      interface GetTerminologyRequest {
          Name: undefined | string;
          TerminologyDataFormat?: string;
      }

      Hierarchy (view full)

      Properties

      Name +
      interface GetTerminologyRequest {
          Name: undefined | string;
          TerminologyDataFormat?: TerminologyDataFormat;
      }

      Hierarchy (view full)

      Properties

      Name: undefined | string

      The name of the custom terminology being retrieved.

      TerminologyDataFormat?: string

      The data format of the custom terminology being retrieved.

      +

      Properties

      Name: undefined | string

      The name of the custom terminology being retrieved.

      TerminologyDataFormat?: TerminologyDataFormat

      The data format of the custom terminology being retrieved.

      If you don't specify this parameter, Amazon Translate returns a file with the same format as the file that was imported to create the terminology.

      If you specify this parameter when you retrieve a multi-directional terminology resource, diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTextDetectionCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTextDetectionCommandOutput.html index 2d2478e1b29..8e8bfd5ee17 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTextDetectionCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTextDetectionCommandOutput.html @@ -1,6 +1,6 @@ GetTextDetectionCommandOutput | Amplify JS API Documentation

      The output of GetTextDetectionCommand.

      -
      interface GetTextDetectionCommandOutput {
          $metadata: ResponseMetadata;
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          TextDetections?: TextDetectionResult[];
          TextModelVersion?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      interface GetTextDetectionCommandOutput {
          $metadata: ResponseMetadata;
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          TextDetections?: TextDetectionResult[];
          TextModelVersion?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      JobId?: string

      Job identifier for the text detection operation for which you want to obtain results. The - job identifer is returned by an initial call to StartTextDetection.

      JobStatus?: string

      Current status of the text detection job.

      JobTag?: string

      A job identifier specified in the call to StartTextDetection and returned in the job + job identifer is returned by an initial call to StartTextDetection.

      JobStatus?: VideoJobStatus

      Current status of the text detection job.

      JobTag?: string

      A job identifier specified in the call to StartTextDetection and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of text.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      TextDetections?: TextDetectionResult[]

      An array of text detected in the video. Each element contains the detected text, the time in milliseconds from the start of the video that the text was detected, and where it was detected on the screen.

      TextModelVersion?: string

      Version number of the text detection model that was used to detect text.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTextDetectionResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTextDetectionResponse.html index 7a08fd23e9d..c1a3ce43b03 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTextDetectionResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.GetTextDetectionResponse.html @@ -1,5 +1,5 @@ GetTextDetectionResponse | Amplify JS API Documentation -

      interface GetTextDetectionResponse {
          JobId?: string;
          JobStatus?: string;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          TextDetections?: TextDetectionResult[];
          TextModelVersion?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      JobId? +
      interface GetTextDetectionResponse {
          JobId?: string;
          JobStatus?: VideoJobStatus;
          JobTag?: string;
          NextToken?: string;
          StatusMessage?: string;
          TextDetections?: TextDetectionResult[];
          TextModelVersion?: string;
          Video?: Video;
          VideoMetadata?: VideoMetadata;
      }

      Hierarchy (view full)

      Properties

      JobId?: string

      Job identifier for the text detection operation for which you want to obtain results. The - job identifer is returned by an initial call to StartTextDetection.

      JobStatus?: string

      Current status of the text detection job.

      JobTag?: string

      A job identifier specified in the call to StartTextDetection and returned in the job + job identifer is returned by an initial call to StartTextDetection.

      JobStatus?: VideoJobStatus

      Current status of the text detection job.

      JobTag?: string

      A job identifier specified in the call to StartTextDetection and returned in the job completion notification sent to your Amazon Simple Notification Service topic.

      NextToken?: string

      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of text.

      StatusMessage?: string

      If the job fails, StatusMessage provides a descriptive error message.

      TextDetections?: TextDetectionResult[]

      An array of text detected in the video. Each element contains the detected text, the time in milliseconds from the start of the video that the text was detected, and where it was detected on the screen.

      TextModelVersion?: string

      Version number of the text detection model that was used to detect text.

      Video?: Video

      Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HttpHandlerOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HttpHandlerOptions.html index 5526a8b41b3..501382b2847 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HttpHandlerOptions.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HttpHandlerOptions.html @@ -1,7 +1,7 @@ HttpHandlerOptions | Amplify JS API Documentation

      Represents the options that may be passed to an Http Handler.

      -
      interface HttpHandlerOptions {
          abortSignal?: AbortSignal;
          requestTimeout?: number;
      }

      Properties

      interface HttpHandlerOptions {
          abortSignal?: AbortSignal | AbortSignal;
          requestTimeout?: number;
      }

      Properties

      abortSignal?: AbortSignal
      requestTimeout?: number

      The maximum time in milliseconds that the connection phase of a request +

      Properties

      abortSignal?: AbortSignal | AbortSignal
      requestTimeout?: number

      The maximum time in milliseconds that the connection phase of a request may take before the connection attempt is abandoned.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HttpMessage.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HttpMessage.html index bb488acf99e..f19182504c3 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HttpMessage.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HttpMessage.html @@ -1,6 +1,6 @@ HttpMessage | Amplify JS API Documentation

      Represents an HTTP message with headers and an optional static or streaming -body. bode: ArrayBuffer | ArrayBufferView | string | Uint8Array | Readable | ReadableStream;

      +body. body: ArrayBuffer | ArrayBufferView | string | Uint8Array | Readable | ReadableStream;

      interface HttpMessage {
          body?: any;
          headers: HeaderBag;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      Properties

      body?: any
      headers: HeaderBag
      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HumanLoopDataAttributes-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HumanLoopDataAttributes-1.html index 07ad56af52f..077eae4808e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HumanLoopDataAttributes-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HumanLoopDataAttributes-1.html @@ -1,5 +1,5 @@ HumanLoopDataAttributes | Amplify JS API Documentation

      Allows you to set attributes of the image. Currently, you can declare an image as free - of personally identifiable information and adult content.

      interface HumanLoopDataAttributes {
          ContentClassifiers?: string[];
      }

      Properties

      ContentClassifiers?: string[]

      Sets whether the input image is free of personally identifiable information or adult + of personally identifiable information and adult content.

      interface HumanLoopDataAttributes {
          ContentClassifiers?: ContentClassifier[];
      }

      Properties

      ContentClassifiers?: ContentClassifier[]

      Sets whether the input image is free of personally identifiable information or adult content.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HumanLoopDataAttributes.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HumanLoopDataAttributes.html index 8762f15f146..d1c04cd5874 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HumanLoopDataAttributes.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.HumanLoopDataAttributes.html @@ -1,4 +1,4 @@ HumanLoopDataAttributes | Amplify JS API Documentation

      Allows you to set attributes of the image. Currently, you can declare an image as free of - personally identifiable information.

      interface HumanLoopDataAttributes {
          ContentClassifiers?: string[];
      }

      Properties

      ContentClassifiers?: string[]

      Sets whether the input image is free of personally identifiable information.

      \ No newline at end of file + personally identifiable information.

      interface HumanLoopDataAttributes {
          ContentClassifiers?: ContentClassifier[];
      }

      Properties

      ContentClassifiers?: ContentClassifier[]

      Sets whether the input image is free of personally identifiable information.

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IdentifyEntity.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IdentifyEntity.html index 566d5187446..357caa77463 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IdentifyEntity.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IdentifyEntity.html @@ -1,7 +1,7 @@ IdentifyEntity | Amplify JS API Documentation -
      interface IdentifyEntity {
          ageRange?: EntityAgeRange;
          attributes?: FaceAttributes;
          boundingBox?: BoundingBox;
          landmarks?: (undefined | EntityLandmark)[];
          metadata?: EntityMetadata;
      }

      Properties

      ageRange? +
      interface IdentifyEntity {
          ageRange?: EntityAgeRange;
          attributes?: FaceAttributes;
          boundingBox?: BoundingBox;
          landmarks?: (undefined | EntityLandmark)[];
          metadata?: EntityMetadata;
      }

      Properties

      ageRange?: EntityAgeRange
      attributes?: FaceAttributes
      boundingBox?: BoundingBox
      landmarks?: (undefined | EntityLandmark)[]
      metadata?: EntityMetadata
      \ No newline at end of file +

      Properties

      ageRange?: EntityAgeRange
      attributes?: FaceAttributes
      boundingBox?: BoundingBox
      landmarks?: (undefined | EntityLandmark)[]
      metadata?: EntityMetadata
      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IdentityProvider.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IdentityProvider.html new file mode 100644 index 00000000000..b41331aaace --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IdentityProvider.html @@ -0,0 +1,2 @@ +IdentityProvider | Amplify JS API Documentation +
      interface IdentityProvider<IdentityT> ((identityProperties?) => Promise<IdentityT>)

      Type Parameters

      • Parameters

        • Optional identityProperties: Record<string, any>

        Returns Promise<IdentityT>

      \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ImportTerminologyCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ImportTerminologyCommandInput.html index c1b90db46de..cd7c44d510d 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ImportTerminologyCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ImportTerminologyCommandInput.html @@ -1,12 +1,12 @@ ImportTerminologyCommandInput | Amplify JS API Documentation

      The input for ImportTerminologyCommand.

      -
      interface ImportTerminologyCommandInput {
          Description?: string;
          EncryptionKey?: EncryptionKey;
          MergeStrategy: undefined | string;
          Name: undefined | string;
          Tags?: Tag[];
          TerminologyData: undefined | TerminologyData;
      }

      Hierarchy (view full)

      Properties

      interface ImportTerminologyCommandInput {
          Description?: string;
          EncryptionKey?: EncryptionKey;
          MergeStrategy: undefined | "OVERWRITE";
          Name: undefined | string;
          Tags?: Tag[];
          TerminologyData: undefined | TerminologyData;
      }

      Hierarchy (view full)

      Properties

      Description?: string

      The description of the custom terminology being imported.

      EncryptionKey?: EncryptionKey

      The encryption key for the custom terminology being imported.

      MergeStrategy: undefined | string

      The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE +

      Properties

      Description?: string

      The description of the custom terminology being imported.

      EncryptionKey?: EncryptionKey

      The encryption key for the custom terminology being imported.

      MergeStrategy: undefined | "OVERWRITE"

      The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE merge strategy is supported. In this case, the imported terminology will overwrite an existing terminology of the same name.

      Name: undefined | string

      The name of the custom terminology being imported.

      Tags?: Tag[]

      Tags to be associated with this resource. A tag is a key-value pair that adds metadata to a resource. Each tag key for the resource must be unique. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ImportTerminologyRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ImportTerminologyRequest.html index 3ca3dbed871..b9568ef60c8 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ImportTerminologyRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ImportTerminologyRequest.html @@ -1,11 +1,11 @@ ImportTerminologyRequest | Amplify JS API Documentation -

      interface ImportTerminologyRequest {
          Description?: string;
          EncryptionKey?: EncryptionKey;
          MergeStrategy: undefined | string;
          Name: undefined | string;
          Tags?: Tag[];
          TerminologyData: undefined | TerminologyData;
      }

      Hierarchy (view full)

      Properties

      Description? +
      interface ImportTerminologyRequest {
          Description?: string;
          EncryptionKey?: EncryptionKey;
          MergeStrategy: undefined | "OVERWRITE";
          Name: undefined | string;
          Tags?: Tag[];
          TerminologyData: undefined | TerminologyData;
      }

      Hierarchy (view full)

      Properties

      Description?: string

      The description of the custom terminology being imported.

      EncryptionKey?: EncryptionKey

      The encryption key for the custom terminology being imported.

      MergeStrategy: undefined | string

      The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE +

      Properties

      Description?: string

      The description of the custom terminology being imported.

      EncryptionKey?: EncryptionKey

      The encryption key for the custom terminology being imported.

      MergeStrategy: undefined | "OVERWRITE"

      The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE merge strategy is supported. In this case, the imported terminology will overwrite an existing terminology of the same name.

      Name: undefined | string

      The name of the custom terminology being imported.

      Tags?: Tag[]

      Tags to be associated with this resource. A tag is a key-value pair that adds metadata to a resource. Each tag key for the resource must be unique. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesCommandInput.html index 48ea73df8d3..aac61314b7a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesCommandInput.html @@ -1,13 +1,13 @@ IndexFacesCommandInput | Amplify JS API Documentation

      The input for IndexFacesCommand.

      -
      interface IndexFacesCommandInput {
          CollectionId: undefined | string;
          DetectionAttributes?: string[];
          ExternalImageId?: string;
          Image: undefined | Image;
          MaxFaces?: number;
          QualityFilter?: string;
      }

      Hierarchy (view full)

      Properties

      interface IndexFacesCommandInput {
          CollectionId: undefined | string;
          DetectionAttributes?: Attribute[];
          ExternalImageId?: string;
          Image: undefined | Image;
          MaxFaces?: number;
          QualityFilter?: QualityFilter;
      }

      Hierarchy (view full)

      Properties

      CollectionId: undefined | string

      The ID of an existing collection to which you want to add the faces that are detected - in the input images.

      DetectionAttributes?: string[]

      An array of facial attributes you want to be returned. A DEFAULT subset of + in the input images.

      DetectionAttributes?: Attribute[]

      An array of facial attributes you want to be returned. A DEFAULT subset of facial attributes - BoundingBox, Confidence, Pose, Quality, and Landmarks - will always be returned. You can request for specific facial attributes (in addition to the default list) - by using ["DEFAULT", @@ -31,7 +31,7 @@ bounding box size to the smallest size, in descending order.

      MaxFaces can be used with a collection associated with any version of the - face model.

      QualityFilter?: string

      A filter that specifies a quality bar for how much filtering is done to identify faces. + face model.

      QualityFilter?: QualityFilter

      A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't indexed. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. The default value is diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesCommandOutput.html index 047e55c31cf..242f400b7fe 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesCommandOutput.html @@ -1,6 +1,6 @@ IndexFacesCommandOutput | Amplify JS API Documentation

      The output of IndexFacesCommand.

      -
      interface IndexFacesCommandOutput {
          $metadata: ResponseMetadata;
          FaceModelVersion?: string;
          FaceRecords?: FaceRecord[];
          OrientationCorrection?: string;
          UnindexedFaces?: UnindexedFace[];
      }

      Hierarchy (view full)

      Properties

      interface IndexFacesCommandOutput {
          $metadata: ResponseMetadata;
          FaceModelVersion?: string;
          FaceRecords?: FaceRecord[];
          OrientationCorrection?: OrientationCorrection;
          UnindexedFaces?: UnindexedFace[];
      }

      Hierarchy (view full)

      Properties

      $metadata: ResponseMetadata

      Metadata pertaining to this request.

      FaceModelVersion?: string

      The version number of the face detection model that's associated with the input collection (CollectionId).

      FaceRecords?: FaceRecord[]

      An array of faces detected and added to the collection. For more information, - see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

      OrientationCorrection?: string

      If your collection is associated with a face detection model that's later than version + see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

      OrientationCorrection?: OrientationCorrection

      If your collection is associated with a face detection model that's later than version 3.0, the value of OrientationCorrection is always null and no orientation information is returned.

      If your collection is associated with a face detection model that's version 3.0 or diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesRequest.html index b801ecbab7c..06f89274f67 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesRequest.html @@ -1,12 +1,12 @@ IndexFacesRequest | Amplify JS API Documentation -

      interface IndexFacesRequest {
          CollectionId: undefined | string;
          DetectionAttributes?: string[];
          ExternalImageId?: string;
          Image: undefined | Image;
          MaxFaces?: number;
          QualityFilter?: string;
      }

      Hierarchy (view full)

      Properties

      CollectionId +
      interface IndexFacesRequest {
          CollectionId: undefined | string;
          DetectionAttributes?: Attribute[];
          ExternalImageId?: string;
          Image: undefined | Image;
          MaxFaces?: number;
          QualityFilter?: QualityFilter;
      }

      Hierarchy (view full)

      Properties

      CollectionId: undefined | string

      The ID of an existing collection to which you want to add the faces that are detected - in the input images.

      DetectionAttributes?: string[]

      An array of facial attributes you want to be returned. A DEFAULT subset of + in the input images.

      DetectionAttributes?: Attribute[]

      An array of facial attributes you want to be returned. A DEFAULT subset of facial attributes - BoundingBox, Confidence, Pose, Quality, and Landmarks - will always be returned. You can request for specific facial attributes (in addition to the default list) - by using ["DEFAULT", @@ -30,7 +30,7 @@ bounding box size to the smallest size, in descending order.

      MaxFaces can be used with a collection associated with any version of the - face model.

      QualityFilter?: string

      A filter that specifies a quality bar for how much filtering is done to identify faces. + face model.

      QualityFilter?: QualityFilter

      A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't indexed. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. The default value is diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesResponse.html index 0b52bab258b..d3138dfe65c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.IndexFacesResponse.html @@ -1,11 +1,11 @@ IndexFacesResponse | Amplify JS API Documentation -

      interface IndexFacesResponse {
          FaceModelVersion?: string;
          FaceRecords?: FaceRecord[];
          OrientationCorrection?: string;
          UnindexedFaces?: UnindexedFace[];
      }

      Hierarchy (view full)

      Properties

      FaceModelVersion? +
      interface IndexFacesResponse {
          FaceModelVersion?: string;
          FaceRecords?: FaceRecord[];
          OrientationCorrection?: OrientationCorrection;
          UnindexedFaces?: UnindexedFace[];
      }

      Hierarchy (view full)

      Properties

      FaceModelVersion?: string

      The version number of the face detection model that's associated with the input collection (CollectionId).

      FaceRecords?: FaceRecord[]

      An array of faces detected and added to the collection. For more information, - see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

      OrientationCorrection?: string

      If your collection is associated with a face detection model that's later than version + see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

      OrientationCorrection?: OrientationCorrection

      If your collection is associated with a face detection model that's later than version 3.0, the value of OrientationCorrection is always null and no orientation information is returned.

      If your collection is associated with a face detection model that's version 3.0 or diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.InputDataConfig-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.InputDataConfig-1.html index 91af66454cc..5759dc19201 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.InputDataConfig-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.InputDataConfig-1.html @@ -1,10 +1,10 @@ InputDataConfig | Amplify JS API Documentation

      The input properties for an inference job. The document reader config field applies - only to non-text inputs for custom analysis.

      interface InputDataConfig {
          DocumentReaderConfig?: DocumentReaderConfig;
          InputFormat?: string;
          S3Uri: undefined | string;
      }

      Properties

      DocumentReaderConfig? + only to non-text inputs for custom analysis.

      interface InputDataConfig {
          DocumentReaderConfig?: DocumentReaderConfig;
          InputFormat?: InputFormat;
          S3Uri: undefined | string;
      }

      Properties

      DocumentReaderConfig?: DocumentReaderConfig

      Provides configuration parameters to override the default actions for extracting text - from PDF documents and image files.

      InputFormat?: string

      Specifies how the text in an input file should be processed:

      + from PDF documents and image files.

      InputFormat?: InputFormat

      Specifies how the text in an input file should be processed:

      • diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KeyPhrasesDetectionJobFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KeyPhrasesDetectionJobFilter.html index 9ad701b9e1b..4919270e172 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KeyPhrasesDetectionJobFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KeyPhrasesDetectionJobFilter.html @@ -1,10 +1,10 @@ KeyPhrasesDetectionJobFilter | Amplify JS API Documentation

        Provides information for filtering a list of dominant language detection jobs. For more - information, see the operation.

        interface KeyPhrasesDetectionJobFilter {
            JobName?: string;
            JobStatus?: string;
            SubmitTimeAfter?: Date;
            SubmitTimeBefore?: Date;
        }

        Properties

        JobName? + information, see the operation.

        interface KeyPhrasesDetectionJobFilter {
            JobName?: string;
            JobStatus?: JobStatus;
            SubmitTimeAfter?: Date;
            SubmitTimeBefore?: Date;
        }

        Properties

        JobName?: string

        Filters on the name of the job.

        JobStatus?: string

        Filters the list of jobs based on job status. Returns only jobs with the specified +

        Properties

        JobName?: string

        Filters on the name of the job.

        JobStatus?: JobStatus

        Filters the list of jobs based on job status. Returns only jobs with the specified status.

        SubmitTimeAfter?: Date

        Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

        SubmitTimeBefore?: Date

        Filters the list of jobs based on the time that the job was submitted for processing. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KeyPhrasesDetectionJobProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KeyPhrasesDetectionJobProperties.html index 613a25bd2c6..843a164026a 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KeyPhrasesDetectionJobProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KeyPhrasesDetectionJobProperties.html @@ -1,5 +1,5 @@ KeyPhrasesDetectionJobProperties | Amplify JS API Documentation -

        Provides information about a key phrases detection job.

        interface KeyPhrasesDetectionJobProperties {
            DataAccessRoleArn?: string;
            EndTime?: Date;
            InputDataConfig?: InputDataConfig;
            JobArn?: string;
            JobId?: string;
            JobName?: string;
            JobStatus?: string;
            LanguageCode?: string;
            Message?: string;
            OutputDataConfig?: OutputDataConfig;
            SubmitTime?: Date;
            VolumeKmsKeyId?: string;
            VpcConfig?: VpcConfig;
        }

        Properties

        DataAccessRoleArn? +

        Provides information about a key phrases detection job.

        interface KeyPhrasesDetectionJobProperties {
            DataAccessRoleArn?: string;
            EndTime?: Date;
            InputDataConfig?: InputDataConfig;
            JobArn?: string;
            JobId?: string;
            JobName?: string;
            JobStatus?: JobStatus;
            LanguageCode?: LanguageCode;
            Message?: string;
            OutputDataConfig?: OutputDataConfig;
            SubmitTime?: Date;
            VolumeKmsKeyId?: string;
            VpcConfig?: VpcConfig;
        }

        Properties

        DataAccessRoleArn? EndTime? InputDataConfig? JobArn? @@ -23,8 +23,8 @@

        The following is an example job ARN:

        arn:aws:comprehend:us-west-2:111122223333:key-phrases-detection-job/1234abcd12ab34cd56ef1234567890ab -

        JobId?: string

        The identifier assigned to the key phrases detection job.

        JobName?: string

        The name that you assigned the key phrases detection job.

        JobStatus?: string

        The current status of the key phrases detection job. If the status is FAILED, - the Message field shows the reason for the failure.

        LanguageCode?: string

        The language code of the input documents.

        Message?: string

        A description of the status of a job.

        OutputDataConfig?: OutputDataConfig

        The output data configuration that you supplied when you created the key phrases detection +

        JobId?: string

        The identifier assigned to the key phrases detection job.

        JobName?: string

        The name that you assigned the key phrases detection job.

        JobStatus?: JobStatus

        The current status of the key phrases detection job. If the status is FAILED, + the Message field shows the reason for the failure.

        LanguageCode?: LanguageCode

        The language code of the input documents.

        Message?: string

        A description of the status of a job.

        OutputDataConfig?: OutputDataConfig

        The output data configuration that you supplied when you created the key phrases detection job.

        SubmitTime?: Date

        The time that the key phrases detection job was submitted for processing.

        VolumeKmsKeyId?: string

        ID for the KMS key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

        diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KnownGender.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KnownGender.html index 30a31331313..d4a4f7411ea 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KnownGender.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.KnownGender.html @@ -1,4 +1,4 @@ KnownGender | Amplify JS API Documentation

        The known gender identity for the celebrity that matches the provided ID. The known - gender identity can be Male, Female, Nonbinary, or Unlisted.

        interface KnownGender {
            Type?: string;
        }

        Properties

        Properties

        Type?: string

        A string value of the KnownGender info about the Celebrity.

        \ No newline at end of file + gender identity can be Male, Female, Nonbinary, or Unlisted.

        interface KnownGender {
            Type?: KnownGenderType;
        }

        Properties

        Properties

        A string value of the KnownGender info about the Celebrity.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Landmark.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Landmark.html index 6b3136fc929..439bb772c8e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Landmark.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Landmark.html @@ -1,8 +1,8 @@ Landmark | Amplify JS API Documentation -

        Indicates the location of the landmark on the face.

        interface Landmark {
            Type?: string;
            X?: number;
            Y?: number;
        }

        Properties

        Type? +

        Indicates the location of the landmark on the face.

        interface Landmark {
            Type?: LandmarkType;
            X?: number;
            Y?: number;
        }

        Properties

        Properties

        Type?: string

        Type of landmark.

        X?: number

        The x-coordinate of the landmark expressed as a ratio of the width of the image. The +

        Properties

        Type of landmark.

        X?: number

        The x-coordinate of the landmark expressed as a ratio of the width of the image. The x-coordinate is measured from the left-side of the image. For example, if the image is 700 pixels wide and the x-coordinate of the landmark is at 350 pixels, this value is 0.5.

        Y?: number

        The y-coordinate of the landmark expressed as a ratio of the height of the image. The diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.LendingDetection.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.LendingDetection.html index b40e5fcd5a5..7b698ce3003 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.LendingDetection.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.LendingDetection.html @@ -1,7 +1,7 @@ LendingDetection | Amplify JS API Documentation -

        The results extracted for a lending document.

        interface LendingDetection {
            Confidence?: number;
            Geometry?: Geometry;
            SelectionStatus?: string;
            Text?: string;
        }

        Properties

        Confidence? +

        The results extracted for a lending document.

        interface LendingDetection {
            Confidence?: number;
            Geometry?: Geometry;
            SelectionStatus?: SelectionStatus;
            Text?: string;
        }

        Properties

        Confidence?: number

        The confidence level for the text of a detected value in a lending document.

        Geometry?: Geometry

        Information about where the following items are located on a document page: detected - page, text, key-value pairs, tables, table cells, and selection elements.

        SelectionStatus?: string

        The selection status of a selection element, such as an option button or check box.

        Text?: string

        The text extracted for a detected value in a lending document.

        \ No newline at end of file + page, text, key-value pairs, tables, table cells, and selection elements.

        SelectionStatus?: SelectionStatus

        The selection status of a selection element, such as an option button or check box.

        Text?: string

        The text extracted for a detected value in a lending document.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.LexiconAttributes.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.LexiconAttributes.html index 2efc8fdc8d4..c924530208b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.LexiconAttributes.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.LexiconAttributes.html @@ -1,12 +1,12 @@ LexiconAttributes | Amplify JS API Documentation

        Contains metadata describing the lexicon such as the number of - lexemes, language code, and so on. For more information, see Managing Lexicons.

        interface LexiconAttributes {
            Alphabet?: string;
            LanguageCode?: string;
            LastModified?: Date;
            LexemesCount?: number;
            LexiconArn?: string;
            Size?: number;
        }

        Properties

        Alphabet? + lexemes, language code, and so on. For more information, see Managing Lexicons.

        interface LexiconAttributes {
            Alphabet?: string;
            LanguageCode?: LanguageCode;
            LastModified?: Date;
            LexemesCount?: number;
            LexiconArn?: string;
            Size?: number;
        }

        Properties

        Alphabet?: string

        Phonetic alphabet used in the lexicon. Valid values are - ipa and x-sampa.

        LanguageCode?: string

        Language code that the lexicon applies to. A lexicon with a + ipa and x-sampa.

        LanguageCode?: LanguageCode

        Language code that the lexicon applies to. A lexicon with a language code such as "en" would be applied to all English languages (en-GB, en-US, en-AUS, en-WLS, and so on.

        LastModified?: Date

        Date lexicon was last modified (a timestamp value).

        LexemesCount?: number

        Number of lexemes in the lexicon.

        LexiconArn?: string

        Amazon Resource Name (ARN) of the lexicon.

        Size?: number

        Total size of the lexicon, in characters.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsCommandInput.html new file mode 100644 index 00000000000..f5691b2176e --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsCommandInput.html @@ -0,0 +1,10 @@ +ListAdapterVersionsCommandInput | Amplify JS API Documentation +

        The input for ListAdapterVersionsCommand.

        +
        interface ListAdapterVersionsCommandInput {
            AdapterId?: string;
            AfterCreationTime?: Date;
            BeforeCreationTime?: Date;
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        AdapterId?: string

        A string containing a unique ID for the adapter to match for when listing adapter versions.

        AfterCreationTime?: Date

        Specifies the lower bound for the ListAdapterVersions operation. + Ensures ListAdapterVersions returns only adapter versions created after the specified creation time.

        BeforeCreationTime?: Date

        Specifies the upper bound for the ListAdapterVersions operation. + Ensures ListAdapterVersions returns only adapter versions created after the specified creation time.

        MaxResults?: number

        The maximum number of results to return when listing adapter versions.

        NextToken?: string

        Identifies the next page of results to return when listing adapter versions.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsCommandOutput.html new file mode 100644 index 00000000000..cb29896ae7a --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsCommandOutput.html @@ -0,0 +1,7 @@ +ListAdapterVersionsCommandOutput | Amplify JS API Documentation +

        The output of ListAdapterVersionsCommand.

        +
        interface ListAdapterVersionsCommandOutput {
            $metadata: ResponseMetadata;
            AdapterVersions?: AdapterVersionOverview[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        $metadata: ResponseMetadata

        Metadata pertaining to this request.

        +
        AdapterVersions?: AdapterVersionOverview[]

        Adapter versions that match the filtering criteria specified when calling ListAdapters.

        NextToken?: string

        Identifies the next page of results to return when listing adapter versions.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsRequest.html new file mode 100644 index 00000000000..36ce13d3a03 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsRequest.html @@ -0,0 +1,9 @@ +ListAdapterVersionsRequest | Amplify JS API Documentation +
        interface ListAdapterVersionsRequest {
            AdapterId?: string;
            AfterCreationTime?: Date;
            BeforeCreationTime?: Date;
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        AdapterId?: string

        A string containing a unique ID for the adapter to match for when listing adapter versions.

        AfterCreationTime?: Date

        Specifies the lower bound for the ListAdapterVersions operation. + Ensures ListAdapterVersions returns only adapter versions created after the specified creation time.

        BeforeCreationTime?: Date

        Specifies the upper bound for the ListAdapterVersions operation. + Ensures ListAdapterVersions returns only adapter versions created after the specified creation time.

        MaxResults?: number

        The maximum number of results to return when listing adapter versions.

        NextToken?: string

        Identifies the next page of results to return when listing adapter versions.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsResponse.html new file mode 100644 index 00000000000..d31c143502a --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdapterVersionsResponse.html @@ -0,0 +1,4 @@ +ListAdapterVersionsResponse | Amplify JS API Documentation +
        interface ListAdapterVersionsResponse {
            AdapterVersions?: AdapterVersionOverview[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        AdapterVersions?: AdapterVersionOverview[]

        Adapter versions that match the filtering criteria specified when calling ListAdapters.

        NextToken?: string

        Identifies the next page of results to return when listing adapter versions.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersCommandInput.html new file mode 100644 index 00000000000..df00dcc0f6c --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersCommandInput.html @@ -0,0 +1,9 @@ +ListAdaptersCommandInput | Amplify JS API Documentation +

        The input for ListAdaptersCommand.

        +
        interface ListAdaptersCommandInput {
            AfterCreationTime?: Date;
            BeforeCreationTime?: Date;
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        AfterCreationTime?: Date

        Specifies the lower bound for the ListAdapters operation. + Ensures ListAdapters returns only adapters created after the specified creation time.

        BeforeCreationTime?: Date

        Specifies the upper bound for the ListAdapters operation. + Ensures ListAdapters returns only adapters created before the specified creation time.

        MaxResults?: number

        The maximum number of results to return when listing adapters.

        NextToken?: string

        Identifies the next page of results to return when listing adapters.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersCommandOutput.html new file mode 100644 index 00000000000..175b824889f --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersCommandOutput.html @@ -0,0 +1,7 @@ +ListAdaptersCommandOutput | Amplify JS API Documentation +

        The output of ListAdaptersCommand.

        +
        interface ListAdaptersCommandOutput {
            $metadata: ResponseMetadata;
            Adapters?: AdapterOverview[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        $metadata: ResponseMetadata

        Metadata pertaining to this request.

        +
        Adapters?: AdapterOverview[]

        A list of adapters that matches the filtering criteria specified when calling ListAdapters.

        NextToken?: string

        Identifies the next page of results to return when listing adapters.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersRequest.html new file mode 100644 index 00000000000..a6b025849d9 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersRequest.html @@ -0,0 +1,8 @@ +ListAdaptersRequest | Amplify JS API Documentation +
        interface ListAdaptersRequest {
            AfterCreationTime?: Date;
            BeforeCreationTime?: Date;
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        AfterCreationTime?: Date

        Specifies the lower bound for the ListAdapters operation. + Ensures ListAdapters returns only adapters created after the specified creation time.

        BeforeCreationTime?: Date

        Specifies the upper bound for the ListAdapters operation. + Ensures ListAdapters returns only adapters created before the specified creation time.

        MaxResults?: number

        The maximum number of results to return when listing adapters.

        NextToken?: string

        Identifies the next page of results to return when listing adapters.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersResponse.html new file mode 100644 index 00000000000..785b2302a18 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListAdaptersResponse.html @@ -0,0 +1,4 @@ +ListAdaptersResponse | Amplify JS API Documentation +
        interface ListAdaptersResponse {
            Adapters?: AdapterOverview[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        Properties

        Adapters?: AdapterOverview[]

        A list of adapters that matches the filtering criteria specified when calling ListAdapters.

        NextToken?: string

        Identifies the next page of results to return when listing adapters.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesCommandInput.html index 6a07bcf14ea..965d26da3bf 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesCommandInput.html @@ -1,7 +1,7 @@ ListLanguagesCommandInput | Amplify JS API Documentation

        The input for ListLanguagesCommand.

        -
        interface ListLanguagesCommandInput {
            DisplayLanguageCode?: string;
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        interface ListLanguagesCommandInput {
            DisplayLanguageCode?: DisplayLanguageCode;
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        DisplayLanguageCode?: string

        The language code for the language to use to display the language names in the response. +

        Properties

        DisplayLanguageCode?: DisplayLanguageCode

        The language code for the language to use to display the language names in the response. The language code is en by default.

        MaxResults?: number

        The maximum number of results to return in each response.

        NextToken?: string

        Include the NextToken value to fetch the next group of supported languages.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesCommandOutput.html index 383a0998625..cdded680109 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesCommandOutput.html @@ -1,9 +1,9 @@ ListLanguagesCommandOutput | Amplify JS API Documentation

        The output of ListLanguagesCommand.

        -
        interface ListLanguagesCommandOutput {
            $metadata: ResponseMetadata;
            DisplayLanguageCode?: string;
            Languages?: Language[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        interface ListLanguagesCommandOutput {
            $metadata: ResponseMetadata;
            DisplayLanguageCode?: DisplayLanguageCode;
            Languages?: Language[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        $metadata: ResponseMetadata

        Metadata pertaining to this request.

        -
        DisplayLanguageCode?: string

        The language code passed in with the request.

        Languages?: Language[]

        The list of supported languages.

        NextToken?: string

        If the response does not include all remaining results, use the NextToken +

        DisplayLanguageCode?: DisplayLanguageCode

        The language code passed in with the request.

        Languages?: Language[]

        The list of supported languages.

        NextToken?: string

        If the response does not include all remaining results, use the NextToken in the next request to fetch the next group of supported languages.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesRequest.html index e8c7f930846..e43d85d7f29 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesRequest.html @@ -1,6 +1,6 @@ ListLanguagesRequest | Amplify JS API Documentation -
        interface ListLanguagesRequest {
            DisplayLanguageCode?: string;
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        DisplayLanguageCode? +
        interface ListLanguagesRequest {
            DisplayLanguageCode?: DisplayLanguageCode;
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        DisplayLanguageCode?: string

        The language code for the language to use to display the language names in the response. +

        Properties

        DisplayLanguageCode?: DisplayLanguageCode

        The language code for the language to use to display the language names in the response. The language code is en by default.

        MaxResults?: number

        The maximum number of results to return in each response.

        NextToken?: string

        Include the NextToken value to fetch the next group of supported languages.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesResponse.html index 585717baa2d..cb529f30d69 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListLanguagesResponse.html @@ -1,6 +1,6 @@ ListLanguagesResponse | Amplify JS API Documentation -
        interface ListLanguagesResponse {
            DisplayLanguageCode?: string;
            Languages?: Language[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        DisplayLanguageCode? +
        interface ListLanguagesResponse {
            DisplayLanguageCode?: DisplayLanguageCode;
            Languages?: Language[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        DisplayLanguageCode?: string

        The language code passed in with the request.

        Languages?: Language[]

        The list of supported languages.

        NextToken?: string

        If the response does not include all remaining results, use the NextToken +

        Properties

        DisplayLanguageCode?: DisplayLanguageCode

        The language code passed in with the request.

        Languages?: Language[]

        The list of supported languages.

        NextToken?: string

        If the response does not include all remaining results, use the NextToken in the next request to fetch the next group of supported languages.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsCommandInput.html new file mode 100644 index 00000000000..25dfec526eb --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsCommandInput.html @@ -0,0 +1,6 @@ +ListMediaAnalysisJobsCommandInput | Amplify JS API Documentation +

        The input for ListMediaAnalysisJobsCommand.

        +
        interface ListMediaAnalysisJobsCommandInput {
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        Properties

        MaxResults?: number

        The maximum number of results to return per paginated call. The largest value user can specify is 100. + If user specifies a value greater than 100, an InvalidParameterException error occurs. The default value is 100.

        NextToken?: string

        Pagination token, if the previous response was incomplete.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsCommandOutput.html new file mode 100644 index 00000000000..15c09ca5643 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsCommandOutput.html @@ -0,0 +1,7 @@ +ListMediaAnalysisJobsCommandOutput | Amplify JS API Documentation +

        The output of ListMediaAnalysisJobsCommand.

        +
        interface ListMediaAnalysisJobsCommandOutput {
            $metadata: ResponseMetadata;
            MediaAnalysisJobs: undefined | MediaAnalysisJobDescription[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        $metadata: ResponseMetadata

        Metadata pertaining to this request.

        +
        MediaAnalysisJobs: undefined | MediaAnalysisJobDescription[]

        Contains a list of all media analysis jobs.

        NextToken?: string

        Pagination token, if the previous response was incomplete.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsRequest.html new file mode 100644 index 00000000000..9e8789152be --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsRequest.html @@ -0,0 +1,5 @@ +ListMediaAnalysisJobsRequest | Amplify JS API Documentation +
        interface ListMediaAnalysisJobsRequest {
            MaxResults?: number;
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        Properties

        MaxResults?: number

        The maximum number of results to return per paginated call. The largest value user can specify is 100. + If user specifies a value greater than 100, an InvalidParameterException error occurs. The default value is 100.

        NextToken?: string

        Pagination token, if the previous response was incomplete.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsResponse.html new file mode 100644 index 00000000000..a993987cfda --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListMediaAnalysisJobsResponse.html @@ -0,0 +1,4 @@ +ListMediaAnalysisJobsResponse | Amplify JS API Documentation +
        interface ListMediaAnalysisJobsResponse {
            MediaAnalysisJobs: undefined | MediaAnalysisJobDescription[];
            NextToken?: string;
        }

        Hierarchy (view full)

        Properties

        MediaAnalysisJobs: undefined | MediaAnalysisJobDescription[]

        Contains a list of all media analysis jobs.

        NextToken?: string

        Pagination token, if the previous response was incomplete.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListSpeechSynthesisTasksCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListSpeechSynthesisTasksCommandInput.html index 00d131480c4..0679b7092de 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListSpeechSynthesisTasksCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListSpeechSynthesisTasksCommandInput.html @@ -1,9 +1,9 @@ ListSpeechSynthesisTasksCommandInput | Amplify JS API Documentation

        The input for ListSpeechSynthesisTasksCommand.

        -
        interface ListSpeechSynthesisTasksCommandInput {
            MaxResults?: number;
            NextToken?: string;
            Status?: string;
        }

        Hierarchy (view full)

        Properties

        interface ListSpeechSynthesisTasksCommandInput {
            MaxResults?: number;
            NextToken?: string;
            Status?: TaskStatus;
        }

        Hierarchy (view full)

        Properties

        MaxResults?: number

        Maximum number of speech synthesis tasks returned in a List operation.

        NextToken?: string

        The pagination token to use in the next request to continue the - listing of speech synthesis tasks.

        Status?: string

        Status of the speech synthesis tasks returned in a List + listing of speech synthesis tasks.

        Status?: TaskStatus

        Status of the speech synthesis tasks returned in a List operation

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListSpeechSynthesisTasksInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListSpeechSynthesisTasksInput.html index 49d7b3a3d3f..6e312eb78a9 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListSpeechSynthesisTasksInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListSpeechSynthesisTasksInput.html @@ -1,8 +1,8 @@ ListSpeechSynthesisTasksInput | Amplify JS API Documentation -
        interface ListSpeechSynthesisTasksInput {
            MaxResults?: number;
            NextToken?: string;
            Status?: string;
        }

        Hierarchy (view full)

        Properties

        MaxResults? +
        interface ListSpeechSynthesisTasksInput {
            MaxResults?: number;
            NextToken?: string;
            Status?: TaskStatus;
        }

        Hierarchy (view full)

        Properties

        MaxResults?: number

        Maximum number of speech synthesis tasks returned in a List operation.

        NextToken?: string

        The pagination token to use in the next request to continue the - listing of speech synthesis tasks.

        Status?: string

        Status of the speech synthesis tasks returned in a List + listing of speech synthesis tasks.

        Status?: TaskStatus

        Status of the speech synthesis tasks returned in a List operation

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandInput-2.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandInput-2.html index 239e72d391a..d6752cb5f75 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandInput-2.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandInput-2.html @@ -1,5 +1,4 @@ ListTagsForResourceCommandInput | Amplify JS API Documentation

        The input for ListTagsForResourceCommand.

        -
        interface ListTagsForResourceCommandInput {
            ResourceArn: undefined | string;
        }

        Hierarchy (view full)

        Properties

        Properties

        ResourceArn: undefined | string

        The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying. -

        \ No newline at end of file +
        interface ListTagsForResourceCommandInput {
            ResourceARN: undefined | string;
        }

        Hierarchy (view full)

        Properties

        Properties

        ResourceARN: undefined | string

        The Amazon Resource Name (ARN) that specifies the resource to list tags for.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandInput-3.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandInput-3.html new file mode 100644 index 00000000000..5e7fd53858e --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandInput-3.html @@ -0,0 +1,5 @@ +ListTagsForResourceCommandInput | Amplify JS API Documentation +

        The input for ListTagsForResourceCommand.

        +
        interface ListTagsForResourceCommandInput {
            ResourceArn: undefined | string;
        }

        Hierarchy (view full)

        Properties

        Properties

        ResourceArn: undefined | string

        The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying. +

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandOutput-2.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandOutput-2.html index 434c4595447..f1a9ad85bc2 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandOutput-2.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandOutput-2.html @@ -1,11 +1,6 @@ ListTagsForResourceCommandOutput | Amplify JS API Documentation

        The output of ListTagsForResourceCommand.

        -
        interface ListTagsForResourceCommandOutput {
            $metadata: ResponseMetadata;
            ResourceArn?: string;
            Tags?: Tag[];
        }

        Hierarchy (view full)

        Properties

        interface ListTagsForResourceCommandOutput {
            $metadata: ResponseMetadata;
            Tags?: Record<string, string>;
        }

        Hierarchy (view full)

        Properties

        Properties

        $metadata: ResponseMetadata

        Metadata pertaining to this request.

        -
        ResourceArn?: string

        The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are - querying.

        Tags?: Tag[]

        Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value - pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with - "Sales" as the key might be added to a resource to indicate its use by the sales department. -

        \ No newline at end of file +
        Tags?: Record<string, string>

        A set of tags (key-value pairs) that are part of the requested resource.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandOutput-3.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandOutput-3.html new file mode 100644 index 00000000000..4f09ac0f549 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceCommandOutput-3.html @@ -0,0 +1,11 @@ +ListTagsForResourceCommandOutput | Amplify JS API Documentation +

        The output of ListTagsForResourceCommand.

        +
        interface ListTagsForResourceCommandOutput {
            $metadata: ResponseMetadata;
            ResourceArn?: string;
            Tags?: Tag[];
        }

        Hierarchy (view full)

        Properties

        $metadata: ResponseMetadata

        Metadata pertaining to this request.

        +
        ResourceArn?: string

        The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are + querying.

        Tags?: Tag[]

        Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value + pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with + "Sales" as the key might be added to a resource to indicate its use by the sales department. +

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceRequest-2.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceRequest-2.html index 624c6a7d52d..c0c8937db16 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceRequest-2.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceRequest-2.html @@ -1,4 +1,3 @@ ListTagsForResourceRequest | Amplify JS API Documentation -
        interface ListTagsForResourceRequest {
            ResourceArn: undefined | string;
        }

        Hierarchy (view full)

        Properties

        Properties

        ResourceArn: undefined | string

        The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying. -

        \ No newline at end of file +
        interface ListTagsForResourceRequest {
            ResourceARN: undefined | string;
        }

        Hierarchy (view full)

        Properties

        Properties

        ResourceARN: undefined | string

        The Amazon Resource Name (ARN) that specifies the resource to list tags for.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceRequest-3.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceRequest-3.html new file mode 100644 index 00000000000..67cb55c04ea --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceRequest-3.html @@ -0,0 +1,4 @@ +ListTagsForResourceRequest | Amplify JS API Documentation +
        interface ListTagsForResourceRequest {
            ResourceArn: undefined | string;
        }

        Hierarchy (view full)

        Properties

        Properties

        ResourceArn: undefined | string

        The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying. +

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceResponse-2.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceResponse-2.html index c6b3fffa83c..a79b9d140b4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceResponse-2.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceResponse-2.html @@ -1,8 +1,3 @@ ListTagsForResourceResponse | Amplify JS API Documentation -
        interface ListTagsForResourceResponse {
            ResourceArn?: string;
            Tags?: Tag[];
        }

        Hierarchy (view full)

        Properties

        Properties

        ResourceArn?: string

        The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are - querying.

        Tags?: Tag[]

        Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value - pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with - "Sales" as the key might be added to a resource to indicate its use by the sales department. -

        \ No newline at end of file +
        interface ListTagsForResourceResponse {
            Tags?: Record<string, string>;
        }

        Hierarchy (view full)

        Properties

        Properties

        Tags?: Record<string, string>

        A set of tags (key-value pairs) that are part of the requested resource.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceResponse-3.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceResponse-3.html new file mode 100644 index 00000000000..a3ffdfa32c9 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ListTagsForResourceResponse-3.html @@ -0,0 +1,8 @@ +ListTagsForResourceResponse | Amplify JS API Documentation +
        interface ListTagsForResourceResponse {
            ResourceArn?: string;
            Tags?: Tag[];
        }

        Hierarchy (view full)

        Properties

        Properties

        ResourceArn?: string

        The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are + querying.

        Tags?: Tag[]

        Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value + pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with + "Sales" as the key might be added to a resource to indicate its use by the sales department. +

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MatchedUser.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MatchedUser.html index e4209d7e05f..c37932e64cb 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MatchedUser.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MatchedUser.html @@ -1,4 +1,4 @@ MatchedUser | Amplify JS API Documentation -

        Contains metadata for a UserID matched with a given face.

        interface MatchedUser {
            UserId?: string;
            UserStatus?: string;
        }

        Properties

        UserId? +

        Contains metadata for a UserID matched with a given face.

        interface MatchedUser {
            UserId?: string;
            UserStatus?: UserStatus;
        }

        Properties

        Properties

        UserId?: string

        A provided ID for the UserID. Unique within the collection.

        UserStatus?: string

        The status of the user matched to a provided FaceID.

        \ No newline at end of file +

        Properties

        UserId?: string

        A provided ID for the UserID. Unique within the collection.

        UserStatus?: UserStatus

        The status of the user matched to a provided FaceID.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisDetectModerationLabelsConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisDetectModerationLabelsConfig.html new file mode 100644 index 00000000000..57af3312b32 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisDetectModerationLabelsConfig.html @@ -0,0 +1,7 @@ +MediaAnalysisDetectModerationLabelsConfig | Amplify JS API Documentation +

        Configuration for Moderation Labels Detection.

        interface MediaAnalysisDetectModerationLabelsConfig {
            MinConfidence?: number;
            ProjectVersion?: string;
        }

        Properties

        MinConfidence?: number

        Specifies the minimum confidence level for the moderation labels to return. Amazon Rekognition + doesn't return any labels with a confidence level lower than this specified value. +

        ProjectVersion?: string

        Specifies the custom moderation model to be used during the label detection job. + If not provided the pre-trained model is used.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisInput.html new file mode 100644 index 00000000000..4dd18f85638 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisInput.html @@ -0,0 +1,8 @@ +MediaAnalysisInput | Amplify JS API Documentation +

        Contains input information for a media analysis job.

        interface MediaAnalysisInput {
            S3Object: undefined | S3Object;
        }

        Properties

        Properties

        S3Object: undefined | S3Object

        Provides the S3 bucket name and object name.

        +

        The region for the S3 bucket containing the S3 object must match the region you use for + Amazon Rekognition operations.

        +

        For Amazon Rekognition to process an S3 object, the user must have permission to + access the S3 object. For more information, see How Amazon Rekognition works with IAM in the + Amazon Rekognition Developer Guide.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobDescription.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobDescription.html new file mode 100644 index 00000000000..1c9ff010146 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobDescription.html @@ -0,0 +1,14 @@ +MediaAnalysisJobDescription | Amplify JS API Documentation +

        Description for a media analysis job.

        interface MediaAnalysisJobDescription {
            CompletionTimestamp?: Date;
            CreationTimestamp: undefined | Date;
            FailureDetails?: MediaAnalysisJobFailureDetails;
            Input: undefined | MediaAnalysisInput;
            JobId: undefined | string;
            JobName?: string;
            KmsKeyId?: string;
            ManifestSummary?: MediaAnalysisManifestSummary;
            OperationsConfig: undefined | MediaAnalysisOperationsConfig;
            OutputConfig: undefined | MediaAnalysisOutputConfig;
            Results?: MediaAnalysisResults;
            Status: undefined | MediaAnalysisJobStatus;
        }

        Properties

        CompletionTimestamp?: Date

        The Unix date and time when the job finished.

        CreationTimestamp: undefined | Date

        The Unix date and time when the job was started.

        Details about the error that resulted in failure of the job.

        Input: undefined | MediaAnalysisInput

        Reference to the input manifest that was provided in the job creation request.

        JobId: undefined | string

        The identifier for a media analysis job.

        JobName?: string

        The name of a media analysis job.

        KmsKeyId?: string

        KMS Key that was provided in the creation request.

        Provides statistics on input manifest and errors identified in the input manifest.

        OperationsConfig: undefined | MediaAnalysisOperationsConfig

        Operation configurations that were provided during job creation.

        OutputConfig: undefined | MediaAnalysisOutputConfig

        Output configuration that was provided in the creation request.

        Output manifest that contains prediction results.

        Status: undefined | MediaAnalysisJobStatus

        The status of the media analysis job being retrieved.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobFailureDetails.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobFailureDetails.html new file mode 100644 index 00000000000..aba4128b7d2 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisJobFailureDetails.html @@ -0,0 +1,4 @@ +MediaAnalysisJobFailureDetails | Amplify JS API Documentation +

        Details about the error that resulted in failure of the job.

        interface MediaAnalysisJobFailureDetails {
            Code?: MediaAnalysisJobFailureCode;
            Message?: string;
        }

        Properties

        Properties

        Error code for the failed job.

        Message?: string

        Human readable error message.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisManifestSummary.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisManifestSummary.html new file mode 100644 index 00000000000..a203d5cc62b --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisManifestSummary.html @@ -0,0 +1,8 @@ +MediaAnalysisManifestSummary | Amplify JS API Documentation +

        Summary that provides statistics on input manifest and errors identified in the input manifest.

        interface MediaAnalysisManifestSummary {
            S3Object?: S3Object;
        }

        Properties

        Properties

        S3Object?: S3Object

        Provides the S3 bucket name and object name.

        +

        The region for the S3 bucket containing the S3 object must match the region you use for + Amazon Rekognition operations.

        +

        For Amazon Rekognition to process an S3 object, the user must have permission to + access the S3 object. For more information, see How Amazon Rekognition works with IAM in the + Amazon Rekognition Developer Guide.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisModelVersions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisModelVersions.html new file mode 100644 index 00000000000..5e8eec95dd2 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisModelVersions.html @@ -0,0 +1,3 @@ +MediaAnalysisModelVersions | Amplify JS API Documentation +

        Object containing information about the model versions of selected features in a given job.

        interface MediaAnalysisModelVersions {
            Moderation?: string;
        }

        Properties

        Properties

        Moderation?: string

        The Moderation base model version.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisOperationsConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisOperationsConfig.html new file mode 100644 index 00000000000..d86ec79c76a --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisOperationsConfig.html @@ -0,0 +1,3 @@ +MediaAnalysisOperationsConfig | Amplify JS API Documentation +

        Configuration options for a media analysis job. Configuration is operation-specific.

        interface MediaAnalysisOperationsConfig {
            DetectModerationLabels?: MediaAnalysisDetectModerationLabelsConfig;
        }

        Properties

        Contains configuration options for a DetectModerationLabels job.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisOutputConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisOutputConfig.html new file mode 100644 index 00000000000..10c23c7d633 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisOutputConfig.html @@ -0,0 +1,5 @@ +MediaAnalysisOutputConfig | Amplify JS API Documentation +

        Output configuration provided in the job creation request.

        interface MediaAnalysisOutputConfig {
            S3Bucket: undefined | string;
            S3KeyPrefix?: string;
        }

        Properties

        Properties

        S3Bucket: undefined | string

        Specifies the Amazon S3 bucket to contain the output of the media analysis job.

        S3KeyPrefix?: string

        Specifies the Amazon S3 key prefix that comes after the name of the bucket you have + designated for storage.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisResults.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisResults.html new file mode 100644 index 00000000000..0e14496b867 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MediaAnalysisResults.html @@ -0,0 +1,9 @@ +MediaAnalysisResults | Amplify JS API Documentation +

        Contains the results for a media analysis job created with StartMediaAnalysisJob.

        interface MediaAnalysisResults {
            ModelVersions?: MediaAnalysisModelVersions;
            S3Object?: S3Object;
        }

        Properties

        Information about the model versions for the features selected in a given job.

        S3Object?: S3Object

        Provides the S3 bucket name and object name.

        +

        The region for the S3 bucket containing the S3 object must match the region you use for + Amazon Rekognition operations.

        +

        For Amazon Rekognition to process an S3 object, the user must have permission to + access the S3 object. For more information, see How Amazon Rekognition works with IAM in the + Amazon Rekognition Developer Guide.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MentionSentiment.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MentionSentiment.html index 1e19f9eafdb..0495a2c16e8 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MentionSentiment.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MentionSentiment.html @@ -1,6 +1,6 @@ MentionSentiment | Amplify JS API Documentation

        Contains the sentiment and sentiment score for one mention of an entity.

        -

        For more information about targeted sentiment, see Targeted sentiment.

        interface MentionSentiment {
            Sentiment?: string;
            SentimentScore?: SentimentScore;
        }

        Properties

        Sentiment? +

        For more information about targeted sentiment, see Targeted sentiment in the Amazon Comprehend Developer Guide.

        interface MentionSentiment {
            Sentiment?: SentimentType;
            SentimentScore?: SentimentScore;
        }

        Properties

        Sentiment?: string

        The sentiment of the mention.

        SentimentScore?: SentimentScore

        Describes the level of confidence that Amazon Comprehend has in the accuracy of its +

        Properties

        Sentiment?: SentimentType

        The sentiment of the mention.

        SentimentScore?: SentimentScore

        Describes the level of confidence that Amazon Comprehend has in the accuracy of its detection of sentiments.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MetadataBearer.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MetadataBearer.html index 84cbbeae64b..4a7d1dd522c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MetadataBearer.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MetadataBearer.html @@ -1,4 +1,4 @@ MetadataBearer | Amplify JS API Documentation -
        interface MetadataBearer {
            $metadata: ResponseMetadata;
        }

        Hierarchy (view full)

        Properties

        $metadata +
        interface MetadataBearer {
            $metadata: ResponseMetadata;
        }

        Hierarchy (view full)

        Properties

        Properties

        $metadata: ResponseMetadata

        Metadata pertaining to this request.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ModerationLabel.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ModerationLabel.html index a2d3e7ae766..36ba75b16db 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ModerationLabel.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ModerationLabel.html @@ -2,12 +2,13 @@

        Provides information about a single type of inappropriate, unwanted, or offensive content found in an image or video. Each type of moderated content has a label within a hierarchical taxonomy. For more information, see Content moderation in the Amazon Rekognition - Developer Guide.

        interface ModerationLabel {
            Confidence?: number;
            Name?: string;
            ParentName?: string;
        }

        Properties

        Confidence? + Developer Guide.

        interface ModerationLabel {
            Confidence?: number;
            Name?: string;
            ParentName?: string;
            TaxonomyLevel?: number;
        }

        Properties

        Confidence?: number

        Specifies the confidence that Amazon Rekognition has that the label has been correctly identified.

        If you don't specify the MinConfidence parameter in the call to DetectModerationLabels, the operation returns labels with a confidence value greater than or equal to 50 percent.

        Name?: string

        The label name for the type of unsafe content detected in the image.

        ParentName?: string

        The name for the parent label. Labels at the top level of the hierarchy have the parent - label "".

        \ No newline at end of file + label "".

        TaxonomyLevel?: number

        The level of the moderation label with regard to its taxonomy, from 1 to 3.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.NodeHttpHandlerOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.NodeHttpHandlerOptions.html new file mode 100644 index 00000000000..579c055a782 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.NodeHttpHandlerOptions.html @@ -0,0 +1,25 @@ +NodeHttpHandlerOptions | Amplify JS API Documentation +

        Represents the http options that can be passed to a node http client.

        +
        interface NodeHttpHandlerOptions {
            connectionTimeout?: number;
            httpAgent?: Agent | AgentOptions;
            httpsAgent?: Agent | AgentOptions;
            logger?: Logger;
            requestTimeout?: number;
            socketAcquisitionWarningTimeout?: number;
            socketTimeout?: number;
        }

        Properties

        connectionTimeout?: number

        The maximum time in milliseconds that the connection phase of a request +may take before the connection attempt is abandoned.

        +

        Defaults to 0, which disables the timeout.

        +
        httpAgent?: Agent | AgentOptions

        You can pass http.Agent or its constructor options.

        +
        httpsAgent?: Agent | AgentOptions

        You can pass https.Agent or its constructor options.

        +
        logger?: Logger

        Optional logger.

        +
        requestTimeout?: number

        The number of milliseconds a request can take before automatically being terminated. +Defaults to 0, which disables the timeout.

        +
        socketAcquisitionWarningTimeout?: number

        Delay before the NodeHttpHandler checks for socket exhaustion, +and emits a warning if the active sockets and enqueued request count is greater than +2x the maxSockets count.

        +

        Defaults to connectionTimeout + requestTimeout or 3000ms if those are not set.

        +
        socketTimeout?: number

        Deprecated

        Use requestTimeout

        +

        The maximum time in milliseconds that a socket may remain idle before it +is closed.

        +
        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.NormalizedValue.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.NormalizedValue.html index a22774d4236..158cfe63849 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.NormalizedValue.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.NormalizedValue.html @@ -1,5 +1,5 @@ NormalizedValue | Amplify JS API Documentation

        Contains information relating to dates in a document, including the type - of value, and the value.

        interface NormalizedValue {
            Value?: string;
            ValueType?: string;
        }

        Properties

        Value? + of value, and the value.

        interface NormalizedValue {
            Value?: string;
            ValueType?: "DATE";
        }

        Properties

        Properties

        Value?: string

        The value of the date, written as Year-Month-DayTHour:Minute:Second.

        ValueType?: string

        The normalized type of the value detected. In this case, DATE.

        \ No newline at end of file +

        Properties

        Value?: string

        The value of the date, written as Year-Month-DayTHour:Minute:Second.

        ValueType?: "DATE"

        The normalized type of the value detected. In this case, DATE.

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Object.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Object.html new file mode 100644 index 00000000000..8409d00a815 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Object.html @@ -0,0 +1,19 @@ +Object | Amplify JS API Documentation +
        interface Object {
            constructor: Function;
            hasOwnProperty(v): boolean;
            isPrototypeOf(v): boolean;
            propertyIsEnumerable(v): boolean;
            toLocaleString(): string;
            toString(): string;
            valueOf(): Object;
        }

        Properties

        constructor: Function

        The initial value of Object.prototype.constructor is the standard built-in Object constructor.

        +

        Methods

        • Determines whether an object has a property with the specified name.

          +

          Parameters

          Returns boolean

        • Determines whether an object exists in another object's prototype chain.

          +

          Parameters

          • v: Object

            Another object whose prototype chain is to be checked.

            +

          Returns boolean

        • Determines whether a specified property is enumerable.

          +

          Parameters

          Returns boolean

        • Returns a date converted to a string using the current locale.

          +

          Returns string

        • Returns a string representation of an object.

          +

          Returns string

        • Returns the primitive value of the specified object.

          +

          Returns Object

        \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.OutputDataConfig-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.OutputDataConfig-1.html index 63f2b2fdcd9..ac90ba09593 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.OutputDataConfig-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.OutputDataConfig-1.html @@ -3,7 +3,9 @@

        interface OutputDataConfig {
            KmsKeyId?: string;
            S3Uri: undefined | string;
        }

        Properties

        Properties

        KmsKeyId?: string

        ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the - output results from an analysis job. The KmsKeyId can be one of the following formats:

        + output results from an analysis job. Specify the Key Id of a symmetric key, because you cannot use an asymmetric + key for uploading data to S3.

        +

        The KmsKeyId can be one of the following formats:

        • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ParallelDataConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ParallelDataConfig.html index ff472d444dd..aa2e2bc0a16 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ParallelDataConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ParallelDataConfig.html @@ -1,5 +1,5 @@ ParallelDataConfig | Amplify JS API Documentation -

          Specifies the format and S3 location of the parallel data input file.

          interface ParallelDataConfig {
              Format: undefined | string;
              S3Uri: undefined | string;
          }

          Properties

          Properties

          Format: undefined | string

          The format of the parallel data input file.

          S3Uri: undefined | string

          The URI of the Amazon S3 folder that contains the parallel data input file. The folder +

          Specifies the format and S3 location of the parallel data input file.

          interface ParallelDataConfig {
              Format?: ParallelDataFormat;
              S3Uri?: string;
          }

          Properties

          Properties

          The format of the parallel data input file.

          S3Uri?: string

          The URI of the Amazon S3 folder that contains the parallel data input file. The folder must be in the same Region as the API endpoint you are calling.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ParallelDataProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ParallelDataProperties.html index 28d3a3954f4..df26681e9b1 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ParallelDataProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ParallelDataProperties.html @@ -1,5 +1,5 @@ ParallelDataProperties | Amplify JS API Documentation -

          The properties of a parallel data resource.

          interface ParallelDataProperties {
              Arn?: string;
              CreatedAt?: Date;
              Description?: string;
              EncryptionKey?: EncryptionKey;
              FailedRecordCount?: number;
              ImportedDataSize?: number;
              ImportedRecordCount?: number;
              LastUpdatedAt?: Date;
              LatestUpdateAttemptAt?: Date;
              LatestUpdateAttemptStatus?: string;
              Message?: string;
              Name?: string;
              ParallelDataConfig?: ParallelDataConfig;
              SkippedRecordCount?: number;
              SourceLanguageCode?: string;
              Status?: string;
              TargetLanguageCodes?: string[];
          }

          Properties

          Arn? +

          The properties of a parallel data resource.

          interface ParallelDataProperties {
              Arn?: string;
              CreatedAt?: Date;
              Description?: string;
              EncryptionKey?: EncryptionKey;
              FailedRecordCount?: number;
              ImportedDataSize?: number;
              ImportedRecordCount?: number;
              LastUpdatedAt?: Date;
              LatestUpdateAttemptAt?: Date;
              LatestUpdateAttemptStatus?: ParallelDataStatus;
              Message?: string;
              Name?: string;
              ParallelDataConfig?: ParallelDataConfig;
              SkippedRecordCount?: number;
              SourceLanguageCode?: string;
              Status?: ParallelDataStatus;
              TargetLanguageCodes?: string[];
          }

          Properties

          Properties

          Arn?: string

          The Amazon Resource Name (ARN) of the parallel data resource.

          CreatedAt?: Date

          The time at which the parallel data resource was created.

          Description?: string

          The description assigned to the parallel data resource.

          EncryptionKey?: EncryptionKey

          The encryption key used to encrypt this object.

          FailedRecordCount?: number

          The number of records unsuccessfully imported from the parallel data input file.

          ImportedDataSize?: number

          The number of UTF-8 characters that Amazon Translate imported from the parallel data input file. This number includes only the characters in your translation examples. It does not include characters that are used to format your file. For example, if you provided a - Translation Memory Exchange (.tmx) file, this number does not include the tags.

          ImportedRecordCount?: number

          The number of records successfully imported from the parallel data input file.

          LastUpdatedAt?: Date

          The time at which the parallel data resource was last updated.

          LatestUpdateAttemptAt?: Date

          The time that the most recent update was attempted.

          LatestUpdateAttemptStatus?: string

          The status of the most recent update attempt for the parallel data resource.

          Message?: string

          Additional information from Amazon Translate about the parallel data resource.

          Name?: string

          The custom name assigned to the parallel data resource.

          ParallelDataConfig?: ParallelDataConfig

          Specifies the format and S3 location of the parallel data input file.

          SkippedRecordCount?: number

          The number of items in the input file that Amazon Translate skipped when you created or + Translation Memory Exchange (.tmx) file, this number does not include the tags.

          ImportedRecordCount?: number

          The number of records successfully imported from the parallel data input file.

          LastUpdatedAt?: Date

          The time at which the parallel data resource was last updated.

          LatestUpdateAttemptAt?: Date

          The time that the most recent update was attempted.

          LatestUpdateAttemptStatus?: ParallelDataStatus

          The status of the most recent update attempt for the parallel data resource.

          Message?: string

          Additional information from Amazon Translate about the parallel data resource.

          Name?: string

          The custom name assigned to the parallel data resource.

          ParallelDataConfig?: ParallelDataConfig

          Specifies the format and S3 location of the parallel data input file.

          SkippedRecordCount?: number

          The number of items in the input file that Amazon Translate skipped when you created or updated the parallel data resource. For example, Amazon Translate skips empty records, empty - target texts, and empty lines.

          SourceLanguageCode?: string

          The source language of the translations in the parallel data file.

          Status?: string

          The status of the parallel data resource. When the parallel data is ready for you to use, + target texts, and empty lines.

          SourceLanguageCode?: string

          The source language of the translations in the parallel data file.

          The status of the parallel data resource. When the parallel data is ready for you to use, the status is ACTIVE.

          TargetLanguageCodes?: string[]

          The language codes for the target languages available in the parallel data file. All possible target languages are returned as an array.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PartOfSpeechTag.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PartOfSpeechTag.html index d49c02a41c3..3d815f047d2 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PartOfSpeechTag.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PartOfSpeechTag.html @@ -3,7 +3,7 @@ Amazon Comprehend has that the part of speech was correctly identified. For more information about the parts of speech that Amazon Comprehend can identify, see Syntax in the Comprehend Developer Guide. -

          interface PartOfSpeechTag {
              Score?: number;
              Tag?: string;
          }

          Properties

          interface PartOfSpeechTag {
              Score?: number;
              Tag?: PartOfSpeechTagType;
          }

          Properties

          Properties

          Score?: number

          The confidence that Amazon Comprehend has that the part of speech was correctly - identified.

          Tag?: string

          Identifies the part of speech that the token represents.

          \ No newline at end of file + identified.

          Identifies the part of speech that the token represents.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PeerCertificate.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PeerCertificate.html new file mode 100644 index 00000000000..cb4ff4600f5 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PeerCertificate.html @@ -0,0 +1,14 @@ +PeerCertificate | Amplify JS API Documentation +
          interface PeerCertificate {
              exponent: string;
              ext_key_usage: string[];
              fingerprint: string;
              infoAccess: {
                  [index: string]: string[] | undefined;
              };
              issuer: Certificate;
              modulus: string;
              raw: Buffer;
              serialNumber: string;
              subject: Certificate;
              subjectaltname: string;
              valid_from: string;
              valid_to: string;
          }

          Properties

          exponent: string
          ext_key_usage: string[]
          fingerprint: string
          infoAccess: {
              [index: string]: string[] | undefined;
          }

          Type declaration

          • [index: string]: string[] | undefined
          issuer: Certificate
          modulus: string
          raw: Buffer
          serialNumber: string
          subject: Certificate
          subjectaltname: string
          valid_from: string
          valid_to: string
          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionJobFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionJobFilter.html index 5a54e69c6b0..f6abb0ceb9b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionJobFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionJobFilter.html @@ -1,9 +1,9 @@ PiiEntitiesDetectionJobFilter | Amplify JS API Documentation -

          Provides information for filtering a list of PII entity detection jobs.

          interface PiiEntitiesDetectionJobFilter {
              JobName?: string;
              JobStatus?: string;
              SubmitTimeAfter?: Date;
              SubmitTimeBefore?: Date;
          }

          Properties

          JobName? +

          Provides information for filtering a list of PII entity detection jobs.

          interface PiiEntitiesDetectionJobFilter {
              JobName?: string;
              JobStatus?: JobStatus;
              SubmitTimeAfter?: Date;
              SubmitTimeBefore?: Date;
          }

          Properties

          JobName?: string

          Filters on the name of the job.

          JobStatus?: string

          Filters the list of jobs based on job status. Returns only jobs with the specified +

          Properties

          JobName?: string

          Filters on the name of the job.

          JobStatus?: JobStatus

          Filters the list of jobs based on job status. Returns only jobs with the specified status.

          SubmitTimeAfter?: Date

          Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

          SubmitTimeBefore?: Date

          Filters the list of jobs based on the time that the job was submitted for processing. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionJobProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionJobProperties.html index 14ba61f52de..b1e8d9e6747 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionJobProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntitiesDetectionJobProperties.html @@ -1,5 +1,5 @@ PiiEntitiesDetectionJobProperties | Amplify JS API Documentation -

          Provides information about a PII entities detection job.

          interface PiiEntitiesDetectionJobProperties {
              DataAccessRoleArn?: string;
              EndTime?: Date;
              InputDataConfig?: InputDataConfig;
              JobArn?: string;
              JobId?: string;
              JobName?: string;
              JobStatus?: string;
              LanguageCode?: string;
              Message?: string;
              Mode?: string;
              OutputDataConfig?: PiiOutputDataConfig;
              RedactionConfig?: RedactionConfig;
              SubmitTime?: Date;
          }

          Properties

          DataAccessRoleArn? +

          Provides information about a PII entities detection job.

          interface PiiEntitiesDetectionJobProperties {
              DataAccessRoleArn?: string;
              EndTime?: Date;
              InputDataConfig?: InputDataConfig;
              JobArn?: string;
              JobId?: string;
              JobName?: string;
              JobStatus?: JobStatus;
              LanguageCode?: LanguageCode;
              Message?: string;
              Mode?: PiiEntitiesDetectionMode;
              OutputDataConfig?: PiiOutputDataConfig;
              RedactionConfig?: RedactionConfig;
              SubmitTime?: Date;
          }

          Properties

          DataAccessRoleArn? EndTime? InputDataConfig? JobArn? @@ -22,8 +22,8 @@

          The following is an example job ARN:

          arn:aws:comprehend:us-west-2:111122223333:pii-entities-detection-job/1234abcd12ab34cd56ef1234567890ab -

          JobId?: string

          The identifier assigned to the PII entities detection job.

          JobName?: string

          The name that you assigned the PII entities detection job.

          JobStatus?: string

          The current status of the PII entities detection job. If the status is - FAILED, the Message field shows the reason for the failure.

          LanguageCode?: string

          The language code of the input documents

          Message?: string

          A description of the status of a job.

          Mode?: string

          Specifies whether the output provides the locations (offsets) of PII entities or a file in +

          JobId?: string

          The identifier assigned to the PII entities detection job.

          JobName?: string

          The name that you assigned the PII entities detection job.

          JobStatus?: JobStatus

          The current status of the PII entities detection job. If the status is + FAILED, the Message field shows the reason for the failure.

          LanguageCode?: LanguageCode

          The language code of the input documents.

          Message?: string

          A description of the status of a job.

          Specifies whether the output provides the locations (offsets) of PII entities or a file in which PII entities are redacted.

          OutputDataConfig?: PiiOutputDataConfig

          The output data configuration that you supplied when you created the PII entities detection job.

          RedactionConfig?: RedactionConfig

          Provides configuration parameters for PII entity redaction.

          This parameter is required if you set the Mode parameter to diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntity.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntity.html index 77354318a01..b8a0c06ec52 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntity.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PiiEntity.html @@ -1,9 +1,9 @@ PiiEntity | Amplify JS API Documentation -

          Provides information about a PII entity.

          interface PiiEntity {
              BeginOffset?: number;
              EndOffset?: number;
              Score?: number;
              Type?: string;
          }

          Properties

          BeginOffset? +

          Provides information about a PII entity.

          interface PiiEntity {
              BeginOffset?: number;
              EndOffset?: number;
              Score?: number;
              Type?: PiiEntityType;
          }

          Properties

          BeginOffset?: number

          The zero-based offset from the beginning of the source text to the first character in the entity.

          EndOffset?: number

          The zero-based offset from the beginning of the source text to the last character in the entity.

          Score?: number

          The level of confidence that Amazon Comprehend has in the accuracy of the - detection.

          Type?: string

          The entity's type.

          \ No newline at end of file + detection.

          The entity's type.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PollyClientConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PollyClientConfig.html index 2fdf54acd69..e34d57027b7 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PollyClientConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PollyClientConfig.html @@ -1,6 +1,6 @@ PollyClientConfig | Amplify JS API Documentation

          The configuration interface of PollyClient class constructor that set the region, credentials and other options.

          -
          interface PollyClientConfig {
              credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
              customUserAgent?: string | UserAgent;
              defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
              disableHostPrefix?: boolean;
              endpoint?: (string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>) & (string | Provider<string> | Endpoint | Provider<...> | EndpointV2 | Provider<...>);
              endpointProvider?: ((params, context?) => EndpointV2);
              extensions?: RuntimeExtension[];
              logger?: Logger;
              maxAttempts?: number | Provider<number>;
              region?: string | Provider<string>;
              requestHandler?: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler;
              retryMode?: string | Provider<string>;
              retryStrategy?: RetryStrategy | RetryStrategyV2;
              signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>);
              signingEscapePath?: boolean;
              signingRegion?: string;
              systemClockOffset?: number;
              tls?: boolean;
              useDualstackEndpoint?: boolean | Provider<boolean>;
              useFipsEndpoint?: boolean | Provider<boolean>;
          }

          Hierarchy (view full)

          Properties

          interface PollyClientConfig {
              credentials?: AwsCredentialIdentity | AwsCredentialIdentityProvider;
              customUserAgent?: string | UserAgent;
              defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
              disableHostPrefix?: boolean;
              endpoint?: (string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>) & (string | Provider<string> | Endpoint | Provider<...> | EndpointV2 | Provider<...>);
              endpointProvider?: ((params, context?) => EndpointV2);
              extensions?: RuntimeExtension[];
              logger?: Logger;
              maxAttempts?: number | Provider<number>;
              region?: string | Provider<string>;
              requestHandler?: (NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown> | RequestHandler<any, any, HttpHandlerOptions>) & HttpHandlerUserInput;
              retryMode?: string | Provider<string>;
              retryStrategy?: RetryStrategy | RetryStrategyV2;
              signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>);
              signingEscapePath?: boolean;
              signingRegion?: string;
              systemClockOffset?: number;
              tls?: boolean;
              useDualstackEndpoint?: boolean | Provider<boolean>;
              useFipsEndpoint?: boolean | Provider<boolean>;
          }

          Hierarchy (view full)

          Properties

          The credentials used to sign requests.

          +

          Properties

          The credentials used to sign requests.

          customUserAgent?: string | UserAgent

          The custom user agent header that would be appended to default one

          The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.

          disableHostPrefix?: boolean

          Disable dynamically changing the endpoint of the client based on the hostPrefix @@ -39,9 +39,10 @@

          logger?: Logger

          Optional logger for logging debug/info/warn/error.

          maxAttempts?: number | Provider<number>

          Value for how many times a request will be made at most in case of retry.

          region?: string | Provider<string>

          The AWS region to which this client will send requests

          -
          requestHandler?: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler

          The HTTP handler to use. Fetch in browser and Https in Nodejs.

          +
          requestHandler?: (NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown> | RequestHandler<any, any, HttpHandlerOptions>) & HttpHandlerUserInput

          The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

          retryMode?: string | Provider<string>

          Specifies which retry algorithm to use.

          -
          retryStrategy?: RetryStrategy | RetryStrategyV2

          The strategy to retry the request. Using built-in exponential backoff strategy by default.

          +
          retryStrategy?: RetryStrategy | RetryStrategyV2

          The strategy to retry the request. Using built-in exponential backoff strategy by default.

          signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>)

          The signer to use when signing requests.

          Type declaration

          signingEscapePath?: boolean

          Whether to escape request path when signing the request.

          signingRegion?: string

          The region where you want to sign your request against. This diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PollyClientResolvedConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PollyClientResolvedConfig.html index 48ff1c994aa..3a20442f6bc 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PollyClientResolvedConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.PollyClientResolvedConfig.html @@ -1,6 +1,6 @@ PollyClientResolvedConfig | Amplify JS API Documentation

          The resolved configuration interface of PollyClient class. This is resolved and normalized from the constructor configuration interface.

          -
          interface PollyClientResolvedConfig {
              credentials: MemoizedProvider<AwsCredentialIdentity>;
              customUserAgent?: UserAgent;
              defaultSigningName: string;
              defaultsMode: DefaultsMode | Provider<DefaultsMode>;
              disableHostPrefix: boolean;
              endpoint?: Provider<Endpoint> & (string | Provider<string> | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<...>);
              endpointProvider: ((params, context?) => EndpointV2);
              extensions: RuntimeExtension[];
              logger: Logger;
              maxAttempts: Provider<number> | number & Provider<number>;
              region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>);
              requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler & RequestHandler<any, any, {}>;
              retryMode: string | Provider<string>;
              retryStrategy: Provider<RetryStrategy | RetryStrategyV2>;
              signer: ((authScheme?) => Promise<RequestSigner>);
              signingEscapePath: boolean;
              systemClockOffset: number;
              tls: boolean;
              useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
              useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
          }

          Hierarchy (view full)

          Properties

          interface PollyClientResolvedConfig {
              credentials: AwsCredentialIdentityProvider;
              customUserAgent?: UserAgent;
              defaultSigningName: string;
              defaultsMode: DefaultsMode | Provider<DefaultsMode>;
              disableHostPrefix: boolean;
              endpoint?: Provider<Endpoint> & (string | Provider<string> | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<...>);
              endpointProvider: ((params, context?) => EndpointV2);
              extensions: RuntimeExtension[];
              logger: Logger;
              maxAttempts: Provider<number> | number & Provider<number>;
              region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>);
              requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandlerUserInput & RequestHandler<any, any, {}>;
              retryMode: string | Provider<string>;
              retryStrategy: Provider<RetryStrategy | RetryStrategyV2>;
              signer: ((authScheme?) => Promise<RequestSigner>);
              signingEscapePath: boolean;
              systemClockOffset: number;
              tls: boolean;
              useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
              useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
          }

          Hierarchy (view full)

          Properties

          Resolved value for input config AwsAuthInputConfig.credentials +

          Properties

          Resolved value for input config AwsSdkSigV4AuthInputConfig.credentials This provider MAY memoize the loaded credentials for certain period. -See MemoizedProvider for more information.

          +See MemoizedProvider for more information.

          customUserAgent?: UserAgent

          The custom user agent header that would be appended to default one

          defaultSigningName: string

          The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.

          disableHostPrefix: boolean

          Disable dynamically changing the endpoint of the client based on the hostPrefix @@ -34,13 +34,14 @@

          logger: Logger

          Optional logger for logging debug/info/warn/error.

          maxAttempts: Provider<number> | number & Provider<number>

          Value for how many times a request will be made at most in case of retry.

          region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>)

          The AWS region to which this client will send requests

          -
          requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler & RequestHandler<any, any, {}>

          The HTTP handler to use. Fetch in browser and Https in Nodejs.

          +
          requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandlerUserInput & RequestHandler<any, any, {}>

          The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

          retryMode: string | Provider<string>

          Specifies which retry algorithm to use.

          -

          Resolved value for input config RetryInputConfig.retryStrategy

          -
          signer: ((authScheme?) => Promise<RequestSigner>)

          Resolved value for input config AwsAuthInputConfig.signer

          -

          Type declaration

          signingEscapePath: boolean

          Resolved value for input config AwsAuthInputConfig.signingEscapePath

          -
          systemClockOffset: number

          Resolved value for input config AwsAuthInputConfig.systemClockOffset

          +

          Resolved value for input config RetryInputConfig.retryStrategy

          +
          signer: ((authScheme?) => Promise<RequestSigner>)

          Resolved value for input config AwsSdkSigV4AuthInputConfig.signer

          +

          Type declaration

          signingEscapePath: boolean

          Resolved value for input config AwsSdkSigV4AuthInputConfig.signingEscapePath

          +
          systemClockOffset: number

          Resolved value for input config AwsSdkSigV4AuthInputConfig.systemClockOffset

          tls: boolean

          Whether TLS is enabled for requests.

          Deprecated

          useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>)

          Enables IPv6/IPv4 dualstack endpoint.

          useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>)

          Enables FIPS compatible endpoints.

          diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProjectDescription.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProjectDescription.html index 54ad5b77fee..00134eca92c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProjectDescription.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProjectDescription.html @@ -1,8 +1,10 @@ ProjectDescription | Amplify JS API Documentation -

          A description of an Amazon Rekognition Custom Labels project. For more information, see DescribeProjects.

          interface ProjectDescription {
              CreationTimestamp?: Date;
              Datasets?: DatasetMetadata[];
              ProjectArn?: string;
              Status?: string;
          }

          Properties

          CreationTimestamp? +

          A description of an Amazon Rekognition Custom Labels project. For more information, see DescribeProjects.

          interface ProjectDescription {
              AutoUpdate?: ProjectAutoUpdate;
              CreationTimestamp?: Date;
              Datasets?: DatasetMetadata[];
              Feature?: CustomizationFeature;
              ProjectArn?: string;
              Status?: ProjectStatus;
          }

          Properties

          CreationTimestamp?: Date

          The Unix timestamp for the date and time that the project was created.

          Datasets?: DatasetMetadata[]

          +

          Properties

          AutoUpdate?: ProjectAutoUpdate

          Indicates whether automatic retraining will be attempted for the versions of the project. Applies only to adapters.

          CreationTimestamp?: Date

          The Unix timestamp for the date and time that the project was created.

          Datasets?: DatasetMetadata[]

          Information about the training and test datasets in the project. -

          ProjectArn?: string

          The Amazon Resource Name (ARN) of the project.

          Status?: string

          The current status of the project.

          \ No newline at end of file +

          Specifies the project that is being customized.

          ProjectArn?: string

          The Amazon Resource Name (ARN) of the project.

          Status?: ProjectStatus

          The current status of the project.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProjectVersionDescription.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProjectVersionDescription.html index db0b3889cf0..67ccbb3cc15 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProjectVersionDescription.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProjectVersionDescription.html @@ -1,7 +1,10 @@ ProjectVersionDescription | Amplify JS API Documentation -

          A description of a version of an Amazon Rekognition Custom Labels model.

          interface ProjectVersionDescription {
              BillableTrainingTimeInSeconds?: number;
              CreationTimestamp?: Date;
              EvaluationResult?: EvaluationResult;
              KmsKeyId?: string;
              ManifestSummary?: GroundTruthManifest;
              MaxInferenceUnits?: number;
              MinInferenceUnits?: number;
              OutputConfig?: OutputConfig;
              ProjectVersionArn?: string;
              SourceProjectVersionArn?: string;
              Status?: string;
              StatusMessage?: string;
              TestingDataResult?: TestingDataResult;
              TrainingDataResult?: TrainingDataResult;
              TrainingEndTimestamp?: Date;
          }

          Properties

          BillableTrainingTimeInSeconds? +

          A description of a version of a Amazon Rekognition project version.

          interface ProjectVersionDescription {
              BaseModelVersion?: string;
              BillableTrainingTimeInSeconds?: number;
              CreationTimestamp?: Date;
              EvaluationResult?: EvaluationResult;
              Feature?: CustomizationFeature;
              FeatureConfig?: CustomizationFeatureConfig;
              KmsKeyId?: string;
              ManifestSummary?: GroundTruthManifest;
              MaxInferenceUnits?: number;
              MinInferenceUnits?: number;
              OutputConfig?: OutputConfig;
              ProjectVersionArn?: string;
              SourceProjectVersionArn?: string;
              Status?: ProjectVersionStatus;
              StatusMessage?: string;
              TestingDataResult?: TestingDataResult;
              TrainingDataResult?: TrainingDataResult;
              TrainingEndTimestamp?: Date;
              VersionDescription?: string;
          }

          Properties

          BillableTrainingTimeInSeconds?: number

          The duration, in seconds, that you were billed for a successful training of the model version. - This value is only returned if the model version has been successfully trained.

          CreationTimestamp?: Date

          The Unix datetime for the date and time that training started.

          EvaluationResult?: EvaluationResult

          The training results. EvaluationResult is only returned if training is successful.

          KmsKeyId?: string

          The identifer for the AWS Key Management Service key (AWS KMS key) that was used to encrypt the model during training.

          ManifestSummary?: GroundTruthManifest

          The location of the summary manifest. The summary manifest provides aggregate data validation results for the training - and test datasets.

          MaxInferenceUnits?: number

          The maximum number of inference units Amazon Rekognition Custom Labels uses to auto-scale the model. - For more information, see StartProjectVersion.

          MinInferenceUnits?: number

          The minimum number of inference units used by the model. For more information, - see StartProjectVersion.

          OutputConfig?: OutputConfig

          The location where training results are saved.

          ProjectVersionArn?: string

          The Amazon Resource Name (ARN) of the model version.

          SourceProjectVersionArn?: string

          If the model version was copied from a different project, SourceProjectVersionArn contains the ARN of the source model version.

          Status?: string

          The current status of the model version.

          StatusMessage?: string

          A descriptive message for an error or warning that occurred.

          TestingDataResult?: TestingDataResult

          Contains information about the testing results.

          TrainingDataResult?: TrainingDataResult

          Contains information about the training results.

          TrainingEndTimestamp?: Date

          The Unix date and time that training of the model ended.

          \ No newline at end of file +VersionDescription? +

          Properties

          BaseModelVersion?: string

          The base detection model version used to create the project version.

          BillableTrainingTimeInSeconds?: number

          The duration, in seconds, that you were billed for a successful training of the model version. + This value is only returned if the model version has been successfully trained.

          CreationTimestamp?: Date

          The Unix datetime for the date and time that training started.

          EvaluationResult?: EvaluationResult

          The training results. EvaluationResult is only returned if training is successful.

          The feature that was customized.

          Feature specific configuration that was applied during training.

          KmsKeyId?: string

          The identifer for the AWS Key Management Service key (AWS KMS key) that was used to encrypt the model during training.

          ManifestSummary?: GroundTruthManifest

          The location of the summary manifest. The summary manifest provides aggregate data validation results for the training + and test datasets.

          MaxInferenceUnits?: number

          The maximum number of inference units Amazon Rekognition uses to auto-scale the model. Applies + only to Custom Labels projects. For more information, see StartProjectVersion.

          MinInferenceUnits?: number

          The minimum number of inference units used by the model. Applies only to Custom Labels + projects. For more information, see StartProjectVersion.

          OutputConfig?: OutputConfig

          The location where training results are saved.

          ProjectVersionArn?: string

          The Amazon Resource Name (ARN) of the project version.

          SourceProjectVersionArn?: string

          If the model version was copied from a different project, SourceProjectVersionArn contains the ARN of the source model version.

          The current status of the model version.

          StatusMessage?: string

          A descriptive message for an error or warning that occurred.

          TestingDataResult?: TestingDataResult

          Contains information about the testing results.

          TrainingDataResult?: TrainingDataResult

          Contains information about the training results.

          TrainingEndTimestamp?: Date

          The Unix date and time that training of the model ended.

          VersionDescription?: string

          A user-provided description of the project version.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentBodyPart.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentBodyPart.html index 659311dc36e..c07b4b271cc 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentBodyPart.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentBodyPart.html @@ -1,8 +1,8 @@ ProtectiveEquipmentBodyPart | Amplify JS API Documentation

          Information about a body part detected by DetectProtectiveEquipment that contains PPE. An array of ProtectiveEquipmentBodyPart objects is returned for each person detected by - DetectProtectiveEquipment.

          interface ProtectiveEquipmentBodyPart {
              Confidence?: number;
              EquipmentDetections?: EquipmentDetection[];
              Name?: string;
          }

          Properties

          Confidence? + DetectProtectiveEquipment.

          interface ProtectiveEquipmentBodyPart {
              Confidence?: number;
              EquipmentDetections?: EquipmentDetection[];
              Name?: BodyPart;
          }

          Properties

          Confidence?: number

          The confidence that Amazon Rekognition has in the detection accuracy of the detected body part. -

          EquipmentDetections?: EquipmentDetection[]

          An array of Personal Protective Equipment items detected around a body part.

          Name?: string

          The detected body part.

          \ No newline at end of file +

          EquipmentDetections?: EquipmentDetection[]

          An array of Personal Protective Equipment items detected around a body part.

          Name?: BodyPart

          The detected body part.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentSummarizationAttributes.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentSummarizationAttributes.html index 74256b86b24..679b7b58748 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentSummarizationAttributes.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ProtectiveEquipmentSummarizationAttributes.html @@ -5,7 +5,7 @@ DetectProtectiveEquipment. The summary includes which persons in an image were detected wearing the requested types of person protective equipment (PPE), which persons were detected as not wearing PPE, and the persons in which a determination could not be made. For more information, - see ProtectiveEquipmentSummary.

          interface ProtectiveEquipmentSummarizationAttributes {
              MinConfidence: undefined | number;
              RequiredEquipmentTypes: undefined | string[];
          }

          Properties

          interface ProtectiveEquipmentSummarizationAttributes {
              MinConfidence: undefined | number;
              RequiredEquipmentTypes: undefined | ProtectiveEquipmentType[];
          }

          Properties

          MinConfidence: undefined | number

          The minimum confidence level for which you want summary information. The confidence level applies to person detection, body part detection, equipment detection, and body part coverage. @@ -15,7 +15,7 @@ returns predictions only where the detection confidence is between 50% - 100%. If you specify a value that is less than 50%, the results are the same specifying a value of 50%.

          -

          RequiredEquipmentTypes: undefined | string[]

          An array of personal protective equipment types for which you want summary information. +

          RequiredEquipmentTypes: undefined | ProtectiveEquipmentType[]

          An array of personal protective equipment types for which you want summary information. If a person is detected wearing a required requipment type, the person's ID is added to the PersonsWithRequiredEquipment array field returned in ProtectiveEquipmentSummary by DetectProtectiveEquipment.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ReadableOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ReadableOptions.html index ea65bd8998a..c588a0d9cb4 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ReadableOptions.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.ReadableOptions.html @@ -1,5 +1,5 @@ ReadableOptions | Amplify JS API Documentation -
          interface ReadableOptions {
              destroy?: ((error, callback) => void);
              encoding?: string;
              highWaterMark?: number;
              objectMode?: boolean;
              read?: ((this, size?) => any);
          }

          Hierarchy (view full)

          Properties

          destroy? +
          interface ReadableOptions {
              destroy?: ((error, callback) => void);
              encoding?: string;
              highWaterMark?: number;
              objectMode?: boolean;
              read?: ((this, size?) => any);
          }

          Hierarchy (view full)

          Properties

          destroy? encoding? highWaterMark? objectMode? diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RecognizeCelebritiesCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RecognizeCelebritiesCommandOutput.html index 0a7743ef50e..791f2300c8b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RecognizeCelebritiesCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RecognizeCelebritiesCommandOutput.html @@ -1,6 +1,6 @@ RecognizeCelebritiesCommandOutput | Amplify JS API Documentation

          The output of RecognizeCelebritiesCommand.

          -
          interface RecognizeCelebritiesCommandOutput {
              $metadata: ResponseMetadata;
              CelebrityFaces?: Celebrity[];
              OrientationCorrection?: string;
              UnrecognizedFaces?: ComparedFace[];
          }

          Hierarchy (view full)

          Properties

          interface RecognizeCelebritiesCommandOutput {
              $metadata: ResponseMetadata;
              CelebrityFaces?: Celebrity[];
              OrientationCorrection?: OrientationCorrection;
              UnrecognizedFaces?: ComparedFace[];
          }

          Hierarchy (view full)

          Properties

          $metadata CelebrityFaces? OrientationCorrection? UnrecognizedFaces? @@ -10,7 +10,7 @@ Face, Confidence, Emotions, Landmarks, Pose, Quality, Smile, Id, KnownGender, MatchConfidence, Name, - Urls.

          OrientationCorrection?: string
          + Urls.

          OrientationCorrection?: OrientationCorrection

          Support for estimating image orientation using the the OrientationCorrection field has ceased as of August 2021. Any returned values for this field included in an API response will always be NULL.

          diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RecognizeCelebritiesResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RecognizeCelebritiesResponse.html index 16c06b36b92..c116e2d4d1b 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RecognizeCelebritiesResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RecognizeCelebritiesResponse.html @@ -1,5 +1,5 @@ RecognizeCelebritiesResponse | Amplify JS API Documentation -
          interface RecognizeCelebritiesResponse {
              CelebrityFaces?: Celebrity[];
              OrientationCorrection?: string;
              UnrecognizedFaces?: ComparedFace[];
          }

          Hierarchy (view full)

          Properties

          CelebrityFaces? +
          interface RecognizeCelebritiesResponse {
              CelebrityFaces?: Celebrity[];
              OrientationCorrection?: OrientationCorrection;
              UnrecognizedFaces?: ComparedFace[];
          }

          Hierarchy (view full)

          Properties

          CelebrityFaces?: Celebrity[]

          Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 64 @@ -7,7 +7,7 @@ Face, Confidence, Emotions, Landmarks, Pose, Quality, Smile, Id, KnownGender, MatchConfidence, Name, - Urls.

          OrientationCorrection?: string
          + Urls.

          OrientationCorrection?: OrientationCorrection

          Support for estimating image orientation using the the OrientationCorrection field has ceased as of August 2021. Any returned values for this field included in an API response will always be NULL.

          diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RedactionConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RedactionConfig.html index 1224e279334..efd6024c237 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RedactionConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RedactionConfig.html @@ -1,7 +1,7 @@ RedactionConfig | Amplify JS API Documentation -

          Provides configuration parameters for PII entity redaction.

          interface RedactionConfig {
              MaskCharacter?: string;
              MaskMode?: string;
              PiiEntityTypes?: string[];
          }

          Properties

          MaskCharacter? +

          Provides configuration parameters for PII entity redaction.

          interface RedactionConfig {
              MaskCharacter?: string;
              MaskMode?: PiiEntitiesDetectionMaskMode;
              PiiEntityTypes?: PiiEntityType[];
          }

          Properties

          MaskCharacter?: string

          A character that replaces each character in the redacted PII entity.

          MaskMode?: string

          Specifies whether the PII entity is redacted with the mask character or the entity - type.

          PiiEntityTypes?: string[]

          An array of the types of PII entities that Amazon Comprehend detects in the input text for +

          Properties

          MaskCharacter?: string

          A character that replaces each character in the redacted PII entity.

          Specifies whether the PII entity is redacted with the mask character or the entity + type.

          PiiEntityTypes?: PiiEntityType[]

          An array of the types of PII entities that Amazon Comprehend detects in the input text for your request.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RekognitionClientConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RekognitionClientConfig.html index 4d281cddaf8..1da3c67b336 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RekognitionClientConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RekognitionClientConfig.html @@ -1,6 +1,6 @@ RekognitionClientConfig | Amplify JS API Documentation

          The configuration interface of RekognitionClient class constructor that set the region, credentials and other options.

          -
          interface RekognitionClientConfig {
              credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
              customUserAgent?: string | UserAgent;
              defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
              disableHostPrefix?: boolean;
              endpoint?: (string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>) & (string | Provider<string> | Endpoint | Provider<...> | EndpointV2 | Provider<...>);
              endpointProvider?: ((params, context?) => EndpointV2);
              extensions?: RuntimeExtension[];
              logger?: Logger;
              maxAttempts?: number | Provider<number>;
              region?: string | Provider<string>;
              requestHandler?: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler;
              retryMode?: string | Provider<string>;
              retryStrategy?: RetryStrategy | RetryStrategyV2;
              signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>);
              signingEscapePath?: boolean;
              signingRegion?: string;
              systemClockOffset?: number;
              tls?: boolean;
              useDualstackEndpoint?: boolean | Provider<boolean>;
              useFipsEndpoint?: boolean | Provider<boolean>;
          }

          Hierarchy (view full)

          Properties

          interface RekognitionClientConfig {
              credentials?: AwsCredentialIdentity | AwsCredentialIdentityProvider;
              customUserAgent?: string | UserAgent;
              defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
              disableHostPrefix?: boolean;
              endpoint?: (string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>) & (string | Provider<string> | Endpoint | Provider<...> | EndpointV2 | Provider<...>);
              endpointProvider?: ((params, context?) => EndpointV2);
              extensions?: RuntimeExtension[];
              logger?: Logger;
              maxAttempts?: number | Provider<number>;
              region?: string | Provider<string>;
              requestHandler?: (NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown> | RequestHandler<any, any, HttpHandlerOptions>) & HttpHandlerUserInput;
              retryMode?: string | Provider<string>;
              retryStrategy?: RetryStrategy | RetryStrategyV2;
              signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>);
              signingEscapePath?: boolean;
              signingRegion?: string;
              systemClockOffset?: number;
              tls?: boolean;
              useDualstackEndpoint?: boolean | Provider<boolean>;
              useFipsEndpoint?: boolean | Provider<boolean>;
          }

          Hierarchy (view full)

          Properties

          The credentials used to sign requests.

          +

          Properties

          The credentials used to sign requests.

          customUserAgent?: string | UserAgent

          The custom user agent header that would be appended to default one

          The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.

          disableHostPrefix?: boolean

          Disable dynamically changing the endpoint of the client based on the hostPrefix @@ -39,9 +39,10 @@

          logger?: Logger

          Optional logger for logging debug/info/warn/error.

          maxAttempts?: number | Provider<number>

          Value for how many times a request will be made at most in case of retry.

          region?: string | Provider<string>

          The AWS region to which this client will send requests

          -
          requestHandler?: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler

          The HTTP handler to use. Fetch in browser and Https in Nodejs.

          +
          requestHandler?: (NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown> | RequestHandler<any, any, HttpHandlerOptions>) & HttpHandlerUserInput

          The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

          retryMode?: string | Provider<string>

          Specifies which retry algorithm to use.

          -
          retryStrategy?: RetryStrategy | RetryStrategyV2

          The strategy to retry the request. Using built-in exponential backoff strategy by default.

          +
          retryStrategy?: RetryStrategy | RetryStrategyV2

          The strategy to retry the request. Using built-in exponential backoff strategy by default.

          signer?: RequestSigner | ((authScheme?) => Promise<RequestSigner>)

          The signer to use when signing requests.

          Type declaration

          signingEscapePath?: boolean

          Whether to escape request path when signing the request.

          signingRegion?: string

          The region where you want to sign your request against. This diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RekognitionClientResolvedConfig.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RekognitionClientResolvedConfig.html index cddcb4ed71b..542cb6db836 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RekognitionClientResolvedConfig.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RekognitionClientResolvedConfig.html @@ -1,6 +1,6 @@ RekognitionClientResolvedConfig | Amplify JS API Documentation

          The resolved configuration interface of RekognitionClient class. This is resolved and normalized from the constructor configuration interface.

          -
          interface RekognitionClientResolvedConfig {
              credentials: MemoizedProvider<AwsCredentialIdentity>;
              customUserAgent?: UserAgent;
              defaultSigningName: string;
              defaultsMode: DefaultsMode | Provider<DefaultsMode>;
              disableHostPrefix: boolean;
              endpoint?: Provider<Endpoint> & (string | Provider<string> | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<...>);
              endpointProvider: ((params, context?) => EndpointV2);
              extensions: RuntimeExtension[];
              logger: Logger;
              maxAttempts: Provider<number> | number & Provider<number>;
              region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>);
              requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler & RequestHandler<any, any, {}>;
              retryMode: string | Provider<string>;
              retryStrategy: Provider<RetryStrategy | RetryStrategyV2>;
              signer: ((authScheme?) => Promise<RequestSigner>);
              signingEscapePath: boolean;
              systemClockOffset: number;
              tls: boolean;
              useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
              useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
          }

          Hierarchy (view full)

          Properties

          interface RekognitionClientResolvedConfig {
              credentials: AwsCredentialIdentityProvider;
              customUserAgent?: UserAgent;
              defaultSigningName: string;
              defaultsMode: DefaultsMode | Provider<DefaultsMode>;
              disableHostPrefix: boolean;
              endpoint?: Provider<Endpoint> & (string | Provider<string> | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<...>);
              endpointProvider: ((params, context?) => EndpointV2);
              extensions: RuntimeExtension[];
              logger: Logger;
              maxAttempts: Provider<number> | number & Provider<number>;
              region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>);
              requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandlerUserInput & RequestHandler<any, any, {}>;
              retryMode: string | Provider<string>;
              retryStrategy: Provider<RetryStrategy | RetryStrategyV2>;
              signer: ((authScheme?) => Promise<RequestSigner>);
              signingEscapePath: boolean;
              systemClockOffset: number;
              tls: boolean;
              useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
              useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>);
          }

          Hierarchy (view full)

          Properties

          Resolved value for input config AwsAuthInputConfig.credentials +

          Properties

          Resolved value for input config AwsSdkSigV4AuthInputConfig.credentials This provider MAY memoize the loaded credentials for certain period. -See MemoizedProvider for more information.

          +See MemoizedProvider for more information.

          customUserAgent?: UserAgent

          The custom user agent header that would be appended to default one

          defaultSigningName: string

          The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.

          disableHostPrefix: boolean

          Disable dynamically changing the endpoint of the client based on the hostPrefix @@ -34,13 +34,14 @@

          logger: Logger

          Optional logger for logging debug/info/warn/error.

          maxAttempts: Provider<number> | number & Provider<number>

          Value for how many times a request will be made at most in case of retry.

          region: (string | Provider<string>) & Provider<string> & (undefined | string | Provider<string>)

          The AWS region to which this client will send requests

          -
          requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandler & RequestHandler<any, any, {}>

          The HTTP handler to use. Fetch in browser and Https in Nodejs.

          +
          requestHandler: RequestHandler<any, any, HttpHandlerOptions> & HttpHandlerUserInput & RequestHandler<any, any, {}>

          The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

          retryMode: string | Provider<string>

          Specifies which retry algorithm to use.

          -

          Resolved value for input config RetryInputConfig.retryStrategy

          -
          signer: ((authScheme?) => Promise<RequestSigner>)

          Resolved value for input config AwsAuthInputConfig.signer

          -

          Type declaration

          signingEscapePath: boolean

          Resolved value for input config AwsAuthInputConfig.signingEscapePath

          -
          systemClockOffset: number

          Resolved value for input config AwsAuthInputConfig.systemClockOffset

          +

          Resolved value for input config RetryInputConfig.retryStrategy

          +
          signer: ((authScheme?) => Promise<RequestSigner>)

          Resolved value for input config AwsSdkSigV4AuthInputConfig.signer

          +

          Type declaration

          signingEscapePath: boolean

          Resolved value for input config AwsSdkSigV4AuthInputConfig.signingEscapePath

          +
          systemClockOffset: number

          Resolved value for input config AwsSdkSigV4AuthInputConfig.systemClockOffset

          tls: boolean

          Whether TLS is enabled for requests.

          Deprecated

          useDualstackEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>)

          Enables IPv6/IPv4 dualstack endpoint.

          useFipsEndpoint: (boolean | Provider<boolean>) & Provider<boolean> & (undefined | boolean | Provider<boolean>)

          Enables FIPS compatible endpoints.

          diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Relationship.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Relationship.html index 937284a2efc..5e0f03cd791 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Relationship.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.Relationship.html @@ -3,11 +3,11 @@ contains 0 or more Relation objects in a list, Relationships. For more information, see Block.

          The Type element provides the type of the relationship for all blocks in - the IDs array.

          interface Relationship {
              Ids?: string[];
              Type?: string;
          }

          Properties

          Ids? + the IDs array.

          interface Relationship {
              Ids?: string[];
              Type?: RelationshipType;
          }

          Properties

          Properties

          Ids?: string[]

          An array of IDs for related blocks. You can get the type of the relationship from the - Type element.

          Type?: string

          The type of relationship between the blocks in the IDs array and the current block. The + Type element.

          The type of relationship between the blocks in the IDs array and the current block. The following list describes the relationship types that can be returned.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RetryableTrait.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RetryableTrait.html new file mode 100644 index 00000000000..3c3a4b58500 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RetryableTrait.html @@ -0,0 +1,6 @@ +RetryableTrait | Amplify JS API Documentation +
          interface RetryableTrait {
              throttling?: boolean;
          }

          Properties

          Properties

          throttling?: boolean

          Indicates that the error is a retryable throttling error.

          +
          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-1.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-1.html index 3074e52d4fe..db12e264047 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-1.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-1.html @@ -1,3 +1,3 @@ RuntimeExtension | Amplify JS API Documentation -
          interface RuntimeExtension {
              configure(clientConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • clientConfiguration: PollyExtensionConfiguration

            Returns void

          \ No newline at end of file +
          interface RuntimeExtension {
              configure(extensionConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • extensionConfiguration: PollyExtensionConfiguration

            Returns void

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-2.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-2.html index 28d6e1ae448..f373d5231d0 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-2.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-2.html @@ -1,3 +1,3 @@ RuntimeExtension | Amplify JS API Documentation -
          interface RuntimeExtension {
              configure(clientConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • clientConfiguration: RekognitionExtensionConfiguration

            Returns void

          \ No newline at end of file +
          interface RuntimeExtension {
              configure(extensionConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • extensionConfiguration: RekognitionExtensionConfiguration

            Returns void

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-3.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-3.html index e50eca9d219..8e5c6c99fcb 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-3.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-3.html @@ -1,3 +1,3 @@ RuntimeExtension | Amplify JS API Documentation -
          interface RuntimeExtension {
              configure(clientConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • clientConfiguration: TextractExtensionConfiguration

            Returns void

          \ No newline at end of file +
          interface RuntimeExtension {
              configure(extensionConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • extensionConfiguration: TextractExtensionConfiguration

            Returns void

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-4.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-4.html index 15330fc4f71..aec323b4a43 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-4.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension-4.html @@ -1,3 +1,3 @@ RuntimeExtension | Amplify JS API Documentation -
          interface RuntimeExtension {
              configure(clientConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • clientConfiguration: ComprehendExtensionConfiguration

            Returns void

          \ No newline at end of file +
          interface RuntimeExtension {
              configure(extensionConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • extensionConfiguration: ComprehendExtensionConfiguration

            Returns void

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension.html index 22e0ec71747..ad00cc01384 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.RuntimeExtension.html @@ -1,3 +1,3 @@ RuntimeExtension | Amplify JS API Documentation -
          interface RuntimeExtension {
              configure(clientConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • clientConfiguration: TranslateExtensionConfiguration

            Returns void

          \ No newline at end of file +
          interface RuntimeExtension {
              configure(extensionConfiguration): void;
          }

          Methods

          Methods

          • Parameters

            • extensionConfiguration: TranslateExtensionConfiguration

            Returns void

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchFacesByImageCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchFacesByImageCommandInput.html index 407d4c6471e..88d79a3367d 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchFacesByImageCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchFacesByImageCommandInput.html @@ -1,6 +1,6 @@ SearchFacesByImageCommandInput | Amplify JS API Documentation

          The input for SearchFacesByImageCommand.

          -
          interface SearchFacesByImageCommandInput {
              CollectionId: undefined | string;
              FaceMatchThreshold?: number;
              Image: undefined | Image;
              MaxFaces?: number;
              QualityFilter?: string;
          }

          Hierarchy (view full)

          Properties

          interface SearchFacesByImageCommandInput {
              CollectionId: undefined | string;
              FaceMatchThreshold?: number;
              Image: undefined | Image;
              MaxFaces?: number;
              QualityFilter?: QualityFilter;
          }

          Hierarchy (view full)

          Properties

          CollectionId FaceMatchThreshold? Image MaxFaces? @@ -12,7 +12,7 @@

          If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

          MaxFaces?: number

          Maximum number of faces to return. The operation returns the maximum number of faces - with the highest confidence in the match.

          QualityFilter?: string

          A filter that specifies a quality bar for how much filtering is done to identify faces. + with the highest confidence in the match.

          QualityFilter?: QualityFilter

          A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't searched for in the collection. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchFacesByImageRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchFacesByImageRequest.html index 82c45618c74..92c2563545e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchFacesByImageRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchFacesByImageRequest.html @@ -1,5 +1,5 @@ SearchFacesByImageRequest | Amplify JS API Documentation -

          interface SearchFacesByImageRequest {
              CollectionId: undefined | string;
              FaceMatchThreshold?: number;
              Image: undefined | Image;
              MaxFaces?: number;
              QualityFilter?: string;
          }

          Hierarchy (view full)

          Properties

          CollectionId +
          interface SearchFacesByImageRequest {
              CollectionId: undefined | string;
              FaceMatchThreshold?: number;
              Image: undefined | Image;
              MaxFaces?: number;
              QualityFilter?: QualityFilter;
          }

          Hierarchy (view full)

          Properties

          CollectionId FaceMatchThreshold? Image MaxFaces? @@ -11,7 +11,7 @@

          If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

          MaxFaces?: number

          Maximum number of faces to return. The operation returns the maximum number of faces - with the highest confidence in the match.

          QualityFilter?: string

          A filter that specifies a quality bar for how much filtering is done to identify faces. + with the highest confidence in the match.

          QualityFilter?: QualityFilter

          A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't searched for in the collection. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchUsersByImageCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchUsersByImageCommandInput.html index f66b105f761..ffa5bd6f4f9 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchUsersByImageCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchUsersByImageCommandInput.html @@ -1,6 +1,6 @@ SearchUsersByImageCommandInput | Amplify JS API Documentation

          The input for SearchUsersByImageCommand.

          -
          interface SearchUsersByImageCommandInput {
              CollectionId: undefined | string;
              Image: undefined | Image;
              MaxUsers?: number;
              QualityFilter?: string;
              UserMatchThreshold?: number;
          }

          Hierarchy (view full)

          Properties

          interface SearchUsersByImageCommandInput {
              CollectionId: undefined | string;
              Image: undefined | Image;
              MaxUsers?: number;
              QualityFilter?: QualityFilter;
              UserMatchThreshold?: number;
          }

          Hierarchy (view full)

          Properties

          CollectionId Image MaxUsers? QualityFilter? @@ -23,6 +23,6 @@ then call the operation using the S3Object property.

          For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see How Amazon Rekognition works with IAM in the - Amazon Rekognition Developer Guide.

          MaxUsers?: number

          Maximum number of UserIDs to return.

          QualityFilter?: string

          A filter that specifies a quality bar for how much filtering is done to identify faces. + Amazon Rekognition Developer Guide.

          MaxUsers?: number

          Maximum number of UserIDs to return.

          QualityFilter?: QualityFilter

          A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't searched for in the collection. The default value is NONE.

          UserMatchThreshold?: number

          Specifies the minimum confidence in the UserID match to return. Default value is 80.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchUsersByImageRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchUsersByImageRequest.html index 7807d6e0afe..b2558c58a2e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchUsersByImageRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SearchUsersByImageRequest.html @@ -1,5 +1,5 @@ SearchUsersByImageRequest | Amplify JS API Documentation -
          interface SearchUsersByImageRequest {
              CollectionId: undefined | string;
              Image: undefined | Image;
              MaxUsers?: number;
              QualityFilter?: string;
              UserMatchThreshold?: number;
          }

          Hierarchy (view full)

          Properties

          CollectionId +
          interface SearchUsersByImageRequest {
              CollectionId: undefined | string;
              Image: undefined | Image;
              MaxUsers?: number;
              QualityFilter?: QualityFilter;
              UserMatchThreshold?: number;
          }

          Hierarchy (view full)

          Properties

          CollectionId Image MaxUsers? QualityFilter? @@ -22,6 +22,6 @@ then call the operation using the S3Object property.

          For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see How Amazon Rekognition works with IAM in the - Amazon Rekognition Developer Guide.

          MaxUsers?: number

          Maximum number of UserIDs to return.

          QualityFilter?: string

          A filter that specifies a quality bar for how much filtering is done to identify faces. + Amazon Rekognition Developer Guide.

          MaxUsers?: number

          Maximum number of UserIDs to return.

          QualityFilter?: QualityFilter

          A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't searched for in the collection. The default value is NONE.

          UserMatchThreshold?: number

          Specifies the minimum confidence in the UserID match to return. Default value is 80.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SecureContext.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SecureContext.html new file mode 100644 index 00000000000..25acdfa931d --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SecureContext.html @@ -0,0 +1,3 @@ +SecureContext | Amplify JS API Documentation +
          interface SecureContext {
              context: any;
          }

          Properties

          Properties

          context: any
          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SecureContextOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SecureContextOptions.html new file mode 100644 index 00000000000..4c2a2b7ef07 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SecureContextOptions.html @@ -0,0 +1,15 @@ +SecureContextOptions | Amplify JS API Documentation +
          interface SecureContextOptions {
              ca?: string | Buffer | (string | Buffer)[];
              cert?: string | Buffer | (string | Buffer)[];
              ciphers?: string;
              crl?: string | Buffer | (string | Buffer)[];
              dhparam?: string | Buffer;
              ecdhCurve?: string;
              honorCipherOrder?: boolean;
              key?: string | Buffer | (Object | Buffer)[];
              passphrase?: string;
              pfx?: string | Buffer | (string | Object | Buffer)[];
              secureOptions?: number;
              secureProtocol?: string;
              sessionIdContext?: string;
          }

          Hierarchy (view full)

          Properties

          ca?: string | Buffer | (string | Buffer)[]
          cert?: string | Buffer | (string | Buffer)[]
          ciphers?: string
          crl?: string | Buffer | (string | Buffer)[]
          dhparam?: string | Buffer
          ecdhCurve?: string
          honorCipherOrder?: boolean
          key?: string | Buffer | (Object | Buffer)[]
          passphrase?: string
          pfx?: string | Buffer | (string | Object | Buffer)[]
          secureOptions?: number
          secureProtocol?: string
          sessionIdContext?: string
          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SegmentDetection.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SegmentDetection.html index f642c82a432..d8fd793d69d 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SegmentDetection.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SegmentDetection.html @@ -2,7 +2,7 @@

          A technical cue or shot detection segment detected in a video. An array of SegmentDetection objects containing all segments detected in a stored video is returned by GetSegmentDetection. -

          interface SegmentDetection {
              DurationFrames?: number;
              DurationMillis?: number;
              DurationSMPTE?: string;
              EndFrameNumber?: number;
              EndTimecodeSMPTE?: string;
              EndTimestampMillis?: number;
              ShotSegment?: ShotSegment;
              StartFrameNumber?: number;
              StartTimecodeSMPTE?: string;
              StartTimestampMillis?: number;
              TechnicalCueSegment?: TechnicalCueSegment;
              Type?: string;
          }

          Properties

          interface SegmentDetection {
              DurationFrames?: number;
              DurationMillis?: number;
              DurationSMPTE?: string;
              EndFrameNumber?: number;
              EndTimecodeSMPTE?: string;
              EndTimestampMillis?: number;
              ShotSegment?: ShotSegment;
              StartFrameNumber?: number;
              StartTimecodeSMPTE?: string;
              StartTimestampMillis?: number;
              TechnicalCueSegment?: TechnicalCueSegment;
              Type?: SegmentType;
          }

          Properties

          DurationFrames? DurationMillis? DurationSMPTE? EndFrameNumber? @@ -27,4 +27,4 @@ StartTimecode is in HH:MM:SS:fr format (and ;fr for drop frame-rates).

          StartTimestampMillis?: number

          The start time of the detected segment in milliseconds from the start of the video. This value is rounded down. For example, if the actual timestamp is 100.6667 milliseconds, Amazon Rekognition Video returns a value of - 100 millis.

          TechnicalCueSegment?: TechnicalCueSegment

          If the segment is a technical cue, contains information about the technical cue.

          Type?: string

          The type of the segment. Valid values are TECHNICAL_CUE and SHOT.

          \ No newline at end of file + 100 millis.

          TechnicalCueSegment?: TechnicalCueSegment

          If the segment is a technical cue, contains information about the technical cue.

          The type of the segment. Valid values are TECHNICAL_CUE and SHOT.

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SegmentTypeInfo.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SegmentTypeInfo.html index 5d8d951479e..848dcef68e8 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SegmentTypeInfo.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SegmentTypeInfo.html @@ -1,5 +1,5 @@ SegmentTypeInfo | Amplify JS API Documentation

          Information about the type of a segment requested in a call to StartSegmentDetection. - An array of SegmentTypeInfo objects is returned by the response from GetSegmentDetection.

          interface SegmentTypeInfo {
              ModelVersion?: string;
              Type?: string;
          }

          Properties

          ModelVersion? + An array of SegmentTypeInfo objects is returned by the response from GetSegmentDetection.

          interface SegmentTypeInfo {
              ModelVersion?: string;
              Type?: SegmentType;
          }

          Properties

          Properties

          ModelVersion?: string

          The version of the model used to detect segments.

          Type?: string

          The type of a segment (technical cue or shot detection).

          \ No newline at end of file +

          Properties

          ModelVersion?: string

          The version of the model used to detect segments.

          The type of a segment (technical cue or shot detection).

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SentimentDetectionJobFilter.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SentimentDetectionJobFilter.html index 8b9a8634d24..a5dea4c8a68 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SentimentDetectionJobFilter.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SentimentDetectionJobFilter.html @@ -1,10 +1,10 @@ SentimentDetectionJobFilter | Amplify JS API Documentation

          Provides information for filtering a list of dominant language detection jobs. For more - information, see the operation.

          interface SentimentDetectionJobFilter {
              JobName?: string;
              JobStatus?: string;
              SubmitTimeAfter?: Date;
              SubmitTimeBefore?: Date;
          }

          Properties

          JobName? + information, see the operation.

          interface SentimentDetectionJobFilter {
              JobName?: string;
              JobStatus?: JobStatus;
              SubmitTimeAfter?: Date;
              SubmitTimeBefore?: Date;
          }

          Properties

          JobName?: string

          Filters on the name of the job.

          JobStatus?: string

          Filters the list of jobs based on job status. Returns only jobs with the specified +

          Properties

          JobName?: string

          Filters on the name of the job.

          JobStatus?: JobStatus

          Filters the list of jobs based on job status. Returns only jobs with the specified status.

          SubmitTimeAfter?: Date

          Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

          SubmitTimeBefore?: Date

          Filters the list of jobs based on the time that the job was submitted for processing. diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SentimentDetectionJobProperties.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SentimentDetectionJobProperties.html index cb72fe6ad2e..232a60bdaac 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SentimentDetectionJobProperties.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SentimentDetectionJobProperties.html @@ -1,5 +1,5 @@ SentimentDetectionJobProperties | Amplify JS API Documentation -

          Provides information about a sentiment detection job.

          interface SentimentDetectionJobProperties {
              DataAccessRoleArn?: string;
              EndTime?: Date;
              InputDataConfig?: InputDataConfig;
              JobArn?: string;
              JobId?: string;
              JobName?: string;
              JobStatus?: string;
              LanguageCode?: string;
              Message?: string;
              OutputDataConfig?: OutputDataConfig;
              SubmitTime?: Date;
              VolumeKmsKeyId?: string;
              VpcConfig?: VpcConfig;
          }

          Properties

          DataAccessRoleArn? +

          Provides information about a sentiment detection job.

          interface SentimentDetectionJobProperties {
              DataAccessRoleArn?: string;
              EndTime?: Date;
              InputDataConfig?: InputDataConfig;
              JobArn?: string;
              JobId?: string;
              JobName?: string;
              JobStatus?: JobStatus;
              LanguageCode?: LanguageCode;
              Message?: string;
              OutputDataConfig?: OutputDataConfig;
              SubmitTime?: Date;
              VolumeKmsKeyId?: string;
              VpcConfig?: VpcConfig;
          }

          Properties

          DataAccessRoleArn? EndTime? InputDataConfig? JobArn? @@ -23,8 +23,8 @@

          The following is an example job ARN:

          arn:aws:comprehend:us-west-2:111122223333:sentiment-detection-job/1234abcd12ab34cd56ef1234567890ab -

          JobId?: string

          The identifier assigned to the sentiment detection job.

          JobName?: string

          The name that you assigned to the sentiment detection job

          JobStatus?: string

          The current status of the sentiment detection job. If the status is FAILED, - the Messages field shows the reason for the failure.

          LanguageCode?: string

          The language code of the input documents.

          Message?: string

          A description of the status of a job.

          OutputDataConfig?: OutputDataConfig

          The output data configuration that you supplied when you created the sentiment detection +

          JobId?: string

          The identifier assigned to the sentiment detection job.

          JobName?: string

          The name that you assigned to the sentiment detection job

          JobStatus?: JobStatus

          The current status of the sentiment detection job. If the status is FAILED, + the Messages field shows the reason for the failure.

          LanguageCode?: LanguageCode

          The language code of the input documents.

          Message?: string

          A description of the status of a job.

          OutputDataConfig?: OutputDataConfig

          The output data configuration that you supplied when you created the sentiment detection job.

          SubmitTime?: Date

          The time that the sentiment detection job was submitted for processing.

          VolumeKmsKeyId?: string

          ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

          diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SignatureV4Init.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SignatureV4Init.html index 3cea24d5d73..15b6f5a926c 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SignatureV4Init.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SignatureV4Init.html @@ -1,9 +1,9 @@ SignatureV4Init | Amplify JS API Documentation -
          interface SignatureV4Init {
              applyChecksum?: boolean;
              credentials: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
              region: string | Provider<string>;
              service: string;
              sha256?: ChecksumConstructor | HashConstructor;
              uriEscapePath?: boolean;
          }

          Properties

          applyChecksum? +
          interface SignatureV4Init {
              applyChecksum?: boolean;
              credentials: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
              region: string | Provider<string>;
              service: string;
              sha256: ChecksumConstructor | HashConstructor;
              uriEscapePath?: boolean;
          }

          Properties

          applyChecksum?: boolean

          Whether to calculate a checksum of the request body and include it as either a request header (when signing) or as a query string parameter @@ -16,7 +16,7 @@

          region: string | Provider<string>

          The region name or a function that returns a promise that will be resolved with the region name.

          service: string

          The service signing name.

          -

          A constructor function for a hash object that will calculate SHA-256 HMAC +

          A constructor function for a hash object that will calculate SHA-256 HMAC checksums.

          uriEscapePath?: boolean

          Whether to uri-escape the request URI path as part of computing the canonical request string. This is required for every AWS service, except diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SmithyConfiguration.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SmithyConfiguration.html index 2d6ab6b6c8a..0f9e7c61e14 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SmithyConfiguration.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SmithyConfiguration.html @@ -1,3 +1,3 @@ SmithyConfiguration | Amplify JS API Documentation -

          interface SmithyConfiguration<HandlerOptions> {
              requestHandler: RequestHandler<any, any, HandlerOptions>;
          }

          Type Parameters

          • HandlerOptions

          Properties

          Properties

          requestHandler: RequestHandler<any, any, HandlerOptions>
          \ No newline at end of file +
          interface SmithyConfiguration<HandlerOptions> {
              requestHandler: RequestHandler<any, any, HandlerOptions> | NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown>;
          }

          Type Parameters

          • HandlerOptions

          Properties

          Properties

          requestHandler: RequestHandler<any, any, HandlerOptions> | NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown>
          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SmithyException.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SmithyException.html new file mode 100644 index 00000000000..3189b373177 --- /dev/null +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.SmithyException.html @@ -0,0 +1,14 @@ +SmithyException | Amplify JS API Documentation +

          Type that is implemented by all Smithy shapes marked with the +error trait.

          +

          Deprecated

          interface SmithyException {
              $fault: "client" | "server";
              $response?: HttpResponse;
              $retryable?: RetryableTrait;
              $service?: string;
              name: string;
          }

          Properties

          $fault: "client" | "server"

          Whether the client or server are at fault.

          +
          $response?: HttpResponse

          Reference to low-level HTTP response object.

          +
          $retryable?: RetryableTrait

          Indicates that an error MAY be retried by the client.

          +
          $service?: string

          The service that encountered the exception.

          +
          name: string

          The shape ID name of the exception.

          +
          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentAnalysisCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentAnalysisCommandInput.html index 711b67884d3..bd414943a7e 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentAnalysisCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentAnalysisCommandInput.html @@ -1,6 +1,7 @@ StartDocumentAnalysisCommandInput | Amplify JS API Documentation

          The input for StartDocumentAnalysisCommand.

          -
          interface StartDocumentAnalysisCommandInput {
              ClientRequestToken?: string;
              DocumentLocation: undefined | DocumentLocation;
              FeatureTypes: undefined | string[];
              JobTag?: string;
              KMSKeyId?: string;
              NotificationChannel?: NotificationChannel;
              OutputConfig?: OutputConfig;
              QueriesConfig?: QueriesConfig;
          }

          Hierarchy (view full)

          Properties

          interface StartDocumentAnalysisCommandInput {
              AdaptersConfig?: AdaptersConfig;
              ClientRequestToken?: string;
              DocumentLocation: undefined | DocumentLocation;
              FeatureTypes: undefined | FeatureType[];
              JobTag?: string;
              KMSKeyId?: string;
              NotificationChannel?: NotificationChannel;
              OutputConfig?: OutputConfig;
              QueriesConfig?: QueriesConfig;
          }

          Hierarchy (view full)

          Properties

          ClientRequestToken?: string

          The idempotent token that you use to identify the start request. If you use the same +

          Properties

          AdaptersConfig?: AdaptersConfig

          Specifies the adapter to be used when analyzing a document.

          ClientRequestToken?: string

          The idempotent token that you use to identify the start request. If you use the same token with multiple StartDocumentAnalysis requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see - Calling Amazon Textract Asynchronous Operations.

          DocumentLocation: undefined | DocumentLocation

          The location of the document to be processed.

          FeatureTypes: undefined | string[]

          A list of the types of analysis to perform. Add TABLES to the list to return information + Calling Amazon Textract Asynchronous Operations.

          DocumentLocation: undefined | DocumentLocation

          The location of the document to be processed.

          FeatureTypes: undefined | FeatureType[]

          A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All lines and words detected in the document are @@ -26,4 +27,4 @@ customer bucket. When this parameter is not enabled, the result will be encrypted server side,using SSE-S3.

          NotificationChannel?: NotificationChannel

          The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

          OutputConfig?: OutputConfig

          Sets if the output will go to a customer defined bucket. By default, Amazon Textract will save - the results internally to be accessed by the GetDocumentAnalysis operation.

          QueriesConfig?: QueriesConfig

          \ No newline at end of file + the results internally to be accessed by the GetDocumentAnalysis operation.

          QueriesConfig?: QueriesConfig

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentAnalysisRequest.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentAnalysisRequest.html index 3c361aea4a2..c563736deca 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentAnalysisRequest.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentAnalysisRequest.html @@ -1,5 +1,6 @@ StartDocumentAnalysisRequest | Amplify JS API Documentation -
          interface StartDocumentAnalysisRequest {
              ClientRequestToken?: string;
              DocumentLocation: undefined | DocumentLocation;
              FeatureTypes: undefined | string[];
              JobTag?: string;
              KMSKeyId?: string;
              NotificationChannel?: NotificationChannel;
              OutputConfig?: OutputConfig;
              QueriesConfig?: QueriesConfig;
          }

          Hierarchy (view full)

          Properties

          ClientRequestToken? +
          interface StartDocumentAnalysisRequest {
              AdaptersConfig?: AdaptersConfig;
              ClientRequestToken?: string;
              DocumentLocation: undefined | DocumentLocation;
              FeatureTypes: undefined | FeatureType[];
              JobTag?: string;
              KMSKeyId?: string;
              NotificationChannel?: NotificationChannel;
              OutputConfig?: OutputConfig;
              QueriesConfig?: QueriesConfig;
          }

          Hierarchy (view full)

          Properties

          ClientRequestToken?: string

          The idempotent token that you use to identify the start request. If you use the same +

          Properties

          AdaptersConfig?: AdaptersConfig

          Specifies the adapter to be used when analyzing a document.

          ClientRequestToken?: string

          The idempotent token that you use to identify the start request. If you use the same token with multiple StartDocumentAnalysis requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see - Calling Amazon Textract Asynchronous Operations.

          DocumentLocation: undefined | DocumentLocation

          The location of the document to be processed.

          FeatureTypes: undefined | string[]

          A list of the types of analysis to perform. Add TABLES to the list to return information + Calling Amazon Textract Asynchronous Operations.

          DocumentLocation: undefined | DocumentLocation

          The location of the document to be processed.

          FeatureTypes: undefined | FeatureType[]

          A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All lines and words detected in the document are @@ -25,4 +26,4 @@ customer bucket. When this parameter is not enabled, the result will be encrypted server side,using SSE-S3.

          NotificationChannel?: NotificationChannel

          The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

          OutputConfig?: OutputConfig

          Sets if the output will go to a customer defined bucket. By default, Amazon Textract will save - the results internally to be accessed by the GetDocumentAnalysis operation.

          QueriesConfig?: QueriesConfig

          \ No newline at end of file + the results internally to be accessed by the GetDocumentAnalysis operation.

          QueriesConfig?: QueriesConfig

          \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentClassificationJobCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentClassificationJobCommandOutput.html index 0efc64a6922..0c89e192b88 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentClassificationJobCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentClassificationJobCommandOutput.html @@ -1,6 +1,6 @@ StartDocumentClassificationJobCommandOutput | Amplify JS API Documentation

          The output of StartDocumentClassificationJobCommand.

          -
          interface StartDocumentClassificationJobCommandOutput {
              $metadata: ResponseMetadata;
              DocumentClassifierArn?: string;
              JobArn?: string;
              JobId?: string;
              JobStatus?: string;
          }

          Hierarchy (view full)

          Properties

          interface StartDocumentClassificationJobCommandOutput {
              $metadata: ResponseMetadata;
              DocumentClassifierArn?: string;
              JobArn?: string;
              JobId?: string;
              JobStatus?: JobStatus;
          }

          Hierarchy (view full)

          Properties

          $metadata DocumentClassifierArn? JobArn? JobId? @@ -16,7 +16,7 @@

          arn:aws:comprehend:us-west-2:111122223333:document-classification-job/1234abcd12ab34cd56ef1234567890ab

          JobId?: string

          The identifier generated for the job. To get the status of the job, use this identifier - with the DescribeDocumentClassificationJob operation.

          JobStatus?: string

          The status of the job:

          + with the DescribeDocumentClassificationJob operation.

          JobStatus?: JobStatus

          The status of the job:

          • SUBMITTED - The job has been received and queued for processing.

            diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentClassificationJobResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentClassificationJobResponse.html index 41643578901..2eb7eedb051 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentClassificationJobResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDocumentClassificationJobResponse.html @@ -1,5 +1,5 @@ StartDocumentClassificationJobResponse | Amplify JS API Documentation -
            interface StartDocumentClassificationJobResponse {
                DocumentClassifierArn?: string;
                JobArn?: string;
                JobId?: string;
                JobStatus?: string;
            }

            Hierarchy (view full)

            Properties

            DocumentClassifierArn? +
            interface StartDocumentClassificationJobResponse {
                DocumentClassifierArn?: string;
                JobArn?: string;
                JobId?: string;
                JobStatus?: JobStatus;
            }

            Hierarchy (view full)

            Properties

            DocumentClassifierArn? JobArn? JobId? JobStatus? @@ -13,7 +13,7 @@

            arn:aws:comprehend:us-west-2:111122223333:document-classification-job/1234abcd12ab34cd56ef1234567890ab

            JobId?: string

            The identifier generated for the job. To get the status of the job, use this identifier - with the DescribeDocumentClassificationJob operation.

            JobStatus?: string

            The status of the job:

            + with the DescribeDocumentClassificationJob operation.

            JobStatus?: JobStatus

            The status of the job:

            • SUBMITTED - The job has been received and queued for processing.

              diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDominantLanguageDetectionJobCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDominantLanguageDetectionJobCommandOutput.html index 7cdd2e7e952..1e283ba4b47 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDominantLanguageDetectionJobCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDominantLanguageDetectionJobCommandOutput.html @@ -1,6 +1,6 @@ StartDominantLanguageDetectionJobCommandOutput | Amplify JS API Documentation

              The output of StartDominantLanguageDetectionJobCommand.

              -
              interface StartDominantLanguageDetectionJobCommandOutput {
                  $metadata: ResponseMetadata;
                  JobArn?: string;
                  JobId?: string;
                  JobStatus?: string;
              }

              Hierarchy (view full)

              Properties

              interface StartDominantLanguageDetectionJobCommandOutput {
                  $metadata: ResponseMetadata;
                  JobArn?: string;
                  JobId?: string;
                  JobStatus?: JobStatus;
              }

              Hierarchy (view full)

              Properties

              $metadata JobArn? JobId? JobStatus? @@ -15,7 +15,7 @@

              arn:aws:comprehend:us-west-2:111122223333:dominant-language-detection-job/1234abcd12ab34cd56ef1234567890ab

              JobId?: string

              The identifier generated for the job. To get the status of a job, use this identifier with - the operation.

              JobStatus?: string

              The status of the job.

              + the operation.

              JobStatus?: JobStatus

              The status of the job.

              • SUBMITTED - The job has been received and is queued for processing.

                diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDominantLanguageDetectionJobResponse.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDominantLanguageDetectionJobResponse.html index 552b49ca36a..ff3da943b00 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDominantLanguageDetectionJobResponse.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartDominantLanguageDetectionJobResponse.html @@ -1,5 +1,5 @@ StartDominantLanguageDetectionJobResponse | Amplify JS API Documentation -
                interface StartDominantLanguageDetectionJobResponse {
                    JobArn?: string;
                    JobId?: string;
                    JobStatus?: string;
                }

                Hierarchy (view full)

                Properties

                JobArn? +
                interface StartDominantLanguageDetectionJobResponse {
                    JobArn?: string;
                    JobId?: string;
                    JobStatus?: JobStatus;
                }

                Hierarchy (view full)

                Properties

                JobArn?: string

                The Amazon Resource Name (ARN) of the dominant language detection job. It is a unique, @@ -12,7 +12,7 @@

                arn:aws:comprehend:us-west-2:111122223333:dominant-language-detection-job/1234abcd12ab34cd56ef1234567890ab

                JobId?: string

                The identifier generated for the job. To get the status of a job, use this identifier with - the operation.

                JobStatus?: string

                The status of the job.

                + the operation.

                JobStatus?: JobStatus

                The status of the job.

                • SUBMITTED - The job has been received and is queued for processing.

                  diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartEntitiesDetectionJobCommandInput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartEntitiesDetectionJobCommandInput.html index 862bb7eb9e7..df3c956f41d 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartEntitiesDetectionJobCommandInput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartEntitiesDetectionJobCommandInput.html @@ -1,6 +1,6 @@ StartEntitiesDetectionJobCommandInput | Amplify JS API Documentation

                  The input for StartEntitiesDetectionJobCommand.

                  -
                  interface StartEntitiesDetectionJobCommandInput {
                      ClientRequestToken?: string;
                      DataAccessRoleArn: undefined | string;
                      EntityRecognizerArn?: string;
                      FlywheelArn?: string;
                      InputDataConfig: undefined | InputDataConfig;
                      JobName?: string;
                      LanguageCode: undefined | string;
                      OutputDataConfig: undefined | OutputDataConfig;
                      Tags?: Tag[];
                      VolumeKmsKeyId?: string;
                      VpcConfig?: VpcConfig;
                  }

                  Hierarchy (view full)

                  Properties

                  interface StartEntitiesDetectionJobCommandInput {
                      ClientRequestToken?: string;
                      DataAccessRoleArn: undefined | string;
                      EntityRecognizerArn?: string;
                      FlywheelArn?: string;
                      InputDataConfig: undefined | InputDataConfig;
                      JobName?: string;
                      LanguageCode: undefined | LanguageCode;
                      OutputDataConfig: undefined | OutputDataConfig;
                      Tags?: Tag[];
                      VolumeKmsKeyId?: string;
                      VpcConfig?: VpcConfig;
                  }

                  Hierarchy (view full)

                  Properties

                  ClientRequestToken? DataAccessRoleArn EntityRecognizerArn? FlywheelArn? @@ -15,7 +15,7 @@ Comprehend generates one.

                  DataAccessRoleArn: undefined | string

                  The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data. For more information, see Role-based permissions.

                  EntityRecognizerArn?: string

                  The Amazon Resource Name (ARN) that identifies the specific entity recognizer to be used by the StartEntitiesDetectionJob. This ARN is optional and is only used for a - custom entity recognition job.

                  FlywheelArn?: string

                  The Amazon Resource Number (ARN) of the flywheel associated with the model to use.

                  InputDataConfig: undefined | InputDataConfig

                  Specifies the format and location of the input data for the job.

                  JobName?: string

                  The identifier of the job.

                  LanguageCode: undefined | string

                  The language of the input documents. All documents must be in the same language. You can + custom entity recognition job.

                  FlywheelArn?: string

                  The Amazon Resource Number (ARN) of the flywheel associated with the model to use.

                  InputDataConfig: undefined | InputDataConfig

                  Specifies the format and location of the input data for the job.

                  JobName?: string

                  The identifier of the job.

                  LanguageCode: undefined | LanguageCode

                  The language of the input documents. All documents must be in the same language. You can specify any of the languages supported by Amazon Comprehend. If custom entities recognition is used, this parameter is ignored and the language used for training the model is used instead.

                  OutputDataConfig: undefined | OutputDataConfig

                  Specifies where to send the output files.

                  Tags?: Tag[]

                  Tags to associate with the entities detection job. A tag is a key-value pair that adds diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartEntitiesDetectionJobCommandOutput.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartEntitiesDetectionJobCommandOutput.html index 4480e12d309..ac067695efc 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartEntitiesDetectionJobCommandOutput.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.StartEntitiesDetectionJobCommandOutput.html @@ -1,6 +1,6 @@ StartEntitiesDetectionJobCommandOutput | Amplify JS API Documentation

                  The output of StartEntitiesDetectionJobCommand.

                  -
                  interface StartEntitiesDetectionJobCommandOutput {
                      $metadata: ResponseMetadata;
                      EntityRecognizerArn?: string;
                      JobArn?: string;
                      JobId?: string;
                      JobStatus?: string;
                  }

                  Hierarchy (view full)

                  Properties

                  interface StartEntitiesDetectionJobCommandOutput {
                      $metadata: ResponseMetadata;
                      EntityRecognizerArn?: string;
                      JobArn?: string;
                      JobId?: string;
                      JobStatus?: JobStatus;
                  }

                  Hierarchy (view full)

                  Properties

                  $metadata EntityRecognizerArn? JobArn? JobId? @@ -16,7 +16,7 @@

                  arn:aws:comprehend:us-west-2:111122223333:entities-detection-job/1234abcd12ab34cd56ef1234567890ab

                  JobId?: string

                  The identifier generated for the job. To get the status of job, use this identifier with - the operation.

                  JobStatus?: string

                  The status of the job.

                  + the operation.

                  JobStatus?: JobStatus

                  The status of the job.

                  interface WarningsListItem {
                      Page?: number;
                      WarnCode?: PageBasedWarningCode;
                      WarnMessage?: string;
                  }

                  Properties

                  Page?: number

                  Page number in the input document.

                  WarnCode?: string

                  The type of warning.

                  WarnMessage?: string

                  Text message associated with the warning.

                  \ No newline at end of file +

                  Properties

                  Page?: number

                  Page number in the input document.

                  The type of warning.

                  WarnMessage?: string

                  Text message associated with the warning.

                  \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.WritableStream.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.WritableStream.html index 055ec74c3d9..77eee3fa3ae 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.WritableStream.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.WritableStream.html @@ -1,5 +1,5 @@ WritableStream | Amplify JS API Documentation -
                  interface WritableStream {
                      writable: boolean;
                      addListener(event, listener): this;
                      emit(event, ...args): boolean;
                      end(cb?): void;
                      end(buffer, cb?): void;
                      end(str, cb?): void;
                      end(str, encoding?, cb?): void;
                      eventNames(): (string | symbol)[];
                      getMaxListeners(): number;
                      listenerCount(type): number;
                      listeners(event): Function[];
                      on(event, listener): this;
                      once(event, listener): this;
                      prependListener(event, listener): this;
                      prependOnceListener(event, listener): this;
                      removeAllListeners(event?): this;
                      removeListener(event, listener): this;
                      setMaxListeners(n): this;
                      write(buffer, cb?): boolean;
                      write(str, encoding?, cb?): boolean;
                  }

                  Hierarchy (view full)

                  Implemented by

                  Properties

                  writable +
                  interface WritableStream {
                      writable: boolean;
                      addListener(event, listener): this;
                      emit(event, ...args): boolean;
                      end(cb?): void;
                      end(buffer, cb?): void;
                      end(str, cb?): void;
                      end(str, encoding?, cb?): void;
                      eventNames(): (string | symbol)[];
                      getMaxListeners(): number;
                      listenerCount(type): number;
                      listeners(event): Function[];
                      on(event, listener): this;
                      once(event, listener): this;
                      prependListener(event, listener): this;
                      prependOnceListener(event, listener): this;
                      removeAllListeners(event?): this;
                      removeListener(event, listener): this;
                      setMaxListeners(n): this;
                      write(buffer, cb?): boolean;
                      write(str, encoding?, cb?): boolean;
                  }

                  Hierarchy (view full)

                  Implemented by

                  Properties

                  Methods

                  addListener emit end diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.TransformOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.TransformOptions.html index d5917c71880..739066c16ce 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.TransformOptions.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.TransformOptions.html @@ -1,5 +1,5 @@ TransformOptions | Amplify JS API Documentation -
                  interface TransformOptions {
                      allowHalfOpen?: boolean;
                      decodeStrings?: boolean;
                      destroy?: ((error, callback) => void);
                      encoding?: string;
                      final?: ((callback) => void);
                      flush?: ((callback) => any);
                      highWaterMark?: number;
                      objectMode?: boolean;
                      read?: ((this, size?) => any);
                      readableObjectMode?: boolean;
                      transform?: ((chunk, encoding, callback) => any);
                      writableObjectMode?: boolean;
                      write?: ((chunk, encoding, callback) => any);
                      writev?: ((chunks, callback) => any);
                  }

                  Hierarchy (view full)

                  Properties

                  allowHalfOpen? +
                  interface TransformOptions {
                      allowHalfOpen?: boolean;
                      decodeStrings?: boolean;
                      destroy?: ((error, callback) => void);
                      encoding?: string;
                      final?: ((callback) => void);
                      flush?: ((callback) => any);
                      highWaterMark?: number;
                      objectMode?: boolean;
                      read?: ((this, size?) => any);
                      readableObjectMode?: boolean;
                      transform?: ((chunk, encoding, callback) => any);
                      writableObjectMode?: boolean;
                      write?: ((chunk, encoding, callback) => any);
                      writev?: ((chunks, callback) => any);
                  }

                  Hierarchy (view full)

                  Properties

                  allowHalfOpen?: boolean
                  decodeStrings?: boolean
                  destroy?: ((error, callback) => void)

                  Type declaration

                    • (error, callback): void
                    • Parameters

                      • error: null | Error
                      • callback: ((error?) => void)
                          • (error?): void
                          • Parameters

                            Returns void

                      Returns void

                  encoding?: string
                  final?: ((callback) => void)

                  Type declaration

                    • (callback): void
                    • Parameters

                      • callback: ((error?) => void)
                          • (error?): void
                          • Parameters

                            Returns void

                      Returns void

                  flush?: ((callback) => any)

                  Type declaration

                    • (callback): any
                    • Parameters

                      • callback: Function

                      Returns any

                  highWaterMark?: number
                  objectMode?: boolean
                  read?: ((this, size?) => any)

                  Type declaration

                    • (this, size?): any
                    • Parameters

                      Returns any

                  readableObjectMode?: boolean
                  transform?: ((chunk, encoding, callback) => any)

                  Type declaration

                    • (chunk, encoding, callback): any
                    • Parameters

                      • chunk: any
                      • encoding: string
                      • callback: Function

                      Returns any

                  writableObjectMode?: boolean
                  write?: ((chunk, encoding, callback) => any)

                  Type declaration

                    • (chunk, encoding, callback): any
                    • Parameters

                      • chunk: any
                      • encoding: string
                      • callback: Function

                      Returns any

                  writev?: ((chunks, callback) => any)

                  Type declaration

                    • (chunks, callback): any
                    • Parameters

                      • chunks: {
                            chunk: any;
                            encoding: string;
                        }[]
                      • callback: Function

                      Returns any

                  \ No newline at end of file +

                  Properties

                  allowHalfOpen?: boolean
                  decodeStrings?: boolean
                  destroy?: ((error, callback) => void)

                  Type declaration

                    • (error, callback): void
                    • Parameters

                      • error: null | Error
                      • callback: ((error?) => void)
                          • (error?): void
                          • Parameters

                            Returns void

                      Returns void

                  encoding?: string
                  final?: ((callback) => void)

                  Type declaration

                    • (callback): void
                    • Parameters

                      • callback: ((error?) => void)
                          • (error?): void
                          • Parameters

                            Returns void

                      Returns void

                  flush?: ((callback) => any)

                  Type declaration

                    • (callback): any
                    • Parameters

                      • callback: Function

                      Returns any

                  highWaterMark?: number
                  objectMode?: boolean
                  read?: ((this, size?) => any)

                  Type declaration

                    • (this, size?): any
                    • Parameters

                      Returns any

                  readableObjectMode?: boolean
                  transform?: ((chunk, encoding, callback) => any)

                  Type declaration

                    • (chunk, encoding, callback): any
                    • Parameters

                      • chunk: any
                      • encoding: string
                      • callback: Function

                      Returns any

                  writableObjectMode?: boolean
                  write?: ((chunk, encoding, callback) => any)

                  Type declaration

                    • (chunk, encoding, callback): any
                    • Parameters

                      • chunk: any
                      • encoding: string
                      • callback: Function

                      Returns any

                  writev?: ((chunks, callback) => any)

                  Type declaration

                    • (chunks, callback): any
                    • Parameters

                      • chunks: {
                            chunk: any;
                            encoding: string;
                        }[]
                      • callback: Function

                      Returns any

                  \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.WritableOptions.html b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.WritableOptions.html index 85129326ac3..247ac8e3701 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.WritableOptions.html +++ b/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.internal-1.WritableOptions.html @@ -1,5 +1,5 @@ WritableOptions | Amplify JS API Documentation -
                  interface WritableOptions {
                      decodeStrings?: boolean;
                      destroy?: ((error, callback) => void);
                      final?: ((callback) => void);
                      highWaterMark?: number;
                      objectMode?: boolean;
                      write?: ((chunk, encoding, callback) => any);
                      writev?: ((chunks, callback) => any);
                  }

                  Hierarchy (view full)

                  Properties

                  decodeStrings? +
                  interface WritableOptions {
                      decodeStrings?: boolean;
                      destroy?: ((error, callback) => void);
                      final?: ((callback) => void);
                      highWaterMark?: number;
                      objectMode?: boolean;
                      write?: ((chunk, encoding, callback) => any);
                      writev?: ((chunks, callback) => any);
                  }

                  Hierarchy (view full)

                  Properties

                  decodeStrings? destroy? final? highWaterMark? diff --git a/docs/api/modules/_aws_amplify_adapter_nextjs.html b/docs/api/modules/_aws_amplify_adapter_nextjs.html index becd43e5da1..7d4223a8876 100644 --- a/docs/api/modules/_aws_amplify_adapter_nextjs.html +++ b/docs/api/modules/_aws_amplify_adapter_nextjs.html @@ -1,5 +1,5 @@ -@aws-amplify/adapter-nextjs - v1.2.10 | Amplify JS API Documentation -

                  Module @aws-amplify/adapter-nextjs - v1.2.10

                  This package contains the AWS Amplify Next.js Adapter. For more information on using Next.js in your application please reference the Amplify Dev Center.

                  +@aws-amplify/adapter-nextjs - v1.2.11 | Amplify JS API Documentation +

                  Module @aws-amplify/adapter-nextjs - v1.2.11

                  This package contains the AWS Amplify Next.js Adapter. For more information on using Next.js in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  api index utils diff --git a/docs/api/modules/_aws_amplify_adapter_nextjs.index._Reference_Types_.html b/docs/api/modules/_aws_amplify_adapter_nextjs.index._Reference_Types_.html index 5b790529a4f..285942374b8 100644 --- a/docs/api/modules/_aws_amplify_adapter_nextjs.index._Reference_Types_.html +++ b/docs/api/modules/_aws_amplify_adapter_nextjs.index._Reference_Types_.html @@ -101,6 +101,7 @@ SharedArrayBuffer SharedArrayBufferConstructor SocketConstructorOpts +StaticEventEmitterIteratorOptions StaticEventEmitterOptions StreamOptions StreamPipeOptions @@ -120,18 +121,24 @@ WritableStream WritableStreamDefaultController WritableStreamDefaultWriter -_DOMEventTarget -_NodeEventTarget -

                  Type Aliases

                  Type Aliases

                  AnyRest +Args +ArrayBufferLike ArrayBufferView BinaryLike BodyInit BufferEncoding BufferSource ComposeFnParam +DefaultEventMap +EventMap Exclude HeadersInit +I18NDomains IteratorResult +Key +Key2 +Listener LocaleAnalysisOptions LookupFunction NextParsedUrlQuery diff --git a/docs/api/modules/_aws_amplify_datastore_storage_adapter.html b/docs/api/modules/_aws_amplify_datastore_storage_adapter.html index 4f5023d2009..aeaef63048c 100644 --- a/docs/api/modules/_aws_amplify_datastore_storage_adapter.html +++ b/docs/api/modules/_aws_amplify_datastore_storage_adapter.html @@ -1,5 +1,5 @@ -@aws-amplify/datastore-storage-adapter - v2.1.42 | Amplify JS API Documentation -

                  Module @aws-amplify/datastore-storage-adapter - v2.1.42

                  This package contains the AWS Amplify DataStore storage adapter. For more information on using the DataStore storage adapter in your application please reference the Amplify Dev Center.

                  +@aws-amplify/datastore-storage-adapter - v2.1.43 | Amplify JS API Documentation +

                  Module @aws-amplify/datastore-storage-adapter - v2.1.43

                  This package contains the AWS Amplify DataStore storage adapter. For more information on using the DataStore storage adapter in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  ExpoSQLiteAdapter/ExpoSQLiteAdapter SQLiteAdapter/SQLiteAdapter index diff --git a/docs/api/modules/_aws_amplify_geo.html b/docs/api/modules/_aws_amplify_geo.html index c34171cf479..98971ffa254 100644 --- a/docs/api/modules/_aws_amplify_geo.html +++ b/docs/api/modules/_aws_amplify_geo.html @@ -1,5 +1,5 @@ -@aws-amplify/geo - v3.0.40 | Amplify JS API Documentation -

                  Module @aws-amplify/geo - v3.0.40

                  This package contains the AWS Amplify Geo category. For more information on using Geo in your application please reference the Amplify Dev Center.

                  +@aws-amplify/geo - v3.0.41 | Amplify JS API Documentation +

                  Module @aws-amplify/geo - v3.0.41

                  This package contains the AWS Amplify Geo category. For more information on using Geo in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  \ No newline at end of file diff --git a/docs/api/modules/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.html b/docs/api/modules/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.html index 466044f97ce..0bf1fea7a3d 100644 --- a/docs/api/modules/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.html +++ b/docs/api/modules/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.html @@ -12,4 +12,5 @@ GeofenceGeometry MetadataBearer ResponseMetadata +

                  Type Aliases

                  \ No newline at end of file diff --git a/docs/api/modules/_aws_amplify_interactions.html b/docs/api/modules/_aws_amplify_interactions.html index 655c81430a2..e5f1f9d8218 100644 --- a/docs/api/modules/_aws_amplify_interactions.html +++ b/docs/api/modules/_aws_amplify_interactions.html @@ -1,5 +1,5 @@ -@aws-amplify/interactions - v6.0.39 | Amplify JS API Documentation -

                  Module @aws-amplify/interactions - v6.0.39

                  This package contains the AWS Amplify Interactions category. For more information on using Interactions in your application please reference the Amplify Dev Center.

                  +@aws-amplify/interactions - v6.0.40 | Amplify JS API Documentation +

                  Module @aws-amplify/interactions - v6.0.40

                  This package contains the AWS Amplify Interactions category. For more information on using Interactions in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  index lex-v1 lex-v2 diff --git a/docs/api/modules/_aws_amplify_predictions._Reference_Types_.html b/docs/api/modules/_aws_amplify_predictions._Reference_Types_.html index 2a6679bb867..d0603afee9f 100644 --- a/docs/api/modules/_aws_amplify_predictions._Reference_Types_.html +++ b/docs/api/modules/_aws_amplify_predictions._Reference_Types_.html @@ -1,7 +1,109 @@ <Reference Types> | Amplify JS API Documentation

                  Index

                  Namespaces

                  Classes

                  Enumerations

                  AdapterVersionStatus +Attribute +AugmentedManifestsDocumentTypeFormat +AutoUpdate +BlockType +BlockType +BodyPart +CelebrityRecognitionSortBy +ContentClassifier +ContentClassifier +ContentModerationAggregateBy +ContentModerationSortBy +CustomizationFeature +DatasetDataFormat +DatasetStatus +DatasetStatus +DatasetStatusMessageCode +DatasetType +DatasetType +DetectLabelsFeatureName +Directionality +DisplayLanguageCode +DocumentClassifierDataFormat +DocumentClassifierDocumentTypeFormat +DocumentClassifierMode +DocumentReadAction +DocumentReadFeatureTypes +DocumentReadMode +DocumentType +EmotionName +EndpointStatus +Engine +EntityRecognizerDataFormat +EntityType +EntityType +FaceAttributes +FaceSearchSortBy +FeatureType +FlywheelIterationStatus +FlywheelStatus +Formality +Gender +GenderType +InputFormat +JobStatus +JobStatus +JobStatus +KnownGenderType +LabelDetectionAggregateBy +LabelDetectionSortBy +LandmarkType +LanguageCode +LanguageCode +LivenessSessionStatus +MediaAnalysisJobFailureCode +MediaAnalysisJobStatus +ModelStatus +ModelType +OrientationCorrection +OutputFormat +PageBasedErrorCode +PageBasedWarningCode +ParallelDataFormat +ParallelDataStatus +PartOfSpeechTagType +PersonTrackingSortBy +PiiEntitiesDetectionMaskMode +PiiEntitiesDetectionMode +PiiEntityType +ProjectAutoUpdate +ProjectStatus +ProjectVersionStatus +ProtectiveEquipmentType +QualityFilter +Reason +RelationshipType +SegmentType +SelectionStatus +SentimentType +SpeechMarkType +Split +StreamProcessorParameterToDelete +StreamProcessorStatus +SyntaxLanguageCode +TargetedSentimentEntityType +TaskStatus +TechnicalCueType +TerminologyDataFormat +TextType +TextType +TextTypes +ToxicContentType +UnsearchedFaceReason +UnsuccessfulFaceAssociationReason +UnsuccessfulFaceDeletionReason +UnsuccessfulFaceDisassociationReason +UserStatus +VideoColorRange +VideoJobStatus +VoiceId +

                  Classes

                  Interfaces

                  AWSCredentials AbortHandler AbortSignal -AbortSignal +AbortSignal AbortSignalEventMap AbsoluteLocation +Adapter +AdapterOverview +AdapterVersionDatasetConfig +AdapterVersionEvaluationMetric +AdapterVersionOverview +AdaptersConfig AddEventListenerOptions AgeRange +AgentOptions +AgentOptions AnalyzeDocumentCommandInput AnalyzeDocumentCommandOutput AnalyzeDocumentRequest @@ -56,8 +167,6 @@ AudioMetadata AuditImage AugmentedManifestsListItem -AwsAuthInputConfig -AwsAuthResolvedConfig AwsCredentialIdentity BatchDetectDominantLanguageCommandInput BatchDetectDominantLanguageCommandOutput @@ -111,6 +220,7 @@ Celebrity CelebrityDetail CelebrityRecognition +Certificate Checksum ChecksumConstructor ChildBlock @@ -146,17 +256,27 @@ ComprehendClientResolvedConfig ConnectedHomeSettings ConnectedHomeSettingsForUpdate +ConnectionOptions ContainsPiiEntitiesCommandInput ContainsPiiEntitiesCommandOutput ContainsPiiEntitiesRequest ContainsPiiEntitiesResponse Content ContentModerationDetection +ContentType CopyProjectVersionCommandInput CopyProjectVersionCommandOutput CopyProjectVersionRequest CopyProjectVersionResponse CoversBodyPart +CreateAdapterCommandInput +CreateAdapterCommandOutput +CreateAdapterRequest +CreateAdapterResponse +CreateAdapterVersionCommandInput +CreateAdapterVersionCommandOutput +CreateAdapterVersionRequest +CreateAdapterVersionResponse CreateCollectionCommandInput CreateCollectionCommandOutput CreateCollectionRequest @@ -210,8 +330,9 @@ CreateUserCommandOutput CreateUserRequest CreateUserResponse -Credentials CustomLabel +CustomizationFeatureConfig +CustomizationFeatureContentModerationConfig DataSecurityConfig DatasetAugmentedManifestsListItem DatasetChanges @@ -230,6 +351,14 @@ DatasetSource DatasetStats Decoder +DeleteAdapterCommandInput +DeleteAdapterCommandOutput +DeleteAdapterRequest +DeleteAdapterResponse +DeleteAdapterVersionCommandInput +DeleteAdapterVersionCommandOutput +DeleteAdapterVersionRequest +DeleteAdapterVersionResponse DeleteCollectionCommandInput DeleteCollectionCommandOutput DeleteCollectionRequest @@ -454,6 +583,10 @@ DetectTextFilters DetectTextRequest DetectTextResponse +DetectToxicContentCommandInput +DetectToxicContentCommandOutput +DetectToxicContentRequest +DetectToxicContentResponse DetectedSignature DetectionFilter DisassociateFacesCommandInput @@ -489,6 +622,7 @@ DominantLanguage DominantLanguageDetectionJobFilter DominantLanguageDetectionJobProperties +DuplexOptions Emotion Encoder EncryptionKey @@ -526,6 +660,7 @@ EquipmentDetection ErrnoException ErrorsListItem +EvaluationMetric EvaluationResult Event EventInit @@ -547,13 +682,14 @@ EyeOpen Eyeglasses Face -FaceAttributes +FaceAttributes FaceDetail FaceDetection FaceMatch FaceOccluded FaceRecord FaceSearchSettings +FetchHttpHandlerOptions File FilePropertyBag FileSource @@ -568,11 +704,19 @@ FlywheelModelEvaluationMetrics FlywheelProperties FlywheelSummary -Gender +Gender GeneralLabelsSettings Geometry Geometry Geometry +GetAdapterCommandInput +GetAdapterCommandOutput +GetAdapterRequest +GetAdapterResponse +GetAdapterVersionCommandInput +GetAdapterVersionCommandOutput +GetAdapterVersionRequest +GetAdapterVersionResponse GetCelebrityInfoCommandInput GetCelebrityInfoCommandOutput GetCelebrityInfoRequest @@ -627,6 +771,10 @@ GetLexiconCommandOutput GetLexiconInput GetLexiconOutput +GetMediaAnalysisJobCommandInput +GetMediaAnalysisJobCommandOutput +GetMediaAnalysisJobRequest +GetMediaAnalysisJobResponse GetParallelDataCommandInput GetParallelDataCommandOutput GetParallelDataRequest @@ -675,6 +823,7 @@ Identity IdentityDocument IdentityDocumentField +IdentityProvider Image Image ImageQuality @@ -738,6 +887,14 @@ LineDetailed LineItemFields LineItemGroup +ListAdapterVersionsCommandInput +ListAdapterVersionsCommandOutput +ListAdapterVersionsRequest +ListAdapterVersionsResponse +ListAdaptersCommandInput +ListAdaptersCommandOutput +ListAdaptersRequest +ListAdaptersResponse ListCollectionsCommandInput ListCollectionsCommandOutput ListCollectionsRequest @@ -814,6 +971,10 @@ ListLexiconsCommandOutput ListLexiconsInput ListLexiconsOutput +ListMediaAnalysisJobsCommandInput +ListMediaAnalysisJobsCommandOutput +ListMediaAnalysisJobsRequest +ListMediaAnalysisJobsResponse ListParallelDataCommandInput ListParallelDataCommandOutput ListParallelDataRequest @@ -841,15 +1002,19 @@ ListTagsForResourceCommandInput ListTagsForResourceCommandInput ListTagsForResourceCommandInput +ListTagsForResourceCommandInput ListTagsForResourceCommandOutput ListTagsForResourceCommandOutput ListTagsForResourceCommandOutput +ListTagsForResourceCommandOutput ListTagsForResourceRequest ListTagsForResourceRequest ListTagsForResourceRequest +ListTagsForResourceRequest ListTagsForResourceResponse ListTagsForResourceResponse ListTagsForResourceResponse +ListTagsForResourceResponse ListTargetedSentimentDetectionJobsCommandInput ListTargetedSentimentDetectionJobsCommandOutput ListTargetedSentimentDetectionJobsRequest @@ -875,9 +1040,17 @@ LookupOneOptions LookupOptions MatchedUser +MediaAnalysisDetectModerationLabelsConfig +MediaAnalysisInput +MediaAnalysisJobDescription +MediaAnalysisJobFailureDetails +MediaAnalysisManifestSummary +MediaAnalysisModelVersions +MediaAnalysisOperationsConfig +MediaAnalysisOutputConfig +MediaAnalysisResults MediaSource MediaSourceEventMap -MemoizedProvider MentionSentiment MetadataBearer MiddlewareStack @@ -885,9 +1058,11 @@ MouthOpen Mustache NodeBuffer +NodeHttpHandlerOptions NormalizedValue NotificationChannel NotificationChannel +Object OutputConfig OutputConfig OutputDataConfig @@ -898,6 +1073,7 @@ ParallelDataProperties Parent PartOfSpeechTag +PeerCertificate PersonDetail PersonDetection PersonMatch @@ -957,10 +1133,10 @@ ResponseMetadata RetryErrorInfo RetryInputConfig -RetryResolvedConfig RetryStrategy RetryStrategyV2 RetryToken +RetryableTrait RuntimeExtension RuntimeExtension RuntimeExtension @@ -995,6 +1171,8 @@ SearchedFace SearchedFaceDetails SearchedUser +SecureContext +SecureContextOptions SegmentDetection SegmentTypeInfo SentimentDetectionJobFilter @@ -1012,6 +1190,7 @@ SigningArguments Smile SmithyConfiguration +SmithyException SocketConstructorOpts SourceBuffer SourceBufferEventMap @@ -1076,6 +1255,10 @@ StartLendingAnalysisCommandOutput StartLendingAnalysisRequest StartLendingAnalysisResponse +StartMediaAnalysisJobCommandInput +StartMediaAnalysisJobCommandOutput +StartMediaAnalysisJobRequest +StartMediaAnalysisJobResponse StartPersonTrackingCommandInput StartPersonTrackingCommandOutput StartPersonTrackingRequest @@ -1199,15 +1382,19 @@ TagResourceCommandInput TagResourceCommandInput TagResourceCommandInput +TagResourceCommandInput TagResourceCommandOutput TagResourceCommandOutput TagResourceCommandOutput +TagResourceCommandOutput TagResourceRequest TagResourceRequest TagResourceRequest +TagResourceRequest TagResourceResponse TagResourceResponse TagResourceResponse +TagResourceResponse TargetedSentimentDetectionJobFilter TargetedSentimentDetectionJobProperties TargetedSentimentEntity @@ -1224,6 +1411,7 @@ TextDetection TextDetectionResult TextEntities +TextSegment TextSentiment TextSyntax TextTranslationJobFilter @@ -1233,6 +1421,8 @@ TimeRanges TopicsDetectionJobFilter TopicsDetectionJobProperties +ToxicContent +ToxicLabels TrainingData TrainingDataResult TranscribeData @@ -1258,15 +1448,23 @@ UntagResourceCommandInput UntagResourceCommandInput UntagResourceCommandInput +UntagResourceCommandInput UntagResourceCommandOutput UntagResourceCommandOutput UntagResourceCommandOutput +UntagResourceCommandOutput UntagResourceRequest UntagResourceRequest UntagResourceRequest +UntagResourceRequest UntagResourceResponse UntagResourceResponse UntagResourceResponse +UntagResourceResponse +UpdateAdapterCommandInput +UpdateAdapterCommandOutput +UpdateAdapterRequest +UpdateAdapterResponse UpdateDataSecurityConfig UpdateDatasetEntriesCommandInput UpdateDatasetEntriesCommandOutput @@ -1306,6 +1504,7 @@ WritableStream

                  Type Aliases

                  AppendMode ArrayBufferLike +AwsCredentialIdentityProvider BinaryHeaderValue BinaryType BlobOptionalType @@ -1335,7 +1534,7 @@ Handler HeaderBag HeaderValue -HttpHandler +HttpHandlerUserInput HttpRequestOptions HttpResponseOptions IdentifyBytes @@ -1356,6 +1555,7 @@ PollyClientResolvedConfigType Polygon Priority +PropertyKey QueryParameterBag ReadableStreamOptionalType ReadyState @@ -1367,6 +1567,7 @@ RequestHandlerOutput Required RetryErrorType +SdkError SdkStream ServiceInputTypes ServiceInputTypes @@ -1401,6 +1602,7 @@ EventTarget File MediaSource +Object SourceBuffer TimeRanges URL diff --git a/docs/api/modules/_aws_amplify_predictions._Reference_Types_.internal-1.html b/docs/api/modules/_aws_amplify_predictions._Reference_Types_.internal-1.html index 6cd1dd4cf39..6e35bcfe923 100644 --- a/docs/api/modules/_aws_amplify_predictions._Reference_Types_.internal-1.html +++ b/docs/api/modules/_aws_amplify_predictions._Reference_Types_.internal-1.html @@ -1,13 +1,13 @@ internal | Amplify JS API Documentation

                  References

                  Re-exports Duplex
                  Re-exports Readable
                  Re-exports ReadableOptions
                  Re-exports Stream
                  \ No newline at end of file +

                  References

                  Re-exports Duplex
                  Re-exports DuplexOptions
                  Re-exports Readable
                  Re-exports ReadableOptions
                  Re-exports Stream
                  Re-exports Writable
                  \ No newline at end of file diff --git a/docs/api/modules/_aws_amplify_predictions.html b/docs/api/modules/_aws_amplify_predictions.html index b951ef1a3f6..39d97ff50aa 100644 --- a/docs/api/modules/_aws_amplify_predictions.html +++ b/docs/api/modules/_aws_amplify_predictions.html @@ -1,5 +1,5 @@ -@aws-amplify/predictions - v6.1.15 | Amplify JS API Documentation -

                  Module @aws-amplify/predictions - v6.1.15

                  This package contains the AWS Amplify Predictions category. For more information on using Predictions in your application please reference the Amplify Dev Center.

                  +@aws-amplify/predictions - v6.1.16 | Amplify JS API Documentation +

                  Module @aws-amplify/predictions - v6.1.16

                  This package contains the AWS Amplify Predictions category. For more information on using Predictions in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  Interfaces

                  IdentifyEntitiesInput IdentifyEntitiesOutput diff --git a/docs/api/modules/_aws_amplify_pubsub.html b/docs/api/modules/_aws_amplify_pubsub.html index 74efc8153d6..a78e371b8a5 100644 --- a/docs/api/modules/_aws_amplify_pubsub.html +++ b/docs/api/modules/_aws_amplify_pubsub.html @@ -1,5 +1,5 @@ -@aws-amplify/pubsub - v6.1.15 | Amplify JS API Documentation -

                  Module @aws-amplify/pubsub - v6.1.15

                  This package contains the AWS Amplify PubSub category. For more information on using PubSub in your application please reference the Amplify Dev Center.

                  +@aws-amplify/pubsub - v6.1.16 | Amplify JS API Documentation +

                  Module @aws-amplify/pubsub - v6.1.16

                  This package contains the AWS Amplify PubSub category. For more information on using PubSub in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  clients/iot clients/mqtt index diff --git a/docs/api/modules/aws_amplify.html b/docs/api/modules/aws_amplify.html index bf8e88a8ade..e3110bd5e04 100644 --- a/docs/api/modules/aws_amplify.html +++ b/docs/api/modules/aws_amplify.html @@ -1,5 +1,5 @@ -aws-amplify - v6.4.3 | Amplify JS API Documentation -

                  Module aws-amplify - v6.4.3

                  AWS Amplify Package - aws-amplify

                  AWS Amplify is a JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends.

                  +aws-amplify - v6.4.4 | Amplify JS API Documentation +

                  Module aws-amplify - v6.4.4

                  AWS Amplify Package - aws-amplify

                  AWS Amplify is a JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends.

                  Documentation is available here.

                  Index

                  Modules

                  adapter-core analytics diff --git a/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.AnyRest.html b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.AnyRest.html new file mode 100644 index 00000000000..ddbfa07646f --- /dev/null +++ b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.AnyRest.html @@ -0,0 +1,2 @@ +AnyRest | Amplify JS API Documentation +
                  \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MemoizedProvider.html b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Args.html similarity index 75% rename from docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MemoizedProvider.html rename to docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Args.html index 244c89a96b2..19f17746adb 100644 --- a/docs/api/interfaces/_aws_amplify_predictions._Reference_Types_.MemoizedProvider.html +++ b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Args.html @@ -1,10 +1,2 @@ -MemoizedProvider | Amplify JS API Documentation -

                  A function that, when invoked, returns a promise that will be fulfilled with -a value of type T. It memoizes the result from the previous invocation -instead of calling the underlying resources every time.

                  -

                  You can force the provider to refresh the memoized value by invoke the -function with optional parameter hash with forceRefresh boolean key and -value true.

                  -

                  Example

                  A function that reads credentials from IMDS service that could
                  return expired credentials. The SDK will keep using the expired credentials
                  until an unretryable service error requiring a force refresh of the
                  credentials. -
                  -
                  interface MemoizedProvider<T> ((options?) => Promise<T>)

                  Type Parameters

                  • T

                  • Parameters

                    • Optional options: {
                          forceRefresh?: boolean;
                      }
                      • Optional forceRefresh?: boolean

                    Returns Promise<T>

                  \ No newline at end of file +Args | Amplify JS API Documentation +
                  Args<K, T>: T extends DefaultEventMap
                      ? AnyRest
                      : K extends keyof T
                          ? T[K]
                          : never

                  Type Parameters

                  • K

                  • T

                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.DefaultEventMap.html b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.DefaultEventMap.html new file mode 100644 index 00000000000..76ecd77628f --- /dev/null +++ b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.DefaultEventMap.html @@ -0,0 +1,2 @@ +DefaultEventMap | Amplify JS API Documentation +
                  \ No newline at end of file diff --git a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_._NodeEventTarget.html b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventMap.html similarity index 68% rename from docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_._NodeEventTarget.html rename to docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventMap.html index 23b0b830d42..025410522e9 100644 --- a/docs/api/interfaces/_aws_amplify_adapter_nextjs.index._Reference_Types_._NodeEventTarget.html +++ b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.EventMap.html @@ -1,3 +1,2 @@ -_NodeEventTarget | Amplify JS API Documentation -
                  interface _NodeEventTarget {
                      once(eventName, listener): this;
                  }

                  Methods

                  Methods

                  • Parameters

                    • eventName: string | symbol
                    • listener: ((...args) => void)
                        • (...args): void
                        • Parameters

                          • Rest ...args: any[]

                          Returns void

                    Returns this

                  \ No newline at end of file +EventMap | Amplify JS API Documentation +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.I18NDomains.html b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.I18NDomains.html new file mode 100644 index 00000000000..2e3c5eb0d30 --- /dev/null +++ b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.I18NDomains.html @@ -0,0 +1,2 @@ +I18NDomains | Amplify JS API Documentation +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Key.html b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Key.html new file mode 100644 index 00000000000..35e45e422b0 --- /dev/null +++ b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Key.html @@ -0,0 +1,2 @@ +Key | Amplify JS API Documentation +
                  Key<K, T>: T extends DefaultEventMap
                      ? string | symbol
                      : K | keyof T

                  Type Parameters

                  • K

                  • T

                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Key2.html b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Key2.html new file mode 100644 index 00000000000..04d4dcd6256 --- /dev/null +++ b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Key2.html @@ -0,0 +1,2 @@ +Key2 | Amplify JS API Documentation +
                  Key2<K, T>: T extends DefaultEventMap
                      ? string | symbol
                      : K & keyof T

                  Type Parameters

                  • K

                  • T

                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Listener.html b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Listener.html new file mode 100644 index 00000000000..482414287d6 --- /dev/null +++ b/docs/api/types/_aws_amplify_adapter_nextjs.index._Reference_Types_.Listener.html @@ -0,0 +1,2 @@ +Listener | Amplify JS API Documentation +
                  Listener<K, T, F>: T extends DefaultEventMap
                      ? F
                      : K extends keyof T
                          ? T[K] extends unknown[]
                              ? ((...args) => void)
                              : never
                          : never

                  Type Parameters

                  • K

                  • T

                  • F

                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchItemErrorCode.html b/docs/api/types/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchItemErrorCode.html new file mode 100644 index 00000000000..7a833926857 --- /dev/null +++ b/docs/api/types/_aws_amplify_geo.providers_location_service_AmazonLocationServiceProvider._Reference_Types_.BatchItemErrorCode.html @@ -0,0 +1,2 @@ +BatchItemErrorCode | Amplify JS API Documentation +
                  BatchItemErrorCode: "AccessDeniedError" | "ConflictError" | "InternalServerError" | "ResourceNotFoundError" | "ThrottlingError" | "ValidationError"
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.AwsCredentialIdentityProvider.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.AwsCredentialIdentityProvider.html new file mode 100644 index 00000000000..0fd6e3d56bf --- /dev/null +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.AwsCredentialIdentityProvider.html @@ -0,0 +1,2 @@ +AwsCredentialIdentityProvider | Amplify JS API Documentation +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ComprehendClientConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ComprehendClientConfigType.html index c197fed5a3d..1f751bc3a99 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ComprehendClientConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ComprehendClientConfigType.html @@ -1,2 +1,2 @@ ComprehendClientConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ComprehendClientResolvedConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ComprehendClientResolvedConfigType.html index c26eed9ee42..33af0bda9ab 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ComprehendClientResolvedConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ComprehendClientResolvedConfigType.html @@ -1,2 +1,2 @@ ComprehendClientResolvedConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  ComprehendClientResolvedConfigType: __SmithyResolvedConfiguration<HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & HostHeaderResolvedConfig & UserAgentResolvedConfig & RetryResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.HttpHandlerUserInput.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.HttpHandlerUserInput.html new file mode 100644 index 00000000000..69852faba12 --- /dev/null +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.HttpHandlerUserInput.html @@ -0,0 +1,13 @@ +HttpHandlerUserInput | Amplify JS API Documentation +
                  HttpHandlerUserInput: HttpHandler | NodeHttpHandlerOptions | FetchHttpHandlerOptions | Record<string, unknown>

                  A type representing the accepted user inputs for the requestHandler field +of a client's constructor object.

                  +

                  You may provide an instance of an HttpHandler, or alternatively +provide the constructor arguments as an object which will be passed +to the constructor of the default request handler.

                  +

                  The default class constructor to which your arguments will be passed +varies. The Node.js default is the NodeHttpHandler and the browser/react-native +default is the FetchHttpHandler. In rarer cases specific clients may be +configured to use other default implementations such as Websocket or HTTP2.

                  +

                  The fallback type Record<string, unknown> is part of the union to allow +passing constructor params to an unknown requestHandler type.

                  +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.PollyClientConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.PollyClientConfigType.html index 9387d2290c4..6a426dd133e 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.PollyClientConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.PollyClientConfigType.html @@ -1,2 +1,2 @@ PollyClientConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.PollyClientResolvedConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.PollyClientResolvedConfigType.html index 7ed32815f36..d025093f783 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.PollyClientResolvedConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.PollyClientResolvedConfigType.html @@ -1,2 +1,2 @@ PollyClientResolvedConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  PollyClientResolvedConfigType: __SmithyResolvedConfiguration<HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & HostHeaderResolvedConfig & UserAgentResolvedConfig & RetryResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.PropertyKey.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.PropertyKey.html new file mode 100644 index 00000000000..517c41c9f76 --- /dev/null +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.PropertyKey.html @@ -0,0 +1,2 @@ +PropertyKey | Amplify JS API Documentation +
                  PropertyKey: string | number | symbol
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.RekognitionClientConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.RekognitionClientConfigType.html index cf192f54b46..beb5375df2c 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.RekognitionClientConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.RekognitionClientConfigType.html @@ -1,2 +1,2 @@ RekognitionClientConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.RekognitionClientResolvedConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.RekognitionClientResolvedConfigType.html index 29ddbcf49c2..a78acd80ba4 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.RekognitionClientResolvedConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.RekognitionClientResolvedConfigType.html @@ -1,2 +1,2 @@ RekognitionClientResolvedConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  RekognitionClientResolvedConfigType: __SmithyResolvedConfiguration<HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & HostHeaderResolvedConfig & UserAgentResolvedConfig & RetryResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.SdkError.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.SdkError.html new file mode 100644 index 00000000000..d1d5d898ce8 --- /dev/null +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.SdkError.html @@ -0,0 +1,11 @@ +SdkError | Amplify JS API Documentation +
                  SdkError: Error & Partial<SmithyException> & Partial<MetadataBearer> & {
                      $metadata?: Partial<MetadataBearer>["$metadata"] & {
                          clockSkewCorrected?: true;
                      };
                  }

                  Type declaration

                  Deprecated

                  See https://aws.amazon.com/blogs/developer/service-error-handling-modular-aws-sdk-js/

                  +

                  This type should not be used in your application. +Users of the AWS SDK for JavaScript v3 service clients should prefer to +use the specific Exception classes corresponding to each operation. +These can be found as code in the deserializer for the operation's Command class, +or as declarations in the service model file in codegen/sdk-codegen/aws-models.

                  +

                  If no exceptions are enumerated by a particular Command operation, +the base exception for the service should be used. Each client exports +a base ServiceException prefixed with the service name.

                  +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-2.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-2.html index e638a3e4bb0..94a7f2bcb70 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-2.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-2.html @@ -1,2 +1,2 @@ ServiceInputTypes | Amplify JS API Documentation -
                  ServiceInputTypes: AssociateFacesCommandInput | CompareFacesCommandInput | CopyProjectVersionCommandInput | CreateCollectionCommandInput | CreateDatasetCommandInput | CreateFaceLivenessSessionCommandInput | CreateProjectCommandInput | CreateProjectVersionCommandInput | CreateStreamProcessorCommandInput | CreateUserCommandInput | DeleteCollectionCommandInput | DeleteDatasetCommandInput | DeleteFacesCommandInput | DeleteProjectCommandInput | DeleteProjectPolicyCommandInput | DeleteProjectVersionCommandInput | DeleteStreamProcessorCommandInput | DeleteUserCommandInput | DescribeCollectionCommandInput | DescribeDatasetCommandInput | DescribeProjectVersionsCommandInput | DescribeProjectsCommandInput | DescribeStreamProcessorCommandInput | DetectCustomLabelsCommandInput | DetectFacesCommandInput | DetectLabelsCommandInput | DetectModerationLabelsCommandInput | DetectProtectiveEquipmentCommandInput | DetectTextCommandInput | DisassociateFacesCommandInput | DistributeDatasetEntriesCommandInput | GetCelebrityInfoCommandInput | GetCelebrityRecognitionCommandInput | GetContentModerationCommandInput | GetFaceDetectionCommandInput | GetFaceLivenessSessionResultsCommandInput | GetFaceSearchCommandInput | GetLabelDetectionCommandInput | GetPersonTrackingCommandInput | GetSegmentDetectionCommandInput | GetTextDetectionCommandInput | IndexFacesCommandInput | ListCollectionsCommandInput | ListDatasetEntriesCommandInput | ListDatasetLabelsCommandInput | ListFacesCommandInput | ListProjectPoliciesCommandInput | ListStreamProcessorsCommandInput | ListTagsForResourceCommandInput | ListUsersCommandInput | PutProjectPolicyCommandInput | RecognizeCelebritiesCommandInput | SearchFacesByImageCommandInput | SearchFacesCommandInput | SearchUsersByImageCommandInput | SearchUsersCommandInput | StartCelebrityRecognitionCommandInput | StartContentModerationCommandInput | StartFaceDetectionCommandInput | StartFaceSearchCommandInput | StartLabelDetectionCommandInput | StartPersonTrackingCommandInput | StartProjectVersionCommandInput | StartSegmentDetectionCommandInput | StartStreamProcessorCommandInput | StartTextDetectionCommandInput | StopProjectVersionCommandInput | StopStreamProcessorCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateDatasetEntriesCommandInput | UpdateStreamProcessorCommandInput
                  \ No newline at end of file +
                  ServiceInputTypes: AssociateFacesCommandInput | CompareFacesCommandInput | CopyProjectVersionCommandInput | CreateCollectionCommandInput | CreateDatasetCommandInput | CreateFaceLivenessSessionCommandInput | CreateProjectCommandInput | CreateProjectVersionCommandInput | CreateStreamProcessorCommandInput | CreateUserCommandInput | DeleteCollectionCommandInput | DeleteDatasetCommandInput | DeleteFacesCommandInput | DeleteProjectCommandInput | DeleteProjectPolicyCommandInput | DeleteProjectVersionCommandInput | DeleteStreamProcessorCommandInput | DeleteUserCommandInput | DescribeCollectionCommandInput | DescribeDatasetCommandInput | DescribeProjectVersionsCommandInput | DescribeProjectsCommandInput | DescribeStreamProcessorCommandInput | DetectCustomLabelsCommandInput | DetectFacesCommandInput | DetectLabelsCommandInput | DetectModerationLabelsCommandInput | DetectProtectiveEquipmentCommandInput | DetectTextCommandInput | DisassociateFacesCommandInput | DistributeDatasetEntriesCommandInput | GetCelebrityInfoCommandInput | GetCelebrityRecognitionCommandInput | GetContentModerationCommandInput | GetFaceDetectionCommandInput | GetFaceLivenessSessionResultsCommandInput | GetFaceSearchCommandInput | GetLabelDetectionCommandInput | GetMediaAnalysisJobCommandInput | GetPersonTrackingCommandInput | GetSegmentDetectionCommandInput | GetTextDetectionCommandInput | IndexFacesCommandInput | ListCollectionsCommandInput | ListDatasetEntriesCommandInput | ListDatasetLabelsCommandInput | ListFacesCommandInput | ListMediaAnalysisJobsCommandInput | ListProjectPoliciesCommandInput | ListStreamProcessorsCommandInput | ListTagsForResourceCommandInput | ListUsersCommandInput | PutProjectPolicyCommandInput | RecognizeCelebritiesCommandInput | SearchFacesByImageCommandInput | SearchFacesCommandInput | SearchUsersByImageCommandInput | SearchUsersCommandInput | StartCelebrityRecognitionCommandInput | StartContentModerationCommandInput | StartFaceDetectionCommandInput | StartFaceSearchCommandInput | StartLabelDetectionCommandInput | StartMediaAnalysisJobCommandInput | StartPersonTrackingCommandInput | StartProjectVersionCommandInput | StartSegmentDetectionCommandInput | StartStreamProcessorCommandInput | StartTextDetectionCommandInput | StopProjectVersionCommandInput | StopStreamProcessorCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateDatasetEntriesCommandInput | UpdateStreamProcessorCommandInput
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-3.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-3.html index caee1a2e6b2..453765e2c66 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-3.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-3.html @@ -1,2 +1,2 @@ ServiceInputTypes | Amplify JS API Documentation -
                  \ No newline at end of file +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-4.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-4.html index d0013300011..1742083a139 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-4.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceInputTypes-4.html @@ -1,2 +1,2 @@ ServiceInputTypes | Amplify JS API Documentation -
                  ServiceInputTypes: BatchDetectDominantLanguageCommandInput | BatchDetectEntitiesCommandInput | BatchDetectKeyPhrasesCommandInput | BatchDetectSentimentCommandInput | BatchDetectSyntaxCommandInput | BatchDetectTargetedSentimentCommandInput | ClassifyDocumentCommandInput | ContainsPiiEntitiesCommandInput | CreateDatasetCommandInput | CreateDocumentClassifierCommandInput | CreateEndpointCommandInput | CreateEntityRecognizerCommandInput | CreateFlywheelCommandInput | DeleteDocumentClassifierCommandInput | DeleteEndpointCommandInput | DeleteEntityRecognizerCommandInput | DeleteFlywheelCommandInput | DeleteResourcePolicyCommandInput | DescribeDatasetCommandInput | DescribeDocumentClassificationJobCommandInput | DescribeDocumentClassifierCommandInput | DescribeDominantLanguageDetectionJobCommandInput | DescribeEndpointCommandInput | DescribeEntitiesDetectionJobCommandInput | DescribeEntityRecognizerCommandInput | DescribeEventsDetectionJobCommandInput | DescribeFlywheelCommandInput | DescribeFlywheelIterationCommandInput | DescribeKeyPhrasesDetectionJobCommandInput | DescribePiiEntitiesDetectionJobCommandInput | DescribeResourcePolicyCommandInput | DescribeSentimentDetectionJobCommandInput | DescribeTargetedSentimentDetectionJobCommandInput | DescribeTopicsDetectionJobCommandInput | DetectDominantLanguageCommandInput | DetectEntitiesCommandInput | DetectKeyPhrasesCommandInput | DetectPiiEntitiesCommandInput | DetectSentimentCommandInput | DetectSyntaxCommandInput | DetectTargetedSentimentCommandInput | ImportModelCommandInput | ListDatasetsCommandInput | ListDocumentClassificationJobsCommandInput | ListDocumentClassifierSummariesCommandInput | ListDocumentClassifiersCommandInput | ListDominantLanguageDetectionJobsCommandInput | ListEndpointsCommandInput | ListEntitiesDetectionJobsCommandInput | ListEntityRecognizerSummariesCommandInput | ListEntityRecognizersCommandInput | ListEventsDetectionJobsCommandInput | ListFlywheelIterationHistoryCommandInput | ListFlywheelsCommandInput | ListKeyPhrasesDetectionJobsCommandInput | ListPiiEntitiesDetectionJobsCommandInput | ListSentimentDetectionJobsCommandInput | ListTagsForResourceCommandInput | ListTargetedSentimentDetectionJobsCommandInput | ListTopicsDetectionJobsCommandInput | PutResourcePolicyCommandInput | StartDocumentClassificationJobCommandInput | StartDominantLanguageDetectionJobCommandInput | StartEntitiesDetectionJobCommandInput | StartEventsDetectionJobCommandInput | StartFlywheelIterationCommandInput | StartKeyPhrasesDetectionJobCommandInput | StartPiiEntitiesDetectionJobCommandInput | StartSentimentDetectionJobCommandInput | StartTargetedSentimentDetectionJobCommandInput | StartTopicsDetectionJobCommandInput | StopDominantLanguageDetectionJobCommandInput | StopEntitiesDetectionJobCommandInput | StopEventsDetectionJobCommandInput | StopKeyPhrasesDetectionJobCommandInput | StopPiiEntitiesDetectionJobCommandInput | StopSentimentDetectionJobCommandInput | StopTargetedSentimentDetectionJobCommandInput | StopTrainingDocumentClassifierCommandInput | StopTrainingEntityRecognizerCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateEndpointCommandInput | UpdateFlywheelCommandInput
                  \ No newline at end of file +
                  ServiceInputTypes: BatchDetectDominantLanguageCommandInput | BatchDetectEntitiesCommandInput | BatchDetectKeyPhrasesCommandInput | BatchDetectSentimentCommandInput | BatchDetectSyntaxCommandInput | BatchDetectTargetedSentimentCommandInput | ClassifyDocumentCommandInput | ContainsPiiEntitiesCommandInput | CreateDatasetCommandInput | CreateDocumentClassifierCommandInput | CreateEndpointCommandInput | CreateEntityRecognizerCommandInput | CreateFlywheelCommandInput | DeleteDocumentClassifierCommandInput | DeleteEndpointCommandInput | DeleteEntityRecognizerCommandInput | DeleteFlywheelCommandInput | DeleteResourcePolicyCommandInput | DescribeDatasetCommandInput | DescribeDocumentClassificationJobCommandInput | DescribeDocumentClassifierCommandInput | DescribeDominantLanguageDetectionJobCommandInput | DescribeEndpointCommandInput | DescribeEntitiesDetectionJobCommandInput | DescribeEntityRecognizerCommandInput | DescribeEventsDetectionJobCommandInput | DescribeFlywheelCommandInput | DescribeFlywheelIterationCommandInput | DescribeKeyPhrasesDetectionJobCommandInput | DescribePiiEntitiesDetectionJobCommandInput | DescribeResourcePolicyCommandInput | DescribeSentimentDetectionJobCommandInput | DescribeTargetedSentimentDetectionJobCommandInput | DescribeTopicsDetectionJobCommandInput | DetectDominantLanguageCommandInput | DetectEntitiesCommandInput | DetectKeyPhrasesCommandInput | DetectPiiEntitiesCommandInput | DetectSentimentCommandInput | DetectSyntaxCommandInput | DetectTargetedSentimentCommandInput | DetectToxicContentCommandInput | ImportModelCommandInput | ListDatasetsCommandInput | ListDocumentClassificationJobsCommandInput | ListDocumentClassifierSummariesCommandInput | ListDocumentClassifiersCommandInput | ListDominantLanguageDetectionJobsCommandInput | ListEndpointsCommandInput | ListEntitiesDetectionJobsCommandInput | ListEntityRecognizerSummariesCommandInput | ListEntityRecognizersCommandInput | ListEventsDetectionJobsCommandInput | ListFlywheelIterationHistoryCommandInput | ListFlywheelsCommandInput | ListKeyPhrasesDetectionJobsCommandInput | ListPiiEntitiesDetectionJobsCommandInput | ListSentimentDetectionJobsCommandInput | ListTagsForResourceCommandInput | ListTargetedSentimentDetectionJobsCommandInput | ListTopicsDetectionJobsCommandInput | PutResourcePolicyCommandInput | StartDocumentClassificationJobCommandInput | StartDominantLanguageDetectionJobCommandInput | StartEntitiesDetectionJobCommandInput | StartEventsDetectionJobCommandInput | StartFlywheelIterationCommandInput | StartKeyPhrasesDetectionJobCommandInput | StartPiiEntitiesDetectionJobCommandInput | StartSentimentDetectionJobCommandInput | StartTargetedSentimentDetectionJobCommandInput | StartTopicsDetectionJobCommandInput | StopDominantLanguageDetectionJobCommandInput | StopEntitiesDetectionJobCommandInput | StopEventsDetectionJobCommandInput | StopKeyPhrasesDetectionJobCommandInput | StopPiiEntitiesDetectionJobCommandInput | StopSentimentDetectionJobCommandInput | StopTargetedSentimentDetectionJobCommandInput | StopTrainingDocumentClassifierCommandInput | StopTrainingEntityRecognizerCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateEndpointCommandInput | UpdateFlywheelCommandInput
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-2.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-2.html index 33445d43b77..718ef301e6f 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-2.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-2.html @@ -1,2 +1,2 @@ ServiceOutputTypes | Amplify JS API Documentation -
                  ServiceOutputTypes: AssociateFacesCommandOutput | CompareFacesCommandOutput | CopyProjectVersionCommandOutput | CreateCollectionCommandOutput | CreateDatasetCommandOutput | CreateFaceLivenessSessionCommandOutput | CreateProjectCommandOutput | CreateProjectVersionCommandOutput | CreateStreamProcessorCommandOutput | CreateUserCommandOutput | DeleteCollectionCommandOutput | DeleteDatasetCommandOutput | DeleteFacesCommandOutput | DeleteProjectCommandOutput | DeleteProjectPolicyCommandOutput | DeleteProjectVersionCommandOutput | DeleteStreamProcessorCommandOutput | DeleteUserCommandOutput | DescribeCollectionCommandOutput | DescribeDatasetCommandOutput | DescribeProjectVersionsCommandOutput | DescribeProjectsCommandOutput | DescribeStreamProcessorCommandOutput | DetectCustomLabelsCommandOutput | DetectFacesCommandOutput | DetectLabelsCommandOutput | DetectModerationLabelsCommandOutput | DetectProtectiveEquipmentCommandOutput | DetectTextCommandOutput | DisassociateFacesCommandOutput | DistributeDatasetEntriesCommandOutput | GetCelebrityInfoCommandOutput | GetCelebrityRecognitionCommandOutput | GetContentModerationCommandOutput | GetFaceDetectionCommandOutput | GetFaceLivenessSessionResultsCommandOutput | GetFaceSearchCommandOutput | GetLabelDetectionCommandOutput | GetPersonTrackingCommandOutput | GetSegmentDetectionCommandOutput | GetTextDetectionCommandOutput | IndexFacesCommandOutput | ListCollectionsCommandOutput | ListDatasetEntriesCommandOutput | ListDatasetLabelsCommandOutput | ListFacesCommandOutput | ListProjectPoliciesCommandOutput | ListStreamProcessorsCommandOutput | ListTagsForResourceCommandOutput | ListUsersCommandOutput | PutProjectPolicyCommandOutput | RecognizeCelebritiesCommandOutput | SearchFacesByImageCommandOutput | SearchFacesCommandOutput | SearchUsersByImageCommandOutput | SearchUsersCommandOutput | StartCelebrityRecognitionCommandOutput | StartContentModerationCommandOutput | StartFaceDetectionCommandOutput | StartFaceSearchCommandOutput | StartLabelDetectionCommandOutput | StartPersonTrackingCommandOutput | StartProjectVersionCommandOutput | StartSegmentDetectionCommandOutput | StartStreamProcessorCommandOutput | StartTextDetectionCommandOutput | StopProjectVersionCommandOutput | StopStreamProcessorCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateDatasetEntriesCommandOutput | UpdateStreamProcessorCommandOutput
                  \ No newline at end of file +
                  ServiceOutputTypes: AssociateFacesCommandOutput | CompareFacesCommandOutput | CopyProjectVersionCommandOutput | CreateCollectionCommandOutput | CreateDatasetCommandOutput | CreateFaceLivenessSessionCommandOutput | CreateProjectCommandOutput | CreateProjectVersionCommandOutput | CreateStreamProcessorCommandOutput | CreateUserCommandOutput | DeleteCollectionCommandOutput | DeleteDatasetCommandOutput | DeleteFacesCommandOutput | DeleteProjectCommandOutput | DeleteProjectPolicyCommandOutput | DeleteProjectVersionCommandOutput | DeleteStreamProcessorCommandOutput | DeleteUserCommandOutput | DescribeCollectionCommandOutput | DescribeDatasetCommandOutput | DescribeProjectVersionsCommandOutput | DescribeProjectsCommandOutput | DescribeStreamProcessorCommandOutput | DetectCustomLabelsCommandOutput | DetectFacesCommandOutput | DetectLabelsCommandOutput | DetectModerationLabelsCommandOutput | DetectProtectiveEquipmentCommandOutput | DetectTextCommandOutput | DisassociateFacesCommandOutput | DistributeDatasetEntriesCommandOutput | GetCelebrityInfoCommandOutput | GetCelebrityRecognitionCommandOutput | GetContentModerationCommandOutput | GetFaceDetectionCommandOutput | GetFaceLivenessSessionResultsCommandOutput | GetFaceSearchCommandOutput | GetLabelDetectionCommandOutput | GetMediaAnalysisJobCommandOutput | GetPersonTrackingCommandOutput | GetSegmentDetectionCommandOutput | GetTextDetectionCommandOutput | IndexFacesCommandOutput | ListCollectionsCommandOutput | ListDatasetEntriesCommandOutput | ListDatasetLabelsCommandOutput | ListFacesCommandOutput | ListMediaAnalysisJobsCommandOutput | ListProjectPoliciesCommandOutput | ListStreamProcessorsCommandOutput | ListTagsForResourceCommandOutput | ListUsersCommandOutput | PutProjectPolicyCommandOutput | RecognizeCelebritiesCommandOutput | SearchFacesByImageCommandOutput | SearchFacesCommandOutput | SearchUsersByImageCommandOutput | SearchUsersCommandOutput | StartCelebrityRecognitionCommandOutput | StartContentModerationCommandOutput | StartFaceDetectionCommandOutput | StartFaceSearchCommandOutput | StartLabelDetectionCommandOutput | StartMediaAnalysisJobCommandOutput | StartPersonTrackingCommandOutput | StartProjectVersionCommandOutput | StartSegmentDetectionCommandOutput | StartStreamProcessorCommandOutput | StartTextDetectionCommandOutput | StopProjectVersionCommandOutput | StopStreamProcessorCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateDatasetEntriesCommandOutput | UpdateStreamProcessorCommandOutput
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-3.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-3.html index d14b613b4d2..39e3c4cd3fc 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-3.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-3.html @@ -1,2 +1,2 @@ ServiceOutputTypes | Amplify JS API Documentation -
                  \ No newline at end of file +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-4.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-4.html index 83308b947d1..214ff4790bb 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-4.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.ServiceOutputTypes-4.html @@ -1,2 +1,2 @@ ServiceOutputTypes | Amplify JS API Documentation -
                  ServiceOutputTypes: BatchDetectDominantLanguageCommandOutput | BatchDetectEntitiesCommandOutput | BatchDetectKeyPhrasesCommandOutput | BatchDetectSentimentCommandOutput | BatchDetectSyntaxCommandOutput | BatchDetectTargetedSentimentCommandOutput | ClassifyDocumentCommandOutput | ContainsPiiEntitiesCommandOutput | CreateDatasetCommandOutput | CreateDocumentClassifierCommandOutput | CreateEndpointCommandOutput | CreateEntityRecognizerCommandOutput | CreateFlywheelCommandOutput | DeleteDocumentClassifierCommandOutput | DeleteEndpointCommandOutput | DeleteEntityRecognizerCommandOutput | DeleteFlywheelCommandOutput | DeleteResourcePolicyCommandOutput | DescribeDatasetCommandOutput | DescribeDocumentClassificationJobCommandOutput | DescribeDocumentClassifierCommandOutput | DescribeDominantLanguageDetectionJobCommandOutput | DescribeEndpointCommandOutput | DescribeEntitiesDetectionJobCommandOutput | DescribeEntityRecognizerCommandOutput | DescribeEventsDetectionJobCommandOutput | DescribeFlywheelCommandOutput | DescribeFlywheelIterationCommandOutput | DescribeKeyPhrasesDetectionJobCommandOutput | DescribePiiEntitiesDetectionJobCommandOutput | DescribeResourcePolicyCommandOutput | DescribeSentimentDetectionJobCommandOutput | DescribeTargetedSentimentDetectionJobCommandOutput | DescribeTopicsDetectionJobCommandOutput | DetectDominantLanguageCommandOutput | DetectEntitiesCommandOutput | DetectKeyPhrasesCommandOutput | DetectPiiEntitiesCommandOutput | DetectSentimentCommandOutput | DetectSyntaxCommandOutput | DetectTargetedSentimentCommandOutput | ImportModelCommandOutput | ListDatasetsCommandOutput | ListDocumentClassificationJobsCommandOutput | ListDocumentClassifierSummariesCommandOutput | ListDocumentClassifiersCommandOutput | ListDominantLanguageDetectionJobsCommandOutput | ListEndpointsCommandOutput | ListEntitiesDetectionJobsCommandOutput | ListEntityRecognizerSummariesCommandOutput | ListEntityRecognizersCommandOutput | ListEventsDetectionJobsCommandOutput | ListFlywheelIterationHistoryCommandOutput | ListFlywheelsCommandOutput | ListKeyPhrasesDetectionJobsCommandOutput | ListPiiEntitiesDetectionJobsCommandOutput | ListSentimentDetectionJobsCommandOutput | ListTagsForResourceCommandOutput | ListTargetedSentimentDetectionJobsCommandOutput | ListTopicsDetectionJobsCommandOutput | PutResourcePolicyCommandOutput | StartDocumentClassificationJobCommandOutput | StartDominantLanguageDetectionJobCommandOutput | StartEntitiesDetectionJobCommandOutput | StartEventsDetectionJobCommandOutput | StartFlywheelIterationCommandOutput | StartKeyPhrasesDetectionJobCommandOutput | StartPiiEntitiesDetectionJobCommandOutput | StartSentimentDetectionJobCommandOutput | StartTargetedSentimentDetectionJobCommandOutput | StartTopicsDetectionJobCommandOutput | StopDominantLanguageDetectionJobCommandOutput | StopEntitiesDetectionJobCommandOutput | StopEventsDetectionJobCommandOutput | StopKeyPhrasesDetectionJobCommandOutput | StopPiiEntitiesDetectionJobCommandOutput | StopSentimentDetectionJobCommandOutput | StopTargetedSentimentDetectionJobCommandOutput | StopTrainingDocumentClassifierCommandOutput | StopTrainingEntityRecognizerCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateEndpointCommandOutput | UpdateFlywheelCommandOutput
                  \ No newline at end of file +
                  ServiceOutputTypes: BatchDetectDominantLanguageCommandOutput | BatchDetectEntitiesCommandOutput | BatchDetectKeyPhrasesCommandOutput | BatchDetectSentimentCommandOutput | BatchDetectSyntaxCommandOutput | BatchDetectTargetedSentimentCommandOutput | ClassifyDocumentCommandOutput | ContainsPiiEntitiesCommandOutput | CreateDatasetCommandOutput | CreateDocumentClassifierCommandOutput | CreateEndpointCommandOutput | CreateEntityRecognizerCommandOutput | CreateFlywheelCommandOutput | DeleteDocumentClassifierCommandOutput | DeleteEndpointCommandOutput | DeleteEntityRecognizerCommandOutput | DeleteFlywheelCommandOutput | DeleteResourcePolicyCommandOutput | DescribeDatasetCommandOutput | DescribeDocumentClassificationJobCommandOutput | DescribeDocumentClassifierCommandOutput | DescribeDominantLanguageDetectionJobCommandOutput | DescribeEndpointCommandOutput | DescribeEntitiesDetectionJobCommandOutput | DescribeEntityRecognizerCommandOutput | DescribeEventsDetectionJobCommandOutput | DescribeFlywheelCommandOutput | DescribeFlywheelIterationCommandOutput | DescribeKeyPhrasesDetectionJobCommandOutput | DescribePiiEntitiesDetectionJobCommandOutput | DescribeResourcePolicyCommandOutput | DescribeSentimentDetectionJobCommandOutput | DescribeTargetedSentimentDetectionJobCommandOutput | DescribeTopicsDetectionJobCommandOutput | DetectDominantLanguageCommandOutput | DetectEntitiesCommandOutput | DetectKeyPhrasesCommandOutput | DetectPiiEntitiesCommandOutput | DetectSentimentCommandOutput | DetectSyntaxCommandOutput | DetectTargetedSentimentCommandOutput | DetectToxicContentCommandOutput | ImportModelCommandOutput | ListDatasetsCommandOutput | ListDocumentClassificationJobsCommandOutput | ListDocumentClassifierSummariesCommandOutput | ListDocumentClassifiersCommandOutput | ListDominantLanguageDetectionJobsCommandOutput | ListEndpointsCommandOutput | ListEntitiesDetectionJobsCommandOutput | ListEntityRecognizerSummariesCommandOutput | ListEntityRecognizersCommandOutput | ListEventsDetectionJobsCommandOutput | ListFlywheelIterationHistoryCommandOutput | ListFlywheelsCommandOutput | ListKeyPhrasesDetectionJobsCommandOutput | ListPiiEntitiesDetectionJobsCommandOutput | ListSentimentDetectionJobsCommandOutput | ListTagsForResourceCommandOutput | ListTargetedSentimentDetectionJobsCommandOutput | ListTopicsDetectionJobsCommandOutput | PutResourcePolicyCommandOutput | StartDocumentClassificationJobCommandOutput | StartDominantLanguageDetectionJobCommandOutput | StartEntitiesDetectionJobCommandOutput | StartEventsDetectionJobCommandOutput | StartFlywheelIterationCommandOutput | StartKeyPhrasesDetectionJobCommandOutput | StartPiiEntitiesDetectionJobCommandOutput | StartSentimentDetectionJobCommandOutput | StartTargetedSentimentDetectionJobCommandOutput | StartTopicsDetectionJobCommandOutput | StopDominantLanguageDetectionJobCommandOutput | StopEntitiesDetectionJobCommandOutput | StopEventsDetectionJobCommandOutput | StopKeyPhrasesDetectionJobCommandOutput | StopPiiEntitiesDetectionJobCommandOutput | StopSentimentDetectionJobCommandOutput | StopTargetedSentimentDetectionJobCommandOutput | StopTrainingDocumentClassifierCommandOutput | StopTrainingEntityRecognizerCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateEndpointCommandOutput | UpdateFlywheelCommandOutput
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.TextractClientConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.TextractClientConfigType.html index c4cbe382a82..923c8164068 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.TextractClientConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.TextractClientConfigType.html @@ -1,2 +1,2 @@ TextractClientConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.TextractClientResolvedConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.TextractClientResolvedConfigType.html index 3ef30e2583d..9451ecabfa2 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.TextractClientResolvedConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.TextractClientResolvedConfigType.html @@ -1,2 +1,2 @@ TextractClientResolvedConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  TextractClientResolvedConfigType: __SmithyResolvedConfiguration<HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & HostHeaderResolvedConfig & UserAgentResolvedConfig & RetryResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.TranslateClientConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.TranslateClientConfigType.html index 8b96c454704..cf61f629c76 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.TranslateClientConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.TranslateClientConfigType.html @@ -1,2 +1,2 @@ TranslateClientConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  \ No newline at end of file diff --git a/docs/api/types/_aws_amplify_predictions._Reference_Types_.TranslateClientResolvedConfigType.html b/docs/api/types/_aws_amplify_predictions._Reference_Types_.TranslateClientResolvedConfigType.html index 09139299358..9c5e4caa7f7 100644 --- a/docs/api/types/_aws_amplify_predictions._Reference_Types_.TranslateClientResolvedConfigType.html +++ b/docs/api/types/_aws_amplify_predictions._Reference_Types_.TranslateClientResolvedConfigType.html @@ -1,2 +1,2 @@ TranslateClientResolvedConfigType | Amplify JS API Documentation -
                  \ No newline at end of file +
                  TranslateClientResolvedConfigType: __SmithyResolvedConfiguration<HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & HostHeaderResolvedConfig & UserAgentResolvedConfig & RetryResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters
                  \ No newline at end of file diff --git a/docs/api/variables/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableStream-2.html b/docs/api/variables/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableStream-2.html index 1a4545be731..87ede7ad2d6 100644 --- a/docs/api/variables/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableStream-2.html +++ b/docs/api/variables/_aws_amplify_adapter_nextjs.index._Reference_Types_.ReadableStream-2.html @@ -1,2 +1,2 @@ ReadableStream | Amplify JS API Documentation -
                  ReadableStream: {
                      prototype: ReadableStream<any>;
                      new (underlyingSource, strategy?): ReadableStream<Uint8Array>;
                      new <R>(underlyingSource?, strategy?): ReadableStream<R>;
                  }

                  Type declaration

                  \ No newline at end of file +
                  ReadableStream: {
                      prototype: ReadableStream<any>;
                      from<T>(iterable): ReadableStream<T>;
                      new (underlyingSource, strategy?): ReadableStream<Uint8Array>;
                      new <R>(underlyingSource?, strategy?): ReadableStream<R>;
                  }

                  Type declaration

                  \ No newline at end of file diff --git a/docs/api/variables/_aws_amplify_predictions._Reference_Types_.AbortSignal-2.html b/docs/api/variables/_aws_amplify_predictions._Reference_Types_.AbortSignal-2.html index 14cdd12ddc9..4dfe87e0def 100644 --- a/docs/api/variables/_aws_amplify_predictions._Reference_Types_.AbortSignal-2.html +++ b/docs/api/variables/_aws_amplify_predictions._Reference_Types_.AbortSignal-2.html @@ -1,2 +1,2 @@ AbortSignal | Amplify JS API Documentation -
                  AbortSignal: {
                      prototype: AbortSignal;
                      abort(reason?): AbortSignal;
                      timeout(milliseconds): AbortSignal;
                      new (): AbortSignal;
                  }

                  Type declaration

                  \ No newline at end of file +
                  AbortSignal: {
                      prototype: AbortSignal;
                      abort(reason?): AbortSignal;
                      timeout(milliseconds): AbortSignal;
                      new (): AbortSignal;
                  }

                  Type declaration

                  \ No newline at end of file diff --git a/docs/api/variables/_aws_amplify_predictions._Reference_Types_.Object-1.html b/docs/api/variables/_aws_amplify_predictions._Reference_Types_.Object-1.html new file mode 100644 index 00000000000..7a43841cf90 --- /dev/null +++ b/docs/api/variables/_aws_amplify_predictions._Reference_Types_.Object-1.html @@ -0,0 +1,3 @@ +Object | Amplify JS API Documentation +
                  Object: ObjectConstructor

                  Provides functionality common to all JavaScript objects.

                  +
                  \ No newline at end of file From 37d26277e4cbacdc8e34e8a6810b08ef7c4a8f49 Mon Sep 17 00:00:00 2001 From: Hui Zhao <10602282+HuiSF@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:26:31 -0700 Subject: [PATCH 14/21] feat(core): resolve webcrypto from node:crypto for Node18 (#13599) --- .../load-verdaccio-with-amplify-js/action.yml | 26 ++++++++++++------- .github/actions/node-and-build/action.yml | 6 +++-- .github/integ-config/integ-all.yml | 9 ++++++- .github/workflows/callable-e2e-test.yml | 7 +++++ .github/workflows/callable-e2e-tests.yml | 1 + package.json | 3 +++ packages/aws-amplify/package.json | 6 ++--- .../utils/globalHelpers/globalHelpers.test.ts | 6 ----- .../core/src/utils/globalHelpers/index.ts | 10 +++++++ 9 files changed, 52 insertions(+), 22 deletions(-) diff --git a/.github/actions/load-verdaccio-with-amplify-js/action.yml b/.github/actions/load-verdaccio-with-amplify-js/action.yml index c8cd349cb86..b0f2f5552ac 100644 --- a/.github/actions/load-verdaccio-with-amplify-js/action.yml +++ b/.github/actions/load-verdaccio-with-amplify-js/action.yml @@ -6,7 +6,8 @@ runs: steps: - name: Start verdaccio run: | - npx verdaccio@5.25.0 & + # This version supports Node.js v22 + npx verdaccio@5.31.1 & while ! nc -z localhost 4873; do echo "Verdaccio not running yet" sleep 1 @@ -18,25 +19,30 @@ runs: - name: Install and run npm-cli-login shell: bash env: - NPM_REGISTRY: http://localhost:4873/ + NPM_REGISTRY_HOST: localhost:4873 + NPM_REGISTRY: http://localhost:4873 NPM_USER: verdaccio NPM_PASS: verdaccio NPM_EMAIL: verdaccio@amplify.js run: | - npm i -g npm-cli-adduser - npm-cli-adduser - sleep 1 - - name: Configure registry and git + # Make the HTTP request that npm addUser makes to avoid the "Exit handler never called" error + TOKEN=$(curl -s \ + -H "Accept: application/json" \ + -H "Content-Type:application/json" \ + -X PUT --data "{\"name\": \"$NPM_USER\", \"password\": \"$NPM_PASS\", \"email\": \"$NPM_EMAIL\"}" \ + $NPM_REGISTRY/-/user/org.couchdb.user:$NPM_USER 2>&1 | jq -r '.token') + + # Set the Verdaccio registry and set the token for logging in + yarn config set registry $NPM_REGISTRY + npm set registry $NPM_REGISTRY + npm set //"$NPM_REGISTRY_HOST"/:_authToken $TOKEN + - name: Configure git shell: bash working-directory: ./amplify-js env: - NPM_REGISTRY: http://localhost:4873/ NPM_USER: verdaccio - NPM_PASS: verdaccio NPM_EMAIL: verdaccio@amplify.js run: | - yarn config set registry $NPM_REGISTRY - npm set registry $NPM_REGISTRY git config --global user.email $NPM_EMAIL git config --global user.name $NPM_USER git status diff --git a/.github/actions/node-and-build/action.yml b/.github/actions/node-and-build/action.yml index 0af092c4c84..becd2d49165 100644 --- a/.github/actions/node-and-build/action.yml +++ b/.github/actions/node-and-build/action.yml @@ -4,13 +4,15 @@ inputs: is-prebuild: required: false default: false + node_version: + required: false runs: using: 'composite' steps: - - name: Setup Node.js 18 + - name: Setup Node.js uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 with: - node-version: 18.20.2 + node-version: ${{ inputs.node_version || '18.x' }} env: SEGMENT_DOWNLOAD_TIMEOUT_MINS: 2 - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 diff --git a/.github/integ-config/integ-all.yml b/.github/integ-config/integ-all.yml index d29ae41ba42..db7f9d64444 100644 --- a/.github/integ-config/integ-all.yml +++ b/.github/integ-config/integ-all.yml @@ -829,7 +829,7 @@ tests: sample_name: [guest-access] spec: storage-client-server browser: *minimal_browser_list - + # INAPPMESSAGING - test_name: integ_in_app_messaging desc: 'React InApp Messaging' @@ -856,3 +856,10 @@ tests: spec: ssr-context-isolation yarn_script: ci:ssr-context-isolation browser: [chrome] + - test_name: integ_node_envs + desc: 'Node.js environment tests' + framework: node + category: integration + sample_name: auth-gql-storage + yarn_script: ci:node-env-test + node_versions: ['18.x', '20.x', '22.x'] diff --git a/.github/workflows/callable-e2e-test.yml b/.github/workflows/callable-e2e-test.yml index 18697cf5dc5..fd9f9cb697a 100644 --- a/.github/workflows/callable-e2e-test.yml +++ b/.github/workflows/callable-e2e-test.yml @@ -37,6 +37,9 @@ on: yarn_script: required: false type: string + node_versions: + required: false + type: string env: AMPLIFY_DIR: /home/runner/work/amplify-js/amplify-js/amplify-js @@ -54,6 +57,8 @@ jobs: - ${{ fromJson(inputs.browser) }} sample_name: - ${{ fromJson(inputs.sample_name) }} + node_version: + - ${{ fromJson(inputs.node_versions) }} fail-fast: false timeout-minutes: ${{ inputs.timeout_minutes }} @@ -64,6 +69,8 @@ jobs: path: amplify-js - name: Setup node and build the repository uses: ./amplify-js/.github/actions/node-and-build + with: + node_version: ${{ matrix.node_version }} - name: Setup samples staging repository uses: ./amplify-js/.github/actions/setup-samples-staging with: diff --git a/.github/workflows/callable-e2e-tests.yml b/.github/workflows/callable-e2e-tests.yml index c27c51ce57f..15f6b576f8d 100644 --- a/.github/workflows/callable-e2e-tests.yml +++ b/.github/workflows/callable-e2e-tests.yml @@ -44,6 +44,7 @@ jobs: timeout_minutes: ${{ matrix.integ-config.timeout_minutes || 35 }} retry_count: ${{ matrix.integ-config.retry_count || 3 }} yarn_script: ${{ matrix.integ-config.yarn_script || '' }} + node_versions: ${{ toJSON(matrix.integ-config.node_versions) || '[""]' }} # e2e-test-runner-headless: # name: E2E test runnner_headless diff --git a/package.json b/package.json index 06a17c0fdaf..eef6052f3e7 100644 --- a/package.json +++ b/package.json @@ -130,6 +130,9 @@ "webpack-bundle-analyzer": "^4.7.0", "webpack-cli": "^5.0.0" }, + "engines": { + "node": ">=18" + }, "resolutions": { "@types/babel__traverse": "7.20.0", "path-scurry": "1.10.0", diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index 822d5b251ef..0ed2aeb9c4b 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -383,7 +383,7 @@ "name": "[Auth] confirmSignIn (Cognito)", "path": "./dist/esm/auth/index.mjs", "import": "{ confirmSignIn }", - "limit": "28.27 kB" + "limit": "28.30 kB" }, { "name": "[Auth] updateMFAPreference (Cognito)", @@ -449,13 +449,13 @@ "name": "[Auth] Basic Auth Flow (Cognito)", "path": "./dist/esm/auth/index.mjs", "import": "{ signIn, signOut, fetchAuthSession, confirmSignIn }", - "limit": "30.06 kB" + "limit": "30.10 kB" }, { "name": "[Auth] OAuth Auth Flow (Cognito)", "path": "./dist/esm/auth/index.mjs", "import": "{ signInWithRedirect, signOut, fetchAuthSession }", - "limit": "21.47 kB" + "limit": "21.50 kB" }, { "name": "[Storage] copy (S3)", diff --git a/packages/core/__tests__/utils/globalHelpers/globalHelpers.test.ts b/packages/core/__tests__/utils/globalHelpers/globalHelpers.test.ts index 4d9dbd8bc17..bb7d2e39a9b 100644 --- a/packages/core/__tests__/utils/globalHelpers/globalHelpers.test.ts +++ b/packages/core/__tests__/utils/globalHelpers/globalHelpers.test.ts @@ -44,12 +44,6 @@ describe('getGlobal', () => { expect(getCrypto()).toEqual(mockCrypto); }); - - it('should throw error if crypto is unavailable globally', () => { - mockWindow.mockImplementation(() => undefined); - - expect(() => getCrypto()).toThrow(AmplifyError); - }); }); describe('getBtoa()', () => { diff --git a/packages/core/src/utils/globalHelpers/index.ts b/packages/core/src/utils/globalHelpers/index.ts index 622f4d3c3ef..dc35f897bf6 100644 --- a/packages/core/src/utils/globalHelpers/index.ts +++ b/packages/core/src/utils/globalHelpers/index.ts @@ -13,6 +13,16 @@ export const getCrypto = () => { return crypto; } + try { + const crypto = require('node:crypto').webcrypto; + + if (typeof crypto === 'object') { + return crypto; + } + } catch (_) { + // no-op + } + throw new AmplifyError({ name: 'MissingPolyfill', message: 'Cannot resolve the `crypto` function from the environment.', From 28434a69d6956369ebd7b2ac4b67e0ec1bb14748 Mon Sep 17 00:00:00 2001 From: yuhengshs <94558971+yuhengshs@users.noreply.github.com> Date: Tue, 6 Aug 2024 12:51:00 -0700 Subject: [PATCH 15/21] feat(storage): add support for content disposition and content type in getUrl (#13615) * added content disposition and content type for getUrl and corresponded unit tests * Update content disposition type for getUrl and uploadData, increase bundle size for both * Update package.json to bump up bundle size * extracted content disposition as interface and constructContentDisposition to util * export Content Disposition interface * Update path to relative path. Update description for contentDisposition in options * update descriptions for contentDisposition * update LoadOrCreateMultipartUploadOptions's contentDisposition * add full coverage unit test for * Bump up getUrl package size to 15.63KB Bump up getUrl package size to 15.63KB * Bump up getUrl package size to 15.64KB the size exceeded 1B --- packages/aws-amplify/package.json | 4 +- .../providers/s3/apis/getUrl.test.ts | 130 ++++++++++++++++++ .../S3/getPresignedGetObjectUrl.test.ts | 40 ++++++ .../utils/constructContentDisposition.test.ts | 67 +++++++++ .../src/providers/s3/apis/internal/getUrl.ts | 9 ++ .../uploadData/multipart/initialUpload.ts | 7 +- .../s3/apis/uploadData/putObjectJob.ts | 3 +- .../storage/src/providers/s3/types/options.ts | 27 +++- .../providers/s3/utils/client/getObject.ts | 15 +- .../s3/utils/constructContentDisposition.ts | 16 +++ 10 files changed, 310 insertions(+), 8 deletions(-) create mode 100644 packages/storage/__tests__/providers/s3/utils/constructContentDisposition.test.ts create mode 100644 packages/storage/src/providers/s3/utils/constructContentDisposition.ts diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index 0ed2aeb9c4b..bd2e711ad49 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -479,7 +479,7 @@ "name": "[Storage] getUrl (S3)", "path": "./dist/esm/storage/index.mjs", "import": "{ getUrl }", - "limit": "15.54 kB" + "limit": "15.64 kB" }, { "name": "[Storage] list (S3)", @@ -497,7 +497,7 @@ "name": "[Storage] uploadData (S3)", "path": "./dist/esm/storage/index.mjs", "import": "{ uploadData }", - "limit": "19.64 kB" + "limit": "19.66 kB" } ] } diff --git a/packages/storage/__tests__/providers/s3/apis/getUrl.test.ts b/packages/storage/__tests__/providers/s3/apis/getUrl.test.ts index 994f4a0b648..b9658653967 100644 --- a/packages/storage/__tests__/providers/s3/apis/getUrl.test.ts +++ b/packages/storage/__tests__/providers/s3/apis/getUrl.test.ts @@ -236,6 +236,136 @@ describe('getUrl test with path', () => { }, ); }); + describe('Happy cases: With path and Content Disposition, Content Type', () => { + const config = { + credentials, + region, + userAgentValue: expect.any(String), + }; + beforeEach(() => { + jest.mocked(headObject).mockResolvedValue({ + ContentLength: 100, + ContentType: 'text/plain', + ETag: 'etag', + LastModified: new Date('01-01-1980'), + Metadata: { meta: 'value' }, + $metadata: {} as any, + }); + jest.mocked(getPresignedGetObjectUrl).mockResolvedValue(mockURL); + }); + afterEach(() => { + jest.clearAllMocks(); + }); + + test.each([ + { + path: 'path', + expectedKey: 'path', + contentDisposition: 'inline; filename="example.txt"', + contentType: 'text/plain', + }, + { + path: () => 'path', + expectedKey: 'path', + contentDisposition: { + type: 'attachment' as const, + filename: 'example.pdf', + }, + contentType: 'application/pdf', + }, + ])( + 'should getUrl with path $path and expectedKey $expectedKey and content disposition and content type', + async ({ path, expectedKey, contentDisposition, contentType }) => { + const headObjectOptions = { + Bucket: bucket, + Key: expectedKey, + }; + const { url, expiresAt } = await getUrlWrapper({ + path, + options: { + validateObjectExistence: true, + contentDisposition, + contentType, + }, + }); + expect(getPresignedGetObjectUrl).toHaveBeenCalledTimes(1); + expect(headObject).toHaveBeenCalledTimes(1); + await expect(headObject).toBeLastCalledWithConfigAndInput( + config, + headObjectOptions, + ); + expect({ url, expiresAt }).toEqual({ + url: mockURL, + expiresAt: expect.any(Date), + }); + }, + ); + }); + describe('Error cases: With invalid Content Disposition', () => { + const config = { + credentials, + region, + userAgentValue: expect.any(String), + }; + beforeEach(() => { + jest.mocked(headObject).mockResolvedValue({ + ContentLength: 100, + ContentType: 'text/plain', + ETag: 'etag', + LastModified: new Date('01-01-1980'), + Metadata: { meta: 'value' }, + $metadata: {} as any, + }); + jest.mocked(getPresignedGetObjectUrl).mockResolvedValue(mockURL); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + test.each([ + { + path: 'path', + expectedKey: 'path', + contentDisposition: { + type: 'invalid' as 'attachment' | 'inline', + filename: '"example.txt', + }, + }, + { + path: 'path', + expectedKey: 'path', + contentDisposition: { + type: 'invalid' as 'attachment' | 'inline', + }, + }, + ])( + 'should ignore for invalid content disposition: $contentDisposition', + async ({ path, expectedKey, contentDisposition }) => { + const headObjectOptions = { + Bucket: bucket, + Key: expectedKey, + }; + const { url, expiresAt } = await getUrlWrapper({ + path, + options: { + validateObjectExistence: true, + contentDisposition, + }, + }); + expect(getPresignedGetObjectUrl).toHaveBeenCalledTimes(1); + expect(headObject).toHaveBeenCalledTimes(1); + await expect(headObject).toBeLastCalledWithConfigAndInput( + config, + headObjectOptions, + ); + expect({ url, expiresAt }).toEqual({ + url: mockURL, + expiresAt: expect.any(Date), + }); + }, + ); + }); describe('Error cases : With path', () => { afterAll(() => { jest.clearAllMocks(); diff --git a/packages/storage/__tests__/providers/s3/utils/client/S3/getPresignedGetObjectUrl.test.ts b/packages/storage/__tests__/providers/s3/utils/client/S3/getPresignedGetObjectUrl.test.ts index 93bd3963606..ab84fb03eb6 100644 --- a/packages/storage/__tests__/providers/s3/utils/client/S3/getPresignedGetObjectUrl.test.ts +++ b/packages/storage/__tests__/providers/s3/utils/client/S3/getPresignedGetObjectUrl.test.ts @@ -70,4 +70,44 @@ describe('serializeGetObjectRequest', () => { }), ); }); + + it('should return get object API request with disposition and content type', async () => { + const actual = await getPresignedGetObjectUrl( + { + ...defaultConfigWithStaticCredentials, + signingRegion: defaultConfigWithStaticCredentials.region, + signingService: 's3', + expiration: 900, + userAgentValue: 'UA', + }, + { + Bucket: 'bucket', + Key: 'key', + ResponseContentDisposition: 'attachment; filename="filename.jpg"', + ResponseContentType: 'application/pdf', + }, + ); + + expect(actual).toEqual( + expect.objectContaining({ + hostname: `bucket.s3.${defaultConfigWithStaticCredentials.region}.amazonaws.com`, + pathname: '/key', + searchParams: expect.objectContaining({ + get: expect.any(Function), + }), + }), + ); + + expect(actual.searchParams.get('X-Amz-Expires')).toBe('900'); + expect(actual.searchParams.get('x-amz-content-sha256')).toEqual( + expect.any(String), + ); + expect(actual.searchParams.get('response-content-disposition')).toBe( + 'attachment; filename="filename.jpg"', + ); + expect(actual.searchParams.get('response-content-type')).toBe( + 'application/pdf', + ); + expect(actual.searchParams.get('x-amz-user-agent')).toBe('UA'); + }); }); diff --git a/packages/storage/__tests__/providers/s3/utils/constructContentDisposition.test.ts b/packages/storage/__tests__/providers/s3/utils/constructContentDisposition.test.ts new file mode 100644 index 00000000000..fe6f1d10523 --- /dev/null +++ b/packages/storage/__tests__/providers/s3/utils/constructContentDisposition.test.ts @@ -0,0 +1,67 @@ +import { constructContentDisposition } from '../../../../src/providers/s3/utils/constructContentDisposition'; +import { ContentDisposition } from '../../../../src/providers/s3/types/options'; + +describe('constructContentDisposition', () => { + it('should return undefined when input is undefined', () => { + expect(constructContentDisposition(undefined)).toBeUndefined(); + }); + + it('should return the input string when given a string', () => { + const input = 'inline; filename="example.txt"'; + expect(constructContentDisposition(input)).toBe(input); + }); + + it('should construct disposition string with filename when given an object with type and filename', () => { + const input: ContentDisposition = { + type: 'attachment', + filename: 'example.pdf', + }; + expect(constructContentDisposition(input)).toBe( + 'attachment; filename="example.pdf"', + ); + }); + + it('should return only the type when given an object with type but no filename', () => { + const input: ContentDisposition = { + type: 'inline', + }; + expect(constructContentDisposition(input)).toBe('inline'); + }); + + it('should handle empty string filename', () => { + const input: ContentDisposition = { + type: 'attachment', + filename: '', + }; + expect(constructContentDisposition(input)).toBe('attachment; filename=""'); + }); + + it('should handle filenames with spaces', () => { + const input: ContentDisposition = { + type: 'attachment', + filename: 'my file.txt', + }; + expect(constructContentDisposition(input)).toBe( + 'attachment; filename="my file.txt"', + ); + }); + + it('should handle filenames with special characters', () => { + const input: ContentDisposition = { + type: 'attachment', + filename: 'file"with"quotes.txt', + }; + expect(constructContentDisposition(input)).toBe( + 'attachment; filename="file"with"quotes.txt"', + ); + }); + + // Edge cases + it('should return undefined for null input', () => { + expect(constructContentDisposition(null as any)).toBeUndefined(); + }); + + it('should return undefined for number input', () => { + expect(constructContentDisposition(123 as any)).toBeUndefined(); + }); +}); diff --git a/packages/storage/src/providers/s3/apis/internal/getUrl.ts b/packages/storage/src/providers/s3/apis/internal/getUrl.ts index 4f866ef80b3..a5c319a1389 100644 --- a/packages/storage/src/providers/s3/apis/internal/getUrl.ts +++ b/packages/storage/src/providers/s3/apis/internal/getUrl.ts @@ -22,6 +22,7 @@ import { MAX_URL_EXPIRATION, STORAGE_INPUT_KEY, } from '../../utils/constants'; +import { constructContentDisposition } from '../../utils/constructContentDisposition'; import { getProperties } from './getProperties'; @@ -74,6 +75,14 @@ export const getUrl = async ( { Bucket: bucket, Key: finalKey, + ...(getUrlOptions?.contentDisposition && { + ResponseContentDisposition: constructContentDisposition( + getUrlOptions.contentDisposition, + ), + }), + ...(getUrlOptions?.contentType && { + ResponseContentType: getUrlOptions.contentType, + }), }, ), expiresAt: new Date(Date.now() + urlExpirationInSec * 1000), diff --git a/packages/storage/src/providers/s3/apis/uploadData/multipart/initialUpload.ts b/packages/storage/src/providers/s3/apis/uploadData/multipart/initialUpload.ts index 1179b89c08b..25338b2003f 100644 --- a/packages/storage/src/providers/s3/apis/uploadData/multipart/initialUpload.ts +++ b/packages/storage/src/providers/s3/apis/uploadData/multipart/initialUpload.ts @@ -3,10 +3,11 @@ import { StorageAccessLevel } from '@aws-amplify/core'; -import { ResolvedS3Config } from '../../../types/options'; +import { ContentDisposition, ResolvedS3Config } from '../../../types/options'; import { StorageUploadDataPayload } from '../../../../../types'; import { Part, createMultipartUpload } from '../../../utils/client'; import { logger } from '../../../../../utils'; +import { constructContentDisposition } from '../../../utils/constructContentDisposition'; import { cacheMultipartUpload, @@ -22,7 +23,7 @@ interface LoadOrCreateMultipartUploadOptions { keyPrefix?: string; key: string; contentType?: string; - contentDisposition?: string; + contentDisposition?: string | ContentDisposition; contentEncoding?: string; metadata?: Record; size?: number; @@ -102,7 +103,7 @@ export const loadOrCreateMultipartUpload = async ({ Bucket: bucket, Key: finalKey, ContentType: contentType, - ContentDisposition: contentDisposition, + ContentDisposition: constructContentDisposition(contentDisposition), ContentEncoding: contentEncoding, Metadata: metadata, }, diff --git a/packages/storage/src/providers/s3/apis/uploadData/putObjectJob.ts b/packages/storage/src/providers/s3/apis/uploadData/putObjectJob.ts index bb9b5ec4519..262a046ac71 100644 --- a/packages/storage/src/providers/s3/apis/uploadData/putObjectJob.ts +++ b/packages/storage/src/providers/s3/apis/uploadData/putObjectJob.ts @@ -14,6 +14,7 @@ import { ItemWithKey, ItemWithPath } from '../../types/outputs'; import { putObject } from '../../utils/client'; import { getStorageUserAgentValue } from '../../utils/userAgent'; import { STORAGE_INPUT_KEY } from '../../utils/constants'; +import { constructContentDisposition } from '../../utils/constructContentDisposition'; /** * Get a function the returns a promise to call putObject API to S3. @@ -57,7 +58,7 @@ export const putObjectJob = Key: finalKey, Body: data, ContentType: contentType, - ContentDisposition: contentDisposition, + ContentDisposition: constructContentDisposition(contentDisposition), ContentEncoding: contentEncoding, Metadata: metadata, ContentMD5: isObjectLockEnabled diff --git a/packages/storage/src/providers/s3/types/options.ts b/packages/storage/src/providers/s3/types/options.ts index c042d167263..3378c38d2fd 100644 --- a/packages/storage/src/providers/s3/types/options.ts +++ b/packages/storage/src/providers/s3/types/options.ts @@ -19,6 +19,15 @@ interface CommonOptions { useAccelerateEndpoint?: boolean; } +/** + * Represents the content disposition of a file. + * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition + */ +export interface ContentDisposition { + type: 'attachment' | 'inline'; + filename?: string; +} + /** @deprecated This may be removed in the next major version. */ type ReadOptions = | { @@ -119,6 +128,19 @@ export type GetUrlOptions = CommonOptions & { * @default 900 (15 minutes) */ expiresIn?: number; + /** + * The default content-disposition header value of the file when downloading it. + * If a string is provided, it will be used as-is. + * If an object is provided, it will be used to construct the header value + * based on the ContentDisposition type definition. + * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition + */ + contentDisposition?: ContentDisposition | string; + /** + * The content-type header value of the file when downloading it. + * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type + */ + contentType?: string; }; /** @deprecated Use {@link GetUrlOptionsWithPath} instead. */ @@ -140,9 +162,12 @@ export type UploadDataOptions = CommonOptions & TransferOptions & { /** * The default content-disposition header value of the file when downloading it. + * If a string is provided, it will be used as-is. + * If an object is provided, it will be used to construct the header value + * based on the ContentDisposition type definition. * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition */ - contentDisposition?: string; + contentDisposition?: ContentDisposition | string; /** * The default content-encoding header value of the file when downloading it. * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding diff --git a/packages/storage/src/providers/s3/utils/client/getObject.ts b/packages/storage/src/providers/s3/utils/client/getObject.ts index 4af6a32a39c..2b4153541cd 100644 --- a/packages/storage/src/providers/s3/utils/client/getObject.ts +++ b/packages/storage/src/providers/s3/utils/client/getObject.ts @@ -38,7 +38,11 @@ const USER_AGENT_HEADER = 'x-amz-user-agent'; export type GetObjectInput = Pick< GetObjectCommandInput, - 'Bucket' | 'Key' | 'Range' + | 'Bucket' + | 'Key' + | 'Range' + | 'ResponseContentDisposition' + | 'ResponseContentType' >; export type GetObjectOutput = GetObjectCommandOutput; @@ -156,6 +160,15 @@ export const getPresignedGetObjectUrl = async ( config.userAgentValue, ); } + if (input.ResponseContentType) { + url.searchParams.append('response-content-type', input.ResponseContentType); + } + if (input.ResponseContentDisposition) { + url.searchParams.append( + 'response-content-disposition', + input.ResponseContentDisposition, + ); + } for (const [headerName, value] of Object.entries(headers).sort( ([key1], [key2]) => key1.localeCompare(key2), diff --git a/packages/storage/src/providers/s3/utils/constructContentDisposition.ts b/packages/storage/src/providers/s3/utils/constructContentDisposition.ts new file mode 100644 index 00000000000..95ff01e8839 --- /dev/null +++ b/packages/storage/src/providers/s3/utils/constructContentDisposition.ts @@ -0,0 +1,16 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import { ContentDisposition } from '../types/options'; + +export const constructContentDisposition = ( + contentDisposition?: string | ContentDisposition, +): string | undefined => { + if (!contentDisposition) return undefined; + + if (typeof contentDisposition === 'string') return contentDisposition; + + const { type, filename } = contentDisposition; + + return filename !== undefined ? `${type}; filename="${filename}"` : type; +}; From d7522e4f3a1c73cfeb58d075ffd33afa8466299e Mon Sep 17 00:00:00 2001 From: Hui Zhao <10602282+HuiSF@users.noreply.github.com> Date: Wed, 7 Aug 2024 11:18:23 -0700 Subject: [PATCH 16/21] chore(core): fix JsonObject type doesn't allow array of JsonObject as field (#13669) * chore(core): fix JsonObject type doesn't allow array of JsonObject as field * chore: fix an array of types * chore: allow array of JsonArray * chore: refine the test --- .../__tests__/singleton/Auth/type.test.ts | 58 +++++++++++++++++++ packages/core/src/singleton/Auth/types.ts | 2 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 packages/core/__tests__/singleton/Auth/type.test.ts diff --git a/packages/core/__tests__/singleton/Auth/type.test.ts b/packages/core/__tests__/singleton/Auth/type.test.ts new file mode 100644 index 00000000000..0ec3ffc4033 --- /dev/null +++ b/packages/core/__tests__/singleton/Auth/type.test.ts @@ -0,0 +1,58 @@ +import { JWT } from '../../../src/singleton/Auth/types'; + +describe('type validity', () => { + describe('JWT type', () => { + it('can contain property that has a value as array of JsonObjects', () => { + type OtherProperty1 = ( + | { key: string } + | number + | string + | ( + | { key: string } + | number + | string + | ({ key: string } | number | string)[] + )[] + )[]; + // For testing purpose, use type alias here, as TS will complain while using + // an interface which triggers structural typing check + // eslint-disable-next-line @typescript-eslint/consistent-type-definitions + type OtherProperty2 = { + key: number; + array: ( + | { key: string } + | number + | string + | ({ key: string } | number | string)[] + )[]; + }; + const expectedOtherProperty1 = [ + { key: '123' }, + 1, + 'hi', + [1, 'hi', { key: '345' }, [2, 'hi', { key: '456' }]], + ]; + const expectedOtherProperty2 = { + key: 1, + array: [1, 'hi', { key: '123' }, [2, 'hi', { key: '456' }]], + }; + const value: JWT = { + payload: { + otherProperty1: expectedOtherProperty1, + otherProperty2: expectedOtherProperty2, + }, + toString: () => 'mock', + }; + + const extractedOtherProperty1 = value.payload + .otherProperty1 as OtherProperty1; + const a: OtherProperty1 = extractedOtherProperty1; + expect(a).toEqual(expectedOtherProperty1); + + const extractedOtherProperty2 = value.payload + .otherProperty2 as OtherProperty2; + const b: OtherProperty2 = extractedOtherProperty2; + expect(b).toEqual(expectedOtherProperty2); + }); + }); +}); diff --git a/packages/core/src/singleton/Auth/types.ts b/packages/core/src/singleton/Auth/types.ts index 239810e8771..fd7bc788472 100644 --- a/packages/core/src/singleton/Auth/types.ts +++ b/packages/core/src/singleton/Auth/types.ts @@ -20,7 +20,7 @@ interface JwtPayloadStandardFields { type JsonPrimitive = null | string | number | boolean; /** JSON array type */ -type JsonArray = JsonPrimitive[]; +type JsonArray = (JsonPrimitive | JsonObject | JsonArray)[]; /** JSON Object type */ interface JsonObject { From f8dbc95964e541818fb79203fd286f445feee46d Mon Sep 17 00:00:00 2001 From: Hui Zhao Date: Wed, 7 Aug 2024 14:50:15 -0700 Subject: [PATCH 17/21] Revert "feat(core): resolve webcrypto from node:crypto for Node18 (#13599)" This reverts commit 37d26277e4cbacdc8e34e8a6810b08ef7c4a8f49. --- .../load-verdaccio-with-amplify-js/action.yml | 26 +++++++------------ .github/actions/node-and-build/action.yml | 6 ++--- .github/integ-config/integ-all.yml | 9 +------ .github/workflows/callable-e2e-test.yml | 7 ----- .github/workflows/callable-e2e-tests.yml | 1 - package.json | 3 --- packages/aws-amplify/package.json | 6 ++--- .../utils/globalHelpers/globalHelpers.test.ts | 6 +++++ .../core/src/utils/globalHelpers/index.ts | 10 ------- 9 files changed, 22 insertions(+), 52 deletions(-) diff --git a/.github/actions/load-verdaccio-with-amplify-js/action.yml b/.github/actions/load-verdaccio-with-amplify-js/action.yml index b0f2f5552ac..c8cd349cb86 100644 --- a/.github/actions/load-verdaccio-with-amplify-js/action.yml +++ b/.github/actions/load-verdaccio-with-amplify-js/action.yml @@ -6,8 +6,7 @@ runs: steps: - name: Start verdaccio run: | - # This version supports Node.js v22 - npx verdaccio@5.31.1 & + npx verdaccio@5.25.0 & while ! nc -z localhost 4873; do echo "Verdaccio not running yet" sleep 1 @@ -19,30 +18,25 @@ runs: - name: Install and run npm-cli-login shell: bash env: - NPM_REGISTRY_HOST: localhost:4873 - NPM_REGISTRY: http://localhost:4873 + NPM_REGISTRY: http://localhost:4873/ NPM_USER: verdaccio NPM_PASS: verdaccio NPM_EMAIL: verdaccio@amplify.js run: | - # Make the HTTP request that npm addUser makes to avoid the "Exit handler never called" error - TOKEN=$(curl -s \ - -H "Accept: application/json" \ - -H "Content-Type:application/json" \ - -X PUT --data "{\"name\": \"$NPM_USER\", \"password\": \"$NPM_PASS\", \"email\": \"$NPM_EMAIL\"}" \ - $NPM_REGISTRY/-/user/org.couchdb.user:$NPM_USER 2>&1 | jq -r '.token') - - # Set the Verdaccio registry and set the token for logging in - yarn config set registry $NPM_REGISTRY - npm set registry $NPM_REGISTRY - npm set //"$NPM_REGISTRY_HOST"/:_authToken $TOKEN - - name: Configure git + npm i -g npm-cli-adduser + npm-cli-adduser + sleep 1 + - name: Configure registry and git shell: bash working-directory: ./amplify-js env: + NPM_REGISTRY: http://localhost:4873/ NPM_USER: verdaccio + NPM_PASS: verdaccio NPM_EMAIL: verdaccio@amplify.js run: | + yarn config set registry $NPM_REGISTRY + npm set registry $NPM_REGISTRY git config --global user.email $NPM_EMAIL git config --global user.name $NPM_USER git status diff --git a/.github/actions/node-and-build/action.yml b/.github/actions/node-and-build/action.yml index becd2d49165..0af092c4c84 100644 --- a/.github/actions/node-and-build/action.yml +++ b/.github/actions/node-and-build/action.yml @@ -4,15 +4,13 @@ inputs: is-prebuild: required: false default: false - node_version: - required: false runs: using: 'composite' steps: - - name: Setup Node.js + - name: Setup Node.js 18 uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 with: - node-version: ${{ inputs.node_version || '18.x' }} + node-version: 18.20.2 env: SEGMENT_DOWNLOAD_TIMEOUT_MINS: 2 - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 diff --git a/.github/integ-config/integ-all.yml b/.github/integ-config/integ-all.yml index db7f9d64444..d29ae41ba42 100644 --- a/.github/integ-config/integ-all.yml +++ b/.github/integ-config/integ-all.yml @@ -829,7 +829,7 @@ tests: sample_name: [guest-access] spec: storage-client-server browser: *minimal_browser_list - + # INAPPMESSAGING - test_name: integ_in_app_messaging desc: 'React InApp Messaging' @@ -856,10 +856,3 @@ tests: spec: ssr-context-isolation yarn_script: ci:ssr-context-isolation browser: [chrome] - - test_name: integ_node_envs - desc: 'Node.js environment tests' - framework: node - category: integration - sample_name: auth-gql-storage - yarn_script: ci:node-env-test - node_versions: ['18.x', '20.x', '22.x'] diff --git a/.github/workflows/callable-e2e-test.yml b/.github/workflows/callable-e2e-test.yml index fd9f9cb697a..18697cf5dc5 100644 --- a/.github/workflows/callable-e2e-test.yml +++ b/.github/workflows/callable-e2e-test.yml @@ -37,9 +37,6 @@ on: yarn_script: required: false type: string - node_versions: - required: false - type: string env: AMPLIFY_DIR: /home/runner/work/amplify-js/amplify-js/amplify-js @@ -57,8 +54,6 @@ jobs: - ${{ fromJson(inputs.browser) }} sample_name: - ${{ fromJson(inputs.sample_name) }} - node_version: - - ${{ fromJson(inputs.node_versions) }} fail-fast: false timeout-minutes: ${{ inputs.timeout_minutes }} @@ -69,8 +64,6 @@ jobs: path: amplify-js - name: Setup node and build the repository uses: ./amplify-js/.github/actions/node-and-build - with: - node_version: ${{ matrix.node_version }} - name: Setup samples staging repository uses: ./amplify-js/.github/actions/setup-samples-staging with: diff --git a/.github/workflows/callable-e2e-tests.yml b/.github/workflows/callable-e2e-tests.yml index 15f6b576f8d..c27c51ce57f 100644 --- a/.github/workflows/callable-e2e-tests.yml +++ b/.github/workflows/callable-e2e-tests.yml @@ -44,7 +44,6 @@ jobs: timeout_minutes: ${{ matrix.integ-config.timeout_minutes || 35 }} retry_count: ${{ matrix.integ-config.retry_count || 3 }} yarn_script: ${{ matrix.integ-config.yarn_script || '' }} - node_versions: ${{ toJSON(matrix.integ-config.node_versions) || '[""]' }} # e2e-test-runner-headless: # name: E2E test runnner_headless diff --git a/package.json b/package.json index eef6052f3e7..06a17c0fdaf 100644 --- a/package.json +++ b/package.json @@ -130,9 +130,6 @@ "webpack-bundle-analyzer": "^4.7.0", "webpack-cli": "^5.0.0" }, - "engines": { - "node": ">=18" - }, "resolutions": { "@types/babel__traverse": "7.20.0", "path-scurry": "1.10.0", diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index bd2e711ad49..f10ee23cf22 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -383,7 +383,7 @@ "name": "[Auth] confirmSignIn (Cognito)", "path": "./dist/esm/auth/index.mjs", "import": "{ confirmSignIn }", - "limit": "28.30 kB" + "limit": "28.27 kB" }, { "name": "[Auth] updateMFAPreference (Cognito)", @@ -449,13 +449,13 @@ "name": "[Auth] Basic Auth Flow (Cognito)", "path": "./dist/esm/auth/index.mjs", "import": "{ signIn, signOut, fetchAuthSession, confirmSignIn }", - "limit": "30.10 kB" + "limit": "30.06 kB" }, { "name": "[Auth] OAuth Auth Flow (Cognito)", "path": "./dist/esm/auth/index.mjs", "import": "{ signInWithRedirect, signOut, fetchAuthSession }", - "limit": "21.50 kB" + "limit": "21.47 kB" }, { "name": "[Storage] copy (S3)", diff --git a/packages/core/__tests__/utils/globalHelpers/globalHelpers.test.ts b/packages/core/__tests__/utils/globalHelpers/globalHelpers.test.ts index bb7d2e39a9b..4d9dbd8bc17 100644 --- a/packages/core/__tests__/utils/globalHelpers/globalHelpers.test.ts +++ b/packages/core/__tests__/utils/globalHelpers/globalHelpers.test.ts @@ -44,6 +44,12 @@ describe('getGlobal', () => { expect(getCrypto()).toEqual(mockCrypto); }); + + it('should throw error if crypto is unavailable globally', () => { + mockWindow.mockImplementation(() => undefined); + + expect(() => getCrypto()).toThrow(AmplifyError); + }); }); describe('getBtoa()', () => { diff --git a/packages/core/src/utils/globalHelpers/index.ts b/packages/core/src/utils/globalHelpers/index.ts index dc35f897bf6..622f4d3c3ef 100644 --- a/packages/core/src/utils/globalHelpers/index.ts +++ b/packages/core/src/utils/globalHelpers/index.ts @@ -13,16 +13,6 @@ export const getCrypto = () => { return crypto; } - try { - const crypto = require('node:crypto').webcrypto; - - if (typeof crypto === 'object') { - return crypto; - } - } catch (_) { - // no-op - } - throw new AmplifyError({ name: 'MissingPolyfill', message: 'Cannot resolve the `crypto` function from the environment.', From 07ce5de3a4176cb50162bdf3ff4addeb8198a417 Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Wed, 7 Aug 2024 23:45:50 +0000 Subject: [PATCH 18/21] chore(release): Set core metadata [skip release] --- packages/core/metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/metadata b/packages/core/metadata index 14a4e1de051..52d01824fac 100644 --- a/packages/core/metadata +++ b/packages/core/metadata @@ -1 +1 @@ -b56e60c17 +9b2df98b6 From 917ca35b6823bf4d02ef0202f3948d4a6477f734 Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Wed, 7 Aug 2024 23:46:04 +0000 Subject: [PATCH 19/21] chore(release): Publish [skip release] - @aws-amplify/adapter-nextjs@1.2.12 - @aws-amplify/analytics@7.0.42 - @aws-amplify/api@6.0.44 - @aws-amplify/api-graphql@4.1.13 - @aws-amplify/api-rest@4.0.42 - @aws-amplify/auth@6.3.13 - aws-amplify@6.5.0 - @aws-amplify/core@6.3.9 - @aws-amplify/datastore@5.0.44 - @aws-amplify/datastore-storage-adapter@2.1.44 - @aws-amplify/geo@3.0.42 - @aws-amplify/interactions@6.0.41 - @aws-amplify/notifications@2.0.42 - @aws-amplify/predictions@6.1.17 - @aws-amplify/pubsub@6.1.17 - @aws-amplify/storage@6.6.0 - tsc-compliance-test@0.1.47 --- packages/adapter-nextjs/CHANGELOG.md | 4 ++++ packages/adapter-nextjs/package.json | 4 ++-- packages/analytics/CHANGELOG.md | 4 ++++ packages/analytics/package.json | 4 ++-- packages/api-graphql/CHANGELOG.md | 4 ++++ packages/api-graphql/package.json | 6 +++--- packages/api-rest/CHANGELOG.md | 4 ++++ packages/api-rest/package.json | 4 ++-- packages/api/CHANGELOG.md | 4 ++++ packages/api/package.json | 6 +++--- packages/auth/CHANGELOG.md | 4 ++++ packages/auth/package.json | 4 ++-- packages/aws-amplify/CHANGELOG.md | 6 ++++++ packages/aws-amplify/package.json | 16 ++++++++-------- packages/core/CHANGELOG.md | 4 ++++ packages/core/package.json | 2 +- packages/datastore-storage-adapter/CHANGELOG.md | 4 ++++ packages/datastore-storage-adapter/package.json | 6 +++--- packages/datastore/CHANGELOG.md | 4 ++++ packages/datastore/package.json | 6 +++--- packages/geo/CHANGELOG.md | 4 ++++ packages/geo/package.json | 4 ++-- packages/interactions/CHANGELOG.md | 4 ++++ packages/interactions/package.json | 4 ++-- packages/notifications/CHANGELOG.md | 4 ++++ packages/notifications/package.json | 4 ++-- packages/predictions/CHANGELOG.md | 4 ++++ packages/predictions/package.json | 6 +++--- packages/pubsub/CHANGELOG.md | 4 ++++ packages/pubsub/package.json | 6 +++--- packages/storage/CHANGELOG.md | 6 ++++++ packages/storage/package.json | 4 ++-- scripts/tsc-compliance-test/CHANGELOG.md | 4 ++++ scripts/tsc-compliance-test/package.json | 4 ++-- 34 files changed, 117 insertions(+), 45 deletions(-) diff --git a/packages/adapter-nextjs/CHANGELOG.md b/packages/adapter-nextjs/CHANGELOG.md index 7350ec594a1..97825d8c739 100644 --- a/packages/adapter-nextjs/CHANGELOG.md +++ b/packages/adapter-nextjs/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.12](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/adapter-nextjs@1.2.11...@aws-amplify/adapter-nextjs@1.2.12) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/adapter-nextjs + ## [1.2.11](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/adapter-nextjs@1.2.10...@aws-amplify/adapter-nextjs@1.2.11) (2024-08-05) **Note:** Version bump only for package @aws-amplify/adapter-nextjs diff --git a/packages/adapter-nextjs/package.json b/packages/adapter-nextjs/package.json index d71ed7f050e..731af715eb8 100644 --- a/packages/adapter-nextjs/package.json +++ b/packages/adapter-nextjs/package.json @@ -1,7 +1,7 @@ { "author": "Amazon Web Services", "name": "@aws-amplify/adapter-nextjs", - "version": "1.2.11", + "version": "1.2.12", "description": "The adapter for the supporting of using Amplify APIs in Next.js.", "peerDependencies": { "aws-amplify": "^6.0.7", @@ -16,7 +16,7 @@ "@types/node": "^20.3.1", "@types/react": "^18.2.13", "@types/react-dom": "^18.2.6", - "aws-amplify": "6.4.4", + "aws-amplify": "6.5.0", "jest-fetch-mock": "3.0.3", "next": ">= 13.5.0 < 15.0.0", "typescript": "5.0.2" diff --git a/packages/analytics/CHANGELOG.md b/packages/analytics/CHANGELOG.md index e9e8e50e804..0794f7b7727 100644 --- a/packages/analytics/CHANGELOG.md +++ b/packages/analytics/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/analytics@7.0.41...@aws-amplify/analytics@7.0.42) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/analytics + ## [7.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/analytics@7.0.40...@aws-amplify/analytics@7.0.41) (2024-08-05) **Note:** Version bump only for package @aws-amplify/analytics diff --git a/packages/analytics/package.json b/packages/analytics/package.json index 09cdb6543ed..8135e776308 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/analytics", - "version": "7.0.41", + "version": "7.0.42", "description": "Analytics category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -103,7 +103,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "@aws-amplify/react-native": "1.1.4", "@aws-sdk/types": "3.398.0", "typescript": "5.0.2" diff --git a/packages/api-graphql/CHANGELOG.md b/packages/api-graphql/CHANGELOG.md index 4c35b754576..c481b307fe4 100644 --- a/packages/api-graphql/CHANGELOG.md +++ b/packages/api-graphql/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.13](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-graphql@4.1.12...@aws-amplify/api-graphql@4.1.13) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/api-graphql + ## [4.1.12](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-graphql@4.1.11...@aws-amplify/api-graphql@4.1.12) (2024-08-05) **Note:** Version bump only for package @aws-amplify/api-graphql diff --git a/packages/api-graphql/package.json b/packages/api-graphql/package.json index 73556984ec0..06fd7eda021 100644 --- a/packages/api-graphql/package.json +++ b/packages/api-graphql/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/api-graphql", - "version": "4.1.12", + "version": "4.1.13", "description": "Api-graphql category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -84,8 +84,8 @@ "server" ], "dependencies": { - "@aws-amplify/api-rest": "4.0.41", - "@aws-amplify/core": "6.3.8", + "@aws-amplify/api-rest": "4.0.42", + "@aws-amplify/core": "6.3.9", "@aws-amplify/data-schema": "^1.0.0", "@aws-sdk/types": "3.387.0", "graphql": "15.8.0", diff --git a/packages/api-rest/CHANGELOG.md b/packages/api-rest/CHANGELOG.md index f6e1d6b4a3b..653654de526 100644 --- a/packages/api-rest/CHANGELOG.md +++ b/packages/api-rest/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-rest@4.0.41...@aws-amplify/api-rest@4.0.42) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/api-rest + ## [4.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api-rest@4.0.40...@aws-amplify/api-rest@4.0.41) (2024-08-05) **Note:** Version bump only for package @aws-amplify/api-rest diff --git a/packages/api-rest/package.json b/packages/api-rest/package.json index 7e5263e73ad..4ec712ed45c 100644 --- a/packages/api-rest/package.json +++ b/packages/api-rest/package.json @@ -1,7 +1,7 @@ { "name": "@aws-amplify/api-rest", "private": false, - "version": "4.0.41", + "version": "4.0.42", "description": "Api-rest category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -87,7 +87,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" }, diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index 1bd37b9e1fa..28932fde836 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.0.44](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api@6.0.43...@aws-amplify/api@6.0.44) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/api + ## [6.0.43](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/api@6.0.42...@aws-amplify/api@6.0.43) (2024-08-05) **Note:** Version bump only for package @aws-amplify/api diff --git a/packages/api/package.json b/packages/api/package.json index 421d3c94dae..c2eb49e3a0f 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/api", - "version": "6.0.43", + "version": "6.0.44", "description": "Api category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -79,8 +79,8 @@ "server" ], "dependencies": { - "@aws-amplify/api-graphql": "4.1.12", - "@aws-amplify/api-rest": "4.0.41", + "@aws-amplify/api-graphql": "4.1.13", + "@aws-amplify/api-rest": "4.0.42", "tslib": "^2.5.0" } } diff --git a/packages/auth/CHANGELOG.md b/packages/auth/CHANGELOG.md index 581cad23b09..66b847b85d0 100644 --- a/packages/auth/CHANGELOG.md +++ b/packages/auth/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.13](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/auth@6.3.12...@aws-amplify/auth@6.3.13) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/auth + ## [6.3.12](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/auth@6.3.11...@aws-amplify/auth@6.3.12) (2024-08-05) **Note:** Version bump only for package @aws-amplify/auth diff --git a/packages/auth/package.json b/packages/auth/package.json index 4de293586fa..1f158939d92 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/auth", - "version": "6.3.12", + "version": "6.3.13", "description": "Auth category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -97,7 +97,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "@aws-amplify/react-native": "1.1.4", "@jest/test-sequencer": "^29.7.0", "typescript": "5.0.2" diff --git a/packages/aws-amplify/CHANGELOG.md b/packages/aws-amplify/CHANGELOG.md index 4785b6ae3ce..21d32213199 100644 --- a/packages/aws-amplify/CHANGELOG.md +++ b/packages/aws-amplify/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.5.0](https://github.com/aws-amplify/amplify-js/compare/aws-amplify@6.4.4...aws-amplify@6.5.0) (2024-08-07) + +### Features + +- **storage:** add support for content disposition and content type in getUrl ([#13615](https://github.com/aws-amplify/amplify-js/issues/13615)) ([28434a6](https://github.com/aws-amplify/amplify-js/commit/28434a69d6956369ebd7b2ac4b67e0ec1bb14748)) + ## [6.4.4](https://github.com/aws-amplify/amplify-js/compare/aws-amplify@6.4.3...aws-amplify@6.4.4) (2024-08-05) **Note:** Version bump only for package aws-amplify diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index f10ee23cf22..29e7e86e9c4 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -1,6 +1,6 @@ { "name": "aws-amplify", - "version": "6.4.4", + "version": "6.5.0", "description": "AWS Amplify is a JavaScript library for Frontend and mobile developers building cloud-enabled applications.", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -276,13 +276,13 @@ "utils" ], "dependencies": { - "@aws-amplify/analytics": "7.0.41", - "@aws-amplify/api": "6.0.43", - "@aws-amplify/auth": "6.3.12", - "@aws-amplify/core": "6.3.8", - "@aws-amplify/datastore": "5.0.43", - "@aws-amplify/notifications": "2.0.41", - "@aws-amplify/storage": "6.5.4", + "@aws-amplify/analytics": "7.0.42", + "@aws-amplify/api": "6.0.44", + "@aws-amplify/auth": "6.3.13", + "@aws-amplify/core": "6.3.9", + "@aws-amplify/datastore": "5.0.44", + "@aws-amplify/notifications": "2.0.42", + "@aws-amplify/storage": "6.6.0", "tslib": "^2.5.0" }, "devDependencies": { diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index b0272113b3c..01588b07128 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.9](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/core@6.3.8...@aws-amplify/core@6.3.9) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/core + ## [6.3.8](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/core@6.3.7...@aws-amplify/core@6.3.8) (2024-08-05) **Note:** Version bump only for package @aws-amplify/core diff --git a/packages/core/package.json b/packages/core/package.json index dd4dd138a17..5f5acc0a5a6 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/core", - "version": "6.3.8", + "version": "6.3.9", "description": "Core category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", diff --git a/packages/datastore-storage-adapter/CHANGELOG.md b/packages/datastore-storage-adapter/CHANGELOG.md index a3ef172edf2..b14d547c14e 100644 --- a/packages/datastore-storage-adapter/CHANGELOG.md +++ b/packages/datastore-storage-adapter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.44](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore-storage-adapter@2.1.43...@aws-amplify/datastore-storage-adapter@2.1.44) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/datastore-storage-adapter + ## [2.1.43](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore-storage-adapter@2.1.42...@aws-amplify/datastore-storage-adapter@2.1.43) (2024-08-05) **Note:** Version bump only for package @aws-amplify/datastore-storage-adapter diff --git a/packages/datastore-storage-adapter/package.json b/packages/datastore-storage-adapter/package.json index a63c092c820..46554888c8e 100644 --- a/packages/datastore-storage-adapter/package.json +++ b/packages/datastore-storage-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/datastore-storage-adapter", - "version": "2.1.43", + "version": "2.1.44", "description": "SQLite storage adapter for Amplify DataStore ", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -36,8 +36,8 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", - "@aws-amplify/datastore": "5.0.43", + "@aws-amplify/core": "6.3.9", + "@aws-amplify/datastore": "5.0.44", "@types/react-native-sqlite-storage": "5.0.1", "expo-file-system": "13.1.4", "expo-sqlite": "10.1.0", diff --git a/packages/datastore/CHANGELOG.md b/packages/datastore/CHANGELOG.md index 89c3b5e570e..a3ec32d163d 100644 --- a/packages/datastore/CHANGELOG.md +++ b/packages/datastore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.44](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore@5.0.43...@aws-amplify/datastore@5.0.44) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/datastore + ## [5.0.43](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore@5.0.42...@aws-amplify/datastore@5.0.43) (2024-08-05) **Note:** Version bump only for package @aws-amplify/datastore diff --git a/packages/datastore/package.json b/packages/datastore/package.json index bbff6a298e6..832e4091807 100644 --- a/packages/datastore/package.json +++ b/packages/datastore/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/datastore", - "version": "5.0.43", + "version": "5.0.44", "description": "AppSyncLocal support for aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -44,7 +44,7 @@ "src" ], "dependencies": { - "@aws-amplify/api": "6.0.43", + "@aws-amplify/api": "6.0.44", "buffer": "4.9.2", "idb": "5.0.6", "immer": "9.0.6", @@ -55,7 +55,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "@aws-amplify/react-native": "1.1.4", "@types/uuid-validate": "^0.0.1", "dexie": "3.2.2", diff --git a/packages/geo/CHANGELOG.md b/packages/geo/CHANGELOG.md index 26e0eade93a..70d78be6c12 100644 --- a/packages/geo/CHANGELOG.md +++ b/packages/geo/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/geo@3.0.41...@aws-amplify/geo@3.0.42) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/geo + ## [3.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/geo@3.0.40...@aws-amplify/geo@3.0.41) (2024-08-05) **Note:** Version bump only for package @aws-amplify/geo diff --git a/packages/geo/package.json b/packages/geo/package.json index 65f3a015b51..34abcfe1d9e 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/geo", - "version": "3.0.41", + "version": "3.0.42", "description": "Geo category for aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -76,7 +76,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/interactions/CHANGELOG.md b/packages/interactions/CHANGELOG.md index 858ba1f6940..81781c226b3 100644 --- a/packages/interactions/CHANGELOG.md +++ b/packages/interactions/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/interactions@6.0.40...@aws-amplify/interactions@6.0.41) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/interactions + ## [6.0.40](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/interactions@6.0.39...@aws-amplify/interactions@6.0.40) (2024-08-05) **Note:** Version bump only for package @aws-amplify/interactions diff --git a/packages/interactions/package.json b/packages/interactions/package.json index 97b03d8d51a..42f03c2d531 100644 --- a/packages/interactions/package.json +++ b/packages/interactions/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/interactions", - "version": "6.0.40", + "version": "6.0.41", "description": "Interactions category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -81,7 +81,7 @@ "uuid": "^9.0.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "typescript": "^5.0.2" }, "size-limit": [ diff --git a/packages/notifications/CHANGELOG.md b/packages/notifications/CHANGELOG.md index c42bf1b60db..ef22f2c7353 100644 --- a/packages/notifications/CHANGELOG.md +++ b/packages/notifications/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.42](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/notifications@2.0.41...@aws-amplify/notifications@2.0.42) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/notifications + ## [2.0.41](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/notifications@2.0.40...@aws-amplify/notifications@2.0.41) (2024-08-05) **Note:** Version bump only for package @aws-amplify/notifications diff --git a/packages/notifications/package.json b/packages/notifications/package.json index 77f81f226e0..5fe57582635 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/notifications", - "version": "2.0.41", + "version": "2.0.42", "description": "Notifications category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -98,7 +98,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" } diff --git a/packages/predictions/CHANGELOG.md b/packages/predictions/CHANGELOG.md index 39976c9b580..7d3b5bd52b9 100644 --- a/packages/predictions/CHANGELOG.md +++ b/packages/predictions/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.17](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/predictions@6.1.16...@aws-amplify/predictions@6.1.17) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/predictions + ## [6.1.16](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/predictions@6.1.15...@aws-amplify/predictions@6.1.16) (2024-08-05) **Note:** Version bump only for package @aws-amplify/predictions diff --git a/packages/predictions/package.json b/packages/predictions/package.json index 8e9bcc28027..2dc3d9bc9d1 100644 --- a/packages/predictions/package.json +++ b/packages/predictions/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/predictions", - "version": "6.1.16", + "version": "6.1.17", "description": "Machine learning category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -43,7 +43,7 @@ "src" ], "dependencies": { - "@aws-amplify/storage": "6.5.4", + "@aws-amplify/storage": "6.6.0", "@aws-sdk/client-comprehend": "3.621.0", "@aws-sdk/client-polly": "3.621.0", "@aws-sdk/client-rekognition": "3.621.0", @@ -59,7 +59,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/pubsub/CHANGELOG.md b/packages/pubsub/CHANGELOG.md index 03952a963db..dea29f5b77e 100644 --- a/packages/pubsub/CHANGELOG.md +++ b/packages/pubsub/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.17](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/pubsub@6.1.16...@aws-amplify/pubsub@6.1.17) (2024-08-07) + +**Note:** Version bump only for package @aws-amplify/pubsub + ## [6.1.16](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/pubsub@6.1.15...@aws-amplify/pubsub@6.1.16) (2024-08-05) **Note:** Version bump only for package @aws-amplify/pubsub diff --git a/packages/pubsub/package.json b/packages/pubsub/package.json index 7f23aa71d0d..7c8b5684c44 100644 --- a/packages/pubsub/package.json +++ b/packages/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/pubsub", - "version": "6.1.16", + "version": "6.1.17", "description": "Pubsub category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -73,7 +73,7 @@ "mqtt" ], "dependencies": { - "@aws-amplify/auth": "6.3.12", + "@aws-amplify/auth": "6.3.13", "buffer": "4.9.2", "graphql": "15.8.0", "rxjs": "^7.8.1", @@ -84,7 +84,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "typescript": "5.0.2" }, "size-limit": [ diff --git a/packages/storage/CHANGELOG.md b/packages/storage/CHANGELOG.md index 0edd72d36eb..f9c2c26cf82 100644 --- a/packages/storage/CHANGELOG.md +++ b/packages/storage/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.6.0](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/storage@6.5.4...@aws-amplify/storage@6.6.0) (2024-08-07) + +### Features + +- **storage:** add support for content disposition and content type in getUrl ([#13615](https://github.com/aws-amplify/amplify-js/issues/13615)) ([28434a6](https://github.com/aws-amplify/amplify-js/commit/28434a69d6956369ebd7b2ac4b67e0ec1bb14748)) + ## [6.5.4](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/storage@6.5.3...@aws-amplify/storage@6.5.4) (2024-08-05) **Note:** Version bump only for package @aws-amplify/storage diff --git a/packages/storage/package.json b/packages/storage/package.json index 10acb0801d4..147b8bafab6 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/storage", - "version": "6.5.4", + "version": "6.6.0", "description": "Storage category of aws-amplify", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.mjs", @@ -101,7 +101,7 @@ "@aws-amplify/core": "^6.1.0" }, "devDependencies": { - "@aws-amplify/core": "6.3.8", + "@aws-amplify/core": "6.3.9", "@aws-amplify/react-native": "1.1.4", "typescript": "5.0.2" } diff --git a/scripts/tsc-compliance-test/CHANGELOG.md b/scripts/tsc-compliance-test/CHANGELOG.md index 12d5aabd33e..fc7a9f13feb 100644 --- a/scripts/tsc-compliance-test/CHANGELOG.md +++ b/scripts/tsc-compliance-test/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.47](https://github.com/aws-amplify/amplify-js/compare/tsc-compliance-test@0.1.46...tsc-compliance-test@0.1.47) (2024-08-07) + +**Note:** Version bump only for package tsc-compliance-test + ## [0.1.46](https://github.com/aws-amplify/amplify-js/compare/tsc-compliance-test@0.1.45...tsc-compliance-test@0.1.46) (2024-08-05) **Note:** Version bump only for package tsc-compliance-test diff --git a/scripts/tsc-compliance-test/package.json b/scripts/tsc-compliance-test/package.json index 6d621f68ec0..2e9ee597f7b 100644 --- a/scripts/tsc-compliance-test/package.json +++ b/scripts/tsc-compliance-test/package.json @@ -1,11 +1,11 @@ { "name": "tsc-compliance-test", - "version": "0.1.46", + "version": "0.1.47", "license": "MIT", "private": true, "devDependencies": { "@types/node": "16.18.82", - "aws-amplify": "6.4.4", + "aws-amplify": "6.5.0", "typescript": "4.2.x" }, "scripts": { From 404f47b9641ce2ffb5f8aa842333288f170dbdc2 Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Wed, 7 Aug 2024 23:47:23 +0000 Subject: [PATCH 20/21] chore(release): Update API docs [skip release] --- docs/api/assets/navigation.js | 2 +- docs/api/assets/search.js | 2 +- ....storage._Reference_Types_.ContentDisposition.html | 6 ++++++ docs/api/modules/_aws_amplify_adapter_nextjs.html | 4 ++-- .../_aws_amplify_datastore_storage_adapter.html | 4 ++-- docs/api/modules/_aws_amplify_geo.html | 4 ++-- docs/api/modules/_aws_amplify_interactions.html | 4 ++-- docs/api/modules/_aws_amplify_predictions.html | 4 ++-- docs/api/modules/_aws_amplify_pubsub.html | 4 ++-- docs/api/modules/aws_amplify.html | 4 ++-- .../aws_amplify.storage._Reference_Types_.html | 1 + .../aws_amplify.auth._Reference_Types_.JsonArray.html | 2 +- ...plify.storage._Reference_Types_.GetUrlOptions.html | 11 +++++++++-- ...y.storage._Reference_Types_.UploadDataOptions.html | 5 ++++- 14 files changed, 37 insertions(+), 20 deletions(-) create mode 100644 docs/api/interfaces/aws_amplify.storage._Reference_Types_.ContentDisposition.html diff --git a/docs/api/assets/navigation.js b/docs/api/assets/navigation.js index f66721d8301..4bd57799e42 100644 --- a/docs/api/assets/navigation.js +++ b/docs/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/api/assets/search.js b/docs/api/assets/search.js index 91aa3e28732..40eeca403a0 100644 --- a/docs/api/assets/search.js +++ b/docs/api/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAA+y9W3PcRram/VcmjNst2pJst3vHxESUSUpmSyJpFmlHx94TDBBIFtFCAWUcKLEn5r9/gXMegTyshQI035VlqXLl876ZSCTy+H++y9Iv+Xf/+V//57vPURJ+959v/uO7xN+T7/7zO/9L/srfH+Lo8eW7//iuzOLv/vO7fRqWMcm/97/k9+2/nTwV+/i7//guiP08J/l3//ndd//3PyTRQv9QkOxVkGZkNFz7w/vqh5LY//Hdwc9IUnCAsiz/5w15JBlJAvI/bl8OJP9f+vne90nv66T32iQnjNAB6/WbX3qwTfPT0ypWz9RGNmGi49gBnogeDcg/vR68DNIkL7IyKNIMlNhjA7vSMxnQ7v/w5sdeSxw9ZH72cnUoojSBLQBPiD2LoozkaZkFJD9Nk8doBytJDI6l6c0PP/5C17jHaFdSrQVUfevDzqJjRwqMUqHDotUxus0qiyf3BqsLspLWisEFb6p6R1VPQEz87DQjIUmKyI8BnfckofH1PJIieKp+tSV5HqUJoB5JaHw9O1Lcpp+J4yuEFULHxFHw0898P+SqLA5lkW8SP34poiC/ztIDyYqIDMKipCDZox9YtVrq+AjNAPNe9Pf+v9Pk/hAlhzRKilnkeGKmUO3zSEENBvz8009vhyK+vy9eDuQowk/6vPH1n/CmqyrE4XAfhce046RHmN+VrkRU5nzJ7zOyo1vmoxhEYyzBpJEmsyyesFpLJjR6Q1kWT1VXIPCr75b7xzj9gtBwiJK8kYyhi54tq5mfAZl0zHquJTaqu3/Fy/0hTWPwdlEiWZLhUYTvH/377kOwrnjoymU5Hk36nhRPaYjeXnlsXkeRm1YNDLrQLpe5JOL38VQi8Tp1bI6No4pCDdO9H+E/s7Tgkz7PGXRP9NOGVjRLn6OQZPhPMmOFNP/j25KRMMpIUNzn0S65j5L7MovmNUZBsDRr0rI4tjcDwhLMyQ9pkpP5W9ETPuvjm5EH6QH/S4Z1oc/z+PIPfp5/SbPw/pDGUfCC7oOY3zfdheDktoXx6jV62fM+qzrHUXIfk2Q3Q5dRZcUJwzCrK5Pt5F9llJH7OP1CssDPj1ddTmQoS7QqKfcPc3TPJo0aQJZoU/6yf0jjBdg0gCzRpvJwWMqDR6Msyaq88JPQz8L7FjS894siix7KYoZOzUTmRxn/KBNqhJWE9+23W0Tye5L4DzHBH/TTQjiOOTnJmqHIII5IUswxBCrP88jyZ9V9ZMHPJIseu/mGqi3BbxjU+R7NhuqPc7aN8jznkq+ewTvzCx9pBo8NjT6Dd4juPxPYL1aJAm/IB7jwuJIYmahMs+jfWI+vVLI0z+PIx5melKpGnJ7UE1vNl8VRUNxXK1DjsnZ/n4aw3V+Z9JGMj2JESB79Mi7uxYqIbsVo1kcxoyqI+D5KiizNDyQAn72VuSDP8yjyK6HYcps85pKnfjm/JynSu5mJjP5qxmm0RQ2obTZbGAqpO5I+1sRBGsfNg4JdcJ4iz5nko4+jaypGm5hn85eaPf7aOqIbJwPC7K5MTeIXZH+UR6OfxW8BlmbM3j+g+9Lm8Q03EZVCxOk1NsfazuM2Aoze7rGfR/kSHnRWfp3lIsTnxM+Cp/soCaMAvQvnCbl9ww84q7Ur+zfYZc5ZfNyHXuFB//jP7MYSGgKVJU2TcHRD1N96l2nRD49j7UBT5DHzLrR7hE1IY8r4fTb3WDuQVEU472fxuBWIH8iG8oMnP0kI8KqHUfFUjrNLVz/42yLN/B1BeuSF6Csd7JHrQK3PYsEoJD+UwWdS3Nf/N4NmNrsZRTN1uCyeLtp18NdpGnNHPFjKlwbFrrGn6S6JihSP3RtyANnSLvFdXUh3OcmqH26SEKW8RuOvp+imZUCX4njBTBcoeAmutchmKKPRQmnzBH+6lHHRX+FxnH55X5K82AQByV07JOM6PEluzmWnLpKJLWXVLy9cP00mBAt5zSJXUmNBWxJpTOyaGqe7KPkzct6uoIb36CygCkrZrCAMpOlIA5w7k2c3mKgoSLL3I9d5fQOlJ11+2HonhsQgdmebyAbbp+0m+/CUJjPW65MuvyPL7taAzqicyvLI4vePPp7uJvg31jzvH33QGUx5VpV1qsmrfX4OskdCU+QJkyGe3uk9NEUJ1OmdltxldjS5RVoc5i1mNsejCe92Vr1Ls73vOlc3ol3I5xtrp1h9oDOx8lw5Q9V7mT9CbGU2V35CZz2LB3obKD8CbVy2cERCsCBjLkG2Kdvbcgm3OxnOlO2BBJEfnz75mR8Ux7RHRrIgo+6AtiXbG3QHuRsZwJjqiJu7wx/Uhr9P9SloeAaN5Ij+thW+8TZQ2wpHBAv5zC+z/lW9hxdqxFQllMvpOFLPkxDiEGUNqVROx5E6R3nOU5LMqHeZF+n+uj2zzVUhEwx7nDuoc4NH9vrA7iXBuisvgo/N7SCb6wv+8hE7SUI87IJ4n/mHp98/omB7Q3Dn0hCNRv06HBcEOL0gZtSZpiiwL1HxJLtCAlHniZgnnm7JElP6ioYn4gOcj6kne8hrTrlMad+cb29xtLaRv5EHs1IDOrYs5lMbdoxayWjrKiXMcJRc5fgq7y5NWTzBvvOGgOi9j6EtA+o9KTR48pzAyo0qA+Vg+GeSIIvk88CVJ6mLoPVwpjq4ub6A5/WaqFAFMFG3Nu5z/VINQFP6eiLa9cEIOobIM0nJc6AnnJHRRMWTIHmeW+dAH2s2JvbTvX2LRu3VsaHKg7N6jr6bXBP8NxWXz/btxObGZrXmR/JMXBdu6Qg9keaKpn1qK2N+9fAvEhQf0+AzzNy5lgfybI9lwiEjj9HXm+qIqGeoztK4fiHHGaXT7e5VfbEgxKpZKhJ2GwtyaQjP68FdC0KbqqxxMPd9CCpAL/LQENJdBrGNdskFeJkI0eeWdFW6zpKMamrCzyOquZ/i1v1tLlHExJ5DDsjlFoIQuOsr5BLe/PD3v73+6Q3zHcU1vvWZlMa3zmI1uzLgbXs2dj9n+4E6q9QKXxZxJjHNPHvV/4CTI485g6B2CrEbkHGtWdJw88nQ2+5pq2ruzZ4TIpt8Pz36W3bJrqs8Lu4cwurZ023VkjqoGILMgHyWBuWeJAXzbjRmpqPMAP0bN/NgzNsGmAH1qj3Nmx2KNgZmwsyF7ViRhxgzALfffrLhDGNwMdZ8Aq7ln+O2GthwCDJGR8wAqT24kTK502Mlk0VBcZfQh6FYKOuDzFKZ+tx+I/HBrSJxoWbAr3P7QF4cWvg+xAy4f/hxFPpFmr0rE/Ykb2NsIdTiH1k5MeDjKro7SKGm5ZpgW5LRzeY+Dct4TA+TzM5r5e78pCBfzUZQWJo2gmUNYA1RnulW/wgI0hvCucB2MceNrbYTuHNXUTANrlcJAGJ6XUAIg2sLR02+hcGvw2Da/OzHpdnQ3gSn10WE8LlxUf3+uCmTqwPJ6g0P1R5svumYaJPZPBXBgN13eYfo81q/RbSykL5HTtP0c0T49RGT7xEmGeh7ZNP8xKhyszRtBMsawBqiWAoYkpgUZg+gmtHro7mgdiFVyDti9m4e4W1CIcNuYrMJ+nHeJhomcg7nb47jLz8oWf1etw1jozf/B/6Acd90pGh+yq8QMkLlo0BDKw9ItXk7t0md21O2z5v48UsRBc5EHh3J7gXVeaNCNV1rKKW0WlmoBxj6hdl5MDLANggK4I6YnVEo42tioOAl9InDzqB8NBTk3GLpqAx2iIOC+Uyy3PT0YhnmEAcKk1n6SXZ+8GKxBolOCNw8fsnvD1laLVCzOQFaAPOkAQ3NZHyivkKY3Q1+QTZ/bqktW9T85kUozME8tsNJI2K0gzoXgaDkA3n5o/oEbV+x77J0z7xz+c8CbTWageEVddOy+a10d4a2AHkcSN6srD8TmY9I/ptcA3ckjPsX4kh3Rvqx2v1KO2dpZuKwsl6m4rCxvgG9PkUvs/v35ql8fKnqx0Vy0Fi8NoKnjmpBrr+6M9Vc/G9P7g1ZOCkYyWfsXAKNMwkctPU5HEPadZY+RvF0x8hR35DNDCLpB+38uVrgkfnB5yjZ6e5SGREri4f6cBncE2+D7ZneCT9SOFKvVYfuVr9FktTHnk9OTqobFtOsmZ7HkSXkgSqPfoiu/R35IyJfAJ8jRUjcR+lw0FpMbYntDfHdSkZlN2oLMa4MrpEwFFc/y5c6BxfbaqNzwJbGjDWXWay929tWHJsHujy6zWhvPOvf2HV74yRUGnEFL98RcNAnS+646ohSUi2RQtM1hJ9TlNYJ55aK9I8yd5Eje4Sqj/Ao0N5jraGPjYj7CIVhpnOPix21N4SHKRjOa/UXr84+M0tNffQ5JRkeHmkpzeboSBeJ9OO0JXk1KA7YiZVHXMEbaQQc8o2kcFxePHcwoxFUGNSCCLozB3VvzjRg9iTB3UqCNld5tMI+3VUnnUXTKxRNtLBxMWRYnX9hKcHo7As9JSe0Q+pP1z805wbdhJ0wOaFonDjaIU4DH7YJkMnsczmGxL3/GV1gm8dR5KWhxrksrvraTI4mcKbnkcvrGHIPsV88ptn0GcCOUql8jilzpoIVszuG6CLak3/r3IjmqJbK5xgy9e74M9FocIufW7+selMV0PWRCrrKHlnHb3iQrGa96t1R9f2jYnr3kZOckzYLeE0TD0qQlkmRoavrc5ldYOwXUVGGyNXxhMpmfolpsptFI5XP7CIPaV748WmKrpLJaHaZmosZ3SSaLHCElQcwCyHog5p60Hg3u843COwgkwwa4IfYh61UbUAMcOEUqC5Cs7K2zMimLNJ6kJFdQSfZYqKzjEkRFno0USlLMd1jqQZ3qocXQS/LchMgiYQNX5e1dBbEDF2Igw3u8iDA1XbNaqGPBrGKdWwDMwnSLNTHoX7vBkIvMhfcn1qr3eOIScGowiivDsPTRml/D5Y/SYyyb34OlvtjXOZP5+z6xCkEKg0YR0RVf20QOhEYSVbXfG2G5ueOD6u4VeD7z1FC8khzy8B9++ujbB3oM4fYQtDrls+bypqxqR7dCJ9bK9exGhwNrbMZ04LbYIPmNDwdXdml9rMiKprzm1AEcRnMJiwvMuLvjdZgmshiwmOK4t//H5r0dat9RtfCkU7AiDA+HNbT4/am6gW4vbEkbZL1+6JHsn5vyFpI9fvj1WOUkaeUujNZqy2/75Id9Y0yUEC+WgZL4N8xY8QwL5ueHvmtY6LE4fUzIge5uTYS6Npum8uEafkGkTBNoOzZcW4LB0jnRlH6bEtaxwPJ8jTx4+jfug0jleI4bSINANIc0h4o1mQPvzDb0DABy8d1pNdvCevtLwYbXG10eEMmYHqEnEYFGu37spdovv0LSOTBfB2qlcqD5ZJUIJmGm7GtJNpsx7aX5/hOo/N1fJ3J2z77NxmNZv8SU7TIsvdXuxdA993R/tzmzfXj67//+PYH+vjF8fF3AxJPHcvIts4MNbR6TN4EVxYFGFT28WGCyKYHhhsZwDdhlIYBRpW1LyaMbHpgOOlgtwkdFwAYj2v7TMD6pI5IVJt3iMZJDtGs/fFD5NT7PkT06/7NL9SDnxebQ3SeZelQJ9qAGgR0ciOc0c7zT6/f0A9/XmRldSgDBJ/HxrNkZeKqlxUF6TPJXrblbkdyZnmpiwBp2EFHkYevovxVlDyRLCrqC0SBdZVJSLL4JUp2YLXGE2MiK3rz85vXP4oXAQKVUB8MW4V4qGr9k2s/8/fTnylSPWIcuAebW5eW5zrnRZpQekNQ20db4qPLyjQjev2laY7oI20TiJCJRgpLlqppAtE01kYBCmIvW9jv0+S6fIij4DSOSFLo7qiWKlOGQ3rCqwOGP+msHrag9ajgtuWgtndEkN7NF7aKbvVv8YCR9MTdmAcpaIiNKYd+YN5XO5V+/9hf6qA1JimVJouE9JhkJC/j6VFuM0yvj2rrvdRL1aHKflbf7WpZj9Qq6MBIQqT1p65kf/zsKKeNssjmVQoJ0aoKHuI0pmp+1zZUV8BfJdHYxWUA3wXEBq9PiNmRpNiWjzpHKRpIEENji4FqehgZoM2OKEBocv6Kt+VDHmRR/eNPLl9G6nhIzZDWOg8bVIP1HeoCkDurPoMz/Bjllu/iPjmS0c02L/uvTpbPY8LZejxYpoCOCmI7EsHxdpHQUBPte+10cOlokMj8Est30VcS/l69OW7YfqRkiaWUmw8AV3t51PckqbpgJPxUFux+e11WIcIMsL8zr3lj0jr5DJh0M2dPS0dBhG5ejZ9I8ZSG5rB0ajhI05sLNdmMrioc60i0bk26etMOP1NfL4b0QwT0KvBH19Gyp6VCIOOyfQnL5lYZCQ/+kjyT7Hx/KMybsSEpHt5d8jlJvyRc5TNGlYfBw/7j52ZEyhi0S4iHVt0uU3Ub8vrdbgzIJofD/IUa2E4SUi9t2hY+dT8oScq9SMj92nre+2c+f8ob/Zw9OrGeKbzccaZrkoRRsjuL8qD5KydIWTRE6g+EHDZx9GxTpgI0HQyR+ZIUX9LsMwTxEAqeN0p2DohNagSqNDmL8qw8uD1NXBhcTrByHw0KqGF4eu1M5tK7kv3Cd+M2ZfHETrnK4fifAzTll1f3m+uL+w/n/7TJ22OS6/kiaFZy3d3+dn979eH80hqNjgBMd3pzfnZ+eXux+bi1xWNDQPPd3dycX97e323Pb6wB2RjAhO/Oz85vNrfnZ/f/+PPWFpEP4s5ILe/TXtpntYgPYMme++I8hGV4aAvuoJfW4SyiA1wup7EwzpREnK290Z4/ZxJYv3tsJj/EnM1mN1ipqm1YlVdag+0SnD4xJNDXgiS57oIlGRQdwA1MONBJ5+Pd4kN9esxLZ0CZ/ilw9jekKDN2Zcwow/B7YBCDEWtJCluYt1QVuLq8PD+9vbi6vN/ebm7P709/21y+P+9Z+llgsV7IU9oy0edCUce6K7Z/HaKTkMQAee3aUX/uUVBnyyYAIdDLFiKvajWaRmbVzwByi/JTPwlIzL7I1dkyvwfI/+AXwZNGvvXvIPJLc52irH4GkVuplZnRkRdsk0XvBPo+r6/ontqhc9/8DGK3o7z2aOTr8Sm1hHcCQTYqdThu+5UkSHTPr22I2rvT6+ZIe9ODGlAd1oYdZSWfNbzx0j6lipGcINb6uSk0WnIBKbHZXoqqr89iDnHs2UTNh9u1/xKn/vThAGMiuVjgDxZz/+tDnD6A03ptVMdS4E1VSPhXrrU5x1BCG3UeCQX5qvN5biihjYoogf1qOSMxKcjkWbZjOqgQCPVehtsvendD7sOgY78nhZPFXfo5QJ3NpWPgA9PLiLbbG2toLg44uPlCLENYwyVZIy9S3lK1+78Rf/oc7DElfQD0ilLl5Fy1mSCzINO72CxgSQbfyecxr6uPbadaMESYB9a5HrBR8KHT3O390QeYBdXdXjoIPnLpaG45l7clgLXljM52awK325sb8ldJcmuPxUjwL2jD4eoO1nTUWhwDchi87iAcxrAneIwgAHPWG9juRwlNx7dH89YcZu4yNx9tHs9da9C5z9x07Hk8b50h6D5ruzZPPiBdFk/jY7Bloe8xxJhvlZ/LaG8lSHGozZ/baonLNtolF8kZKfwonh7hlePIQpkxmo3nvovTL1rHDxjielxwW3ZpDipBcbqLEo1TQU21DHGxZEhqE3P+nZUSw5tfjOqO5vmrenxGJ62O+lubNoKstS3VAFp/X6oJNlcbTjNSH2nou7QqVBC09iQISJ5/IC8uFYPn9NioLk7TPiqXAh0irj/uroAJiiwgJ0FGik3nGaAKMTK6lLxaU6U3IWeigwkLL4J5esviqbow9oxU+0OyF8fOgTwa2vPcXVuodYWEObLHZ2BfFgqbVcsh2599ImFU7jGUCTnMJy0vosSpBRvXRYdHFCU+RMljlO1vSE6Kaz/Pv2jfQjOmUhET64EKmgxr+7Tuq7Zl9yQ5ORaWyn7lKRVfut/hqWQzmVdgqnnEobW4IYN5hbl2k6eVgXScNaUp2pHmOwyoAaGCobUcT34ck2RHhH3nYNSeLA+I8qG9xn6YBFGwT5FcykgduzsA1rE22HreTjw01muJdnqOGsZogq9hE1LgGmhBC3DLLBejeFyqMZD+onSgp0aMuZ6HR8GO9QxJ7B87l7H7pcMYw7RUPqdXr+cQy9fPZm0ZkyR3rZ/KmJjjtbSVLi3hOLxQas5No7oAxgrtOQpcnsImAFZxRC5fRRSaFzl/+bROqa18l2Y7UjQ/c633Qiwsg0PX8peTen1cJ89FS9X2X5KvBfOJsy3IwUGYNB7aEGIY1heV+/FF8piiUHtCHk5FI7db+daHHNod0SjPaD6h2SwV0JNlgypS9rDdHUK/IP2rBkCtJCJePxS6RqrgseqkzH5Vp2a2kvLkWSGL5WtnVZOTsPmqqrr+rm9jaTysmun+Ba7GhfoIlxuM9x0+ogjqU3xKkqyOgc2wzDe1AlO7EMfhZx2Axx55NxpyZ358VRaAVaqJhvaRlnf51JkiQHtiFnDl0lqtnKD7Wji+MJWqqNiIcvh6tiVJyAwS/EGy6DEK+pEy19ZML4PltnAG/FCtnmaZ4I80mmiHH3Y0tkGo2yDzlTNMVALUUqQpPI1pyIP7igWB/gC0QEEDH6DjIOBD9Rj0Zk6bXzn3EegweJ2DKhcSXrissxJAPSYsgOPonQBRAtTbXyFAXmeqw+BvSBhlJChgmkkhItqQTZkX6Z49YR4W2mOzACgV0W7k94FCGOi7YUzU6G5/HFEnJvv/jbWddNap3oVZFew6i57rI3jqNdPzCD5RZI3pQue10oz0OQrt9+NMGUDFR67Hstbzit8vbafuynzbtFE7uYvTBz+GhPT6kM6u9x6OW+2+HmyGhWAwbTbGIimN1VFAfXiGHrIPj7+4C21Vl95yruZXujfAT8kwv/rdflkMLK0nxAYwf/xecep3EJ9QXRjcT6hqWmJ/qFb4QOJ6kuAQ/s/xOcUKgfycmhLgtqtXig+wtVcNz1f+26vb6y0pyoP71DcfCushyJ/8jITbenMlNK7HBXcqAsFbxTGKO1LUP7vLInA9bGw0OVytaibpoeZEJdGw6hbMJiwVMOT2K5nFqt5pHGKKYsMjipLXMtBV8KqQy/1wGCWG+opQOq3TSUQTx+eCLVGj/jn3IpUx8bqUTZbuTYMK2qOzgC4j9O7lhDaovqaONI3657zNQhlzVS1gPksTKGypwPlQntAH+9GsI1Ooh1CtPR0H/YgOt9URIqvHRXYrBsZShZRnPy5h/fa6kCjwfL2pl3S89J8Vrk2XLBzmonEMVC8A2J8o9RWt+VVrAWp5J+RwtSptZnSa4Q+3d78QahVbEOTUCHsPRKdVAzZoZeExobHE0DWMOdagmjY8rRcKnHYnQVgqnAq76N1mWvCAm84my2CkHl4kDvVQTyiTzRwiR+vn5TDkVB0bHWXWX3o6obHq6T7K8yjZOfentTV4shzhClNWKrPVWqVmpJo7Lna09m4/bR3OhlCFW/57fJQc+l2udH22GsmoQ6qFoqjRmlf1NyGrXhcPbVYMvFAYYqxS6W2eLJa7g3OfXhFtVc2BAI7YGjCWY3XuR7XB9O+nJanrHJQwxHoG+ejz5oM+8lO2F1FSkqFt+PRusyUxCRyOZh0PivZVFcfpFxJ+erepf4fH7ok5uZTTmP+IdW9SJVhF1BM4Xiv7gSgwwX3EJTcQo8xoJTSYrZBWpMUBYP3SpEBJPsgy6Vp4libtrx0KkQ2y2LomwQSqXpyL41Y7vfrZIJhWQ2MC9bg4F+VWvycFdR9ANdRf/TGoVgo4XOUyERXtnd+dlTh9Vbg9t8fkYl06U8aPSOx/iK2SzmhuoY9pFpAb8piR/AlTJ5fP3DKL6kIP2zemlsA+hxmkqVuWu8RHaVskcVfSuqjIUdoXmf2ztTCjShHaGAOx4K2MUitOO2MgFbClUYqEbmvG5dGtzT/yNLl6+BcJbFevDAEA2w+G8Etx7b/EqR9uCz8J/Sx8F5E4tC0RVTi81s+2MRgl9Zq41vVF6apCBvlq21Efl9HEnU1G5FvX81EZTdz5ZOQo1d9r4s4m41+F7aahcRlN3NlkJA+PKDKauLPJyIPU+pSLcSFd5PmklA84Quq4mDLoNx/UOeCznf/tPH6mOCgaZght9GToH/7+t9c/DZdNtze1cvcKSG69Vyz6o5ND9ot4zLJ42siXwemzCjGwgRUzTGbEbBBs5ORF3CRgxktFQIY9k993aYTLxkAGFm4lN0LtUq8C8tVrZMz2gbCjbBMjI1YnoUsmhIxI2RgzAXPzFVbA4LMqMuBr/gArI9QuNTKkundjRIvZuZFhb0lWvdT5E2+MmNkYyMBjF1wYUePea6FGZzf0cbuULRTI4mELUR1tbIbPRZkT2rKmszEQgU/jiCTFJ1L4oV/45rBsekxQyTW21o3JSDB8Ce2JrY7sTJR5oMXzymygMU4rE6DrfTMOnx5cAETUah5gk2W+RdvWJ0XGu86ifVREzxY+MskxMfsRIgvGPi0i4Kd3m+us+7k5I5McEZO/B8f6gVcEQkZ3fzPM/EqYvPLAWohuZExxbi+6ud5wjq+2ud5pstNibJnVseYVkEMqyPEl/OHHUVg/QWdWvWU2PSYoe36Ctc3yOJDzIG9+YT6ezrMsHcZf2gxE0v6nZihUxj+9HtwK0iQvsjIozLP22LSajgxKFTNCGQnSahx5W+52JGc2w+iCSUMMfEUevoryV1HyRLKoWQ7lwFsmIcnilyjZWRWgJ6YHJBWvwNI/p5/6vXVVYzcIDquNrAA8NoBBhetkq9ZG1FGLF82TbQUuJj0clsEyMgHJdHmYBk518tZWc5Zc4BkSOwEJ5/maWdT8HKY2+0FA8ryOaJO/x6Y3cKXVrKzL9khDWjCcZh7eZLcSD8VHcEGTHeWmDWW+4BnWlGHtp4MlY8tWDQ73ZnkkR3gbv7mmwOo/2qG1SeHgmB2T1HL9JLwwe5OoEh/nfTtKY/fyVboD8yYeJ7Z5LWsA65S+MJ1qo8JuVlV17HoQEz9Dqa0MpzeVj2NB9M6qT5efQeR4LggSqTr3jhTBE9U9MrlJRZEWpr0x3uExRmO5i0NlzoiVzACzwYnWqsQwZpLEf4g1dwWNknhDJBMPZa4oUJvr2HRPWhuHpWPB4TKbQ/681eL8x5+3MCV54GZndDL1hkSaLlSyFE1ikW6LLEr09tL1BFQqOwTK87ojbvROZFLAvAB3pDD4XBQBPDqApiWscLk5zXguU4H1zwZWJQb6UNnrmTVK4TVRNB1TujFyIgYAYxsGDlJcTKA+HUsxJi1J4vAkTK8pYWudEkqREBptK7nRfJyJSoEDo7eQTJIEA4e/KXKaxupWSO31Mabe2F0eN40zckHOOJTrNTgjaGekumFu7OoKBZoyIRha3Xtqdp1oLpQUU8DC2CzeVCaEQ0uzHSka2VpFJyQAQ2E3bmtOcEoTgSKVWZWuKgS9MpOlAQPiF+FoFZk0ERqSnkvyVKBQZh0AxDc/uwJJ2x4uCRjO5DoiLb/0oswHreerZhhA7OLuUC220MVjfg6Hod/pxOhtmnQzUfqXqvvhtVjkd9dDYQmX0I+w2N00P7lQTjt/6J62SRcbpW89dsOpgsP5GlOz9XQGTIgd/ek7EvXJUIrQ4hsE6I480+WRtrZBd/xNN2K5bbmaWtgYVWP5pkjqlLBwqsvNxrCcbjCjgH5mjlVr7zfqCR7LpD72WEIx/Boi70AyPKZDIUsHyKNvB5MAmODuYEhwZ7hddJRAfm/jNIjDPY1ynpBUdxjQ81AjEP2PYXLuhpP0su5+DZu3ZIeoFoXtrlA5zyM3U6zDwqcB42iH07QZ2t+D5S/fozVF4bA1a4TFvIpIkoHQUCN4WhjU7yHy3zEDZDoEbAoIhozsyf6BZPousClgGNghMD0KNg0Uh9FLPYN+m+dTozI6VJNBYEjbARo9ovbHIDlrd3VysD5OLox/6OdPp4JiuSq1Aa5g+ty5dvcuB+vXleIsvA6AJBkcjUnzwKaAYzDu6EqSIdFovc5l6SB4ntnvTR0ULon95zL9cfr0fZDukqgYTt7bp2EZSz6R79sfaudLZfnj67//+PaHQb2w30ErU49Kpqe6F6dGGVsLo0cljwAIOLU6RhdTHQcaVjZ1YUTJBsDB40b1LPj6CBiA/BC/Md8QAAfP1T8qAjTgyGi8EaY0Dhjs9EocPdixOGCwI2tz9CilAWDxxlbPG0DKw8Cijk4wGLAq4sDBKpcaaUJK0oPBja700eNThABDHF/7o8eoioEGaeWkMggoplMXCLfvM7ZiyIIP3j/DNUR6zNpB55Nh5b1+VEAh8nVGusB8ajgw6+47Ur/docOO1VOfWp1kQieLAgoqrFfSp6OSgiLZfd4gfdc4fNBgfclM7sTSwxsJA4zq8mKWRwAGdP4oHAmDiWpVLcfiYMJafcCOxUGFhbIW4cNLua5KE1JMDoamsfhLD3I0ECyuajmYAagYAgxRskpMD4xJCIYzunBMD0wRAhrRyjQ+LQYUNf9oDHWnv/tXH0o+EWfExocAQ5QsBdMDYxIi4EjmCk3BmBBgiNKFWnpoXFJYJPkEuAEYHwAWz6lM5RHgAGUrvDTJ2KRgSIpFX3pQQmIwLMU6MD0sITEglmJpmC6YkBwUzfZNzqcFg9JfQKYHqhMPEJ5fU6YLOaSDg7HpBeXg3Z+RlWcmSFwAULwr467/kAoUxLh/mIN3DMeWrOkxySMAA1o2W0JiYCyX/rQ8AiagaV9HEQIMUbX8TY9OTG0NNiyGE4/H14YSD+w3WpsnwaLP4z9t/rUqjOs0jXP5AWZtViaQo4HtJIxeMmB71r+TBKubAdRyxnOkS5A5n7s7AHpbpBlBFixkdhzN9anvV1nwRPIi8/HLWZbfbMonDvfDUWx+BiC00pwU1ZrcerXcDlktn9fRFH8gL3/4cUmqx8vfYT/N0gzn0y6740D6UI8cdzhigDQmwqtHPH26+f4XbtyEluHJM3MuQHlhjAnWP2/UQShce2QksB/9wi9PWVazi8UuS9A3i5G4tpWXdJbARcqyml1s/dv2ZHG944itxQpZHUcsYrXNZ622slcjaJWtg634ZTjwo78FG9/ne/3x0hCq3agktBceJQz3TTcl76OfFybXIpmL43KYSVp1kj5aXWSCzyRo5IsIThjOV5CmwOof0YqMjY4oib4pqEleHx5jev3X9NesEBbhFSaMrr2L0y/VrzAleFxGUF/hYjkohMbpLkr07g6y1jjkMYc8ulaCvtDYYNg1MKxze5+l5YFeBQmG7gkZOBcO5/aoMExNs8rJ/CRM98KMIpwmIQM8YfSj093X5aioC4P9uESu1jOgXgRidO+haj7D/e3CYhdAbxEJuKxuXIQQH6dctFm+Ts1uzTOE98QswEqks3zkUwBXm5DDXNLkE0OAysBng3SFVf+IW2hiFqji2LNzK1M/kJepKzwmPnKqCChNA3/LTt/B5L7PjKmFUDPgK8Z+jdnZOAjgP//009vhhXJ/z7wKIXC9PqZzVedMHV1Ss/lzq31p7uTsrn5M59VBzgtpDFnd1tAYmD3WCziV3CANL1TM6ehq5fcGo0u3u0gY0Aed25PBXYC4TNnNA7qdOiOPfhkXqi78pHp5+uO3PyNcbm2NwjDFJ929z/d2nMjpcLjchyza+9mLzQMxKkAWF1WJb7F6bEyB7/BNYEb+2XYV2Bi+GBRag9bXtdvz6/o9baZB8RHtJMH1s9lMgeUiyjEBjl/HhvyKT2I3Ba4fwdNPs/ietVmiLSRdzNtVWKgA8GKVTi2Ctos8NVSTqLlMRDEJZe05xLoXMwWmS8/HyG3npbWJ1etYbLkBVq2Y0FsvBlfjOy90MOGXLrNxgHdbVKNNLllFYwvtsmZGm9ftHS9ZDQPwenda2uOAPl/9lq3csQZ3Wacz+vak+iHq7RWT2EC7KCD7IaqNAi79kLEVuewcc/IYR7un4jpL91FuUHEV1GI8LPJCPi1gCy6EQ+U27D2PMVuuydfm/eJHxbs0u2gL9qpqUp3JFUEBNYxOxkBin9hOyoh5SF3B6IZjbsJy2m7lRG772gHYP2XLDdANN94QBddmyiJi08O0nHw0bGr3Gu6w18x0V5lp93t845ht9xtgL5wj+Sw1RL25zYF+tqdS3K3mSg1dv8X1/N1u7jpZN7NovCh+KpjzdwXAZlYtRkXLUuThqyh/FSVPJIsKEprM5KodBl8HpyfRsSlykOWy50dbm/NQgYHAt/TXbp2KmrQXlgM9+1l9cPGISnUU50dIZJ04HUgfF/I0IPqrhT6MsG6+Jav21Jcf9pRCYlSy6ii6tCzOSFhSragNJhPJvQllJtC7H3yfk+zZ4JzO++b32jRIp6vSGCCHrHY+gB9sypA6nm8qQnKFqluY9oXodgF9l7HbPfSiDc5XsDNgLje3jrIZX4jeYbnciz5WaaqP7Jz5SpBVmf5XNhXG9rC8IVOHk/IGfernepO/JMFpGsekLgQnKE8MZgA5up56AP7v775/Svfk+6xMEpJ9/yXNPn/fxnr1r1zxx4MffPZ3JP++z+37MMqL70m+/75ejf3f31krv7+veO4bnvuKp0t2/69c8ceO574PfF/x3JN8X48gWpXyuIF8ucfxu4jE4dWB1N9J4y+fI+n3ZJROjpygVZ9Rqxfv8roNbgKdpklBvo6fVnw0i3nE9ZlcFk+f0pBsq3EVshu/uOZoNouQqzf62s/8/UIbDhXq6k2/IUWZ2feG5jS9R1296czA65It1z7NZIGGd+NTy21RaMJVWpxm0b/rKzRuyni5FZqnXJ3Vp+n+kOZR0S56f4wmxn6OZbacc4V2V2tRguI3PwnjxVrNM67R5iJL408kz/0dWewrUYq5PrPLvEj3S28/RMjVGX12sT3d3Jwt0t+BbX22+oVfr0rhpssXZa/AuF6bt8ET2fvLtrlnXLHNiX/In9JlDuXJKNdndbO94ppkeZQXJCmqz9u4Wnl6Rq9lXZTvU8hrLASSZSQ89eP4wQ8+35A8jZ9JdnWo50OXWgoTzKsrhvMsS7Mlf9VwgOs0eLFfMjTd6qx9n/mHp98/nqZJGDnN32M6LIFcq9H1bPSSTe4A12twXCy0GeYJ12rxNvBjf7ntsYxydVYvfEhp3YNJA/2v1enhC3e4Y1yxzc0arGz4i6uHf03dVX5849XUay+KeofHGtzvQNdu+DK/xSWQqze63vMeraJpoVjXZ3sSkq8kX2wnkOVbob0FyRI/XvB8gYC4XpPLhzzIonoAsp2PXrbjUt7V2f+BLHfB3sC2Ols/RvuouI32JLvxA9IOrzcdqWX2QiaAV1cAn/zE35Fw4V/wMsoVWl0ET9Um6xphoT5ziOszuT1O6CprZ1CX6bOEcrVW3xA/vErilwV/OypR12d6tQxgk+dpEPmLnQKTQK7U6G5n+IJtphBXbjJzwOJyjdY+snHxZm/iOP2yEsc71m/A9ussPZCsWOam0lHcb8N89uijxZvf4a7c/IX2DAXGldrcbtpcsssU4npNXuwuR55wnRYvd8kZg7dicxc7jC0grtjkBTfDKx/7WOx8OU23Xmt/9fMFtw4U4Votzgs/kZyjv0CrBdJ1Ws7c37o4m7Wvg12itVXdWK61Ld06rW2OqFv0AD+NuE6TrzMSRoG/5OF9GnHlJm92u4zs/IKcfy1IsughuFHmlRfDitz/dky/rCrRoltzGerKTe+OeV2B6RTq+kwvi2rJUC1omVazgKsz+NLfk/wwLDdcZoWWUa7P6jRZwUipjHK1VlcEp5LrY5douMi6RtsvyTPJFjsswgGuzuCrh/oSjt9Lkr0s+WwbOef67D4stpnu0VZoalUf/Dh+Wcf+gHHe1dl/7e+ipP4Iu0gO5TKnu0TG9dnMHq62TJsFxrXbvPS+3iju2s1f9JmH39Bhh9QQ5iHjrsxblOVSzvXavezvdinmes1+n6XlYZkfNyLjem3udtLnH8gytwyoSNdr+YJPfBIZ12tzXj+dy7a5Z1yhzWlA8rwal1+oxTTfGu0Ny4BkK1hJokRdremrGCFRsq7W9m2aFeuo6jzp6ixvxuWTZbpMwa3O2BsSlFkePZMVNNxq1m/F9nUsCjSA/1YKZo3l8Q0Ww6IXDk4zfyvFsOilhNPMKyyGuK5Cix3K5QBXa3D+FC13AYUEcnVGNzc7LNLeHm2Fpi72pOH1njDckC93KQTLt2Z7lzlnxgGu1OB+GfqCPaYZ127zkusyA7lWo9ul50u2eUBcucmLrswU4/psJkW9B2vZ63NklOuzOs2KsygjwWKHjXjCVVq87ImD1U9/MQIWvohSzbpu2xe8CkrOuW67F7waSs65PrtXcnfSN3Jn0vYlCU7T5DGOltqKsICrNLi+0H2x7nZ067R24d0OHnGFJucF2Z+m+0OaVLDLdJlnXJ3N3KkFn/xldjKkmKsz+y4n2YKnpxi81Zn7x08rWLQngVyf0dWFhgu3mUdcncl/RsVTWhb1aSfLHHnmCVdn8f191J8E8WvmJ+H9/SKNlnOu0O59t3N7sUazhKuzOMq7i/VIWD2ei3RZArlCo8+Tcr/sCSuRcYU21/hLv9JSirlCs99n/uHp94/N0r8F12sZ5wrtHs6hWvBkihRzhWav5DZRBejqDa/HyPKoIEs9p2ICePUFsBbfvxG7r7No72cva3GdwV2r+Uvvjq//WOYoX8cZ2HLOFdrNHlW1UK8FyDUbffXwr6Xb3CCu0OSlbyLiCddtcTW2tvALtsd5V2j/rZ/tSFFtLVn+mJWKdXW258tfjsMivnq9Bpvf/PRzb/Emr1fDxTG3cyCqDnV8rDZRHdtmjrC2fRUu//DjL73NRbrJMv9lJfZ6A+4ybeap6Tak9xw887KI4v/+bjHNUIVzD/I4jF0cs/l0vr3enJ5vF6jbY+gWVlXb2jJY+/rN0B6cVdlnJDz14/jBDz4Ld3y1Yo5ssgpzoY2wYPlPr9/0lgeSGwhW4LIXLPkqgsZxpQLV6zCIib+yUmiJvw3/s+bfV1UCA/O3UQZ54WfFqkqgI16t/7I38HWW7qN8qY9CS/f/v2+xzV3Va7ars1TN/uHN0Gc/rKZKewPqqh3PCLPMZ8GG96Rr8/vnn356+zO15LigpygXb/hJD7wK30/aaqKs7kvuPnL2r6PX+C1V+Nrxtsa/erMW60+6qjIUwduhN3O2ud1sb69uzvsiePazqDo26OiF0JGtpZNIu3r+bnP38fb++ubi0+bmn/cfzv95/8fm4935/fb8enOzub26WZ7f08wrLImLs8UZfXG2Sh/PL28v3l2c39QVY7nVWAW6Qs+r1m/zfnktc8u1Rkf/eXm6PDv/eXm6Qi/vtufLe/orqBV6SaqDZdqzkfLFmcrQrcXd0c+M5TrrLfyDmq2piu/okMSkIL++XH+ulsjRG1OuM5LTZ+MsviBOdLSsoKi6gRpFiUXh+f5QvGyLLEp2Kyodnnv9JZE+5CR7JlVla3YvfowKkvnxigplRML6y+ev6rLAb6Np05CyyvL6eSgtv17H+kyyYYniY5nUa+uOXS4D2mq6VJyv76K4oJZ2LcrYhm2tzm5T6pbrRflaka3Q1bA+oJ2E9TFb53+VfhwVy2sSpJQrdJvk1cUDUf7UXXm2ScIP5CVfnOEq0DV6/vXJL/MieianTyT4vDyrWb5VOlxkflB8IC8Xj+dfo7xYYH0WENfr87DDv94SXd9+tFTDZazfgvP1i2gFrjec34Lj+SYJ1+L6wLpe54c9pfm7LN1vs2CpvoukK3R9R4qLJCRfF2dyB7ZiT6taIdvEvTSLOc4VO77Ibxoabp3eXqZflujqZfplnX5uq1/X/7tAV3u4dXp7G+2rQYT9oe74L7I14BBX4/PYBP7C7fUkf7/wiX0JsaR6KybFgoxUh2NvivUX0AmtZcVFNTGNWR7Cb6bEaC3fVIlRr5oo+UT2afZy7e+iZJn9exFxNa8a2ueQfK0+squvlEX27wXCNbqcb/7cntF38SzG3Y5sza5WDctyna3o1uru+d6P4mVaW6Ot1deL600YVofNLdPbHm+t/v5je3W5TGsrsrW6ev2UJgttaGu0tfq63PfXmt9d/efGcq2t8dbq793Nx2U6e3fzcZWeXoSf/MTfkXCBtvZsK3X26lD56Mfxy5I9FihX6XZ9WPip5Nio5VjNI67S5+4KjWVbLaFcp9tlHF9ld0lIHqNkke0HR7hKl6+z6NkvSFVjFugwRbdKd7f+o59F1dYnv/Afomq5/UKdVpCu0PXP5CWv9zYszuWebIWu7km2I9d+ETwtcOUoDbdGb9MkLdIkCu7iKHznV2/s5e0dkkGu0OtDlgYkz+ndqMurzzLIFXqdkV2UFyTre6QV+uLMllKu0O08zYr6/Z2Rd621i/Nawrgap9ewXEzlryf7h4UvGJMhy+q49GEoMv+ZZDlhr9ZbSjExdKt5AAZ3n/04qpZE9RcwLs5hgfBbcLlexrV8q2vMdfpdkoV+OlJsa3F2uDJik/jxSxEF+YbtlZCk3Osby0WBvsDr9fByvwhJUkSPL3c5dfqIO6zHxXUrQN5UqZIbEqRZCKmhj4hFT1WbQ+RWYbr0iFXljOpduNB5ZwD36w6GSVnfkwKGtQmEy5r5h6ffgbwdgqEy/0Z860eNBW4jodLWw2UwuF0oXN40B6q+bSRc2hIKtsRhpZrZsnhya2f7AIgN7WmaPEbZ/obkpLj28/yLw3uN5fUUoR09H1wd07ONdskFkPEeH3M2BXcHeAV1zFkUVN2x/pp1WCF8aFw9Z/VRsi69Vk4FE3AudubGe1gVTGhcPe9ISLJq1xjoEy5GxVZRBE9n5DkKwEqDCzkD/6d3m+usSwmpgg88gxaUB0QeGVlNWp0209QDKBlsSFz+G7In+weSgSoQgmJryEkSNi/bU3pZiqsKISy+DuhO4by9wS1JQuYB/INk0WM1mhqlCWDR6OSDrbS4O9xe3V6DKRriIZNDvshnen832VTHb9+Q5vBXUH4uML6WK/vPaomAK4hvaw1qsM+jmb6L7urzDjC6TfLIc6gBfj0IQefQgNL5U4TG1VO/dl6qZntLihLq8RCjIqgYBs5O/YLs6KV6ZvRdcuhBsx9f//3Htz8M05qb6wsIQq+J4+Zob9kIbjczBANNRcNHLwvbEXWOugmEDnzmF359PhoINR0NHf09SUGgmzjouBfJ5nBobhShL0ByIRdCziCiumanWQ8BJIEJiC6gWaICx8/Gw8cvH7blAwx5F2oG6PzpMi36r0wgfCEoupCqafN3ME3lEAsc+xexdXea3eOiIE7xuc35yzjBZv55K+WfeuVDHmTRg20VkSqgg2JpGKrMu8zfk2otmKWEPj1iNdkkuzL2bae4WEJvCOZm7mDcGPN2ewOK3cRDJT//erDtaHHMbSRU2kvytfiH7bud4+1jzUAMVjHocLjc5VfboTgeuYmETgvncR8MlfmG+NbDtRxxFwqf99KvbmACpO4D4rODVRAqGir1troFNdtGIblLPifpF9suHocvC4ur45nE1itvePgu1gzEYBWGDofK/UdJoF6PXSh8XjCbqWio1H+SB9AHkokHT/4LPajm9K3Yp8ddcU8K8p6kj9VPbSszS+qJQd1sHoxUrcTv8oLhZwOisn+M8gLYfT4kKv/Wf4auPXxIXH7iZ8HTry+naZqF1TnoYCqkgWfRch37AbmwnZtV6BiCzqLhllh/ECkEtBFnoH+XZttytyO5y9C4VIUQGV7N8PpiZ0Sc3mSyUMvecagkht12KPVY/s1djc+/ND8l1EwPuL6RjObSun1JghbA9vFR6+OCo2oaHiZqbsvpSRLi4G4SeiaZbTMsJ/WGoG7Oi4aONgWwIqio86ioHsNDZr3jVCWDCoung3oIuHlGtydBGmzZb5URZtj3isJpReWKisiPo38TPpVt4zsqczQ3ZNVDVWynjJ1qIBMDtR0+2LZfIqLXRnNzmrVPPrKQfkni1A+riVI4ei4quor3pLjO0gPJisi6LyKRwYedQ8ddZrsYQC6giYdOXg1nwHG30dCpb8g+tZ65kXD38dDJ7w7wTy0TE10BvUR3n4ZlTPThodbmqhYu8Ktx7figluEqKOmFt3aAACtuFW8VYY2tFSDY4lpVa5u68QGso1V19qQrZ60gYZfMjnz58ItkLWnhVseqhmgSx2rZRkBgk63VtUIEXKSrOuuFWZZrBwmyHlfFp1iBa0kKu/RWMaDGLba1QgVaZau72tOOEWp9J0355he2OUr8eHN9wR6/3GZmMD7JBoL+fPzp9ZseOpBcsALC67GRXYdSOWupEqCvwj71gycCrKOLiabgzQ8/DpVoR4p6JfVf8dWhOn8kSpNb+vhjGE3qXGZT+al+hKvLj+G1MbFnUtTYCa2lj4qn4ieqc//ndnM4VJMgN8SPq1v8rrP0OQqpMc2oivToBwbS1FGhGzamRHLhrQHP7uVgewZGvDctrOaqtRxHdxscfEiTbsb9MIyK+ra46nhGks0gxZPliVWiXQGp5B+iD+RlDs1dRkcTWqdqX0XnSXhIo6SYRbgi42MZURZP1QxPIL7wEU2QZXokA/4qSTZHje/yOZLM6gIU6qsQT2ef0ZGEPvtZ5D/EZI6Wm85rPrlMXyOOHjI/e6mPotzN985SZDufCaM3tcyr+0T2l69eQ129Mk2mDaXqz9UDZ5/8g5OBXRDc/pkwVeGM6vlgx4cMRqr7V5DgdTRsZHraBYAZ4tSTSeg+MSA5HRMZf0dN1LiD7wBOP5lEjhL/cNgLMzju9EJgdCGSqR0IGYCnoEyKOEjmVdw1HABPQpmWUD7k1IQLAH0XEB08f0pkMzEQEoTQyGJyborGXUMOdCqKDJ3p1GSZ/9KMMaeOXWImEmr3JkiTwo8cH1oR16PiOrrOuqqQkaTFKZISNjSSGKYe5XkaRNVx7NVBqE5ymEi43WRMaE+I7lgMbDj1o5GQAGSQSiJJiD6HpMKvzjJnJqKA5DCR55Xi9sSPagF44lVi6Cf+tMyLtLnVY0eS4owUfhTnv/q5UzGpo6K2BI/CYU/w7B6dieNZZ2rv5YV1npT7+i5K11aBCYRaJNW6VVhSrw3p5j1rpcLu6nLKqIDpWAnBcG3/C57Vq4M62i5YqupVudVvuQD3lX2jAui6U9etrgV2/DDiY2H3yoG6HlJs6M6H4LO8OJpjEz8CTNmzkXA7tmXx9Im+KgMG16PiOm5eZ10dkXGbfiZOz4BKRxd4DiHOs6cyETBTpXoCyq6rsS0fH6Ov0FLE8HOIApkDlcmBm/BUCqGbqIskJF8BGig6DmrzVCbRX6VT4ySgen1M14V4lJdyuz+m6efSaRKwiYBq8Q9AfN4Pzpa2filAX0OBvoYHpUv9k3+ofnab1v23JHR60oRgqHXhIU1j4ju9ROXA3hDZzXnR3HEp//W/8cTc388nJymrK+4QtPSBZxWCUixN6DlLJS8yx8lZhZQ+8KxCUEqlCY1cKkz7m4Yk7q9lOk33hzSPCuK4DlcdFbVFPoinEsDDewe4QwpG3MdbbKavD2oR2UiOlJmqMeRqQGGmAm0Fn/R5zqC7M1n1CnCcoDEXn0BM3EBIx67oyHVbq8UFbWjX2L7iN6tztqazNaLHaTvnbjKP2FLO20AesV3EbA51W8HrLNr72QtoYzjEXF2byKHjNY2U73O1kGptOA0lld/87eWkWJxmU6p51tZzWjhCI2ojG7dyo9ZnRcu6DZ7I3j93XOYxREFtPV1rHYfpgdQqykHlFFdcujX4PHgfEQGdrh23/Xo2oLUQ0oArWRChZodeFSG3HXVl5og4wAWalsKcnh0tZe7P0pS0Nz/8/W+vfxqOFPq1megQF6dVbwF9dXwY+MNCWOzTNGlOgLjO0rAMqHkTM24hDjT4aL8UgtUD6oCKjo64L11yaitLGgy7Ap0Rcvgzi4pqaYYlOB0CG7df+9EeAGWJzIfBxv5AXvKrx215INmtfcXnoswD7cw7B+plPR/q2nhzUbChr/ZR0ayq8eMbEtcXWdqiS2OhCzg4PIJN4nkQf3Bi/GEeyNdOkK/ngaRq19WjEzATCRv+Ogo+Qz1q0ljYAraBH/sZTDMnjYUvoPu2tcfuI6DD1gs5nH1mo2BDVz9gPjvNaLvk2Jh8B7faTXfqF2SXUqvBzdDHQkLLeUs1KvWZBn5BNvFwhGa/zFm/PaHCQNP+yHecm2ef6dONH0sspLNApD8D6ZNKin9sGZLHMmmOiNBm6WPYGCdaouL8w4+jsP5QeNciujGL8aD5h1O+Nu32lG2RVY/EC+P42D0YsoRuhU/fenD+bnP38dYNxBuimPgmdURK+enu4+3F/ebu9jdHUCYQIOsvGs/3GLGQ6pVNP1Ju3ubP7ZmveW27isMbgkA9GSJhdS4aCGUbCIf0fO9HetcdjWF2UXAYL643YZgR6hR5W046Eg7rP7ZXl86YbRAcwusn+voNW8QuCg4jyLOD+txUwfPC3x9AMLtIOKx3Nx+dKZsYCHy/cjtmrAB/tdoco0n4Lk59vZvVlHxdCAS6izM3tDo9Blfi6NmF8SHUmmRbds+JFdzWZnuJXs/6Y7SPiqpRyG78gNyQPI2fSfgHu7pgDHosAFg37OPFpwu9fvYkjtfFMvFy1CUp8e3Fp/MbIOIuFgLxUBHYNT5Vl30Tx+kXLQmKtGDFf3q3vb365Izi9XFMnFQZIyV9f3N1d711J+3joJFe/XmpWUFHQbswaJzXNxd/bG7P3UmHQHisd79+vDgFQO3iwJKOPezCdTNm8A73yig6ktcX9x/O/wmB4w2x3PyUXAtDd9zuLk9vLzS/x6aQqWCYzBcb21aVxW3iYJJeXZzZPlgsahsIk/Vue35zf3119dH2RcASM+HAublGQVyUMonusgBF8b6/OTdq8lkCr09ubNagXjHg+/HcgatPDs11c77R+y6TUbWJoZnurs9cyrBPDsI1VPLLzafz7fXm9Fzv2Rx+DjdrsLndbG+vbvS84QA8OrWJNZRu+Wfq7dXN5r0d05AWlOifl3otvoDTJIRkqZpgK5Y2oTPLUIGvDtoTI81PAae7tFs/Kme7Vq9VKe+0XG7Pb/RGA2iOPhkUh0ELR3NYtWwCx1AhrrM0IHnOrJoYY6F+D1Y19mWhO0vGZ+/1aU38oEVLicQ7KI2gbG+XnOZ6SQJLpCalO81QdX6vDhq80pyf6X4MVmneXdxs9R5jJmuvS2fiRK9UPry4sQJpkzlyDMWxTbPiLMpIoN3/ZlLAfXtvT88vzy4u31syeHQAE3dYAxQvIVc4JgIIHXUT+aZ6Sk/TOOYKsc1HteaCTeVWkG53jMtQHC4U5/2gl9RRt/j9l1/97qJoVhn+bxfWeyaU6TFWmrxFWt+d4cI5hIDhE2rhRUH2JoDV7x2bEArhzC/8bfXvza3XehxsomM+BhISh6eAM0O9q/Qx2pXUpW1WjH0MEMLRLW8OfHZHLXAhB7UKS0MSk8KFtw+wRDMbuNbJV2/cvGyVKoxMH3KSPbvADhGWaGVL13n5s5uXndZxM39nzg63Zv7d4rTwmW2tETtvX5ue5ys3t5GtcPgvR2ttTmCfy9O/GDPfupn515iLue/0xLfJl+hhhdZb6Piw1zJVDpLqtrbHOAqK3/wkjIlL/0MabJHuCqC91784ei1aoHb+PMvSDMR2LtJCPacp+06B6SnvouGMeJXbhZ8VLvRt+kU6W7H1fjr2shqhiq/KICa+0wdKmx7ERYZsR4pP9Q4rZpTZnJCPA0/6VFfUTRhWY5911XXAlQZbYh0VQU/Ev3r1uq/FP7rVYq3sVCWUF+nB6XFMTdeuqz+/33CrH/ptjKcZ8fVHC6Rpjzl8oQZyGMWQO6Rqy6p/Ju/S7PozADMTDJs5S/f0fIArdR9uBu53sV+019HRx4ECSBAio6nZkaL/KYAEPhwad5TXO2L7n7ujSyKi0ReZn+SPabZvtw28i+KCZJdpSG7TYXM3xGNhkBOkWqGtr6ZzXNp7Wfqjt/lKKNd2X+rWZHt0/jXKC3r7i5sEWVxUJdZtkVqEc3tkwu/SJqklQLRLEyrop7X/2UV1UGPixzl9Sve4EmnaYz6laiCHJ1Tu0ISbuvV5SLAI35wn4ygDqKfm5zevfxzGMzYfP1pyNSndeagDczdNktM0KcjXYZRl8thSNp3j1C492tPVss31hRONxwYymgdnPVEYx507ce1n/t7g3Fd5ekAj91VLaHbK7giTR4czMlPuk2r2Stgh4ARNh8ODzutzt2CI+1iguHzF7bZqGNbXPplbNWV6Ed3xQNJ9YhZUniKgqZ+DRWob0yz6d129bsrY8DFjkgI+9X5Gts3y0uY22uvyIY4CVzZPGdbUVtYylYiyeOrqsjs6GwwFeJel5eE09iODSwkUuEwoPFjDJ18FavqRYQj5rro+BIi0i4WCG4UkKaLiBaYO8NFQkNMvCclgDGZCocAerN4MEtSD/RtBBUq/Fao+Y5bGn0ie+ztidoGDmBbwvVD9wBnFa6OYOCdxRIFodleNCtFi4d8oIl26w1xPvTZQH5ZLCFiufWQ3GI+OYzf91ViiOQvpCOm6wLOJOWge6YcoT4aEkXCiyANE18TlUL7dl4C+Ljr4HIICxXIoIEli+DlEPZZxvK2W0Fcinv0YWpUk/hyy9v7XGxKkWZjfplt63xqQLEn8OWRVqf0d2YT+oYCvgUL0WSS9JMH510N11mT16QeuSQg/l6hrf0e20b/Bm3QuNpIcZhSFyJYjAskhEAsUzd9MwC9eWchX9qvF+d4O2ouViYUFDPvi5KJhQQO/GPlwWNjALz4+HBY26IuNDYaGDPri4qJhQgO9mOhQgLhYLx46lMOGMwFX9gG/TfxD/pQaTHgKSQE/4qO8enKJwUCcnMajAlmZ19uiAi2IyRynirKNAoXIlDB59Mu4uCZZHuUFSYp6QcgnUvhnRiNg43Egy74e632MjB6faTiPiWvk9LiDChkZ8cOrJH55Z3jFuI4UITaKHK4WkSwj4akfxw9+8Lk94jZrbrUykzcWCHK63/9q0RHSwPPYyIbej9qoWuLX/hxYBxV2BhGWL0YdIS4fZPpiqMehW0qzNVzowKYDrOxBGpIdSf6oHmqTtSISIE+IZeIn54wCt/pPfqi43FCZOPCYzxB2PsP6KK2G1EqEdtLGglkMAlpB2zuS4cA8OqaVtxLbFPgkJnuSGPSOJ+GHiMjo9To1QPAuHjJ2ejAb45rk7gMig1c71MNz8PrChYUXQTcsH4jhCGObALTB2B/SPCpIdSW0HYjHxzAxrbNAuf4i2vvZC7023oyNCeAGRpccewq1PhubDrAcD1m15pTZIGcD4zFxjDdADI6ArLWQAVrMvyvR1CVarbux5azSLqpkeyCo0q3dgVpxMc1qt+pCEpeSrxpOqC5cRWA/6QKDKZiYyYIpAxDbtR+460acQVOvjgG5tJm5MsiVyevCuZnaewW4MniK3HqJsCW+04MoQXd//qawLZfjTtG7rMs1F9FvXgH0n4mJjG+xvngS33ahsTm++YrjKXjLpcda6GKDXhZPZrtSmGTHbrZpDIeWujMBvHFm+BzbYx1I4yZABLR74rXgrJ5yCaH9kz2B6fQ+YEDdXwETqPatPsPp2NBPQVq37SykW3M+AWnbgjOITo22CCi00zYm1mkgW+g8T4PIcNstR+KxQYy9anxQAXZvP9NnguajY8DiRTl7YLsx2xAABeyyjGP/wbgvIAJSgaBBb9o5fhdGKgY83l9llJms0JHh9TFg8RKjTf48WGK+p38ayWLYg0KyHe7gkeStrdlQP5sO+nwGJw6ruSnOhzG4U8lBKvacp25nRMmQhfK9SPLCTwJSLe8JjdZ7SZMDlvZ9cwS+aQMiJfKoYMY+ChapgGM/L06f/GRHwo3BzN4YNh8SD954KcMYtt2ShilgofJWvzEErpIAVtKHMorNO8w9hDekNzaqFq/qyH+26SUPWEN6UCzTY184KquTXmRQdEW6TBPbF52QFLBiJW1sVxqPCmRim2iL3L5rfxcl9TfMRXIoDVo9LiGgdXG0jxxBvC6G0clhnBWqZ9No8ZWUrg2BAJenmat1bQgYOKaqsQuSrfpa6hi4p+m5grkcsKe2TbWaOD28XD1Csrfx4LHV1cN8A8Mydy7gbFmYaa8C3iYFs90J/aGO7w2nBriEgKe4+YlB90yG4TURrM62bG1QoCUmu7ykaE0EBDSjJlVGZn8+qQgmq2BXD/8igY19TULAxubR7AtABuI9WnwF8FaMzdpYPQM04BAFC9HsLa5kdDgYV4CUVry8rp8WqE1C0GV/wpHGVjQeE8jKutYUkCFXKaLFuKsaji3XNCwDktl/X8kDHPE7awTI7ntLYRHMd9cYrc33lxms4XfYGKzN99gkLF1Vb0hc/8Zs8IROhTAzS8I/I5OF0AKOJ0QycZDxZOwFbXbctEhJB4EGtDgPWwS0PQVbBzCDqXkeFwcas/CzHSlcjWSi4CEavLTHGE1f2QpIup1pdjoajopSiWBX6Jl+CvMgHh3DxCnaBsDVHyKf7fIPDcBHV/MekZwzWxggYFmsDNCAOsRl5hs2xAIaEwQYsDo2x2y5jIBHhXCHE1uNS+PpFDYd9He5cd1nQFyqf+8E4BPAwlk/BBI0piTpO4pMx1kkiY831qKCsRpvkdky8lVxFmUkMFu4qMTl48FhM+VueY4amw5w6PbBL4KnLX0buw2LR4cxco71QzWJw9xebAVoc4GxHlyzGseNro8Bj/dXSTKDdZUyui4EEtxV4ugeFQUeMXd+NnKsxyInxZ3BKKmUrQ0xwBV5+CrKX0XJE8miZpWZNSzd8L0kwWl7MqgBMpUK8pOnKMj+UJh0XHgQj4phVLK0D6rByDTwY9MungDIRIFGtF8hKoI6rg/VwbW4WEzktL1OTAcwI/u0IM5lzoYBgOQfYfbaey3C9hJ3uLNS/DI3aZEZBK9LbeoNf+88e2BS9Y8XyWNqjUVHgEczG1OUoVmMJk6i2TZzFJtTGzcKtzc9WYwjG9LDYjnZZbNjYBLJsm2lsFwa1lG0Q5YGJDd8zVNgQ3pQrIwE6TPJXrblbkdyJ+ukoYBhLd9MDKXLa4nHY99JeUH2p9XRV4nREWRcQsAvatNeuQRE0i3XsYq1Qm7YXU4y04M8hzSAr3GSlCaHSXMMXpfcxCFKuwLqs9HxazzTZ/OD16aR6jb7Nj2kcbqLAj++ykKS0ffeG2OORERAd/CzTw+L1e0icCCjQ8DCddO3+VNksraTB+TDOEO++eHvf3v907AwfNPO+F21C8IG1moZkQpTSOXa7gpQxjxYKNyFM3o4XCI3pNED4YwxPKvj3wQb9B27IUWZJVbATVLYAj3tjte8EBe+j7FJ0kGDyW/vGYdi0hypnsko7KoZ78GIW2VepHvTMuQSwRbgcLkF2y8bI+LSwAKdyw6vH6OhExypLgkIdhWJkT7h0K0Rm/vaQB7ifeYfnn7/eCocNj7GwidCQWI37GrgAJxpo0SJC81azKSAhTFsb7BamiHur8x+BT2WOg0WUNMtzIa/4BZF6CEqoqBC/+HHpV47IEuIiqbXCeYT4SK9q8a5I6uC7dICAyYh+Upy7dac+j0syCc/8XckNGwrhFTQUEXwVC1mq/Tq1Sc2CTBOe5LGVdbe7KRHxKfCgbqR7yzVIWOTAuPVp9FJTnkbBeMSYSCJK3unifo0GEDtZ6QJT5cEAcekGg2/RwDRbq/7XyNB/Ornem00kwIFpjnY5zQjzKZKDSYmIQIac4PIJE/1awSIfjGkPkmfBBNns9tlZOcX5PxrQZJQ9xU7HuNIX7w6VHYfwVOe6brtYPKivAW31NjJy6oAjF7dQtJFOMnAQDjZG6Pr5BW/D14fvku6CCcZGAgne2NGnCyLqlvPrgUYRaYSwDbrl91diN0Vllo8QqojFaWcw64URSdGXGunLasPM9nizVFmeVq4o6ZM/BthsXRR4cyol5fkmWTa/S06AezDcPWQk+yZ/F4vg+fuKB4jkqQDBquD+nH8Yje2MZIeFpQ7gUkLjksDDDR0FQ4ZyXPdd78kHRKYeMakFhfQ+ZIiVnPKg8XXhzzpkd4MIzB2DZvCmGknmT1tRuxMyiP7KLK42ci6onbxhgRllkfPxKJCKtLCPjCKTOw+kHWDHakyGOHZ1Q9tO41LBKIgluk/nu32bht9aE/EWJbbAJ/eU54Zu230MT4RY1luA3yeT3k25vaw+FO7h8Yngn3dbAM/9vXKufkpdPbaK6swFlRRJ3vofZnRCTBQ+kEDA5o+DSqQiT9DIhQkYZm4BlGXBhiIFPVAmtk3l5AKGMr4AwHww2AUxvCbWZEWEZA731QbDuJ4UwGsfMiDLKpHWj5xmx5HwcR0wGDV1i/DkmSSwOJwI4OffL3yE5PBYv3xk8UXJp8IGKla12YIxCSBxalOvEzLoh571WvLmRRuMG+pZd4X29PNzVlP8OxnUdU8K5d4N7+Hy79bMq5P0KUAY7i/j9jlpPf32jSStIBc++7kfSMiKhUYS1lEVJ9jiqH+NeK3j37+dl85jVrFZri77fmNPclJm9wY56RVoqCKcuWdLeaM0mAAxLCFKsFss3z12oFXpl5pete3hvJdHm+J1ktIO/ffurkv80BRAEXmV69DbvbfXA4fZ3mGM4Sd0T+5GM1qVhj87MdR6BeSnpO5BFms5RktUHZm/83FbFE7JYBqUJKo4IaFHsukPv1RpWBI4vjCZe5olh/yPsnCJQQkOk/KvTjSMA3EpAPkqWPK1q9PI/FJAana3WLNaKWhU0JaQC7lDqppLNhtUz8LPaZ+8X61at6AS0yMRtbv1v5AXqwJ6SBopC6AmFzXWbT3sxcXvCEENKVNs8YmBCRS39Y6DQV8XSvDxd4SZgDFJsQgunr4lw3P1cO/AGlkdzdMw4Bd3qBiqXoBki1VRmRsDEDO2/4yDbsXuTQ9GF8uH2qewmKTvXrtOG5JdU1f+YfDq+YIQfqop30alnwHO0ru/cPhvv+xNoQ06/95Qx5JRpKA/I969+b/Msv7vk9+Xyc3GBUTRMvPL7tINodDO9/waxpOnmytgciHtGc+Ee1TfOwFaVKtHMWi94b4ECqETFSy8uJl+uYMa1FddGxJqvp2miaFHyXT5/YbKuzjzlHzMIqIFYBXTkMBTBfWb8QPwUuqCbreBoLix2wiWu9nrIG0MLTqJ8hS1L0o2Z0/gxdeF3WO2qd/6ZaDBtNbucxKqy8EhcQ9KbIoQNU3ZDG3uPo/iMra+DPIUj9i7WjVS3VcpdZ9ssaChRzmePRSbgMXrhhvyA6hMMUiUoguqx9MXjoFpbnP7diSr7P0MYJ+F47rHrKcWbziXKj6t9ObFnUsEAMiPa/iCVJMF1XzNE7zPrbdkZ1G0gzXwQNoMFk2Yv65oHkqKJ3qonoI/Xrgh+3FOcvnI89fPaNktyXZcxQQmEduJPJM4q4ShbkgD+BU9NU8hVpCgB/FyaKZ/og3fjPSiUHGHkE+ygUqt49vxiHVeinz3pRIGVl2knQAY/8lteizi5B9ICTQfXtEHwAqFQoOVjk6XhbF9M0yo9RNCPjnyNe6tFUXzfP172wdNbV1DHTYSsXsMEilj1xEBSByFw0VuUKFAm5iQeOOzQ64vhzaGPBP3IPNVJmKzGujOTrbGTbysrWbbVFy0yFx4Z/sZh+U5H08XOxo79rpYqi7cLjQh2a5EMD7joHnw+KKyEmQJiGCDDEwuBBVi3jhXJvqCPCtYZ4FQFheE8rR0saoaUO3zl2QOgLC68UPPu+ytEzC0zSeviBWE9ETwzoa3RiofEdWF6Hd+GFUmg+/qxSwMTHxA0jngxn8LsjXYhNHO7fGjoKmAwKD00/kZVoNM4tjG3aTUKPR4J9UzXttLTCNrrwVzB83VVWDNO41tlFiPwqmK0O4AyrKD9W1CfX4GFuRNMb7xNQw6+5GpmyMGQEnUzUH8jfsKIMOo5AaHfIjOwxmCNmkRoe8FVpqQ84+AApqP9DclNmt/5kkxvVTGWQ25KuyAGBuouBCn0X5PspzEtq7zIaYCdfBYS4GOvAh9l8c/aVCzITr5i8dAxf4hgQkenaxl4kwD6yDuWwIFNwtKbjpdmNzFSFAcKnNHkFM/Kw1ZmqbjMDIJIYmC+lunCkZkxiaLKI6b6ZgdFpwriQqIj+O/k3YpQjGjIo40LyJ4vPAlFcVB5o3lXQwTFllMdA4+9e0NWUfAZOxedW5MDYR0Bi7N4Y1YhcAmjAXXhKmiGIEcMaXJLB9wdBpYV7Uym2F3x+i5JBG1KtGZ4/ffZfKZqPhj6///uPbH37UGfYwZ/Gk0czNG3xRg6uHQiy4ZcFwsPWGLi0kTAXGkTP94W8hZSzofDK43j6Qjj4qshDFAIGLCiHkXBIAS0KMiS9CNpDgqIENOZcE2HLgYiKLkA84uEjgI84kALAQhJA4EqYGJiwkqEPiSJCPWFiA84FwcOXDGBa4fCAcXOnYhgUtFwcJdmrAwwZcHRNHxOQoiIWIkZg4IkaHRiwEKOIhw4vjJS7odDR8cG4QxRG8j4YMLoysuHBTwXCwR4ZbLLil0ZDAZWMwNshsHBhYekwmJF8n+ELydd5DnaoMnU5yqjQNIL/0IKdpSN6T5DRNEtK0cvQCHpKUez0UaRxDwNENeHxt+vX849Xl++397RUorcfEtQaX5zAi57fN9v7T5vKfsGKoqPNKubo8h1fSBMUT8vrnsdpl+mAC1SQ5n1BdjOkgqoaajS5/KzTHslasE91cX7QH/VYvvWjooytXKsox+TiQDR27Le8Q0ce2QmB6fUz7J0nwUbUAusyLdH+ehOykBogMIfbccm7ITmvLpL2oPgd8aSF59Mu4qE5yro4dhVUlBscXRFAqHZmzutVX2VwkRZbmB6K5P9dEjDQ+vqwM4bnJUJ8U7hVyQ/LC+f0xBEF7eQA8AhwlWP2nLMSqJTw6TBWZBs+bM1cAyYeI8OhM1R7Ocf7Vz8mt1lYOhQoxFFo1D+TfrkDEnhDeoRAkBsuL4jRNnknm2MowQdDszw+EBE/vScJdHO0M64mRXb79aENVm5cyP+lv0AQUwsedQ0bsF/UeD2gZVFx4GcwjUHeFm7u1XYqDDYP3pZbtyj1JCo19qvqgHh3VwW7OStVRA/kmy3zrr02pgCHmDPg35K8yyojGOUtGCqiw6CL0jok1wDc4F9YJXG/jpwG4wY5PU/CRZmbTPnBAUrpwaM0O7DPL4GI8u72943IuyziuLq7DlEXlMaM84CaKV4bRVE2JAmyyWDnQTdeUEMAmjBUC3ZRJhNBNWr0459fy8ZFkbh8QQiC0ZuyhzmQb/du6AOSsHhPYvgBESxVCHuMyf6oXuzz7GsemGWnhY88lB6FY6LgzyMhITpLwY7SPrF/sCiFsZBwp9LNd3y5nq6FOjPcFJLlGzBrQY6PZG9sYpkI2uFRjmtj07gwLYMfuHkUL0bnTQXXtyonIIB23CfQb4odXSQxjNBUMEditX8kBA/QiR4Fd+owUqnMPcRTSpT9IQTr3/nhI+n3QTlldZ+lzFLr296TB0N4XbW7wsN4Q2d50ubGKAwHbdeZu7rNR8EYM2mzOkyIqIvs3nwTXk8S2LwHO1Qk5H/0HEqOI6SPPJcVl2H5MiPOwvVKG7GHo6sBZs/jDuWj4eIjziXHcTPjp3H9kAe1xObgXiOC1akWJ/xXqsZcrYzNAFSarc1UNh6pvdCy0uvaYZnvf+WEXUL0+rnsRMJ6O2V+0LSVMAfDR0IrApZc3gure7VO4OnkmcZTsYLqDYzHRikOxiQ4a3bPaWKcoqDHvVcXVb4fLP5Kvf7x2LSlpOLRCqvPAgPW6yC6lIbdWryDewBbEmxkK4g0GrNdFhiuIN9MFcciI45onLgzeV1SXj1NnXQLr8ZEdC4CydMJ4kM6TLNgyX91KUoA3t9RSuf0fooTkUf4uyshTmhOYN/doULTi4HLFg/fEnOwLa7wAqNPExm4ARJd4YnQRoIVS/l/xZmqtxZ8ATeYa+dAZjznfa+8I3JQwuCnHqSIwE8uQZrhtZLB3AmC/A6wNzlPwLl7AzNI7GiJ574O+7+d9z8PDekNk5zKa8z0+IgXwvS2vbejv6WlxwO9luc4Z38MaisHfu/ai5yli0PeqlViQ96iGUrj3pqVMqPekllbQ96KuYPo9WA/R/Zo6DvuwUfCWuMWRb/3ekzB6XUB76zn/UB4eGTnAY6JE5+vHG5D68Wam+mE/ayyh9IaQbka/mawjD2kBi94FxAaP08CPCSw7FRMb3/3Z5OGBnk0pOvNspkG9QHfbbFB3fERlwfAmTtjc4KE9MQeH0pAajfNNoy8J4ttGnhvvnaIQdyR9rIKd9utp7F/OpqpP5JkjOyH2pY5a9DIT2n965TaLa+KGtCjGzzlahkMnA83xnJr4HokKsj/uUzXY1bEs1qy9f5jRqza3/8eanEp1VyXcFigYVYba7KU0KowHXSsyZ4tLASyk4WAtqTNfmCGO/XxjRyC+AuwaCO48LD8Lni6SMArsVx2bq+ez/X+slWTkd8/F2/meB9b+pbSbclf6BnTG14mMZCEtqcKkpkldjkX0QER1qmi86fbf2lrFRkEbejhk6YFkLnswJKAeE9W+hDgnERbeyeCdhxGU2EItqTdT3rry91HQakl9OCsgo9cFdDR58G/EZOZQ2W3wRPa+kxRJPMRTU0v71naU1utCOxaBzN2xWoSkpo89o5yy8J2G+SYUUeHnE5WkySfEYqLDzyfqr5Jkrm84paQh+HyC8vKhP8ITSRafxXzinkmWO3ybjssagqMKol9Cl22dd37ZC4HQXjvdYwpL6lFh7d0X7ZTbfk2yPE3qe+tg1jUqA6IVA5UjDrTH5mBfKGqzccYg9GVBzAuqc6P9w1wMaKwXcFGglnrsxYGWBjgvEoQQ7zbWaq4cYKwVQnaR+cHnKNnZr4Uxl87kObt85vXTXusH9O6RRsN78XR3EsLjelRshwKSu6soioyEUTNlCnKVgSoe5qUSVS4ovN4Q3KE4VA5PFgjMaVXKgOgHV+EQe1R4kFLROiyJ/j3MBnh1RPy98EjMHp0BTNlo7YynEgC9UlQB0YomdNzPP07sUeFBykX5buEnUL5CtAIyRV3sGeU49lXH9UB0TDUEsY9NtPezlw/k5SJ5TO110VEQ709ozlYfsgME9qTRXUqCcVb5eHS/qsdrLh2OWpVpkofHFpWnWUFn6dCiiZJkwREEMQ9JmT9dpkX0GDVz30AvmNGoeN8uXLaI+J4kL4eiGi8FedHdnG9vYYpLjIRWRFVWwJheG9PefomTcsu3b2EM5+Og2b19C4robd2Wbgn+4QwRq9ghBoSF2Nu36q3vwWf7j5EJESd9dFAtqOOZU5IAOolakphHup6/O0/KvbWqPgLepJxD34nDcz+rnnJMNY3rx6V9z4gH7qMBI4u1wGnikwqBt6/X+Z4QnhLqthDaQNVEUNWthQPvw6FCuz95FDLQozcKfIjLzI9dPrYEbCYkLjzIJ7sogA+LKiJ/SQKXm2YEfCogNLjYBl46rv9go+AdWA7QmDCQcO1J7yBak8KCA7UqEmymdrCXYLse0KoIh1ZfntMocDiaYQzXG2I7lIHCXnlh3NIXebsWhTQYWkHEfrIr/Z31E6Cm9ajQ9gUht3akGLqLyEGKgQ+GVgx5WmYB+QhRGFJmT8jAsUgEm1VLT/xsRwpEYUIGeMLe/PD3v73+6U2vbXN9wY07VR+2eor6tJBVSgBM/PiliILcHpONgAo73Oz4K4nTZJffpjbEkjAzYf/m55/85MUNug0yH/JVQpyJrxLQFdAjwMyqbStc6OXaAmzxkfh5YWlrnxgTUXFvdG4BrAo1Iz4ANiquuNtAnxNlg4EU0MbFJiEm2nuSWr+7+rSogM19kJuyeKo+12ww2QiYsPTVK9a2ikEwkelpWHtmSRRMaHYRph2yEAMTeBiQt2kGqNT4kNyeSFPKJjk+5qWwe9OUtI+AClukmb/jj2g0QKXTg4LSKytI8/XKP0yjH5FcIkM21efs5vrCPnuvSa1rDy9bhdR9ormAUTGg8criyYWsSQ4M9Z5ozmZImZrUwEj0a9WBjQsDDMm8Rx0o+TjAmNS70wGSjQKM2DacDnhDBHe0t9Tna5OkB3v2s6ia7ZJxtb+1b1tHVxnp5uwZLyPqNNLvxR9/oTf5PEa7MrNGOaEjGEJJlsfQbDthI4gpGx3BnW2YKy7zp1eJtH3Yp2HJ81U/v2d+rl2LpNmLfQnD3MW+jXatlkiXd2Q2hyS/jv2iuob5Su/ICC1SSVwXeoNpi/KhiIrpuXUnFR6VC4wcWVaKIjt/JknxMcqLairwhuzTZ5KBqJUFRis0pgnJ6sxwRXh9JkAlJi0HeZG9C/YYD5kYdp5nLHjyk4TE05PlLio8OhegIpOUg+r8pvqSbI31AE4S6Vxml1hdqHMbTa80cVJIZXIUgSRDLkIqkzkEju3M6fbx3uUku0gO5eTCci3hk7nM0+akgO2mniQvNTjfSqtkpwtMIb7MweqxpvY+xyVIv87SxwioS2egf8j2CCaMbsEj2T7Kc7TngYo/z8PtxxonWIBI8bqskIqULhrVph8/nB5lgRHbZXU8sXlaJjgNlyC2y2pWscJ8JvVI8119cQ5DS7gkJOJXGSvnKuFt+NR0WX/zkzCmvjsttU3FRxM6OsyHKcZkaFCrnk4W0Vjp3qafSXJDAhI9kxCsTGVRV1aSSgkI5ScthJGpfK6435Pi16qdP03LpLgqC7rjb6lfI4vZmiAJy0e/TALmL9Fkq7I6pvzhTbQt/KLM0cTLMzqa9KuE+b8DSUjIfucCSVdmtCjpOMWuzmkh4ruG8iL51Q8+77Kq1zdDLVBmu2Bb5qgh6nwXZ8y7NCNHqC9ctgu2Zd76wud7RGOYHhhS5RDzWIpgrGKXZHI0yXxXBlotH/9oQm/IXyXJqa5bjlKfFdkcTXZ7IxfQkMt49COKpD7DUIpVzAFvAPjNL0qh51mWDuMQbdZT6qRBgJbM/PR6KJUgTfIiK4MCEtFjo1q5LXdReU5TUC1YeNmWux3JC/rMJncx0uCDpiIPX0X5qyh5IllUkBBLY1lNzcYvUbIDrlCeGHkWdWOTQu2on8VYuyIS0KPDTvQcktx+BcwYqMeGBnmAOktVEzlpOHkGq6mKNuYc+KFfTN51Z4rfxpwFn5BDHCWf77LJk2iMVTCh5xDzGDgsDBvVwkSeQ8ouvU0RymQIO4eIaO/vCIIKKu4cMmxXwo5qcFr4Oi1A3G/rOL0BPHkxjgozNYE08TCODjGtgDJpoDndbvFBBLqWbXSiFWTmAmVewhDbplbgzClogwPNGMwwH+Akyb1kcMbyLUQ5jdTPMA7vJAmynCDH0PUXilgVCuz4tz6snd3AY9cjuCADtgjDsWNb9B3HIWFHGem1QNRnCJ1Hj/dYJs322SlEJjkKndjBs6IUw6DQKudPTFghJ0nkpBHVoTNHpFMjsCVRETXXRnIfQRZujgSDJ08l/TdzZFkUbFZZj8aVXBZzPh3DGx9OxxATQwfzKrWBZgLAE2bCu9McUowBz5m7vdFyhDfa2F777w/8PbF6297vu3Q2u+9/fP33H9/+8KPW4JENjicPaGPj4M8o/uSAkq2MkcCIciYGmWzFKMNiSVEPPFlJkIXDQp8ejLKSMBZ2TikQNWo07jxipgetAJSNZXI8mfAlOJrL3EJVg1ugOsVMjicTszwlueAJHRkEsxQljTiTAJhikYfEkjA1WGYlQh0US8bIAJqVAmk8LHj5yJoVNx8KEXlkuM0WXRoSUYJyDM5WgCQgFr50YM6Km4uEBqwxWmfHPxoYS87oEJ6VDkXEeQSMjusByFHEn1ucZLAPVBwTH0+cfATQUgkfDAt7ZFjQilwaDwtePlZoxc2HgkIexg5z7uBZGWb7mzlP5OyydDiGs1Mm3/XQHmE6vTZdTUKHMMYa3Z5hs+PBgNN4v4OSmYkNtNvBRMjEXgccPSY7G0zEjO1rAFNC72L49aUg+Y2f7IStW4rVqmo1QijYB4Jd+t/nBc3rMaFd3Bet1Tw0BV7JicGhKQaCTiivFAVFpk+fctd1QjQ7UHbaxDOu2SO2Cn/68DQAkV0+88mkG4rTdL+vPjMcGwkmDGIDUeZkEwQkrm7zIudJyM6EAmB7qhxcioc1WVUQSUGS4izKD2keMa9SC1l8LMQiqc5yrP8IjetRkd3cF5xV7etwaq5VMgCa6FEJdC26KMj+Vz93UNFFQKwxQaPm1slthtNjQ7pY3TuogH8mWV6fMQqFTgcEBmeuEe/ubzq81CPZf0bF0wcyudFSrUIRELHehNV3QOK7tY1j2B6bg0tpqOxWn+eZBQ5Pw6iqPjiuIElte0+KuyzmZsRsxdHBEGsZ+XqIMpJvEIA9OjZAYTD2qnpM07stLYSUmnstbSVI6pL7q40LhFmHbv3Jy+vMOL02JIDlU2+42M+LT2kYPUbE4SUnFcGFnkHMnhS+zo58QyFU2BlE5NG/gau914bEgZc8vdWFLkDvgSEU6lsgiMuQhNvy4eAXTw6fxnJqT5IBQGFQNqu24BdkD6+mi4olQVKj+iu9Qbuz0qiI9ewzKrPXhAcoFbnbhgV07U/fEGqhtgqLWEQHZGqvzQCllGrLTYspI4/RVwzJdWDMopqB3OszwSmwJrpekbVDilq3EumrpqMiFpbm1UMO3N1VQ69eA5cW4/tEUUGJxB5a94OA5PlH8kzcPxiZEXU2MEgxjA2ktz+6O8SpH575hV+X0rX/Uv2/szJ5WMxBL4iPlxFq/bPFJstFYbm8mG4zP8kfxdtcjCVygWCLgrlOM02us3SXkRyY1mMCuxQEb+q49bd+/tldSRUFsf5nJC9jh5ebgOk1EZ3fCYyL6jnkwuHLXWTvAiKAsxdj+0ng8h4QyfuI2OgHv3QZJBTJu4DY4FW9dJlGldd05+lTFTrVoPxZHcjq3JDTUZbezxFYAXs5jJvq02KqmZizYb6qTcCPg4gHx4xNYI9EhH6vimK29TQVkA5ZMFwJZ+mXpOv/TJ+XrqaXxJkd3MV9dbijyGDGnAB0wA82qYQw3TMbcviemex4yyw9kKyISA5Qd0biHUeIde0ZC4gupZpRdWiBmAgzwjrWHCHQzOgudUWMhAtfTdq52E2lnwfU2lw6AC5qNXG1iUFqhDzU7PjsaLqjAISxf5mEZuqwKnVr8CHEnLjOFUYMhY9/7e+qrwUCVekV8Y4jxK36KyPiirkhfujy8qfSY4Pu02eNm6XGUKkI2LD5IU1y8msavnyKvkaJJTAXBRe6HZanP2SkayVMJEzEPJ4g62ZnKujskiZPVjbSgrFSSiGC+eaBqmnKoEeU5FrX1FHnEnWXxYAFxEU7hgiAIuHDzSLDuqNKpZ8NFKC2zPbhyOXnWj/m61ZTyyCHLygXdDbSbPBgj6YQ7AgS7D8F1OFmk8F9ibjK4MLNIqPp6kO9ssRoxxDh+lxIws0io12xvi2qHdI7p4LgQs2Cz61SAqhO8ojHEuNarRQhZ5bDr9dzEoKySo+XQK+T2DLrfkzYhSi40INHLi8HIcrM0C7PsCrYESRYP7nKaHOIsJ6mHpIDr/ahzgJrmwL905zoBC4Hkrmc8yUwWJ/qxciHPcNLhAS6ndyE3ea8LhEc4tbxCWrZ8ttuze/5M9E/w0aa2OnkPOYAlLTw4/owIXcejwmmX2fl9qiA2x9nJATDFkPCwcvWvU3d9NbF7n/rUtwyAO0B5+HH0AjdC8vECyYNFpCRN2wiSCRhdkKDSEiDBaTtEcC8hCaSaX1SpsUGtPIOr56JMxMaaGIiNCRtuySp0KBMK5s6MTqinX+o9a2bdtGD6n4ND2Fijf05RJMYFpWJT4UHZegRXr1p5zR0TaJ/joChbQvzewQQ08ojS4aIZeoTbv3p5jFMzGLSYAEZ2cQmwkKyqVjStNiAVt7h1TNqjkaDifo1PIS2M/TP4TFMa5IkFR6UoUd49YabhNEg4lLgwGj7wyfBwTGtS4qUuHAWnsHVq5/pU3cPwwyJ/HrjjqT6KVCuIfXZqpk7nQSIYkd/zWhiMGngOO6o8zgnAe6yGCjnKD+tN+Cz4+TjAEwaII44yqcu2e6yr34KlGtWN9ea+TY/Bsq5PBjW/iGBU7NEHUFR/9v3+dseYORWnvv8rXa2VHb8PUnisLZGnh6dSlt0JWwcRONCThmJwaWb2ijyF5YuEZ8aAczSKyE5EJp62FuHTJYaAczCM2lyBDT7+jYWBRHU0UusejgyLK6DKE2OgWZhnzw9Bpx9ZRwNg4nq6idifRSGzTXhqHSgMHZW0QlBcZwqmyQ9Cpy1Z1j1SjqsroPFJYTFsbCJTwkLZF+5FAFw8Ox9w6xf8mF3XTg+NQKYpW1CcgQ0t4qnioII6uglVj2UDcvrsLHpQGEsnOISguLY1zR5ehQ4a8+w6pVq2F6HTEwLDmXhlyQxOJZ9XVPHQIN08hCr3jFj+zpIbQKg7KWD/DoYXEIgHPlovw4PnxIOiB721yS5M7tjaxyBGXfXAWgTAGXPDcDrAPRJgBAkI/E6GEwySxTJaDzJnkmmB1L/1GZUfshW3C5jkLO4c8d0YqKTK98PIbtZ0OCmGDWmKrAtP+ZNlZYqbG+sVCpSZqeSanRzpa1K8xssnQRazZp32qwmz8UnxG32uoNxm8SeotKey6ZwbKa0Rzn0Z5Q7CquJ5VEGk/nljsJymlnSlg6vuCKKxzs89S/mfJc0GTq8QhpN8t2dv5UPp1WA0X1/KoIusSHK6EvAZtenFp/xDlAFax9V1ZzX/3HHbcPgcR6ytCBBQcLTJz9JSAxQBzxZTFAFzHUPYZQf/CJ4AgCnQuHxVq0mGd8brEfbB4KtHVS7cPH6l+Q0TR6jnRXukHypbQNHCNY6UMYpnrvYT3ZltdYIApsKBs0sngFw6gdPdth0gKXWCIERrE4w9ilqRWD/sEnBm2DCLvy+gf4futvyXUR9Ji9/+HFJ2t8CqROjHllmDiovl8gComYvqIqJD/aktLHMT31wUlBX8zKDcp6ON7OSjNQzsnlRLReGksMHxa1Pj1Ec1z9gDuR0k8DHnP9BZyTuSDW1X//kA3mx6zCLIsWoapl4qsAFqbRgl9BpmVVB659to39DPU3yyLOrA3y4hmizq/hUj3Nc2n4pS7UwMWdXBNvFYQIeudGL8vOvhygjIZC2/4+9d2tuHEfyvr/KE63bao/AA0ju1eN2VfdUdJ3GdvfERseEg5ZYNrckUk1R1eV54v3ubxCgJCCZoHgAQNbu3lWZVCL/mSAI/nAS7U0sjQNE3S+tptVZyNSucJLGY6+1CdzbawJV39M3+XZ7YcO4Lnq4me/h21rw1MgXdh1Qs9/ZQMSlr21zenR/YovC+nxoa1Vo4DtVSljja9Wg99q+UZtVDn6pmlOh99tOVNL9C8+cOt2fdaI+Wx93XRQaEtfQZVSH9s87IKj1I8+oMu3PFvaBZ1SBxs86oEPxcWdUjYlXascPO3O69H3NibK6fdOZU6X7Q07U1udzzrRCQ+IsthK6vt9EEdhXnF4FwlzLa26IbUssTYVVzNtTiYF2dH66SV8I8eHyRNBeTi5qi8OD3YihItSH8lnebaWv+0cDxoK7TfZ78R0xysHF2dqI2J6C1mV+0jh/R89Ruuhsy9b641y/sNW+DiGwKv+2T0bV5Or3xiryYZ8Ub9da3FucbI2LJ4tXi7tjK7LssJa6DFwWa4A8eaanu9onzrQQlsGuaeAqPYf7R7iqBaAMGdMf4bO+8fy+48HDndaECAYP+o7yXCsL6DWyO8rt0Z3hvqNJw73V9P3Ra8houLc6PjQarsJ3BJh2O8Rb/VNv5TGUeBev0vLlbdbpxJiuri6adkeGuX0i7jr5HB825acizYu0fNEmo2nXhoz7+3e6FXCTRp1Py2T7Pv42uskWvZdtGnX/S/ICDrYd67xo0ajrcNLqWMd1TFvt4PZfcZGl2dP9c5Hsn/PN4C+Whv+IYd1CGk396NdSv7PLezbzjy/l+L7UycOFYG5kYFnYVK3hCCQHHF53XbE+2NmEQfNxL9Czv2drBl3+kox7UZ7d5ZYMurrT8WI/+7vT9j5vc7pMt8m+jLc7TV6L9ky6/bLT1U7Upgw6+zXdVxO77tPh/Aj4LFvU6zr61oBnDQ91v/dpwz3fIbpaONFPvQ3dMZKmGxFJgd62pClBBlHxZvMYr77olSBYNSNBrPZ5/iU9TkMbM+jWMGSs4q/zbZwOHqzA/VycjI6IeCOUhp5cXIGWR7erhF2HLXB6+l+btOD8Pt4md2k5/A2FCxDM2hCRrMbweoWEo1EzAsSG5zRC/T4e3CETbZhrbkY0ig0Hx3/5SHFTNTBdDu3u7vPRnHanxfrAtjt6lz91OnBc5btkZK4zE5pOapmdIAfQ1DcQ4rye7yCV+2IdeZc/PQ0f6Oe/NjbUG6/XnzaHp6f4cTO4agguLoC94ZGto6ba6SV5PAweEhH9PRoy5WgyZrqS6OjRkClH0+xzrsPP2o4pNysqq8PN2o5ON8Ejn2ZPn4r8a7oe9+wLZszN9xg7kQJzVNOUChjKliH/uEye8uJFmm6uQ0jTtg05x1tMyAG2jcvZHfbP7/KnwR+PqA7BqBkB8jGU1XSuvx8em/N8m8dPtk0yE03ofaBld6v9vCDn6e6p8GudTlLfd8+t5MODRImHe7c4WRpeEcR4tUb1U/xSbV88zO36xyYTfwc5QXcHjz816l6Z796x7eqSYkQFxczMsKYq3dRRZdFQ4gvMb/Jsn28S8CmiXmsh3T98Z9HhS8abDgxcGy4rV23Bl3xNNsO8Ov5Uqz8dtwxF3Ok5a7mTNz+9/fD64frdu4d3H395ePfm9zfv7oY5hxvS6uvJ8jAPxZ+P9UvqAT1s8i6bDCAu1b/U680uXq/TbKhH51/r9arsshoZc6js0wns5AvKRXo5NZCEdPKuzyYCeEva+8usk18ylunlU18Q08kfmb708qcvb+nkjwRZernTE6t08qbaNfhURQc+eg0bej0c2mgaaDO/JsVjvh/4xJ1/rNUniYb1cqgn/1K+e6U+pjCG1skr4f5p+pjQgcF9TFF5twkAvdzqPc7fySM4ot/Lpf4D9518koboeznUcyS+kzeNMfdeHg0YWu/mlTyI3s+nvmPlKo8GbcmEPXE91wh28qf75imIR/0XTHXyqdeGDYhbg1ZGdfKs+xYMaIXSFS143EAHf6rbpnhznMod+MJg8lTP0nOy+tL5qAXBE+l3Wjzp8ZUhRaT3x0WrF323whZcGbpAts2fp6Ts5QS/X1PJvTZUknwYtGFSmze7Q/l7voofD5u4SDv1Is7+NH9rwKOf8+Jd96M1lM7JZnT4uU/KQY7JvxvoibTtaFJ8TVfJP/PiSycqLN0/RbvbdGBgAywrF/JEHeKJPa2xAVpAE6M9lIjZPikPpzGALs8g4mHTiFYfk6xCA58O+y79esQ96fdaPSuSp0r0wMQKv9bq1T7JuuzFhla1rM8qRaU3wkQWNiq62x+6Tg473z+8eZCXlvNzwwaVvqh//CPpERVBsfoTtUyK7G3nCVPQLdmATsfkkemeTh1/rM+hbgeZ4v70OJ+0xR2xLv8q71789uhNN/9Uvx5ez4duudPqSe/vaWVUdGxM0u5q/w/tvs723Zqk3d9BX+B9Xe61OUm7v/0/zTs46577bvIOVl/jImWDABg3GLBdFV7m3w+PnUr8++FRS3n1zheQarcVLf9Eixf7ZL9P86yPF/JP9HjxHBfJ+m32PtnmxUsvZ7BfDveJiu+8Yp/U20cCaIIfGcwdav5sRDt+cub/Crf97Sk5dw+Ox/g+CJ48PCU5UihmN83WybfLxtht7ToaHmLFXT6OWFF0zzOJoTPciuJb9Zckxw8m7uzL0cIQp7QcjDHM005fuF29PplWddnef3z927s3ulw/WdPvdffZGgN97zR/Q5uCdbJJyuSXJP9c/UpXLV80zRrWUW3v9zVON1XU3sc7bUIQu+aVvOZvcnGt53gZklHzGo6516hAMGne/xbiPVxBBxiuU4P2tgnYNKygmuOjvWWCRg1r4N9u2hPRNGtYxz7+qv8tAY2a1pDExer5p5ebPC/WaRaXGpWgpi3p+bSJV8nbJrwdqeVs1pKO++Rbc4hzpIjaphUFP+fFeRd3zVWrYduAIoFZHp/Kn+I9yin7aDkZ0v4BJBN7Nuiu2ktruMMLyfD4sJ/jqhDyVN+D74I/Qohk2IKQw25tJiOSYTNC5FXVq7h67OqBK/W+yJ0loRbNPh6gSEPuL5rFjMwPHvyOC+bMiru6sJZunEb410vNxU2+2SQr5W585vRf4R7YiMkxA3OqDlg46kstA8JG4oJmRjVNnOOBGcXq6uzSxDFrVrPG3uEzeObOgTs6NO+wbUVMZydqWy0E7/ttmir9x2riWK4gLPazanykaBxbG+tttODFnBoYOTjMgzmGppoNh5/FZjA2p0KnaUjAopwKD7zN1ukK3yTVYBxg2f9j21UpEMenxrX8tMjZmFVLi8fn1OTafhVh7syp7VWEizfCMwtWY7uq8l0S78uPGdy2pnO8zha0ExH5/Nz433kGRL+Pd3flCz7rWCGg1c7YiSigv6zak22wa4uz0bOL9WHSafacFCk4TFoR9PZg6np3d9Az7NU8yP299oqyOJq0kgvxYXgtz9e4TfaHTdmn2cMN6Kz+bGMMTS4tTsZ6VRNFlFT147BaJcy4Hp9Fe3rdBiM/bduHKvwWfjUy551mJ/V3aOyMJDEsfacgDfB27LSjbu4edxcd6algxoCTyGSoYW4OnwDVzdHGjKdhbg6d5dTNyUu7u/ZwtNNmrsOdxWf/DHB11IyfDo7iU2MGODpqOkwXR1vmvwxxd/yclx5Ow0kuIxweOLGlh7PSTJYRng6ZvdLZTcV0lcHujpuionAbmZPyRrW1vdrd8++090hHOXJhtzd1qIRAaANhKvcGDnPL5hLgqzx1J19rdPSqNjfW20vDV+pzTQb6felcE22uD5phhHg/fEKRqgpjzzs762SAo+x3Op/3UWE7e6MhbDwkaje3Sdm3V484ebSixUUssy2HR15wtNNxkf2yuxvcM254tNiN6xpLwVHMSRM6tf1pDfJrrS/GrJS25hnu0OJsqlcQsfAonM2Sb+V9/iXpAyKV7orGNDosZn4Aop4Hjb4MnjvESTeUvcRfh7kk5ot9bfTwiN2vM1Pxel0k+/2Hw/axF9M7O7KAJnrFhwdA2fU7ZP3eVYJb5x/rc2jA21PwaOhbs9WlTfyI70Rz2Z/jT/U5sz1k6SrdxRvFWcSXfQIW9LmWJenT82NePOd5nx6a4BqwoM+1Xb4v481Nv+8cwTHp9/rc6j0CJ7g0bKSt1Z19WSRJn66+4M7ptxrdOTzejgiQ+PNRTjXeJr8MbKOOv9Pabc5T/ATSzo4sjib6B+kUCEWw8s3LU54NCZf8S70BY6ZHOrM4m+kXNhASPHB3Ionu/3mB/XzSoWClQwMHgtH4aBwGVvs7eBD4gstS9ptgv/+XutqI3q+QbwOqZ7trC8lovyCrI6eXOlySMAZA9BdxmiKWfNOso2lZvxSs6lcDL/WdPZfAKizorPT8s6cfYGlzayEaHBRfGC7lhwzYfXik35tLuxLrcXtUI4M6Pr6F6ej6yOYFdV5H29LR/fENC6pAU6uiFnGhSflnWj7/lMb7T/k+Lft9X3SwprOpeTTr5QLYH5uGRmDNtqC4Jrw1HTCRc4RAPS0trg9tde3K09Ui4wIVrbNdifpablykshW3K1NrC48rbWvtjYvt8Cbgf74ukviG7bgYp5mOeo2anWE3tN1X460pHn3jzWqLYsPtay/BOhvaFsnGW9xeovU2vS2yLbTBvYTvbbdEC1WJOjqCA6RrfA9dFG36hXRJfvPNJE/g5A9k70BgRrTi897zgC/4tdgNmw7cEjOF62W/WcGX/C4HTA7u5LRYM8Cc6f4cGDegs0YMf3RbfBvLCBRxa1k3i63a+ykuV8/4vOfWRbUdjY1eqjVIwns+zXWvVcrRqA1JFxZL9pdjZPFkJymNNUv9nT+asOkubIaGe62nPerl/F0ZlwcdvnNDNlwXZyeOjz1iTbOIn/JDtk6zp5/yb938FH6g2RVssVWrK8IPNLtS7fkq713Z6sjpdv1u9GhzDDUvp2nq635uvF0bcuQTmBbSyZv6R5pdeheXaXlYd0zQ8W7dTqRZEhe3adaxtp7v1+7IwLbPfDP3Ls+e+mTqeLtmNz686Vdjzvfrd6RfRIQfaHbl7p/9YnK+X78j/WIi/EC3K01Q0dGl5g+NuIZ9F/dyETUw0lVXelecvDkfe6Z+R4wNUoOI7v+2qbtyP9bnC/8N7eE1dhBRHuB1svxwtPxQW35otdxPGipqwHFjg70de0LZ4AQIzEQ41Kxb0mrfNIZBY0p1hGTwAWoGAzDs2LWhwWh3SEXcbq7v3/zy8fY/pw2U4MUso/Tp9uPvb1+/uX34cP2+w8l2JkMFXZlLvMYdRWcyYoO3i7Ibs/7H3pkM2vBdq6xHrbH11VQB6795lvVY9TmO0HC0huzhZT1e3Y8+NByt/luJWY8Vuh/ZVPEatqOZ3Zj1PBTRZMQGbqxmN149Dy40Ga+B+7tZjteQQxKNRm3MNnPTxK7zgYw24tZ7t7tpYtbt8EcbAeu36d4U0ep70KT5qA3d+8989E6hk8pmc4NicFoaiv3EOxFChZXEOWp3q5zXdqdfkvNnBzwSee7yzB/eDtN49mYBLPR07SJ0/5jd5Ntd9Z0tb/GGgHbEQ/DrgfHrMDKQrYe4d/qdScc+HsphnvEfanPt3DtNvv34lfSobZvk28NXMr7yD8b6mDdjaD20V4UDn1r5Fn1AVbMWu/kp2RzndftBGuJLKT89icZULKQydAmSC1K/c7PL040HC6utm5ck1jzhFlUjPFKougSDtVJeupqXnaYD6xG0OBenL5UtaVKtyYo3m8d49cWWaqE8y7JV9bn5vtYXgtHv9PnUYVmK6dp7TsrIzZRHC+21x7IeoaqaWn1nvjemW7Buq7au8qxMOmwGNl7M4lyUkTSKqVGIzTuuhNEg9lyURbGDNpPXJ7bXpvOjNF/ljbU5WNN0P4n+K7l0W7FAjvlTNGK/59XhYsZaMdH899+MNdSYbsek7FhvyJpyDbdkCrmWmjKlXMNtmVTupI3ZpQjYaM2waFw+tVS0AFuzS1StU2jMt2Ftks6fUTfwA1GLuqZ9g0JbH2eTchZmn2MkSd2ye5vsd3m21xyEo9WJquwAvN35e3Ac/R4gbOhIR61IK0HTOtZRO6gJjOgd7RB805FwfEkGyvAVazMw7/TxevV4jNN3BMTRPxipegJ6ebRoWhkUK6fF0eYz0M9F8fdGnANPQX/vTgZGu6dx0M3RPOjmqL5dRw66YX7qG3RzLA26dVOhYdANEWR00K2jsDGDbn0kaXtROPpeFPgDLP1oVyTrFLiKPsfCjR3nxvRsKMQCxjQQoqK2JXHXb2/y7GtSlJ/OP+i2Lq7d08vWh4lpbS8GLW/ToqP/IrZWTR2KVbUjK/4LS5rroqbXe7dLktXzfX55VqVW7aDYxrZ2uyIvk1XbtnaG43LPzufjblqMCyh2RnHptQRDT0wGLbQwpb8s4my/icvE1pMCC5xRXdgnRRpv0n8nr+My/rnIt/eVr6sifbRSL9qLt1tHsJ7B23WSlennF0Ndgxbz31ff4JIQU52DtvzYa/0uqjfY/A2IQFr/xIp0obA5aH6TlWmZXlrfpFm7UKixpn9ETN5VB4bajcipyDnGQ1e3oHM0THcLusUCff9VKGFXJKa+jdvsf2dvwEtKjL0C21Jk8R14Ub/Jl+CAGKTH39hRLxY3D93amrnu2rsvs9SqX2zZhDtvKjfGRADa+j5aLNRr3a1TI8zmWJ1Sjy4y11XLU1K+Z0B7bJuKK4LmrenS8b2AS9L5cdBZjY52XyFHZxvfpkcY3Lz+591NkbA4xpvLo5sXmnTJmIHmTJqYGLNjjX9NXjoc7dHb74VsffwrR46zQlLybZcWbHm6AUWScUuC9smqSMrrYywNqGqWYE3afp/m2X3+JTGRLWDenCixNcA2wR8madju+IPageckfXq+PPe+n7+Lk9XRkReDqpCwST5rF1DbtOF+me90e89N2nD+r3RdPut2/2jUkADpmX0pk/1dfihWl6f1XFBxtmT6mX18KTscAtnP3cXR6PigCyHFg37TccFPu4Laiulg75PNEQPq8nYh2Bwd7mMwVa1LlzPQerje/RC0vm6LNeR1UrHXT3ERb8dWdNGU6bryrj5J9CZfj21OGm4vgPHRGZBirBB0P772NIXoAlEKAWI9YoM/L9dPyW2cdVgv2a5ENma8Y5Y+jX2xIg4varOjgw8iq+qa5X8Z0MCtmpPQrEHv4my9jYvL23x0EXM0ZroGdVp22dvhRfclWV3Cf4qsQsTYTylMwTd77o/9aMfc1/KZrnS/WfnfJ2W8jstYi5SjMdOVf1WdpLZOstH9esTthWRcUypOUVbSrTIpsnjzdhs/dTmPt7+qZgmWpKUm1KQWBWRd9gzqLyHTNNbQTcQu35sQUZs1J2LQbgPDdPTaWKCPnCsWJVVi0nKlpyuoVHR1LMOEruZuAJK8It9sDKuri5hA3EuspwOs1sZLmEDaPt2mm7hISz19HFmhZNxSA3goRo/hYVJqs+ZEiD22n+NVcl2WRfp4GM8IZWM/9tk1dhjXTOJibFcA9XlxtDw6CSC+qr7aNmcGjGgRjNuS85I81SUZESSatydp/3E3euxRKeho3JKcpyQTJ4XqFHMybUnKNj+Uz8ZSI1q3JeiwL+PV89g+qULP2bglOfttujGj5WjZlpBDZrJVk8ybkyS9/NNNomUs82zI9Cv/s4bKJDu7+KyrFp2jqdjaop5Ad5NsksdCXtkyTApi0Tgnq4t64aMp4ydPqTQs0JJGZwlLguqB1/FoKOWdrBuWhNXAxsKqcdqO5owPretMiOS0gWycYtwhFWO/iGVjxqeC6hkeRZxeCKb1JuJFKUbXxy8qRzRuSdCjtlmFmCLZuiVJm3rUyUSKRNuW5Gz1jI9hagTT5sRgzVi1HcBNvtlo7RLIRs2PAJp3fyEVoi1FIPoXBY4eDuwmUc+YYD+R2/ib5t4NplEuxbJErd0gTJ3+zpBSmNSWbLvsUX9B1rbfJs6DWoqfNMynPTu6+EnXTFoeQIXTd+7Hx/9KVmOn5wl+Cxa1u944zuC4IvV69OAfNPd9fLVgTut8UGGMjY6Xt6nROGbeKGYP8Yzuqc8dhF3pmhGtUHdhFNZY9kwlrUujwPbzPc531qlOMvz9NRRN9001GXIG7DUeSoWmmhG5QLsNyiWxZpoWTLHlRgYRbj65XRqej+VzUozuCjYtfn9NjeC3qTamDra9xqWpyVSrUpfU3pxsDLzglBKvhNIMar3UkGhuQdVyjTSdvaQarLwG66yilfw1efn0XMSjZwif7Bhf/DK+psm+alv5eA6lMtS/x5uDhkgzM8Yn7Wkbn5A81j0ycYqqQsaX0ftryO5/0bObxiW3d/nm5Wk04ZZdP9s07v5X3RV9cbRownXxKX2XZsnrpIzTzeil4aKp7+dpbXit+4mVIqyq/uO7T00dO029pE4CtDy/iAZ9z3AXGRretk0Nul64CgHi0/wpT0fvR8FsmH5+xz61Zyf1rILlgTO0+FVwVs8udcBZsQZoGk45mjE+ZHVYfUm0Ors4mRwd51MsFc5LWzTqcF3XpoyXHP89Kfbj5xPIvp9tmnBfquJlXsRPemYIS7ZMV3a+U2U5fqvCptcLyfb4DEghNvapgejQ9L3RScAm+ZqMHbVFJBzNGhMhPgz31TFwIzUwG99Pj/3sru6uOg+m0S6u4LzGvm2r4/v03/pqyKK2pt1lA9AceK0RknPLLBTqSW2H7eiVk7iCq7NxjUouLm//y5Ca2rI9KaXWNnNxNKf9kWi08zfJ6FlGJzvfWXt/ctlIm88C2/ok3+1iLU3/WYdk17wMja+vswbdr7A2AUX+l/4knI2aF6BpB06gAN2Dsz77J82ekyIdfvbPRUkaeBmQ04BlBqVI7WvyrdQ0QVs09R0MDzbc1QYspZiaG15GBOjq5uECYL25qz69t+N3ApZsma452/Tb+Kao4fDiaFZL7M+BVW1YljzFZfpVRw0COgTLtqQcyiIe3b3DlBwN2xGyy/epmZwIli1JKZJ1vk2z2MCjvZCNGxPUaKxesjIe3SU/GTI+I9CAu4uTUT1R59bMvqFF93W+nxvOS/XldJDy6/HrQmVjFvZNzbSsmkTcXkjGx6dBjvKFWZYa9mTHJG0078reTVQxeltBTEuhZytBpQTxEflnPnqrt8rE90NjTt7qBjEskkbhxdl1jdyizW0Nbf/ZZ12tPnDYWUYB8c8HRNbH3MtrSasPqr5nbZysGKjb0Onjet6RXktmLLoNhrIH+21sGBs6fpr7OyLYZxsWHP4EGpDe3tYGTLjashESW/jTqwVBLQzzWrnn5BBMpvZrkQzesQAPV7fQfjyUY2PLTcwwuIJjGqNbR6w9vO/ix2Qzot4Kv9cb2A0zrMWnxcnWwIiKQdI4An7B38Hj35jdOgT61vF1c/5q6Bo+tQbd6586CtGdiqYM9eM5ou0TDczsARVbPT1PaKPFk/dZz/bx5zF1Q3T4ZEyvw1gdOK0oHuT66dd6s9/7Uwn3Z+BXUjM0BpplxNPRTfLZJhOu2p02L7axtvAeW7CTVS2+XzqlYfgbpUXC2LfJJQmqx29EA3z++YweQLElG/8ENloxrY8g9FXLM1gbbX0ID5tN73MoOzh+JRjWo+DCo/ilXlE47F3dpkS0bEXKJs0MyDhatSdh0ArOzlIE61Yk8SlNad+DR7rokUxbEcNmh+oXcjJrRcRfebHWr+Fo1ZSE9n25+slp/Hzqty/u0NC3bzM6XXYZGtCLaf5efyBPhcS9x39V/i1Qu2OibKCT09334X0epAwkNOqeAxw2MCPsSirJiMZLr+UhmyINEDp8OyQtMveDpj4O0CkWNInQ/vOQhqgcODFJi8Ry6BToAUJBWZbkSquId0myer7Ph/UHGr/W/Barp57ser/AcMcW0GDPgDeDpfG91cXlwS+spnE5FDqb7x5CRrTbFxTp52h9ZA0Far1FqR7lAX3S5s/n+DBL7aq+p1l/N7ST01qe52PL3+WBHkTf+kgZgeEuaWqv/dWv7nNuo/+LrPFr/Z9jR/Ma/FoAez0D3QyVxnrfwePBtb5pWwqEvra+u4jBTX27lmZdt5gYeUfUH4khcbq35x4ucOD2sn1UXvzoKLZplm/yp36byfTQLBdhuLbK20Lm6SrpudtPD2Fn84ZFqV43AzpbzZ/rfeHEh3Wa35VFEm91+LWQ7Y2Ic/tckv24N6To8V7Dy1F/r7DdWy0vxtrsvvWdWHms3e8rblWX77o3H1dpGN/4t843YutnNnGZDEMszZ8b+Cw72tfh2QJa7BvYZrx0PoBdnB7+HDaty9HQ2EXtIWR4J/WCHhPd1P66xnRUuwk0cfTDGKEjuFk/xdrb4DGiBzbUWgXHxVMy7CyrXtIb5Rh/cJWvrCG92+bvdU+SHpsAeZa0ljC3d23HPSoa+iutrrrCGjEh/Ed/v8ZFymbaqN0VfjY612dn5JsPj/vD48mpbb4+NF1i9yAeYNZXmzTJyv3f0rzsZLW+/yHNe9Vn7vbZAY9Enrs8V41Ph8e7jrqgB4vTbzs7ciWqvuTUx51cEQb4djYx1sVm4rZ/lv0yV/1gTOrOLjTXMvb2o7m8sq9nV1Igzm6GJzdvk3qXhjdfxekJSXbYDvJQtjfO4fZ1++fX0d+v390/3L65+fjhw5ubeyMaFo0ydEkCpeEK7+6vb41LbBZiQaNzrorXj/uyiFclaO5qJ4aolC0arIw+EdqePNuXxWFV5oUhDQu5CG1ZAgkQWjXqEO/c9Oeg0desLkdeCPX2hrsiL4/bOJpRuvRCMZOf06dDkRjM46kAC1kUtWXJXzfMjiltYgGWte0Oj5t0/2xK2dm8ZV37wyPfaMeUMrEA89rEtp9Xlf0/DslBizrR3vfZ7jcUmGr1pdAr2/x4s6lvNCNOsm9cm/hUPSVa2sCmpKfOx+to01Ik2/yrmQdocbJtWpHULpy2kLsr4zJ5n2eprucLtfydthVqLcZaDTwxyvZjJd//8XGfFF+lAwbM6VcWbDEa8lO6ErfDMyT8VIo9leKTe/rkS/NM42OLmP0+n1mVEFMPLJYPRf2M12v+mCRmlcrlTKF0tcn3WlogdTbrEqZQp6+dUcrT38hc0CefyfslWYNGqcOSnE6KceMmeSa+LS8r17wm+JrUmVFFnhTSK4nZunG/hRCoS54oFF+SZHe9Sb8mtiLQKHAi4VlS/pUXX2zJBsXZEy2dSRw/54DIjVN8Nmiw1YK8NOt0pu4Q/xdn69oSJMRcIWmd7s2qkgqwKCzd1/Wyy24og5TJJViUlmfnR+5dvjeVOaQYqyLfJ/t9/JRcF0X61VgSkWIsitwnmSlhtWmbYhr0XrMiE/D+sqxDZlqYXIJhaeIbmQ1Y/BTvtQk7GbT4RgYjmFoVmBnAFOLecYBPrygD43uXJWl/iIAoM48QKqvxCMFJYjqU1TZtfZDvivxruhZ4mG4NC6EEzfk5hl+Zoqq2d1x40lXdyaStBG15N8WUgsXZvs7snCOvkAWn2uiWhc21sSCrzHfpypyqk3nToqTtNY4trM5HSTZq62HSW+sQDSbqHYi/jZqHKdNf95TC4OktKG86ScXOchmOzoz2YDFZf0/iTfmsVZJg0qIc/lK+ySvaXI6XIpmbSkZjuFCPnKNZk+2eMGQ9dOKxjunFJgadtU8Zbk7hE5vWB37v29Og7oCpYqLLqD1NU4IvKGGNuC4ZDWOmNMApN3X4RlacsxWrfg+dC9r0/WTJkv9Jtt7l6ZCZ1aLvghVLfqf7u7t3b7JqbtTIOgMsWfJ/8LKEvosP/k/9hzR7Top0vAxNaw4uryww67c0SjbU68ZImOYqc2Fwb5DbijE8g56PWL2heY1Gu5959lpTjIElI94OXjeidXWIsTUgmld6NP3UCn41Yl7lLCvYQRrnH95VGhDTJrAFZ1+C/sVIt9Gehn63RyH0rsBcwxvugoxOO2N1U9B9O6wezp6/HdNsnZy3Ym9bdc7uHLPsXViw8fHD/e3Hdw/v737psEqZFyz8pv+DzlWiq6brhcxvP354uHn38e7N68EeLTBTPX0UjV709+frt+80+Xsypd3f2zfX7+7fvn/zcPfbT3c3t28/sfLefnh7//Dm9vbj7XD3O1jWrkYq6vrm1+HeI5a0e1tF5+Nv9w+v39513xRA4S9qS4/HypVc3b0dy53bGojGFLgh3iyGzXNDDV7w81OSrdPsCelUj3Mcs2tFya/HGcd6hYhmrej4wKcQ61VxNmpSQ5o9aXGb2zHqKfsILA47XU8sMGjLdwN1ptW8EV3ntmJsMoAljd4OG9vhZocO6sDXzZjRnIYng4dxREuax2+aTvYcuOmNUzuJGTCEgyjpMXajS8aYURykwnQZvjHqeo+BHJX7HUZwDEnoNZbTdF/LIE43T3uP3jS97TxsYyjYfQZwmt4bGbnp5niRPIlnFvXz+/Rj/TVk+MAS+ubRMKLU0dPO4wWonxdHYrRVgxGjSU3POw4jGXG+34BS03d8JMmEp72HlJCWQjWWZMLfPoNKTVex0SQTXvYbVmr6iY8n6fJ07MCSaHfwiFKDI40ZSlJ51NpfGxRHzYNJSscHjSL1cLTv8JHSUS3jRj0cB52DoW4j3QSNTvYY1VJ6CIez9MZU2IFcGNy4u7++f/Nw8/frD7+8ubgbOcDVmI3xzQIV1qT8WZb31Qfk+7gUTi36fMj4juYt7sk/He+VYsf0eB3vyqT4MUu+lf91YRfv+t4Hfm/HHdTjXdrLarxLe4gF7mvYhhtxZ8wu3LKDlTnF2Mg6+SUR1pPfi6eiIFCtk5uo1VHOt86khhvE//Tm3ccPv9w93H80qGQhlaJJFF5ei9S/X989vL/+8J8mhQplTCnz44c3plXyImyJFJA2UmPHNRJGaqdqD3xQBUd6rr+6qf0W65QGt7XWH8VnyPWnt78U8e75H+9uGBe52HnqJAFaNddYy4dB7tJfk8vnig6XsDiVoOupbsRf9V122Jf59k3Xj5wREhslTSv1tttXhzbBtz0+T7TKXief48OmvD6Uz+/z9eUF4CMUN4uyLbbz1/oIlf0+5LXK2+brZPM2K4t8v+Mva5NC0dJsS+5IB0bI7AMOxkoDr8jbZF9qfj+eTVp6OWp/5IACQ8+bEHo7NQ/KMlHtLouqBurTDielDlV1tm9alvQo7ff5Ko2rJqrabOe+y5mp3RQ2DVt6rFY46zCiZtEoTFvykMQoUngon9+uk6xMy5dPeb7R2iyiti0l8iZ/qjZpNq5kcS5IW/bwnKgT+Ns+Kaobr7O1yVy2FvO9pvWyKEMZbk/a5WSbyu5/j3Tay19rwuqiTT2VSvO2CM1mk//1yyHZl9erVbK/PPCtQdUCKVQflFWlS7UrvHBnh1F2HfIbRdoUj9RtE+0RatpSnd7kT2n2z7S8vI3nSCkLsSTNSVQ2TtT33XMK69PUrQm9OhVoVO/VObKqr+dtnF6eWaBb99WxWEvqj+FWbacXH2zW8mMQjsXOIwi75zyz/wRcHYudRxAO+6Rg/7QeB6HkeYRi+zk2HgVexn/rJn/7Oa4D/SMxntsqnirwtt3DxQc2JF9J5RpXf6FO78u4POjtnF8OwLHMqcWXebmbpArIBU8dhl283/+VF+uf82Ibaxo1aIlEo7j/1q2drPZYBRzjaQdRVr3S0uxdkj1Z6Osp4nAlemAzIheeiSL585AWybv8r6RYdTlPw1R8EEfmF6YPh+2juGR1oiCd3ZhfiO52ySqNNzfPcXWy/AyChTk0v7D9ttvN4wEUHZlRmPbpU/bb7vekSD+nKzaq9z4pn3Pz/ZmWgm29zxvfqddlWaSPhy5Hqo6V3yhuMtHsrq5ruXTIBgVOKlzvNMkOwg3Mlhwk3GKurWZZHkXIviaF1ulYkklLowb7XZKsnn9JsqSIxW1UNAtZNMvRlzQxEaqP6SLOqgW1O32TIBGRsBT7Ejdxmdwn37Q1ObhEoRTTEuVHLv+SJnvevH+Ki3ir7VXaMGxrIFrrNGuVjkWsf4o1lowWkff5l0Tbg9ei8ljOBDJXWl8FCo2nQiYRyG41rvBYih2JJsFbu0QTo8rNEo/xVLSpbNXJx131Wtb3apSN2mpLi6fDttrdypyIhViGtqSBFKim7OyviyLWtKwMFXcuwbq0W84xdH034OqEQiwL1DhGjUnTPRDdTZTGhhITpbtpVIpqaQ6v68fdiMyjcUvNo8n2Q5Jivh05paVd6ofDZlMNY9qTLJQ4mXSjTSlUbb5JvSTYWNMqSzXbxF4SaayplUWabXIRkc2m91PXbal6qD3atLUUixVqTMDiZF9vnk6Rx9Pz5muSlT8dPn9OCp3Ms2HWUpIeWZF36b81PVe4joVUjK58NVOhEPl5c6jO2C6T4musadawQicsaRqpxtMplmJdYpHsk2z9Lt2mmvqjCpFyOTZkiu3Mz2my0dR3YaZswYfzylXdzi9k27oSwgOtkqN5sFpUY2JgulWM1i8fQYn+75wuMvR+1TTlGPiGuSDrNonXH7ONiQQJpq2J0fn5BcRo/9hqFaPv00qQoflDqlWAvs8mQYDmjyQoQHwX1tvCnL6g7rXpwSxbelMWyf6w0dSDUcpYnErRlSc0FwqJpw1zTasUC7IkFK2fbPvd36lmubXV73IoHhVhYhy+kQM7g/BqfbpH4LsK/POQFJq6ELi4YwG2hbHZnE9JVt4dPn9Ov5mU2CzKtlhTTack02iz2RSINJlH2KYTpaGmLTWeddmmhSzO5WjOG0hIa/Ju9fdguElLyVrHpaa1wk3vF7VxzempQ67aFaEocl1rVhBJJ/N2RX0rk2zf6ViWwcLEIkyLazxIf27u+Ck3O75AY7+Pn3T2vlD73+cjppZi5HnDM4Onkm+78/lF55tMtmlrfkRd6JtqFyFt0xwRKQukJF3pA9m4IPVd/JhsLAg9lTONTH0T4ttEap4Qr5SIPXzHmvSa76itOaXQurUtTTcbvsuorvVErYIWoDzdiWzkSLXqPf5mpgnCVcvFWRSN1ePqGTJTh0XLlurvZ407VihlLD7r3qgCzUVb2sq6fTeROGjbUur0DRy0yNA9kqDIhiJ12fVux3t2afZkAke0lWApjbILlmQtGqVqS3BbzlRpLpNqB4XqG+9d8u13ojfDqHFLyWUlmheyOJajL4t4Srol0DGZQMd6Ah3zQhbHckwl0LmcwF2RaF0pDoza+kI+lqrxgwoRsoDlaE2ckIoLCTPQGcVMf39dGqUK7T0aNBV42n5Ns2Sf7n9Oi+Q53ycmejStRVhKI/DBlrBFs1xdSW5PnI11uv3l61+52+4DjL6lSe2DA3NlZN57rxhd2JrKwNT44dEyNXtee8DmULVMzMHXGSid54ANj5L248L0hkjzSoYxcTKx2GFksJB+jcH+zJT9GNNCFudyNOd2un5Ki0xj/RK8Blvuh1wWbrTfgcdgsn5Gh2gY7lcMD8gUVcNgv2FQIAz0EzpEwVS/YGAIzPQDOsXB4Hu/azDE9zxDwT/lWjGhbNPa2WpprOm9jvi/OJrXlTIQdwsPK6ZK+2OplAXrnGOgzjmT1Dlds0QQBYtzAToT5Fysd4+5to2TMVlH83ZFbfJVvElM6hJKsCtNdzsBhRlpJ1BZUjuR803U7/hp3VqbC8y0rQFIuWzTghbN8rRlEU2QjW/S7nL1f5viZcMoK5L/lOSfK2M3p1l/ujotfSNyhbtiNUrNvumMqgwWIBOHtPWJFJo01WIAPnI5x+hdnX2bSxQvfDOmZaJr22/NoTx69p0EchvvJotjXfb/NnFSREycv9arErG0zLMRk+JzbLWma/0Fd2bZUMnhYq7MOlhav5t6R0v/V9WwBkk+mSWJi9Xz22ydrnStBOkfGejE/7bYeGiOz5o71TMmJ2qebTgesVNjPtlrD/Nrlq26IoC8eZ9r+ESQVO19szmdTKcnjLJNS+hoV+S7pNC3Rg8RsZDK0JVZkAHjk4UxYZoxkFJSo+axvdbu9Wo72bRU87ZVocb8XxzNa03OOe4tyXmblUW+3/GP17vVc7LVtIOCyrqlhCXZQdcbo1XJ4liQ1tRhWWmrmVaUnkqaTOqhjDUi4wtqhcKmEpzl2Xtr6RULm0pwtdmb3re7Uu65qKnE7oXdXqxIhgVOJfxrUuy1cYd2yeeiLIoVX7If6qdKcyeoYdbSa/XYSJhUsRAK0ZW1ZhrwdH28PpTPOkfaBYO2NsHKt3Gq6eGC3i9OxnUlRgy4+quPzevT1EY2NIn2LcoqknVaJKvyLn3K3prKV6OQiQR+PGjiX60KeSlWJe53ebZP9DXsiD6pCIvi9qt8p6sv1pB1Mm5WkNi2f4qfkvW7dK+pJp7MWWrXOeLTdzqA7P9CMq8rKeeQmwe7QI/ueQEXpVS/1rjVN5AjWjcpSXpgkmKfZ/Em/beRhf1K85YeKKF8G4IWcnnakqhMko0BvO6S9U9EVJctRtreCrHesTC2UqxTZOyuGBsYHM0rx3QERuekif5R0T5pQkdIyiJefUmzJ12LC/qHRfJg4tBIr9A02+VpVhp5f6K2bb0868KNS1kIJWlLLJ4VRQqrL0w+t/Mmz74mhdaFWyrr1nb7ZWVa0LI4F6UtjarMXEykie3TleYt76RuQ81CKMxANjvtwi3eb2K3P7V92xv/WdGzEIszkdNO2wAKPzDyylSZt8XmtW5s2K5mIRRmIJ/Kdydk99/0t0iY2mNJk0nV+l3QrlX/R0AHsfJjmm7j4uXX5OVt9jnXpVm0aauN3d8c9mW+PRduTMwCLUtfBqWMKB/H411sIPSDPpiM6MULsyt4nxel6IC2lrcpFyvKuFjpoTzsnz/kZfo55ROGjbxAW8uw9e0JnLAmbYGUrC3F7dnDU3775u7eRJqbdi2ltirYqIRFXYKutCEZUKQq+fNmkyZZ+SkuYl1jXsDod3lmL6bBxJG9MAF2TuxVqtM9mNdR3kpnK4FpOxVgXpj8eO3zQ7FK9lqbQdmopcfr+tNbc+4vuHV9yZHDrpKUxZuXMl1pa/YwYUIZtuUdymeTyrh5y6J+STR92KGauHXLksQzRAxqA8VYFil2Ik2qhOVYlikgC4Mi5VIsS7wr80Lb4byovHMJ5qWJb+s718RXC7Rq6X195xp0f3Gnc3F7I+425gipdOmfEdQo6c5Vb5a9+qJrZOWCwKtTWQZ1Wpy0ckmudjrdSa7UvLAVOW+yw1aT4pM9W8tstIFZ4PpC8wRfIdKqxV7x5qALu0IxJ9tG5TRrlsYlUIJBW/TmuGZfa1LOChZSAXozwwOvmrFYkXdTok7GLQrS3QoIcow0A61idptDEW/0jTg1JEkF2BRmYCy0KQ4WYlHg/iVbxY8bU3kTzJsV1WzHP2hdzSrbtNSa62/0JAGm2r1T5C01fbIoI60fIkmqcbskWT3/kmRJEZd5ofeIU4VxS3Xwa56utG0s3yZlcS5JW+4UacGTeF/E2WkLBb0pRE1bSuAmzp4O2kiTWslCKEhXAvGUtKRvE5eJ/kOGUdOW0seJ2zv9SUT1LBrFaU1lIz2qNSdx8ZSU1kQ3irMl2llGAfEdcXQQMNMKhAxRe7Jkrpo2nD+O0emSINuzKGS/z1cpG/v4Kdnk2dP+Ph+vBjE6iaS/x/v3cfaiU1Btcio5H7NEs5qPmcE9d1rE3ItcXoOUe6ObBzWElO+SeF9qScfJlEX3m7sDDXbfwr5AmPt3ZZyt42J92rpTnPM8Rgxm2K6035Mi/ZxWLEG7ONy0PXk3+VOWlrli1HSoMtSqdVG/7ZPiU55vrrM1X/hVvlT/1auxtZDJJPPi33+O78q4POx1iwXmLcpkCx0+7qqP6jTProunwzbJSg0CFYYnk6ZdknUpd9VOTJpUMFv2BLzOVyz9WvpEojF7Epr7Qg7138JWkKjz458Absam29+S9T8OSfFym+zFkxmGC5AN2pNSg8tk/b7erni0lobFCcSwUOpTwsxNIONO2G9XnxrRqk1RuaYO2cmSReeLePf8j3fXcN3KYAmyPetC3iflc77WJYNbMyeidWahPt8X2qcTytHumJW7u1u94u7ubr/n3BzdN5yeKuwXM6TpvSIYs/7o39bbwf5Odek4W7QuRu8LsmnTuqDf44JBor2+9AgmLcv5cyPGUlNXWWnZnjhxeY6mPk3TpD05H5KvSfFmuyvHt2xnUxbdF5cRaUoHYtOeILYR9RGpjpYiWbMsQg8ZOpuy5768M5yOKtWwaE/MeVL6eNQi2LItAJxkNE4BN2ZbwofGeUzjVJzsWRTCV/xpeiokazZFFOmq/C3T0W0UbE0i4O/JZqfhPdGwaE8MK/TX5GX8U3GyZNP5L1n+Vwa+hTQowczak/U75Xtm3N3d3uT5F/FMtaGSmiYnkXOb/HlI9uM/RJom7cn5Z1o+V+cu7NnAwWgpsjmL44csgL/t0+xpcD1DbYyS0Nnh2+TPUc7eJn/qcpSe57U+1Zy/Ou45KYQSYXw/HzLeH73o9iWTNlXcJn/e6hXBLWqrMsL2u+vk28nRbb4+bC5UEfaLwY6gTjQfx/4ONRuMwbHiMcEn11/zn3w8lLtD/1n1KldlqyM977FIduiGRT10LOJROxYpFIGS2rY5M6pt6J5F42St47L3+dV9ZNX2bct66r8XUx9VTwM3YxonKhuzUVEfebAg20L3w/bx6SNxP2Ijn3HiBh7m20fcmEN8e4tTv9JOi00+FfkuKcoBB1V3U40UZO/Ft43/nWcPu4HHu4wTuGiWbirjWDL1boakNxRjNksaHJErmA9VpdntHtLe63+NBOjq5MuEcbqwGVMVk2EbMhkKmejPrMLW0hjzYTGz7bBUhr0m+FA+VysUeIfl4fMm/8tkA9QUuWjxwFj1kPM51ZODBcPK09FJflqvXHnY5fnGXIuLBAEpedpQbD/HD3yr6UMx6BCA4bHAip4+GFs2Dc5eS7iQC502ALk5nIFJzw3TDaVoi/1SlWwLHVG5aB5sFe/Jt3Fq8dkXQ3B1KtxmJC70Lc8NdT1nyGKLIAUHdWRGgarm8xTJqnzYp0/ZQ5o9HIp0olApXJltsPJDOZtonX2ZVbj4eP+E7fMV9GFG4dlXkwGnapdOhc8oILt4v/8rL9YPu3yTrnofQTc8Ms2C/4d1aUAA6jz9SOzVD5gCVRc/zR42SfZks5urCs6V5Mw0cbrYAv95SIvkYZP/lRSreD+DKnWF+TTr4GWH7aPVDuTF0J09mnXg9i/bx3wzp8CdPZp14A673eweV9GnWQZvX2+89FB7vH4YvsX78Dhe8GJaPnTIBKSdrB/qj9M02T8kWbW6ziJK7eTLxOHaJwUnvSs2z84qasYLn0tAponEXELwlW2DVg8LsTmzlqOBOjB9YKp/TtLq4oVbD4h6nPZ1XMamx2nlMuyN0+7Shy/9D4wfrGlxLtBUgkG2Wgao8yL9t/FmAA0CWvjEATE8LI3GwcawdDf51WDoJl2VD0WyzzcHlpjtgPOhhwejxYNpQ7PmG3o/NGutveC0+jBteKocbR7SrCzy/S5ZmRvHx+KCFz5tQCrp1gLAC7MuWN1Z+CXJTfcVpCLsdRUMvyCaquy8H+SEqRcvfGaur/LNJhl2ZO/gMCgKtx0Qe6McHWNgfhqH7Aiah/aX5hzic3X2Zbo4XZryUSbbaR+o05yP2pPZhmob7+xFqi7sf1RTU2m2MYgqF80iPZPGRIrAsfmwHItZNRhyQFjZ8wrHPomL1fNDmq3Tlb1u56JR7P+ohkJWf6wfjrV6AaI/k8ZDEZVTMzJVfGbVoKiCxJuW+YRI/Z0r7U9o+otXUdhUK0ofTC4WbNMKV789GF8pqErzRJCgPTg2cEHPgKye4yxLTM2jaQ2HUPR0wVA3IPW+e6abjkYx/22AGa7MzlPQTJ4iCI+H1ZekfGD/sxkFudwpwiDW/Js8K5Nv5d0uWemKgmDSWo0u8y+JtsoMBSyO1vUlSwx7a2LuDQhjNq2l5mu8OWh7whoKFkfz2nPDI48n513yFK9ewDavI6WJNq2+CXZF/l8JG93V+UZoyFmgZelLm5STs9yz1g/VA8f2txuwzdv5x2b2d7spktP2e7eHLEuKt9nuMPDbWHBWYXdsBRNi2TJtYejD0dH/xamM8TJUBXVOF3/vGtDLDZtPWHHIqq1O625EvREkbwrNqlq0l2wkt3W28OT+ktQ/vEvXrAe11xUHpWUL6QU7+5qRsDgXoyFv6kRcWBpqXuWpHEsyxfpZ/bTeVfk6W/P/cX901dOLJXw/9bWbFL319nKCTNffzqp11uM+stX12Wxd/m9Sj23X4Wnrr/W6263e3vJ+S32Tnv46YtN8Hc1Od+h66FQyFlhRGtKHpULcqd4Lz7sZHc8CNydSLMK8OKFGHiO73eVZkpW6sombtfENKW/Kb8D/xbkMDZlSxN/ErIB+8sZPSLxc3jGSLSdEgPp4+VyI5qecwbrXcLfx2TjK84Y1IyJGnjnb1e0xB852KKMlK7eH7OOxfRWaxTEaFSa/i/y0+a41Saq4t5zDxX54zeaOasgSYs5MhoQXkLoF6Ha2Ci+maUYjRD6vbilTYTS/C9pmv9BxpEojZLcdYGK3CHIfL1odHlAeNiyg0q+qsymqcwCSH+vTAH6s7bRH/PSzh/pnR32Iw5gPb77t8rt/vEvL5Jr/7m+Nvwx1oGHoofGXHlFVx0fDyTvjRIw5okcpq1kykpmz9PP3x4fr92/uPl3fvLk7aU6qE0PNKj6Xakt8+yDk+RX4+vr++u7+4+2bCcOxEJ2wHxjBHTxGlWvXv0waobMLc4zPf364mTQ4vPwZRua3uze3U0amLn8ukTk3wx9392LP20JoeImzaH49Ennu8txpe/vh7s3t/UTBWJxKn6CW1NVAHZrfPr2+vrfa8oqhOZU+h9CIL+03795MF5VT6XOIyrlJ+cchKV4+ZlYblWOZs2hWhAry89vbO6sNihSIxbH4CSrIqRagcXl3PWVY6tLnEZXzg3OXF+Vrtu24OCxjITpSwXN7hK7vbt58eP32wy/TRmQh+jFBzZErh+JtNJNQSY7MM1agq2cNt0zZy1N8Gsk9O3uRmLBTJ0bCCYWBue02z3CqWDtpNi6IA7Nojn3iCKPR2b4sDqsyn0lwFrJHE7Q3WL1RTLt4jMvV8138NZlJ7ER/5h251SaJZ1Pjal/mHbF1sknKuVS0kzPzjtmfVQd9JiE7+vIdREz83J9B0Lg7847bfj4vgf330P7vk/K33VwCVvsyv4iJq/lBD1Y1r0531ObUcb3Q95oiJFN3uXp1syYJ0IS9q349qkmiM2VHqlfnaZLoTNhn6ttPmi4+k3WP+nSJJgnPdD2hXr2faWLT6PSU+/WP6f7HNHtOirRkZwpNFiyx41MU8QufpJt3OFlOe9Ck4mfRDYJbEpRx2mF7bAuBWQjOTPHQyTVFtS4sZ4s7ZhMz2Z85hU16Cvf7fJVWp49Vk5XtB04qfn5PYTy78CwaLk1RtWQf1E1Yxkf37rusHLMRvIZLsw1eGRdPSfmhy4ZvNgInufMdBG2Cd0Br1KZ6B6jCJr8DXrLVzWnn/AkiJ5U/i7eA1K0vc/YunUVgFmdnJqlPclVRbQd4pp/V2T+PXY7xNYmFj07Mr2oxzPiPSYiMMkALyamJ6fmp/swOF1+I3zyG6y+FbxqQrA7dTMbsL4aNL5JdPSfbeE7Rk92aeRCfksu7fdiLHfdm/iG73lw+F9Bq1LhDMw9cmqVzqmy1OzMP2iSkXx20eUyAuBi0pOocX2fr19MMQ7bEr+HZDEMpfEa85kfdfEqKfbovk6x8Xx3T+j4p4+qH1gPb7s4sPi3ko3jWSVadKzHB5JIOoVpI7k1QES/ULuWmgfH6Y7Z5+TlNNmv7kKlLYBsuzjm44vP+JjtsmdOT4GKp9Pk9zdUaoRnEZFH7MUGdkquHogr9eYg3aTnhuHLDgxlWpT9nEpUF82SKqtSoJsrNRucSqqkmA7WFSnzy3lZbfX3cdTvSW3fMxMLn97wdsvTPDqfKGA/K4uTIBPVIqh+qKlQmRRZvJsJqcvHzq0arfJ08JdnvVZ9qglE6JDyLhkuTVCyp1qga8moMdhd3OdXXRuAkd2YbtK8zqmpfZ1nHxObr1+Rlkg+Xutw5NljbXb5Py+TX5MX+YyeGZQFdmaAOHauHIli7It3Gxcuvif2BYClSkh+zCJP4jL2P2Y5G9znrjmYTEJiGB/N77h7zfJPE9pttPDSLszsTVKdmhWkP2h//mlnYHh5mHrjssH2cADEronbyZv4hm09V4/7MvqbtyyLNLp/SaCloJ2/mH7L51DTuzxxrmtTLqAYrrsuySB8PE4zgysXPr3+x637WvIXQLCR3pqhVcm1RTU2f4tMQC1f3QzasBarx7LFhnmmixYqe3zN3XPUzBY4BcVnIvkxVkXgdUYXrWMsmaqLEaImuzDJY6X6a5Q0wUmc/5hymD4fNJn7cTNSYN8Ml+DPTsN3WE1JmEDHBldkG689DWiSTv/0WkiuzDFY2xeJIGKZssiWRlwM0XZ9TCNDE/U0YILyvOcnAjVz8/Pqc28q/OURlcfRk0krUNnrDHLxB9tydPGo3U2+7qwxg40l8m+3LOFsl1TTR9RQzvFEv5vdcPvDNxSbqIqDxWQg+TVXHGtVHFb5NvC9vnuPsKVlf218U1BZE6NnsQznVDJG2IE46U+RS+BqNXnXPNOGrSp5f4/Z4SDfrKcYTpZAszm5MVYlYxVAR+C8TEtJzkM5uzDFI+2mmkYIY7SdcjI2FSGyAPuTZxJ9ADQ/m1yBltYszic1C8GeKgyobVQavWp/ipzRjQwRvs93Bfi8LlD+/arVJtxOsSMfCsji6MkF1gtVE9b6Ln+y3TWisak/mG6p9XsykWtWezCpUUhMlL06dkt6oXZlFw3XpYKmZhGn6I6ZaqpRqI6F89/Lx8wwjWbs12yCqH+TJNoj4350hxsVo8i0hvq+9IGa/CUS/3R8+Fck6XcVl8kuRH3YThFMufxZPrfSqiDP7wAcLyoI7MkWFAlVEEagsn6AHjAWKOzLfQE3RhcPiNFl3TR0mrGH6+PhfyWrCqsXLn0XDJL0HP0/CorGwLD5Px6NhNVEEK+dLD+YRrrMzMw/YJF+byohN932pDBnaYO1ZuzZd4Hj582uwdicHZxGbheTPlNWqrjBzmk6IBmy6OYXqUIlP4G2yiSc790QsfH7P3sQn6jSCM4vzdKT60tbLmuQ8mGbMRF9mGi42+XEm4RJ9mWm4ilm1WAvgzkyDNuEZTc2QTX1CU7+A2e95tUVson6XImRiT4LvOPVmis1fz0XPrxcxydIfEJAJl/4ItUK1dVu8OUzwkMEQndyYS5Caz9Y0k7uEsuf3dMWbzURjWjAsC9GVyeoQryLzW2rejNbEa807hOvzTCrW53nXqglfcEKQpn7DtYZotzkU8TSfeI1ASb7MM1zVyY2T7FvQCJbgyWxC1ewXfJhq3rdc/Px6B5O24FJYZtCIn2rJ/NpxOVRTN+VIoKRn7mVfJtubapverPLJesjk8mfx1IFjxcrf7A/lYWFZHF2Zoi6BaoJXpvsT2LmecNss1ItZVCywS3eW8dOcJ2G/6igtGp5NUOHwqjQ/HtwSxqnB8MAQ2u9hdIrhRL2NS0EUm7/f9kkx0Rkq56Ln19BVJ5fZr1QgIoujFxPUIaFeKEL0ZYqDGmCEvkx2RMPlALGR3Pt8l2/yp3QVbz4W62SSTalh0Focm28gp69rJzdmGaTjUu/p4yR6MstQHScM7J/TCdaOwHBBb+YSMmcZBcQ/L+b8iZ8x0Twts5pgZzhmsOxZdBhggG6O5wa9bS6ZsxAjpPh5humwL/PtRDECZc8yQK+TZPfPIi0lAG8hOGK5swzMNHVm5rXl7N5P0loRq5FhRc88PGCWgtX48LK/iwD9nBdvM2G3mQniVLswz3BVR9Mmewl/2gjRudhZhqU6KvHj57vDLilshwYUPePwTBOZ2QblfZzFT8l6mrd6o/B5hqjeFPRj8Tr5HB82VpvlRuGzDtEtvsGGxTjJHswzWOxUJWSc00aYQNkzDlBzlqa1+JyKnm94JnjCzsXONyy2e82nQucdkp/ivdVOj1TwnEMjb/tdrSd9a/XrvcWN+YZNOh3eVpCqQucbktMqc+txOZU8z+AcGMmU5+XaCI1Q7iwDw2am7OJVcpvs881Xu99djcJnESLq++55TszDQ2n5Sx2PyuLkyBSbdzdqSUuNYmeCTzIyCIqeRW2C4fm4TcuPu+qbJ97wZbxf7X5aoA7MM1TQS2G/WxuBahY/6zBtXiaFaC1uzDJsn+Ii3iZlUqT/TtZ3ZVwmW3H9gIWI4R7MM1jyjqxWoyQXPc/wpKsvkzbqqAPzDNXxO+HNt12R7PeWwSNS/CzDdCtMBLM9VATLnmWA7lbxJi4m7GyiDsw0VMf9LCwH6FTsjMMC5slaiwsvd8aBOX3z2Y/NqejvITwT1J1z2XMOUGMOur34HIueZ3iSkkHB5uF5NgIEC59niPKinARlSwXPPzTT9KEVLswzXGW1mGmaDqJc9CzDU90gLTu2EJdjmbMIiOsIpH97PG3m4eEUkK9xkVYNpuGgSIXPLTJrMN/MSEzWdueViQ/FubWQfiPffxS/zdeHHtJl2bJkDVINJazNa52Jags4lqC0mvo8NBXsx5qD7pHIc5ceXoPGO7qA9kZFm0fv//vXqzqO//H/fjieef8fPzhX7lX0w6vjLk3/8cdxC6JVvmVk/F/1td+TFXuV/scf/Ja/LX949cfyleddeUvvFXnlRVehT//1r1d/HH/K7mB/YPeTH1794bzywqulH75yX/n+VURC6X4i3e/88OoP75XrX1EveuXX/5Dud6T73R9e/UFfBeEVXcpuuNJt3g+v/ggqtx3ZmCfd5f/w6o/wVeBeeVS+zZduoz+8+iN6FSyvlqEv3Ual24IfXv1Blq98euUvZXOBdF9Y3UewYkPpvqi6z8G0RnLIlwqxBKSmijxxsYKJnBRSxZx4mGQip4NUYSf+K+pehbKPRE4IqSJPKFq4nBRSBZ8E6J1yXkgVfxK+ct2rEFQaIqeGsNxEqE05OaTKgbN85QdXTujKd8rpIVUWHDSPRE6QU+XBcbA7HTlFDlGW7oDnpsqDgybTkVPkVIlwPPROOUdOlQjHR++Uc+RUiXDoKxpc+b78eDtyjhx1jhw5R06VCCdAqpIjp8hhKUKfW0dOkcNShKbdkVPkVnlwl9idrpwit8qDi6bdlVPkVnlwHSxILmjUqjy4aDJdOUWupwynK6fIrfLgoml35RS5VR5cNO2unCK3SoSLPsSunCO3SoSLPsSunCO3SoSLZtOVc+SxHKHZ9OQceVUiPDSbnpwjj71/0Gx6co68KhEe+hB74N1TJcJDs+nJOfKqRHhojjw5R16VCA/NkSfnyKsS4VGs7fbkHHlVIjw0R56cIy9SNkuenCO/SoSHv1PlHPksR2g2fTlHfpUIH82mL+fIrxLhk1fUufIc+UY5RX6VBx9Npg+6CL5Sui+nyK/y4KNp9+UU+YHyIfblFPlVHnzvle9euR6R75RT5Fd58P1XvnMVEnCnnCJa5cGnr6h/5Xtyd0bOECVKN6mcIeoo3aRyhqirdJPKKaIsRWjtpHKKqK/2E3TkqNpPOUU0UPspp4iyFKE1nsopoixFaI2ncoqCpbLSBXKOgioRFH02AjlHQZUIirZ0gZyjwFWXLucoqBJB0ccokHMUVImg6MMRyDkKqkRQD+kGBKC7XeWBok1iIKcoCJUm5QwFVRoo+n4L5AyFS5XJUE5QyBKEVuNQTlDIEoRWpFBOUMg+gtCKFMoJCtl3EFo9QjlBYZWFAP8qkRMUqnt0oZyhsEpD4GCvohB8EoXK/mQopyis8hCgFSmUUxSxzyLvlR9eEUd+G0RyjqIqEQFakyI5R5Gj1B7JOYqqRARoVYrkHEUsR2gNieQcRSxHaA2J5BxFVSICtIZEco4i9bsoknMUVYkI0boUgQ/XKhEhWpci+OlaZSJEWxB+Tby3ykWIf78uwQfssspGiPas+DXx3iofIZp+fk28t8pIiL08+SXxVkYX8O/YJfiQXVZJCdHM8mvivVVaQvxbdgk+ZpdVYiI0Z/yaeG+VmoigH/1LkDZGFiKUTZAGdahSE7kYIoDYgagfLwLBA+MLkYe7ALLGCEPkY1mD8IEhhgjtPhOIH9r4AwQQDDMoXABJY5whCnBlIGmMNEQhfi9IGmMNEV5xAIcgjDbg9dGBrIglbbl8RckVoQ64GWSNEQeyJK/86GrpBuBmkDYGHcjSqSgigYZB3hh2IEsXjQRgEoRDiSVeeQCWIA7nej5Ow0DuGIBQVAkAJwhDEGSJ0kwC+ARhFIIs8VoBEAVhIIIs8WoBKAVxef7weuFC3OeqIA0BpIJwVEHwxgfACsKQBMGpKAG8gjAqQQj+1gDIgjAwQRTYE1ALwrEFimwI4BaE0QlCPOyRBuSCMD5BCP6OAfCCMERBVKwUZI9RCqLApQBhEAYqCMGfaw8CW54/vF4AkEEYriAOnmzAMggjFkSBTgHOIJ664QQ8gzBqQXDQSgDSIB7H63i9AFSDMHZBHLzBAGCDMHxBKo6K3Qzy57e88gDdIAxiEAevGIBwEMYxiKPg6BC58/ThFQNwDuLz9EW4PpC+FtZBAOwgDGmQisJihkH+GNUgOIglAHkQRjbwrg2AHoRTDxevRIB7EEY3CE5uCUAfhAEOgiNZAugHYYyDuD7aFAEAQjgBwcEsoXDQpG3UBGSPsQ6Cc1wCQAhhuANvOwEJIZQnL0T7DACGEIY8iBshWI8AHEIY9CA4+iWAiJCAD3MRtL4BKEIY+iAe3ucFXIQw+kE8vDcC0AhhAITgGJgAOkIYBCGej0YugKNeQUtvC0ASwlgI8Sg2gEkAKCEMhxAvwN0ACWRIhHgh1oYDXEJCou7zAWBCQp4/tGIAZEJCPlCJVwxATQhjI8TH2xYATgjDI9W8KyzXgJ0QDk98vGIAfEIYJCE+/tYBBIUwTkJ8vIsBIAoJo5ZaBDgKYbSkfYyeAKJCGDchPt63BVCFcKriB6/85VXkgvYZcBUS8UTiTQdAKyTiiYzQRgnQFcIYCqH46wcAFsIwCqGkqqdBRMDNIJEcslC8igDMQhhMIRSvIoC0EMZTCMWrCIAtDgMqhKIdEwfQFocRFYVAB+AWhyEVQtF0O4C3OIypEIp+yjgAuDhLPm8A/ZRxAHJxln6bz2BgeskziE7scAB0cRhYIcHylRdc0cADN4PxaUZWSIC+VxyAXRyGVkiA1g0HcBeHsRUSoHXDAeDFYXQFZVUOAC8OBy8BWo0cQF4cPudDEWWAXhzS8gQ6AL449dQPvIIC+uJw+hLgdQ7gF4eou6EO4C8O4enD6ycAMA7h6cPrJ5wH4vD0oT1nB04Fcfjw2xJ5uzmNySD8KwKvcXA+CGcwIV7j4JQQzmBCvMbBWSEcwoR4NYITQxhnwUcHHDg1hDOYEK8YcHpIC4Nx4AQRzmBCvBIBBuNwBoMjXQcwGIczGJzpOoDBOJzB4FDXAQzGYaCF4FTXARTG4RQmYjP3XNgMAArjcAqjaBIBhXE4hVE0iYDCOJzC4MTYARTGYaSFRHidAxjG4RgGB8EO4DAO5zARyvIcwGEczmEivG4ADuNwDhPhdQNwGIdzmCjE5joBDONwDBPhDSjAMI7HZyvgVQNgGIeRFmeJNxoAwziMtThLPIEAxDgen0TnYq8ewGGcem6J94our5YemPMGOIzj84FxtN/qAA7j+HwyHfpV7AAO4/gdJqICHuNwHqNIDeAxDucx+OeVA3iMU886wV9BgMc4Ps8j3tIAHuP4PI/4KwgAGcdvySPgMY4ftaUG5JEu69T4zpVDvVdONW+2OVXYAXDGYfzlQpYAo3E4o1FkCTAahzMaRZYAo3EYhlEFHjAah/rqWAJE41DaEkvAaByGYRyCP8aA0TgMxFwKIMgs5RNd8UcfwBqHT10heNsNaI3DgIxD8LYb0BqHARmnmmuMNBSA1jhBy1eiA2iNE3jq1ABY4wR+S2oArHEYj3EI/gYBsMbhsEbxBgGwxuGwBn+DAFbjcFajeAAAq3HCZcsbBMAaJyTqwAFY4zAgo2rnAa1xQrclyoDWOJzW4AOQDqA1DgMyFx4AAG2ckKcRb40BtHH4pBdkNr4DiI3DJ72QEI8ISGLIH0KMdTkA2DgRn2++xNICQI3DWIzj4K0HADUOYzGO46CRBqDG4aBG0T8EoMZhLEYVCwBqHMZiFLEAnMZhKMZx8PYIcBqHoRjH8VDDIHuMxDiOj94Lp6FHqjEsBzAad8lzh8+xBozGXfLkBVh31gWMxl3y5GFNhgsQjcsojIPPnHcBonEZhcGj5gJC4zIIg0fNBYDGZQzGcdHn2gWAxmUMxnHRMR4XABp3GbaEAkxPZwjGwceDXMBnXM5n8O6DC/iMyyCMo5j2DwiNS/h6D3w+PyA0LlHPsnUBoHEZg3Fc9JPIBYDGZQzGUawAAIDGJTx/+CIAAGhcwvOHrwMAhMbli3TwpQAuIDQuX6eDDwm5gNC4nNDg6ysAoHH5Yh188YALCI3L1+vg6wdcQGjceskOXjMAoXH5qh18+MgFhMblC3fwhQQuIDQuozCOhy+3A4jG5ct38OUELkA0Ll/CU60TQCodYDQuX8WDLxVw4ToehmEcfJzHhUt5GIZx8HEeF67mYRjGwRcNuI0FPSyD+GoAF67pcfm6KzyDcFkPwzAOPs7jwpU9DMNUp0CjN4MMMgzj+Gg3x4XrexiGcXyUe7pwiQ/DMI6PfnS6gNG4DMM4+DCMCxiNyzCMQ9HuiwsYjcswjIMPw7iA0biMwzj4MIwLII3rqdabuoDQuJzQ4B0dFxAalxMatKPjAkDjckCDdvpcwGdczmcoXuEAoHH5RBnFOw0AGpcDGopOW3ABoHE5oMHn27sA0Lg+Tx5eOwGZcX2ePPxtAsiMy+CLQ/HaCciMy8kMPqXeBWTG5WQGn1XvAjLjcjKDA3EXkBmXkxl8HrwL0IxbT5VBqxEgMy4nMwG69tcFOMZlqMUJ8L4D4DAuQy1OgE6tdQGHcSmfZ4j3bAGHcTmHCfC3CeAwLucw+BiMC0CMy0GMSiBIIGMt7Z+WLuAxLp8zE+KNHQAxLgcxeEcbcBiXcxi8ow0wjMsxTEiw7jCgMC6nMPjgkQsojMtXEuGDRy6gMC6nMPjgkQswjMsxTMi6uO4StDMAw7gcw+CDPC7AMC4jLU6ItzMAw7gBTx/+FgQcxmWoxQnxmgc4jMs5DD7I4wIO44bqlXou4DAu5zAR/sYEHMblHAYftnEBh3FD5Sx7F1AYlxEWBx/hcQF+cTl+wUd4XIBfXAZZnAgdKXQBgXE5gcFHeFxAYFxOYPB5+S5AMC5HMPjEfBcwGJczGHxmvgsYjMsZjOI1ARiMG7ktrwnAYFw+WQZ/TQAE43IEo3hNAAbjcgajaPkBg3E5g1G0/ADCuBzCKFp+QGFcPlcGnw3nAg7jLS9PevIAjvEYcXGXaGPuARzjMeTiLgnWU/IAj/EYcnGX+OpzwGM8xlxcfCmEB4CMx6fM4KDcA0TGY9AFX1LnASDjMeZS7Z6DugxWojPo4i7x9e2AyHgMurj4uJ4HiIxH+MYO+Cp3QGQ8whOIdhs9QGQ8whOINuceIDIeoy4uwasGQDIeoy4uPqLjASTjMeriErQ98ACS8Rh1cfHRGQ8gGY9RFxffBsYDSMZj1MXFVzh4AMl4fNIMPuHPA0jGc9TrOD2AZDyHb86BNugeQDIeoy4ujvU9gGQ8PmlG4TJAMp7DE4i2/h5AMp7jt4QZIBmPr1xSuQESyKiLKnIgfw7PH16bAZHxGHRRugzyx7dWqT5MkYYOEBmP766CD0d4gMh49QYraO/EA0TG43us4AMBHiAyHoMuroOt7/YAkPH4Riv4cg8PABmP77Xi4BUUABmPb7fi4BUUABmvXrqEt10AyHh80xUHe9V7cNcVvu0KvjeOBzdeYcjFdfH8wb1XPEftBdx9xeNb5OC5bmzAwtLn4rmGe7DwpUuKRwpuw+K1vAHhRiyMurgu2m/14F4sfO2SyguQPkZdVF6A9Pk8fXj1BETG83n68OoJiIzHoIvrBuiDDYiM5/P84U0iIDIenyujCAYgMp7vt7QvgMh4DLq4Lt7MASLj8bVLKjdAAhl0cRWbDgEi4/ktCQRExmPQxcVXqXiAyHgMurj4KhUPEBmPtiUQEBmPQRcXX9LiASLjMejienjVB0TGo20PICAyXsvqJQ8AGY/BFtfDqz4gMR7l+aNYYwRAjMdgi+vhDTMgMV7A84fXfIBivIDnD6+fgMV4Qcu6CQ+wGC9wW+onYDEewy2K+glQjMdoi+vjXVuAYjxGW9A56R4AMR5jLa6P13sAYjzGWlx8EY4HQIzHWIuq3gMQ4/HFS4oPJABiPAZbXHx5jwdIjMdgi4sv7/EAifEYbHF9vC4DEuMx3OLiq288wGK80G/puQMW44V8rzi85gMW44U8g3jNByzGC9tegIDFeAy3uPiAkgdYjMdwi4sPKHmAxXgMt7j4gJIHWIwXtTWggMV4DLe4+OiTB1iMF7W9AQGM8RhvwR8qgGI8RltcfFTLAyjGi/h2f3gFBSjG48uW8AWrHkAxHqMtLr4SyQMoxl/y/KHf+z5gMD5ftoQHzgcMxucMBh9T8gGD8TmDQXurPkAwPkcwFOVSPkAwPqMsLj7+5AME4y+pupvvAwbjcwYTLLHBRh8wGJ8zGHzVkg8YjM8ZDL5qyQcMxucMRuEGYDA+ZzD4EicfMBifqL8gfIBgfI5gVF6ABHIEgy+I8gGC8TmCUVkGCeQIBl/j5AME43MEo9AH8scJjKLOAQLjE54/9A3hAwLjO235AwjG5wgGXz3lAwTjcwSDr57yAYLxnbYEAgTjcwSDD/P5AMH4TlsCAYLxGWVx8SE7HyAYn2EWF1+Y5QMG43MGo3IDZJAzGHwgzgcMxucMRlE3AIPxOYPBR+18wGB8vnIJ3QXFBwjG5wgG35XLBwjG5wgmRIdefcBgfM5gQnSEwQcMxucMBh/h8wGD8evtY3B9IH8cwaj0gfzV+94q9IH8cQaj0AcYjM8ZDD4o6QMG43MGgw9K+gDC+BzCRHjVBxDG5xAGH2j0AYTxGWdx8YFGH0AYn4EWFx899AGF8TmFwUcPfUBhfAZaXHz00AcUxmekxcVHD324Ly7HMPjooQ+3xq0xDL7lLdwdl2MYRasBN8jlGAYfl/ThJrk+zyBeNxr75LKJ9fjglw+3ymWkxcOXnvlwt1xGWjx86ZkPN8zlGAYfVvPhnrl+1HYzyCBDLR4+rOYDDuPzhUr4DmM+4DA+Qy3eEq91gMP4DLV4+K5hPuAwPkMtHr6OzAccxqc8g3jdABzGpzyDeN0AIMbnM2Pw0S8fgBifL1HCR798QGJ8Bls8fG2SD0iMz2CLh49++YDE+Ay2ePjaJB+QGD/g24jjGQQkxmewxcMHqXxAYnxGWzx8kMoHKMZntMXDx518gGJ8xls8fMTHBzDGZ7zFc/AMAhjjM97i4YM4PoAxPuMtHj6I4wMY4zPe4uGDOD6AMT7jLR6+aZcPYIzPeIuHj+L4AMb4Id8LHs8ggDE+4y0ePorjAxjj8+VJDp5BAGN8xls8fCMuH8AYn/EWD99cywcwxme8xcM31/IBjPH5lrzI5FcfkBifz4rBJ7/6gMT4fFYMOvnVByDGZ6zFw0eHfABifMZaPHzdhQ9AjB/xzfzRoU4fgBg/auuGAhTjM9ri4QMzPkAxfsSzh9c4gGL8iGcPr3EAxfiMtnj4wIwPUAzls2LwhRcUoBjKaItXEWfk5ByAYujSabMMNpFftqzupIDF0KWaZVOAYuiSH8iAtlwUoBi6pOp6RAGKoctAXY8oQDGU0RYPH8WhAMVQRls8fLEIBSiGMtri4YtFKEAxlPAEojWUAhRDOYrBv2coYDGU4RbPQ5EeBSyGMtzi4aMtFLAYSngG0epMAYuhDLd4+GgLBSyGMt7i4StLKIAxlPEWDx+8oADGUL6JL171AYuhfIESduASBSSGMtji4QtWKCAxlMEWDx+5oIDEUAZbPHzkggISQzmJQRkWBSCGMtbi4YtbKAAx1OFnouCVCIAY6vDs4edJABBDHZ49/FAHAGIoYy2e4lwHAGIoYy0efmADBSCGMtbi4Wc2UABiKIMtHn4YAwUkhjLY4uHnMVBAYiiDLR6+WoQCEkMZbPFwsk8BiaEMtng42aeAxFCXH2yDZxCgGMpoi4cvAKEAxVBGWzz8QAUKUAxltMXDF4BQgGIoP4gIXwBCAYqh/CyiAM8gQDGUH0eEz+ylAMVQfiJRgGcQoBjKDyXCj0OgAMVQfi4Rfs4BBSiG8qOJ8KMOKEAxtD6dCM8gQDGU0RYPP/CAAhRD6zOK8AwCFEP5MUX4YQYUoBjKN5HBjzOgAMVQRls8/DwDClAMZbTFw9EiBSiGts2IoQDFUI5i8OMPKEAxlKOYEE83QDGU0RYP3y6LAhRDGW3xQpRQU3iCEUcxIX4mIzzFiKOYCO+GwoOMOIrBT0Gg8CwjjmJwaEnhcUYcxVTQErMMMshRTIT3FhuHGvEtYfF7QQI5icE3wKLwZCNOYvDDECg83IiTmCjAzpUCIIZyEBPhyQYghnIQg29fQgGIoQE/KwxPNgAxlLEWf4knG4AYyliLv0TnWVMAYihjLf4STzYAMZSxFn+JJxCAGMpYi4+fRkABiKGMtfhLPIEAxFDGWvwluvCCAhBDGWvxl3gGAYihjLX4S/xxBSCGMtbiEzyDAMTQkB/4hrfOAMRQxlp8fKY8BSCGMtbiEzyDAMRQxlp8nBVSAGIoBzGKz2IAYmgYqjvPgMPQMGrpPAMUQ/mmvorOM0AxNCItnWfAYihnMYrOM2AxlLMY1aFoIIGcxSg6z4DF0Mhv6TwDFkM5i1F0ngGLoZzFKD5eAYuhnMUoetqAxVDOYhQ9bcBiAs5iFKeVARYTcBaDd54DwGICzmLwznMAWEywdNWd5wCwmGDpqTvPAYAxAYcxeOc5ADAm4DAG7zwHAMYEHMbgnecAwJiAwxi88xwAGBNwGIN3ngMAYwIOY/DOcwBgTMBhDN55DgCMCYij7jwHAMYEHMbgnecAwJiAwxgcKgQAxgQcxuA97QDAmIDDGLynHQAYE3AYg/e0AwBjAg5j8J52AGBMQCJ1TzsANCZwWta2BIDHBJzH4D3tAPCYgPMYvKcdAB4TcB6D97QDwGMCx1P3tAMAZAIOZPCedgCATMCBDN7TDgCQCTiQwXvaAQAyAQcyeOc5AEAm4EAG7zwHAMgEHMjgHeIAAJmAAxm8QxwAIBNwIIN2iAPAYwLOY/AOcQB4TMB5DN4hDgCPCVxf3SEOAI8JXKruEAeAxwRuoO4QB4DHBG6o7hAHgMcEbqTuEAeAxwTeUt0hDgCPCTyi7hAHgMcEnqPuEAeAxwSeq+4QB4DHBJ6n7hAHgMcEnq/uEAeAxwQeVXeIA8BjAoZcFB3iAPCYgCEXRYc4ADwm4DymdfV0ALBMwMiLj89DDwCWCRh5wcYcA8BkAn56NH6aVgCYTFAfII03pIDJBPUqJexYWUBkAp/nENtwLgBAJuDnSBP88QZAJmDMxcfH5QMAZAJ+mrSDTncJAJAJ+IHSDnqeTwCATMDPlHZc9GYAZAJ+whIaN4BjAn6wtIO/jAGOCfjZ0g5egQCOCfjx0vg+iwHAMQH1W+oQwDEBP2RaEWXAYwJ+zrQiyoDHBPyoaVWUQf74adP4+V8BPG864PnD+4vwyGnGXFQVFJ46zYEMvpNkAA+e5kAGn6MQwLOnA089eSuAx0/zRUr4BgoBPIGaAxl8EWvQOIWaZRCfehDAg6g5kMEXpgbwMGoOZPD1owEAMgEHMvhsggAAmYAvU0KXNweAxwScx7i02sbVhZEDPCbgPAafeRAAHhNwHoNv+RgAHhNwHoPPDwgAjwlqHoM2twDHBIy4+Pi6uADgmIAhFx+fHxAAHhMw5OLjo/gB4DEBQy4+PoofAB4TROr9fgKAYwJGXHx8KWYAcEzAT63GXquAxQT1ZjG4uyB3HMWotIHccRSDz1AIAIoJIp48vNYDFBMw2oKLA5mLeObQ2TYB4DDhkmcOrfMh4DAhX56ETicPAYYJlzxzIXoqOsAw4dJVP0whwDDh0lM/TCHAMOFS3XcJAYUJGWhRPEwhoDDhkicPnX0RAgoTLlXJCwGCCZdRW9hA8shS/bIOAYIJGWVRvKxDgGBC4qhf1iFAMGG9YS/64gsBggmJp36zhwDBhIyyKN7sIUAwIVG3myEgMCEJ1L2AEBCYkITqXkAICEzIIIuiEx4CAhPy3WGwegHwS8gIi49PyQkBfgkdR90chwC/hA7PHtrQhwC/hIyw+PhEmxDgl7A+UAlr6ENAX0Knpd8ZAvoSOi39zhDQl9Bp6XeGgL6EDLD4+NygENCXkAEWH1/VHAL6ErrK74YQsJfQddQVGbCX0HXV3xghYC+h66m/MULAXkLOXvBvjBCwl5CzF3zNdgjYS8hXJeGhAMnj5EURCpA7Dl4UzzQALyEHL/hS8BCAl5CDF/zjPgTgJeTgBV83HgLwEnLwgi8FDwF4CTl4wZeChwC8hHwiDArwQsBdQj4PBmdyIeAuIecu+BrzEHCXkG8Mg7KwEGCX0FOPwYcAt4R8FozCY4BbQgZVfOpgE7dDQFzCDkcphQC8hBy8ULyJAeAl9HkWvapZrE499qn/yveuIs975VNalef50EeQWw5k8PGwEBCZkBMZfDwsBEQm5EQGHw8LAZEJOZHBx8NCQGRCTmTw8bAQEJmQExl8PCwERCZk2MUP8OgDJhNyJhN4+M0gr5zJ4ONhIWAyIWcy+D6RIWAyIWcyAbr3QgiYTMiZDD4eFgImE3ImE6B0NgRMJuRMBh/iCgGTCTmTwYe4QsBkQs5k8CGuEDCZkDMZfIgrBEwm5EwmxNsUwGRCzmTwUasQMJmQT5JBt6IIAZIJ+RyZEMXrIUAyIUcy+GmKIUAyIUcy+GmKIUAyIUcy+Ea7IUAyIUcy+KBVCJBMyJFM5CBzN0JAZEI+RQYf4AoBkgk5konwHgtAMiFHMhGeP4BkQo5k8AGuECCZkCOZCE8gQDIhRzL4CFcImEzImUyEP4GAyYQMu1D8xKoQMJmQYReKj3CFgMmEDLtQHBqGgMmEjLtQfIQrBFAmZNyF4pujhgDKhAy9UHyEKwRcJmTsheIjXCEAMyFjLxQf4QoBmAkZe6FL7BT3EHCZkKEXusSfQMBlQkZfKMETCNBMyOgLxQe4QoBmIkZfKEETGAE0EzH8QvEBrgiwmYjhF0rQBEaAzUQMv1C88xsBNhMx/EIJmsAIsJmI8RdKsA5fBNhMxPALJegTGAE2EzH8Qgn6BEaAzUSMwFAHHaGMAJ6JGIGhDvoERgDPRIzAUAcdoYwAnokYgaEOnkCAZyJGYCj+1RcBPBMxAkMd9AmMAJ6JGIGh+FdfBPBMxAgMxVlOBPBMxBAMxVlOBPhMxBAMxZFLBPhMxBAMdfEMAj4TMQRD8aO2IsBnIkZhqOtgNRQQmohBGIovqIsAoYkYhKH4gVgRIDQRgzDUxZ9AQGgiBmGoS7GeZQQITcQoDHXRJjQCiCZiFIa6+CMIEE3EKAx18UcQIJqIURiKTyqNAKKJGIWhHp5AgGgiRmGohz+CANFEjMNQHJtFANJEDMRQD+2GRoDSRAzEUPzgqghQmoiBGOrhbSigNBEDMdTDMwgoTcRADPXwRxBQmoihGIofXBUBThMxFkPx5YURADURYzEUP7gqAqAmYiyG+g5CgCLAaSKGYih+blUEOE3EUAzFz62KAKeJGIqh+OzkCHCaiKEYis9OjgCniRiLofjs5AiAmoixGOpjvZgIcJqIoRjq408g4DQRYzEUn5wcAVATMRhDKUG9AOljLIZStAUFnCZiKIZS7EDWCGCaiCEYSvHHD/CZiCEYSvE3IOAzEYMtlGJfgREAMRFjLZSiPRjAYSKGWii+i1UEOEzEUAulKN+KAIeJGGqhAd58Ag4TMdRCA7z5BBwmYqiF4hwmAhwmYqiF4vOSI8BhIoZaKD4vOQIcJmKoheIcJgIcJmKoheLzkiPAYSKGWijOYSLAYSKGWih+XkcEOEzEUAvF5yVHgMNEDLXQEM8g4DARQy0U5zAR4DARQy0U5zAR4DARQy0U5zAR4DARQy0Un2ocAQ4TMdRC8fX1EeAwEWMtFJ89HAEQEzHWQvHZwxEAMRFjLRQHMREAMRFjLRQHMREAMRFjLRQHMREAMRFjLTTCMwhATMRgC43wDAISEzHYQiM8g4DERAy2UJzERIDERAy2UJzERIDERAy20AjPICAxEYMtFD86PAIkJmKwhUZ4BgGJiRhsofjeBBEgMRGDLQFOYiJAYiK+a8wSzyAgMREnMYpGBpCYKCLqsYQIkJiIwZYAn8UcARITRa5y4CFYutjAQwT4TMQQTLDEJoBEAM9EjMAE+L5gEcAzEUMw2EB4BOBMxPhLsKTYjigRgDMRnzSDn58TATgTRTynePMO4AxZMgAT4FuI1Vel21VTfutL0r0sq/iGY/VV6XY27Qnfcqy+Kt3uKUfl64vS3b46gvVV6Xb1Bvf1RenuQD0wV1+VbmfZxLdLq69Kt0fKeYL1RfFuxmMCfHu1+qp0OxvOXzqvfP+KOPBumFHCM4qOOtVXpdt5RtHdqOur0u3sqcS3ZKuvSrerp2XUF6W72ZOJb+FWX5VuZ48nvolbfVW6nadU8RQRmFLGZwJ8wnh9VbydT69xFE+GA3PKIE2Ab+ZWX5VuZ0nFt3Orr0q3s6TiG7rVV6XbWVLxLd3qq9Lt7DnFN3Wrr0q3s6zi27rVV6XbWVbxjd3qq9LtLKv41m71Vel2llV84nR9VbydYZsAn+BcX5VuZ1nFpzjXV6XbWVbxSc71Vel2llV8mnN9VbqdZRWf6FxflW5nWcU3TquvSrezrOITmOur0u1BS0PgwqQyihPgW63VV6XbeVIVdcCFSfX4OWmKOuDBpDKYE+BTmeur0u0sqfhk5vqqdDtLKn5aTH1Vup3v0aaoAx5MKoM6AT7tt74q3c4PbVLUAQ8m1ePHpinqgAezythOgO84Vl+VbudH/yiy6sGsMsIT4DND66vS7Syr+CTH+qp0O8sqPnOxvirdzrKK08H6qnQ7yyrOB+ur0u0sq/hkwPqqdDvLKj5hrr4q3c6yik9Xq69Kt7Os4nPQ6qvS7Syr+Cy0+qp4OwM/AT4Prb4q3c6yik8Yq69Kt7Os4ieN1Fel21lW8TNB6qvS7W29XwqTyghQgG9pUF+VbmdJpeg3cn1Vup0llSrqAIVJZRwowM/7qK9Kt7OkUkUdoDCp/Mjt6tMO64sHMKn81O2lj21iWV+VbudJVdSwACaVH72NHxNcX5Vu95Rn/9YXpburtEUu+lkQwJTy07fxo4Lrq9Ltgfqw4PqqdHuoPi64virdHqkPDK6virczOBQEiuc0hCnlOw7jS+vrq9LtjnpxfX1Vut1VL6+vr0q3e+oF9vVV6XZfvcS+virdTtWL7Our0u3sQcUPl6mvSreH6lX59VXp9ki9Lr++Kt7O975Bp8nWF6W7iXptfn1Vur1lB6r6qnR7yx5U9VXp9pZdqOqr0u0t+1DVV6XbW3aiqq9Kt7fsRVVflW5v2Y2qvird3rIfVX1VuJ0sW3akqq9Kt7fsSVVflW5v2ZWqvirdzteR42kiECgRvh4Ln3pUX5VuZ+9UfEypvirdzojScom+aAhESoRBI+Lh7yUCkRJh0Ehxqnp9Vbo9agFWBDIlwqgR8QLcGciUCMNGQYCNf9YXpbvZK7WayYwah0nlTCnAVl3UF6W7Wec3oPjdMKWEpxRtkggkSoRQNTojECgRDpTwQ5bqq9LtofLlTiBOIhwnBRGeToiTCMdJ+Gzp+qp0O0snfnpSfVW6neUTPxKpvirdzvKJn3NUX5VuZwnFR+vqq9LtLKMh/jVDIE4iHCeFeE+WQJxEOE7CzzCqr0q3s44vfiRQfVW6nWUVPxSovireznESfixQfVW6nWUVPxiovirdzrKK77JZX5VuZ1nFDweqr0q3s6zixwPVV6XbWVbxA4Lqq9LtLKv4EUH1Vel2llX8kKD6qnQ7y2qErnStr0q3s6ziK37qq+LtjBiFS3Rvq/qqdDtht6PLD+ur0u0Oux1dgFhflW532e3omF59VbrdY7fjowUE8iTCiFG4xEcLCORJhBGjED+Cp74q3R60fBcSyJMII0ahot9DIE8ijBiFqn4P5EnE51lVPNqQJxFGjEKyRN9LECcRBoxCgk1rqi9Kd7OcEmxiU31RupulVDG6RCBMIgwXKYMOYRJhuCjEl9nVV6XbA3a7ohmAMIkwXBQSdEZpfVW6naWUKGoAhEmE4aKQKJoBCJMI5SlVNAMQJhGGi0J8i7v6qnQ7S2q1ChnpPkCWRBguCvH53fVV6Xa/rScLYRKpN0ZW9GQhTCIMFyl7shAmEb7yS9WThTCJMFyk7MlCmESCZUtPFrIkEpC2nixkSSTgOVU8S5AlkaCt4wtREgnaOr4QJZGgreMLWRIJ2jq+ECWRIGjrnEKURBgsChXDiwSiJBKojj2qL4n3MlIU4gsI6qvS7ewRVQxFEsiRSMjTGWDwjkCMRBgoUvTvIUQiIX9AFR1HCJFI6LdFHEIkwjBRqBjlJBAiEYaJQsUoJ4EQiTBMFOLrFOqr0u2s1VWMchIIkQjjRKFilJNAikT4aVauoumCFIkwTkQi8sqLrtzGcwEpEmGcyHGwRf71RelullTFiCuBEIlELbMdCGRIhFGiUDE+SyBDIlErbYAMifBTxlVvAMiQCKNEyiYdMiSHMyRFk+5AhuTwzXwUTboDGZLDJyXhTboDEZLD5yQpmnQHIiSHn3KFt9EOJEhOTZDQNtqBAMlhiEjRRjuQHzmcH+FttAPxkbPkDyk6z7G+Kt3OH1J8MpUD8ZFD+EOKznWsr0q3s3a3GgVBwgLxkcMAkfJumE8GiEJviTXSDqRHDgNEoYd2oxxIjxwGiEIPW+FRX5TuZk+oYmzegfjI4fhIwWwciI8chohCfP+u+qp0O0sovq6nvirezhBRiO+9Xl+VbmcJ9RTVBQIkhyGiEF/dU1+VbucpxV9fDgRIjuO11ADIjxxGiELFwL8D+ZHDCJFTTdXDjMOcMkDkOD5+N0wp40Oqd5cD6ZHz/1P2bsl15EqW9lzyWaYK3BxAzaDH0PZbGkXulNhJkTy8nKyssp77bxvuEQws+oKynw5PwjcUEY7rh+WOwYcimXcj0qM4+BCZuyLCozjwUPMjn6x0Mh8e9dOVW+lkPjzqJ2ey0sl8eNTPdWSlk7m61J8aI8KjOPBQ84OgrHQyH6uj4o/SyI7ioEPUGl064FAr/hYzIjqKio6YOaKjqOiodPdZkBxFJUfMGj2q4IgoLSKCozjQULzqRr0VAIKjmBdLo4jcKCo3kvClyNeyfTJHhw4yFOp2zbwp9dObokc1QbOfqNNKJ/PhUiISiciN4iBD9MMgN4qFZ6i0wsk6rj4MgqM42BD9MEiOoqYLYh8GyVEcbKgROUxEchQHG+IfBp1aForBiOAoKjiiHwZ9OtAQ/zDoU80RxD4MgqOo4Eh8qBoRHMWBhujDIDiKCo7EZ7ARyVFUcuTffmKlk3lZzL0IjqLIYvWF3CgOMsRWX4iNoqhLyZIEsVEU7ab+BjwiNoqDDLHmhdgoVvUoWcAgNoqKjfxsVVY6mQ+PEs1HRG4UBxpq5FQ7IjiKgw01P1bSSifz4VI/WtJKJ/PhUz9e0kon8+HU6gObiOgoDj7Uqn/OE5EeRaVH5AA3Ij2KSo/8uEkrncyHV9n6HvFRHIio+bGTVjqZD682/5wnIkCKAxE1P37SSifz4VVyJhsRIEUFSORMNiJAigqQyJlsRIAU2yI5lJWezRUgkSPciAApDkTUyBFuRIAUVYbkp3Sz0sl8CFbyl5K+phzQGp2qAImcD0cESFFVSOzDIEGKSpDIcXJEghQHI2rkODkiQYqDETVynByRIMXBiBo5To5IkNJgRI0cJyckSGkwokaOkxMSpDQgUSPHyQkRUhqQqJHj5IQIKQ1K1LrfwhIypLQVvoNIyJDSpk71m0xCiJQGJyKRZwkhUhqYqG9+i0kIkZJCJH8HkZAhpbDIAmalk3kYz+KfgyeESGlwor75zTEhRUqaicjPlWWlk/nVaaTjJcRIaZCiTg7ZE3KkNEhR30hbR46UBinqfjSrlU7m6lPS1pEjJU1K5Kf6stKzedTL8/wPgxgpRfUp6UiIkVJUn5KOhBgpDVDUyZF8QoyUovqUNHbkSEkTFPmJrqx0Mh9OJaGwCUFSGqwopOaioYQkKQ1W1En8aUKSlAYr6oE0SCRJSXVIbmy1FU7Wi5y2VjqZR461E4KkpCokEq6aECQlVSGRcNWEIClpyiI/Q5WVTuaychKCpDRYUSdaiIQkKaW2chKipKSpiwhjTYiS0oBFnSgtEqKkpFFt5AAyIUtKeRVVnBAmJcth5O70ErKklLWj+lvUhCwpDVzU/bT3VjqZC89vY6WTuTqVfHaESSmrU/09REKYlHLnKRes9GxeWNJ+K5psx9hLApYToqRUFvkcrHQyH2MviW9OiJLSgEWdxDcnRElJI9r890R/FpU2uKQnIUZKK4yUECOlAYroAIAYKSlGYpWjMwcn6kRMkpAiJVmQwYQQKQ1M1IkmIyFESgMT0crRm4MSsXONhAwpyQL2JmRIaWCifj1icSYjZEhJVv5EhpQGJeqRLF+QISVZ+RMRUqrqT7LYQYaU6sqfiJCSRrERtWJChJTqyp9IkJIqj/zEJlY6mRcum0kIkFJVf5JFHQKkVFcORX6UqjqULAGRH6VBiDoRwiTkR6nx4RbhURp4qJPUAAnhURp4qBPRTEJ4lEx7RMYKhEdp4KHu5/i00slcwxJ9aJcQHqWBhzpJDZAQHqWBhzpJDZAQHqXGLiyyoslW/UnaFpKjNNgQ/SxIjlIPq8+C5ChpbmpyIp+QHCV6ZZgVTbbqTz/oKiE3Sp1PnwiN0sBCnWQ/SAiNUl/c0mClk/nonyRZQkJolPripgYrPZnngYW6n2LVSifz4c/sL7YyQqOsqardXJNWOFknfruDlU7mw6MkcUNGZpT1LjGC1TNCo7ypU/3Ff0ZolAcX6iTPQ0ZqlJUa+YlfrXQy7ws6khEb5aBO9RfcGbFRVmyU/a6RERtlxUbFj0fMiI3yAEMpizfVZaRGWS8Y82/LsNLJfKyLsrhL14zYKOslY+TUMSM2ynrPGDlvyIiNclipsjNioxwWS6OM1CjHbQHVM2KjrDeOsb6E2CjrnWN+kjsrnczHXEqUMBmxUVZsRJQwGbFRHmCoFz8kNSM2yoqNSKqPjNgoDzDU/WTAVjqZN3qtiBVO1n3pJXSq3kHGvITYKCs2Yl5CbJRTXHkJuVFOaeUl5EY55ZWXkBvlVFZeQm6Uk6y8hNwo64XwxEuIjbLeS0ZO+jJiozzAUCfZXjJio2yXk30p8WsLcJ6VkRplvZ3MvxDHSifzSC92scLJWl1KGgxSo6xXlPn37VjpZK4u9ZeOGalRzupSMs0gNcp55VKERlkVSP61LVY6mQ+X+hmzrfRsXhZ0NyM2yipAym5Ck4zUKGsubD9zqZVO5sOlJB9PRmqUlRoRqVVGapSLcgZXq5KRG2VNik1YcEZwlAcb6kTdlJEcZU2MTdJTZCRHuahLyQCD6CgrOiLZfjKio6zpsd0baKxwso4LYVZGdJT1pjK2LEF2lDVHtn/DjZVO5mX5MOhUWSQBzQiPsqhPydiI9CjLSiiYkR5lWdy4Y6Vnc8VHRN+UER/lGlaLcORHucbVIhz5UR6IiK6qESDlqh2VLHwRIGVNg8QW4UiQ8mBEbBGOAClr7mz/0iArnczb8rOjU5Ug0c+OTh2YiH52hEhZIRLb+yBEygqRmJcQImWFSMxLCJGyQiTmJYRIeWAi5iVkSFmTafu3NVnpZK491T+0yciQ8gBF4Sr/LF9rx2UMYqSsGKn6PDsjRsqKkaqrcsxIkbJSpOoLuTJSpDw4Ub8uwr1nQYqU+0rSmxEk5b6S9GYESbnza7KscLKWxfyLJCkPVtRJerOMJCnrZWf+9VdWOpmrS8kogCSpKEnyb26w0slcfeoPGgVJUlGS5F+wZaWT+einBCMURElFURKRLRZESUWvPvOxVkGSVPTyM/caKiucrIdPmx/zXhAkFb3/zL/WyUon875QCBUESUVBUiPmCJKKgqTmw8SCIKnoPWj+xVFWOplT2lsQIxUVH5EdXkGMVPQqNP9WKiudzIVvwgpSpKLiI7IJK0iRit6H5l9NZaWT+fAokaEWxEglqkf9Tl0QIxVVH/mXeVjpZB755VdWOpmPXtrcsbEgRSpKkfzrP6x0Mh8rJP8CECudzIVfxWWlk3ldHCcUpEglrta9BTFS0VvS/Au5rPRsnrZVr0aMVFJY9WrESEUxEuvViJGK3pbm3nJlhZN15oGsBSFSUYjk39NipZO5LA43CkKkonemsSdHl2oUmx+oUZAhFY1i8wM1CiKkkvm9W1Y4WQ9/+hfSWOlkHhcru4IMqVgUmx8HVJAhlUGJ2GqqIEMqypC6v7QryJCKMqTubwYKMqSit6i5t4FZ4WS9ingqyJBKXkU8FWRIpSxu47LSyTwsxkaESMUuVPMX9wUhUlGIRNhtQYhUFCJ1H1MXhEhFpUdEC1GQIpWykggWpEhlcCKmnClIkYpSJF83VxAiFYVIvnKmIEMqypC6b40IqdgNa2TqRYZUVH5EBPcFGVIZlKj79zBZ6WSeF1uHggypDErEzn0LMqSiAiT/nicrncwrv/TNSifzwRuInr8gRCoqQdqIRL8gRSqDE5HL4a10Mg+rD48UqQxOFGP0my9SpGIqJHdDWBAiFYVIzE0IkUq1nFY+TC5IkYqm075m+3JIYkGMVAYooq0AMVLRS9hIfuyCGKkoRiKdDylS0XvY/Dv6rHQy1wuCSI7AghipNFVob2TDgRypDFJ0vbCJ2KNjByq63thEngc928yzPpovyJJKszy9pBUjTCpNNSzMHF3b9GSctASESUWj2UiwZ0GYVPoi8LQgTCp6RRubhxEmFQtmI1sahElFg9nIEW1BmFT64kKDgiypaDBbJZsOhElFU2r7t0da6WS+OHArCJOKZkNiT44eVVUSG1ORJYkmQyJbPUGWJJpQm2z1BFmSaEJtsosQZEmisiR/ty+IkkTzaZNc9oIoSVSV5N/iaKWTuZIHfw0hCJNEr2gjyekFYZJseojqe0kQJonm0ybZ6QVhklgwG/kyCJMk6Ikb+TIIk0RhEkkILwiTRIPZSEJ4QZ4kQY/cyJdBniTKk0hSdUGeJEFJPntV9GrQ4xny3REoiQKl4I8agkBJNJot+jOlIFCSgYyu9/e5awhBoiSDGQlJuylIlESJEsleKEiUZEAjif5KUhApSVwMv4JESSyczZ/0BImSxMVBqiBQkoGMJJIhD4GSxMXwK8iTRHlSJAMk8iRJiwlVECfJAEaSSINBnCQDGAlJ0SSIkyQtZPiCOEkGMZLkL8MEeZKkRViFIE6SpCCfdFPESaI4iWifBXmSJCX5ZIhBoCQay0YApCBREiVKBIUJIiUZ0Egy+Y6IlCQr9yXtC5GS5JVPkSjJYEZCZGyCRElWeZEEgZJoKBu5VkwQKIkCJaJiEyRKkle9FIGSZKW+pMEgUJKy6qXIk2QgIyEZvQSBkgxkRCtHhxZlvmRkRJ4kZTXsIk6SAYyE6MYEcZKoKIlIuwRxkpTKz/IEaZIoTRI3j6YgTZIBjER8yCKIk0SU+pK5DnmSKE8SlxAK4iQRJYRk0YA4SQYwkkoGdcRJopKkSgZ1xEkygJGQBDqCOEkGMBKSQEcQJ4nhJH8PJoiTRJQ7kMELcZKoJomIwgVpklQFD/4mTJAmyeBFQg4uBWmSDF5USAIdQZokAxgxhbogTpIBjIScLQriJBm8SBppv0iTxBJqk3uQBHGSrMLaBGmSDF7EwtoFaZJoRm02DyBOkrYae5EmSQuLyygFYZK01diLKEkGK2K3HAqSJGmrsRc5kmhSbaKSFMRI0lZLXoRI0izpvQ9mBSmSDE4k5DBakCJJ045KJiWkSNK1o5IFOGIk6dpRyaiBGEk0so0xB8RIMkCRkCM9QYwkgxRJJ4MMciRRTVInjR05kgxSJIxRIEeSgYqEMQoESaKqpE68iiRJBisSgtsFSVIdrEgIg65IkupgRdJ9r1YkSVXTahPtdkWSVDWv9uZ7tSJKqltezGMVUVLdlPmG8CVvX0upX65305/+Tl9y+pp6wnoK1jOuV/ySytfrir7YH/grwV9ZZ/bD8Sqyprrf3eZmDa/Imupm2dTdtOEVWVPVu9s2cvF9RdhUQ1hVj7CpBsX9wYceFWlTDWn1skibasjLp0HHB3O8fyBWETdVvcKNCAAq4qY6gFIQf5quiJvqAErsWLwibqoaBbeRJBsVeVNV3lTql7J97QmfBnFTHUApFP9wuSJuqgMoheKfo1fETXUApUDuCq2Im6ripo2k/KgInGpcbGUr8qYa7YISP9ajInGq0ZLl+/EYFZFTVeS0kYQYFaFTjYv4xorMqSpz2qIfcFuROtUUVl0KqVMdXIkkdasInapCp43cglIRO9VkjvXhTUXuVJU7bSSjQ0XyVJO5lvRwRE811dUAguipJvVsIvMYsqc66FIJ3oFIRfJUszqWpHWoiJ5qVscmfzFTkT1VlTNtJLFDRfhUFT5t5AqSivipqqBpIxyvIn+qyp82ktuhIoGqWX1LkjtURFBVU3NvJGNDRQZVszmXtB2kUFVlTRtJZ1ARQ1XFUBtJUFARRFWNjtsyGaaQRFUlURu5M6Iii6qaoXsjeQEqwqiqMGojSScq4qiqt7sRAUdFHFXLKuS8Io6qmlxpI7dMVARSVdMrdfcGg4pAqhbzLWlrSKSqmG9JW0MkVcV8S9oaQqmqebo3InStSKWq5ljaCAuuiKWqqG9JTHNFLlXtkjeCASqCqaqxchvZ2VckU9WueSOItyKaqqJ9l1DbimyqmtSJgNiKcKpqyu6tkO0R0qmqCZe2QvZHiKdqVf8SGFuRT9VBoNjNiRX5VK3qXiHNAQFV1axL5BS3IqCqBqiEtB4EVFUB1Sak9SCiqlW9S9BNRUZVq3qX0JiKkKpq5BxJ1VWRUlXN3U3yY1WkVNUkT2y7KeJvN5FfVZNCsREPAVZVgEVGPARY1YRQbHRHglVNCMVGJGRY1RgWG5GQYdXWliMSQqza+nJEQopV+7YckRBj1R6WIxJyrNrjckRCkFV7Wo5ISLJqz8sRCVFW7WU5IiHLql2WIxLCrDpwFR2REGZVuyOOjUhIs6qm+GYjEtKstm2rEakhzmp6SxwbkRryrLbF1YjUEGi1La1GpIZEq2mcHRmRGhKtpmm+yYjUEFy1zXxbvaGhIbFqA0n9gnM15FbNuBXRMjYEV83AFZHmNyRXzchV9QMAG5KrZuSq+tE8DdFVM3TFngfRVTN0RZ8HXWzsij4P+tjgFdFjNoRXTW+QI/KRhvCqKbzayFFjQ3rVlF5t5KyxIb5qhq+Iqr8hvmoml7pef+hsHxryqxbNvf742RBgtbi6vLMhwGrRvEtaMxKsZgSLPj56VwkWfRx0riEschbbEGE1Q1jk/LMhwmqx8at4GgKspgBrI0e9DRFWM4RFznobIqxmCKv5cv2GDKtZGvDmx+E0pFjNKBYJ9mxIsZpRLHLA1pBiNY3GIzH/DSFW02g8EpbfkGG1tLqCrCHDamkVYdkQYbVkviX9CilW01zg7F0RYjUNyfPzGzREWC2vEhY0JFgtrxIWNARYLa8SFjTkV834FTkIbcivmvGr5oZwNsRXzfBVZ18S/Wr4qgdij441fNXdgK+G9KqVjYfZNWRXTYPy2NyJ6KqVVaRlQ3LVNCqPtTEEV02j8kgbQ2zVSlnk0GiIrVpZdlbEVq0sOytSq1aWnRWxVTNsRQ6sG2KrpnF57jXjDZlVM2ZFjrcbMqtmzKr7ypKGzKoZsyIi/IbMqhmzIir8hsyqGbMiR9wNmVUzZkVSpTVkVk2Z1fXea98efavMKpBT7obMqimzCiRtfkNm1ZRZBRJq1ZBZtQGlaFtDZNUUWQUSd9AQWbUBpcjN2g2JVVNiFTYyJSOxahqhFzYyJSOyaoqsAonjaoisWjXnksaDyKpVcy5ZoCGyaoqsQiCNB5FVU11VIBm/GjKr1pbORWbVlFkFclVPQzbVlE2FQNoasqm2Elc1ZFPN2BSZORFNNUNTbOZENNUMTbGZE9FUUzTF1upIplpbTrQIplo3z5J+hWCqKZgKJAlZQzDV+kI01xBLNcNS5NMjlWpGpdinRyrVjEqxT49UqimVYp8eoVTrdfXpEUo1hVKB3AbTEEq1bp2WDCJIpbpSKfL0HaFU38yz/pjTEUr1zTqtP+Z0hFJdoVSI/qawI5Tqm47J0R9zOlKpvq32tB2pVFcqFUjEU0cs1VVIFUiqq45Aqm+LGIOOOKorjgrR16R3xFE9LISuHWFUH7SJXOXYEUX1wZpIotyOIKoH1S5782xHCtXDYiDuyKD6gEz0sdGhmv2JPTa6UwEUay3In7ryp0AC3jryp75KIt6RPnVNIk5eFNlT1xzi5EWRPHWN1PMzpHYET32QJZaUtCN36nG1h+2InXpcJN3rSJ16XCTd68icerT+6Y+mHZlTN9kUSSXQkTp1o04k1L8jdepKnQIJS+xInbpRJ5IaoCN16kqdAolM7EiderLhlwzXSJ26Uic/W3JH5tTt+jk3M1JH5NQVOZFkeh2RU1fkFIgOqiNz6qqbConMHAidelp1VkRO3YRTZNHRkTl1E06RRUdH6tTzChV3pE5dqVMguqyO2KmrbiqQWMyO3KkrdwokvLIjd+rKnQLRZXUET32QpRY2t+UgdurZXEt6OWKnPsBSC24YWUfq1FUzFRLps8id+iBLLfitHrFTV+x0zajk146eLeZZ0mMRPHVVTIVMugmip16WCyZET13zQYXsnyB1ZE9d2VPIpGEifOoqmQokuLUjfepKn0ImDRPpU1fRVCCSg44AqoveG+lPVoifuuKnQOQSHfFT17xQPnzqCJ+6mGtJw0T41HfBFKkeXbvKLd6RPHUjT9k//+1InrqsNrAdwVMfZKmJf5rSkTt15U4EcXbETn2ApSZkFkfs1GvkGf86QqeuWaEIWO5InfrASiyxXUfo1BU60TdFp+rtdCSFX0fk1A05se6NyKlrdnGS8q8jceq185R/HXlTH0CJfhnETV3TQrEvg7ipG24icfEdcVM33ETyhXfETV1xUyDio47AqStwCiW6mfk6EqeuxCkQ8VFH4tSVOAUiPupInLoSp1DI8IHIqStyCkR81JE5dWNORHzUkTl1Y05EfNSROXVlToGIjzpSp67UKRDxUUfs1BU7BaIm6oidumKnIAQ1IHbqip0CkQd15E5duVMg8qCO4KkbeCLyoI7gqasaivVG4E5xU+4UxJ3crHiyV/f6WcuseLJX9/pSHyue7M29bnOw4sle3evnObPiyX7IoZo70FrpZC40V4EVTtaVZhOwwslaPetfM2jFk/1I1kf8hH41CZS777HSyVyv2ynEHL26x+59Kf3rliqao1NV/5QrqR19OthSvd7o5ZqjS+3+Og+aWOFkLaNyL+TJCidri+9ybo23wsl6eNT3UEB3LqiTFZ6tTfPk9WornKy1l/oNK6I3Ve+U25csX6/XA4RQ4xVYRcGvGdGzAzKt9X9mNP3KOq0bjmLFk72OydUNR7HiyV7H5OrGwVnxZD+2tdFTAVjhZG391g1OsuLJXmfc6gaMWPHZ3mBUdQNGrHiyV2dXN2DEiid7HZKbG5xkxZO9DsnNDU6y4sl+eNePLrXSyXw4148utdLJfPjWjy610slcp9vmRkpZ8WSvzm2kaSZ0ruKo0EjTTOhcBVKhkaaZ0bkKpPzoWCudzM23pG1m9O0ii5QVTtbabxtpyRldu0gjZYWTtfbaRtp9Rtdmcy1p9xldaziqk3af0bWqgrruhX17dK0BqU6aWkHXahBf6KSpFfStIalOmlpB3xqS6qSpFfSuISk/W7YVT/Y6KnfSGgr615hUJ/4t6F9jUn6Oaiue7Id/o5+j2oon+672xL8F/atMKm7Ev4L+VVFU3Ih/Bf07sJN3N4sVTbaJZ5G20sk8D3PvfMAKJ+uiD04amqBjlUjFjTQ0QcdaBJ9Pwa14sh+O9S8ottLJ3PxK2rGgX6v5lbTjin6t5lfSjiv6VdVQcSPtuKJvqwVXky1NReeqHioGZo/uVTQV2fKwontVDxV9wY8VT/Z6WusFl1nhZK291pcHWfFkr971NTBWfLZXNVT0NTBWPNmrd32hhxVP9updX+hhxZN9UnuyIW7o3WbeJRviht5VPhV95YYVT/bqXV+5YcWTfVV70hoa+lf5VIzEvw39q3wqRuLfhv5VPhUj8W9H/w4ARYLRrHQyj+PUyJV6WOlkrt71D7ateLJX7/oHz1Y82Zt3Sevp6N1u3iWtp6N3lU5FNvZ09K7Sqeif3lrxZG97oX1/+SXENDbXPeBSHlFV2LbVOBcQVYUtrMa5gKgqbHE1zgVEVUFRlT/OBQRVYcurcS4gqApbWY1zAUlV2GQ1zgVkVUElUmycC0irwtZW41xAWhW2vhrnAgKrELbVOBeQWAUlVmycC4isgiIrNs4FZFYhpNU4FxBahZBX41xAahVCWY1zAblVCLIa5wKSqxAWQbdWOpm3xTgXEF6F0FfjXEB8FeK2GucCAqwQw2qcC4iwQoyrcS4gtwoas8fGuYDEKiixYuNcQGIVYuHcMCCvCvHX2eLMaPqVjdX+/iIgtwoDTLn7i4DMKgwoxfYXAZFVGEyK7C8CAqugwCr62YOseLJX5yZ/fxEQWIVFunMrnKzNtf52ISCvCklv5nIP1K10Mtd+66cmsuLJ3rzq7y4CAquQbAb2dxcBgVVQYBX91ERWfLYfRIqoBq10Mlff+pmMrHiyV9/6mYyseLLXjutnMrLiyV6962cysuLJ/uq/FNzTPyudzNW7uXgqAiue7NW7mTQ2ZFZBmVX0kw1Z8WRPs4pZ2dlYgVX0MxNZ8WRvviVNDYFVUGAVC2lqCKyCZZ3yM8BZ8WSvvvWP7q14stcpt5C2hsAqKLCKhbQ1BFZhEClf62uFk7W6tpCWibgqGK4qrhrGis/2hqsKaWqIq4LhqkK+PuKqIOZd0noQWQWN4YuFtB5kVkFlVFFI60FqFZRakWOHgNAqGLQSMlAhtAoKraKfNsSKJ3t1r5DGg9QqKLUikCsgtAoGrYS0HoRWwaCVkDkUoVUwaCWk9SC0Cpp1inVdZFbBmJWQcQ2ZVTBmJaSxIbMKxqyENDZkVkGZVayksSG1CkatKmk9SK2CUSvWepBaBaNWlQxVSK2CUStyohqQWgWjVuRENSC1CkatyIlqQGoVjFqRM9KA1CoYtSJnpAGpVTBqRc5IA1KrYNSKnJEGpFbBqBU5Iw1IrYJRK3JGGpBaBaNW5FgyILUKqqqK5FgyILYKqqqK5FgyILcKxq3IsWRAbhWMW5FzxoDcKhi3IieHAblVMG5FzgIDcqtg3IqcBQbkVsG4FTkLDMitgnKrSM4CA7KqaKyKnAVGZFXRWBU5C4zIqqKxKnIWGJFVRWVVkZwFRqRV0WgVOQuMSKui0SpyFhiRVkWjVeQsMCKtikaryFlgRFoVlVYlchYYkVZFpVWJnAVGpFVRaVUiZ4ERaVVUWpXIWWBEWhWVViVyBBeRVkWlVYkcwUWkVVFpVSJnZBFpVVRalcgZWURaFZVWJXJGFpFWRdVZJXJGFhFXRVVaJf/aCyue7NW/gfgXeVVUXjX2gZ498qqovCoF4l/kVVF5VfIz/VvxZK/+DcS/yKui8qoUiH+RV0XlVcnP9W/Fk73610/eb8WTvfrXT69vxZM9ZVURWVVcsqqIrCquWFVEVhWVVSU/tb4VT/bq2EgaGrKqqKwq+QnnrXiyV8cSzByRVkVVVyWCmSPiqqi4KhHMHBFXRcVViYDgiLgqKq5KBARHxFVRcVUiIDgiroqqr0oEBEfkVVF5VSIgOCKvisqrEgHBEXlVVF6ViNYhIq+KyquSH/FnxZO9+teP+LPiyV7960f8WfFkr/71Y/iseLJX//pReVY82at//Tg7Kz7bK7NKfpydFU/26l8/zs6KJ3v1byb+RWYVlVklP3DOiid79a8fOGfFk7361w+cs+LJXv3rB85Z8WSv/vVD4ax4slf/+sFtVjzZq38z8S9Sq6jUKvnhPlY82at//VzDVjzZq38JM4xIraJSq+TnGrbiyV7964f7WPFkr/71w32seLIfqTuDG3hupZO5Buz6WCYitIqip4CN1I7O1ei/4GtxIzKrOKDUYAjewyCyihr9F93AcyudzCMXcUfkVXEQqeYnFLHSydzcStZfyKtiLctpGnlVrLKcppFXxVqX0zTyqljbcppGXhVrX07TyKti25bTNPKq2MJymkZeFVtcTtPIq2JLy2kaeVVseTlNI6+KrSynaeRVsclymkZeFVtdTtPIq2Jry2kaeVVsfTlNI6+KfVtO08irYg/LaRp5VexxOU0jr4o9Ladp5FWx5+U0jbwq9rKcppFXxS7LaRp5Vex1OU0jr4q9Ladp5FWx9+U0jbwqbdtqmk7Iq9IWVtN0Ql6VtriaphPyqrSl1TSdkFelLa+m6YS8Km1lNU0n5FVJeRWbphPyqrTVxTSdEFelrS2m6YS0Km19MU0nhFVp0Cg2TSdkVSms5t2EqCqFxbybEFSlsJp3E3KqZJyKHGIm5FRpgKhfKGkS0qpktKr49CMhrUoDRzGRQEJYlYId4vsigYSwKoW+ajzIqlLcVq0BUVWKYdUakFSlGFetAUFVimnRGhBTJUuF7l9fbMWT/T9xL8KqZLCKnFQnhFVp0CgXPiUEVSkubmq00slcx2VyCJ4QViWNBUzkEDwhrkqGq8ipdkJclQxXiY+fEuKqNHiU/2kQVaVkmRXcTAlWPNnrmExOzBOiqjRYFHkWdOngUNfjOa9ZIqRKmgc9kx6FjCpZHnRX7JeQUKWBoOom/ldBQJUsI5UrC0iIp5LhKfF1nAnxVDI85WcXsOLJXsdj8dchCfFUMjwlZGZDPJUMT4mvrkuIp5LhqWs28c/B3wnpVBr4qcXqsd+EbCoZmyK5BRKyqWRsigT0J2RTydiUf22HFU/26lw3T7KVTubq22scvWeOrjUyRY74E5KpNNCT3/2QSqWBnVj3QyaVVEfFuh8iqTSYE+1QSKSSJUL3OxTyqGQ8inUQ5FHJeBTrIMijkvEo1kGQRyXjUayDII9KxqNIB0EclQZvYh0EYVRSDRXtIEijkmqoaAdBHJVUQ0U7CPKoJH3VQZBHpbqtOgjyqFStu5K1KAKpVFdJMhISqTSYUybEIiGRSgM5kSs0rXQyX+SjstLJXBZnaglxVBq8KWc355KVTubDryTkPyGMSoM21ez3b0RRSdNR+clfrXQyD6vRA0FUshv7/NEDMVQyDMWmY8RQyTAUGw0QQyXDUGw0QAyVDEOR0QApVDIKRfoTQqhkEIr0J2RQyRgU0XwlZFDJGBTRfCVkUMkYFNF8JWRQyRgU0XwlZFDJGBTRfCVkUMkYFNF8JWRQqS9iSBISqGQEiijEEhKoZASKKMQSEqhkBIooxBISqNRXetaEACobgGr+pjcjgMommCJq6IwAKhuA8u8qsuLJ3pzrA7GMACpvi+TKVjqZa8clerWM/CkbfyJ6tYz8KW91/Tkr2rf152loP3JRFX/fnpFAZZNLEflcRgSVB2SK3h2EVjYZx+W7IoLKFtlHhO4ZGVQ2BtV93JORQWXTSvk37VjxZG++9XtiRvqUVStFelZG+pRNKkWkfxnpUzapFJH+ZcRPeQAmthDJiJ+yKaVYx0L+lE0pRZSFGQFUNqVU96fEjAgqm1Kq+yQ7I4LKqpTK/lU+VjzZi9r767qM8CmrUipv/po3I4DKCqAyURZmJFA5LrY/GflTVv6UiQ4xI3/Kyp/y5qZXy4ifsuKnTGSIGfFTVrVUJjLEjAgqW150IkPMiKByWiQsygigcjLXkkEcIVQ2rRQbSBBDZdVKZSJyzMih8iI1uhWerVUplYkkMiOIyoM1ufv9jBgqK4bKJJQ+I4bKq9v4rHQyV7cStWVGCpWVQmWitsxIobJSqEzUlhkpVFYKlYnaMiOGytkcS5oxgqhsIIqNaQiiclkkC8yIobJhKDYCIobKJS5HQORQuaTlCIggKhfzLum0CKJyMe+SbogwKqtEKhNJZ0Yclct6REYelU0iRZZSyKPyQE5+v0IalWXj6yJEUdlQFFsXIYrKe0AfWRchisqGothwhigqG4pi6yJkUVnKYmeeEUZlWe1tM7KoLKu9bUYUlWW1t81IorJF8xEZcEYUlQds8hsBcqisHCoTyXBGDpXrAllkxFC5LpFFRg6VTRnlyqkzYqhcF3wxI4XK1XoqGecRQ2VVReVIxnnkUFk5VI5knEcQlat51Ye7GVFUbtyryKFyC8u6EURlBVE5kjkEUVRWFJUjGVURRWVFUTmSURVRVFYUlZN/UJwRRWVFUYN3uvWjb5VF5URaPcKorDAqk+wYGWlUHrgpE4FKRhiVLYCPnOlnhFFZYVQmOS8ywqg8aBMd/JBFZWNRZPBDFJUNRZHBD0lUNjUUGfwQReXBmhiBzUiicjfPkl6IJCp38yxZbSGJykaiSAaOjCiqKIrKJANHQRRVNnOt31MKoqgyWNN2HRWu+6pwxeZeAqyCTKook9rEnf8LIqkyoNMvxBIFyVRRMpVJAo+CZKps9BS+IJUqSqUySfZRkEoVo1Jk3VuQSpXBnWr3Dw4LUqmiVCpn95ZAK57s1dHZnxoLgqkyyFPtvtKmIJcqJo1y58aCVKoolcrZ7zUFqVQZ2Klt/vBcEEoVhVKZJCopCKXKwE5tcy8ksdLJfBzE+/e5WelkPhRRm3t/iZWezVURtbm30ljpZD4UUf5lcVY6mevMS3KyFCRSRYlUJmlWChKpEs2zpN0gkSpGpEialYJEqsTVZZpWPNmvLtO04smeX6ZphZP16jJNKz7bJ36ZphVO1vwyTSucrPllmlY4WdPLNK1sMuaXaVrhZM0v07TCyZpfpmmFk/XiMk0rncxXl2la8WS/gFAFIVTJ/DJNK5ys+WWaVjhZ29UjpJ0jhCoKoXIhMx9SqGIUimiOC1KokhdXuFnpZD666XaVgTqzPTKoYgyKJCsqyKDKgEzRv1vLSidzXUQRAXRBBFUUQWUSMFMQQpVBmejUjQyqGINiUzcyqGIMyr/1yIon+7yc6pFBFRVDsakeEVQxBOVj8oIEqpS6mrsRQJXSVnMxAqhS+mouRgZVZFvNxUihioTVXIwQqgzKROdiZFBFzK9kLkYGVSSv2GVBBlVkcSBQEEGVAZmY9qsggioDMrGTs4IIqlgadLYuQAZVjEER2XNBBlXqtqwfOVQxDuXf3GXFk732WaJlLkiiipKoLN59oFY6matriZS5IIoqqojKRG5cEEYVlUQlMg8iiyrGokiCroIsqhiLYrMJsqiiLIpND4iiigboZZL/qyCOKoajSP6vgjiqKI4i+oGCNKoYjWJtB2lUMRpF8oUVpFHFaBTJF1aQRhWjUSRfWEEaVZRGdZ8WFYRRpS1u1bTSyVx7LslGVhBGFYVRmWQjKwijisEokl2sIIwqqozK1Sf3BWlU6XbfF2n7iKOK4qh8vZTL2foijiqKozIRYhbkUWUQJ7rUQR5VjEexpQ7yqGI8iujYCvKoYjyqkrUO8igxHuWPg4I4SgxHVRcFCtIo2ezyL7+tCUIoUQiVm3/NmSCFkm0ZBSLIn8T4E/k6gvxJNll+HUHzuvw6Fc3Vt0SzJ0igRPNIZaLCE0RQYgiKfU1EUBLC8msigpIQl18TGZSE1ZwrCKHEIBT5msigZL+pzx8XBCGUGISiXwedG+r666B3Q1t/HfRu6Muvg86N5lx/zhXkUBKXPRc5lOzX9vnDoCCHEuNQJAefIIeSAZquKQFL/Jo2/DiIocQwFEnZJ4ihxIRR7G3Rt6aLIopJQQolposiiklBDiXKoTKRKApyKDFlFMnwJ0iixJRRJMOfIIsSk0YRVaAgjRKTRhGZnyCQEpNGdXF3H4JISlQalYkOTxBKSbJ7cf2LZQWxlCiWyiQjoCCXkrTcDQlyKUnmX9J+kEyJyqOITFEQTYmG6RWScFAQTonCqUISDgrCKbGL+vz1siCbEmVTheQnFGRTomyqEBWhIJwShVOF6AIF6ZQonSokP6EgnRJVSBUiDBTEU6J4qhBhoCCeEsNT/o20gnRKinm32Undl1C27p7aCaIqGSzqF8dwgsBKFFgVov0TBFYyiJR7DCcIq0RhFYmqEoRVorCqEKGgIK2SwaMYyhOkVVLaCuUJ4iopfYXyBHmVyLZCeYLASiQsUJ4gsBKJC5QnCKxkECmG8gR5lQwgxVCeIK4SDd8jKE+QV4kmkyIoT5BXiSaTIihPkFeJJpMiKE8QV8ngUR/H4iX490IJcitRbkWOxQWxlQwuxW6XFqRWotSqBNI8kVpJtY5LmhtiK1FsVYLPlQSxlSi2KkGOG7RKqP6XQoQl9R/cMyNIskRJViE3OQmSLLHoPnKTkyDJElNVEeWQIMoSRVmF6DcFUZYoyirk5idBlCUDVrHYFkGUJYqyCpHjCaIsUZTFHwcdPlgVo8SCJEuUZBWimRMkWaIkawv++IUkS5RkkVsWBEmWtMVpoCDHkm6e9cmLIMeSbp4lqwrkWNLj6l0RY4liLPauSLGkL454BSGWKMTi74p+7eZXsiJCiiVKsQrRBwpSLOmLU3tBhiXKsApREwoyrLqZZ/3Vd0WIVRVisVG3IsWqW1yNuhUpVt3SatStSLHqwFRs0qgIser2eZBOvsqrItCqm6xfXdC+rl+9on1bv3pD+/7rSaMi2KoKttikURFs1RBWk0ZFsFUNbJFJoyLYqgNdUQci2KoDXZ0WIyn43kPEVf9JAqqKoKsq6CpE3FoRdNVAMxRVhFzVbvbbPMxSEXFVRVyFyGYrMq6qjKsQXWtFxlXjKkCsIuOqyri25q85KzKuqoyrEC1pRcZVVWtViJa0IuSqkSY9qQi46h75R14VfRo1ZZzLFivirap4a+v+6roi3qoW9td9HFMRb1XFW1v3g0Eq4q2qeKsQkW1FvFUHv/I/JKKtukf9+R8SyVYd6KqF6H5I5FpVuVYIviKgIteqybqqP/NV5Fo18a6KTKumVVdFolUHsiJ60Yo8q+Zt0bwQZ9UcFt8QYVYdtGpcVuGN3ciy6qBV464K1xz9OWDVuKrCNUeH6g1+m38SXZFk1YGqxkUVrjm602RWBJtWBFnVQBYRh1cEWdVAFrmesSLIqgqyCpFrVyRZ1UgWkWBXpFdVhVaF3LdYkVtV41YkEWpFblVVaEWW5BXRVdVYv0LyplZkV9UST/lnGBXRVdVQv0JUzxXZVVV2VUia1Yrsqg44xR8HnSvmXDLWILqqYs4ljQ3ZVVV2VYhyuCK8qqq2KkQhWZFeVVklxahIr6rd4EckMBXxVdWIv0KSuFbkV1VD/gq5cbEiwKoquCpEw1iRYFUVXBWSrLQiuKoDTV1zfntNH7lVVbkViZGuyK2qcSuijKvIrWpdXJpbkVpVo1ZEW1aRWlWjViTvZUVSVTXyrxCtWEVGVY1RkbyXFRlVNUZFxGIVGVVVRlWIWKwio6rGqIj6qyKjqsaoiDyrIqOqKrcqRJ5VEVJVg1REP1URUlWDVEQ/VRFSVdVbFaKfqkipqlEqonCqSKmqUqpCFE4VMVXdMRXxL3KqqpyqkPsTK5KqaqSKKJwqkqpqpIokV6xIqqqSqkIkThVRVbX7+0g4YkVWVZVV0e0D0qpq9/fR+tG/RquIJqoirapGq0hur4q0qiqtkkAeB91rkiu2akNc1QxXkdRhDXFVU1zFbi5uiKua4SoiumqIq5rhKpJqrCGuapu512fYDXlVU14ViCy6IaNqdn0faQ4NGVVTRrWR6wwaMqpmjIqsIhsyqqayq9L8lUNDOtWMThGZVkM61ZRO0fdFOtWUTvmTaUM21QZ9YqvChmyqhdWqqiGRaiq6KkR01ZBFtbD2LbKopqIr9q7o2QGc+LuiYwdv4u+KfjUaRRRXDWlUi2u/Io5qceVXhFFNYRSTozWEUW0puGrIotoATvTbII5qiqMKkYs15FEt1uXToGOj5fT0R/yGQKrF5ZDcEEg1BVIs4V9DINVMb+VrihvyqGaJ0Fnt6NpkA7I/XzVkUm2ttmpIpdrATr355/4NoVSzTFTsZdG1aelaxFLNpFZE/t0QTLXUV/u4hmiqqdSK7eMawqlmWis22iOeahYImP0w8oZ8qi2zUTXkU83iAN0MKA3xVDOlFdExNuRTbRCokTfCfXZ0rfIp2k2QT7U9FRX7luhb41Mk8qEhn2omtGINH/lUK8tui3iqFctZ5B+mN8RTrSx2uQ3hVFM4VYgmtCGdakaniCa0IZ1qpqxiHxPxVDM8RTSkDfFUM2kV/fjo3GLOJUsF5FPNpFXEWYinmuEpIlFtiKea4SkC+xriqSbLdRTSqSbmXR8sN8RTbfAnXj06d+AnOj0jnGoGp4i+tiGcaganiF62IZxqBqeI/rUhnGqqqhIiaG2Ip5riKSGC1oZ8qimfEqJQbcinmvIpIQrVhoSqKaEScijRkFC1uvQuAqqmgEqIoLUhoGoKqIQIWhsCqlaXZLkhoGoKqIQIYBsCqtbMvaT5IKBqFg/IhhIEVM3SU5GhAflUa8uui3iqNXMuacyIp5riKSFq2oZ4qimeEiJ5bYinmuIpYbMo4qlmyanY10HnKp0Sku+yIZ1qSqckkLaPdKopnRKS77IhnWpKp3j96F2lU0LyYzakU03plATS+JFOtb6I0m7Iplpfb3CRTbUBn+hAjmiq7WiK9CxkU6339cuCc/tmzvXbfkc21ZVNCZFLdmRTfcAn1hU7oqm+LVZUHcFUt2jAzc/J0RFM9W3JHTuCqa5gSkjexY5gqm+rnVBHLtW3hUiuI5XqSqUk+qNCRyrVlUoJkW52pFI9mGf95VpHKtWVSgmRS3bkUl2DAYVIDjuCqa7RgEIkhx3JVFcyJURE2JFM9WDOJS0fyVQPS+cimuoaDSiJdBRkU12lUkIyGHaEUz0uMhd1RFM9htWU0hFNdUVTDDZ1hFNd4ZQQyVlHONXjcj3VkU71WFar6454qiueEiI864inusYDbs0PXujIp/oqK1VHOtUtKxX9mujbtEwH2ZFOdaVTQmRzHfFUT3H5tsinelqNykinesrLgQrpVFfNlBCVXUc81ZP5lgwkyKd6WiDljniqp+X1mh3xVF9lqOoIp/qgT3QQQTbVszmWjIHIprqxqeKfvHRkUz1btyVjJsKprnBKiP6oI57qiqeE6I864qmugYDkYyKd6gM/leCtejuiqZ5XRwUdyVRXMiVECdWRTHVLkk6kpR3JVFcyRd4UwVQ3MMUaJYKpvgJTHcFUL8ukCh3BVC+rzW1HLtWVS4XiS8Q7cqmuXEqIqKwjl+rKpfjjo2uXsqmOWKoP8FSrKynrSKX6wE4fUm/JyZV6d8RTXfGUZDKGI57qohJ0N2FPRzrVlU5J9kFuRzrVxTouGWMRT3X5B7FgHSlVF/M0Gd6QUnWlVEIUbB0pVRfrxGS4QkrVjVIRBVtHStUrvcSiI6HqpqDyw386AqqugMpPs94RT3XDU8VPbdERT3UVUEnxQzs78qk+AFS9JldwLvDriKe64aniB510xFN98CfyHdGnhqaI7K4jmurNLotyZwkEU32QJ3LhdEcs1RVLCZH0deRSfZAn/z0RSnWDUkT+1xFKdQ3su6raHaLWkUl1Y1JE0NeRSfVGhecdeVRXHiVEztcRSHUDUkTO1xFI9UGc6Ksij+rGo4j6ryOP6gM4RXK+1xFHdcNRRCzYEUd1w1FELNgRR3XFUULEgh2BVFcgJUQs2BFIdRVLiZDpGYlUNyJFUnF0JFLdiBQRC3YgUmkzIuWLBa14sjf3uq3Hiif7VayXFU/2iY99VjqZq3t9LaIVT/bqXl+LaMWTvdCJwQon67oY6K14sm/Ll21o3hfLCis+2w/olLI4g7EVTtbqWV92acWTfeSxzVY6mS8Ccq10MjfHuroCK57szbFuP7TiyV6Wj4OeVaEUfxz0rPEoXzNqxZO9utbXjFrx2V55lPgaTSue7M25pJtHdO5ATv561wonazbTWtFka451g0WteLJXxzb3nN2KJ3sdkH35jRVP9qvVkxVP9hq8V93DNCue7NWzvuDFis/2aVs1zISOVRhFBqiEblUURWYfK57s02L2seLJfrUytuLJ3pxLulVC5xqMYgNsQudqAB8bYBP6NrXlAJvQt6kv21pC36pYiradjM4dxIkN4BmdO3iTC2isbDJe3EdipZO5OtYXolrxZG+OJeNfRsdm67Vk/MvoWJVKia9YtOLJXj3ra/6seLI3z5JlTkbPDuJEVrFWOpmPO3IzGQMLenYQp+jfb2Slk/k4kPd1VVY6mQ/pqq/4s9LJfGx9fMGflU7mI4rPT8hqpZP5OPcprmzISifzwRn9fFJWOpn3xbRW0KnCrgCzosk2LKc1QZcagGLTmqBPNXyPDjWCTjUExaY1Qa8qgqJDk6BbRZbTmqBfTSJFpjVBv8oi6bKVTub8YlwrPFsbeGKzYEXfmjyKzYIVfWvyKDYLVvStyaPYLFjRtzt/IrNgRd/WspoFK7rW5FFsFqzoWuNPrGlW9G1dr6AqOndAJjYLVnSuEijWchr6dlAmMmk2dOxATLGSgbWhXzVwT/w0plY82WvikpS/auL//CVvX69RoEGu75O+po7Oa+hrVUtdc9R537ahr9uvSbIZTb/S81txA++teLJXj4ubl8+KJ3vtzpVAg4Y+77auIi2wo9OVUdHn6eh3yz3Fnqej4xVS8edBx1tEn5/V0Yon+5EqMJHxpaOTlVFtbPPa0b3KqLZK5uyO7u3Wocmk3dG9vS8HAGRUYTP3uiorK57sw2IICIiowmbe9VtzQEQV7Co/8vgBGVVQRkUfJ6O5zcT+SiIgogqGqMhKIiCkCoNCtbx5Q15ARBUGhBK/5QQkVGEgKPGC4q3sbDwIlPiNJiCeCoM/kaqRTYVBn/y7XKxwsk6LqtGbgzwJaYqIpcLgTmScDAilwsBOQhyPTCpoIinidiRSYSAnMnUF5FEhcJ2FFZ6tB26qri7QCifrsflxb7a2wsl6kCjSAJFEBSVR2TubtsLJemSGIy0QSVSIXKlqhZP1OMQjTRApVIgKKog1+nJAJjZeIYEKUW/WJNboy8UdfVY4WesNUX7diJ/C4EuNtEGETyHpnZrEGn2pmaNIO0HwFAZZav4EFxA7hcGVGmknCJ3CwErNu1vQyibjkTaKOB6BU9C0UcTxiJuCpo0ijkfYFFT9tDH3IG4K2WRtxEFInIIRp+bK4Kx4ss8LjY8VT/aKnPwALiue7AeYuGZwceZBBE4h631fnujfCidrlT95B9tWOFkrbOqk8SJsCmXVRZE1hWJ+Jc0XYVMo5lcydCFtCoMn9ervOALSpjB4Ur/eXu2ao1c1LM+P57TSyXwRuGWlk7kJUUn/Q9wUBlDi74qOHUSpV78ZIG4KgynRL4PEKcgip5CVTuZx9WWQN4UBlPzgRiucrIdT/f1IQNYUjDWxcQxZUxBb4Xb3OyJqCoqatk68hKwpiKVjDMQevWqwqUf/cdCtAyf1Vt35AFlTGDCpk51pQNQUDDW5uVSsdDJf9lUETaHmRftFzBQGSOrVp1IBMVMYHIk2d6RMQSkTa+4ImcKgSLS5I2MKAyPFSMY8hExhYKTop4yx0sl8rHhjc78jUqaglCmSeRspU9DwOzKPIWMKAxixeQxpUlCZUyLtBWlSaHrNIhkHECOFVlefBT1qEInNkgiRwqBEPfmVo0NV5CRkQYgAKdglfOIC54D8KKjGyb/Ezkon8+FRtn1FehQGHoqJrMMQHgW7gY89O/rU4FFnnwadavDIz05lxZO9udWH6wHhUTB45Ce3teKTfTR41P3JJiI8ipYOyk+/ZMWTvQYB+OmXrHiy18Qym7/MjkiP4jLqzoone0sH5XeTiPgobqsVU0R6FFXiFPxQIiue7FXilLzZLyI/iqpwCn56WSs+22vUXfDzy1rxZK9X8PkJZq14sjfnksaDJCkGc64/dkeESVFVTiSBsRVP9pbwmDQeBEoxLJ2LRCnaHXx+3JoVT/YaCxBIW0OqFFdUKSJVinFbLPsiYqUYw2rZFxEsRUtPTpZ9EdFS1KA7gnEjsqUY82KVGBEuxWieJf0K8VJUmVMIpKcgYIqRh2VZ4WTdlp8e/bonKGefHj27Jygnnx4pU0wroB8RM0ULuCOfHjlTVJFTCGQQQdIUk3VaMogga4oqcqJPj561y/f82xeseLK3TkvGHCROUUVOIfp7u4jMKarIKfh33ljx2T6vDmAjYqeo2ClEMr8hdooWdBd9YUNE7BQzD86ywslafRvdlE1WPNkvmHBE5BQHVSr5S0lfUw5ojY7VgLsRONXCJ2t066BKxaWOEYlTzKuBGHlTHEiJPTbypjiAEntspE1RaRNrLQiboobahehLNyLSplj4vT5WOFmX1YuiN5U1sRdFbw6WdM3Z4jkIQVNUXdM1s7oj2YgImmJZpFq00rP5YEnXrBXesyBoigqamntgGJEzRbH+SUZTBE1RhU2bf++dFU/2Oq/6V9NZ8WSvE2skozXCpmiwafPPpyLSpqi0KUQyXCNtimLDLxmukTZFsVyL/tdHzw6edE0M4HkWYVNU2NR8WUNE2BSrzav+kyNsigMnRVdgGhE1xWrbHFI3erXacomYo1NV0sTWtciaorImtqxF1hQHTUqkASNqioqaEqscPaqoKZF1IaKm2FajL6KmqKgpkdEUUVNUQVNIxEsIm6JG1YVE3IS4KbbVbIq0KTZZrjoRN0VTLbFVJwKn2FYaxIi8KapoKRAOExE5RRUtBdYQkDlFZU6BtQSETlFFS8HP22zFk32iF9hY4WRtriXDPFKnqJIl9wobK5ystb8mMmgjdIq90itvrHCy1iE4kSEbkVPs5lky8CFySoqcQva7SULklJZ6pYTEKRlxyr66LCFxSkacst8wExKnZMQp+w0zIXFKRpz8hN9WPNmrc/3UkFY82as2wl2tJAROSdM8XfmmX3tD+4GJffqYEDglS/PkZ9m04sk+cDifEDclC6lz4XxC2JQs9bh7OpMQNaXBknyomZAzpbBSkSbETEmD6bIbImylk7ldW/ql9K9bqmiOHg2WcI/Ujg4Nnd8WaKVnc6VM2V2XJ4RMaVAkPz2FFU7WumAalyEHfBIETMlSjvtpI614steVsD95JyRMaSVfSsiXkvElEtGSkC8l5UtsDEPAlAZCauJrOxICpqSAiRz+JeRLaQCkRs5bEuKlNADSNUTcawJIl1JaHbkmpEtJVUxXc+e4JSFcSgqX2JsiW0qaa7z7a8+EbCkZW2JTB7KlNOBR775kJyFaSoMdXeMk3A+JTlUxE/0y6FTlSuzLIFdKxpVIjFVCrpSWyZyseLK3CwL8tW1CspTyKu2PFU/2OquSOKuEbClly/tDZmGkS0kj6EieICue7C3vD5lXETGlbFnYyGiGkCmpqCkUf1GWEDMllTWFQvyLoCkpaApCFmVImpKRJiH+RdKULK2T+BwzIWtKxVZNbl9B1pT2rE7kYdC5qmsiRDshbUqW04m4CmlT0lTjBFAnpE1JM40TPp0QNyXFTYFozhMCp2TAiZzdJwROSYETwd8JeVNS3kTod0LclAw3EVl7QtyUBk+igyDSpjRwUiS7roSwKQ2aFMk2KiFrSqJogjgWYVOqiiaIY5E2pWqOJWttxE2pmmPJ0yNvSsqb2K4LiVOqCzScEDglTTFOBHEJgVOqPLWeFU7Ww6skTCAhb0oDKcVMmiQCp6TAiQQKJAROSYET2y0icEqqbWKbRSROqZlTybsickqqbmJ7SyROyYgTiaFISJySEic/eaaVTuaafpq9LPpViVNgnx6JUxpMqTWymkPilAZSuqYq8qYQ5E1pAKVrYiDPGmlTMtpEAkYS0qaktIlQ/4SwKdmdd6RrI21KSpsIY08Im9LgSZEBBqRNyXI4+XdbWPFkP7prJ20McVPq2l3Zu6JXLYNT91MhJKRN2TI4+ZdPWPFkr9HM/uUTVjzZ637Hv3zCiif7VWaJjLQpD5z0iwjUjMwpK3Miw0JG5JS3FaDISJzytgIUGZFTVuREFHUZiVNWkRPhGRmRUw4LQJEROOUQOHLICJyy6pv8w6WMwClbTnH/myNwyqpt8lt9RuKUw4JOZAROWYGT3wEz8qasucS3L6V+jS2hNXpTb7nzx72MtCkHFQ4Ta/Rl3BZPgrApa6CcP9lkhE05aiI9Yo2+jJojhFijL/V2O/9INCNpyivSlJE05YGS/GPCjJgp28V25LHRlYMjkZPWjJApD4xEzrYyMqY8KBI52cqImPKgSOSIMCNiygMikYOhjIQpL/KFW+FknUc2BVI3unIQJHKElBEv5cGPyOYkI1zKAx+RvUlGtpQHPiJbk4xsKQ96RHYmGdFSHvCIbBwykqU80BFZfWfkSnmAI7KazkiV8sBGZDGdkSnlAY3YJIhEKQ9kRBZFGXlS1rvr/L1aRpqUBy4iS5yMLClreBwZBpEk5YGKMvE8cqQ8QBGhfhkpUlaxEvE8MqRceIatjAApD0JEsiplxEdZkzCRT4LwKKtQiTQThEe5LDajGdlRHnSIiKAyoqM84BDRG2QkR1l1Si4fzsiNsizCHDNiozy4EHtshEZZo+HIYyMyygMKEZKZkRhlWYCFjMAoy0JzlhEXZVlozjLSojx4ECGqGWFRHjiI8NSMrCgrKyINFlFRVl0S6WdIivJAQYS8ZuREeYAg9iRIifLgQEK6JUKirJCIaDoyUqKssiQ2cyMlykqJ2GSMmCirLMm/59ZKJ3O9ho59dHSopvom5xkZMVFudhzjJzfKyIlys3BVP/NuRlCUVZrkn25nxERZlUnVv5HQiid7vT+STIaIiXKzKGQ3K7QVT/ai9r6MOCMoyhYJ52pvMmKirMKk6t9faMWTfV8/DbpWg+HI0yApyt0c6/OKjKQoKymiT4OoKGs0HHsadGy381NCQxAV5W6eJTQEWVEeMKhn/0Q0IyrK3aJWCTxBVpQt3TcJcswIi3JfCLkzoqKiqIhsWgqSoqKkqBJRZkFSVJQU+Q9TkBMV5URkt1CQE5VtMasW5ENF+VD1L4G04sle1q8qaK+EaPMFNQURUVFEVIM/PhVkRGVQoO1LbF+vJ8DxS9q+5vrlynVi/trkS6ghXVFZLgmrQqcrP6rBlywVJEhlQKJfALmCJKkMWHTt1E4vLUiSyoBF5aq4cOTtBVFSUZTkQ62CKKkMWnR9X6+LFmRJZeCiGvxZtSBMKoMXXa/D8s3R8QMY9eAPdgVxUhnEqAd/eCnIk4qKl1JzUWJBoFQGMxp5Iz/PqQWBUhnMqBPeV5AolQGNOgF+BZFSGdRISKKDgkypDGzUyZlzQahUBjjqhBAWxEplkCPqJeRKJbaVlxAsFVMv+Ve0WvHZPtG8swXBUhnsqHfS2JEslaTdVFwRSkG0VBQtsfaFbKmkvEgXUBAulcGPWHNEuFQGP+pXcaQzwiBcKqZcItbo0MGPfDpXkC2VgY/4J0dvDn5EPznSpaK6JfbJES+VHFefHPlSGQiJfXLkS2UgJPbJkS+VXBafHPlSGQipsekfAVMZDKkRWliQMJUBkRrBhQURUxkUqSU33LUgYiqDIjFrRExlUCSSb7EgYioDI7XsbnsKMqYyMFLLvjuRMZWBkYqQYQshUxkcqZLEAwUpUym2hPL3AQU5U1GNUg3+Sr0gaSqae4l1O0RNRVN9s26HsKmIrZL8fUBB3FRUpeRedGWFk7Wes5HVJfKmohKl6l8TbcWT/aqfInEqKlGq/qXSVjzZD+bUyOSI0KkodLpKUr0vg14dXKmX6nsVqVMZYKkR5F0QO5VBlhph3gW5U6naVcmYhOCpVO2rZExC8lSqdlYyJiF6KgMuNcJjCqKnMuBSI7y5IHoqAy4VkuWkIHoqAy51AvAKoqeiV8yR3QCSp1IXIY4FwVNpihL9JEMFuVNpmlCLtBjETmWQpU7kewW5UxlgqRFRbEHsVJr61NXgFKROpZWVNXq0aZLK5vckRE5lUCVujh5VaVLp/rOgRwdSotboUVUm+aHRBXlTGUCJhUYXxE2lr/LeFaRNZQAlCf65V0HcVAZPYunaCtKmYrfL+bEDBWFTUdhE0rUVhE1l0CSSrq0gaiq9LdK1FSRNpfdFuraCqEm2lVpfEDXJYEnMS4KkSQZMIgHsgqRJlDT5AeyCoEk2TXrnT3eCpEkGSpLoD0eCoEk2dak/vghyJtnUpf74IoiZZFOf+jOSIGUSTddNUmkIkiQJmqDSn8AEQZIMRtRJ4mFBgiSWs9uNEBUkSKI5u/1Ad0GAJBr8RgLdBQmSaNbu5Mc+CRIkGYyob35QjSBBksGIOrkuQ5AgiRKk5i/DBQmSBE3B7oexCBIkiZQ1COIjiZouwGfTgvxIBiEad3p7T4L8SAYhIutGQXwkAxCxdaMgPpIBiMZ1z+6zoEcVH5H80IL4SBQfkQy7gvhIFB+RBLuC+EiietSfkgTpkaRFvlFBfiTKj0gqVkF+JIMQdZJTWpAfSdLM+n6uPkF+JIMQ9eQvSgX5kaSymjQQIMlgRNd7ct0Pgz7VLN7+Jl8QIEnSzam/PhZESKIIKZM+jQhJ8rZ4ciRIkgNHCIIASXLkCEGQH0lOi7hNQYAkeRXNKEiQZEAiFrcpiJBkQCIStylIkCQrEfT3U4IESezGOH+pJkiQJK+CGQURkpTl8ggZkpSwCPMUhEgyOBEL2xSkSDJAEQnbFKRIMjgRfVOkSLJM4C1IkWRgonFPqdczECJJWWBeQYQkRaOOycCLCElK5+ROkCCJbItuh/xIJCy6HfIjGYRoXBbnfRXkR7LOqSTIj2TPqURmdiRIYgm8SRJQQYIke04l0rERIYll8CY5mAQhklgGb5LWU5AiiVIkElgmSJFkcKJSyQSMFEkGJyqVzGJIkUQpEokREqRIUlfLJIRIMjBR6WSFjxBJBiYqJBuGIEQSg0hkekeIJFXJIOnbCJGk6tUYPtESpEgyQFEjN8UIYiQxjES+DGIkGaBISLIFQYwkAxTJRj4kYiQZoEg28iERI8kgRRLYs6NXByqSQL47giQZqEgCab8IkmSgIolkbEKQJCZeir4yQxAliQa5kfSQgixJlCWR/ICCMEkGLpJEHh5hkgxcJCTBuSBMkr5Q5guyJBm0qJFb1wRZkmhGJUYSkCXJoEWN7caRJUlXmQNpkQiTpJtXfX2LIE2SwYuErfSRJtXBixq5Z6giTaqb3hXmt5mKNKkqTSr+w1TESXUQo0buyanIk+ogRiyosyJPqsqT/KDOijipbroE9ve1FXFSHcCIXXxaESdVvfzNDxmtSJOq0iTxh5mKNKnq9W/V73oVaVLV+9+q3/Uq0qQ6gFEjrKIiTqpBfer3vYo8qeolcI18R+RJNSw03hVxUtXgthp9sWlFnlTDQrBfESfV0BbhmRVxUtWU3TX66rFqPOn/+/Lb/eO/Ly9vl7v/9Xh3+a/f/vN//+/ftt++/M9vv9/r/28lfxl1/vaf//NbuCZJ/s//+b//98te1fh/16rD/KMy/aiQH/3++/3d5fHt/o/7y8u3l5vHu99/P1dzvbb8qKbXeP3dl9/CdfnD6vv5dHd5+Hl5u8GayrmmdNRU9K/he1bn29/Pl3NloZ1eTrSCaP+r3+fLb6Xq/0qw/7V/qJldt5fpZne93ND+MIvrfXD6R9mL9kqvV+fovxrsv8Td+Jr5Sv9o9i/n3bh2+y8t2sNcdwLHX/s/u4WjNO3/3vXaaXu6vpdesyTbXyUcf+2/uOYs1b/S8d+uGUbsr/2zhGvejv2vcvx1/EKOX9TjF4f3rgkW9K9rwKb9tb9tuB5A7X/l46/9m15J4/6XHH8dpWk7/jraStqf74pL9r8+/tvx23L89nDcdXe9t7jDh+2wa4ddO+z2hhLq4a0a97dsh13bG1Lo2/4EPWzHX/n4a/9tT8dfRzPa9tK47e8Wt/3dYti/Qcz7N4h5ryWW/avFsn+1WPZuEMuH3e7feF382V+7Z6Lsnol1929se5+I7WjnLR7/rRx2e5uMfUvHX3t9fe8RsR9P2o836nsbj8d3iT3v36XvLTv2/V8bt2jaX7tnxv2K9tfu/XEvgv0V6/7X/nXT0XtG2m77a28lI2eq/pWOfyPVfPx1DDZ7Xx3hufbX/m4jRMz+ku34a6/lqjLXv64S7/2vvfS6yl2Nh2P8O42J10S3x6CYdseNPLekmpv3tx9/Xv5+PddSsnzUUvUBvd/ePtxfp427p2+vl5d/X16mSoLUfnqWbe/padNRx6vw7vJwebvcnau5nvV9DPMfX0t0pPRqebh5fbv9cfP4/XJ38zbXdXqvcBXs73VVWtfT9+mlcjg9TsyZPsTzzd3d/SP+WKYf03/1+eX+583L3zorv/19fzd7p37U0jbq2dfL2/vzw/3r2+URXZNjPT+IDnxeHW9Pz/e3xL1tm9xbDvfy2uApwvQUOnR7v7v+2/dPj7Mr6+TKcLiS1XLz7fXt5eb27fn92+v7t/lVyulVYq/sk97c3l5eX/+8gEPSdmoT+RjxamZ9V+t5uPz78jA9R5R4eo6wz7/xeoHaqqa3pz8v09fJ6fR1bLZ1f/0GnzVs8dRpQ02sfetPf948T+vNdO6r17utyI/vbp7fLi/TwHX64TH3HsPhMUQm+ip3d/fXJ7p5+HG5uYO22tJ2fq7G+t1HJfePfzxNLo6nxWZO9mSFjkE3d8egCC2tnVtaW7zO88P79+833x7mNW/q5wqumSZsIZCPCZ73gLu7l8vr3AfrucVttJnpLx/ff36DF8pyHtJKY0P7zffLy3VEnn5c6vllaqd+ebi8TAN5CC2dn5s3i4f7m/mFw3nQCe2YT/iWatQx9/hxXcxHLf2YuWPi7zD19Z7PTTLxrvLwoLMsDL7n7WDsfHx4ePjj/vJw9/R8ebl5e5q7RZHzRFL29W3h/cNqm2q5HgmeRuJ8jMR0ert5eCDP087Pc+wgeC95eHj6a3qW8xuFfGx+rtG6iyoudz//uLkup6bHSefWWSKb1UYN398vr286GM/73dML7W0kBLYPv/l5899Pj78/3z8+P90/zi1+mu6OdSdts3NNv988P/8Oq4hTA963dyNMfVXhzf3t0+AUzy+Xu/sxBbw+vzz9+/4OhoWSzuNKDbR5W7XGH/7+db3n4abG9fvf3N8/vl1enl8u/+CBz2uRmug4Nip+eLq9GXVdXv59f3v5dvN2++P75emPy+Pt5fLy8gRjZDt96yiR9ot/VvfPy+vrzfcLrKX6Nv0baz/Cv6HL7v0feX25vL4/4Frt3MujRDrgePXvNUON5yZiW/3/1xqfnsd/hIrTVPH/kyuPj/B28/aO9eapXjogePVe1+Hrhy5T5XTp6FX+8+b59e1vWCnkcvZY4YtRr0a/j4SpjRVe4/PD/R9/T7/9+OGBW3YesAXeWEdF/+GsF4OcG2TaGh8JtI67m7eb17enl/kjXcOAP2opfAFktXy/PM0f+TyNR9vBL34/xiNdO7/Ct516g/zqQU7jGYxjYRp4f/VZvN1QPvefTnfrVsXtww1Meqcv+oufPj2+Xf7rbV4D9PMa4CCQfG2oVX0eda9XBJ02U4tR96OC55uXm5/Ty8R4/p79F9/i8u/L49u1pc1r9jN2iIZQeSVP72/P7zj8nun/QcuviRr/SVU3jzcPf7/d316nvufLy9s9TB5nKnJwqfAL5+11v7/98Ks9f7kDwuVfdXar9voR/WrzebN9kLX8z77E98uTX2s5db+D/+VfDXFW6+PT9ezEBlBS/2kleGxss/yiUVr913Hr5vvFr1lOn3k/mxlZfpY1O3vTaZNcqJv2tgSTzbl97iv3HTBfbwze/zoOBsJ+5hK3sO8ZUjgcyrfW+wP8x5/3j5fX+7nNbdN2dMfGQhcXR2XPl5fXsfP/7xmohmndQ/31UY+zeI8T96u/fLPPXKaedxJh49PDXsXt0+Mf9zN9vN4lcOqQ+7nMuEvgH9X2/nK5eX97ulK0P+8fn9/nDcq06uIb8r3KfcX//np5+VxZOQ9JfNTdK7NVi7ewmhZtib/pDJ3PJ56hHKOXHVK5FXx/f7iZOlRt5wEwRP4W46evr/DrOP2ariye72eAd+7FH6c0x8HhccAYjoO+cBz6bPuRVdo+jj74dvX5/j8+jyNxwv6y+PHvf16mReL51CEfM/9xksph+83zvddlzohmq4sP6HaWqQXuI9m4qIPW82kREuW8vORL8Of77y83zz/+9eA8yXZGdKEdm/+t07Xd8z182Zamptj2I8p2jLdbXzjq5fL65j7ZeVBq8Tia48vg58dXr5PGM0GPm3BHP74+P9y8/fH08tOrJ9QJC3I88Pw8v8l59X3NDGbfp9KTkc9AZSKC+0lj5uTj+fn178db8/vl8e7TrNHSNAI0OnY9P3+SRsj0Pens9/zsHK2E89FK5Ou1Kyb49nr7cq+OeH7/9nB/OzPO6eiOz+gv399/fkKcWzv3wLYfZSfTYbj1vNz87ZLFdsZGIW7HyQIfUl5vL494gNcnyUnax6iRP4dV8/p0e3/zdrn76/7tx/xI5/YSw6HdOBQox+n9SKFhfx3n2sJJs/2beGI2jYe57QNs21dJKezijlT42PJR+beb18unhredTwVDO47cA/f+qcbLw9Pj99e3JxiK27RuORaLhbbrjyp/3Lz+vHn8Gyqc4P0u3RiXHv2TCp8e53e+Xop0ri8d9dGW+lHfpy8YZNo39UNuwDcj14Hk9unh4fJpEiznCeiQahzfMKRTy+Iu//vx9vLvy8v0Feu0vdsi98Xfj7d/3D8Av7lKXc8/51/+78fb+7fLz6kpT//2Lz7M/ZsOCHMF0+nLwu9/P96+Ps0ai6uy8Pzo1MlvD5crcvrUWuLk3100c002tHuauuLt7fLz+Q3OXyZRAz19v3l7e7n/9v52gbVBktNaN3POsv8cJSfpTAUX1GD/PaCHqbF/CKH2Pz7ET9Zi87F4OT5YqIdYrx1ar0NdGOu+vE3h2B+ndGhtdgck4Uu79/m8/8zaF2D1/e7+6fXt5XLzc37l88gfe6bOfp9njOuFGmc15/7y+xDbP3bb+yc6JAQh9ENadsi50sfn+FiwUCnM9XH+4/bp++P9PD6XcGo/ppf7xc+dXUM5j6Ft+U3cX4fzr1ev4GwU6nkw2KhUavyaKwT6yauLwfRaCT9zzOftWyl0WXGt5fHvo0/NVYRzFSt/fEK352UwXW5ef/h0dz00ur9OCneXt5v7h/nkdOvnIYGOSKOmz1uv8957VwOWvcOWXSnYto+FwOo7jX/h5efL5fXy9nzz+vrX08vdJ+CQzucAi0X7R32v998f7x+dis6bWD6tzRW9PzsVnRUnfCfzUdGVpBwtwqnv7BN+Pvj+9kOPA6fqXj/Xd56DMz9k0/pGS/l5ubt//zm31TN2Lat+e3e5Ep75Cc4+4ydm728/rqjp9gaUhekMecou11xIjD4qun96/P2Ph6e/PmnS4ySn2cfUsOpLH1ViZe18ghFCXw1Mn9BDPm/5yz5pRpNtk1qu74RPkc7jSd6VLqXsGqhdTV5pOMCo+enl++VNnei0pTPTp2EK13p+vH/zD1nyNokJl81h11U+Pz05xOW8ZD6OWgJXVbkC2jOU5/qV97cfNgvMveL0BIWz6+uvn+6g/c26IHv6k57Y1gPxiJQIxyFKaMfOJaz68/UfvWop3y7fp5VkOU+krRzrNE4uoLLPx2+lnif2j8AFqknGKl8ub+8v85bozNOafEQn/NNXRneVM3RqR0hFPEICcjx0SFw38f724/HyX2/TNPX6dnme+0k995PVcHmtS6corCRv52GPn+6eKnl//lxJOVeymuGvlbw/3928XT5mE3yv81iV8+qRnl7u/1vH389rp/PHOY7YlovBo7aX9wfwaTn79Nh88ANXPQb9JJrI5wOpIqtRaf85dIB8fpCjSW3HI8W9wWUuoXl/+3FtWI936s3r8u3zIHyebfJyBf6LtdQ5BmH9/aeK9LBzruk8L3DcgzV9bq1nObSsXu36kaaVz78vL8fZLvlu54UaZxGjcnZMlbez1pAfmoxKXpHY5jMpLn3VG9my9bwnzctNg9bgOOs85+XlrKVVXInoVcXycsVWnx7oLELJy35zre3p3aviPCDwI1OrwluD5/NX4UfqRw2OZ9M5tiDXpWe1js9f9qzkynXVoV7fbh7vbl7uGOwJYUbyxw5q6XFnru95Eo0sqcGn8IR4Xu/FA8/ssCcdut2PkK1wwPbQDiK63FmOf/Xp5faHTtzz6ricAWBdbjxGPXNnPZ8mFE7Mjh+j7KycN4l1R1Z12e3fnt6eR0SPt98u587CNfjvbz9+MRPn88698HO4oyY+C5wPUDOX5x01/WL7ej4EyFyh7lfn9Kkzb8rLrZVTn7MdPlPdTKP2WH2fHzCfsWrhwpNrha+w5jiLEmXHJLKf+MS0HEKmB5tf8dzKeMQC1oGn/GdFTeGCc6xm7oJnUlWWY/u1kutG7+bx7hf7vtOgdEDVEJZNw+p2KpsiKI/KVgOWrjSuET989J4G3Q/+tfLnqPbvY/hwWu55kbXaWD3pvD35oZ3mWNm3fDUu2r/V4u8r0jmAYyGn/WtqDafmfoQ+76Bi19J+OdSwXw5R65dDOPxlKf796/X355en/3O5ffv95fIdj8vPs/PH5JR5TM5fr04104nUTmv23AE7BLUJcp8f9yOOcQuz/XWSyxx7oA9B40ekB9fD/PVq2oSXy83D2/1PVwzezgFxIfDxndbmrJXaFHwY+FnCX68ECZ6j4wpfi+vvtSG6/Po8OWx0PtVqcPhNZ3yTt8WXuX25jBHpBv/58wZql07Gmhcuu04p06fskw6Mj9b606tj5p9PZ018jfPX6+Xnzf3D/Ns4/ZaO8H+93j87MYntrCQMkY9If73+n9e5E7U+nR1w4ctfr88/4GC2nSMwQlp5/fPXkumnCz9df/r6dvNzjpvtdfr9ot2+v8C3nhQptLF9u7n98/vL0/vj3e3TAwjlt/PGLVS6zf52cwfxm+FM0ONG1ZUjhulf76AgGHeXHD9PHP+Pn7/e/Hv6x/vk6nIMcSUdIpb0oW1gbfDb5eZlVnGV83F4rPQ00LQqv4NYZZtUNm2PXA5HEo20tWO/Q5Hjt/ub1+en1/tP4dl5insVOmV9u3+8+/3m4eGav+D3EWiOoffnejjt+fbwNAWHxPO/z88Svj3dza7eJi1bzcf5Pl3Yfnt6erjczL17EjDHIy1O3OOxw8cWsnzM641tq+yf8BVjUyRpPCT7PDLn29PL3eXl5ebuHuLGtjy9OxWbfHt6wyjjaVFwZFVJXF797ekN9RmhTCEssickikIn7W/XgeL+8fu3p/+aW815nItyZJep+ZijDplBi8dfh13b1WvxOB2IjW5Xv73f/nmBsO88ScGOBAntQztDFdpa3e/4ec77tvqxeKMt+/2PP66Syf9G2dvU7fOhR9ll1KEdsrAjBCLFY7EW6YHst/f7B1h79Ul3W45mIXSv8u1v1N2UPA1zH0l86DnXqAPfO50TesVE5/rx488JAOIZ8MZAQyo/fu6qh8/AOQZ6Fj1qeX16f4FI1DIFvFWq2ru9uf0xz/txynexZ5KK6fiLb5NHZY76IU3q20TPzsbvURgXpjPtyKPmjl9733PSN0Wu2729eXi4LiymtjlpK/ORwinvM2EUqqm+vXm8/ZQR5ZwhIlB8envzfHN7zZTz+LmpT3H8MVHWcxUIfH8CleMkvg+HHE2o5OT25v0VFirnL8KBx+3l4fLt5f7tKqj5LOQMZQoirBTy317lRZfH75eXy+vzNZ53FoGckThVLl6TJz2CJ6YzhsgJnP0WZ7KpVW/0GNR+PQe4nVHtvrjLNEnPtVv96XSsPGkzOM2/NqPph2cdeuRP/nCB8J/zyV8/Egwe+cNC2bfzMeVj5DjmxSNxYMxHxrZ8SJXLh37xgPimxGDPRjabYdKYaFWVyr+xphNUmz2ez2Oq7J2/0iiTUbFu6K9pI1HeMa1h6sGZ9pm07XFLjU7/4x8gCbXOJ3h1Xzg2ug0bVblZGLZp9KtHssRfvPfnI4Zybqz1kNjsC562e6rRsGbNGjOt3WXabtHOb0ndpheTNkXbH+KR7dhjbfshedooXtaqPf9O+5HC+7amwvmP+6d5XSjTaqZTPcL++5//esMKZKqAu2tU8K/3yzsG3ExB8wc/3o4TrI2eO2ul76/3j99fX19un57+/BSgfV54J65+mWt6ufwLajk3gEzpyO3D0yu+3SRZ5osSkCOlMwY/8u1FfrD0K2HpGRAeuS/zvvo/lsJl322XHYweiUaFqrGu//b3y+Pt0+Ojzr+fg1umKNx2hBFtfDbUOr0EdlPQSP6Iw+C957P2+swq9qjr2vbx67dduvZx/nCE+lCdvv0rSz5azqHile6VTlU5I9x5V1wXLUrrmGDpNOt4dHra3SzWSlr5qWa3sjN2aJn2Gq3sF2dM56o+nEFHBq1zfypPLD0lvPqIIOGNfNT4jw/FwhTyduRNTXytMf8Dn2ucRIJHUF/4Rauf6/v5x42ToCfMW4/9UakUBarWNIpuCzirJuoOMRoVqkHFU72f1IPnc/JG8y364V2hnOfluFiyHD+HiX2bdiftSEXcDslopCTcQ8nn1eRiJ/308P4TM9dMGaYajaCw3z7fwJeYAv3bon3+/Pn06GOEKe514YprDRruqhOuU1uMcxKdZV2v/3q4f7t4WY7queWlwncfp3qua6trbCZUdF5B8LCQ26efAzxfPjLCT631vAttRzrycmxMhK/d9ppRLN3Ps1jI5ZgJKRm8fXq8+8TG+xRKxoV4x4+fX57u3m/hWHOa4SOFvWMYuvuU06ycE+7Hyvf6n0bFOC2w941DTEde7FQ+BNv7uiOF4wCYQ5U9dcfcUU/jmfnw+AfidqTqTgeoP5LGx7QnMoz5QLz5ALt5jymLRwBeOpLap+04nOEpTD7nGpmPySc2te+M6THNP8pcMkUO7M+/WIeNcJtDEToDlvPR7b74PLKCc/23F6U0Cy3OCYSODeGRPn9bdZZfxz/lc8OV/XFlsSz7XKknaz1/jsKRyzmkan7rc5bKXav/kYp/Wzd7GqWVz5PucfOAcDR4rs19z7Mcnkor5mo+S77OC03ZN45CTwmn6q5q2tv317ennwcBnHdiZ2EflbF/qvLx8tfu35fLv97vXyCG6hyfwTMPf6r29efrp65zDqMoNADlU1VXZdPnus7tbrG8PkXgTZ44E3DZxUL1uKJia4vZZRHUl6c0YPs9CLLYoJxqc9vdeX+92Iidq3Ha3bmX7YM6v3pgqo7ouM7xE4XGU841farj/HI0hs6Lfpx9Gc6+3MW2e/cKPHXkP4qrzOd9/HFhiXCC+vT4x8P9UJK9Pj28j1AWjOI6n3KWDz3X6gtcq/xx83j3gOu184bzyPiU98RQIe8zcigrf1+JyEyEpgwz/SPS7ADT22IlOOqbR5J41tqneGBFelx+1PKsiVru7l+dB41n+X067gfZFluTudo/L5fnmyuQmms9r9Y+FjWrRedU6+Pl7a+nl3llc05B+JGfYFtshBRUzTlq4hlEpuMSko0fWB28a3bwlEmvrVZD9vPfBzdEbnzev2w0S+Oplj9u7h8+1SJTLYvhZK/ligcuv+stINPnOU9YH2vq/7+8L9txHNe2/Jfz3ECJpMb+lcZFQGErHKq0LZckZ2Zc4P57g5K5tRfFpcjq136LGrStkdzDGg4TiVfMcz+Nz0f82mohdieKPdlBgbWLd/RO6NsXXH9cRqFSW/TlBuAHVusPTDx4mu1N++aDDVFvg+9uxMYGSOn4/nYuoVaThJ3LQVlAO/5ohSa92hr09Tf5ECsZs5XVsBbXLtGpdIWoIpUHrYT7NFy763C5xK4IoBqZH/QM79M8Pk/R3dRD2rBLhUJHgL7B4SxI01WFTO9c+ENaweGPUNk1jaQygR9gTMCpGyfeWU5cAQTTYJwosLjwS8aJH1kRbrXNwl5rxUPNikGadVYqW3GBci6UoPK7NpcSVDoDVoT9bS5IiyIUmVZcvmwlflVSMtjKSYG3eU5Jvd1U8l0EMrRt6m2YI8upODmJ25YrqQaS1zlu+3v0kmRA7+fo3tfRkaAZwNM2gxRKt1y0liNPgQzYYJXIxlTyuVRuQ4uFu1U2cgeP9ib/a+c+DWO0IIFjKJztFWY3iLE5GOUc3rpIYNqAFOLWbOLTsDXG9OhOGEcjQ8oNl3B4S37POzKc0eglI1PUnMrE+kD9/dltJZBvh3eJ9jBgiQoqRrIPKGwRjKZLSKpI4qONw/XtNl2iTTyHTfyb41/z9T3ZXltqiJgwd8J4GVbAx6PbX8aIbWKzwRiFgVEFbKmzR/mx/4k98qjUbDpbH21jPkBKYhM0ZAVT6czB7GGJNT267uSfY/z6FyCLXh2VVT7O+squ0aI4ACA8WPv8ODtC4uhVh9/V1BxcJ7dGhqY5BR6+oqx9+r2+hCk1WcGZgwR1ibMKcUfwMv35hjcoP5jAqUh7rXiYguQU0XkaljZeG79yOTQzS6qlchoeqBAL1DIjMCQrEyEnRBR38NI8vrxQhj+xXqYsfkWJmWwWjKfMQf/28bXv2IL0j7UCMLYcIDg8voYPmBdoKLspRPi+PFgnH1/77olxoLlixZuTC337QCsO9fAOgX/BQX/38eWPf7TzZ+pOFXBypZwcTxS2eMmrBTic5FCWWiydIvazvu30kOd9HuOvP4dhZykmo6Vkx+VBp8lHjIB9gLSVRJLXLmMX1VSNzvMNx56vR/5LEIMpQPiZvtlL7MjpsnKgF88TrOXgj2F8IIoXkiTH37318HG4tRM6bUJ25L65pT5A97uf4l5GA1dxgIWWKB/Xdu7+ebbXPrZJaCDbdryBu8TysjltPN0DpUzrZFLkpFTgvIE17I/u62d7fYbV358xbAepEbDu53BK5Bp/fC7pG3g8pHLgStOn3UHffok6nT67WxsF0M0ErlH1CrCcyPi8xyVQpTMxt7l4cmPFfcD9mldpxTLH9RD2sRLrXaUl6lz+zXsTMwNNrrsutqDE6PXw76EoBnzgOe4sDfbN9UdQhOqdW+n+GdJX99f5ZOlfrHy5zhC5o+s3uC2gRvKUZZmZ4aKul07piUiCYDiQc4mVnkJooFbBi8QlQkoN3mQVLATC+M44uASCJZjrWQUvkxE8I+eNLCEZNkRbN4nyrBLY5QPgJexKxNudpG4hm1o62oZPBjBakJePooINqMCYDW+tpqNGEDStkWGky+Yc1VmLwsbhcghXSTi6oS7hiM9TBWwr+qWGEPsvCoVy5Xugi9oSaToNcfsGoK9iNPJdnLij7TTKM//mq1ymeBffk9rjWWsg7dpvXtM4Uoy1qgEEZ2lKupew1CWYNCKlmymtITFpCfWvEQN6mwWmqjWieyHK0HbTiTAio2/k+8zpSps0zys0dVJcBEy2eT3J4ilezsZm0kaWyWMeFh5TCmaooABlOZeUkjMs+RRTKiF2AsgNyNJzIfYtwq5nA5DMutwe0bdns8+zCm0CVIssVkGX/C3WvX1Mn0iTKHTFWws5JafVwbl7f0bsRA0XtXkYpticLsbnzoMz/v6FQ3PddSnpd3/uuse1v/+IRA8MunxxKJk//tfYz/F8qQbFb1tt4EW2rJ67j/Z5xbupISYByfGKJH1JKxOSRhw+mvCxmkaAdqJaYAvpH2zMLisSrVbgALaQz7aQmdDWhg7DLVeZ7S/6Bq5X97YX2MSHpuEY8uMs9Q9BH2N/a8cvb/b0thQ/b1PnG3HxzAsseDK+FK1hV6/lRdkA93UweuEvxhokoaBrsgryDfH+ymiP8RVty2n3S6V2wuE+569A3oqun/zgw5/cNcmH0830uhI0h2hCcYpN+JGxH8aY6ggtfuso8uwVI0pWwNGmCZRyxxVcQphEVxU09izv775CEJ09/crWVKMwxJjxVXLaysY6CtI6dx/dOHbnQIdegD2RQUGl9XIbygZkoRLQr0KnxXXYNw2X8gixH+Nw6zFjqfScwmR0FHbGjw16uE5WIdE9zmg3ZFWYj+62bqNL1SUwLZkNG7cpSwt+o7DbPFZSCDojWX/+/evxY0FNKmD6Y5HJxVYaUGwyns6hiTaEwFLUSWonpPhis6qkBcifuHQDC5EPg9dQu86JBZwNbV+vRyerNavLKq4zuDkM4AajOcOBXFAFyIDJaA805ViAkbVHSdgbqzBO815j/yJyAgOoWyBhKy8PPnNmiOB0Q5kPNc/dbVic49BwzYBGwMGbmjY304uAE5JBQbvaatKD16ClMKUykULPuoNExEsfJMZ0BfBzuWBryiVC65BSUs96oJfIekSDmEK3squDV9oH2B2rvQTohOSA964b8RX/IhcR5e685Fev/nfk1qUbCRltQ577KU6WbQYTSX4K0ynS0ir0BlqXW5FHd9IkhNOUJaDBNr3gDd1IS/YtZIzbA0a14ADp2NZDWbwOWTQRgBSBCrCHgxfriihf1aVIJZlcxUs8HWvf/M6wiyAO6hXtXJ+H09LJ2qNsgFC1tbLoqjTcWuRvaL8CtZP/J3QjNokLKWs2TUu+7gz3Lu1t4HTtXVBthBAggTnXBTen252HX/fr0J7jz7WGXEHQRdYKLsDxwkbFTM1x9a0UxTNrqcyojpekO1agmkRHdIk46XE1NBcP3rZkOD9tjuLBXkaxMxAvNa6u4b7JE6GIAx3waK6uKyUrAi6WTptScVMnrLn11gr60X77gOZ2+hHdQjRyZelId+3i/ngDJoU57YPtxD/BXEWwAUJdpDCh7jbsX9ECSAYVvbXdfb9podjP4YHROEuTsGgGth75eE741ubwuvFpYYd+48ZCuWsc/9nkZAiccsVtprYCRxeEcyZNpUxaRFm1DX5kDkKp5EuTYwfMMsC+bgSuTKvmtVfSXrq9KlwBM9OKDpfXEF7D4NYibt4UmqBhK9phXEOkMi8vKQoh+DuUQKqUUIdRVFJ3x/S/BsdkK70nrojjI3z03fW8B8DnEErSedot9aEiOSP9FZmilg6mvE7bUIJ3cVGFps4BuWylYUWzwpDPpnU6Id3ZBBU52XTnlGZy5BQLVDwPzgyWe8Ys0VLEK11K16L5lUsxm4t8aZ5vo1L6kvmfiS0nfadGPx/+ZP3RKcEqUAUwGV/tfADUNyhBmED62Ln0NmT2afga4MPuEL66hVBXwitQ0w96nZNv9ffT59hd1yHt/RyrDVSg2cgt4ru5xdEHENQsnz7vc3ynlaVtTh3VlyNXgdEkFBjEh2RsaqhYlRjl3dpHdEI5nBBLtNcSA+smEA7my5I/8ro0sX3T8TZE/VCDs+iM5vpLoOX/w4oQDj46NtqnwHuZfm3+wJdYwCWVO6Ph9+H93zlEwk7JV6nfp+vz3J2n57tPFKPUHdp8hnLNut+f7XOa+5/dIoqInwF8+dTAvvuN9ZEGxxS019z9fvT75qDTw5lNELQ6DhOreYIcYy6aYptOfi4GxzlFXbwiI2jS2BwSZuoH3f1+wEJcAZTY0O6KPw60Xv7a/Rts5+l3xRUUDN79nrv7tJOgKUHyZZv389Obu9FbG9/aSxfpBIFMka34VvPbfzfzj+6r/1ggndHiC710/tWvUV6jwx/d15Li+AOjcIBypfX+LpyHoC29MgznAN9Cq/9duEQocLLIqLrzK9TcenfU5fo8JnQaT3hegEijXabuq7t4QEMs9QyrZUXryO6rm4ZHRE4qSmjh0ILmoz11xOK9gGS4og2Lj1NSjdiCsStnlX+cbo9rO38MYzIM9sb5E/nozj7N7M57NZKqgudAwZcf3Xz6JFZ9YG4taIEgY0pXnDhkSgtC1w4l1c9YIq0N52hEog8P/aoqwOJNRnUTdcSEuITecstAvixpe3OJdvtoH6OfV8YKS6BAX4aWsrAUvQ77H8dNnKsuJspAgixpnrDEPJo66VZCmGkKAVVSuFpwXBlVoEn8VOpe6wGak/OnT86vqtD2AVRkEeiuRsaTRiT8nQkJuSvpirT8QDtNw6nfZQN1DqA7umnK0g8nClBEwcy4kmKZljAR6g88bkSz34ayz9ht0pzLrQgVjmmkqmuEG91IA2WTXnACLnWi/F8Kda2kvbVkWW+MLrzMNgxxtAz46CN2PXjK2oq/c/2126XeVhPrraGeL/7glNY+sJq47udHf70SiXtoCrrwYCzXefzox+4zkrS1mnlgjw6NiC1QMQsL3xVUTP2j/92dF/ObdWIPZ6Hbfs5sSFi64lwHzFlr0G90FMn/cX1On/uCyGqvKrsV7+EPkR4P7zrvby+/0N9nr+cQYbLgY62l3VHXYpPRyKck/UnhUrqtSWSFAGvpxH45j71BB6D6a/mI61rORiQMGkFRCW7V2aCY44Qp5izPAIbx1I3dx9hhfxjsMopAWxSjopL6A34MPkHcT7dzjSwpN1+4sFpxiyEdMQFo0HiJcJ4lbbz4pCuqpQz0DgUHaxslLEpXvrG9dbEWSlUDa1u63JaiCT6e16t3nku9lA249uWy0+XUg8RH2xGpSjAVaKSmbWgH/+N53+GWG53iGkcJqOFYZjbeQM+XW89duvuOVgRGGxUdt118Q6edu4S8vF7ZBaPlaLUZIp1vz3mPI9Ksame22TPb3iXazmbMamSZEwC8oyWshJqe79Np7B/7k9NSVdJZd7Q0CRFfhDzCRbf6Bf/+SnWwRfE9TZjXF8+tDGnQsfsn7sCUestxOW2/XTrsVkPjX7RmTGAzmA31ZwMR0GaiJlNK4rnd8Zz6n126IUEPAJs949i6cemGHTHAAM3NcgVFf3BCRRs7ltK1KgV54mgrMCD+8HT0g7Xl0bUsB79tCtCRlLvakMK55FQsLITb6QvD2NTybCgEIKdjDACVtgW12HZ+2i4MsRMTngLOjo6qQoSo+ZVD678Q1kMhZBuZTlhegUjwHZgAZCEtn+OECKn+BugQWj5NCzEew/XrEvcmgN1R0tz+0g23LmbTg4qkLURSqaA9I+/mlaK4ghitLSjD4NLFcxa9wMgkMLw4kmNmkszm8peUcK6gTeNLN7fXyBUJ0Fsb+J7ffR9iKWziwZQBswwrpYXl3ME1WiIQCBtsuMtyY6zzb2huf7b91aMbbu0jXgNhrC2yC4UMSkuKn7t082IguggxYEUJYh5ij2m5LQLESmBosLjbHrehyPZLN6fsvwwIBdui2HYj/m1IpF3tnGcwd6NtEx8jsYeosWjYHmmq6EP8EXlbJ/rhgXLwYRT2OX/6P/0Fn3c2yHooUlBTPoyY6mvqep8L2mCc5/2bc9NsbAoK9jGf49jd5+WL3bsfQtLsxOzOldKUoKCrLfYeBq/leMOiUoUqTMwl66OFUcVO9Ql1nzOkINXR1/HiyMSTZHh/bCGAzmJjrdLeipSfacMvjZwW5e+w4Yqdbk0b+ZduTmVOFTRMjAACxTLIbr5s5dHKu+Dv/7kKDWIHwIEJK9fvuXTzegRMfIAMd/TxLEesCizJNmsFuicZLW9DqB1eAuTpXpBrdvyOT6KrDwp/94fuu3zARBNlNlfKthi6RzYXjar8oNqc/552jwja3ZY2Qi/dHCm3wKuqJYZrylu+dPPVu9YkHOMLPRatQhlUH+1/1/Z5P33eBy/DcNqLJljQpMqCRqg1lPWfjJncWw3srULvOKgtPY/xue8l1zANNsFXwjgJKiwU6zYTRPmvm9RodZCqzvfhF77QAACijZpLNxOKky5/6TTz0nke561fxnUJsyILwlyZICYNReMkIiafj4XnU8rzOfjyH9fn5bJT4YWJouUy+j7A2J2XrTbSXNJrhwtuT4Z7sC6hUtoVNfhQmbAhWHHmtk5qRUdRxhA+AerWg3a7WYHYgxJGBTxEx4OPLW1es3gJeDyg0WgnGgOm4OYWLtnJJR8+7RDxACAPOpNWqhl7lBHtAydPGfT2pLzhI4E18lJoJnJyAOdtPHyxwxHPAFuFQYQVKwhbHe2Iaztt6s+dv7IpKcWlJzAuP7o7iyLrc+whk9W1Mseb+6OT2pXAX8rlC6Ls8Veg3VpeOcCTHaXpXiNrmtvbYz+SrUBMMztKzBfG92vEEvv1aW48RfGEGBFYRS9Y690ow6ihCkltFXQWaid/HHyAhJyun1x9VAtG8hc1EDVFetjaTfBFKnM+S1jjpr5bEIyUmoYPu9ZISegOMOgNRZBAhOTyCcqPhk6Nd4H262YNuqNHG5GPlFp9QP9SElP7zdUdrZRA7ZKUx35zmYdLJLCe5Ls+THF/ttf+vKQ7qRlVDfBjS+eKl+vwjqM2p+kc3Lf7MszDXuilhmSG/uhai2HuoT8SwQcJntyI6JAJ8o2mFhriwSu2/tTSXoj7zFa3mR1fErYQO/URA707Eed3jjd012hJT7xCP7Q65IKm5JX+GmwHDCp00lsHd2NT8qQ/BLpGoNZCgwHqwDwyJU9P10i3bv4cIscYPS8TroyjqhMQaZrw0enTEq8D5yh1Jy7/4VsBoKD97oRoC8HqFoLL5OXkRUcIuFuL6wIkjyjeGyP8LPF0dOUT5Hcdp46+gh3Y12bwmdbSqz/YK9aY+zFvCYqkAr6ihP1XoLGbHsN96qJL1dM+Z7ev8JvTSkB8NJRiU1U42HlCpPk57t8I3Rbh8mSvGNOpvbZ7go2GwtQyiLW1/EUZDSEuG4xXIOcqcKbv3lcd70VTwnm71pnZ3Kypx1YibOLB6GGGE2cPLnb8ivqzHXtfKscfh9YsdYIWcpRnvGhNnK5tj+KjMCXPxZIj3+TaDu7m8MSJTZOB6LEIjwn5wuSbdtTxmU57sKje100uc3wuuPvZXr3vWVLjATifDUU/rFS79uxljE67DbgBQgBXsPlsp7dbe8ckMwNVuFqupxaXVemjuYxy2nzo4R5LigH4TLKRWjRlpf/jMtrC/Oxa3P80jNNJ6iIwtoxfftfGM9cMWjVVfnQSHVIBNXDchCsyRuiN4rITbh5tLfjg+yayXq64krg/Nt2vA4cHWiF/dv3lM7bK0D2WioLzP/tL5I0BeIGKThE+h1v316o8/ZeHu/31Eu6G1VrvH3WoQBv+ljzfsb8B9VxOseyfz/egOhb1R4DRTtuly/GP6Rn3EKGlltMWjT98h7lxgIvg8vqfniT35TUQolMHsUraTehNHeEgLEresAXXH5hIapymPFhHRy59i0t/BosXhdD0iLR0+v0uqIEJzn3BsyIPo8VKGN7Zpnstcq7KOYsWcf25uz3mr2keI3UpEIw3GcVsEmlpfY21oO3z0KE1hdlqG9F/EwBxKbt7SXPx7YcXpUqiUQmzNMrH22K9jy0qPRQ64a3lfpeCii2pNvgWddmKh3H7F8P739GGWmiKby2jFa7PHkVHkJhm3dTSxi/FLa+kZVIc9sPT2PvoVDXhuy4kei3R6ZeL0ZcJHYbWPTap87ng/StgZI2jd28j7JBG2ipiJmurTbOVJtHhNxJ+UYBbqWkvOEQ4ddfufdyrcRRArq5or0bipAozkIYXYVlDoSEhWFIfJIMkoVYddTHaCvAsx3nZ8U8kZUgzEFsUz1tnadMjDrtv0ZXAeq9pcyiOlGjNlbrFbOtvn82K2okeL3Ayv30iq83INWEQZ0Cizda0CRNCXdv37hrfb1CfEehLtZmVUQIahk3ddzChpUkPxkne9RoCfXdCCeZSCYPvmmYyIcRu0pMB/LgWIINwLJ2hBAsdNC2+m0GJsfFWqI6PDpm481qj3za0z6ejpO47ZFLNt+tujIywiJgLC67sZ5mogkidYYx4llYii1sF6wSbBeF7y/Xh9dnsb02DCXF4imKeKaTBKuyUNgsdU8t1lfSPpoYpKCISLrsKqY3NqNxtgP7BzqjLgoqW/uHQN+9K8xZJgcCA9/W+5XTgtIV6tQMj8oP+uCTY8ROavxL9Ez0cE4VBk28KybSEJBBJXRkXYZeS3MfWVBLzSBBcz3w4qz5EWNc18uFDB1Vgz/abTG/+8o8UL1U3F2tp71JASn/emZnmevDEhXr6hZLVJvD/BSzUpXw3FU+2b/FUOwOETyXQA64AvsTYD590+ZjRAUwf+dVAulhlshjx9+7ePh6JvqeXZdGh6IxYB9jTXkyGzBsKXdZh3odz1B0D5YKK30od5DnP8blAh66iOAEdxqen1/40J2S2TAYipRWVc4ripeyYQbvz4H2LInWxGh+odVTU+1vHSTXkoGCuKDNUh0l9ChCFCiFClO3bTOjVgkFKRVsyOuC19baZ0SsJ50UxwjrMNH9FzaUM6Rf5n7zYPlFpr/0l/kSAO0I7dipS3OCocOC8uaoLUTULWYvI9TtL5WDxl/ZfdQ1OF4ZvQhAn8UABTVJRfCjGOc6QMou0mD94Lv39cjAmNBlUo2LYYv9kGervF4/D6tO8qUynMabiGcfy/8ORJeTz4j9fbMakshtnIU90ufSnKioEt/xCt4MrFzrz3MjzpUzESjrsXCL4Q30tuIN456Brw/NI/78nZ8sw7g6YKMdt7nq/oF8+54QXBSh31jybjLUQc5QpF3xeXtDkKupD+RdVjy8pS9Af2LfX/r87vhyYDNRFKtEKqXjtKWG9rKyGYUdIWP0tGIEpZsF3w5qDF6ufE26eGRiilxTp1d9v3W0Yvx7+cvdMA1iNs4ON7/Gcr0NiLXINaLsdrBtTZOnewE1xQVvTFZvu6cGXjaFAVJPrdftt8n7uzq9p5guTHesUQvnL+xckHa7AoNEEiooRqqGxsthkRig3wr2sMmkyyBCTu3frs0hymAGMlW0jbp6bbAGv3e+fJrm0Q2cwfCfOUm53HNUmo8LaHJBPzlJdLB01lYsX4HvN9at0nOHuvWW8gUhytAa0D8tlptIh99tuAT2bkhf1Kl6Av0SBoAjjZZwKNC2OIvtTsnBKf/IB+EiJVlIBiuucrKZD+WQv/TAdnNafPMyfw0JVSwUr4G4dvmH39to+AMHdwO7rDrYHOXw3Ka2BNW8oSinESDgNalrcJoqTbzYwfAgTgh6jeEq9rta1AFuKw9XjMSLJuwabOBNwXqYRAyUhStpKdHzs8bflfyS5iDSwiEhPlXK8JNqu+WtgixXUla1EusxSfg1EjRnoYOpo64OyVQVJd5KgcSFTVsedYiFmqoesv9iG95F2Ya7t/fLcfWfa887Wf3ZWg4fpRi2mGiYwlCyEcRK9bXBqaHjSNbXj2EI3pQGoUS7Iuzq8DaaWDm8tWEaj/hIc4eaYyrek9QTuz+s15ng1gEzKG/nRXDBKhczlNnSm7NJcsbyfAiG1O3ukOiwFWsN3k9ErKeizn9pf0znKrqocSLI5XUfCwbE5ewVGvRnFPC0B9k4XILaUUVWS5ej+0Z7PYzdFdRcwETl0w0f4e4qzbSDc8PrfH/z4jCBpFbQEM94X8kfv7xtgOSguSg5e2D4YAeRxeePGR4j6shUgmTNKgvd+VHc/Id+h9PV03MlkW0jEXNWceEmZEkD7Dc+XpuCtHZSDcQGGF7oRQ0XHZ0YT9X8oNbe5EdpDyWfX0yqKjZfm9AJhN6F/LlHYT0eqn6VmJDQbI4HCofvpEMxcamJCsxETeBY2HcFmSk0DaDZ2AoV7+nC39t5e8L5V0BLJqFmAP3ztqLTX61cyECxyPFmaFq9YUYf15BK8MKMvrJEL468WBtQumRhYneAmhFpScHYceBfP6XgCkOJwmihe+uMqNZ6l2fBQB5vmEvbkq4jxeYqRYAVsHZKGlhSc/YqX/lb1bLfZYEoHm+t9uB+fH2xOxbbF8jcxhCSnqLfsDQLGy5XJ5xvD+Lyfu4/+Hr/VsPNRubF+Wj/R63D6kfBqwiqfj8emRztNv4bR78BYTgCbj5uY95MQ3BcwPN4ZvdBu8LWDXUCCDe9/Yyi9OEqD96DWnR5j/7Odu5hHVhWQHVCHiH4aPW76fo3SU3D/arZcUExHwobiioM3YOz+ecY7SgNzklzMgmvx960F1VmLIp3ZstCNoyddnYNBM2ZcTi8uxUHONLUf7dj7Na+d2/fe2w/tbzGkUNSStJ/Wanv5tvBp661LSu6KY210JJ9Tp2XHK11oN1JoVxzcNXmt++6Mg2ynsxHupLEe/HyEthSE0JtXzrsSk3dyT3zeZQ3EHwGUZZSe3k9e8DV64+BbyKlUSD9tNgxMTEcPGRop26qDBO358KUHgq91Vzg/yFQWRq4sFnBNAHFwsupwy3avsLNTbQSamzV88jN3t1v7ey+ABbxsrvXqj0dEsdZBDurHgW8f8l4jkB0phhtpgTeC+G5ElcGElNkWglUvnMzltnZQwIo5K7YoVtYaG5IOl0uZnZcCcOLv3tzd0uR1cOs5fEKEsw5OnTQX/XtKE0g0Bvp7Asnf01+P9vTDD9z/8qpcC3bpr3M/zX910+0vnxjgo9RiYjWlJH4T9jlH1bWGNR2dbCzOozlRdP7oD9s1ZXKNuOCeff7YfeHgdF3Dnef9wT5B7b0pE/54o3+cvWN/z6j+obNabvf+96/I5kILzNG23N+/5gSrJtdDhoIOnLeDp7m9n9vxvKcVOF27FbR/86PrHq03TE/N10B+m9Ycu08SFEY3n95chIfrAMq1Nb2tP7qvx+cYr6ng/GdripCRo2MOgL4k6cTbho7CfaCx++h/R0szkJCObk1s+qgTtCKUSq6kHog+xGLSiOkRNImoLqg/ePiYnl73J5ZngzRULAhcSTOJNdg+joM4YhZCi7Uf3deuANJbfy1b/7ZFFHTeFrTjotekgtfk4JJ+7uylTAkDrIZ2/Y9k63QXrw7T3HpT0RKPaUdz2yj80jH3TlCIzHCI4abvce9dueOZBEyHG9mt+We1RhHvQ9gdMpQoPg6Rsg0xBihgQilylrb/o2hHKCeYbQlpy3GHg1fsw5iAnBKaMVeAWLDG+AChvVlQ+m6CHFIaeMsbgeLSii3Y+caMJv3kaloQJwdHBnpoUqJbJ5NCod/ZUiRMSyMIb8HYNwHnbptQjNhGpE4bWQscnQaEEzzFwi8FCKgLicDWdLHzapKIgYFuiBiEFtRayUe4DWffC43sqAsQbqJdR++yOj+jK6mBtCu3k+KBUvBQ0E7lEmvX7iMCCYA7EUeEXrtLe0rx3mC4IF83r12v3c/4a4ENXCiqlpu7XSNgYQGsp1L0LisK6V/ANdHsGlhZ1TZlpo/Bx3gfkoNwMD2qxXPKHjyY3z9tdEJAy6ukAqPI5iUGOyEdrBGVJEs53tf+fWzHr/bRJwCMDWAK6A16hXjOn6kYqGV6HGO9pISWQg0yDFzh5BUnBcZUKfUrR6GZ4yvKa/dOomPBrpDf3FsfYegA0yJg6EJo5YWQ3ngBsoT188NxbL2d0jRcf3YJ385SWw3JFmfcwZO8d+0YU9RNAT7gJS3i/OHnbm77uF8Fclu25l+H37ajfE7nSA1FqS1HJn+7BBRSw7+q/v7jG9AizEezg3c5ESm6LDClaGjqt4b67Nrr/Jk6IZDBovhF7zeNqChwjBLSsRV8pLyZlsst+KjtNamUqHMSK6NRro33CnWsTwiVKW18JELta0ALpejRarIGSwgJwn4q3TJraRPqFetA7hB6jmK2aO1313qkd5iDiq3YNNjDS46sbqEtax0VXfeHHjmxFIBEL2lfQ8dZ5aliRxd9URxMr+PgVgBIZhOaqLYIOlC2kIZpSdHuPvx6y3ci7RZqWG6EjiHIew8CyXQs60O94OcJBKwDgxIrmTkXY9Dxjr9L0Fumk1kWL/FxNpBj0zEaREy9+qCGLN4F9o9u4dFnCjqwQjPgUMpU3OQJg4CqvIH2+A4EhfLoGwG6aE67z74Rmab3gshTFWrDmnrn+Uh73WBATFeB9sMxitfh1EZkNlQIp3vccmDkT2WABKkcFumsawmzm0g2kMQWYSBjCiq86uPs+KawhVHaRTj0xc2KLsjBBclYx0rZwJdVjJuqHoDD2GzELSsjIJ77DZfoBQSNKYpkuA6Xt1StCK0xigC8DpdLxA91+lnZnKcvw0WT6/Dn0f2V9iCvw6W/RwJSOucWTltFpyZLiBgHqrFltUALeMI53C+JdgMYhYgRFUVzXofhByI4agDzHBS1aCRhwPjDVtT069b+iD51SBxZlfJCg6UVsUr96KQvasTCyXH6x619LAfCm1BAriGU+YI2PmJzMD1kL7dxbcjECrHDFoFrl1Mmug++Y/uCKa3lo6db+/DN+3lY5ADvkek3gAGs2C9yl7pbO58+/c6zm3yWujquBclS0urt1v5OqiMZSNTqUhqPmbRtKHjj1v5O+9uCOCddWW7tby/IOXqJCg+dwBgAAwq2hyanX8gSLZHJwt5WBCFIW4brs6W4L5X0879146V7+KcR4V0KABPzlyqhLIv2vaImJ6KoleRTbjMNtJJIy5MqZfnKaOUd6PXR3g33JqMgtkBfj/3gC+gclOIjwwGThK8Kgw3eapSj/3r098fQx3TyEjq3lBqY8vwyGRgCbUQeIT7YmoKjQsBhfJFb8EvVGIhGAJZGhpsUFxniBpzcfoxd6lbr5mReCuOyPLoLY3+K7XX1+yCWciIjQodBt48WPwsFoBD5NiqQcfto39Zc6ZnQUNXvmDTFac7hY71U1iEKKBhJFLqYfLS+bOrG2MIN5DkPdqj+/nbt7hfMOXSDVbhXXNb01t/3MWoA2IVbSxsGi2XT/ZJG6zk95C4o6fXW/46bjaBDVVPF5F2Wb0DzLYCnTC6yWXkToFWFqCY1W268MSYo7G35zbf+Po/D9NjLzum8qRBgFUXfrvhuwifQEOBatI9LUVbmnFOEjWNQPRqXu5GHKzcyB3RSv7qCUhi+QebroXQddMp8tvPH4XzvDlJTEJKUeY1xlLi4j/myYkIQPXiQNoKBoAK5ybC7OgQgL0229e//LCxjJtS6+WwsLQgO6Qh1CRgUOlD8Ew5CXUKdQWtFjIV7jd6lZe7lRSXldT9+bV6eI1FQzY3ItjyWdZAk1BjJPYO4ZROqQpPzXP2Aw9CA+EEuX0ZRyrdNuzQbkQFPT5MYMsln6w1IfviSJPZ+3X+SToIR7IArqYjrAddCD/KbbFuWw1+NlbpA0PDcQGX5oVjspNR9C2mwmFL0MjgpXuLFcGLQjGzEuqAUaxauLPKK6bGCp+40drHysslgfFzyolkHSiWZoEjZbD4Iso9zieRkbN/TiFL6Sv+E46zWVzyySZqsAg0LMSHhLtb7gAmxFwPYimbrqPH+hQ8b4wRLXTo1YpZQymlypuESz98/jKdXNjUxlhSd50Y+XtzSaIBMmcuuInhwx/3tl4BJMwGY025gdEfRVEuoJIQfBrbSKDGlpBacE4lB28tl7C7t3HW/F0Ua3Fv1027EnaHkWTfETnyKjQN9HIqhxEDpc9PrnJiTlH94M+/+onfPR6/Hmyg87UJjyPWZD9FZ6pVSbC1Kaiy4hIwxtRrGWAh9TlBkzm6bGiUYrIGHcT5+PIACO15x5+Ex+M7sqb36unmHiMgA/1EIHqosDx/R4nkZDwVg6nuw1OwcJGC2W1DFt9twH+bh3p+e1/780fpsArKvCtLBjEoO3oYF4BMNhwsoyyu+q/8zz/Pw6E9L2zAq7LU7Usbrkud17t/iMqHWfW7DB9u3570/9R4wH6mG5yDfVPAreE6zd7vHywej0IrnBs/Zt0r3XDe9aDRivVeKVhwnbPuQEfkJXTopsHA5cjeeN9BkagSHZOk7veuWw82Q4ZQQjaS/JDwjI5AEYwPZwNgASDG5HCGdd+8h85/Q8Qm3qw66ZqYOeoKmDgWoaURpcqP7C4HaOlHa3+y18029WiAxEtmZje25yf8Lbs/J0iUwWufyLRuVv3JZ2Ar5d7T08Xd1emxoL1yJtbJqE7JKU7ptx2TrisSNmJJ6N5fOnQvvhMnllAtpFfKG0/39Azo7mtVdUPQnCnPUoK1h7farbLlYt8Gf0ffaAF6aFuh373r0PoyfwxB558B6V9AP/t4lMcBFBrpfFA5979JDvQImkyUdX9y72RsnpZhBQJCgzfB795xHHJ0YUKqyNZUD8fK44+J3g71S3WGUPid3nrp3v07Xvosa6WUB0oFCfsnka+OK1PfuV2C8wwup1808rCrccvre/Z7/xg+mBniqXFxGuw5rjMhss9IIAWNovucP9hzybuGQrf+0ytWlnbQ1bjGnZRdGPY6ogYecueIjrlbf0eEZnBB/j8Lh6ZOo4SSObtY0dzDZBmvhPLRahcyaBx2QnC+c3e95p/JuNfvYmW1YvFFoabzhrX30b1FnzOpp5Yt4RA5+zp9v+xPSI0BH67r78HYau2We3mKGbkt4VPRJDW+n5zh29/lt51Sh0YOO4kfuw9tHd/ZVRnd+i3iZVvcaHQW43CMtpxrAMoavCi99D0il9CzAFNIHaqRKFrCsK6lA3bFyiHbvbKzU4dIsazYJPNFLLmmnOvxWXGDppkYhfPhGEkxbSt1PpYtCbH8JpClZOt2mkOFJSQdId4+P/tmNu/6JHkTJPMGUlMFwHxBiD2toYeXO0VL3vlApvPJ9RDmAjEMAJAcZC5MmNpC8BC0gmwneNNt8UeWEcwrTh99Jj5vBGtZmlFUGoZLatjB1FY1u7lW5RPzaS+bjnBBIIQH4YirJz6vjM07ET6itg4xcJVo/vEi9P2/vuHrVABd54QaXCkZeh61JTnsKa9zQRMG3DJr5VnYKrhN1f+JGWNUgeE/JKP64Xb4Bz4F+IUNcdIPmb4CGysBXWp05naovEZP2arqClWEiXbsHNjtDLKNAqxx99kuk6TREMBKLqjwSht3l4X3JWGBFghiONlheh+4cvBsQsXW0Ha2PT+DvS52cNFb6qo4+9TWeb+S/1KZ6/7Uhmx1cEjgnZujPCKGKHjTb1YbrOZmxa40hbp463Po5qMiNS0H2M2ICaDCIsVLEc5DQpjONdRnAXcsgkGcrink7FKwGW70yoK5sJTIMFXUM83ED8+g6TFHxBGbwGR2YDPezaDpiAK3Z4jLJUDJahovm8bpMz22UopoMJsmVSB9yMnMqZGL5B8pqJU0l3qRLxU0A9TPQMKwEDV7R9X8LPI79z51IZgPPhL8wryDnfvLImVjyDYbolSg+cmTYPmDqJsLDKbc9lH7pu6jJWwgnW8q2T2djOuzj2n7trh5cmESgkjs37gOmrh6ihkzZVHQCtY+avHpITAJY0nBDUgkbexClrZ/grCl6XYKO3anbvZZZCScpypg1BTft4qVuKKAgS0n8aJ29C5q8nwCPLKVBTFELw10nvn6oERP9IcPJQh/aGoq9SYXc3wALK3sm+4ShiI1U3MQ9sMCYyERH3dCpPQbenpm3Y/Bijvf4jlRwRwSDSiEH3/9A6v5oLGQmpZI52O+++5Xk3YLHK8MAQ6do7Gc+hrFL3i1ALweEiuWc8+9/IHW34JkEYRRrqDnL97+SvFtwMbV8DBR54MW8hkus621sCSReyp4a7rHTT/CDSyx3Bsi8XO58uC/tseRiZ0GRPwvIRmvoQDaKlj4xeDq01x+FSj1mODtxT+WSDFHI1DMFT5RMtF8MT1hX1gj2WnR1XEjbu6SQ3yR4pAG9edEaM4XkBYW0+XNK35TQKD9RAt+j2rBtdG9IYB0aGDIXAjN7jdiSUXZNjwoYNnRath6Z4aEVHEo/u+VQg4dCA4P22ndi24RepRvnArczpROUGKXB7gqx4QNPFOb49TYA5w88wTGHGXZo54eRaB6qXrFBy4MakBi65KFPlIcBch5ewzwUYnnodeRhGyzkpa2EBZNtPI0QwZbhSFtKTtGIbV8m1IgsQHRcJoP4jPZnh8ccKwVVoK158NR3XWmNi7Lb6FfQlqIHWlDGRfzxQA96A8LxzPRXZELaAN7GUQDucuAO3tpAJZgLOi2XdmNO25mPiBnVaLyOKQTfV4igk3iVuJLeIB/1HMtyWN1CFwUOxz93H+Vn3/2ax/b0o79fUh8E1EW0qboZ1+12n1K3wYXtYIpMvnhK5n60n0Nqggt8xYZ+3492bG/d3I39f3fnZZJ9i0NVusvnuOj6ox2n7qUBm+g65qBYUtCK+dGOnqU43OMxXQZCcPx+JDpZWkhERBNz2k4JMd4ew7U/wVnA6yNkJLpDhUgfw3hrsaOsgX2iNE5xfY8Y0WVBl0YUgoUvklHY+xJq9wparU7OO7jLwckEw2o5WN673YtbFKDjEdA+Nhf6bk67sY929vZfez9OB9xy2kd5tM9YlBpmMYZq4abEafUKuAn45bTd8vBIRa8EMycga/r1sIL7dIJm58sMRmWjRP1JNAGeZTakUUmL8OgHkjh3LbMjOFNTbEwRmvP76D6DidW+DThbN5ILWb6rbJF2bp8WdPIoQkmFOJK5BFByI/6flqa/e0skINTLakBvUn/6cdxzh9G6FTVP7uaQnHAaUIRrRNWRq0yFMO29vX7N/WnaG62ikyd9eq9Ah/cdhDoE62dp5zAEPbBkBsshWuI/+hhgW+ghpq2oYNLjxz51gqy8EAUVzuV/XHc6t1D1czng5chLN3jybwTRrQDqzJ+wjxCRTnKowjm+/3FtcS7RgE403bGu7ex3UDgUJKaPfnE5NIkKB70m+sCuz7HdMzxAtrHIBfMhw2W3paiUXLr/4nKoKQqxVa4pLukxXL8u0ZXlFbwNm/KtSqBD+6UWXbU68LmsyP/amu+d6++SdwnUMmiL+BErHBeQDFR0JL1wLmPcKahk25p2vh7RxM7qyt+FUZMTzl9G2wg+UnvdyemCuFbIEi2HLvgwiYRM49wOjyX5mE4Q+WMUJg96e9ZQUNrvj+9+P3wvMubEaAKF4N1NKdAO7jgjkdPILt3PEqSV4cKZaKKEU3uNmm0CIsJs/t2cFSRRxYg29v7SAJkmvAzG0WGM9meKDeK0elkTOh/e51jOk2YyISo27hwgBJotogzpKbZsi7h3pdJy0oKwM5vEVUlFXNaoCS9yAO0KYU0cSI0VFW1p69hGCKqOjgTUD6YwVPr+GGr3qILs7JFN4SAzoBg7HSSR7CDvQ5KEg5UB4v3sxqSYMXj5NLkgL795P5ewr/Zlqto3Doiegg3i3CEd98gXGShmjXAkuOSgCnyYTIKqsyhDcGVAH3e49fc2zm+BflDzPWzRF3l5qE37pRNEEHPal1zDREZnuQZDHjSPEsqQBRTAVJlzPTTFlEGxbTqleMkUvD/nOeYew7tTUf5FWuiggZl6Xm4YQv4gQpxlp4lTPWNgdKKE9nnxIhF3rQkDjutNaPSaZiM3CevYHawV/TDGJDsHWXgewticlzHry4ddYOC38e7qOJzi0WMGytvcxeh1rNbOwNW+BANTav/2ihM/sFK//AImNxya/xiH8/PUjQd8ae1aJBW+4fq6IeRR01f3i6ShYYqDPXyNCSxcjKjbLoKj5QyoxzjcekzBK/CKzyi05yXREqnJIbRAlMysMAtFqdqIqqvJNy6iDCMFO+nsZnLDa9JxmBdn5NNne7/H+HxXoErjwf3dQVxBMDYXLE2+2cMJli5XMmwyThLbt4xPGF4/+7ZbeAoDYs7USDNE2AXIQVVaBJWsMCRtKSJfIhlmD1p/rx+KFQT1iiFdGN4CCVH+Siq4Fnr/sAfF8zj8jj2soREntp2Od72e79c+As2WsP7RpdMfOUUkaxCyFCKsywK1xWVCbcn47Vkj7yEKpe7QuIx3h57v0/Md02eAr4sSg5FRvRU1xEYK4I0wwXUN19/aeTuWuo3mMoqPWg9fmGdxFgVFeUYBUBDhhaYeo0iAx+WVwBIpPd8DewNRS8iCgovLpB+d8ZHBM3pdDHTc5G4fMEl8iOtwiXgv+o21B7OoCO6DLwiQFEQOQ6x2jd0oU0LIdhTJFf9WorQCyUdDxbPjSN04Ruo8Fui6B9lCFOnSze/t2bshPe9zAr2DXkIZNexNxL22z/sJ/mUyPiCOqNNfIv6jGxddv9X34jmlokMTKqN8qjh6qOk8xXC/BKGSRsbL+DS0LHpugKakCghxrD8DgZoGzpRqp/1J9OTthW+XdwYOw/8ZXtM08ILzDfFf/1bywuCpUPetP/2xI2ilaQCIWvzp2/T/BLA0DUAY/3jB+RY5aEAMnfvJfxM4ecqwAvH8L4qslofo64WXls9beLxluYlOEpYxamy4C3rQiwFSoeriUYByHPxFsVcnnkB8gtICNwmNYx8MDy1MII6ypjik2opSZwrPjZLb4gkCJD6StYgi50FJ8kzNI3RCxkENTzaO0CfDJ7TP+edwat+f13aMlcpz8B3NDxItiPExjElnxhyEhblMpOf67UTTLXQLNxIlbdPtGIfWgSJTyK6MyOlbQWXIszPimeOMVJuFlFzcxnj59fevxw9PNNR9Fz+ziVLvCpyruOPVyoG8Rx0IPe4R53QnikHFVs0LRrGQSWlBdVI9Knq4pcBdhcYoVPSVHlv0TwDtXlvz4zxRDW4P4LENxVcuB9536jgVoJw54Gs5PKYS65zOw074sQgwAG9Xd3TKRGa8Acxvvj1O0Rotym1YxrbWJX5q2YRcjSMoR+/R1t+6t+n5Pp3Gfgn15tVA3/ZlQVlDAUnTa+9AsHAwE0gVsEVt6LctIXymO9z7WD+0hKl2Q7FxqxkCLBIZDPJF+19MDEL3RmS1AnHEZKKqtZnONnTdXX96v/XA5r45c0irSFiz/Jmdhp/d+DU9L5du2u0KwHoR3HYYRIqPbCHGiqLzYrNSODLih2vlL0e3h7E7Pcep/9kdtHs1dbLJt+Hyv4x5rI6piY9NsGr1L92/+5F0bD11ls+1pGUQiZ2UudT8QkFdGd6oI7GTepf6SxG8mSlpaeCDjd1pfpv6i18K3p5jj2mH/vLCW3WwAupww3OO4+GmLfH4bV3j+XA9tjkNuJRuKjSsfNChYiICru+beg5/XVPOBupOve67GHqIUaLAc8NybyUPCRRbkbutgpRDHQ43leQ5tUgXZnb7jsVxQlRbXOC/2GLzyd5OR1aDSrzjK7O1MqXbKgIiuUzOC9pAHbuPsZs+vVhFwm1NA/1qmnHtYiwSD8/53J2fiGQp9Hii5hlQd4k75bBtChxEKDmmtttf4VOqwyJrNm+BTfZ+E/zexGa3pakRl4ZGHn8RhmFWQHC2EJmSTLICoZk6I47JZjOL28Y9m2jS9lEIWshuc/l6G8NKP5KKq/ibN82xAxksDpyeEg4OCk07iEcF6goZhauPXYzoqWAVyCjtewX5Dvfps3/EM1ewzZP3vKSeHDrWDlWl38VGFERLUeOs6EAwhN2H1NPYADAx4sll5A1y5SaPTVXQxu7WeaGfcxcb94GDsuh5VAI/yiikZexuw7zXjW0aYF6KMgF3//KBMN2vwR3RSMqSBYSVlSmpdeJD5WRJbKg30PpbJ6+Wu/NGBV8X6wTh6Q5eCh8t5cSpU1eZxVp7kKQvkfan5OCU5FJLydhqoUyItVVO4ULrz6SrCUAG09nfK0LKJLSGa5YT/CaU2ITiKgOWowWl1a0xjjxRwbhPsLqOAigxYupCwUNw29vdwUf+z0o2W3hjsXeUJgBxA/RXbw6OBTFct3li5EKG4CqR+14fvg4O2nwB1WsNxYz/UfPQIk9AyOzUgc1H7cfu7Tr86sZTNDAFTUu5eMdzwTXWqnmGlk4a9VtJJP7WrZGmr9v7gLgJB/0+icTXvjXS8/FIXB80/yQWX42WWMlbpSdQwQXIGTr1fIVK3KkaNm3JTuhM6xXJu1v07fX02XqNmDimHmpueQ4F0b5iJu8ZyN0KJswcvBRTdz9f+xuarfh9TwWqRdq7ruWvRrqKYTV2VoQG7MG99b/oC5LnIwbBgxF5GZAnlaCxMkoKiKPuPr68VG9mGV5yDiSPAyY2jVxzXIuDZkYUabemgtC9MPaPsqapm5NtTd3zLwNOoxLoWXawM6qQiZvX6BNswgkePQ2Jlrxz6pXnvCMMs79tGt0s5ICKAiwh3F54WNN9Q7DioD+xgFghL9dZdbNNTCiQxcd4jqcuAd3W9ztkfwIccVTXNmhDQzcDBEUa6T/IOl/LX9t/PPrQll94i1N2TbWUciw/aDevcd6H89et/x31OYBYbO3RV7pESTBrrV6qHQVUhwg7m1KAmmz0zIM0HtOTBtBTWw0sQq1Uo8dHah/9rjuNokIHDeHpkACZA8heSOCOAn5Xg1x8paBNLiJNYcV25uibfkaAQwssBcPv8IBsIwNNEMutvMfhV8SugGy/ptN3f+AjYh8WgD+oKXLIO81Fgjf6xnNs/vi8yzB0nbztJdYB7F7KJIwvyM8l1EtogUu3g/6dNEsOuhxPfYr7jBeWRMcLs8lh9oHin/LthAt1dFo0uT0DyhQAYail6VdT3tfkDr8gYJPIjJyLpU7ezKOPlEkdvIS5iNLnbitpecBYyRYA+FvXIdShbnMRE8cWV1DHTh//3F13uh4NaFnmFLfhj790w4dvF2OuC2h/E6YkVmaCVoa9tjw8PQmf9u+G+pmKxk6n9triMEHr6gsFyXAc9RriSEgahGlk1uZ4+rT3wCs1JruRbFzoGqbItrGHdMZoWbn+gK9v4ERBksZu3rGS34sljytpy3mLHd0FsCUVqbRMHOOdrDc8hVuD75UvdC9V6F2mECzBpuTkNgMnOphTv4KUT/32N4VM+OSNzcKkwjnpQXBj8vVn7sHoB39Jj/lkElIWW9Tjk78n7YNKTXNqxOGpFLBURcG5r7AJR4ZS72uCnzeFNIKbSt6fTY2MDufwh6LT1wm2zBVK6UFtmHnXbJfE8pqdprjTOVtBx57Lcdj10KmmWCwKfbHaGiF0w+na8fTp4/XRM9PDTdlqDnaGJZA3f19FXFqvXIFro/ZhsNyYdI30/nUalpIwpgHXutY0Jsx7rBCgbaEQB/Qb2P9Iqj2bV6DjROmVIVxCb6LOADsuRmJF0KCzhbRHuaNh9APJcwUIOGeBh1BxElaDpJrZ8BOiX1dsA1WaReroST0+IACUFOqdiLMjbuTgz859fROxfPb43rfTqs0QK1JA3lbyDzkd908+BT2/5pTXNdLHMG6AlOhbAKb5NtO0kt8I6IXP2FK/sq+9vPkzvF/HdzsVLn4TQIeFL3tLvOWo5f/G7xNU9qUiLGVgL/72Vgx3bUktMeS34tXQe2/p5HtbbLbllm8tHnJ1ZvxhkKrmuYG3MJ3bk+eQRiRip29kHuh8lnORJ49xiYsCgKsKKiHnuXB37U7eF8zn61GJAahMVxyswteFCYnvBRCYqrDd2pqOqtcweyYUSHY31ChpPXwYEwRzKDsOVv9I7DmHMY5wLW1ZbbgPoasdLFseKRWpFxlY8zLa7vYHp3wkYOERjmUl/OuDTKxLUhUKYNFK89dW2Rb86MZ5jCReIXzT2UHqcj974k87z2P//vSQyFFA6vsOv3qSZQAgVkJkznip9t3P7LvWmk9YhlLzIB//7heSnWz1IAs6d/8+dKK7rXv5Ib06yPs9BSuu1w14mdmGdyi6sV8k67wq38c43OaxvXu47HvELnbI1T6I9zP4ISQ9AjWGxRUHz2RtVd0ew727z2m7QW3TkVOZ4zWU1x953n/ch1/IZWygL3Hwso8xhMRTInTXTARruML/K8pf7a39b28GAxyRpGlSkcEGS8cSrxjeYnQHXALGp6yA+cFL+6LvDOOOBuFANYLiOl4hdvaHTtO186Coa4+23TXQgaAuyIfx1kcXZVNgGXNwVNoXq9BYZNkjqzDar0N3ow76QnWoD7k42+vHVgTgPGCGUOgFR7xzajqABpZQhHEANEKYV1nDm6vfMI4sMI4EmWMOdvxFrefan1J+KY0FVv3mSRJQgabmjaJd5JTniYZqVWJGXfE2tY86/OiTECIQfKFE/cnrJo/DmLxenYI66uI7dXMCKaXffidYe1cJ5EeA8qJIYbk369TNP7qvn+3Vg1p23z+YalVBk0MsuevQzK2pesrk+c5JflUBq9TBN7L4tqdl3vQ8fVPLKWXWVdHZm4+7EiwXJC4+oEKfnNhL1RSoEYJhP0e/1eLbVFOExtTNKJTW6AGUkaaFKaqt1y8EG1FfLXmv3v/APMwPzNNynaeFJyzyMBlVzpJwqZRGJ3+hA3OQ6fri/dzfb91tGL/S+5DutRQUa7dGWms3hFCpy8yp2NMeiV/oir8MMkyVNJwznoYssc7d3PbY3QStcxFbOeimLIESWa9+cqF7dJD7L2GSqa12g//m3qQetr5D4T08+PKWODtYhp4Ni9uvqPsXQX9GVKKlS1YEOKyYghRhelFQgvp6Er55FJgT+NBL/dADTkeoPhmvTHdxE89NBw+Q54oiIhOUDujkSI1bCRSfa4S8giVOCrrP4TWnJIgV5YTnpLFNYeeuhF1k+De7xEqckg4YBnQVT/iWMMn3W3f7qez26/jE+60/1zCSq3ius8TZvd96qxKyivTQC4qfWcPpMvLWzZ8Dtrz1RiEOwYbiOqf+1nv6cyQRV4AgVEXxGVMsv24LoGiG0ZCt+fd36yMkdAHa2tzJccJxY67JeAc90tvU3X0eAfetAsXUcNt4s3IYI6NrkHkO1Y0phPFdUoUoH8tXu+3YfTzvOwGcChphGZ8CDeP8WmciHp5G8jVhVGzcRrEQskzB64BhnLXwYdShzUH/XUaWjpfDVJtOr/6ioWhKAVEdLI86JpEZ1q+WnKcpZcp2sM7p6AnNXd27abYMjSq+QLyENq5OnERKyRyM1Xa+dwamfhmlyqyIRPyMoRFswqtindnqCGl2i3lSJdZ6tcjF1VLpSz1saxkHCLfMNpuwWOBLWhE7tA1fPpaTTxYWBhxDG8E8Ot5yeHRdpNcPBhi24Y395dBLd9+TVU0Gq0MtfFBDWYFRtHP30e6GOEYTPUwj3g2OQ5yWqPOQBm6VYIbS8LVPRUk0pUsHjkK8rfaPt7Buz+0j5ttVut/hKiosARH+OornIB69sPGEjw1Urys+L52ix60XbD4L9gOcdjy/vbD95zfpFCPQQJ2E8BtzXmXPLW5Nlc7GmsCEME7oZJwpsMR6E9WC6LsAxjS1Rlm8onBt0ZAOe9A22WkIVUD6lk2a5gfzgFW0BRVz3miYh8d1ca7xZIvr1etgRQ1EmDHxrl6ifAUIhVi61VJPSOpgwnJpjEiH2kx275BY2ExgdEYo0C4U7daFJdk5UWmU5qsrBF9eUHz56yL+ivCaTuNGLRfxlMP3gotOCwRYjnB/hVgHsNfuJ2KRDDgs8+02BNkLDMIgn/dMXgH2C0wDBtq5UKjzTXmfz6fXqAs9E29OCTzIg290C+D/WzTjduDw4aiaWQiTEpSHnrFYzTmqsiuxHl/LLuNr4Ghu7pV+IcH49rxUrJ01mAPdFO5I+Ap2Hn7dPXXAz734CYK+neUtmYOYew8zAJJbjgbdB03ZxoJSHbdIekXbS9848LK1RwupD+AFJUXN+eDGAROYVwBHQRN3Dri2fCQqUZ/j9eAc4cJ5NzIZbf/+gUIcd4OCcKkHChRgQwVeXnH2EwGQlbO877YdvwN2WSA1f7ue+hipO+xAio6bnkZhErcWWEG8Olvj+G27vV5TsxoHMqIH08It0tEThw+Zd4BSwfZYFwfIPPvdTujDpV4fkJU2lOKiorxk55PDLcA2WcuRcms4IbDwr66ANZ8KKdKACU9I+GCo4CGPmDK2gA+AI5+imK9bmJiRlsB14qiuEDAhVQDtOMOhqmuIA88NgNJxSMEaR4k9pL9xWJO/23ajaIlvChZl6ijxCpfoWhSglFzzWv0V4fnuT8LDROfuEl0bpPiWN+/WUM8HbP4JbqKxkNAZDglNRkzef5D9t7xOphH3zwD8Li0HischU1fsDKzdVFB9ATysetLzF2LuCt19qUIHpz7c/rvUAFYPr0PlWx881bFrb8sBKoqF9z3MmO3BBz12MfQEeI8FVUed5rE/zc97DI8GeESY+DtuEqbifHbXR7wYgCSQcNooEdhHu0N1UGs6prEyFrMygHJbiSlkn+Pr9lCfJKcK2ioiJ3YwBpq/oslCZsAxKJyaqaTqrsTzoFKCVeFRc8Z/ZKTgdBJ80AN+vifkugDEaAuqxfhSt0S4XgXINBOYDsaEgbURRVjjhIu32VFmMjTaSr1MwAUZJdzKyaT8KHQ/L+OJhFbrjHsuZQ3uDLwZp4Ik1OThXIQJbQ7YHypeDEuH/qu4fFu+tD/f536+xphbEFLn/cLn0v+ItY4hpypyIbZwMMLzfvHCZFGgAqSgKurjOP3srtjQq0A3hCusrEfupGqBosMxbb+8atj8jBw0AbNiD+h9v67D/ZI6HhDUvOL6ukNvuDIgumJktduMG3MZqvEX/ut+inWgGrghsvSYRhhlbtNB41ORr/spgOHw9ddswDBTMwWltPtAu8ZBCdPSTXSaM5N8FDKQ0z3dwPZuRMa1DBJf5oAhCtEjPWL9nPKA0zVcMskHe60bEd8H5JyFj1tJ67bmrY6v++nhA0bT8ga497mw3rkM0/R1n9uIJwGfQC0kgIbPcr+mubsJwBofhx4WKCW7jcTJTm3eKZoVYC0igkK2Po5x6mLNByDI1LRDuxwd81BAUZkW1nM7Xgg8EQUSmk17OCSAztFlYw0b55E1AJCtZBx2u9/CbNpm88JmcCWtc7ffa6dpOPU7Td4aBCmsjL1LWoxvIfFzyGGOIWInVr7XQvS7CklUhdPgSrrizF5O7T5ch6giKwF/3tAhZ0wWsHoK7kT/ugyzFytgVlsJe7UWk7NaJt61HFGLKGMtSWItko11KVPwTW07SADYRug+jRDlREPVihS+FR0CK6xn21CjCH/R7bW/RAQ3gGVUdAgxL9LQcx+79JkCOsx1ua0tbKlbR8svW9a9Z1sJAPSGlqw+TJrdUjSoiEM/PR8htVrCWlId3ZJ5SOEBHDDb6EqtA6Rm7eAURncjHSU5a6/hm6BX09883ejt3E/JWa7umzjugeTD4OQLppmOVmL+wGlubzCONQ5Y07mQ1nLaKfBx/juykjBA6OUv5i7xzjRT0AgfzWb8pRjacWxhWar0HWhEUdltkCraht0xZIwGYBhBrue05loiDOPps1t6WJikFVo6qgpLcM0/OR8sRURqoMQPGOXjOGksvaZLVCHFqylSb9/HcZoHLXYgovnBRV8IsUY3zGtKbItgBKbIAZ9Iq/t5ePSnKB/RqC6Xha3fZbTbOQ/7rkuuQZYcWDgPc3v1FPmorw+SpFy1MeYHQKlZHtyt+ZECWAI/4z8Bu3Fw7o+FVpBAzTvNwy0oTmkhjin+Jd4F2Nl4MvEin8VMYE2xNOKb4CxtbG3cSt8tjbYkUBejYvwhxGO3q2bQGquddHUkT9mchwzfJHT8NOJMv3emqaVjeBzzw6skpYYaMA6i3KcQ4zEOF1/j7f1XHMgdWgo5C5HG7pz6LKD1TTsRIcjcTj+i64FhFCUW6gB7dJQDmrjli+MSZRhvl7F9fP5z/eivi/T8uZuHzVck0icEDTlH5QSX2Nd27nbE2wzEZoXYaCsxJRUpJsdBHRCfvGnI/t9KLbrC65iJhAvW7IanODpMKuPKgVzNa9Gx9czjvVh8BYpbmRhZl5SNEFPdCv0UqwD79IP78FexVZShj5ILmiyXro+yqW6khyNmYlIWmVqo+rW4uNSCzK4raYBIK6SRUslIQSOGGlYYcLY2219SegmKrRbXIiU8LFX3liAZ6U6I+ayzRv7a9PAaqT5FcrnkqffXo1tFZJ5eoeLWRvBsDaqXopcrvfhwu0YAfE1W3nLOKPFRcLKl3sZw8///NGN53j2D2teMfuU7v70Gin03vSXSET1XlMZKTiHyTy8Hcv3q75eERCsMncMFSY4TOrhFMOyzmbz/RqDulrJ+luHdj+4r2jzBckIwnpTG/Lz3/zzx5SuggyMJQkHLjZeGwmvDSeoOa9qAvATO0bz8eZ/aj8gSHO5nQ7liz3ty/mWAQOIy2jV+Ps7R3tug/q8VqPTWjTOyltDMdY27ZZ070Wl123OaOK1Rzi1CuQGQnlEM+Hrw7aN9JA2cQFiiDIt2JWu7odrLicB7sp5+r0T4qaKt1zVmUtpcYzDKsNFV4vZlKCgTY+5PURcQZUhYKjqnWcPt1HJysMUoaOthPRy0YPAydTUXGoVcFyMRLnGFOmYhD+FfxEzSJ/VUmyoEp4LtuZSaEyN7Q0Xr4ERQ3Ag1cqUMpUklipSGgm1TkRM3VJMLQzelorV3KmjyjmouaP0v3qCElztI25UhCeT8mQ29A/uChXGu7FVWFKscTU8iiBEWNsAM3Rwh3cGDEfBzCp4I4leW9iN2UdJQKgBg0tFZMlgCRQXIyYOF4QDd7QDNaWW84A52tBDuwB2oAEyWPF3O1NxHTZ4sVK0yAeFO3GvYXRHtwOjT0ubOc7zi16/7giFvFRaMjGuteJW5TGZRWS0JIB2oP8drUqQJuEz8TR6v0WClBLQFpSI9p4X2cvUfftfdz4+h30n6AFyV2u74xQMRDMAUD/Mu44S0ImoHjptR+ahvj2G4vq12T2/YKNNFt9zunHbbtmhRGJ0yOQlDn1UIg1AAnU0YLie/HK1J9m+7okv3sUVZ/SCX8+v2pbvPr17mIp/vIacDOn3XQN63lPcu8abnR4ReBoEnJ2wxsbt1hjZ9aH7iNMYvpx1OOD6WydQNujwUPXmoW8Q2sKKA0zh6pMUML8jRe5FOHvRYQcwmbQAF5qFezbfG9eF3FnWLQXNqI0u//sgD8TkPShllJiuYEKUzJ0vq0WIxxi0GgLuF+x7q+TxMcwR6kodqNQ8rZh7aJ3lAlpRyg5zID3GTtHBShN2qJ9QiXJTTzqGP5r/sdbWJ1J41mjXbntTR7fKxUssqeLdLU8nwiusVKzojKNekhcW7DNPS5f7YCWIA0HBrrclbIlxQOo72oRMeA7oQEq9WU4gHa0npD0tABL3meqhdULWo5xzNc0ymC1KztYeceIsVlKL10+CtgtSrpL2MnxYPA9VYrhf6szgwAwfHuWCgYEpKjf5Zrq8xdlC0Lx9Nf8Kh0zSu6nSxxaLuwzj6KFSYhNsisORcaF85R6GlP9trvxTeqdtTlZBwCNappFXPLtyiPoIxYeGmYJBXJD/Xiqod8PYt6Ob4CjCMKYUWBAJTcNtPr6wXZc36tc/DJiNNWrdBAA6u7Jm+36UusBtROizpnG0JFW2LkJDI4KCp5F0QLYuSTmbWuN0/zzYahMB6TRvnP9ux3wH7rAU0+JbJv85QtlljN7UNSfMNTa1+duP7EEvdw3Qx5893yRn9qR6lQmDFUIqOIoW8LFG/ZByORY/uSYSWfiVzIEMrxShootuhhcmCZFBFh5FRvFSjQy+wxdH9jxHCKHMi465cvFgaJ0MkScat+NfkZmts04V4/dUobbM5ELZoev+z9z5PezFtB2y0nO8pQx8bVxijW4um2dCDUkU5Wv78fHZ/o2yGprIbbjK6HLjD54M6Ap2W/Wr7+WMYew85v3zOg5/FINRG3cyaFl+/2jF6+MAjljzVch8qH6K/X7zs3vQ5XCNKWg2qCnRj/NW9JxWjweCPJlu/+nPUESpgbFxR4uVSGo7dMrpqo/oVH+JBAE/snT763zjxstrCzIUb6RwVMPShhud898Ll6Mmjb6LsBaas6FVFjX1TApOups6Bi2snHmkB8Uhb9r/GPs1qtkCuMrSYQtgoIMVstSF8aUUQ6elB263aBtu0Fvhqf0UdI8hQ0yih//pf/3n0j+7a37v//O//81//8z//FwegvrUZiBAA"; \ No newline at end of file diff --git a/docs/api/interfaces/aws_amplify.storage._Reference_Types_.ContentDisposition.html b/docs/api/interfaces/aws_amplify.storage._Reference_Types_.ContentDisposition.html new file mode 100644 index 00000000000..b002caf2874 --- /dev/null +++ b/docs/api/interfaces/aws_amplify.storage._Reference_Types_.ContentDisposition.html @@ -0,0 +1,6 @@ +ContentDisposition | Amplify JS API Documentation +

                  Represents the content disposition of a file.

                  +
                  interface ContentDisposition {
                      filename?: string;
                      type: "attachment" | "inline";
                  }

                  Properties

                  Properties

                  filename?: string
                  type: "attachment" | "inline"
                  \ No newline at end of file diff --git a/docs/api/modules/_aws_amplify_adapter_nextjs.html b/docs/api/modules/_aws_amplify_adapter_nextjs.html index 7d4223a8876..bfad09670d7 100644 --- a/docs/api/modules/_aws_amplify_adapter_nextjs.html +++ b/docs/api/modules/_aws_amplify_adapter_nextjs.html @@ -1,5 +1,5 @@ -@aws-amplify/adapter-nextjs - v1.2.11 | Amplify JS API Documentation -

                  Module @aws-amplify/adapter-nextjs - v1.2.11

                  This package contains the AWS Amplify Next.js Adapter. For more information on using Next.js in your application please reference the Amplify Dev Center.

                  +@aws-amplify/adapter-nextjs - v1.2.12 | Amplify JS API Documentation +

                  Module @aws-amplify/adapter-nextjs - v1.2.12

                  This package contains the AWS Amplify Next.js Adapter. For more information on using Next.js in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  api index utils diff --git a/docs/api/modules/_aws_amplify_datastore_storage_adapter.html b/docs/api/modules/_aws_amplify_datastore_storage_adapter.html index aeaef63048c..6eb8d579f0c 100644 --- a/docs/api/modules/_aws_amplify_datastore_storage_adapter.html +++ b/docs/api/modules/_aws_amplify_datastore_storage_adapter.html @@ -1,5 +1,5 @@ -@aws-amplify/datastore-storage-adapter - v2.1.43 | Amplify JS API Documentation -

                  Module @aws-amplify/datastore-storage-adapter - v2.1.43

                  This package contains the AWS Amplify DataStore storage adapter. For more information on using the DataStore storage adapter in your application please reference the Amplify Dev Center.

                  +@aws-amplify/datastore-storage-adapter - v2.1.44 | Amplify JS API Documentation +

                  Module @aws-amplify/datastore-storage-adapter - v2.1.44

                  This package contains the AWS Amplify DataStore storage adapter. For more information on using the DataStore storage adapter in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  ExpoSQLiteAdapter/ExpoSQLiteAdapter SQLiteAdapter/SQLiteAdapter index diff --git a/docs/api/modules/_aws_amplify_geo.html b/docs/api/modules/_aws_amplify_geo.html index 98971ffa254..3c93d63ded2 100644 --- a/docs/api/modules/_aws_amplify_geo.html +++ b/docs/api/modules/_aws_amplify_geo.html @@ -1,5 +1,5 @@ -@aws-amplify/geo - v3.0.41 | Amplify JS API Documentation -

                  Module @aws-amplify/geo - v3.0.41

                  This package contains the AWS Amplify Geo category. For more information on using Geo in your application please reference the Amplify Dev Center.

                  +@aws-amplify/geo - v3.0.42 | Amplify JS API Documentation +

                  Module @aws-amplify/geo - v3.0.42

                  This package contains the AWS Amplify Geo category. For more information on using Geo in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  \ No newline at end of file diff --git a/docs/api/modules/_aws_amplify_interactions.html b/docs/api/modules/_aws_amplify_interactions.html index e5f1f9d8218..b41a78f5522 100644 --- a/docs/api/modules/_aws_amplify_interactions.html +++ b/docs/api/modules/_aws_amplify_interactions.html @@ -1,5 +1,5 @@ -@aws-amplify/interactions - v6.0.40 | Amplify JS API Documentation -

                  Module @aws-amplify/interactions - v6.0.40

                  This package contains the AWS Amplify Interactions category. For more information on using Interactions in your application please reference the Amplify Dev Center.

                  +@aws-amplify/interactions - v6.0.41 | Amplify JS API Documentation +

                  Module @aws-amplify/interactions - v6.0.41

                  This package contains the AWS Amplify Interactions category. For more information on using Interactions in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  index lex-v1 lex-v2 diff --git a/docs/api/modules/_aws_amplify_predictions.html b/docs/api/modules/_aws_amplify_predictions.html index 39d97ff50aa..4943636b01e 100644 --- a/docs/api/modules/_aws_amplify_predictions.html +++ b/docs/api/modules/_aws_amplify_predictions.html @@ -1,5 +1,5 @@ -@aws-amplify/predictions - v6.1.16 | Amplify JS API Documentation -

                  Module @aws-amplify/predictions - v6.1.16

                  This package contains the AWS Amplify Predictions category. For more information on using Predictions in your application please reference the Amplify Dev Center.

                  +@aws-amplify/predictions - v6.1.17 | Amplify JS API Documentation +

                  Module @aws-amplify/predictions - v6.1.17

                  This package contains the AWS Amplify Predictions category. For more information on using Predictions in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  Interfaces

                  IdentifyEntitiesInput IdentifyEntitiesOutput diff --git a/docs/api/modules/_aws_amplify_pubsub.html b/docs/api/modules/_aws_amplify_pubsub.html index a78e371b8a5..33863b07784 100644 --- a/docs/api/modules/_aws_amplify_pubsub.html +++ b/docs/api/modules/_aws_amplify_pubsub.html @@ -1,5 +1,5 @@ -@aws-amplify/pubsub - v6.1.16 | Amplify JS API Documentation -

                  Module @aws-amplify/pubsub - v6.1.16

                  This package contains the AWS Amplify PubSub category. For more information on using PubSub in your application please reference the Amplify Dev Center.

                  +@aws-amplify/pubsub - v6.1.17 | Amplify JS API Documentation +

                  Module @aws-amplify/pubsub - v6.1.17

                  This package contains the AWS Amplify PubSub category. For more information on using PubSub in your application please reference the Amplify Dev Center.

                  Index

                  Modules

                  clients/iot clients/mqtt index diff --git a/docs/api/modules/aws_amplify.html b/docs/api/modules/aws_amplify.html index e3110bd5e04..f1c5ba35f36 100644 --- a/docs/api/modules/aws_amplify.html +++ b/docs/api/modules/aws_amplify.html @@ -1,5 +1,5 @@ -aws-amplify - v6.4.4 | Amplify JS API Documentation -

                  Module aws-amplify - v6.4.4

                  AWS Amplify Package - aws-amplify

                  AWS Amplify is a JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends.

                  +aws-amplify - v6.5.0 | Amplify JS API Documentation +

                  Module aws-amplify - v6.5.0

                  AWS Amplify Package - aws-amplify

                  AWS Amplify is a JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends.

                  Documentation is available here.

                  Index

                  Modules

                  adapter-core analytics diff --git a/docs/api/modules/aws_amplify.storage._Reference_Types_.html b/docs/api/modules/aws_amplify.storage._Reference_Types_.html index 7841b8fbd21..17840595975 100644 --- a/docs/api/modules/aws_amplify.storage._Reference_Types_.html +++ b/docs/api/modules/aws_amplify.storage._Reference_Types_.html @@ -2,6 +2,7 @@

                  Index

                  Classes

                  Interfaces

                  BytesRangeOptions CommonOptions +ContentDisposition ItemBase StorageCopyInputWithKey StorageGetUrlOutput diff --git a/docs/api/types/aws_amplify.auth._Reference_Types_.JsonArray.html b/docs/api/types/aws_amplify.auth._Reference_Types_.JsonArray.html index 295b38c5fec..42e95a6893e 100644 --- a/docs/api/types/aws_amplify.auth._Reference_Types_.JsonArray.html +++ b/docs/api/types/aws_amplify.auth._Reference_Types_.JsonArray.html @@ -1,3 +1,3 @@ JsonArray | Amplify JS API Documentation -
                  JsonArray: JsonPrimitive[]

                  JSON array type

                  +
                  \ No newline at end of file diff --git a/docs/api/types/aws_amplify.storage._Reference_Types_.GetUrlOptions.html b/docs/api/types/aws_amplify.storage._Reference_Types_.GetUrlOptions.html index 6c6969c4e2d..184c49ff314 100644 --- a/docs/api/types/aws_amplify.storage._Reference_Types_.GetUrlOptions.html +++ b/docs/api/types/aws_amplify.storage._Reference_Types_.GetUrlOptions.html @@ -1,6 +1,13 @@ GetUrlOptions | Amplify JS API Documentation -
                  GetUrlOptions: CommonOptions & {
                      expiresIn?: number;
                      validateObjectExistence?: boolean;
                  }

                  Input options type for S3 getUrl API.

                  -

                  Type declaration

                  • Optional expiresIn?: number

                    Number of seconds till the URL expires.

                    +
                    GetUrlOptions: CommonOptions & {
                        contentDisposition?: ContentDisposition | string;
                        contentType?: string;
                        expiresIn?: number;
                        validateObjectExistence?: boolean;
                    }

                    Input options type for S3 getUrl API.

                    +

                    Type declaration

                    • Optional contentDisposition?: ContentDisposition | string

                      The default content-disposition header value of the file when downloading it. + If a string is provided, it will be used as-is. + If an object is provided, it will be used to construct the header value + based on the ContentDisposition type definition.

                      +
                    • Optional contentType?: string

                      The content-type header value of the file when downloading it.

                      +
                    • Optional expiresIn?: number

                      Number of seconds till the URL expires.

                      Default

                      900 (15 minutes)
                       
                    • Optional validateObjectExistence?: boolean

                      Whether to head object to make sure the object existence before downloading.

                      diff --git a/docs/api/types/aws_amplify.storage._Reference_Types_.UploadDataOptions.html b/docs/api/types/aws_amplify.storage._Reference_Types_.UploadDataOptions.html index c5c5dda0599..decf8e0f46f 100644 --- a/docs/api/types/aws_amplify.storage._Reference_Types_.UploadDataOptions.html +++ b/docs/api/types/aws_amplify.storage._Reference_Types_.UploadDataOptions.html @@ -1,5 +1,8 @@ UploadDataOptions | Amplify JS API Documentation -
                      UploadDataOptions: CommonOptions & TransferOptions & {
                          contentDisposition?: string;
                          contentEncoding?: string;
                          contentType?: string;
                          metadata?: Record<string, string>;
                      }

                      Type declaration

                      • Optional contentDisposition?: string

                        The default content-disposition header value of the file when downloading it.

                        +
                        UploadDataOptions: CommonOptions & TransferOptions & {
                            contentDisposition?: ContentDisposition | string;
                            contentEncoding?: string;
                            contentType?: string;
                            metadata?: Record<string, string>;
                        }

                        Type declaration

                        • Optional contentDisposition?: ContentDisposition | string

                          The default content-disposition header value of the file when downloading it. + If a string is provided, it will be used as-is. + If an object is provided, it will be used to construct the header value + based on the ContentDisposition type definition.

                        • Optional contentEncoding?: string

                          The default content-encoding header value of the file when downloading it.

                          See

                          https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding

                          From c39a60b06383b4ac1560ac92b648bbbc9efbeea2 Mon Sep 17 00:00:00 2001 From: ashika112 Date: Wed, 7 Aug 2024 16:48:50 -0700 Subject: [PATCH 21/21] update bundle size --- packages/aws-amplify/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index b8bfbfdab10..2568e930d7e 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -479,7 +479,7 @@ "name": "[Storage] getUrl (S3)", "path": "./dist/esm/storage/index.mjs", "import": "{ getUrl }", - "limit": "15.79 kB" + "limit": "15.90 kB" }, { "name": "[Storage] list (S3)", @@ -497,7 +497,7 @@ "name": "[Storage] uploadData (S3)", "path": "./dist/esm/storage/index.mjs", "import": "{ uploadData }", - "limit": "19.85 kB" + "limit": "19.90 kB" } ] }