@aws-amplify/core 6.0.1-console-preview.deaebd5.0 → 6.0.1-console-preview.b5a42af.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/lib/AwsClients/CognitoIdentity/getCredentialsForIdentity.d.ts +2 -1
  2. package/lib/AwsClients/CognitoIdentity/getId.d.ts +2 -1
  3. package/lib/AwsClients/Pinpoint/getInAppMessages.d.ts +3 -2
  4. package/lib/AwsClients/Pinpoint/putEvents.d.ts +3 -2
  5. package/lib/AwsClients/Pinpoint/updateEndpoint.d.ts +3 -2
  6. package/lib/Cache/AsyncStorageCache.d.ts +1 -1
  7. package/lib/Cache/AsyncStorageCache.js +20 -22
  8. package/lib/Platform/version.d.ts +1 -1
  9. package/lib/Platform/version.js +1 -1
  10. package/lib/Reachability/Reachability.native.d.ts +2 -2
  11. package/lib/clients/handlers/fetch.js +2 -1
  12. package/lib/clients/middleware/signing/signer/signatureV4/index.native.d.ts +0 -1
  13. package/lib/clients/middleware/signing/signer/signatureV4/index.native.js +2 -1
  14. package/lib/clients/types/http.d.ts +16 -0
  15. package/lib/libraryUtils.d.ts +1 -1
  16. package/lib/parseAWSExports.js +24 -8
  17. package/lib/providers/pinpoint/index.d.ts +1 -0
  18. package/lib/providers/pinpoint/index.js +3 -0
  19. package/lib/singleton/API/types.d.ts +66 -29
  20. package/lib/singleton/Auth/utils/index.js +1 -1
  21. package/lib/singleton/Notifications/InAppMessaging/types.d.ts +2 -0
  22. package/lib/singleton/Notifications/InAppMessaging/types.js +4 -0
  23. package/lib/singleton/Notifications/types.d.ts +4 -0
  24. package/lib/singleton/Notifications/types.js +4 -0
  25. package/lib/singleton/types.d.ts +2 -0
  26. package/lib/storage/DefaultStorage.native.d.ts +2 -2
  27. package/lib/storage/DefaultStorage.native.js +3 -24
  28. package/lib/tsconfig.tsbuildinfo +1 -1
  29. package/lib/utils/globalHelpers/index.native.d.ts +0 -1
  30. package/lib/utils/globalHelpers/index.native.js +2 -1
  31. package/lib-esm/AwsClients/CognitoIdentity/getCredentialsForIdentity.d.ts +2 -1
  32. package/lib-esm/AwsClients/CognitoIdentity/getId.d.ts +2 -1
  33. package/lib-esm/AwsClients/Pinpoint/getInAppMessages.d.ts +3 -2
  34. package/lib-esm/AwsClients/Pinpoint/putEvents.d.ts +3 -2
  35. package/lib-esm/AwsClients/Pinpoint/updateEndpoint.d.ts +3 -2
  36. package/lib-esm/Cache/AsyncStorageCache.d.ts +1 -1
  37. package/lib-esm/Cache/AsyncStorageCache.js +2 -1
  38. package/lib-esm/Platform/version.d.ts +1 -1
  39. package/lib-esm/Platform/version.js +1 -1
  40. package/lib-esm/Reachability/Reachability.native.d.ts +2 -2
  41. package/lib-esm/clients/handlers/fetch.js +2 -1
  42. package/lib-esm/clients/middleware/signing/signer/signatureV4/index.native.d.ts +0 -1
  43. package/lib-esm/clients/middleware/signing/signer/signatureV4/index.native.js +2 -1
  44. package/lib-esm/clients/types/http.d.ts +16 -0
  45. package/lib-esm/libraryUtils.d.ts +1 -1
  46. package/lib-esm/parseAWSExports.js +24 -8
  47. package/lib-esm/providers/pinpoint/index.d.ts +1 -0
  48. package/lib-esm/providers/pinpoint/index.js +1 -0
  49. package/lib-esm/singleton/API/types.d.ts +66 -29
  50. package/lib-esm/singleton/Auth/utils/index.js +1 -1
  51. package/lib-esm/singleton/Notifications/InAppMessaging/types.d.ts +2 -0
  52. package/lib-esm/singleton/Notifications/InAppMessaging/types.js +3 -0
  53. package/lib-esm/singleton/Notifications/types.d.ts +4 -0
  54. package/lib-esm/singleton/Notifications/types.js +3 -0
  55. package/lib-esm/singleton/types.d.ts +2 -0
  56. package/lib-esm/storage/DefaultStorage.native.d.ts +2 -2
  57. package/lib-esm/storage/DefaultStorage.native.js +3 -24
  58. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  59. package/lib-esm/utils/globalHelpers/index.native.d.ts +0 -1
  60. package/lib-esm/utils/globalHelpers/index.native.js +2 -1
  61. package/package.json +3 -9
  62. package/src/Cache/AsyncStorageCache.ts +2 -1
  63. package/src/Platform/version.ts +1 -1
  64. package/src/Reachability/Reachability.native.ts +4 -2
  65. package/src/clients/handlers/fetch.ts +5 -1
  66. package/src/clients/middleware/signing/signer/signatureV4/index.native.ts +3 -1
  67. package/src/clients/types/http.ts +18 -0
  68. package/src/libraryUtils.ts +1 -1
  69. package/src/parseAWSExports.ts +38 -7
  70. package/src/providers/pinpoint/index.ts +1 -0
  71. package/src/singleton/API/types.ts +77 -26
  72. package/src/singleton/Auth/utils/index.ts +1 -1
  73. package/src/singleton/Notifications/InAppMessaging/types.ts +6 -0
  74. package/src/singleton/Notifications/types.ts +8 -0
  75. package/src/singleton/types.ts +2 -1
  76. package/src/storage/DefaultStorage.native.ts +6 -26
  77. package/src/utils/globalHelpers/index.native.ts +3 -1
  78. package/polyfills/URL/index.ts +0 -14
  79. package/polyfills/URL/tsconfig.json +0 -10
  80. package/polyfills/URL/webpack.config.js +0 -43
@@ -1,4 +1,3 @@
1
- import 'react-native-get-random-values';
2
1
  import { encode, decode } from 'base-64';
3
2
  export declare const getCrypto: () => Crypto;
4
3
  export declare const getBtoa: () => typeof encode;
@@ -3,9 +3,10 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.getAtob = exports.getBtoa = exports.getCrypto = void 0;
6
- require("react-native-get-random-values");
6
+ var react_native_1 = require("@aws-amplify/react-native");
7
7
  var base_64_1 = require("base-64");
8
8
  var errors_1 = require("../../errors");
9
+ (0, react_native_1.loadGetRandomValues)();
9
10
  var getCrypto = function () {
10
11
  if (typeof crypto !== 'undefined' &&
11
12
  typeof crypto.getRandomValues === 'function') {
@@ -14,8 +14,9 @@ export declare const getCredentialsForIdentity: (config: {
14
14
  userAgentValue?: string | undefined;
15
15
  cache?: "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload" | undefined;
16
16
  } & {
17
- region: string;
18
17
  abortSignal?: AbortSignal | undefined;
18
+ withCrossDomainCredentials?: boolean | undefined;
19
19
  maxAttempts?: number | undefined;
20
20
  userAgentHeader?: string | undefined;
21
+ region: string;
21
22
  }, input: GetCredentialsForIdentityInput) => Promise<GetCredentialsForIdentityOutput>;
@@ -14,8 +14,9 @@ export declare const getId: (config: {
14
14
  userAgentValue?: string | undefined;
15
15
  cache?: "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload" | undefined;
16
16
  } & {
17
- region: string;
18
17
  abortSignal?: AbortSignal | undefined;
18
+ withCrossDomainCredentials?: boolean | undefined;
19
19
  maxAttempts?: number | undefined;
20
20
  userAgentHeader?: string | undefined;
21
+ region: string;
21
22
  }, input: GetIdInput) => Promise<GetIdOutput>;
@@ -13,11 +13,12 @@ export declare const getInAppMessages: (config: {
13
13
  computeDelay?: ((attempt: number) => number) | undefined;
14
14
  userAgentValue?: string | undefined;
15
15
  } & {
16
- credentials: import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity | (() => Promise<import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity>);
17
- region: string;
18
16
  abortSignal?: AbortSignal | undefined;
19
17
  cache?: RequestCache | undefined;
18
+ withCrossDomainCredentials?: boolean | undefined;
20
19
  maxAttempts?: number | undefined;
21
20
  userAgentHeader?: string | undefined;
22
21
  uriEscapePath?: boolean | undefined;
22
+ credentials: import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity | (() => Promise<import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity>);
23
+ region: string;
23
24
  }, input: GetInAppMessagesInput) => Promise<GetInAppMessagesOutput>;
@@ -13,11 +13,12 @@ export declare const putEvents: (config: {
13
13
  computeDelay?: ((attempt: number) => number) | undefined;
14
14
  userAgentValue?: string | undefined;
15
15
  } & {
16
- credentials: import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity | (() => Promise<import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity>);
17
- region: string;
18
16
  abortSignal?: AbortSignal | undefined;
19
17
  cache?: RequestCache | undefined;
18
+ withCrossDomainCredentials?: boolean | undefined;
20
19
  maxAttempts?: number | undefined;
21
20
  userAgentHeader?: string | undefined;
22
21
  uriEscapePath?: boolean | undefined;
22
+ credentials: import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity | (() => Promise<import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity>);
23
+ region: string;
23
24
  }, input: PutEventsInput) => Promise<PutEventsOutput>;
@@ -13,11 +13,12 @@ export declare const updateEndpoint: (config: {
13
13
  computeDelay?: ((attempt: number) => number) | undefined;
14
14
  userAgentValue?: string | undefined;
15
15
  } & {
16
- credentials: import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity | (() => Promise<import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity>);
17
- region: string;
18
16
  abortSignal?: AbortSignal | undefined;
19
17
  cache?: RequestCache | undefined;
18
+ withCrossDomainCredentials?: boolean | undefined;
20
19
  maxAttempts?: number | undefined;
21
20
  userAgentHeader?: string | undefined;
22
21
  uriEscapePath?: boolean | undefined;
22
+ credentials: import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity | (() => Promise<import("@smithy/types/dist-types/identity/awsCredentialIdentity").AwsCredentialIdentity>);
23
+ region: string;
23
24
  }, input: UpdateEndpointInput) => Promise<UpdateEndpointOutput>;
@@ -1,6 +1,6 @@
1
- import AsyncStorage from '@react-native-async-storage/async-storage';
2
1
  import { StorageCache } from './StorageCache';
3
2
  import { CacheConfig, CacheItem, CacheItemOptions, ICache } from './types';
3
+ declare const AsyncStorage: import("@react-native-async-storage/async-storage").AsyncStorageStatic;
4
4
  export declare class AsyncStorageCache extends StorageCache implements ICache {
5
5
  /**
6
6
  * initialize the cache
@@ -51,13 +51,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
51
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
52
52
  }
53
53
  };
54
- import AsyncStorage from '@react-native-async-storage/async-storage';
54
+ import { loadAsyncStorage } from '@aws-amplify/react-native';
55
55
  import { ConsoleLogger as Logger } from '../Logger';
56
56
  import { StorageCache } from './StorageCache';
57
57
  import { defaultConfig, getCurrTime } from './Utils';
58
58
  import { getCurrSizeKey } from './Utils/CacheUtils';
59
59
  import { assert, CacheErrorCode } from './Utils/errorHelpers';
60
60
  var logger = new Logger('AsyncStorageCache');
61
+ var AsyncStorage = loadAsyncStorage();
61
62
  /*
62
63
  * Customized cache which based on the AsyncStorage with LRU implemented
63
64
  */
@@ -1 +1 @@
1
- export declare const version = "6.0.1-console-preview.deaebd5.0+deaebd5";
1
+ export declare const version = "6.0.1-console-preview.b5a42af.0+b5a42af";
@@ -1,2 +1,2 @@
1
1
  // generated by genversion
2
- export var version = '6.0.1-console-preview.deaebd5.0+deaebd5';
2
+ export var version = '6.0.1-console-preview.b5a42af.0+b5a42af';
@@ -1,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
- import type NetInfo from '@react-native-community/netinfo';
2
+ import { loadNetInfo } from '@aws-amplify/react-native';
3
3
  import { NetworkStatus } from './types';
4
4
  export declare class Reachability {
5
- networkMonitor(netInfo?: typeof NetInfo): Observable<NetworkStatus>;
5
+ networkMonitor(netInfo?: ReturnType<typeof loadNetInfo>): Observable<NetworkStatus>;
6
6
  }
@@ -54,7 +54,7 @@ var shouldSendBody = function (method) {
54
54
  // TODO[AllanZhengYP]: we need to provide isCanceledError utility
55
55
  export var fetchTransferHandler = function (_a, _b) {
56
56
  var url = _a.url, method = _a.method, headers = _a.headers, body = _a.body;
57
- var abortSignal = _b.abortSignal, cache = _b.cache;
57
+ var abortSignal = _b.abortSignal, cache = _b.cache, withCrossDomainCredentials = _b.withCrossDomainCredentials;
58
58
  return __awaiter(void 0, void 0, void 0, function () {
59
59
  var resp, e_1, responseHeaders, httpResponse, bodyWithMixin;
60
60
  var _c, _d;
@@ -68,6 +68,7 @@ export var fetchTransferHandler = function (_a, _b) {
68
68
  body: shouldSendBody(method) ? body : undefined,
69
69
  signal: abortSignal,
70
70
  cache: cache,
71
+ credentials: withCrossDomainCredentials ? 'include' : 'same-origin',
71
72
  })];
72
73
  case 1:
73
74
  resp = _e.sent();
@@ -1,4 +1,3 @@
1
- import '@aws-amplify/core/polyfills/URL';
2
1
  export { signRequest } from './signRequest';
3
2
  export { presignUrl } from './presignUrl';
4
3
  export { TOKEN_QUERY_PARAM } from './constants';
@@ -1,6 +1,7 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import '@aws-amplify/core/polyfills/URL';
3
+ import { loadUrlPolyfill } from '@aws-amplify/react-native';
4
+ loadUrlPolyfill();
4
5
  // TODO: V6 replace Signer
5
6
  export { signRequest } from './signRequest';
6
7
  export { presignUrl } from './presignUrl';
@@ -34,5 +34,21 @@ export interface HttpTransferOptions {
34
34
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request/cache}
35
35
  */
36
36
  cache?: RequestCache;
37
+ /**
38
+ * Internal-only option controls whether or not cross-site Access-Control requests should be made using credentials
39
+ * such as cookies, authorization headers or TLS client certificates. It has no effect on same-origin requests.
40
+ * If set to `true`, the request will include credentials such as cookies, authorization headers, TLS
41
+ * client certificates, and so on. Moreover the response cookies will also be set.
42
+ * If set to `false`, the cross-site request will not include credentials, and the response cookies from a different
43
+ * domain will be ignored.
44
+ *
45
+ * This option is only conformed by {@link fetchTransferHandler | fetchTransferHandler }
46
+ *
47
+ * @default 'same-origin'
48
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials}
49
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials}
50
+ * @internal
51
+ */
52
+ withCrossDomainCredentials?: boolean;
37
53
  }
38
54
  export type HttpTransferHandler = TransferHandler<HttpRequest, HttpResponse, HttpTransferOptions>;
@@ -4,7 +4,7 @@ export { LegacyConfig } from './singleton/types';
4
4
  export { JWT, StrictUnion, CognitoIdentityPoolConfig, JwtPayload, } from './singleton/Auth/types';
5
5
  export { decodeJWT, assertTokenProviderConfig, assertIdentityPoolIdConfig, assertOAuthConfig, } from './singleton/Auth/utils';
6
6
  export { isTokenExpired } from './singleton/Auth';
7
- export { GraphQLAuthMode, GraphQLAuthModeKeys } from './singleton/API/types';
7
+ export { APIAuthMode, DocumentType } from './singleton/API/types';
8
8
  export { Signer } from './Signer';
9
9
  export { ConsoleLogger, ConsoleLogger as Logger } from './Logger';
10
10
  export { ClientDevice } from './ClientDevice';
@@ -9,10 +9,17 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
13
+ // SPDX-License-Identifier: Apache-2.0
14
+ import { ConsoleLogger as Logger } from './Logger';
15
+ var logger = new Logger('parseAWSExports');
12
16
  var authTypeMapping = {
13
17
  API_KEY: 'apiKey',
14
18
  AWS_IAM: 'iam',
15
- AMAZON_COGNITO_USER_POOLS: 'jwt',
19
+ AMAZON_COGNITO_USER_POOLS: 'userPool',
20
+ OPENID_CONNECT: 'oidc',
21
+ NONE: 'none',
22
+ LAMBDA: 'lambda',
16
23
  };
17
24
  /**
18
25
  * This utility converts the `aws-exports.js` file generated by the Amplify CLI into a {@link ResourcesConfig} object
@@ -24,7 +31,7 @@ var authTypeMapping = {
24
31
  */
25
32
  export var parseAWSExports = function (config) {
26
33
  if (config === void 0) { config = {}; }
27
- var aws_appsync_apiKey = config.aws_appsync_apiKey, aws_appsync_authenticationType = config.aws_appsync_authenticationType, aws_appsync_graphqlEndpoint = config.aws_appsync_graphqlEndpoint, aws_appsync_region = config.aws_appsync_region, aws_cognito_identity_pool_id = config.aws_cognito_identity_pool_id, aws_cognito_sign_up_verification_method = config.aws_cognito_sign_up_verification_method, aws_mandatory_sign_in = config.aws_mandatory_sign_in, aws_mobile_analytics_app_id = config.aws_mobile_analytics_app_id, aws_mobile_analytics_app_region = config.aws_mobile_analytics_app_region, aws_user_files_s3_bucket = config.aws_user_files_s3_bucket, aws_user_files_s3_bucket_region = config.aws_user_files_s3_bucket_region, aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing = config.aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing, aws_user_pools_id = config.aws_user_pools_id, aws_user_pools_web_client_id = config.aws_user_pools_web_client_id, geo = config.geo, oauth = config.oauth;
34
+ var aws_appsync_apiKey = config.aws_appsync_apiKey, aws_appsync_authenticationType = config.aws_appsync_authenticationType, aws_appsync_graphqlEndpoint = config.aws_appsync_graphqlEndpoint, aws_appsync_region = config.aws_appsync_region, aws_cognito_identity_pool_id = config.aws_cognito_identity_pool_id, aws_cognito_sign_up_verification_method = config.aws_cognito_sign_up_verification_method, aws_mandatory_sign_in = config.aws_mandatory_sign_in, aws_mobile_analytics_app_id = config.aws_mobile_analytics_app_id, aws_mobile_analytics_app_region = config.aws_mobile_analytics_app_region, aws_user_files_s3_bucket = config.aws_user_files_s3_bucket, aws_user_files_s3_bucket_region = config.aws_user_files_s3_bucket_region, aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing = config.aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing, aws_user_pools_id = config.aws_user_pools_id, aws_user_pools_web_client_id = config.aws_user_pools_web_client_id, geo = config.geo, oauth = config.oauth, aws_cloud_logic_custom = config.aws_cloud_logic_custom;
28
35
  var amplifyConfig = {};
29
36
  // Analytics
30
37
  if (aws_mobile_analytics_app_id) {
@@ -35,17 +42,18 @@ export var parseAWSExports = function (config) {
35
42
  },
36
43
  };
37
44
  }
38
- // TODO: Need to support all API configurations
39
45
  // API
40
46
  if (aws_appsync_graphqlEndpoint) {
47
+ var defaultAuthMode = authTypeMapping[aws_appsync_authenticationType];
48
+ if (!defaultAuthMode) {
49
+ logger.debug("Invalid authentication type ".concat(aws_appsync_authenticationType, ". Falling back to IAM."));
50
+ }
41
51
  amplifyConfig.API = {
42
- AppSync: {
43
- defaultAuthMode: {
44
- type: authTypeMapping[aws_appsync_authenticationType],
45
- apiKey: aws_appsync_apiKey,
46
- },
52
+ GraphQL: {
47
53
  endpoint: aws_appsync_graphqlEndpoint,
54
+ apiKey: aws_appsync_apiKey,
48
55
  region: aws_appsync_region,
56
+ defaultAuthMode: defaultAuthMode !== null && defaultAuthMode !== void 0 ? defaultAuthMode : 'iam',
49
57
  },
50
58
  };
51
59
  }
@@ -77,6 +85,14 @@ export var parseAWSExports = function (config) {
77
85
  }
78
86
  : __assign({}, geo);
79
87
  }
88
+ // REST API
89
+ if (aws_cloud_logic_custom) {
90
+ amplifyConfig.API = __assign(__assign({}, amplifyConfig.API), { REST: aws_cloud_logic_custom.reduce(function (acc, api) {
91
+ var _a;
92
+ var name = api.name, endpoint = api.endpoint, region = api.region, service = api.service;
93
+ return __assign(__assign({}, acc), (_a = {}, _a[name] = __assign(__assign({ endpoint: endpoint }, (service ? { service: service } : undefined)), (region ? { region: region } : undefined)), _a));
94
+ }, {}) });
95
+ }
80
96
  return amplifyConfig;
81
97
  };
82
98
  var getRedirectUrl = function (redirectStr) {
@@ -1,2 +1,3 @@
1
1
  export * from './apis';
2
2
  export { PinpointAnalyticsEvent, PinpointServiceOptions } from './types';
3
+ export { getEndpointId } from './utils';
@@ -1,3 +1,4 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  export * from './apis';
4
+ export { getEndpointId } from './utils';
@@ -1,35 +1,72 @@
1
+ import { Headers } from '../../clients';
1
2
  export type LibraryAPIOptions = {
2
- AppSync: {
3
- query: string;
4
- variables?: object;
5
- authMode?: any;
6
- authToken?: string;
7
- /**
8
- * @deprecated This property should not be used
9
- */
10
- userAgentSuffix?: string;
3
+ GraphQL?: {
4
+ headers?: (options: {
5
+ query: string;
6
+ variables: Record<string, DocumentType>;
7
+ }) => Promise<Headers>;
11
8
  };
12
- customHeaders: Function;
9
+ REST?: {
10
+ headers?: (options: {
11
+ apiName: string;
12
+ }) => Promise<Headers>;
13
+ };
14
+ };
15
+ type APIGraphQLConfig = {
16
+ /**
17
+ * Required GraphQL endpoint, must be a valid URL string.
18
+ */
19
+ endpoint: string;
20
+ /**
21
+ * Optional region string used to sign the request. Required only if the auth mode is 'iam'.
22
+ */
23
+ region?: string;
24
+ /**
25
+ * Optional API key string. Required only if the auth mode is 'apiKey'.
26
+ */
27
+ apiKey?: string;
28
+ /**
29
+ * Custom domain endpoint for GraphQL API.
30
+ */
31
+ customEndpoint?: string;
32
+ /**
33
+ * Optional region string used to sign the request to `customEndpoint`. Effective only if `customEndpoint` is
34
+ * specified, and the auth mode is 'iam'.
35
+ */
36
+ customEndpointRegion?: string;
37
+ /**
38
+ * Default auth mode for all the API calls to given service.
39
+ */
40
+ defaultAuthMode: APIAuthMode;
41
+ };
42
+ type APIRestConfig = {
43
+ /**
44
+ * Required REST endpoint, must be a valid URL string.
45
+ */
46
+ endpoint: string;
47
+ /**
48
+ * Optional region string used to sign the request with IAM credentials. If Omitted, region will be extracted from
49
+ * the endpoint.
50
+ *
51
+ * @default 'us-east-1'
52
+ */
53
+ region?: string;
54
+ /**
55
+ * Optional service name string to sign the request with IAM credentials.
56
+ *
57
+ * @default 'execute-api'
58
+ */
59
+ service?: string;
13
60
  };
14
61
  export type APIConfig = {
15
- AppSync?: {
16
- defaultAuthMode: GraphQLAuthMode;
17
- region: string;
18
- endpoint: string;
19
- modelIntrospectionSchema?: any;
20
- };
62
+ REST?: Record<string, APIRestConfig>;
63
+ GraphQL?: APIGraphQLConfig;
21
64
  };
22
- export type GraphQLAuthMode = {
23
- type: 'apiKey';
24
- apiKey: string;
25
- } | {
26
- type: 'jwt';
27
- token?: 'id' | 'access';
28
- } | {
29
- type: 'iam';
30
- } | {
31
- type: 'lambda';
32
- } | {
33
- type: 'custom';
65
+ export type APIAuthMode = 'apiKey' | 'oidc' | 'userPool' | 'iam' | 'lambda' | 'none';
66
+ /**
67
+ * Type representing a plain JavaScript object that can be serialized to JSON.
68
+ */
69
+ export type DocumentType = null | boolean | number | string | DocumentType[] | {
70
+ [prop: string]: DocumentType;
34
71
  };
35
- export type GraphQLAuthModeKeys = 'apiKey' | 'jwt' | 'iam' | 'lambda' | 'custom';
72
+ export {};
@@ -9,7 +9,7 @@ export function assertTokenProviderConfig(cognitoConfig) {
9
9
  }
10
10
  else {
11
11
  assertionValid =
12
- !!cognitoConfig.userPoolClientId && !!cognitoConfig.userPoolClientId;
12
+ !!cognitoConfig.userPoolId && !!cognitoConfig.userPoolClientId;
13
13
  }
14
14
  return assert(assertionValid, AuthConfigurationErrorCode.AuthTokenConfigException);
15
15
  }
@@ -0,0 +1,2 @@
1
+ import { PinpointProviderConfig } from '../../../providers/pinpoint/types';
2
+ export type InAppMessagingConfig = PinpointProviderConfig;
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
@@ -0,0 +1,4 @@
1
+ import { InAppMessagingConfig } from './InAppMessaging/types';
2
+ export type NotificationsConfig = {
3
+ InAppMessaging: InAppMessagingConfig;
4
+ };
@@ -0,0 +1,3 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
@@ -4,6 +4,7 @@ import { AuthConfig, LibraryAuthOptions, AuthUserPoolConfig, AuthIdentityPoolCon
4
4
  import { GeoConfig } from './Geo/types';
5
5
  import { LibraryStorageOptions, StorageAccessLevel, StorageConfig } from './Storage/types';
6
6
  import { I18nConfig } from '../I18n/types';
7
+ import { NotificationsConfig } from './Notifications/types';
7
8
  export type LegacyConfig = {
8
9
  /**
9
10
  * @deprecated The field should not be used.
@@ -15,6 +16,7 @@ export type ResourcesConfig = {
15
16
  Analytics?: AnalyticsConfig;
16
17
  Auth?: AuthConfig;
17
18
  I18n?: I18nConfig;
19
+ Notifications?: NotificationsConfig;
18
20
  Storage?: StorageConfig;
19
21
  Geo?: GeoConfig;
20
22
  };
@@ -3,7 +3,8 @@ import { KeyValueStorageInterface } from '../types';
3
3
  * @internal
4
4
  */
5
5
  export declare class DefaultStorage implements KeyValueStorageInterface {
6
- private asyncStorage?;
6
+ private asyncStorage;
7
+ constructor();
7
8
  /**
8
9
  * This is used to set a specific item in storage
9
10
  * @param {string} key - the key for the item
@@ -29,5 +30,4 @@ export declare class DefaultStorage implements KeyValueStorageInterface {
29
30
  * @returns {string} nothing
30
31
  */
31
32
  clear(): Promise<void>;
32
- private assertModule;
33
33
  }
@@ -36,14 +36,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
37
  }
38
38
  };
39
- import { AmplifyError } from '../errors';
40
- var ASYNC_STORAGE_MODULE = '@react-native-async-storage/async-storage';
39
+ import { loadAsyncStorage } from '@aws-amplify/react-native';
41
40
  var MEMORY_KEY_PREFIX = '@MemoryStorage:';
42
41
  /**
43
42
  * @internal
44
43
  */
45
44
  var DefaultStorage = /** @class */ (function () {
46
45
  function DefaultStorage() {
46
+ this.asyncStorage = loadAsyncStorage();
47
47
  }
48
48
  /**
49
49
  * This is used to set a specific item in storage
@@ -52,7 +52,6 @@ var DefaultStorage = /** @class */ (function () {
52
52
  * @returns {string} value that was set
53
53
  */
54
54
  DefaultStorage.prototype.setItem = function (key, value) {
55
- this.assertModule(this.asyncStorage);
56
55
  return this.asyncStorage.setItem("".concat(MEMORY_KEY_PREFIX).concat(key), value);
57
56
  };
58
57
  /**
@@ -62,7 +61,6 @@ var DefaultStorage = /** @class */ (function () {
62
61
  * @returns {string} the data item
63
62
  */
64
63
  DefaultStorage.prototype.getItem = function (key) {
65
- this.assertModule(this.asyncStorage);
66
64
  return this.asyncStorage.getItem("".concat(MEMORY_KEY_PREFIX).concat(key));
67
65
  };
68
66
  /**
@@ -71,7 +69,6 @@ var DefaultStorage = /** @class */ (function () {
71
69
  * @returns {string} value - value that was deleted
72
70
  */
73
71
  DefaultStorage.prototype.removeItem = function (key) {
74
- this.assertModule(this.asyncStorage);
75
72
  return this.asyncStorage.removeItem("".concat(MEMORY_KEY_PREFIX).concat(key));
76
73
  };
77
74
  /**
@@ -83,9 +80,7 @@ var DefaultStorage = /** @class */ (function () {
83
80
  var allKeys;
84
81
  return __generator(this, function (_a) {
85
82
  switch (_a.label) {
86
- case 0:
87
- this.assertModule(this.asyncStorage);
88
- return [4 /*yield*/, this.asyncStorage.getAllKeys()];
83
+ case 0: return [4 /*yield*/, this.asyncStorage.getAllKeys()];
89
84
  case 1:
90
85
  allKeys = _a.sent();
91
86
  return [2 /*return*/, this.asyncStorage.multiRemove(allKeys.filter(function (key) { return key.startsWith(MEMORY_KEY_PREFIX); }))];
@@ -93,22 +88,6 @@ var DefaultStorage = /** @class */ (function () {
93
88
  });
94
89
  });
95
90
  };
96
- DefaultStorage.prototype.assertModule = function (asyncStorage) {
97
- if (!!asyncStorage) {
98
- return;
99
- }
100
- try {
101
- this.asyncStorage = require(ASYNC_STORAGE_MODULE)
102
- .default;
103
- }
104
- catch (err) {
105
- throw new AmplifyError({
106
- name: 'NativeModuleException',
107
- message: "Unable to find ".concat(ASYNC_STORAGE_MODULE),
108
- recoverySuggestion: "Make sure to install ".concat(ASYNC_STORAGE_MODULE),
109
- });
110
- }
111
- };
112
91
  return DefaultStorage;
113
92
  }());
114
93
  export { DefaultStorage };