@aws-amplify/pubsub 4.2.10-cloud-logging.7 → 4.2.10-cloud-logging.8

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 (52) hide show
  1. package/CHANGELOG.md +24 -49
  2. package/dist/aws-amplify-pubsub.js +238 -202
  3. package/dist/aws-amplify-pubsub.js.map +1 -1
  4. package/dist/aws-amplify-pubsub.min.js +2 -2
  5. package/dist/aws-amplify-pubsub.min.js.map +1 -1
  6. package/lib/Providers/AWSAppSyncProvider.d.ts +3 -0
  7. package/lib/Providers/AWSAppSyncProvider.js +3 -0
  8. package/lib/Providers/AWSAppSyncProvider.js.map +1 -1
  9. package/lib/Providers/AWSAppSyncRealTimeProvider.d.ts +19 -4
  10. package/lib/Providers/AWSAppSyncRealTimeProvider.js +174 -154
  11. package/lib/Providers/AWSAppSyncRealTimeProvider.js.map +1 -1
  12. package/lib/Providers/AWSIotProvider.d.ts +6 -1
  13. package/lib/Providers/AWSIotProvider.js +3 -2
  14. package/lib/Providers/AWSIotProvider.js.map +1 -1
  15. package/lib/Providers/MqttOverWSProvider.d.ts +14 -11
  16. package/lib/Providers/MqttOverWSProvider.js +17 -10
  17. package/lib/Providers/MqttOverWSProvider.js.map +1 -1
  18. package/lib/Providers/PubSubProvider.d.ts +7 -7
  19. package/lib/Providers/PubSubProvider.js.map +1 -1
  20. package/lib/PubSub.d.ts +6 -6
  21. package/lib/PubSub.js +2 -2
  22. package/lib/PubSub.js.map +1 -1
  23. package/lib/types/Provider.d.ts +3 -3
  24. package/lib/types/PubSub.d.ts +5 -1
  25. package/lib-esm/Providers/AWSAppSyncProvider.d.ts +3 -0
  26. package/lib-esm/Providers/AWSAppSyncProvider.js +3 -0
  27. package/lib-esm/Providers/AWSAppSyncProvider.js.map +1 -1
  28. package/lib-esm/Providers/AWSAppSyncRealTimeProvider.d.ts +19 -4
  29. package/lib-esm/Providers/AWSAppSyncRealTimeProvider.js +174 -154
  30. package/lib-esm/Providers/AWSAppSyncRealTimeProvider.js.map +1 -1
  31. package/lib-esm/Providers/AWSIotProvider.d.ts +6 -1
  32. package/lib-esm/Providers/AWSIotProvider.js +3 -2
  33. package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
  34. package/lib-esm/Providers/MqttOverWSProvider.d.ts +14 -11
  35. package/lib-esm/Providers/MqttOverWSProvider.js +17 -10
  36. package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
  37. package/lib-esm/Providers/PubSubProvider.d.ts +7 -7
  38. package/lib-esm/Providers/PubSubProvider.js.map +1 -1
  39. package/lib-esm/PubSub.d.ts +6 -6
  40. package/lib-esm/PubSub.js +2 -2
  41. package/lib-esm/PubSub.js.map +1 -1
  42. package/lib-esm/types/Provider.d.ts +3 -3
  43. package/lib-esm/types/PubSub.d.ts +5 -1
  44. package/package.json +5 -5
  45. package/src/Providers/AWSAppSyncProvider.ts +27 -26
  46. package/src/Providers/AWSAppSyncRealTimeProvider.ts +247 -191
  47. package/src/Providers/AWSIotProvider.ts +10 -1
  48. package/src/Providers/MqttOverWSProvider.ts +52 -33
  49. package/src/Providers/PubSubProvider.ts +8 -8
  50. package/src/PubSub.ts +10 -10
  51. package/src/types/Provider.ts +3 -7
  52. package/src/types/PubSub.ts +6 -1
@@ -1,5 +1,8 @@
1
1
  import Observable from 'zen-observable-ts';
2
2
  import { MqttOverWSProvider } from './MqttOverWSProvider';
3
+ /**
4
+ * @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
5
+ */
3
6
  export declare class AWSAppSyncProvider extends MqttOverWSProvider {
4
7
  protected get endpoint(): void;
5
8
  getProviderName(): string;
@@ -87,6 +87,9 @@ var zen_observable_ts_1 = __importDefault(require("zen-observable-ts"));
87
87
  var core_1 = require("@aws-amplify/core");
88
88
  var MqttOverWSProvider_1 = require("./MqttOverWSProvider");
89
89
  var logger = new core_1.ConsoleLogger('AWSAppSyncProvider');
90
+ /**
91
+ * @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
92
+ */
90
93
  var AWSAppSyncProvider = /** @class */ (function (_super) {
91
94
  __extends(AWSAppSyncProvider, _super);
92
95
  function AWSAppSyncProvider() {
@@ -1 +1 @@
1
- {"version":3,"file":"AWSAppSyncProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSAppSyncProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wEAA2C;AAC3C,0CAA4D;AAE5D,2DAA0D;AAE1D,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,oBAAoB,CAAC,CAAC;AAEhD;IAAwC,sCAAkB;IAA1D;QAAA,qEAsLC;QAtIQ,kBAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE9C,iBAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;;IAoItD,CAAC;IArLA,sBAAc,wCAAQ;aAAtB;YACC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAClC,CAAC;;;OAAA;IAED,4CAAe,GAAf;QACC,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IAEY,oCAAO,GAApB,UAAqB,MAAyB,EAAE,GAAQ,EAAE,OAAa;;;gBACtE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;;;KAC3C;IAEO,qCAAQ,GAAhB,UAAiB,QAAgB;QAAjC,iBAMC;QALA,IAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;aAC7D,MAAM,CAAC,UAAC,EAAK;gBAAL,kBAAK,EAAF,SAAC;YAAM,OAAA,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAAvB,CAAuB,CAAC;aAC1C,GAAG,CAAC,UAAC,EAAG;gBAAH,kBAAG,EAAF,SAAC;YAAM,OAAA,CAAC;QAAD,CAAC,CAAC,CAAC;QAElB,eAAe,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAxB,CAAwB,CAAC,CAAC;IACxD,CAAC;IAEO,6CAAgB,GAAxB,UAAyB,KAAK;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,yCAAY,GAAnB,UAAoB,EAAgC;QAApD,iBAoBC;QApBqB,IAAA,sBAAQ,EAAE,wBAAS,EAAE,4CAAO;QACjD,IAAI,SAAS,KAAK,CAAC,EAAE;YACpB,IAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;iBAC7D,MAAM,CAAC,UAAC,EAAK;oBAAL,kBAAK,EAAF,SAAC;gBAAM,OAAA,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAAvB,CAAuB,CAAC;iBAC1C,GAAG,CAAC,UAAC,EAAG;oBAAH,kBAAG,EAAF,SAAC;gBAAM,OAAA,CAAC;YAAD,CAAC,CAAC,CAAC;YAElB,eAAe,CAAC,OAAO,CAAC,UAAA,KAAK;gBAC5B,IAAI,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACpC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;wBAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;4BAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;yBAChB;oBACF,CAAC,CAAC,CAAC;oBAEH,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACnC;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACxB;IACF,CAAC;IAMe,uCAAU,GAA1B,UAA2B,QAAgB;;;;;4BAC3B,qBAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC,EAAA;;wBAA1D,MAAM,GAAG,SAAiD;wBAEhE,qBAAM,iBAAM,UAAU,YAAC,QAAQ,CAAC,EAAA;;wBAAhC,SAAgC,CAAC;wBAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;;;;;KACxB;IAED,sCAAS,GAAT,UAAU,MAAyB,EAAE,OAAiB;QAAtD,iBAyHC;QAzHoC,wBAAA,EAAA,YAAiB;QACrD,IAAM,MAAM,GAAG,IAAI,2BAAU,CAAM,UAAA,QAAQ;YAC1C,IAAM,YAAY,GAAI,EAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAEhE,CAAC;;;;;;4BACA,0BAA0B;4BAC1B,YAAY,CAAC,OAAO,CAAC,UAAA,CAAC;gCACrB,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oCACjC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;iCACvC;gCAED,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC3C,CAAC,CAAC,CAAC;4BAEK,KAA2C,OAAO,gBAA9B,EAApB,eAAe,mBAAG,EAAE,KAAA,EAAE,gBAAgB,GAAK,OAAO,iBAAZ,CAAa;4BAGrD,UAAU,GAAG,MAAM,CAAC,OAAO,CAChC,gBAAgB,CAChB,CAAC,GAAG,CAAC,UAAC,EAAuC;oCAAvC,kBAAuC,EAAtC,aAAK,EAAE,SAAC;gCAAmC,OAAA,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC;4BAAhB,CAAgB,CAAC,CAAC;4BAErE,kCAAkC;4BAClC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,UACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EACrC,UAAiC,EACpC,CAAC;4BAGG,GAAG,GAGH,MAAM,CAAC,OAAO,CACnB,YAAY,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI;gCAC7B,IAAM,sBAAsB,GAAG,eAAe,CAAC,IAAI,CAClD,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAA3B,CAA2B,CAChC,CAAC;gCAEF,IAAI,sBAAsB,EAAE;oCACnB,IAAA,wCAAgB,EAAE,gCAAG,CAA4B;oCAEzD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wCACnB,GAAG,CAAC,QAAQ,CAAC,GAAG;4CACf,GAAG,KAAA;4CACH,MAAM,EAAE,IAAI,GAAG,EAAE;yCACjB,CAAC;qCACF;oCAED,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iCAC/B;gCAED,OAAO,GAAG,CAAC;4BACZ,CAAC,EAAE,EAAE,CAAC,CACN,CAAC;4BAEF,0CAA0C;4BAC1C,qBAAM,OAAO,CAAC,GAAG,CAChB,GAAG,CAAC,GAAG,CAAC,UAAO,EAA2B;wCAA3B,kBAA2B,EAA1B,gBAAQ,EAAE,UAAe,EAAb,YAAG,EAAE,kBAAM;;;;;;;oDAElC,MAAM,GAAG,IAAI,CAAC;;;;oDAER,qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;4DACrC,QAAQ,UAAA;4DACR,GAAG,KAAA;yDACH,CAAC,EAAA;;oDAHF,MAAM,GAAG,SAGP,CAAC;;;;oDAEH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAG,EAAE,CAAC,CAAC;oDAC7D,QAAQ,CAAC,QAAQ,EAAE,CAAC;oDACpB,sBAAO,SAAS,EAAC;;oDAGlB,0CAA0C;oDAC1C,6BAA6B;oDAC7B,MAAM,CAAC,OAAO,CAAC,UAAA,KAAK;wDACnB,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;4DACzB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4DAExB,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;yDACrC;oDACF,CAAC,CAAC,CAAC;oDAEH,sBAAO,MAAM,EAAC;;;;iCACd,CAAC,CACF,EAAA;;4BA5BD,0CAA0C;4BAC1C,SA2BC,CAAC;;;;iBACF,CAAC,EAAE,CAAC;YAEL,OAAO;gBACN,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEpE,YAAY,CAAC,OAAO,CAAC,UAAA,CAAC;oBACrB,IAAM,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAExC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;wBACnC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACtB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAE5B,IACC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,MAAM,EAAZ,CAAY,CAAC,EAC9D;4BACD,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;yBACjC;qBACD;oBAED,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,2BAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAA,KAAK;YACvC,IAAM,KAAK,GAAG,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAM,KAAK,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE1C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAC7C,UAAC,GAAG,EAAE,EAAc;oBAAd,kBAAc,EAAb,eAAO,EAAE,WAAG;gBAAM,OAAA,CACxB,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,OAAO,CAAW,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAC9C;YAFwB,CAExB,EACD,EAAE,CACF,CAAC;YAEF,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,yBAAC;AAAD,CAAC,AAtLD,CAAwC,uCAAkB,GAsLzD;AAtLY,gDAAkB"}
1
+ {"version":3,"file":"AWSAppSyncProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSAppSyncProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wEAA2C;AAC3C,0CAA4D;AAE5D,2DAA0D;AAE1D,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,oBAAoB,CAAC,CAAC;AAEhD;;GAEG;AACH;IAAwC,sCAAkB;IAA1D;QAAA,qEAoLC;QApIQ,kBAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE9C,iBAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;;IAkItD,CAAC;IAnLA,sBAAc,wCAAQ;aAAtB;YACC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAClC,CAAC;;;OAAA;IAED,4CAAe,GAAf;QACC,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IAEY,oCAAO,GAApB,UAAqB,MAAyB,EAAE,GAAQ,EAAE,OAAa;;;gBACtE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;;;KAC3C;IAEO,qCAAQ,GAAhB,UAAiB,QAAgB;QAAjC,iBAMC;QALA,IAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;aAC7D,MAAM,CAAC,UAAC,EAAK;gBAAL,kBAAK,EAAF,SAAC;YAAM,OAAA,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAAvB,CAAuB,CAAC;aAC1C,GAAG,CAAC,UAAC,EAAG;gBAAH,kBAAG,EAAF,SAAC;YAAM,OAAA,CAAC;QAAD,CAAC,CAAC,CAAC;QAElB,eAAe,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAxB,CAAwB,CAAC,CAAC;IACxD,CAAC;IAEO,6CAAgB,GAAxB,UAAyB,KAAK;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,yCAAY,GAAnB,UAAoB,EAAgC;QAApD,iBAoBC;QApBqB,IAAA,sBAAQ,EAAE,wBAAS,EAAE,4CAAO;QACjD,IAAI,SAAS,KAAK,CAAC,EAAE;YACpB,IAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;iBAC7D,MAAM,CAAC,UAAC,EAAK;oBAAL,kBAAK,EAAF,SAAC;gBAAM,OAAA,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAAvB,CAAuB,CAAC;iBAC1C,GAAG,CAAC,UAAC,EAAG;oBAAH,kBAAG,EAAF,SAAC;gBAAM,OAAA,CAAC;YAAD,CAAC,CAAC,CAAC;YAElB,eAAe,CAAC,OAAO,CAAC,UAAA,KAAK;gBAC5B,IAAI,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACpC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;wBAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;4BAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;yBAChB;oBACF,CAAC,CAAC,CAAC;oBAEH,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACnC;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACxB;IACF,CAAC;IAMe,uCAAU,GAA1B,UAA2B,QAAgB;;;;;4BAC3B,qBAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC,EAAA;;wBAA1D,MAAM,GAAG,SAAiD;wBAEhE,qBAAM,iBAAM,UAAU,YAAC,QAAQ,CAAC,EAAA;;wBAAhC,SAAgC,CAAC;wBAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;;;;;KACxB;IAED,sCAAS,GAAT,UAAU,MAAyB,EAAE,OAAiB;QAAtD,iBAuHC;QAvHoC,wBAAA,EAAA,YAAiB;QACrD,IAAM,MAAM,GAAG,IAAI,2BAAU,CAAM,UAAA,QAAQ;YAC1C,IAAM,YAAY,GAAI,EAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAEhE,CAAC;;;;;;4BACA,0BAA0B;4BAC1B,YAAY,CAAC,OAAO,CAAC,UAAA,CAAC;gCACrB,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oCACjC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;iCACvC;gCAED,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC3C,CAAC,CAAC,CAAC;4BAEK,KAA2C,OAAO,gBAA9B,EAApB,eAAe,mBAAG,EAAE,KAAA,EAAE,gBAAgB,GAAK,OAAO,iBAAZ,CAAa;4BAGrD,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CACtD,UAAC,EAAuC;oCAAvC,kBAAuC,EAAtC,aAAK,EAAE,SAAC;gCAAmC,OAAA,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC;4BAAhB,CAAgB,CAC7D,CAAC;4BAEF,kCAAkC;4BAClC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,UACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EACrC,UAAiC,EACpC,CAAC;4BAGG,GAAG,GACR,MAAM,CAAC,OAAO,CACb,YAAY,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI;gCAC7B,IAAM,sBAAsB,GAAG,eAAe,CAAC,IAAI,CAClD,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAA3B,CAA2B,CAChC,CAAC;gCAEF,IAAI,sBAAsB,EAAE;oCACnB,IAAA,wCAAgB,EAAE,gCAAG,CAA4B;oCAEzD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wCACnB,GAAG,CAAC,QAAQ,CAAC,GAAG;4CACf,GAAG,KAAA;4CACH,MAAM,EAAE,IAAI,GAAG,EAAE;yCACjB,CAAC;qCACF;oCAED,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iCAC/B;gCAED,OAAO,GAAG,CAAC;4BACZ,CAAC,EAAE,EAAE,CAAC,CACN,CAAC;4BAEH,0CAA0C;4BAC1C,qBAAM,OAAO,CAAC,GAAG,CAChB,GAAG,CAAC,GAAG,CAAC,UAAO,EAA2B;wCAA3B,kBAA2B,EAA1B,gBAAQ,EAAE,UAAe,EAAb,YAAG,EAAE,kBAAM;;;;;;;oDAElC,MAAM,GAAG,IAAI,CAAC;;;;oDAER,qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;4DACrC,QAAQ,UAAA;4DACR,GAAG,KAAA;yDACH,CAAC,EAAA;;oDAHF,MAAM,GAAG,SAGP,CAAC;;;;oDAEH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAG,EAAE,CAAC,CAAC;oDAC7D,QAAQ,CAAC,QAAQ,EAAE,CAAC;oDACpB,sBAAO,SAAS,EAAC;;oDAGlB,0CAA0C;oDAC1C,6BAA6B;oDAC7B,MAAM,CAAC,OAAO,CAAC,UAAA,KAAK;wDACnB,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;4DACzB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4DAExB,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;yDACrC;oDACF,CAAC,CAAC,CAAC;oDAEH,sBAAO,MAAM,EAAC;;;;iCACd,CAAC,CACF,EAAA;;4BA5BD,0CAA0C;4BAC1C,SA2BC,CAAC;;;;iBACF,CAAC,EAAE,CAAC;YAEL,OAAO;gBACN,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEpE,YAAY,CAAC,OAAO,CAAC,UAAA,CAAC;oBACrB,IAAM,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAExC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;wBACnC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACtB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAE5B,IACC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,MAAM,EAAZ,CAAY,CAAC,EAC9D;4BACD,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;yBACjC;qBACD;oBAED,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,2BAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAA,KAAK;YACvC,IAAM,KAAK,GAAG,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAM,KAAK,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE1C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAC7C,UAAC,GAAG,EAAE,EAAc;oBAAd,kBAAc,EAAb,eAAO,EAAE,WAAG;gBAAM,OAAA,CACxB,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,OAAO,CAAW,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAC9C;YAFwB,CAExB,EACD,EAAE,CACF,CAAC;YAEF,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,yBAAC;AAAD,CAAC,AApLD,CAAwC,uCAAkB,GAoLzD;AApLY,gDAAkB"}
@@ -1,10 +1,24 @@
1
1
  import Observable from 'zen-observable-ts';
2
- import { ProvidertOptions } from '../types';
2
+ import { ProviderOptions } from '../types';
3
+ import { GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';
3
4
  import { AbstractPubSubProvider } from './PubSubProvider';
5
+ declare type GraphqlAuthModes = keyof typeof GRAPHQL_AUTH_MODE;
6
+ export interface AWSAppSyncRealTimeProviderOptions extends ProviderOptions {
7
+ appSyncGraphqlEndpoint?: string;
8
+ authenticationType?: GraphqlAuthModes;
9
+ query?: string;
10
+ variables?: object;
11
+ apiKey?: string;
12
+ region?: string;
13
+ graphql_headers?: () => {} | (() => Promise<{}>);
14
+ additionalHeaders?: {
15
+ [key: string]: string;
16
+ };
17
+ }
4
18
  export declare class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
5
- private awsRealTimeSocket;
19
+ private awsRealTimeSocket?;
6
20
  private socketStatus;
7
- private keepAliveTimeoutId;
21
+ private keepAliveTimeoutId?;
8
22
  private keepAliveTimeout;
9
23
  private subscriptionObserverMap;
10
24
  private promiseArray;
@@ -12,7 +26,7 @@ export declare class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
12
26
  newClient(): Promise<any>;
13
27
  publish(_topics: string[] | string, _msg: any, _options?: any): Promise<void>;
14
28
  private isCustomDomain;
15
- subscribe(_topics: string[] | string, options?: ProvidertOptions): Observable<any>;
29
+ subscribe(_topics: string[] | string, options?: AWSAppSyncRealTimeProviderOptions): Observable<any>;
16
30
  protected get isSSLEnabled(): boolean;
17
31
  private _startSubscriptionWithAWSAppSyncRealTime;
18
32
  private _waitForSubscriptionToBeConnected;
@@ -36,3 +50,4 @@ export declare class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
36
50
  */
37
51
  _ensureCredentials(): any;
38
52
  }
53
+ export {};
@@ -230,9 +230,9 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
230
230
  };
231
231
  AWSAppSyncRealTimeProvider.prototype.subscribe = function (_topics, options) {
232
232
  var _this = this;
233
- var appSyncGraphqlEndpoint = options.appSyncGraphqlEndpoint;
233
+ var appSyncGraphqlEndpoint = options === null || options === void 0 ? void 0 : options.appSyncGraphqlEndpoint;
234
234
  return new zen_observable_ts_1.default(function (observer) {
235
- if (!appSyncGraphqlEndpoint) {
235
+ if (!options || !appSyncGraphqlEndpoint) {
236
236
  observer.error({
237
237
  errors: [
238
238
  __assign({}, new graphql_1.GraphQLError("Subscribe only available for AWS AppSync endpoint")),
@@ -301,14 +301,15 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
301
301
  });
302
302
  AWSAppSyncRealTimeProvider.prototype._startSubscriptionWithAWSAppSyncRealTime = function (_a) {
303
303
  var options = _a.options, observer = _a.observer, subscriptionId = _a.subscriptionId;
304
+ var _b, _c;
304
305
  return __awaiter(this, void 0, void 0, function () {
305
- var appSyncGraphqlEndpoint, authenticationType, query, variables, apiKey, region, _b, graphql_headers, _c, additionalHeaders, subscriptionState, data, dataString, headerObj, _d, _e, subscriptionMessage, stringToAWSRealTime, err_2, _f, message, subscriptionFailedCallback_1, _g, subscriptionFailedCallback, subscriptionReadyCallback;
306
- var _h;
306
+ var appSyncGraphqlEndpoint, authenticationType, query, variables, apiKey, region, _d, graphql_headers, _e, additionalHeaders, subscriptionState, data, dataString, headerObj, _f, _g, subscriptionMessage, stringToAWSRealTime, err_2, message, subscriptionFailedCallback_1, _h, subscriptionFailedCallback, subscriptionReadyCallback;
307
+ var _j;
307
308
  var _this = this;
308
- return __generator(this, function (_j) {
309
- switch (_j.label) {
309
+ return __generator(this, function (_k) {
310
+ switch (_k.label) {
310
311
  case 0:
311
- appSyncGraphqlEndpoint = options.appSyncGraphqlEndpoint, authenticationType = options.authenticationType, query = options.query, variables = options.variables, apiKey = options.apiKey, region = options.region, _b = options.graphql_headers, graphql_headers = _b === void 0 ? function () { return ({}); } : _b, _c = options.additionalHeaders, additionalHeaders = _c === void 0 ? {} : _c;
312
+ appSyncGraphqlEndpoint = options.appSyncGraphqlEndpoint, authenticationType = options.authenticationType, query = options.query, variables = options.variables, apiKey = options.apiKey, region = options.region, _d = options.graphql_headers, graphql_headers = _d === void 0 ? function () { return ({}); } : _d, _e = options.additionalHeaders, additionalHeaders = _e === void 0 ? {} : _e;
312
313
  subscriptionState = SUBSCRIPTION_STATUS.PENDING;
313
314
  data = {
314
315
  query: query,
@@ -317,13 +318,13 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
317
318
  // Having a subscription id map will make it simple to forward messages received
318
319
  this.subscriptionObserverMap.set(subscriptionId, {
319
320
  observer: observer,
320
- query: query,
321
- variables: variables,
321
+ query: query !== null && query !== void 0 ? query : '',
322
+ variables: variables !== null && variables !== void 0 ? variables : {},
322
323
  subscriptionState: subscriptionState,
323
- startAckTimeoutId: null,
324
+ startAckTimeoutId: undefined,
324
325
  });
325
326
  dataString = JSON.stringify(data);
326
- _d = [{}];
327
+ _f = [{}];
327
328
  return [4 /*yield*/, this._awsRealTimeHeaderBasedAuth({
328
329
  apiKey: apiKey,
329
330
  appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,
@@ -334,10 +335,10 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
334
335
  additionalHeaders: additionalHeaders,
335
336
  })];
336
337
  case 1:
337
- _e = [__assign.apply(void 0, _d.concat([(_j.sent())]))];
338
+ _g = [__assign.apply(void 0, _f.concat([(_k.sent())]))];
338
339
  return [4 /*yield*/, graphql_headers()];
339
340
  case 2:
340
- headerObj = __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), additionalHeaders]), (_h = {}, _h[core_1.USER_AGENT_HEADER] = core_1.Constants.userAgent, _h)]);
341
+ headerObj = __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), additionalHeaders]), (_j = {}, _j[core_1.USER_AGENT_HEADER] = core_1.Constants.userAgent, _j)]);
341
342
  subscriptionMessage = {
342
343
  id: subscriptionId,
343
344
  payload: {
@@ -349,9 +350,9 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
349
350
  type: MESSAGE_TYPES.GQL_START,
350
351
  };
351
352
  stringToAWSRealTime = JSON.stringify(subscriptionMessage);
352
- _j.label = 3;
353
+ _k.label = 3;
353
354
  case 3:
354
- _j.trys.push([3, 5, , 6]);
355
+ _k.trys.push([3, 5, , 6]);
355
356
  return [4 /*yield*/, this._initializeWebSocketConnection({
356
357
  apiKey: apiKey,
357
358
  appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,
@@ -360,12 +361,12 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
360
361
  additionalHeaders: additionalHeaders,
361
362
  })];
362
363
  case 4:
363
- _j.sent();
364
+ _k.sent();
364
365
  return [3 /*break*/, 6];
365
366
  case 5:
366
- err_2 = _j.sent();
367
+ err_2 = _k.sent();
367
368
  logger.debug({ err: err_2 });
368
- _f = err_2.message, message = _f === void 0 ? '' : _f;
369
+ message = (_b = err_2['message']) !== null && _b !== void 0 ? _b : '';
369
370
  observer.error({
370
371
  errors: [
371
372
  __assign({}, new graphql_1.GraphQLError(index_1.CONTROL_MSG.CONNECTION_FAILED + ": " + message)),
@@ -379,13 +380,13 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
379
380
  }
380
381
  return [2 /*return*/];
381
382
  case 6:
382
- _g = this.subscriptionObserverMap.get(subscriptionId), subscriptionFailedCallback = _g.subscriptionFailedCallback, subscriptionReadyCallback = _g.subscriptionReadyCallback;
383
+ _h = (_c = this.subscriptionObserverMap.get(subscriptionId)) !== null && _c !== void 0 ? _c : {}, subscriptionFailedCallback = _h.subscriptionFailedCallback, subscriptionReadyCallback = _h.subscriptionReadyCallback;
383
384
  // This must be done before sending the message in order to be listening immediately
384
385
  this.subscriptionObserverMap.set(subscriptionId, {
385
386
  observer: observer,
386
387
  subscriptionState: subscriptionState,
387
- variables: variables,
388
- query: query,
388
+ query: query !== null && query !== void 0 ? query : '',
389
+ variables: variables !== null && variables !== void 0 ? variables : {},
389
390
  subscriptionReadyCallback: subscriptionReadyCallback,
390
391
  subscriptionFailedCallback: subscriptionFailedCallback,
391
392
  startAckTimeoutId: setTimeout(function () {
@@ -403,23 +404,26 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
403
404
  // Waiting that subscription has been connected before trying to unsubscribe
404
405
  AWSAppSyncRealTimeProvider.prototype._waitForSubscriptionToBeConnected = function (subscriptionId) {
405
406
  return __awaiter(this, void 0, void 0, function () {
406
- var subscriptionState;
407
+ var subscriptionObserver, subscriptionState;
407
408
  var _this = this;
408
409
  return __generator(this, function (_a) {
409
- subscriptionState = this.subscriptionObserverMap.get(subscriptionId).subscriptionState;
410
- // This in case unsubscribe is invoked before sending start subscription message
411
- if (subscriptionState === SUBSCRIPTION_STATUS.PENDING) {
412
- return [2 /*return*/, new Promise(function (res, rej) {
413
- var _a = _this.subscriptionObserverMap.get(subscriptionId), observer = _a.observer, subscriptionState = _a.subscriptionState, variables = _a.variables, query = _a.query;
414
- _this.subscriptionObserverMap.set(subscriptionId, {
415
- observer: observer,
416
- subscriptionState: subscriptionState,
417
- variables: variables,
418
- query: query,
419
- subscriptionReadyCallback: res,
420
- subscriptionFailedCallback: rej,
421
- });
422
- })];
410
+ subscriptionObserver = this.subscriptionObserverMap.get(subscriptionId);
411
+ if (subscriptionObserver) {
412
+ subscriptionState = subscriptionObserver.subscriptionState;
413
+ // This in case unsubscribe is invoked before sending start subscription message
414
+ if (subscriptionState === SUBSCRIPTION_STATUS.PENDING) {
415
+ return [2 /*return*/, new Promise(function (res, rej) {
416
+ var observer = subscriptionObserver.observer, subscriptionState = subscriptionObserver.subscriptionState, variables = subscriptionObserver.variables, query = subscriptionObserver.query;
417
+ _this.subscriptionObserverMap.set(subscriptionId, {
418
+ observer: observer,
419
+ subscriptionState: subscriptionState,
420
+ variables: variables,
421
+ query: query,
422
+ subscriptionReadyCallback: res,
423
+ subscriptionFailedCallback: rej,
424
+ });
425
+ })];
426
+ }
423
427
  }
424
428
  return [2 /*return*/];
425
429
  });
@@ -464,13 +468,14 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
464
468
  }
465
469
  else {
466
470
  logger.debug('closing WebSocket...');
467
- clearTimeout(this.keepAliveTimeoutId);
471
+ if (this.keepAliveTimeoutId)
472
+ clearTimeout(this.keepAliveTimeoutId);
468
473
  var tempSocket = this.awsRealTimeSocket;
469
474
  // Cleaning callbacks to avoid race condition, socket still exists
470
- tempSocket.onclose = undefined;
471
- tempSocket.onerror = undefined;
475
+ tempSocket.onclose = null;
476
+ tempSocket.onerror = null;
472
477
  tempSocket.close(1000);
473
- this.awsRealTimeSocket = null;
478
+ this.awsRealTimeSocket = undefined;
474
479
  this.socketStatus = SOCKET_STATUS.CLOSED;
475
480
  }
476
481
  };
@@ -503,46 +508,53 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
503
508
  if (typeof subscriptionReadyCallback === 'function') {
504
509
  subscriptionReadyCallback();
505
510
  }
506
- clearTimeout(startAckTimeoutId);
511
+ if (startAckTimeoutId)
512
+ clearTimeout(startAckTimeoutId);
507
513
  dispatchApiEvent(index_1.CONTROL_MSG.SUBSCRIPTION_ACK, { query: query, variables: variables }, 'Connection established for subscription');
508
514
  var subscriptionState = SUBSCRIPTION_STATUS.CONNECTED;
509
- this.subscriptionObserverMap.set(id, {
510
- observer: observer,
511
- query: query,
512
- variables: variables,
513
- startAckTimeoutId: null,
514
- subscriptionState: subscriptionState,
515
- subscriptionReadyCallback: subscriptionReadyCallback,
516
- subscriptionFailedCallback: subscriptionFailedCallback,
517
- });
515
+ if (observer) {
516
+ this.subscriptionObserverMap.set(id, {
517
+ observer: observer,
518
+ query: query,
519
+ variables: variables,
520
+ startAckTimeoutId: undefined,
521
+ subscriptionState: subscriptionState,
522
+ subscriptionReadyCallback: subscriptionReadyCallback,
523
+ subscriptionFailedCallback: subscriptionFailedCallback,
524
+ });
525
+ }
518
526
  // TODO: emit event on hub but it requires to store the id first
519
527
  return;
520
528
  }
521
529
  if (type === MESSAGE_TYPES.GQL_CONNECTION_KEEP_ALIVE) {
522
- clearTimeout(this.keepAliveTimeoutId);
530
+ if (this.keepAliveTimeoutId)
531
+ clearTimeout(this.keepAliveTimeoutId);
523
532
  this.keepAliveTimeoutId = setTimeout(this._errorDisconnect.bind(this, index_1.CONTROL_MSG.TIMEOUT_DISCONNECT), this.keepAliveTimeout);
524
533
  return;
525
534
  }
526
535
  if (type === MESSAGE_TYPES.GQL_ERROR) {
527
536
  var subscriptionState = SUBSCRIPTION_STATUS.FAILED;
528
- this.subscriptionObserverMap.set(id, {
529
- observer: observer,
530
- query: query,
531
- variables: variables,
532
- startAckTimeoutId: startAckTimeoutId,
533
- subscriptionReadyCallback: subscriptionReadyCallback,
534
- subscriptionFailedCallback: subscriptionFailedCallback,
535
- subscriptionState: subscriptionState,
536
- });
537
- observer.error({
538
- errors: [
539
- __assign({}, new graphql_1.GraphQLError(index_1.CONTROL_MSG.CONNECTION_FAILED + ": " + JSON.stringify(payload))),
540
- ],
541
- });
542
- clearTimeout(startAckTimeoutId);
543
- observer.complete();
544
- if (typeof subscriptionFailedCallback === 'function') {
545
- subscriptionFailedCallback();
537
+ if (observer) {
538
+ this.subscriptionObserverMap.set(id, {
539
+ observer: observer,
540
+ query: query,
541
+ variables: variables,
542
+ startAckTimeoutId: startAckTimeoutId,
543
+ subscriptionReadyCallback: subscriptionReadyCallback,
544
+ subscriptionFailedCallback: subscriptionFailedCallback,
545
+ subscriptionState: subscriptionState,
546
+ });
547
+ observer.error({
548
+ errors: [
549
+ __assign({}, new graphql_1.GraphQLError(index_1.CONTROL_MSG.CONNECTION_FAILED + ": " + JSON.stringify(payload))),
550
+ ],
551
+ });
552
+ if (startAckTimeoutId)
553
+ clearTimeout(startAckTimeoutId);
554
+ observer.complete();
555
+ if (typeof subscriptionFailedCallback === 'function') {
556
+ subscriptionFailedCallback();
557
+ }
546
558
  }
547
559
  }
548
560
  };
@@ -563,29 +575,32 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
563
575
  this.socketStatus = SOCKET_STATUS.CLOSED;
564
576
  };
565
577
  AWSAppSyncRealTimeProvider.prototype._timeoutStartSubscriptionAck = function (subscriptionId) {
566
- var _a = this.subscriptionObserverMap.get(subscriptionId) || {}, observer = _a.observer, query = _a.query, variables = _a.variables;
567
- if (!observer) {
568
- return;
569
- }
570
- this.subscriptionObserverMap.set(subscriptionId, {
571
- observer: observer,
572
- query: query,
573
- variables: variables,
574
- subscriptionState: SUBSCRIPTION_STATUS.FAILED,
575
- });
576
- if (observer && !observer.closed) {
577
- observer.error({
578
- errors: [
579
- __assign({}, new graphql_1.GraphQLError("Subscription timeout " + JSON.stringify({
580
- query: query,
581
- variables: variables,
582
- }))),
583
- ],
578
+ var subscriptionObserver = this.subscriptionObserverMap.get(subscriptionId);
579
+ if (subscriptionObserver) {
580
+ var observer = subscriptionObserver.observer, query = subscriptionObserver.query, variables = subscriptionObserver.variables;
581
+ if (!observer) {
582
+ return;
583
+ }
584
+ this.subscriptionObserverMap.set(subscriptionId, {
585
+ observer: observer,
586
+ query: query,
587
+ variables: variables,
588
+ subscriptionState: SUBSCRIPTION_STATUS.FAILED,
584
589
  });
585
- // Cleanup will be automatically executed
586
- observer.complete();
590
+ if (observer && !observer.closed) {
591
+ observer.error({
592
+ errors: [
593
+ __assign({}, new graphql_1.GraphQLError("Subscription timeout " + JSON.stringify({
594
+ query: query,
595
+ variables: variables,
596
+ }))),
597
+ ],
598
+ });
599
+ // Cleanup will be automatically executed
600
+ observer.complete();
601
+ }
602
+ logger.debug('timeoutStartSubscription', JSON.stringify({ query: query, variables: variables }));
587
603
  }
588
- logger.debug('timeoutStartSubscription', JSON.stringify({ query: query, variables: variables }));
589
604
  };
590
605
  AWSAppSyncRealTimeProvider.prototype._initializeWebSocketConnection = function (_a) {
591
606
  var _this = this;
@@ -619,7 +634,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
619
634
  headerString = _b.apply(_a, [_c.sent()]);
620
635
  headerQs = buffer_1.Buffer.from(headerString).toString('base64');
621
636
  payloadQs = buffer_1.Buffer.from(payloadString).toString('base64');
622
- discoverableEndpoint = appSyncGraphqlEndpoint;
637
+ discoverableEndpoint = appSyncGraphqlEndpoint !== null && appSyncGraphqlEndpoint !== void 0 ? appSyncGraphqlEndpoint : '';
623
638
  if (this.isCustomDomain(discoverableEndpoint)) {
624
639
  discoverableEndpoint =
625
640
  discoverableEndpoint.concat(customDomainPath);
@@ -634,7 +649,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
634
649
  .replace('https://', protocol)
635
650
  .replace('http://', protocol);
636
651
  awsRealTimeUrl = discoverableEndpoint + "?header=" + headerQs + "&payload=" + payloadQs;
637
- return [4 /*yield*/, this._initializeRetryableHandshake({ awsRealTimeUrl: awsRealTimeUrl })];
652
+ return [4 /*yield*/, this._initializeRetryableHandshake(awsRealTimeUrl)];
638
653
  case 3:
639
654
  _c.sent();
640
655
  this.promiseArray.forEach(function (_a) {
@@ -656,7 +671,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
656
671
  this.awsRealTimeSocket.readyState === WebSocket.OPEN) {
657
672
  this.awsRealTimeSocket.close(3001);
658
673
  }
659
- this.awsRealTimeSocket = null;
674
+ this.awsRealTimeSocket = undefined;
660
675
  this.socketStatus = SOCKET_STATUS.CLOSED;
661
676
  return [3 /*break*/, 5];
662
677
  case 5: return [2 /*return*/];
@@ -664,25 +679,23 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
664
679
  });
665
680
  }); });
666
681
  };
667
- AWSAppSyncRealTimeProvider.prototype._initializeRetryableHandshake = function (_a) {
668
- var awsRealTimeUrl = _a.awsRealTimeUrl;
682
+ AWSAppSyncRealTimeProvider.prototype._initializeRetryableHandshake = function (awsRealTimeUrl) {
669
683
  return __awaiter(this, void 0, void 0, function () {
670
- return __generator(this, function (_b) {
671
- switch (_b.label) {
684
+ return __generator(this, function (_a) {
685
+ switch (_a.label) {
672
686
  case 0:
673
687
  logger.debug("Initializaling retryable Handshake");
674
- return [4 /*yield*/, core_1.jitteredExponentialRetry(this._initializeHandshake.bind(this), [{ awsRealTimeUrl: awsRealTimeUrl }], MAX_DELAY_MS)];
688
+ return [4 /*yield*/, core_1.jitteredExponentialRetry(this._initializeHandshake.bind(this), [awsRealTimeUrl], MAX_DELAY_MS)];
675
689
  case 1:
676
- _b.sent();
690
+ _a.sent();
677
691
  return [2 /*return*/];
678
692
  }
679
693
  });
680
694
  });
681
695
  };
682
- AWSAppSyncRealTimeProvider.prototype._initializeHandshake = function (_a) {
683
- var awsRealTimeUrl = _a.awsRealTimeUrl;
696
+ AWSAppSyncRealTimeProvider.prototype._initializeHandshake = function (awsRealTimeUrl) {
684
697
  return __awaiter(this, void 0, void 0, function () {
685
- var err_4, errorType, errorCode;
698
+ var err_4, _a, errorType, errorCode;
686
699
  var _this = this;
687
700
  return __generator(this, function (_b) {
688
701
  switch (_b.label) {
@@ -711,49 +724,53 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
711
724
  // Step 2: wait for ack from AWS AppSyncReaTime after sending init
712
725
  return [4 /*yield*/, (function () {
713
726
  return new Promise(function (res, rej) {
714
- var ackOk = false;
715
- _this.awsRealTimeSocket.onerror = function (error) {
716
- logger.debug("WebSocket error " + JSON.stringify(error));
717
- };
718
- _this.awsRealTimeSocket.onclose = function (event) {
719
- logger.debug("WebSocket closed " + event.reason);
720
- rej(new Error(JSON.stringify(event)));
721
- };
722
- _this.awsRealTimeSocket.onmessage = function (message) {
723
- logger.debug("subscription message from AWS AppSyncRealTime: " + message.data + " ");
724
- var data = JSON.parse(message.data);
725
- var type = data.type, _a = data.payload, _b = (_a === void 0 ? {} : _a).connectionTimeoutMs, connectionTimeoutMs = _b === void 0 ? DEFAULT_KEEP_ALIVE_TIMEOUT : _b;
726
- if (type === MESSAGE_TYPES.GQL_CONNECTION_ACK) {
727
- ackOk = true;
728
- _this.keepAliveTimeout = connectionTimeoutMs;
729
- _this.awsRealTimeSocket.onmessage =
730
- _this._handleIncomingSubscriptionMessage.bind(_this);
731
- _this.awsRealTimeSocket.onerror = function (err) {
732
- logger.debug(err);
733
- _this._errorDisconnect(index_1.CONTROL_MSG.CONNECTION_CLOSED);
734
- };
735
- _this.awsRealTimeSocket.onclose = function (event) {
736
- logger.debug("WebSocket closed " + event.reason);
737
- _this._errorDisconnect(index_1.CONTROL_MSG.CONNECTION_CLOSED);
738
- };
739
- res('Cool, connected to AWS AppSyncRealTime');
740
- return;
741
- }
742
- if (type === MESSAGE_TYPES.GQL_CONNECTION_ERROR) {
743
- var _c = data.payload, _d = (_c === void 0 ? {} : _c).errors, _e = __read(_d === void 0 ? [] : _d, 1), _f = _e[0], _g = _f === void 0 ? {} : _f, _h = _g.errorType, errorType = _h === void 0 ? '' : _h, _j = _g.errorCode, errorCode = _j === void 0 ? 0 : _j;
744
- rej({ errorType: errorType, errorCode: errorCode });
745
- }
746
- };
747
- var gqlInit = {
748
- type: MESSAGE_TYPES.GQL_CONNECTION_INIT,
749
- };
750
- _this.awsRealTimeSocket.send(JSON.stringify(gqlInit));
751
- function checkAckOk() {
727
+ if (_this.awsRealTimeSocket) {
728
+ var ackOk_1 = false;
729
+ _this.awsRealTimeSocket.onerror = function (error) {
730
+ logger.debug("WebSocket error " + JSON.stringify(error));
731
+ };
732
+ _this.awsRealTimeSocket.onclose = function (event) {
733
+ logger.debug("WebSocket closed " + event.reason);
734
+ rej(new Error(JSON.stringify(event)));
735
+ };
736
+ _this.awsRealTimeSocket.onmessage = function (message) {
737
+ logger.debug("subscription message from AWS AppSyncRealTime: " + message.data + " ");
738
+ var data = JSON.parse(message.data);
739
+ var type = data.type, _a = data.payload, _b = (_a === void 0 ? {} : _a).connectionTimeoutMs, connectionTimeoutMs = _b === void 0 ? DEFAULT_KEEP_ALIVE_TIMEOUT : _b;
740
+ if (type === MESSAGE_TYPES.GQL_CONNECTION_ACK) {
741
+ ackOk_1 = true;
742
+ if (_this.awsRealTimeSocket) {
743
+ _this.keepAliveTimeout = connectionTimeoutMs;
744
+ _this.awsRealTimeSocket.onmessage =
745
+ _this._handleIncomingSubscriptionMessage.bind(_this);
746
+ _this.awsRealTimeSocket.onerror = function (err) {
747
+ logger.debug(err);
748
+ _this._errorDisconnect(index_1.CONTROL_MSG.CONNECTION_CLOSED);
749
+ };
750
+ _this.awsRealTimeSocket.onclose = function (event) {
751
+ logger.debug("WebSocket closed " + event.reason);
752
+ _this._errorDisconnect(index_1.CONTROL_MSG.CONNECTION_CLOSED);
753
+ };
754
+ }
755
+ res('Cool, connected to AWS AppSyncRealTime');
756
+ return;
757
+ }
758
+ if (type === MESSAGE_TYPES.GQL_CONNECTION_ERROR) {
759
+ var _c = data.payload, _d = (_c === void 0 ? {} : _c).errors, _e = __read(_d === void 0 ? [] : _d, 1), _f = _e[0], _g = _f === void 0 ? {} : _f, _h = _g.errorType, errorType = _h === void 0 ? '' : _h, _j = _g.errorCode, errorCode = _j === void 0 ? 0 : _j;
760
+ rej({ errorType: errorType, errorCode: errorCode });
761
+ }
762
+ };
763
+ var gqlInit = {
764
+ type: MESSAGE_TYPES.GQL_CONNECTION_INIT,
765
+ };
766
+ _this.awsRealTimeSocket.send(JSON.stringify(gqlInit));
767
+ setTimeout(checkAckOk.bind(_this, ackOk_1), CONNECTION_INIT_TIMEOUT);
768
+ }
769
+ function checkAckOk(ackOk) {
752
770
  if (!ackOk) {
753
771
  rej(new Error("Connection timeout: ack from AWSRealTime was not received on " + CONNECTION_INIT_TIMEOUT + " ms"));
754
772
  }
755
773
  }
756
- setTimeout(checkAckOk.bind(_this), CONNECTION_INIT_TIMEOUT);
757
774
  });
758
775
  })()];
759
776
  case 3:
@@ -762,7 +779,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
762
779
  return [3 /*break*/, 5];
763
780
  case 4:
764
781
  err_4 = _b.sent();
765
- errorType = err_4.errorType, errorCode = err_4.errorCode;
782
+ _a = err_4, errorType = _a.errorType, errorCode = _a.errorCode;
766
783
  if (NON_RETRYABLE_CODES.includes(errorCode)) {
767
784
  throw new core_1.NonRetryableError(errorType);
768
785
  }
@@ -792,12 +809,12 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
792
809
  AMAZON_COGNITO_USER_POOLS: this._awsRealTimeCUPHeader.bind(this),
793
810
  AWS_LAMBDA: this._customAuthHeader,
794
811
  };
812
+ if (!(!authenticationType || !headerHandler[authenticationType])) return [3 /*break*/, 1];
813
+ logger.debug("Authentication type " + authenticationType + " not supported");
814
+ return [2 /*return*/, ''];
815
+ case 1:
795
816
  handler = headerHandler[authenticationType];
796
- if (typeof handler !== 'function') {
797
- logger.debug("Authentication type " + authenticationType + " not supported");
798
- return [2 /*return*/, ''];
799
- }
800
- host = url.parse(appSyncGraphqlEndpoint).host;
817
+ host = url.parse(appSyncGraphqlEndpoint !== null && appSyncGraphqlEndpoint !== void 0 ? appSyncGraphqlEndpoint : '').host;
801
818
  return [4 /*yield*/, handler({
802
819
  payload: payload,
803
820
  canonicalUri: canonicalUri,
@@ -807,7 +824,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
807
824
  host: host,
808
825
  additionalHeaders: additionalHeaders,
809
826
  })];
810
- case 1:
827
+ case 2:
811
828
  result = _b.sent();
812
829
  return [2 /*return*/, result];
813
830
  }
@@ -894,11 +911,14 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
894
911
  if (!credentialsOK) {
895
912
  throw new Error('No credentials');
896
913
  }
897
- return [4 /*yield*/, core_1.Credentials.get().then(function (credentials) { return ({
898
- secret_key: credentials.secretAccessKey,
899
- access_key: credentials.accessKeyId,
900
- session_token: credentials.sessionToken,
901
- }); })];
914
+ return [4 /*yield*/, core_1.Credentials.get().then(function (credentials) {
915
+ var _a = credentials, secretAccessKey = _a.secretAccessKey, accessKeyId = _a.accessKeyId, sessionToken = _a.sessionToken;
916
+ return {
917
+ secret_key: secretAccessKey,
918
+ access_key: accessKeyId,
919
+ session_token: sessionToken,
920
+ };
921
+ })];
902
922
  case 2:
903
923
  creds = _b.sent();
904
924
  request = {
@@ -915,7 +935,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
915
935
  };
916
936
  AWSAppSyncRealTimeProvider.prototype._customAuthHeader = function (_a) {
917
937
  var host = _a.host, additionalHeaders = _a.additionalHeaders;
918
- if (!additionalHeaders.Authorization) {
938
+ if (!additionalHeaders || !additionalHeaders['Authorization']) {
919
939
  throw new Error('No auth token specified');
920
940
  }
921
941
  return {