@aws-amplify/datastore 3.2.2-geo.18 → 3.2.2-geo.25

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 (54) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/dist/aws-amplify-datastore.js +764 -464
  3. package/dist/aws-amplify-datastore.js.map +1 -1
  4. package/dist/aws-amplify-datastore.min.js +11 -11
  5. package/dist/aws-amplify-datastore.min.js.map +1 -1
  6. package/lib/datastore/datastore.d.ts +3 -4
  7. package/lib/datastore/datastore.js +76 -42
  8. package/lib/datastore/datastore.js.map +1 -1
  9. package/lib/index.d.ts +30 -2
  10. package/lib/index.js +10 -0
  11. package/lib/index.js.map +1 -1
  12. package/lib/storage/adapter/getDefaultAdapter/index.js +7 -3
  13. package/lib/storage/adapter/getDefaultAdapter/index.js.map +1 -1
  14. package/lib/storage/storage.js +1 -1
  15. package/lib/storage/storage.js.map +1 -1
  16. package/lib/sync/index.js +6 -0
  17. package/lib/sync/index.js.map +1 -1
  18. package/lib/sync/utils.js +15 -1
  19. package/lib/sync/utils.js.map +1 -1
  20. package/lib/types.d.ts +27 -3
  21. package/lib/types.js +9 -1
  22. package/lib/types.js.map +1 -1
  23. package/lib/util.d.ts +3 -1
  24. package/lib/util.js +8 -0
  25. package/lib/util.js.map +1 -1
  26. package/lib-esm/datastore/datastore.d.ts +3 -4
  27. package/lib-esm/datastore/datastore.js +78 -44
  28. package/lib-esm/datastore/datastore.js.map +1 -1
  29. package/lib-esm/index.d.ts +30 -2
  30. package/lib-esm/index.js +10 -2
  31. package/lib-esm/index.js.map +1 -1
  32. package/lib-esm/storage/adapter/getDefaultAdapter/index.js +4 -3
  33. package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +1 -1
  34. package/lib-esm/storage/storage.js +1 -1
  35. package/lib-esm/storage/storage.js.map +1 -1
  36. package/lib-esm/sync/index.js +6 -0
  37. package/lib-esm/sync/index.js.map +1 -1
  38. package/lib-esm/sync/utils.js +15 -1
  39. package/lib-esm/sync/utils.js.map +1 -1
  40. package/lib-esm/types.d.ts +27 -3
  41. package/lib-esm/types.js +8 -1
  42. package/lib-esm/types.js.map +1 -1
  43. package/lib-esm/util.d.ts +3 -1
  44. package/lib-esm/util.js +7 -0
  45. package/lib-esm/util.js.map +1 -1
  46. package/package.json +9 -9
  47. package/src/datastore/datastore.ts +108 -56
  48. package/src/index.ts +30 -2
  49. package/src/storage/adapter/getDefaultAdapter/index.ts +4 -4
  50. package/src/storage/storage.ts +1 -1
  51. package/src/sync/index.ts +6 -0
  52. package/src/sync/utils.ts +18 -1
  53. package/src/types.ts +38 -5
  54. package/src/util.ts +13 -0
package/lib-esm/util.js CHANGED
@@ -147,6 +147,13 @@ export var validatePredicateField = function (value, operator, operand) {
147
147
  export var isModelConstructor = function (obj) {
148
148
  return (obj && typeof obj.copyOf === 'function');
149
149
  };
150
+ var nonModelClasses = new WeakSet();
151
+ export function registerNonModelClass(clazz) {
152
+ nonModelClasses.add(clazz);
153
+ }
154
+ export var isNonModelConstructor = function (obj) {
155
+ return nonModelClasses.has(obj);
156
+ };
150
157
  /*
151
158
  When we have GSI(s) with composite sort keys defined on a model
152
159
  There are some very particular rules regarding which fields must be included in the update mutation input
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/datastore",
3
- "version": "3.2.2-geo.18+6c63f2156",
3
+ "version": "3.2.2-geo.25+991c6fe85",
4
4
  "description": "AppSyncLocal support for aws-amplify",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib-esm/index.js",
@@ -48,13 +48,13 @@
48
48
  "fake-indexeddb": "3.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@aws-amplify/api": "4.0.7-geo.18+6c63f2156",
52
- "@aws-amplify/auth": "4.1.3-geo.18+6c63f2156",
53
- "@aws-amplify/core": "4.2.1-geo.18+6c63f2156",
54
- "@aws-amplify/pubsub": "4.0.7-geo.18+6c63f2156",
55
- "amazon-cognito-identity-js": "5.0.6-geo.18+6c63f2156",
51
+ "@aws-amplify/api": "4.0.7-geo.25+991c6fe85",
52
+ "@aws-amplify/auth": "4.1.3-geo.25+991c6fe85",
53
+ "@aws-amplify/core": "4.2.1-geo.25+991c6fe85",
54
+ "@aws-amplify/pubsub": "4.0.7-geo.25+991c6fe85",
55
+ "amazon-cognito-identity-js": "5.0.6-geo.25+991c6fe85",
56
56
  "idb": "5.0.6",
57
- "immer": "8.0.1",
57
+ "immer": "9.0.6",
58
58
  "ulid": "2.3.0",
59
59
  "uuid": "3.3.2",
60
60
  "zen-observable-ts": "0.8.19",
@@ -70,7 +70,7 @@
70
70
  "es2015",
71
71
  "dom",
72
72
  "esnext.asynciterable",
73
- "es2019.object"
73
+ "es2019"
74
74
  ],
75
75
  "allowJs": true,
76
76
  "esModuleInterop": true,
@@ -111,5 +111,5 @@
111
111
  "lib-esm"
112
112
  ]
113
113
  },
114
- "gitHead": "6c63f21561f95a37047e6083d80ae29812ebb420"
114
+ "gitHead": "991c6fe85f0c19e681ff08ee8ed6c0c726265522"
115
115
  }
@@ -16,6 +16,7 @@ import {
16
16
  ModelSortPredicateCreator,
17
17
  PredicateAll,
18
18
  } from '../predicates';
19
+ import { Adapter } from '../storage/adapter';
19
20
  import { ExclusiveStorage as Storage } from '../storage/storage';
20
21
  import { ControlMessage, SyncEngine } from '../sync';
21
22
  import {
@@ -49,7 +50,8 @@ import {
49
50
  ErrorHandler,
50
51
  SyncExpression,
51
52
  AuthModeStrategyType,
52
- ModelFields,
53
+ isNonModelFieldType,
54
+ isModelFieldType,
53
55
  } from '../types';
54
56
  import {
55
57
  DATASTORE,
@@ -62,6 +64,7 @@ import {
62
64
  SYNC,
63
65
  USER,
64
66
  isNullOrUndefined,
67
+ registerNonModelClass,
65
68
  } from '../util';
66
69
 
67
70
  setAutoFreeze(true);
@@ -277,6 +280,20 @@ const validateModelFields = (modelDefinition: SchemaModel | SchemaNonModel) => (
277
280
  const jsType = GraphQLScalarType.getJSType(type);
278
281
  const validateScalar = GraphQLScalarType.getValidationFunction(type);
279
282
 
283
+ if (type === 'AWSJSON') {
284
+ if (typeof v === jsType) {
285
+ return;
286
+ }
287
+ if (typeof v === 'string') {
288
+ try {
289
+ JSON.parse(v);
290
+ return;
291
+ } catch (error) {
292
+ throw new Error(`Field ${name} is an invalid JSON object. ${v}`);
293
+ }
294
+ }
295
+ }
296
+
280
297
  if (isArray) {
281
298
  let errorTypeText: string = jsType;
282
299
  if (!isRequired) {
@@ -340,6 +357,35 @@ const validateModelFields = (modelDefinition: SchemaModel | SchemaNonModel) => (
340
357
  }
341
358
  };
342
359
 
360
+ const castInstanceType = (
361
+ modelDefinition: SchemaModel | SchemaNonModel,
362
+ k: string,
363
+ v: any
364
+ ) => {
365
+ const { isArray, type } = modelDefinition.fields[k] || {};
366
+ // attempt to parse stringified JSON
367
+ if (
368
+ typeof v === 'string' &&
369
+ (isArray ||
370
+ type === 'AWSJSON' ||
371
+ isNonModelFieldType(type) ||
372
+ isModelFieldType(type))
373
+ ) {
374
+ try {
375
+ return JSON.parse(v);
376
+ } catch {
377
+ // if JSON is invalid, don't throw and let modelValidator handle it
378
+ }
379
+ }
380
+
381
+ // cast from numeric representation of boolean to JS boolean
382
+ if (typeof v === 'number' && type === 'Boolean') {
383
+ return Boolean(v);
384
+ }
385
+
386
+ return v;
387
+ };
388
+
343
389
  const initializeInstance = <T>(
344
390
  init: ModelInit<T>,
345
391
  modelDefinition: SchemaModel | SchemaNonModel,
@@ -347,8 +393,10 @@ const initializeInstance = <T>(
347
393
  ) => {
348
394
  const modelValidator = validateModelFields(modelDefinition);
349
395
  Object.entries(init).forEach(([k, v]) => {
350
- modelValidator(k, v);
351
- (<any>draft)[k] = v;
396
+ const parsedValue = castInstanceType(modelDefinition, k, v);
397
+
398
+ modelValidator(k, parsedValue);
399
+ (<any>draft)[k] = parsedValue;
352
400
  });
353
401
  };
354
402
 
@@ -374,13 +422,18 @@ const createModelClass = <T extends PersistentModel>(
374
422
  _deleted,
375
423
  } = modelInstanceMetadata;
376
424
 
377
- const id =
378
- // instancesIds is set by modelInstanceCreator, it is accessible only internally
379
- _id !== null && _id !== undefined
380
- ? _id
381
- : modelDefinition.syncable
382
- ? uuid4()
383
- : ulid();
425
+ // instancesIds are set by modelInstanceCreator, it is accessible only internally
426
+ const isInternal = _id !== null && _id !== undefined;
427
+
428
+ const id = isInternal
429
+ ? _id
430
+ : modelDefinition.syncable
431
+ ? uuid4()
432
+ : ulid();
433
+
434
+ if (!isInternal) {
435
+ checkReadOnlyPropertyOnCreate(draft, modelDefinition);
436
+ }
384
437
 
385
438
  draft.id = id;
386
439
 
@@ -411,7 +464,9 @@ const createModelClass = <T extends PersistentModel>(
411
464
  draft.id = source.id;
412
465
  const modelValidator = validateModelFields(modelDefinition);
413
466
  Object.entries(draft).forEach(([k, v]) => {
414
- modelValidator(k, v);
467
+ const parsedValue = castInstanceType(modelDefinition, k, v);
468
+
469
+ modelValidator(k, parsedValue);
415
470
  });
416
471
  },
417
472
  p => (patches = p)
@@ -419,6 +474,7 @@ const createModelClass = <T extends PersistentModel>(
419
474
 
420
475
  if (patches.length) {
421
476
  modelPatchesMap.set(model, [patches, source]);
477
+ checkReadOnlyPropertyOnUpdate(patches, modelDefinition);
422
478
  }
423
479
 
424
480
  return model;
@@ -449,6 +505,36 @@ const createModelClass = <T extends PersistentModel>(
449
505
  return clazz;
450
506
  };
451
507
 
508
+ const checkReadOnlyPropertyOnCreate = <T extends PersistentModel>(
509
+ draft: T,
510
+ modelDefinition: SchemaModel
511
+ ) => {
512
+ const modelKeys = Object.keys(draft);
513
+ const { fields } = modelDefinition;
514
+
515
+ modelKeys.forEach(key => {
516
+ if (fields[key] && fields[key].isReadOnly) {
517
+ throw new Error(`${key} is read-only.`);
518
+ }
519
+ });
520
+ };
521
+
522
+ const checkReadOnlyPropertyOnUpdate = (
523
+ patches: Patch[],
524
+ modelDefinition: SchemaModel
525
+ ) => {
526
+ const patchArray = patches.map(p => [p.path[0], p.value]);
527
+ const { fields } = modelDefinition;
528
+
529
+ patchArray.forEach(([key, val]) => {
530
+ if (!val || !fields[key]) return;
531
+
532
+ if (fields[key].isReadOnly) {
533
+ throw new Error(`${key} is read-only.`);
534
+ }
535
+ });
536
+ };
537
+
452
538
  const createNonModelClass = <T>(typeDefinition: SchemaNonModel) => {
453
539
  const clazz = <NonModelTypeConstructor<T>>(<unknown>class Model {
454
540
  constructor(init: ModelInit<T>) {
@@ -467,6 +553,8 @@ const createNonModelClass = <T>(typeDefinition: SchemaNonModel) => {
467
553
 
468
554
  Object.defineProperty(clazz, 'name', { value: typeDefinition.name });
469
555
 
556
+ registerNonModelClass(clazz);
557
+
470
558
  return clazz;
471
559
  };
472
560
 
@@ -617,7 +705,7 @@ class DataStore {
617
705
  ModelPredicate<any>
618
706
  > = new WeakMap<SchemaModel, ModelPredicate<any>>();
619
707
  private sessionId: string;
620
- private getAuthToken: Promise<string>;
708
+ private storageAdapter: Adapter;
621
709
 
622
710
  getModuleName() {
623
711
  return 'DataStore';
@@ -641,7 +729,7 @@ class DataStore {
641
729
  namespaceResolver,
642
730
  getModelConstructorByModelName,
643
731
  modelInstanceCreator,
644
- undefined,
732
+ this.storageAdapter,
645
733
  this.sessionId
646
734
  );
647
735
 
@@ -815,9 +903,6 @@ class DataStore {
815
903
 
816
904
  const modelDefinition = getModelDefinition(modelConstructor);
817
905
 
818
- // ensuring "read-only" data isn't being overwritten
819
- this.checkReadOnlyProperty(modelDefinition.fields, model, patchesTuple);
820
-
821
906
  const producedCondition = ModelPredicateCreator.createFromExisting(
822
907
  modelDefinition,
823
908
  condition
@@ -835,46 +920,6 @@ class DataStore {
835
920
  return savedModel;
836
921
  };
837
922
 
838
- private checkReadOnlyProperty(
839
- fields: ModelFields,
840
- model: Record<string, any>,
841
- patchesTuple: [
842
- Patch[],
843
- Readonly<
844
- {
845
- id: string;
846
- } & Record<string, any>
847
- >
848
- ]
849
- ) {
850
- if (!patchesTuple) {
851
- // saving a new model instance
852
- const modelKeys = Object.keys(model);
853
- modelKeys.forEach(key => {
854
- if (fields[key] && fields[key].isReadOnly) {
855
- throw new Error(`${key} is read-only.`);
856
- }
857
- });
858
- } else {
859
- // * Updating an existing instance via 'patchesTuple'
860
- // patchesTuple[0] is an object that contains the info we need
861
- // like the 'path' (mapped to the model's key) and the 'value' of the patch
862
- const patchArray = patchesTuple[0].map(p => [p.path[0], p.value]);
863
- patchArray.forEach(patch => {
864
- const [key, val] = [...patch];
865
-
866
- // the value of a read-only field should be undefined - if so, no need to do the following check
867
- if (!val || !fields[key]) return;
868
-
869
- // if the value is NOT undefined, we have to check the 'isReadOnly' property
870
- // and throw an error to avoid persisting a mutation
871
- if (fields[key].isReadOnly) {
872
- throw new Error(`${key} is read-only.`);
873
- }
874
- });
875
- }
876
- }
877
-
878
923
  setConflictHandler = (config: DataStoreConfig): ConflictHandler => {
879
924
  const { DataStore: configDataStore } = config;
880
925
 
@@ -1112,6 +1157,7 @@ class DataStore {
1112
1157
  fullSyncInterval: configFullSyncInterval,
1113
1158
  syncExpressions: configSyncExpressions,
1114
1159
  authProviders: configAuthProviders,
1160
+ storageAdapter: configStorageAdapter,
1115
1161
  ...configFromAmplify
1116
1162
  } = config;
1117
1163
 
@@ -1162,6 +1208,12 @@ class DataStore {
1162
1208
  configFullSyncInterval ||
1163
1209
  24 * 60; // 1 day
1164
1210
 
1211
+ this.storageAdapter =
1212
+ (configDataStore && configDataStore.storageAdapter) ||
1213
+ this.storageAdapter ||
1214
+ configStorageAdapter ||
1215
+ undefined;
1216
+
1165
1217
  this.sessionId = this.retrieveSessionId();
1166
1218
  };
1167
1219
 
package/src/index.ts CHANGED
@@ -1,3 +1,31 @@
1
- export { DataStore, DataStoreClass, initSchema } from './datastore/datastore';
2
- export { Predicates } from './predicates';
1
+ export {
2
+ DataStore,
3
+ DataStoreClass,
4
+ initSchema,
5
+ ModelInstanceCreator,
6
+ } from './datastore/datastore';
7
+
8
+ export {
9
+ Predicates,
10
+ ModelPredicateCreator,
11
+ ModelSortPredicateCreator,
12
+ } from './predicates';
13
+ export { Adapter as StorageAdapter } from './storage/adapter';
14
+
15
+ import {
16
+ traverseModel,
17
+ validatePredicate,
18
+ USER,
19
+ isNonModelConstructor,
20
+ isModelConstructor,
21
+ } from './util';
22
+
23
+ export const utils = {
24
+ USER,
25
+ traverseModel,
26
+ validatePredicate,
27
+ isNonModelConstructor,
28
+ isModelConstructor,
29
+ };
30
+
3
31
  export * from './types';
@@ -1,16 +1,16 @@
1
1
  import { browserOrNode, isWebWorker } from '@aws-amplify/core';
2
2
  import { Adapter } from '..';
3
+ import IndexedDBAdapter from '../IndexedDBAdapter';
4
+ import AsyncStorageAdapter from '../AsyncStorageAdapter';
3
5
 
4
6
  const getDefaultAdapter: () => Adapter = () => {
5
7
  const { isBrowser } = browserOrNode();
6
8
 
7
9
  if ((isBrowser && window.indexedDB) || (isWebWorker() && self.indexedDB)) {
8
- return require('../IndexedDBAdapter').default;
10
+ return IndexedDBAdapter;
9
11
  }
10
12
 
11
- const { AsyncStorageAdapter } = require('../AsyncStorageAdapter');
12
-
13
- return new AsyncStorageAdapter();
13
+ return AsyncStorageAdapter;
14
14
  };
15
15
 
16
16
  export default getDefaultAdapter;
@@ -57,7 +57,7 @@ class StorageClass implements StorageFacade {
57
57
  private readonly adapter?: Adapter,
58
58
  private readonly sessionId?: string
59
59
  ) {
60
- this.adapter = getDefaultAdapter();
60
+ this.adapter = this.adapter || getDefaultAdapter();
61
61
  this.pushStream = new PushStream();
62
62
  }
63
63
 
package/src/sync/index.ts CHANGED
@@ -908,6 +908,12 @@ export class SyncEngine {
908
908
  isRequired: true,
909
909
  isArray: false,
910
910
  },
911
+ lastSyncPredicate: {
912
+ name: 'lastSyncPredicate',
913
+ type: 'String',
914
+ isRequired: false,
915
+ isArray: false,
916
+ },
911
917
  },
912
918
  },
913
919
  },
package/src/sync/utils.ts CHANGED
@@ -395,9 +395,26 @@ export function createMutationInstanceFromModelOperation<
395
395
  exhaustiveCheck(opType);
396
396
  }
397
397
 
398
+ // stringify nested objects of type AWSJSON
399
+ // this allows us to return parsed JSON to users (see `castInstanceType()` in datastore.ts),
400
+ // but still send the object correctly over the wire
401
+ const replacer = (k, v) => {
402
+ const isAWSJSON =
403
+ k &&
404
+ v !== null &&
405
+ typeof v === 'object' &&
406
+ modelDefinition.fields[k] &&
407
+ modelDefinition.fields[k].type === 'AWSJSON';
408
+
409
+ if (isAWSJSON) {
410
+ return JSON.stringify(v);
411
+ }
412
+ return v;
413
+ };
414
+
398
415
  const mutationEvent = modelInstanceCreator(MutationEventConstructor, {
399
416
  ...(id ? { id } : {}),
400
- data: JSON.stringify(element),
417
+ data: JSON.stringify(element, replacer),
401
418
  modelId: element.id,
402
419
  model: model.name,
403
420
  operation,
package/src/types.ts CHANGED
@@ -13,6 +13,7 @@ import {
13
13
  } from './util';
14
14
  import { PredicateAll } from './predicates';
15
15
  import { GRAPHQL_AUTH_MODE } from '@aws-amplify/api-graphql';
16
+ import { Adapter } from './storage/adapter';
16
17
 
17
18
  //#region Schema types
18
19
  export type Schema = UserSchema & {
@@ -79,6 +80,35 @@ export function isTargetNameAssociation(
79
80
  export type ModelAttributes = ModelAttribute[];
80
81
  type ModelAttribute = { type: string; properties?: Record<string, any> };
81
82
 
83
+ export type ModelAuthRule = {
84
+ allow: string;
85
+ provider?: string;
86
+ operations?: string[];
87
+ ownerField?: string;
88
+ identityClaim?: string;
89
+ groups?: string[];
90
+ groupClaim?: string;
91
+ groupsField?: string;
92
+ };
93
+
94
+ export type ModelAttributeAuth = {
95
+ type: 'auth';
96
+ properties: {
97
+ rules: ModelAuthRule[];
98
+ };
99
+ };
100
+
101
+ export function isModelAttributeAuth(
102
+ attr: ModelAttribute
103
+ ): attr is ModelAttributeAuth {
104
+ return (
105
+ attr.type === 'auth' &&
106
+ attr.properties &&
107
+ attr.properties.rules &&
108
+ attr.properties.rules.length > 0
109
+ );
110
+ }
111
+
82
112
  type ModelAttributeKey = {
83
113
  type: 'key';
84
114
  properties: {
@@ -179,7 +209,7 @@ export namespace GraphQLScalarType {
179
209
  typeof GraphQLScalarType,
180
210
  'getJSType' | 'getValidationFunction'
181
211
  >
182
- ): 'string' | 'number' | 'boolean' {
212
+ ): 'string' | 'number' | 'boolean' | 'object' {
183
213
  switch (scalar) {
184
214
  case 'Boolean':
185
215
  return 'boolean';
@@ -189,7 +219,6 @@ export namespace GraphQLScalarType {
189
219
  case 'AWSTime':
190
220
  case 'AWSDateTime':
191
221
  case 'AWSEmail':
192
- case 'AWSJSON':
193
222
  case 'AWSURL':
194
223
  case 'AWSPhone':
195
224
  case 'AWSIPAddress':
@@ -198,8 +227,10 @@ export namespace GraphQLScalarType {
198
227
  case 'Float':
199
228
  case 'AWSTimestamp':
200
229
  return 'number';
230
+ case 'AWSJSON':
231
+ return 'object';
201
232
  default:
202
- exhaustiveCheck(scalar);
233
+ exhaustiveCheck(scalar as never);
203
234
  }
204
235
  }
205
236
 
@@ -277,7 +308,7 @@ export function isEnumFieldType(obj: any): obj is EnumFieldType {
277
308
  return false;
278
309
  }
279
310
 
280
- type ModelField = {
311
+ export type ModelField = {
281
312
  name: string;
282
313
  type:
283
314
  | keyof Omit<
@@ -619,6 +650,7 @@ export type DataStoreConfig = {
619
650
  fullSyncInterval?: number;
620
651
  syncExpressions?: SyncExpression[];
621
652
  authProviders?: AuthProviders;
653
+ storageAdapter?: Adapter;
622
654
  };
623
655
  authModeStrategyType?: AuthModeStrategyType;
624
656
  conflictHandler?: ConflictHandler; // default : retry until client wins up to x times
@@ -628,10 +660,11 @@ export type DataStoreConfig = {
628
660
  fullSyncInterval?: number;
629
661
  syncExpressions?: SyncExpression[];
630
662
  authProviders?: AuthProviders;
663
+ storageAdapter?: Adapter;
631
664
  };
632
665
 
633
666
  export type AuthProviders = {
634
- functionAuthProvider: Promise<string>;
667
+ functionAuthProvider: () => { token: string } | Promise<{ token: string }>;
635
668
  };
636
669
 
637
670
  export enum AuthModeStrategyType {
package/src/util.ts CHANGED
@@ -22,6 +22,7 @@ import {
22
22
  isModelAttributeKey,
23
23
  isModelAttributePrimaryKey,
24
24
  isModelAttributeCompositeKey,
25
+ NonModelTypeConstructor,
25
26
  } from './types';
26
27
  import { WordArray } from 'amazon-cognito-identity-js';
27
28
 
@@ -131,6 +132,18 @@ export const isModelConstructor = <T extends PersistentModel>(
131
132
  );
132
133
  };
133
134
 
135
+ const nonModelClasses = new WeakSet<NonModelTypeConstructor<any>>();
136
+
137
+ export function registerNonModelClass(clazz: NonModelTypeConstructor<any>) {
138
+ nonModelClasses.add(clazz);
139
+ }
140
+
141
+ export const isNonModelConstructor = (
142
+ obj: any
143
+ ): obj is NonModelTypeConstructor<any> => {
144
+ return nonModelClasses.has(obj);
145
+ };
146
+
134
147
  /*
135
148
  When we have GSI(s) with composite sort keys defined on a model
136
149
  There are some very particular rules regarding which fields must be included in the update mutation input