@aws-amplify/datastore 3.7.3 → 3.7.4-custom-pk.86

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 (137) hide show
  1. package/CHANGELOG.md +144 -17
  2. package/README.md +154 -0
  3. package/dist/aws-amplify-datastore.js +3740 -1599
  4. package/dist/aws-amplify-datastore.js.map +1 -1
  5. package/dist/aws-amplify-datastore.min.js +25 -95
  6. package/dist/aws-amplify-datastore.min.js.map +1 -1
  7. package/lib/authModeStrategies/multiAuthStrategy.d.ts +2 -2
  8. package/lib/authModeStrategies/multiAuthStrategy.js +32 -26
  9. package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
  10. package/lib/datastore/datastore.d.ts +17 -16
  11. package/lib/datastore/datastore.js +291 -83
  12. package/lib/datastore/datastore.js.map +1 -1
  13. package/lib/index.d.ts +3 -19
  14. package/lib/predicates/index.d.ts +3 -2
  15. package/lib/predicates/index.js +12 -2
  16. package/lib/predicates/index.js.map +1 -1
  17. package/lib/storage/adapter/AsyncStorageAdapter.d.ts +6 -2
  18. package/lib/storage/adapter/AsyncStorageAdapter.js +361 -193
  19. package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  20. package/lib/storage/adapter/AsyncStorageDatabase.d.ts +4 -4
  21. package/lib/storage/adapter/AsyncStorageDatabase.js +59 -28
  22. package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  23. package/lib/storage/adapter/InMemoryStore.js +2 -2
  24. package/lib/storage/adapter/InMemoryStore.js.map +1 -1
  25. package/lib/storage/adapter/IndexedDBAdapter.d.ts +7 -2
  26. package/lib/storage/adapter/IndexedDBAdapter.js +454 -252
  27. package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
  28. package/lib/storage/adapter/index.d.ts +1 -1
  29. package/lib/storage/storage.d.ts +3 -3
  30. package/lib/storage/storage.js +106 -28
  31. package/lib/storage/storage.js.map +1 -1
  32. package/lib/sync/index.d.ts +23 -7
  33. package/lib/sync/index.js +18 -17
  34. package/lib/sync/index.js.map +1 -1
  35. package/lib/sync/merger.d.ts +3 -3
  36. package/lib/sync/merger.js +8 -6
  37. package/lib/sync/merger.js.map +1 -1
  38. package/lib/sync/outbox.d.ts +2 -2
  39. package/lib/sync/outbox.js +12 -9
  40. package/lib/sync/outbox.js.map +1 -1
  41. package/lib/sync/processors/errorMaps.d.ts +17 -0
  42. package/lib/sync/processors/errorMaps.js +125 -0
  43. package/lib/sync/processors/errorMaps.js.map +1 -0
  44. package/lib/sync/processors/mutation.d.ts +22 -4
  45. package/lib/sync/processors/mutation.js +119 -51
  46. package/lib/sync/processors/mutation.js.map +1 -1
  47. package/lib/sync/processors/subscription.d.ts +4 -2
  48. package/lib/sync/processors/subscription.js +76 -41
  49. package/lib/sync/processors/subscription.js.map +1 -1
  50. package/lib/sync/processors/sync.d.ts +4 -2
  51. package/lib/sync/processors/sync.js +62 -27
  52. package/lib/sync/processors/sync.js.map +1 -1
  53. package/lib/sync/utils.d.ts +3 -2
  54. package/lib/sync/utils.js +58 -7
  55. package/lib/sync/utils.js.map +1 -1
  56. package/lib/types.d.ts +90 -34
  57. package/lib/types.js +31 -2
  58. package/lib/types.js.map +1 -1
  59. package/lib/util.d.ts +48 -33
  60. package/lib/util.js +219 -57
  61. package/lib/util.js.map +1 -1
  62. package/lib-esm/authModeStrategies/multiAuthStrategy.d.ts +2 -2
  63. package/lib-esm/authModeStrategies/multiAuthStrategy.js +32 -26
  64. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
  65. package/lib-esm/datastore/datastore.d.ts +17 -16
  66. package/lib-esm/datastore/datastore.js +293 -85
  67. package/lib-esm/datastore/datastore.js.map +1 -1
  68. package/lib-esm/index.d.ts +3 -19
  69. package/lib-esm/predicates/index.d.ts +3 -2
  70. package/lib-esm/predicates/index.js +13 -3
  71. package/lib-esm/predicates/index.js.map +1 -1
  72. package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +6 -2
  73. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +361 -193
  74. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  75. package/lib-esm/storage/adapter/AsyncStorageDatabase.d.ts +4 -4
  76. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +60 -29
  77. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  78. package/lib-esm/storage/adapter/InMemoryStore.js +2 -2
  79. package/lib-esm/storage/adapter/InMemoryStore.js.map +1 -1
  80. package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +7 -2
  81. package/lib-esm/storage/adapter/IndexedDBAdapter.js +454 -252
  82. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
  83. package/lib-esm/storage/adapter/index.d.ts +1 -1
  84. package/lib-esm/storage/storage.d.ts +3 -3
  85. package/lib-esm/storage/storage.js +106 -28
  86. package/lib-esm/storage/storage.js.map +1 -1
  87. package/lib-esm/sync/index.d.ts +23 -7
  88. package/lib-esm/sync/index.js +20 -19
  89. package/lib-esm/sync/index.js.map +1 -1
  90. package/lib-esm/sync/merger.d.ts +3 -3
  91. package/lib-esm/sync/merger.js +8 -6
  92. package/lib-esm/sync/merger.js.map +1 -1
  93. package/lib-esm/sync/outbox.d.ts +2 -2
  94. package/lib-esm/sync/outbox.js +13 -10
  95. package/lib-esm/sync/outbox.js.map +1 -1
  96. package/lib-esm/sync/processors/errorMaps.d.ts +17 -0
  97. package/lib-esm/sync/processors/errorMaps.js +119 -0
  98. package/lib-esm/sync/processors/errorMaps.js.map +1 -0
  99. package/lib-esm/sync/processors/mutation.d.ts +22 -4
  100. package/lib-esm/sync/processors/mutation.js +122 -54
  101. package/lib-esm/sync/processors/mutation.js.map +1 -1
  102. package/lib-esm/sync/processors/subscription.d.ts +4 -2
  103. package/lib-esm/sync/processors/subscription.js +77 -42
  104. package/lib-esm/sync/processors/subscription.js.map +1 -1
  105. package/lib-esm/sync/processors/sync.d.ts +4 -2
  106. package/lib-esm/sync/processors/sync.js +62 -27
  107. package/lib-esm/sync/processors/sync.js.map +1 -1
  108. package/lib-esm/sync/utils.d.ts +3 -2
  109. package/lib-esm/sync/utils.js +58 -8
  110. package/lib-esm/sync/utils.js.map +1 -1
  111. package/lib-esm/types.d.ts +90 -34
  112. package/lib-esm/types.js +29 -3
  113. package/lib-esm/types.js.map +1 -1
  114. package/lib-esm/util.d.ts +48 -33
  115. package/lib-esm/util.js +207 -54
  116. package/lib-esm/util.js.map +1 -1
  117. package/package.json +10 -9
  118. package/src/authModeStrategies/multiAuthStrategy.ts +24 -21
  119. package/src/datastore/datastore.ts +448 -148
  120. package/src/predicates/index.ts +32 -10
  121. package/src/storage/adapter/AsyncStorageAdapter.ts +305 -78
  122. package/src/storage/adapter/AsyncStorageDatabase.ts +65 -26
  123. package/src/storage/adapter/InMemoryStore.ts +2 -2
  124. package/src/storage/adapter/IndexedDBAdapter.ts +344 -101
  125. package/src/storage/adapter/index.ts +1 -1
  126. package/src/storage/storage.ts +85 -24
  127. package/src/sync/index.ts +74 -58
  128. package/src/sync/merger.ts +16 -4
  129. package/src/sync/outbox.ts +22 -8
  130. package/src/sync/processors/errorMaps.ts +93 -0
  131. package/src/sync/processors/mutation.ts +143 -84
  132. package/src/sync/processors/subscription.ts +67 -36
  133. package/src/sync/processors/sync.ts +37 -12
  134. package/src/sync/utils.ts +67 -16
  135. package/src/types.ts +252 -50
  136. package/src/util.ts +256 -42
  137. package/ssr/package.json +1 -1
@@ -1,6 +1,9 @@
1
1
  import { ModelInstanceCreator } from './datastore/datastore';
2
2
  import { PredicateAll } from './predicates';
3
3
  import { GRAPHQL_AUTH_MODE } from '@aws-amplify/api-graphql';
4
+ import { Auth } from '@aws-amplify/auth';
5
+ import { API } from '@aws-amplify/api';
6
+ import Cache from '@aws-amplify/cache';
4
7
  import { Adapter } from './storage/adapter';
5
8
  export declare type Schema = UserSchema & {
6
9
  version: string;
@@ -43,17 +46,19 @@ declare type SchemaEnum = {
43
46
  export declare type ModelAssociation = AssociatedWith | TargetNameAssociation;
44
47
  declare type AssociatedWith = {
45
48
  connectionType: 'HAS_MANY' | 'HAS_ONE';
46
- associatedWith: string;
49
+ associatedWith: string | string[];
47
50
  targetName?: string;
51
+ targetNames?: string[];
48
52
  };
49
53
  export declare function isAssociatedWith(obj: any): obj is AssociatedWith;
50
54
  declare type TargetNameAssociation = {
51
55
  connectionType: 'BELONGS_TO';
52
- targetName: string;
56
+ targetName?: string;
57
+ targetNames?: string[];
53
58
  };
54
59
  export declare function isTargetNameAssociation(obj: any): obj is TargetNameAssociation;
55
60
  export declare type ModelAttributes = ModelAttribute[];
56
- declare type ModelAttribute = {
61
+ export declare type ModelAttribute = {
57
62
  type: string;
58
63
  properties?: Record<string, any>;
59
64
  };
@@ -84,6 +89,7 @@ declare type ModelAttributeKey = {
84
89
  declare type ModelAttributePrimaryKey = {
85
90
  type: 'key';
86
91
  properties: {
92
+ name: never;
87
93
  fields: string[];
88
94
  };
89
95
  };
@@ -176,44 +182,74 @@ export declare type ModelField = {
176
182
  export declare type NonModelTypeConstructor<T> = {
177
183
  new (init: T): T;
178
184
  };
179
- export declare type PersistentModelConstructor<T extends PersistentModel, K extends PersistentModelMetaData = {
180
- readOnlyFields: 'createdAt' | 'updatedAt';
181
- }> = {
182
- new (init: ModelInit<T, K>): T;
183
- copyOf(src: T, mutator: (draft: MutableModel<T, K>) => void): T;
184
- };
185
- export declare type TypeConstructorMap = Record<string, PersistentModelConstructor<any> | NonModelTypeConstructor<any>>;
186
- export declare type PersistentModelMetaData = {
187
- readOnlyFields: string;
188
- };
189
- export declare type PersistentModel = Readonly<{
190
- id: string;
191
- } & Record<string, any>>;
192
- export declare type ModelInit<T, K extends PersistentModelMetaData = {
193
- readOnlyFields: 'createdAt' | 'updatedAt';
194
- }> = Omit<T, 'id' | K['readOnlyFields']>;
185
+ export declare type PersistentModelConstructor<T extends PersistentModel> = {
186
+ new (init: ModelInit<T, PersistentModelMetaData<T>>): T;
187
+ copyOf(src: T, mutator: (draft: MutableModel<T, PersistentModelMetaData<T>>) => void): T;
188
+ };
189
+ export declare type TypeConstructorMap = Record<string, PersistentModelConstructor<any> | NonModelTypeConstructor<unknown>>;
190
+ export declare const __identifierBrand__: unique symbol;
191
+ export declare type IdentifierBrand<T, K> = T & {
192
+ [__identifierBrand__]: K;
193
+ };
194
+ export declare type ManagedIdentifier<T, F extends keyof T> = IdentifierBrand<{
195
+ field: F extends string ? F : never;
196
+ type: T;
197
+ }, 'ManagedIdentifier'>;
198
+ export declare type OptionallyManagedIdentifier<T, F extends keyof T> = IdentifierBrand<{
199
+ field: F extends string ? F : never;
200
+ type: T;
201
+ }, 'OptionallyManagedIdentifier'>;
202
+ export declare type CompositeIdentifier<T, K extends Array<keyof T>> = IdentifierBrand<{
203
+ fields: K;
204
+ type: T;
205
+ }, 'CompositeIdentifier'>;
206
+ export declare type CustomIdentifier<T, K extends keyof T> = CompositeIdentifier<T, [K]>;
207
+ export declare type Identifier<T> = ManagedIdentifier<T, any> | OptionallyManagedIdentifier<T, any> | CompositeIdentifier<T, any> | CustomIdentifier<T, any>;
208
+ export declare type IdentifierFields<T extends PersistentModel, M extends PersistentModelMetaData<T> = never> = (MetadataOrDefault<T, M>['identifier'] extends ManagedIdentifier<any, any> | OptionallyManagedIdentifier<any, any> ? MetadataOrDefault<T, M>['identifier']['field'] : MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, infer B> ? B[number] : MetadataOrDefault<T, M>['identifier']['field']) & string;
209
+ export declare type IdentifierFieldsForInit<T extends PersistentModel, M extends PersistentModelMetaData<T>> = MetadataOrDefault<T, M>['identifier'] extends DefaultPersistentModelMetaData | ManagedIdentifier<T, any> ? never : MetadataOrDefault<T, M>['identifier'] extends OptionallyManagedIdentifier<T, any> ? IdentifierFields<T, M> : MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, any> ? IdentifierFields<T, M> : never;
210
+ export declare const __modelMeta__: unique symbol;
211
+ export declare type PersistentModelMetaData<T> = {
212
+ identifier?: Identifier<T>;
213
+ readOnlyFields?: string;
214
+ };
215
+ export declare type DefaultPersistentModelMetaData = {
216
+ identifier: ManagedIdentifier<{
217
+ id: string;
218
+ }, 'id'>;
219
+ readOnlyFields: never;
220
+ };
221
+ export declare type MetadataOrDefault<T extends PersistentModel, _ extends PersistentModelMetaData<T> = never> = T extends {
222
+ [__modelMeta__]: PersistentModelMetaData<T>;
223
+ } ? T[typeof __modelMeta__] : DefaultPersistentModelMetaData;
224
+ export declare type PersistentModel = Readonly<Record<string, any>>;
225
+ export declare type MetadataReadOnlyFields<T extends PersistentModel, M extends PersistentModelMetaData<T>> = Extract<MetadataOrDefault<T, M>['readOnlyFields'] | M['readOnlyFields'], keyof T>;
226
+ export declare type ModelInit<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = Omit<T, typeof __modelMeta__ | IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>> & (MetadataOrDefault<T, M>['identifier'] extends OptionallyManagedIdentifier<T, any> ? Partial<Pick<T, IdentifierFieldsForInit<T, M>>> : Required<Pick<T, IdentifierFieldsForInit<T, M>>>);
195
227
  declare type DeepWritable<T> = {
196
228
  -readonly [P in keyof T]: T[P] extends TypeName<T[P]> ? T[P] : DeepWritable<T[P]>;
197
229
  };
198
- export declare type MutableModel<T extends Record<string, any>, K extends PersistentModelMetaData = {
199
- readOnlyFields: 'createdAt' | 'updatedAt';
200
- }> = DeepWritable<Omit<T, 'id' | K['readOnlyFields']>> & Readonly<Pick<T, 'id' | K['readOnlyFields']>>;
230
+ export declare type MutableModel<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = DeepWritable<Omit<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>> & Readonly<Pick<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>>;
201
231
  export declare type ModelInstanceMetadata = {
202
- id: string;
203
232
  _version: number;
204
233
  _lastChangedAt: number;
205
234
  _deleted: boolean;
206
235
  };
236
+ export declare type IdentifierFieldValue<T extends PersistentModel, M extends PersistentModelMetaData<T>> = MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, any> ? MetadataOrDefault<T, M>['identifier']['fields'] extends [any] ? T[MetadataOrDefault<T, M>['identifier']['fields'][0]] : never : T[MetadataOrDefault<T, M>['identifier']['field']];
237
+ export declare type IdentifierFieldOrIdentifierObject<T extends PersistentModel, M extends PersistentModelMetaData<T>> = Pick<T, IdentifierFields<T, M>> | IdentifierFieldValue<T, M>;
238
+ export declare function isIdentifierFieldValue<T extends PersistentModel>(obj: any, modelDefinition: SchemaModel): obj is IdentifierFieldValue<T extends PersistentModel ? T : never, any>;
239
+ export declare function isIdentifierFieldOrObject<T extends PersistentModel>(obj: any, modelDefinition: SchemaModel): obj is IdentifierFieldOrIdentifierObject<T, any>;
240
+ export declare function isIdentifierObject<T extends PersistentModel>(obj: any, modelDefinition: SchemaModel): obj is IdentifierFields<T extends PersistentModel ? T : never, any>;
207
241
  export declare enum OpType {
208
242
  INSERT = "INSERT",
209
243
  UPDATE = "UPDATE",
210
244
  DELETE = "DELETE"
211
245
  }
212
- export declare type SubscriptionMessage<T extends PersistentModel> = {
246
+ export declare type SubscriptionMessage<T extends PersistentModel> = Pick<InternalSubscriptionMessage<T>, 'opType' | 'element' | 'model' | 'condition'>;
247
+ export declare type InternalSubscriptionMessage<T extends PersistentModel> = {
213
248
  opType: OpType;
214
249
  element: T;
215
250
  model: PersistentModelConstructor<T>;
216
251
  condition: PredicatesGroup<T> | null;
252
+ savedElement?: T;
217
253
  };
218
254
  export declare type DataStoreSnapshot<T extends PersistentModel> = {
219
255
  items: T[];
@@ -332,11 +368,16 @@ export declare type RelationType = {
332
368
  modelName: string;
333
369
  relationType: 'HAS_ONE' | 'HAS_MANY' | 'BELONGS_TO';
334
370
  targetName?: string;
335
- associatedWith?: string;
371
+ targetNames?: string[];
372
+ associatedWith?: string | string[];
336
373
  };
374
+ declare type IndexOptions = {
375
+ unique?: boolean;
376
+ };
377
+ export declare type IndexesType = Array<[string, string[], IndexOptions?]>;
337
378
  export declare type RelationshipType = {
338
379
  [modelName: string]: {
339
- indexes: string[];
380
+ indexes: IndexesType;
340
381
  relationTypes: RelationType[];
341
382
  };
342
383
  };
@@ -351,7 +392,7 @@ export declare type DataStoreConfig = {
351
392
  DataStore?: {
352
393
  authModeStrategyType?: AuthModeStrategyType;
353
394
  conflictHandler?: ConflictHandler;
354
- errorHandler?: (error: SyncError) => void;
395
+ errorHandler?: (error: SyncError<PersistentModel>) => void;
355
396
  maxRecordsToSync?: number;
356
397
  syncPageSize?: number;
357
398
  fullSyncInterval?: number;
@@ -361,7 +402,7 @@ export declare type DataStoreConfig = {
361
402
  };
362
403
  authModeStrategyType?: AuthModeStrategyType;
363
404
  conflictHandler?: ConflictHandler;
364
- errorHandler?: (error: SyncError) => void;
405
+ errorHandler?: (error: SyncError<PersistentModel>) => void;
365
406
  maxRecordsToSync?: number;
366
407
  syncPageSize?: number;
367
408
  fullSyncInterval?: number;
@@ -419,17 +460,27 @@ export declare type SyncConflict = {
419
460
  operation: OpType;
420
461
  attempts: number;
421
462
  };
422
- export declare type SyncError = {
463
+ export declare type SyncError<T extends PersistentModel> = {
423
464
  message: string;
424
- errorType: string;
425
- errorInfo: string;
426
- localModel: PersistentModel;
427
- remoteModel: PersistentModel;
465
+ errorType: ErrorType;
466
+ errorInfo?: string;
467
+ recoverySuggestion?: string;
468
+ model?: string;
469
+ localModel: T;
470
+ remoteModel: T;
471
+ process: ProcessName;
428
472
  operation: string;
473
+ cause?: Error;
429
474
  };
475
+ export declare type ErrorType = 'ConfigError' | 'BadModel' | 'BadRecord' | 'Unauthorized' | 'Transient' | 'Unknown';
476
+ export declare enum ProcessName {
477
+ 'sync' = "sync",
478
+ 'mutate' = "mutate",
479
+ 'subscribe' = "subscribe"
480
+ }
430
481
  export declare const DISCARD: unique symbol;
431
482
  export declare type ConflictHandler = (conflict: SyncConflict) => Promise<PersistentModel | typeof DISCARD> | PersistentModel | typeof DISCARD;
432
- export declare type ErrorHandler = (error: SyncError) => void;
483
+ export declare type ErrorHandler = (error: SyncError<PersistentModel>) => void;
433
484
  export declare type DeferredCallbackResolverOptions = {
434
485
  callback: () => void;
435
486
  maxInterval?: number;
@@ -439,4 +490,9 @@ export declare enum LimitTimerRaceResolvedValues {
439
490
  LIMIT = "LIMIT",
440
491
  TIMER = "TIMER"
441
492
  }
493
+ export declare type AmplifyContext = {
494
+ Auth: typeof Auth;
495
+ API: typeof API;
496
+ Cache: typeof Cache;
497
+ };
442
498
  export {};
package/lib-esm/types.js CHANGED
@@ -34,7 +34,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
35
  }
36
36
  };
37
- import { exhaustiveCheck, isAWSDate, isAWSTime, isAWSDateTime, isAWSTimestamp, isAWSEmail, isAWSJSON, isAWSURL, isAWSPhone, isAWSIPAddress, } from './util';
37
+ import { exhaustiveCheck, isAWSDate, isAWSTime, isAWSDateTime, isAWSTimestamp, isAWSEmail, isAWSJSON, isAWSURL, isAWSPhone, isAWSIPAddress, extractPrimaryKeyFieldNames, } from './util';
38
38
  export function isSchemaModel(obj) {
39
39
  return obj && obj.pluralName !== undefined;
40
40
  }
@@ -42,7 +42,7 @@ export function isAssociatedWith(obj) {
42
42
  return obj && obj.associatedWith;
43
43
  }
44
44
  export function isTargetNameAssociation(obj) {
45
- return obj && obj.targetName;
45
+ return (obj === null || obj === void 0 ? void 0 : obj.targetName) || (obj === null || obj === void 0 ? void 0 : obj.targetNames);
46
46
  }
47
47
  export function isModelAttributeAuth(attr) {
48
48
  return (attr.type === 'auth' &&
@@ -170,6 +170,27 @@ export function isEnumFieldType(obj) {
170
170
  return true;
171
171
  return false;
172
172
  }
173
+ export function isIdentifierFieldValue(obj, modelDefinition) {
174
+ var _a;
175
+ var keys = extractPrimaryKeyFieldNames(modelDefinition);
176
+ if (keys.length === 1) {
177
+ var type = ((_a = modelDefinition === null || modelDefinition === void 0 ? void 0 : modelDefinition.fields[keys[0]]) !== null && _a !== void 0 ? _a : {}).type;
178
+ if (isGraphQLScalarType(type)) {
179
+ var jsType = GraphQLScalarType.getJSType(type);
180
+ return typeof obj === jsType;
181
+ }
182
+ return false;
183
+ }
184
+ return false;
185
+ }
186
+ export function isIdentifierFieldOrObject(obj, modelDefinition) {
187
+ return (isIdentifierFieldValue(obj, modelDefinition) ||
188
+ isIdentifierObject(obj, modelDefinition));
189
+ }
190
+ export function isIdentifierObject(obj, modelDefinition) {
191
+ var keys = extractPrimaryKeyFieldNames(modelDefinition);
192
+ return (typeof obj === 'object' && obj && keys.every(function (k) { return obj[k] !== undefined; }));
193
+ }
173
194
  //#endregion
174
195
  //#region Subscription messages
175
196
  export var OpType;
@@ -216,11 +237,16 @@ export function syncExpression(modelConstructor, conditionProducer) {
216
237
  });
217
238
  });
218
239
  }
240
+ export var ProcessName;
241
+ (function (ProcessName) {
242
+ ProcessName["sync"] = "sync";
243
+ ProcessName["mutate"] = "mutate";
244
+ ProcessName["subscribe"] = "subscribe";
245
+ })(ProcessName || (ProcessName = {}));
219
246
  export var DISCARD = Symbol('DISCARD');
220
247
  export var LimitTimerRaceResolvedValues;
221
248
  (function (LimitTimerRaceResolvedValues) {
222
249
  LimitTimerRaceResolvedValues["LIMIT"] = "LIMIT";
223
250
  LimitTimerRaceResolvedValues["TIMER"] = "TIMER";
224
251
  })(LimitTimerRaceResolvedValues || (LimitTimerRaceResolvedValues = {}));
225
- //#endregion
226
252
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib-esm/util.d.ts CHANGED
@@ -1,37 +1,15 @@
1
1
  import { ULID } from 'ulid';
2
- import { ModelInstanceMetadata, PersistentModel, PersistentModelConstructor, PredicateObject, PredicatesGroup, RelationshipType, RelationType, ModelKeys, ModelAttributes, SchemaNamespace, SortPredicatesGroup, NonModelTypeConstructor, DeferredCallbackResolverOptions } from './types';
3
- export declare const exhaustiveCheck: (obj: never, throwOnError?: boolean) => void;
4
- export declare const isNullOrUndefined: (val: any) => boolean;
5
- export declare const validatePredicate: <T extends Readonly<{
6
- id: string;
7
- } & Record<string, any>>>(model: T, groupType: "and" | "or" | "not", predicatesOrGroups: (PredicateObject<T> | PredicatesGroup<T>)[]) => any;
8
- export declare const validatePredicateField: <T>(value: T, operator: "ne" | "eq" | "le" | "lt" | "ge" | "gt" | "between" | "beginsWith" | "contains" | "notContains", operand: T | [T, T]) => boolean;
9
- export declare const isModelConstructor: <T extends Readonly<{
10
- id: string;
11
- } & Record<string, any>>>(obj: any) => obj is PersistentModelConstructor<T, {
12
- readOnlyFields: "createdAt" | "updatedAt";
13
- }>;
14
- export declare function registerNonModelClass(clazz: NonModelTypeConstructor<any>): void;
15
- export declare const isNonModelConstructor: (obj: any) => obj is NonModelTypeConstructor<any>;
16
- export declare const processCompositeKeys: (attributes: ModelAttributes) => Set<string>[];
17
- export declare const establishRelationAndKeys: (namespace: SchemaNamespace) => [RelationshipType, ModelKeys];
18
- export declare const traverseModel: <T extends Readonly<{
19
- id: string;
20
- } & Record<string, any>>>(srcModelName: string, instance: T, namespace: SchemaNamespace, modelInstanceCreator: <T_1 extends Readonly<{
21
- id: string;
22
- } & Record<string, any>> = Readonly<{
23
- id: string;
24
- } & Record<string, any>>>(modelConstructor: PersistentModelConstructor<T_1, {
25
- readOnlyFields: "createdAt" | "updatedAt";
26
- }>, init: Pick<T_1, Exclude<keyof T_1, "id" | "createdAt" | "updatedAt">> & Partial<ModelInstanceMetadata>) => T_1, getModelConstructorByModelName: (namsespaceName: string, modelName: string) => PersistentModelConstructor<any, {
27
- readOnlyFields: "createdAt" | "updatedAt";
28
- }>) => {
29
- modelName: string;
30
- item: T;
31
- instance: T;
32
- }[];
33
- export declare const getIndex: (rel: RelationType[], src: string) => string;
34
- export declare const getIndexFromAssociation: (indexes: string[], src: string) => string;
2
+ import { Patch } from 'immer';
3
+ import { PersistentModel, PersistentModelConstructor, PredicateObject, PredicatesGroup, RelationshipType, RelationType, ModelKeys, ModelAttributes, SchemaNamespace, SortPredicatesGroup, NonModelTypeConstructor, DeferredCallbackResolverOptions, SchemaModel, ModelAttribute, IndexesType } from './types';
4
+ export declare const errorMessages: {
5
+ idEmptyString: string;
6
+ };
7
+ export declare function extractKeyIfExists(modelDefinition: SchemaModel): ModelAttribute | undefined;
8
+ export declare function extractPrimaryKeyFieldNames(modelDefinition: SchemaModel): string[];
9
+ export declare function extractPrimaryKeyValues<T extends PersistentModel>(model: T, keyFields: string[]): string[];
10
+ export declare function extractPrimaryKeysAndValues<T extends PersistentModel>(model: T, keyFields: string[]): any;
11
+ export declare function isIdManaged(modelDefinition: SchemaModel): boolean;
12
+ export declare function isIdOptionallyManaged(modelDefinition: SchemaModel): boolean;
35
13
  export declare enum NAMESPACES {
36
14
  DATASTORE = "datastore",
37
15
  USER = "user",
@@ -43,6 +21,23 @@ declare const USER = NAMESPACES.USER;
43
21
  declare const SYNC = NAMESPACES.SYNC;
44
22
  declare const STORAGE = NAMESPACES.STORAGE;
45
23
  export { USER, SYNC, STORAGE, DATASTORE };
24
+ export declare const USER_AGENT_SUFFIX_DATASTORE = "/DataStore";
25
+ export declare const exhaustiveCheck: (obj: never, throwOnError?: boolean) => void;
26
+ export declare const isNullOrUndefined: (val: any) => boolean;
27
+ export declare const validatePredicate: <T extends Readonly<Record<string, any>>>(model: T, groupType: "and" | "or" | "not", predicatesOrGroups: (PredicateObject<T> | PredicatesGroup<T>)[]) => any;
28
+ export declare const validatePredicateField: <T>(value: T, operator: "ne" | "eq" | "le" | "lt" | "ge" | "gt" | "between" | "beginsWith" | "contains" | "notContains", operand: T | [T, T]) => boolean;
29
+ export declare const isModelConstructor: <T extends Readonly<Record<string, any>>>(obj: any) => obj is PersistentModelConstructor<T>;
30
+ export declare function registerNonModelClass(clazz: NonModelTypeConstructor<any>): void;
31
+ export declare const isNonModelConstructor: (obj: any) => obj is NonModelTypeConstructor<any>;
32
+ export declare const processCompositeKeys: (attributes: ModelAttributes) => Set<string>[];
33
+ export declare const establishRelationAndKeys: (namespace: SchemaNamespace) => [RelationshipType, ModelKeys];
34
+ export declare const traverseModel: <T extends Readonly<Record<string, any>>>(srcModelName: string, instance: T, namespace: SchemaNamespace, modelInstanceCreator: <T_1 extends Readonly<Record<string, any>>>(modelConstructor: PersistentModelConstructor<T_1>, init: Partial<T_1>) => T_1, getModelConstructorByModelName: (namsespaceName: string, modelName: string) => PersistentModelConstructor<any>) => {
35
+ modelName: string;
36
+ item: T;
37
+ instance: T;
38
+ }[];
39
+ export declare const getIndex: (rel: RelationType[], src: any) => string;
40
+ export declare const getIndexFromAssociation: (indexes: IndexesType, src: string | string[]) => string;
46
41
  export declare const isPrivateMode: () => Promise<unknown>;
47
42
  export declare function monotonicUlidFactory(seed?: number): ULID;
48
43
  /**
@@ -91,3 +86,23 @@ export declare class DeferredCallbackResolver {
91
86
  clear(): void;
92
87
  resolve(): void;
93
88
  }
89
+ /**
90
+ * merge two sets of patches created by immer produce.
91
+ * newPatches take precedent over oldPatches for patches modifying the same path.
92
+ * In the case many consecutive pathces are merged the original model should
93
+ * always be the root model.
94
+ *
95
+ * Example:
96
+ * A -> B, patches1
97
+ * B -> C, patches2
98
+ *
99
+ * mergePatches(A, patches1, patches2) to get patches for A -> C
100
+ *
101
+ * @param originalSource the original Model the patches should be applied to
102
+ * @param oldPatches immer produce patch list
103
+ * @param newPatches immer produce patch list (will take precedence)
104
+ * @return merged patches
105
+ */
106
+ export declare function mergePatches<T>(originalSource: T, oldPatches: Patch[], newPatches: Patch[]): Patch[];
107
+ export declare function extractTargetNamesFromSrc(src: any): string[] | undefined;
108
+ export declare function indexNameFromKeys(keys: string[]): string;