@aws-amplify/datastore 4.7.6-api-v6-models.b3abc9b.0 → 5.0.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 (187) hide show
  1. package/README.md +4 -0
  2. package/lib/authModeStrategies/defaultAuthStrategy.js +3 -2
  3. package/lib/authModeStrategies/index.js +3 -3
  4. package/lib/authModeStrategies/multiAuthStrategy.js +38 -53
  5. package/lib/datastore/datastore.d.ts +4 -5
  6. package/lib/datastore/datastore.js +929 -1284
  7. package/lib/index.d.ts +1 -1
  8. package/lib/index.js +26 -13
  9. package/lib/predicates/index.js +54 -69
  10. package/lib/predicates/next.d.ts +2 -2
  11. package/lib/predicates/next.js +313 -462
  12. package/lib/predicates/sort.js +24 -28
  13. package/lib/ssr/index.js +2 -2
  14. package/lib/storage/adapter/AsyncStorageAdapter.js +120 -342
  15. package/lib/storage/adapter/AsyncStorageDatabase.js +217 -421
  16. package/lib/storage/adapter/InMemoryStore.js +28 -51
  17. package/lib/storage/adapter/InMemoryStore.native.js +5 -3
  18. package/lib/storage/adapter/IndexedDBAdapter.js +466 -871
  19. package/lib/storage/adapter/StorageAdapterBase.js +180 -330
  20. package/lib/storage/adapter/getDefaultAdapter/index.js +8 -10
  21. package/lib/storage/adapter/getDefaultAdapter/index.native.js +5 -4
  22. package/lib/storage/adapter/index.js +0 -1
  23. package/lib/storage/relationship.js +177 -253
  24. package/lib/storage/storage.d.ts +4 -4
  25. package/lib/storage/storage.js +255 -433
  26. package/lib/sync/datastoreConnectivity.d.ts +2 -2
  27. package/lib/sync/datastoreConnectivity.js +29 -39
  28. package/lib/sync/datastoreReachability/index.d.ts +1 -3
  29. package/lib/sync/datastoreReachability/index.js +3 -3
  30. package/lib/sync/datastoreReachability/index.native.d.ts +1 -3
  31. package/lib/sync/datastoreReachability/index.native.js +4 -5
  32. package/lib/sync/index.d.ts +2 -2
  33. package/lib/sync/index.js +522 -827
  34. package/lib/sync/merger.js +31 -63
  35. package/lib/sync/outbox.js +148 -232
  36. package/lib/sync/processors/errorMaps.d.ts +1 -1
  37. package/lib/sync/processors/errorMaps.js +30 -47
  38. package/lib/sync/processors/mutation.d.ts +2 -2
  39. package/lib/sync/processors/mutation.js +343 -502
  40. package/lib/sync/processors/subscription.d.ts +5 -2
  41. package/lib/sync/processors/subscription.js +283 -437
  42. package/lib/sync/processors/sync.d.ts +2 -2
  43. package/lib/sync/processors/sync.js +279 -404
  44. package/lib/sync/utils.d.ts +5 -4
  45. package/lib/sync/utils.js +267 -320
  46. package/lib/tsconfig.tsbuildinfo +1 -0
  47. package/lib/types.d.ts +138 -140
  48. package/lib/types.js +17 -24
  49. package/lib/util.d.ts +9 -17
  50. package/lib/util.js +387 -511
  51. package/lib-esm/authModeStrategies/defaultAuthStrategy.js +1 -2
  52. package/lib-esm/authModeStrategies/index.js +0 -1
  53. package/lib-esm/authModeStrategies/multiAuthStrategy.js +35 -52
  54. package/lib-esm/datastore/datastore.d.ts +4 -5
  55. package/lib-esm/datastore/datastore.js +888 -1247
  56. package/lib-esm/index.d.ts +1 -1
  57. package/lib-esm/index.js +6 -7
  58. package/lib-esm/predicates/index.js +53 -70
  59. package/lib-esm/predicates/next.d.ts +2 -2
  60. package/lib-esm/predicates/next.js +306 -459
  61. package/lib-esm/predicates/sort.js +23 -28
  62. package/lib-esm/ssr/index.js +1 -2
  63. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +111 -338
  64. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +212 -416
  65. package/lib-esm/storage/adapter/InMemoryStore.js +27 -52
  66. package/lib-esm/storage/adapter/InMemoryStore.native.js +0 -1
  67. package/lib-esm/storage/adapter/IndexedDBAdapter.js +438 -866
  68. package/lib-esm/storage/adapter/StorageAdapterBase.js +173 -325
  69. package/lib-esm/storage/adapter/getDefaultAdapter/index.js +2 -6
  70. package/lib-esm/storage/adapter/getDefaultAdapter/index.native.js +1 -2
  71. package/lib-esm/storage/adapter/index.js +1 -1
  72. package/lib-esm/storage/relationship.js +173 -251
  73. package/lib-esm/storage/storage.d.ts +4 -4
  74. package/lib-esm/storage/storage.js +242 -424
  75. package/lib-esm/sync/datastoreConnectivity.d.ts +2 -2
  76. package/lib-esm/sync/datastoreConnectivity.js +28 -39
  77. package/lib-esm/sync/datastoreReachability/index.d.ts +1 -3
  78. package/lib-esm/sync/datastoreReachability/index.js +2 -3
  79. package/lib-esm/sync/datastoreReachability/index.native.d.ts +1 -3
  80. package/lib-esm/sync/datastoreReachability/index.native.js +3 -4
  81. package/lib-esm/sync/index.d.ts +2 -2
  82. package/lib-esm/sync/index.js +502 -812
  83. package/lib-esm/sync/merger.js +28 -61
  84. package/lib-esm/sync/outbox.js +143 -228
  85. package/lib-esm/sync/processors/errorMaps.d.ts +1 -1
  86. package/lib-esm/sync/processors/errorMaps.js +32 -50
  87. package/lib-esm/sync/processors/mutation.d.ts +2 -2
  88. package/lib-esm/sync/processors/mutation.js +329 -490
  89. package/lib-esm/sync/processors/subscription.d.ts +5 -2
  90. package/lib-esm/sync/processors/subscription.js +266 -421
  91. package/lib-esm/sync/processors/sync.d.ts +2 -2
  92. package/lib-esm/sync/processors/sync.js +271 -397
  93. package/lib-esm/sync/utils.d.ts +5 -4
  94. package/lib-esm/sync/utils.js +252 -307
  95. package/lib-esm/tsconfig.tsbuildinfo +1 -0
  96. package/lib-esm/types.d.ts +138 -140
  97. package/lib-esm/types.js +16 -25
  98. package/lib-esm/util.d.ts +9 -17
  99. package/lib-esm/util.js +335 -497
  100. package/package.json +31 -26
  101. package/src/authModeStrategies/multiAuthStrategy.ts +15 -12
  102. package/src/datastore/datastore.ts +36 -35
  103. package/src/predicates/sort.ts +3 -1
  104. package/src/storage/adapter/InMemoryStore.ts +1 -1
  105. package/src/storage/adapter/IndexedDBAdapter.ts +2 -2
  106. package/src/storage/adapter/StorageAdapterBase.ts +2 -2
  107. package/src/storage/adapter/getDefaultAdapter/index.ts +1 -4
  108. package/src/storage/storage.ts +29 -24
  109. package/src/sync/datastoreConnectivity.ts +6 -6
  110. package/src/sync/datastoreReachability/index.native.ts +5 -3
  111. package/src/sync/datastoreReachability/index.ts +1 -1
  112. package/src/sync/index.ts +79 -89
  113. package/src/sync/processors/errorMaps.ts +7 -7
  114. package/src/sync/processors/mutation.ts +19 -13
  115. package/src/sync/processors/subscription.ts +221 -295
  116. package/src/sync/processors/sync.ts +11 -8
  117. package/src/sync/utils.ts +30 -15
  118. package/src/types.ts +4 -8
  119. package/src/util.ts +46 -9
  120. package/lib/.tsbuildinfo +0 -3
  121. package/lib/authModeStrategies/defaultAuthStrategy.js.map +0 -1
  122. package/lib/authModeStrategies/index.js.map +0 -1
  123. package/lib/authModeStrategies/multiAuthStrategy.js.map +0 -1
  124. package/lib/datastore/datastore.js.map +0 -1
  125. package/lib/index.js.map +0 -1
  126. package/lib/predicates/index.js.map +0 -1
  127. package/lib/predicates/next.js.map +0 -1
  128. package/lib/predicates/sort.js.map +0 -1
  129. package/lib/ssr/index.js.map +0 -1
  130. package/lib/storage/adapter/AsyncStorageAdapter.js.map +0 -1
  131. package/lib/storage/adapter/AsyncStorageDatabase.js.map +0 -1
  132. package/lib/storage/adapter/InMemoryStore.js.map +0 -1
  133. package/lib/storage/adapter/InMemoryStore.native.js.map +0 -1
  134. package/lib/storage/adapter/IndexedDBAdapter.js.map +0 -1
  135. package/lib/storage/adapter/StorageAdapterBase.js.map +0 -1
  136. package/lib/storage/adapter/getDefaultAdapter/index.js.map +0 -1
  137. package/lib/storage/adapter/getDefaultAdapter/index.native.js.map +0 -1
  138. package/lib/storage/adapter/index.js.map +0 -1
  139. package/lib/storage/relationship.js.map +0 -1
  140. package/lib/storage/storage.js.map +0 -1
  141. package/lib/sync/datastoreConnectivity.js.map +0 -1
  142. package/lib/sync/datastoreReachability/index.js.map +0 -1
  143. package/lib/sync/datastoreReachability/index.native.js.map +0 -1
  144. package/lib/sync/index.js.map +0 -1
  145. package/lib/sync/merger.js.map +0 -1
  146. package/lib/sync/outbox.js.map +0 -1
  147. package/lib/sync/processors/errorMaps.js.map +0 -1
  148. package/lib/sync/processors/mutation.js.map +0 -1
  149. package/lib/sync/processors/subscription.js.map +0 -1
  150. package/lib/sync/processors/sync.js.map +0 -1
  151. package/lib/sync/utils.js.map +0 -1
  152. package/lib/types.js.map +0 -1
  153. package/lib/util.js.map +0 -1
  154. package/lib-esm/.tsbuildinfo +0 -3
  155. package/lib-esm/authModeStrategies/defaultAuthStrategy.js.map +0 -1
  156. package/lib-esm/authModeStrategies/index.js.map +0 -1
  157. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +0 -1
  158. package/lib-esm/datastore/datastore.js.map +0 -1
  159. package/lib-esm/index.js.map +0 -1
  160. package/lib-esm/predicates/index.js.map +0 -1
  161. package/lib-esm/predicates/next.js.map +0 -1
  162. package/lib-esm/predicates/sort.js.map +0 -1
  163. package/lib-esm/ssr/index.js.map +0 -1
  164. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +0 -1
  165. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +0 -1
  166. package/lib-esm/storage/adapter/InMemoryStore.js.map +0 -1
  167. package/lib-esm/storage/adapter/InMemoryStore.native.js.map +0 -1
  168. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +0 -1
  169. package/lib-esm/storage/adapter/StorageAdapterBase.js.map +0 -1
  170. package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +0 -1
  171. package/lib-esm/storage/adapter/getDefaultAdapter/index.native.js.map +0 -1
  172. package/lib-esm/storage/adapter/index.js.map +0 -1
  173. package/lib-esm/storage/relationship.js.map +0 -1
  174. package/lib-esm/storage/storage.js.map +0 -1
  175. package/lib-esm/sync/datastoreConnectivity.js.map +0 -1
  176. package/lib-esm/sync/datastoreReachability/index.js.map +0 -1
  177. package/lib-esm/sync/datastoreReachability/index.native.js.map +0 -1
  178. package/lib-esm/sync/index.js.map +0 -1
  179. package/lib-esm/sync/merger.js.map +0 -1
  180. package/lib-esm/sync/outbox.js.map +0 -1
  181. package/lib-esm/sync/processors/errorMaps.js.map +0 -1
  182. package/lib-esm/sync/processors/mutation.js.map +0 -1
  183. package/lib-esm/sync/processors/subscription.js.map +0 -1
  184. package/lib-esm/sync/processors/sync.js.map +0 -1
  185. package/lib-esm/sync/utils.js.map +0 -1
  186. package/lib-esm/types.js.map +0 -1
  187. package/lib-esm/util.js.map +0 -1
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ > INTERNAL USE ONLY
2
+
3
+ This package contains the AWS Amplify DataStore category and is intended for internal use only. To integrate Amplify into your app, please use [aws-amplify](https://www.npmjs.com/package/aws-amplify).
4
+
1
5
  # AWS Amplify DataStore Docs
2
6
 
3
7
  [Amplify DataStore](https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/) provides a programming model for leveraging shared and distributed data without writing additional code for offline and online scenarios, which makes working with distributed, cross-user data just as simple as working with local-only data.
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultAuthStrategy = void 0;
3
4
  // Default behavior is to use the primary auth mode for an API,
4
5
  // so we are returning an empty array so that DataStore will default
5
6
  // to using the primary auth mode.
6
- exports.defaultAuthStrategy = function () { return []; };
7
- //# sourceMappingURL=defaultAuthStrategy.js.map
7
+ const defaultAuthStrategy = () => [];
8
+ exports.defaultAuthStrategy = defaultAuthStrategy;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.multiAuthStrategy = exports.defaultAuthStrategy = void 0;
3
4
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
5
  // SPDX-License-Identifier: Apache-2.0
5
6
  var defaultAuthStrategy_1 = require("./defaultAuthStrategy");
6
- exports.defaultAuthStrategy = defaultAuthStrategy_1.defaultAuthStrategy;
7
+ Object.defineProperty(exports, "defaultAuthStrategy", { enumerable: true, get: function () { return defaultAuthStrategy_1.defaultAuthStrategy; } });
7
8
  var multiAuthStrategy_1 = require("./multiAuthStrategy");
8
- exports.multiAuthStrategy = multiAuthStrategy_1.multiAuthStrategy;
9
- //# sourceMappingURL=index.js.map
9
+ Object.defineProperty(exports, "multiAuthStrategy", { enumerable: true, get: function () { return multiAuthStrategy_1.multiAuthStrategy; } });
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ exports.multiAuthStrategy = void 0;
4
4
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
5
  // SPDX-License-Identifier: Apache-2.0
6
- var auth_1 = require("@aws-amplify/auth");
7
- var api_graphql_1 = require("@aws-amplify/api-graphql");
8
- var types_1 = require("../types");
6
+ const core_1 = require("@aws-amplify/core");
7
+ const types_1 = require("../types");
9
8
  function getProviderFromRule(rule) {
10
9
  // private with no provider means userPools
11
10
  if (rule.allow === 'private' && !rule.provider) {
@@ -18,21 +17,21 @@ function getProviderFromRule(rule) {
18
17
  return rule.provider;
19
18
  }
20
19
  function sortAuthRulesWithPriority(rules) {
21
- var allowSortPriority = [
20
+ const allowSortPriority = [
22
21
  types_1.ModelAttributeAuthAllow.CUSTOM,
23
22
  types_1.ModelAttributeAuthAllow.OWNER,
24
23
  types_1.ModelAttributeAuthAllow.GROUPS,
25
24
  types_1.ModelAttributeAuthAllow.PRIVATE,
26
25
  types_1.ModelAttributeAuthAllow.PUBLIC,
27
26
  ];
28
- var providerSortPriority = [
27
+ const providerSortPriority = [
29
28
  types_1.ModelAttributeAuthProvider.FUNCTION,
30
29
  types_1.ModelAttributeAuthProvider.USER_POOLS,
31
30
  types_1.ModelAttributeAuthProvider.OIDC,
32
31
  types_1.ModelAttributeAuthProvider.IAM,
33
32
  types_1.ModelAttributeAuthProvider.API_KEY,
34
33
  ];
35
- return tslib_1.__spread(rules).sort(function (a, b) {
34
+ return [...rules].sort((a, b) => {
36
35
  if (a.allow === b.allow) {
37
36
  return (providerSortPriority.indexOf(getProviderFromRule(a)) -
38
37
  providerSortPriority.indexOf(getProviderFromRule(b)));
@@ -40,17 +39,16 @@ function sortAuthRulesWithPriority(rules) {
40
39
  return (allowSortPriority.indexOf(a.allow) - allowSortPriority.indexOf(b.allow));
41
40
  });
42
41
  }
43
- function getAuthRules(_a) {
44
- var rules = _a.rules, currentUser = _a.currentUser;
42
+ function getAuthRules({ rules, currentUser, }) {
45
43
  // Using Set to ensure uniqueness
46
- var authModes = new Set();
47
- rules.forEach(function (rule) {
44
+ const authModes = new Set();
45
+ rules.forEach(rule => {
48
46
  switch (rule.allow) {
49
47
  case types_1.ModelAttributeAuthAllow.CUSTOM:
50
48
  // custom with no provider -> function
51
49
  if (!rule.provider ||
52
50
  rule.provider === types_1.ModelAttributeAuthProvider.FUNCTION) {
53
- authModes.add(api_graphql_1.GRAPHQL_AUTH_MODE.AWS_LAMBDA);
51
+ authModes.add('lambda');
54
52
  }
55
53
  break;
56
54
  case types_1.ModelAttributeAuthAllow.GROUPS:
@@ -58,10 +56,10 @@ function getAuthRules(_a) {
58
56
  // We shouldn't attempt User Pool or OIDC if there isn't an authenticated user
59
57
  if (currentUser) {
60
58
  if (rule.provider === types_1.ModelAttributeAuthProvider.USER_POOLS) {
61
- authModes.add(api_graphql_1.GRAPHQL_AUTH_MODE.AMAZON_COGNITO_USER_POOLS);
59
+ authModes.add('userPool');
62
60
  }
63
61
  else if (rule.provider === types_1.ModelAttributeAuthProvider.OIDC) {
64
- authModes.add(api_graphql_1.GRAPHQL_AUTH_MODE.OPENID_CONNECT);
62
+ authModes.add('oidc');
65
63
  }
66
64
  }
67
65
  break;
@@ -72,22 +70,22 @@ function getAuthRules(_a) {
72
70
  // private with no provider means userPools
73
71
  if (!rule.provider ||
74
72
  rule.provider === types_1.ModelAttributeAuthProvider.USER_POOLS) {
75
- authModes.add(api_graphql_1.GRAPHQL_AUTH_MODE.AMAZON_COGNITO_USER_POOLS);
73
+ authModes.add('userPool');
76
74
  }
77
75
  else if (rule.provider === types_1.ModelAttributeAuthProvider.IAM) {
78
- authModes.add(api_graphql_1.GRAPHQL_AUTH_MODE.AWS_IAM);
76
+ authModes.add('iam');
79
77
  }
80
78
  }
81
79
  break;
82
80
  }
83
81
  case types_1.ModelAttributeAuthAllow.PUBLIC: {
84
82
  if (rule.provider === types_1.ModelAttributeAuthProvider.IAM) {
85
- authModes.add(api_graphql_1.GRAPHQL_AUTH_MODE.AWS_IAM);
83
+ authModes.add('iam');
86
84
  }
87
85
  else if (!rule.provider ||
88
86
  rule.provider === types_1.ModelAttributeAuthProvider.API_KEY) {
89
87
  // public with no provider means apiKey
90
- authModes.add(api_graphql_1.GRAPHQL_AUTH_MODE.API_KEY);
88
+ authModes.add('apiKey');
91
89
  }
92
90
  break;
93
91
  }
@@ -108,39 +106,26 @@ function getAuthRules(_a) {
108
106
  * @param param0 The `{schema, modelName}` to inspect.
109
107
  * @returns A sorted array of auth modes to attempt.
110
108
  */
111
- exports.multiAuthStrategy = function (amplifyContext) {
112
- return function (_a) {
113
- var schema = _a.schema, modelName = _a.modelName;
114
- return tslib_1.__awaiter(void 0, void 0, void 0, function () {
115
- var currentUser, e_1, attributes, authAttribute, sortedRules;
116
- var _b;
117
- return tslib_1.__generator(this, function (_c) {
118
- switch (_c.label) {
119
- case 0:
120
- amplifyContext.Auth = amplifyContext.Auth || auth_1.Auth;
121
- _c.label = 1;
122
- case 1:
123
- _c.trys.push([1, 3, , 4]);
124
- return [4 /*yield*/, amplifyContext.Auth.currentAuthenticatedUser()];
125
- case 2:
126
- currentUser = _c.sent();
127
- return [3 /*break*/, 4];
128
- case 3:
129
- e_1 = _c.sent();
130
- return [3 /*break*/, 4];
131
- case 4:
132
- attributes = schema.namespaces.user.models[modelName].attributes;
133
- if (attributes) {
134
- authAttribute = attributes.find(function (attr) { return attr.type === 'auth'; });
135
- if ((_b = authAttribute === null || authAttribute === void 0 ? void 0 : authAttribute.properties) === null || _b === void 0 ? void 0 : _b.rules) {
136
- sortedRules = sortAuthRulesWithPriority(authAttribute.properties.rules);
137
- return [2 /*return*/, getAuthRules({ currentUser: currentUser, rules: sortedRules })];
138
- }
139
- }
140
- return [2 /*return*/, []];
141
- }
142
- });
143
- });
144
- };
109
+ const multiAuthStrategy = (amplifyContext) => async ({ schema, modelName }) => {
110
+ let currentUser;
111
+ try {
112
+ const authSession = await (0, core_1.fetchAuthSession)();
113
+ if (authSession.tokens.accessToken) {
114
+ // the user is authenticated
115
+ currentUser = authSession;
116
+ }
117
+ }
118
+ catch (e) {
119
+ // No current user
120
+ }
121
+ const { attributes } = schema.namespaces.user.models[modelName];
122
+ if (attributes) {
123
+ const authAttribute = attributes.find(attr => attr.type === 'auth');
124
+ if (authAttribute?.properties?.rules) {
125
+ const sortedRules = sortAuthRulesWithPriority(authAttribute.properties.rules);
126
+ return getAuthRules({ currentUser, rules: sortedRules });
127
+ }
128
+ }
129
+ return [];
145
130
  };
146
- //# sourceMappingURL=multiAuthStrategy.js.map
131
+ exports.multiAuthStrategy = multiAuthStrategy;
@@ -1,6 +1,6 @@
1
- import Observable from 'zen-observable-ts';
1
+ import { Observable } from 'rxjs';
2
2
  import { PredicateAll } from '../predicates';
3
- import { ConflictHandler, DataStoreConfig, NonModelTypeConstructor, ProducerPaginationInput, PersistentModel, PersistentModelConstructor, Schema, SubscriptionMessage, DataStoreSnapshot, TypeConstructorMap, ErrorHandler, ObserveQueryOptions, PersistentModelMetaData, IdentifierFieldOrIdentifierObject, RecursiveModelPredicateExtender, ModelPredicateExtender } from '../types';
3
+ import { ConflictHandler, DataStoreConfig, ProducerPaginationInput, PersistentModel, PersistentModelConstructor, Schema, SubscriptionMessage, DataStoreSnapshot, TypeConstructorMap, ErrorHandler, ObserveQueryOptions, PersistentModelMetaData, IdentifierFieldOrIdentifierObject, RecursiveModelPredicateExtender, ModelPredicateExtender } from '../types';
4
4
  export declare let syncClasses: TypeConstructorMap;
5
5
  /**
6
6
  * Describes whether and to what a model is attached for lazy loading purposes.
@@ -41,8 +41,8 @@ export declare function attached<T extends PersistentModel | PersistentModel[]>(
41
41
  *
42
42
  * @param instance A model instance
43
43
  */
44
- export declare const getAttachment: (instance: Readonly<Record<string, any>>) => ModelAttachment.Detached | ModelAttachment;
45
- declare const initSchema: (userSchema: Schema) => Record<string, PersistentModelConstructor<any> | NonModelTypeConstructor<unknown>>;
44
+ export declare const getAttachment: (instance: PersistentModel) => ModelAttachment;
45
+ declare const initSchema: (userSchema: Schema) => TypeConstructorMap;
46
46
  /**
47
47
  * Constructs a model and records it with its metadata in a weakset. Allows for
48
48
  * the separate storage of core model fields and Amplify/DataStore metadata
@@ -92,7 +92,6 @@ export declare class AsyncCollection<T> implements AsyncIterable<T> {
92
92
  }): Promise<T[]>;
93
93
  }
94
94
  declare class DataStore {
95
- private Auth;
96
95
  private InternalAPI;
97
96
  private Cache;
98
97
  private amplifyConfig;