@aws-amplify/datastore 3.12.12 → 3.12.13-custom-pk.1

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 (105) hide show
  1. package/dist/aws-amplify-datastore.js +1854 -965
  2. package/dist/aws-amplify-datastore.js.map +1 -1
  3. package/dist/aws-amplify-datastore.min.js +7 -7
  4. package/dist/aws-amplify-datastore.min.js.map +1 -1
  5. package/lib/datastore/datastore.d.ts +13 -16
  6. package/lib/datastore/datastore.js +130 -63
  7. package/lib/datastore/datastore.js.map +1 -1
  8. package/lib/index.d.ts +3 -19
  9. package/lib/predicates/index.d.ts +3 -2
  10. package/lib/predicates/index.js +12 -2
  11. package/lib/predicates/index.js.map +1 -1
  12. package/lib/storage/adapter/AsyncStorageAdapter.d.ts +4 -3
  13. package/lib/storage/adapter/AsyncStorageAdapter.js +354 -203
  14. package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  15. package/lib/storage/adapter/AsyncStorageDatabase.d.ts +14 -4
  16. package/lib/storage/adapter/AsyncStorageDatabase.js +65 -28
  17. package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  18. package/lib/storage/adapter/IndexedDBAdapter.d.ts +5 -4
  19. package/lib/storage/adapter/IndexedDBAdapter.js +389 -267
  20. package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
  21. package/lib/storage/adapter/index.d.ts +1 -1
  22. package/lib/storage/storage.d.ts +1 -1
  23. package/lib/storage/storage.js +92 -27
  24. package/lib/storage/storage.js.map +1 -1
  25. package/lib/sync/index.d.ts +21 -4
  26. package/lib/sync/index.js +13 -11
  27. package/lib/sync/index.js.map +1 -1
  28. package/lib/sync/merger.d.ts +3 -3
  29. package/lib/sync/merger.js +7 -6
  30. package/lib/sync/merger.js.map +1 -1
  31. package/lib/sync/outbox.d.ts +2 -2
  32. package/lib/sync/outbox.js +11 -9
  33. package/lib/sync/outbox.js.map +1 -1
  34. package/lib/sync/processors/mutation.js +60 -42
  35. package/lib/sync/processors/mutation.js.map +1 -1
  36. package/lib/sync/processors/subscription.js.map +1 -1
  37. package/lib/sync/processors/sync.js.map +1 -1
  38. package/lib/sync/utils.d.ts +3 -2
  39. package/lib/sync/utils.js +61 -8
  40. package/lib/sync/utils.js.map +1 -1
  41. package/lib/types.d.ts +64 -25
  42. package/lib/types.js +10 -1
  43. package/lib/types.js.map +1 -1
  44. package/lib/util.d.ts +56 -24
  45. package/lib/util.js +334 -170
  46. package/lib/util.js.map +1 -1
  47. package/lib-esm/datastore/datastore.d.ts +13 -16
  48. package/lib-esm/datastore/datastore.js +132 -65
  49. package/lib-esm/datastore/datastore.js.map +1 -1
  50. package/lib-esm/index.d.ts +3 -19
  51. package/lib-esm/predicates/index.d.ts +3 -2
  52. package/lib-esm/predicates/index.js +13 -3
  53. package/lib-esm/predicates/index.js.map +1 -1
  54. package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +4 -3
  55. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +355 -204
  56. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  57. package/lib-esm/storage/adapter/AsyncStorageDatabase.d.ts +14 -4
  58. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +66 -29
  59. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  60. package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +5 -4
  61. package/lib-esm/storage/adapter/IndexedDBAdapter.js +390 -268
  62. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
  63. package/lib-esm/storage/adapter/index.d.ts +1 -1
  64. package/lib-esm/storage/storage.d.ts +1 -1
  65. package/lib-esm/storage/storage.js +92 -27
  66. package/lib-esm/storage/storage.js.map +1 -1
  67. package/lib-esm/sync/index.d.ts +21 -4
  68. package/lib-esm/sync/index.js +15 -13
  69. package/lib-esm/sync/index.js.map +1 -1
  70. package/lib-esm/sync/merger.d.ts +3 -3
  71. package/lib-esm/sync/merger.js +7 -6
  72. package/lib-esm/sync/merger.js.map +1 -1
  73. package/lib-esm/sync/outbox.d.ts +2 -2
  74. package/lib-esm/sync/outbox.js +12 -10
  75. package/lib-esm/sync/outbox.js.map +1 -1
  76. package/lib-esm/sync/processors/mutation.js +61 -43
  77. package/lib-esm/sync/processors/mutation.js.map +1 -1
  78. package/lib-esm/sync/processors/subscription.js.map +1 -1
  79. package/lib-esm/sync/processors/sync.js.map +1 -1
  80. package/lib-esm/sync/utils.d.ts +3 -2
  81. package/lib-esm/sync/utils.js +62 -10
  82. package/lib-esm/sync/utils.js.map +1 -1
  83. package/lib-esm/types.d.ts +64 -25
  84. package/lib-esm/types.js +9 -2
  85. package/lib-esm/types.js.map +1 -1
  86. package/lib-esm/util.d.ts +56 -24
  87. package/lib-esm/util.js +334 -170
  88. package/lib-esm/util.js.map +1 -1
  89. package/package.json +7 -7
  90. package/src/datastore/datastore.ts +253 -113
  91. package/src/predicates/index.ts +32 -10
  92. package/src/storage/adapter/AsyncStorageAdapter.ts +309 -93
  93. package/src/storage/adapter/AsyncStorageDatabase.ts +74 -26
  94. package/src/storage/adapter/IndexedDBAdapter.ts +319 -136
  95. package/src/storage/adapter/index.ts +1 -1
  96. package/src/storage/storage.ts +68 -21
  97. package/src/sync/index.ts +41 -26
  98. package/src/sync/merger.ts +14 -4
  99. package/src/sync/outbox.ts +21 -8
  100. package/src/sync/processors/mutation.ts +49 -45
  101. package/src/sync/processors/subscription.ts +0 -1
  102. package/src/sync/processors/sync.ts +1 -3
  103. package/src/sync/utils.ts +69 -12
  104. package/src/types.ts +181 -29
  105. package/src/util.ts +415 -176
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAChC,6BAA8C;AAC9C,6BAAkC;AAClC,+BAAqD;AAErD,iCAuBiB;AACjB,yEAAuD;AAEvD,IAAY,UAKX;AALD,WAAY,UAAU;IACrB,qCAAuB,CAAA;IACvB,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,iCAAmB,CAAA;AACpB,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AAED,IAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;AAKT,8BAAS;AAJvC,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAIpB,oBAAI;AAHb,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAGd,oBAAI;AAFnB,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;AAEd,0BAAO;AACf,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAE3C,QAAA,eAAe,GAAG,UAAC,GAAU,EAAE,YAA4B;IAA5B,6BAAA,EAAA,mBAA4B;IACvE,IAAI,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,aAAW,GAAK,CAAC,CAAC;KAClC;AACF,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAAG,UAAC,GAAQ;IACzC,OAAO,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC;AACxE,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAAG,UAChC,KAAQ,EACR,SAAmC,EACnC,kBAA+D;IAE/D,IAAI,UAA+C,CAAC;IACpD,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACZ;IAED,QAAQ,SAAS,EAAE;QAClB,KAAK,KAAK;YACT,UAAU,GAAG,OAAO,CAAC;YACrB,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM;QACP,KAAK,KAAK;YACT,UAAU,GAAG,OAAO,CAAC;YACrB,MAAM;QACP,KAAK,IAAI;YACR,UAAU,GAAG,MAAM,CAAC;YACpB,MAAM;QACP;YACC,uBAAe,CAAC,SAAS,CAAC,CAAC;KAC5B;IAED,IAAM,MAAM,GAAY,kBAAkB,CAAC,UAAU,CAAC,CAAC,UAAA,gBAAgB;QACtE,IAAI,sBAAc,CAAC,gBAAgB,CAAC,EAAE;YAC7B,IAAA,8BAAK,EAAE,oCAAQ,EAAE,kCAAO,CAAsB;YACtD,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAE3B,OAAO,8BAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACxD;QAED,IAAI,wBAAgB,CAAC,gBAAgB,CAAC,EAAE;YAC/B,IAAA,4BAAI,EAAE,wCAAU,CAAsB;YAC9C,OAAO,yBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;SAClD;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC,CAAC;AAEW,QAAA,sBAAsB,GAAG,UACrC,KAAQ,EACR,QAA4B,EAC5B,OAAmB;IAEnB,QAAQ,QAAQ,EAAE;QACjB,KAAK,IAAI;YACR,OAAO,KAAK,KAAK,OAAO,CAAC;QAC1B,KAAK,IAAI;YACR,OAAO,KAAK,KAAK,OAAO,CAAC;QAC1B,KAAK,IAAI;YACR,OAAO,KAAK,IAAI,OAAO,CAAC;QACzB,KAAK,IAAI;YACR,OAAO,KAAK,GAAG,OAAO,CAAC;QACxB,KAAK,IAAI;YACR,OAAO,KAAK,IAAI,OAAO,CAAC;QACzB,KAAK,IAAI;YACR,OAAO,KAAK,GAAG,OAAO,CAAC;QACxB,KAAK,SAAS;YACP,IAAA,uBAA4B,EAA3B,WAAG,EAAE,WAAsB,CAAC;YACnC,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;QACrC,KAAK,YAAY;YAChB,OAAO,CACN,CAAC,yBAAiB,CAAC,KAAK,CAAC;gBACN,KAAO,CAAC,UAAU,CAAmB,OAAQ,CAAC,CACjE,CAAC;QACH,KAAK,UAAU;YACd,OAAO,CACN,CAAC,yBAAiB,CAAC,KAAK,CAAC;gBACN,KAAO,CAAC,OAAO,CAAmB,OAAQ,CAAC,GAAG,CAAC,CAAC,CACnE,CAAC;QACH,KAAK,aAAa;YACjB,OAAO,CACN,yBAAiB,CAAC,KAAK,CAAC;gBACL,KAAO,CAAC,OAAO,CAAmB,OAAQ,CAAC,KAAK,CAAC,CAAC,CACrE,CAAC;QACH;YACC,uBAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;KACd;AACF,CAAC,CAAC;AAEW,QAAA,kBAAkB,GAAG,UACjC,GAAQ;IAER,OAAO,CACN,GAAG,IAAI,OAAuC,GAAI,CAAC,MAAM,KAAK,UAAU,CACxE,CAAC;AACH,CAAC,CAAC;AAEF,IAAM,eAAe,GAAG,IAAI,OAAO,EAAgC,CAAC;AAEpE,SAAgB,qBAAqB,CAAC,KAAmC;IACxE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAFD,sDAEC;AAEY,QAAA,qBAAqB,GAAG,UACpC,GAAQ;IAER,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BE;AACW,QAAA,oBAAoB,GAAG,UACnC,UAA2B;IAE3B,IAAM,uBAAuB,GAAG,UAAC,EAKhC;;QAHC,yFAAyF;QACzF,iCAA4B,EAAjB,2BAAgB;QAEvB,OAAA,aAAa;IAAb,CAAa,CAAC;IAEpB,IAAM,kBAAkB,GAAG,UAAU;SACnC,MAAM,CAAC,oCAA4B,CAAC;SACpC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAE/B;;;MAGE;IACF,IAAM,mBAAmB,GAAG,UAAC,MAAM;QAClC,OAAA,MAAM,CAAC,MAAM,CAAC,UAAC,QAAQ,EAAE,aAAa;YACrC,IAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;YAEhD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAChC,OAAO,QAAQ,CAAC;aAChB;YAED,wFAAwF;YACxF,IAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAA,WAAW;gBACxD,OAAO,SAAI,WAAW,EAAE,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,IAAI,kBAAkB,GAAG,CAAC,CAAC,EAAE;gBAC5B,IAAM,KAAK,GAAG,IAAI,GAAG,UACjB,QAAQ,CAAC,kBAAkB,CAAC,EAC5B,gBAAgB,EAClB,CAAC;gBACH,mEAAmE;gBACnE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;aACrC;iBAAM;gBACN,+EAA+E;gBAC/E,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAChC;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC;IA1BN,CA0BM,CAAC;IAER,IAAM,OAAO,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IACxD,sEAAsE;IACtE,iEAAiE;IACjE,IAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE9C,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEW,QAAA,wBAAwB,GAAG,UACvC,SAA0B;IAE1B,IAAM,YAAY,GAAqB,EAAE,CAAC;IAC1C,IAAM,IAAI,GAAc,EAAE,CAAC;IAE3B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,IAAY;;QAClD,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEhB,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,IAAY;YAC9C,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1C,IACC,OAAO,cAAc,CAAC,IAAI,KAAK,QAAQ;gBACvC,OAAO,IAAI,cAAc,CAAC,IAAI,EAC7B;gBACD,IAAM,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC;gBACjE,YAAY,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;oBACrC,SAAS,EAAE,cAAc,CAAC,IAAI;oBAC9B,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK;oBACpC,YAAY,EAAE,cAAc;oBAC5B,UAAU,EAAE,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC;oBACpD,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC;iBAC5D,CAAC,CAAC;gBAEH,IAAI,cAAc,KAAK,YAAY,EAAE;oBACpC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAC9B,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CACxC,CAAC;iBACF;aACD;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,UAAU,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,4BAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;gBAElE,KAAwB,IAAA,KAAA,SAAA,KAAK,CAAC,UAAU,CAAA,gBAAA,4BAAE;oBAArC,IAAM,SAAS,WAAA;oBACnB,IAAI,CAAC,2BAAmB,CAAC,SAAS,CAAC,EAAE;wBACpC,SAAS;qBACT;oBAED,IAAI,kCAA0B,CAAC,SAAS,CAAC,EAAE;wBAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;qBACpD;oBAEO,IAAA,oCAAM,CAA0B;;wBACxC,KAAoB,IAAA,0BAAA,SAAA,MAAM,CAAA,CAAA,8BAAA,kDAAE;4BAAvB,IAAM,KAAK,mBAAA;4BACf,iDAAiD;4BACjD,IAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAC1D,IAAI,CAAC,MAAM,EAAE;gCACZ,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BACvC;yBACD;;;;;;;;;iBACD;;;;;;;;;SACD;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,IAAM,yBAAyB,GAAG,IAAI,OAAO,EAA6B,CAAC;AAE9D,QAAA,aAAa,GAAG,UAC5B,YAAoB,EACpB,QAAW,EACX,SAA0B,EAC1B,oBAA0C,EAC1C,8BAGoC;IAEpC,IAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IAC9C,IAAM,gBAAgB,GAAG,8BAA8B,CACtD,SAAS,CAAC,IAAI,EACd,YAAY,CACZ,CAAC;IAEF,IAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAM,MAAM,GAIN,EAAE,CAAC;IAET,IAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAA,aAAa;QAClE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,KAAmB;YAClD,IAAM,gBAAgB,GAAG,8BAA8B,CACtD,SAAS,CAAC,IAAI,EACd,KAAK,CAAC,SAAS,CACf,CAAC;YAEF,QAAQ,KAAK,CAAC,YAAY,EAAE;gBAC3B,KAAK,SAAS;oBACb,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;wBAC9B,IAAI,aAAa,SAAG,CAAC;wBACrB,IAAI;4BACH,aAAa,GAAG,oBAAoB,CACnC,gBAAgB,EAChB,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CACzB,CAAC;yBACF;wBAAC,OAAO,KAAK,EAAE;4BACf,aAAa;4BACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;yBACnB;wBAED,MAAM,CAAC,IAAI,CAAC;4BACX,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;4BAC/B,QAAQ,EAAE,aAAa;yBACvB,CAAC,CAAC;wBAEH,yDAAyD;wBACzD,iFAAiF;wBACjF,iCAAiC;wBACjC,qDAAqD;wBACrD,IAAI,KAAK,CAAC,UAAU,EAAE;4BACf,aAAc,CAAC,KAAK,CAAC,UAAU,CAAC,GAAqB,CAC1D,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7B,CAAC,EAAE,CAAC;4BACN,OAAO,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;yBACtC;6BAAM;4BACA,aAAc,CAAC,KAAK,CAAC,SAAS,CAAC,GAAqB,CACzD,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7B,CAAC,EAAE,CAAC;yBACN;qBACD;oBAED,MAAM;gBACP,KAAK,YAAY;oBAChB,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;wBAC9B,IAAI,aAAa,SAAG,CAAC;wBACrB,IAAI;4BACH,aAAa,GAAG,oBAAoB,CACnC,gBAAgB,EAChB,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CACzB,CAAC;yBACF;wBAAC,OAAO,KAAK,EAAE;4BACf,aAAa;yBACb;wBAED,IAAM,SAAS,GAA2B,CACzC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7B,CAAC,QAAQ,CAAC;wBAEZ,IAAI,CAAC,SAAS,EAAE;4BACf,MAAM,CAAC,IAAI,CAAC;gCACX,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gCAC/B,QAAQ,EAAE,aAAa;6BACvB,CAAC,CAAC;yBACH;qBACD;oBAED,IAAI,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;wBAC7B,aAAc,CAAC,KAAK,CAAC,UAAU,CAAC,GAAqB,CAC1D,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7B,CAAC,EAAE,CAAC;wBACN,OAAO,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;qBACtC;oBAED,MAAM;gBACP,KAAK,UAAU;oBACd,sBAAsB;oBACtB,MAAM;gBACP;oBACC,uBAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACpC,MAAM;aACP;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC;QACd,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC9C,yBAAyB,CAAC,GAAG,CAC5B,SAAS,EACT,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CACrD,CAAC;KACF;IAED,IAAM,YAAY,GAAG,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE9D,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QAChB,OAAO,CACN,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEW,QAAA,QAAQ,GAAG,UAAC,GAAmB,EAAE,GAAW;IACxD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,GAAG,CAAC,IAAI,CAAC,UAAC,OAAqB;QAC9B,IAAI,OAAO,CAAC,SAAS,KAAK,GAAG,EAAE;YAC9B,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;SAC3B;IACF,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEW,QAAA,uBAAuB,GAAG,UACtC,OAAiB,EACjB,GAAW;IAEX,IAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,KAAK,GAAG,EAAX,CAAW,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,IAAI,sBAAsB,CAAC;AAEd,QAAA,aAAa,GAAG;IAC5B,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;QACzB,IAAM,MAAM,GAAG,SAAI,EAAE,CAAC;QACtB,IAAI,EAAE,CAAC;QAEP,IAAM,SAAS,GAAG;YACjB,sBAAsB,GAAG,KAAK,CAAC;YAE/B,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC;QAEF,IAAM,YAAY,GAAG;;;;6BAChB,CAAA,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAA,EAAxD,wBAAwD;wBAC3D,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAA;;wBAAvB,SAAuB,CAAC;;4BAGzB,qBAAM,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;wBAEvC,sBAAsB,GAAG,IAAI,CAAC;wBAE9B,sBAAO,OAAO,CAAC,KAAK,CAAC,EAAC;;;aACtB,CAAC;QAEF,IAAI,sBAAsB,KAAK,IAAI,EAAE;YACpC,OAAO,YAAY,EAAE,CAAC;SACtB;QAED,IAAI,sBAAsB,KAAK,KAAK,EAAE;YACrC,OAAO,SAAS,EAAE,CAAC;SACnB;QAED,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,SAAS,EAAE,CAAC;QAE3C,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,EAAE,CAAC,OAAO,GAAG,SAAS,CAAC;QACvB,EAAE,CAAC,SAAS,GAAG,YAAY,CAAC;IAC7B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,WAAW,GAAG,UAAC,MAAc;IAClC,OAAO,eAAM,CAAC,IAAI,CAAC,IAAI,sCAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC;AACF,IAAM,IAAI,GAAG,cAAM,OAAA,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAlC,CAAkC,CAAC;AACtD,SAAgB,oBAAoB,CAAC,IAAa;IACjD,IAAM,IAAI,GAAG,uBAAgB,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;AACH,CAAC;AAND,oDAMC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,MAAM;IACrB,IACC,OAAO,WAAW,KAAK,WAAW;QAClC,WAAW;QACX,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,EACpC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,qBAAqB;KACnD;SAAM;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;KAClB;AACF,CAAC;AAVD,wBAUC;AAED,SAAgB,mBAAmB,CAClC,cAAsC;IAEtC,OAAO,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC;;;YACnC,6DAA6D;YAC7D,+BAA+B;YAC/B,KAAwB,IAAA,mBAAA,SAAA,cAAc,CAAA,8CAAA,0EAAE;gBAAnC,IAAM,SAAS,2BAAA;gBACX,IAAA,uBAAK,EAAE,uCAAa,CAAe;gBAE3C,8CAA8C;gBAC9C,IAAM,cAAc,GAAG,aAAa,KAAK,qBAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE1E,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC;iBAC3B;gBAED,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,CAAC,GAAG,cAAc,CAAC;iBAC1B;aACD;;;;;;;;;QAED,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;AACH,CAAC;AAvBD,kDAuBC;AAED,4BAA4B;AAC5B,gEAAgE;AAChE,iCAAiC;AACjC,+DAA+D;AAC/D,4DAA4D;AAC5D,SAAgB,WAAW,CAC1B,IAAS,EACT,IAAS,EACT,OAAwB;;IAAxB,wBAAA,EAAA,eAAwB;IAExB,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,IAAI,CAAC,GAAG,IAAI,CAAC;IAEb,IAAM,cAAc,GAAG,UAAC,EAAE,EAAE,EAAE;QAC7B,OAAO,CACN,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC,CACtE,CAAC;IACH,CAAC,CAAC;IAEF,iEAAiE;IACjE,IACC,CAAC,CAAC,YAAY,MAAM,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,EAC9C;QACD,OAAO,KAAK,CAAC;KACb;IAED,0BAA0B;IAC1B,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,EAAE;QAC3B,IAAI,OAAO,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,CAAC,KAAK,CAAC,CAAC;KACf;IAED,+BAA+B;IAC/B,IACC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACtC;QACD,OAAO,KAAK,CAAC;KACb;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;QACzC,CAAC,YAAO,CAAC,CAAC,CAAC;QACX,CAAC,YAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;QACzC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7B,8GAA8G;IAC9G,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACpE,OAAO,KAAK,CAAC;KACb;IAED,yCAAyC;IACzC,uEAAuE;IACvE,mCAAmC;IACnC,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;;QAE1D,KAAkB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;YAAnB,IAAM,GAAG,iBAAA;YACb,IAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,IAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAEpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;gBACtC,OAAO,KAAK,CAAC;aACb;SACD;;;;;;;;;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAxED,kCAwEC;AAEY,QAAA,SAAS,GAAG,UAAC,GAAW;IACpC,OAAO,CAAC,CAAC,mDAAmD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC,CAAC;AAEW,QAAA,SAAS,GAAG,UAAC,GAAW;IACpC,OAAO,CAAC,CAAC,6DAA6D,CAAC,IAAI,CAC1E,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,aAAa,GAAG,UAAC,GAAW;IACxC,OAAO,CAAC,CAAC,+EAA+E,CAAC,IAAI,CAC5F,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,UAAC,GAAW;IACzC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC;AAEW,QAAA,UAAU,GAAG,UAAC,GAAW;IACrC,OAAO,CAAC,CAAC,sIAAsI,CAAC,IAAI,CACnJ,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,SAAS,GAAG,UAAC,GAAW;IACpC,IAAI;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;KACZ;IAAC,WAAM;QACP,OAAO,KAAK,CAAC;KACb;AACF,CAAC,CAAC;AAEW,QAAA,QAAQ,GAAG,UAAC,GAAW;IACnC,IAAI;QACH,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;KACtB;IAAC,WAAM;QACP,OAAO,KAAK,CAAC;KACb;AACF,CAAC,CAAC;AAEW,QAAA,UAAU,GAAG,UAAC,GAAW;IACrC,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,UAAC,GAAW;IACzC,OAAO,CAAC,CAAC,sqCAAsqC,CAAC,IAAI,CACnrC,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEF;IAIC;QACC,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CACzB,UAAC,OAAsD,EAAE,MAAM;YAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,CAAC,CACD,CAAC;IACH,CAAC;IACF,sBAAC;AAAD,CAAC,AAbD,IAaC;AAbY,0CAAe;AAe5B;IAcC,kCAAY,OAAwC;QAb5C,iBAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAIrC,iBAAY,GAAG,KAAK,CAAC;QACrB,aAAQ,GAAG,cAAO,CAAC,CAAC;QAEpB,wBAAmB,GAAG,UAC7B,GAAsC;YAAtC,oBAAA,EAAA,sCAAsC;YAEtC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC;QAGD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IAChD,CAAC;IAEO,6CAAU,GAAlB;QAAA,iBAMC;QALA,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/C,KAAI,CAAC,KAAK,GAAG,UAAU,CAAC;gBACvB,OAAO,CAAC,oCAA4B,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEa,+CAAY,GAA1B;;;;;;;wBAGE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wBACzB,IAAI,CAAC,UAAU,EAAE,CAAC;wBACT,qBAAM,OAAO,CAAC,IAAI,CAAC;gCAC3B,IAAI,CAAC,YAAY;gCACjB,IAAI,CAAC,YAAY,CAAC,OAAO;6BACzB,CAAC,EAAA;;wBAHF,MAAM,GAAG,SAGP,CAAC;wBACH,IAAI,CAAC,QAAQ,EAAE,CAAC;;;;wBAEhB,IAAI,CAAC,YAAY,CAAC,KAAG,CAAC,CAAC;;;wBAEvB,0BAA0B;wBAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;wBAE1C,sBAAO,MAAM,EAAC;;;;;KAEf;IAEM,wCAAK,GAAZ;QACC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7C,CAAC;IAEM,wCAAK,GAAZ;QACC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,0CAAO,GAAd;QACC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oCAA4B,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IACF,+BAAC;AAAD,CAAC,AA7DD,IA6DC;AA7DY,4DAAwB;AA+DrC;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,YAAY,CAC3B,cAAiB,EACjB,UAAmB,EACnB,UAAmB;IAEnB,IAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,OAAgB,CAAC;IACrB,eAAO,CACN,cAAc,EACd,UAAA,KAAK;QACJ,oBAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACrC,CAAC,EACD,UAAA,CAAC;QACA,OAAO,GAAG,CAAC,CAAC;IACb,CAAC,CACD,CAAC;IACF,OAAO,OAAO,CAAC;AAChB,CAAC;AAjBD,oCAiBC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import Observable from 'zen-observable-ts';
2
2
  import { PredicateAll } from '../predicates';
3
- import { ConflictHandler, DataStoreConfig, ModelInit, ModelInstanceMetadata, NonModelTypeConstructor, ProducerPaginationInput, PersistentModel, PersistentModelConstructor, ProducerModelPredicate, Schema, SubscriptionMessage, DataStoreSnapshot, TypeConstructorMap, ErrorHandler, ObserveQueryOptions } from '../types';
3
+ import { ConflictHandler, DataStoreConfig, NonModelTypeConstructor, ProducerPaginationInput, PersistentModel, PersistentModelConstructor, ProducerModelPredicate, Schema, SubscriptionMessage, DataStoreSnapshot, TypeConstructorMap, ErrorHandler, ObserveQueryOptions, PersistentModelMetaData, IdentifierFieldOrIdentifierObject } from '../types';
4
4
  export declare let syncClasses: TypeConstructorMap;
5
- declare const initSchema: (userSchema: Schema) => Record<string, NonModelTypeConstructor<any> | PersistentModelConstructor<any, {
6
- readOnlyFields: "createdAt" | "updatedAt";
7
- }>>;
5
+ declare const initSchema: (userSchema: Schema) => Record<string, PersistentModelConstructor<any> | NonModelTypeConstructor<unknown>>;
8
6
  export declare type ModelInstanceCreator = typeof modelInstanceCreator;
9
- declare function modelInstanceCreator<T extends PersistentModel = PersistentModel>(modelConstructor: PersistentModelConstructor<T>, init: ModelInit<T> & Partial<ModelInstanceMetadata>): T;
7
+ declare function modelInstanceCreator<T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, init: Partial<T>): T;
10
8
  declare class DataStore {
11
9
  private Auth;
12
10
  private API;
@@ -16,12 +14,12 @@ declare class DataStore {
16
14
  private conflictHandler;
17
15
  private errorHandler;
18
16
  private fullSyncInterval;
19
- private initialized;
17
+ private initialized?;
20
18
  private initReject;
21
19
  private initResolve;
22
20
  private maxRecordsToSync;
23
- private storage;
24
- private sync;
21
+ private storage?;
22
+ private sync?;
25
23
  private syncPageSize;
26
24
  private syncExpressions;
27
25
  private syncPredicates;
@@ -31,30 +29,29 @@ declare class DataStore {
31
29
  getModuleName(): string;
32
30
  start: () => Promise<void>;
33
31
  query: {
34
- <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, id: string): Promise<T | undefined>;
32
+ <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, identifier: IdentifierFieldOrIdentifierObject<T, PersistentModelMetaData<T>>): Promise<T | undefined>;
35
33
  <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: ProducerModelPredicate<T> | typeof PredicateAll, paginationProducer?: ProducerPaginationInput<T>): Promise<T[]>;
36
34
  };
37
- save: <T extends Readonly<{
38
- id: string;
39
- } & Record<string, any>>>(model: T, condition?: ProducerModelPredicate<T>) => Promise<T>;
35
+ save: <T extends Readonly<Record<string, any>>>(model: T, condition?: ProducerModelPredicate<T>) => Promise<T>;
40
36
  setConflictHandler: (config: DataStoreConfig) => ConflictHandler;
41
37
  setErrorHandler: (config: DataStoreConfig) => ErrorHandler;
42
38
  delete: {
43
- <T extends PersistentModel>(model: T, condition?: ProducerModelPredicate<T>): Promise<T>;
44
- <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, id: string): Promise<T[]>;
39
+ <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, identifier: IdentifierFieldOrIdentifierObject<T, PersistentModelMetaData<T>>): Promise<T[]>;
45
40
  <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, condition: ProducerModelPredicate<T> | typeof PredicateAll): Promise<T[]>;
41
+ <T extends PersistentModel>(model: T, condition?: ProducerModelPredicate<T>): Promise<T>;
46
42
  };
47
43
  observe: {
48
44
  (): Observable<SubscriptionMessage<PersistentModel>>;
45
+ <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, identifier: string): Observable<SubscriptionMessage<T>>;
46
+ <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: ProducerModelPredicate<T> | typeof PredicateAll): Observable<SubscriptionMessage<T>>;
49
47
  <T extends PersistentModel>(model: T): Observable<SubscriptionMessage<T>>;
50
- <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: string | ProducerModelPredicate<T>): Observable<SubscriptionMessage<T>>;
51
48
  };
52
49
  observeQuery: {
53
50
  <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: ProducerModelPredicate<T> | typeof PredicateAll, paginationProducer?: ObserveQueryOptions<T>): Observable<DataStoreSnapshot<T>>;
54
51
  };
55
52
  configure: (config?: DataStoreConfig) => void;
56
53
  clear: () => Promise<void>;
57
- stop: () => Promise<void>;
54
+ stop: (this: DataStore) => Promise<void>;
58
55
  private processPagination;
59
56
  private processSyncExpressions;
60
57
  private createFromCondition;
@@ -98,8 +98,9 @@ import { defaultAuthStrategy, multiAuthStrategy } from '../authModeStrategies';
98
98
  import { isPredicatesAll, ModelPredicateCreator, ModelSortPredicateCreator, } from '../predicates';
99
99
  import { ExclusiveStorage as Storage } from '../storage/storage';
100
100
  import { ControlMessage, SyncEngine } from '../sync';
101
- import { GraphQLScalarType, isGraphQLScalarType, AuthModeStrategyType, isNonModelFieldType, isModelFieldType, } from '../types';
102
- import { DATASTORE, establishRelationAndKeys, exhaustiveCheck, isModelConstructor, monotonicUlidFactory, STORAGE, SYNC, USER, isNullOrUndefined, registerNonModelClass, sortCompareFunction, DeferredCallbackResolver, validatePredicate, mergePatches, } from '../util';
101
+ import { GraphQLScalarType, isGraphQLScalarType, isSchemaModelWithAttributes, AuthModeStrategyType, isNonModelFieldType, isModelFieldType, __modelMeta__, isIdentifierObject, } from '../types';
102
+ import { DATASTORE, errorMessages, establishRelationAndKeys, exhaustiveCheck, isModelConstructor, monotonicUlidFactory, STORAGE, SYNC, USER, isNullOrUndefined, registerNonModelClass, sortCompareFunction, DeferredCallbackResolver, extractPrimaryKeyFieldNames, extractPrimaryKeysAndValues, isIdManaged, isIdOptionallyManaged, validatePredicate, mergePatches, } from '../util';
103
+ import { getIdentifierValue } from '../sync/utils';
103
104
  setAutoFreeze(true);
104
105
  enablePatches();
105
106
  var logger = new Logger('DataStore');
@@ -244,6 +245,13 @@ var validateModelFields = function (modelDefinition) { return function (k, v) {
244
245
  (v === null || v === undefined)) {
245
246
  throw new Error("Field " + name_1 + " is required");
246
247
  }
248
+ if (isSchemaModelWithAttributes(modelDefinition) && !isIdManaged(modelDefinition)) {
249
+ var keys = extractPrimaryKeyFieldNames(modelDefinition);
250
+ if (keys.includes(k) && v === '') {
251
+ logger.error(errorMessages.idEmptyString, { k: k, value: v });
252
+ throw new Error(errorMessages.idEmptyString);
253
+ }
254
+ }
247
255
  if (isGraphQLScalarType(type)) {
248
256
  var jsType_1 = GraphQLScalarType.getJSType(type);
249
257
  var validateScalar_1 = GraphQLScalarType.getValidationFunction(type);
@@ -344,21 +352,29 @@ var createModelClass = function (modelDefinition) {
344
352
  function Model(init) {
345
353
  var instance = produce(this, function (draft) {
346
354
  initializeInstance(init, modelDefinition, draft);
347
- var modelInstanceMetadata = instancesMetadata.has(init)
355
+ // model is initialized inside a DataStore component (e.g. by Sync Engine, Storage Engine, etc.)
356
+ var isInternallyInitialized = instancesMetadata.has(init);
357
+ var modelInstanceMetadata = isInternallyInitialized
348
358
  ? init
349
359
  : {};
350
- var _id = modelInstanceMetadata.id, _version = modelInstanceMetadata._version, _lastChangedAt = modelInstanceMetadata._lastChangedAt, _deleted = modelInstanceMetadata._deleted;
351
- // instancesIds are set by modelInstanceCreator, it is accessible only internally
352
- var isInternal = _id !== null && _id !== undefined;
353
- var id = isInternal
354
- ? _id
355
- : modelDefinition.syncable
356
- ? uuid4()
357
- : ulid();
358
- if (!isInternal) {
360
+ var _id = modelInstanceMetadata.id;
361
+ if (isIdManaged(modelDefinition)) {
362
+ var isInternalModel = _id !== null && _id !== undefined;
363
+ var id = isInternalModel
364
+ ? _id
365
+ : modelDefinition.syncable
366
+ ? uuid4()
367
+ : ulid();
368
+ draft.id = id;
369
+ }
370
+ else if (isIdOptionallyManaged(modelDefinition)) {
371
+ // only auto-populate if the id was not provided
372
+ draft.id = draft.id || uuid4();
373
+ }
374
+ if (!isInternallyInitialized) {
359
375
  checkReadOnlyPropertyOnCreate(draft, modelDefinition);
360
376
  }
361
- draft.id = id;
377
+ var _version = modelInstanceMetadata._version, _lastChangedAt = modelInstanceMetadata._lastChangedAt, _deleted = modelInstanceMetadata._deleted;
362
378
  if (modelDefinition.syncable) {
363
379
  draft._version = _version;
364
380
  draft._lastChangedAt = _lastChangedAt;
@@ -377,7 +393,9 @@ var createModelClass = function (modelDefinition) {
377
393
  var patches;
378
394
  var model = produce(source, function (draft) {
379
395
  fn(draft);
380
- draft.id = source.id;
396
+ var keyNames = extractPrimaryKeyFieldNames(modelDefinition);
397
+ // Keys are immutable
398
+ keyNames.forEach(function (key) { return (draft[key] = source[key]); });
381
399
  var modelValidator = validateModelFields(modelDefinition);
382
400
  Object.entries(draft).forEach(function (_a) {
383
401
  var _b = __read(_a, 2), k = _b[0], v = _b[1];
@@ -510,7 +528,6 @@ function checkSchemaVersion(storage, version) {
510
528
  return __generator(this, function (_b) {
511
529
  switch (_b.label) {
512
530
  case 0: return [4 /*yield*/, s.query(Setting, ModelPredicateCreator.createFromExisting(modelDefinition, function (c) {
513
- // @ts-ignore Argument of type '"eq"' is not assignable to parameter of type 'never'.
514
531
  return c.key('eq', SETTING_SCHEMA_VERSION);
515
532
  }), { page: 0, limit: 1 })];
516
533
  case 1:
@@ -666,8 +683,8 @@ var DataStore = /** @class */ (function () {
666
683
  }
667
684
  });
668
685
  }); };
669
- this.query = function (modelConstructor, idOrCriteria, paginationProducer) { return __awaiter(_this, void 0, void 0, function () {
670
- var msg, modelDefinition, predicate, pagination, result;
686
+ this.query = function (modelConstructor, identifierOrCriteria, paginationProducer) { return __awaiter(_this, void 0, void 0, function () {
687
+ var msg, modelDefinition, keyFields, predicate, msg, pagination, result, returnOne;
671
688
  return __generator(this, function (_a) {
672
689
  switch (_a.label) {
673
690
  case 0: return [4 /*yield*/, this.start()];
@@ -679,22 +696,32 @@ var DataStore = /** @class */ (function () {
679
696
  logger.error(msg, { modelConstructor: modelConstructor });
680
697
  throw new Error(msg);
681
698
  }
682
- if (typeof idOrCriteria === 'string') {
699
+ if (typeof identifierOrCriteria === 'string') {
683
700
  if (paginationProducer !== undefined) {
684
701
  logger.warn('Pagination is ignored when querying by id');
685
702
  }
686
703
  }
687
704
  modelDefinition = getModelDefinition(modelConstructor);
688
- if (isQueryOne(idOrCriteria)) {
689
- predicate = ModelPredicateCreator.createForId(modelDefinition, idOrCriteria);
705
+ keyFields = extractPrimaryKeyFieldNames(modelDefinition);
706
+ if (isQueryOne(identifierOrCriteria)) {
707
+ if (keyFields.length > 1) {
708
+ msg = errorMessages.queryByPkWithCompositeKeyPresent;
709
+ logger.error(msg, { keyFields: keyFields });
710
+ throw new Error(msg);
711
+ }
712
+ predicate = ModelPredicateCreator.createForSingleField(modelDefinition, keyFields[0], identifierOrCriteria);
690
713
  }
691
714
  else {
692
- if (isPredicatesAll(idOrCriteria)) {
715
+ // Object is being queried using object literal syntax
716
+ if (isIdentifierObject(identifierOrCriteria, modelDefinition)) {
717
+ predicate = ModelPredicateCreator.createForPk(modelDefinition, identifierOrCriteria);
718
+ }
719
+ else if (isPredicatesAll(identifierOrCriteria)) {
693
720
  // Predicates.ALL means "all records", so no predicate (undefined)
694
721
  predicate = undefined;
695
722
  }
696
723
  else {
697
- predicate = ModelPredicateCreator.createFromExisting(modelDefinition, idOrCriteria);
724
+ predicate = ModelPredicateCreator.createFromExisting(modelDefinition, identifierOrCriteria);
698
725
  }
699
726
  }
700
727
  pagination = this.processPagination(modelDefinition, paginationProducer);
@@ -707,7 +734,9 @@ var DataStore = /** @class */ (function () {
707
734
  return [4 /*yield*/, this.storage.query(modelConstructor, predicate, pagination)];
708
735
  case 2:
709
736
  result = _a.sent();
710
- return [2 /*return*/, isQueryOne(idOrCriteria) ? result[0] : result];
737
+ returnOne = isQueryOne(identifierOrCriteria) ||
738
+ isIdentifierObject(identifierOrCriteria, modelDefinition);
739
+ return [2 /*return*/, returnOne ? result[0] : result];
711
740
  }
712
741
  });
713
742
  }); };
@@ -736,7 +765,7 @@ var DataStore = /** @class */ (function () {
736
765
  case 0: return [4 /*yield*/, s.save(model, producedCondition, undefined, patchesTuple)];
737
766
  case 1:
738
767
  _a.sent();
739
- return [2 /*return*/, s.query(modelConstructor, ModelPredicateCreator.createForId(modelDefinition, model.id))];
768
+ return [2 /*return*/, s.query(modelConstructor, ModelPredicateCreator.createForPk(modelDefinition, model))];
740
769
  }
741
770
  });
742
771
  }); })];
@@ -772,8 +801,8 @@ var DataStore = /** @class */ (function () {
772
801
  }
773
802
  return _this.errorHandler || defaultErrorHandler;
774
803
  };
775
- this.delete = function (modelOrConstructor, idOrCriteria) { return __awaiter(_this, void 0, void 0, function () {
776
- var condition, msg, modelConstructor, msg, msg, _a, deleted, model, modelConstructor, msg, modelDefinition, idPredicate, msg, _b, _c, deleted;
804
+ this.delete = function (modelOrConstructor, identifierOrCriteria) { return __awaiter(_this, void 0, void 0, function () {
805
+ var condition, msg, modelConstructor, msg, modelDefinition, keyFields, msg, msg, _a, deleted, model, modelConstructor, msg, modelDefinition, pkPredicate, msg, _b, _c, deleted;
777
806
  return __generator(this, function (_d) {
778
807
  switch (_d.label) {
779
808
  case 0: return [4 /*yield*/, this.start()];
@@ -786,21 +815,33 @@ var DataStore = /** @class */ (function () {
786
815
  }
787
816
  if (!isValidModelConstructor(modelOrConstructor)) return [3 /*break*/, 3];
788
817
  modelConstructor = modelOrConstructor;
789
- if (!idOrCriteria) {
818
+ if (!identifierOrCriteria) {
790
819
  msg = 'Id to delete or criteria required. Do you want to delete all? Pass Predicates.ALL';
791
- logger.error(msg, { idOrCriteria: idOrCriteria });
820
+ logger.error(msg, { identifierOrCriteria: identifierOrCriteria });
792
821
  throw new Error(msg);
793
822
  }
794
- if (typeof idOrCriteria === 'string') {
795
- condition = ModelPredicateCreator.createForId(getModelDefinition(modelConstructor), idOrCriteria);
823
+ modelDefinition = getModelDefinition(modelConstructor);
824
+ if (typeof identifierOrCriteria === 'string') {
825
+ keyFields = extractPrimaryKeyFieldNames(modelDefinition);
826
+ if (keyFields.length > 1) {
827
+ msg = errorMessages.deleteByPkWithCompositeKeyPresent;
828
+ logger.error(msg, { keyFields: keyFields });
829
+ throw new Error(msg);
830
+ }
831
+ condition = ModelPredicateCreator.createForSingleField(getModelDefinition(modelConstructor), keyFields[0], identifierOrCriteria);
796
832
  }
797
833
  else {
798
- condition = ModelPredicateCreator.createFromExisting(getModelDefinition(modelConstructor),
799
- /**
800
- * idOrCriteria is always a ProducerModelPredicate<T>, never a symbol.
801
- * The symbol is used only for typing purposes. e.g. see Predicates.ALL
802
- */
803
- idOrCriteria);
834
+ if (isIdentifierObject(identifierOrCriteria, modelDefinition)) {
835
+ condition = ModelPredicateCreator.createForPk(modelDefinition, identifierOrCriteria);
836
+ }
837
+ else {
838
+ condition = ModelPredicateCreator.createFromExisting(modelDefinition,
839
+ /**
840
+ * idOrCriteria is always a ProducerModelPredicate<T>, never a symbol.
841
+ * The symbol is used only for typing purposes. e.g. see Predicates.ALL
842
+ */
843
+ identifierOrCriteria);
844
+ }
804
845
  if (!condition || !ModelPredicateCreator.isValidPredicate(condition)) {
805
846
  msg = 'Criteria required. Do you want to delete all? Pass Predicates.ALL';
806
847
  logger.error(msg, { condition: condition });
@@ -821,17 +862,17 @@ var DataStore = /** @class */ (function () {
821
862
  throw new Error(msg);
822
863
  }
823
864
  modelDefinition = getModelDefinition(modelConstructor);
824
- idPredicate = ModelPredicateCreator.createForId(modelDefinition, model.id);
825
- if (idOrCriteria) {
826
- if (typeof idOrCriteria !== 'function') {
865
+ pkPredicate = ModelPredicateCreator.createForPk(modelDefinition, model);
866
+ if (identifierOrCriteria) {
867
+ if (typeof identifierOrCriteria !== 'function') {
827
868
  msg = 'Invalid criteria';
828
- logger.error(msg, { idOrCriteria: idOrCriteria });
869
+ logger.error(msg, { identifierOrCriteria: identifierOrCriteria });
829
870
  throw new Error(msg);
830
871
  }
831
- condition = idOrCriteria(idPredicate);
872
+ condition = identifierOrCriteria(pkPredicate);
832
873
  }
833
874
  else {
834
- condition = idPredicate;
875
+ condition = pkPredicate;
835
876
  }
836
877
  return [4 /*yield*/, this.storage.delete(model, condition)];
837
878
  case 4:
@@ -840,7 +881,7 @@ var DataStore = /** @class */ (function () {
840
881
  }
841
882
  });
842
883
  }); };
843
- this.observe = function (modelOrConstructor, idOrCriteria) {
884
+ this.observe = function (modelOrConstructor, identifierOrCriteria) {
844
885
  var predicate;
845
886
  var modelConstructor = modelOrConstructor && isValidModelConstructor(modelOrConstructor)
846
887
  ? modelOrConstructor
@@ -849,10 +890,10 @@ var DataStore = /** @class */ (function () {
849
890
  var model = modelOrConstructor;
850
891
  var modelConstructor_1 = model && Object.getPrototypeOf(model).constructor;
851
892
  if (isValidModelConstructor(modelConstructor_1)) {
852
- if (idOrCriteria) {
893
+ if (identifierOrCriteria) {
853
894
  logger.warn('idOrCriteria is ignored when using a model instance', {
854
895
  model: model,
855
- idOrCriteria: idOrCriteria,
896
+ identifierOrCriteria: identifierOrCriteria,
856
897
  });
857
898
  }
858
899
  return _this.observe(modelConstructor_1, model.id);
@@ -863,9 +904,17 @@ var DataStore = /** @class */ (function () {
863
904
  throw new Error(msg);
864
905
  }
865
906
  }
866
- if (idOrCriteria !== undefined && modelConstructor === undefined) {
907
+ // observe should not accept object literal syntax
908
+ if (identifierOrCriteria &&
909
+ modelConstructor &&
910
+ isIdentifierObject(identifierOrCriteria, getModelDefinition(modelConstructor))) {
911
+ var msg = errorMessages.observeWithObjectLiteral;
912
+ logger.error(msg, { objectLiteral: identifierOrCriteria });
913
+ throw new Error(msg);
914
+ }
915
+ if (identifierOrCriteria !== undefined && modelConstructor === undefined) {
867
916
  var msg = 'Cannot provide criteria without a modelConstructor';
868
- logger.error(msg, idOrCriteria);
917
+ logger.error(msg, identifierOrCriteria);
869
918
  throw new Error(msg);
870
919
  }
871
920
  if (modelConstructor && !isValidModelConstructor(modelConstructor)) {
@@ -873,13 +922,20 @@ var DataStore = /** @class */ (function () {
873
922
  logger.error(msg, { modelConstructor: modelConstructor });
874
923
  throw new Error(msg);
875
924
  }
876
- if (typeof idOrCriteria === 'string') {
877
- predicate = ModelPredicateCreator.createForId(getModelDefinition(modelConstructor), idOrCriteria);
925
+ if (typeof identifierOrCriteria === 'string') {
926
+ var modelDefinition = getModelDefinition(modelConstructor);
927
+ var _a = __read(extractPrimaryKeyFieldNames(modelDefinition), 1), keyField = _a[0];
928
+ predicate = ModelPredicateCreator.createForSingleField(getModelDefinition(modelConstructor), keyField, identifierOrCriteria);
878
929
  }
879
930
  else {
880
- predicate =
881
- modelConstructor &&
882
- ModelPredicateCreator.createFromExisting(getModelDefinition(modelConstructor), idOrCriteria);
931
+ if (isPredicatesAll(identifierOrCriteria)) {
932
+ predicate = undefined;
933
+ }
934
+ else {
935
+ predicate =
936
+ modelConstructor &&
937
+ ModelPredicateCreator.createFromExisting(getModelDefinition(modelConstructor), identifierOrCriteria);
938
+ }
883
939
  }
884
940
  return new Observable(function (observer) {
885
941
  var handle;
@@ -900,13 +956,16 @@ var DataStore = /** @class */ (function () {
900
956
  })
901
957
  .subscribe({
902
958
  next: function (item) { return __awaiter(_this, void 0, void 0, function () {
903
- var message, freshElement;
959
+ var message, modelDefinition, keyFields, primaryKeysAndValues, freshElement;
904
960
  return __generator(this, function (_a) {
905
961
  switch (_a.label) {
906
962
  case 0:
907
963
  message = item;
908
964
  if (!(item.opType !== 'DELETE')) return [3 /*break*/, 2];
909
- return [4 /*yield*/, this.query(item.model, item.element.id)];
965
+ modelDefinition = getModelDefinition(item.model);
966
+ keyFields = extractPrimaryKeyFieldNames(modelDefinition);
967
+ primaryKeysAndValues = extractPrimaryKeysAndValues(item.element, keyFields);
968
+ return [4 /*yield*/, this.query(item.model, primaryKeysAndValues)];
910
969
  case 1:
911
970
  freshElement = _a.sent();
912
971
  message = __assign(__assign({}, message), { element: freshElement });
@@ -962,8 +1021,9 @@ var DataStore = /** @class */ (function () {
962
1021
  var sort = (options || {}).sort;
963
1022
  var sortOptions = sort ? { sort: sort } : undefined;
964
1023
  var modelDefinition = getModelDefinition(model);
1024
+ var keyFields = extractPrimaryKeyFieldNames(modelDefinition);
965
1025
  if (isQueryOne(criteria)) {
966
- predicate = ModelPredicateCreator.createForId(modelDefinition, criteria);
1026
+ predicate = ModelPredicateCreator.createForSingleField(modelDefinition, keyFields[0], criteria);
967
1027
  }
968
1028
  else {
969
1029
  if (isPredicatesAll(criteria)) {
@@ -987,7 +1047,9 @@ var DataStore = /** @class */ (function () {
987
1047
  case 1:
988
1048
  // first, query and return any locally-available records
989
1049
  (_a.sent()).forEach(function (item) {
990
- return items.set(item.id, item);
1050
+ var itemModelDefinition = getModelDefinition(model);
1051
+ var idOrPk = getIdentifierValue(itemModelDefinition, item);
1052
+ items.set(idOrPk, item);
991
1053
  });
992
1054
  // Observe the model and send a stream of updates (debounced).
993
1055
  // We need to post-filter results instead of passing criteria through
@@ -996,15 +1058,17 @@ var DataStore = /** @class */ (function () {
996
1058
  handle = this.observe(model).subscribe(function (_a) {
997
1059
  var element = _a.element, model = _a.model, opType = _a.opType;
998
1060
  var _b, _c;
1061
+ var itemModelDefinition = getModelDefinition(model);
1062
+ var idOrPk = getIdentifierValue(itemModelDefinition, element);
999
1063
  if (hasPredicate &&
1000
1064
  !validatePredicate(element, predicateGroupType, predicates)) {
1001
1065
  if (opType === 'UPDATE' &&
1002
- (items.has(element.id) || itemsChanged.has(element.id))) {
1066
+ (items.has(idOrPk) || itemsChanged.has(idOrPk))) {
1003
1067
  // tracking as a "deleted item" will include the item in
1004
1068
  // page limit calculations and ensure it is removed from the
1005
1069
  // final items collection, regardless of which collection(s)
1006
1070
  // it is currently in. (I mean, it could be in both, right!?)
1007
- deletedItemIds.push(element.id);
1071
+ deletedItemIds.push(idOrPk);
1008
1072
  }
1009
1073
  else {
1010
1074
  // ignore updates for irrelevant/filtered items.
@@ -1016,10 +1080,10 @@ var DataStore = /** @class */ (function () {
1016
1080
  // in the `mergePage` method within src/sync/merger.ts. The final state of a model instance
1017
1081
  // depends on the LATEST record (for a given id).
1018
1082
  if (opType === 'DELETE') {
1019
- deletedItemIds.push(element.id);
1083
+ deletedItemIds.push(idOrPk);
1020
1084
  }
1021
1085
  else {
1022
- itemsChanged.set(element.id, element);
1086
+ itemsChanged.set(idOrPk, element);
1023
1087
  }
1024
1088
  var isSynced = (_c = (_b = _this.sync) === null || _b === void 0 ? void 0 : _b.getModelSyncedStatus(model)) !== null && _c !== void 0 ? _c : false;
1025
1089
  var limit = itemsChanged.size - deletedItemIds.length >= _this.syncPageSize;
@@ -1054,9 +1118,13 @@ var DataStore = /** @class */ (function () {
1054
1118
  sortItems(itemsArray);
1055
1119
  }
1056
1120
  items.clear();
1057
- itemsArray.forEach(function (item) { return items.set(item.id, item); });
1121
+ itemsArray.forEach(function (item) {
1122
+ var itemModelDefinition = getModelDefinition(model);
1123
+ var idOrPk = getIdentifierValue(itemModelDefinition, item);
1124
+ items.set(idOrPk, item);
1125
+ });
1058
1126
  // remove deleted items from the final result set
1059
- deletedItemIds.forEach(function (id) { return items.delete(id); });
1127
+ deletedItemIds.forEach(function (idOrPk) { return items.delete(idOrPk); });
1060
1128
  return {
1061
1129
  items: Array.from(items.values()),
1062
1130
  isSynced: isSynced,
@@ -1360,9 +1428,8 @@ var DataStore = /** @class */ (function () {
1360
1428
  return sessionId + "-" + appSyncId;
1361
1429
  }
1362
1430
  }
1363
- catch (_b) {
1364
- return undefined;
1365
- }
1431
+ catch (_b) { }
1432
+ return undefined;
1366
1433
  };
1367
1434
  return DataStore;
1368
1435
  }());