@aws-amplify/pubsub 4.2.11 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/aws-amplify-pubsub.js +9 -2
  3. package/dist/aws-amplify-pubsub.js.map +1 -1
  4. package/dist/aws-amplify-pubsub.min.js +1 -1
  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 +17 -2
  10. package/lib/Providers/AWSAppSyncRealTimeProvider.js +8 -5
  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 +10 -6
  16. package/lib/Providers/MqttOverWSProvider.js.map +1 -1
  17. package/lib/Providers/PubSubProvider.d.ts +7 -7
  18. package/lib/Providers/PubSubProvider.js.map +1 -1
  19. package/lib/PubSub.d.ts +3 -3
  20. package/lib/PubSub.js.map +1 -1
  21. package/lib/types/Provider.d.ts +3 -3
  22. package/lib/types/PubSub.d.ts +5 -1
  23. package/lib-esm/Providers/AWSAppSyncProvider.d.ts +3 -0
  24. package/lib-esm/Providers/AWSAppSyncProvider.js +3 -0
  25. package/lib-esm/Providers/AWSAppSyncProvider.js.map +1 -1
  26. package/lib-esm/Providers/AWSAppSyncRealTimeProvider.d.ts +17 -2
  27. package/lib-esm/Providers/AWSAppSyncRealTimeProvider.js +8 -5
  28. package/lib-esm/Providers/AWSAppSyncRealTimeProvider.js.map +1 -1
  29. package/lib-esm/Providers/AWSIotProvider.d.ts +6 -1
  30. package/lib-esm/Providers/AWSIotProvider.js +3 -2
  31. package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
  32. package/lib-esm/Providers/MqttOverWSProvider.d.ts +10 -6
  33. package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
  34. package/lib-esm/Providers/PubSubProvider.d.ts +7 -7
  35. package/lib-esm/Providers/PubSubProvider.js.map +1 -1
  36. package/lib-esm/PubSub.d.ts +3 -3
  37. package/lib-esm/PubSub.js.map +1 -1
  38. package/lib-esm/types/Provider.d.ts +3 -3
  39. package/lib-esm/types/PubSub.d.ts +5 -1
  40. package/package.json +5 -5
  41. package/src/Providers/AWSAppSyncProvider.ts +27 -26
  42. package/src/Providers/AWSAppSyncRealTimeProvider.ts +37 -29
  43. package/src/Providers/AWSIotProvider.ts +10 -1
  44. package/src/Providers/MqttOverWSProvider.ts +15 -17
  45. package/src/Providers/PubSubProvider.ts +8 -8
  46. package/src/PubSub.ts +4 -4
  47. package/src/types/Provider.ts +3 -7
  48. package/src/types/PubSub.ts +6 -1
@@ -15,7 +15,7 @@ import { v4 as uuid } from 'uuid';
15
15
  import Observable from 'zen-observable-ts';
16
16
 
17
17
  import { AbstractPubSubProvider } from './PubSubProvider';
18
- import { ProvidertOptions, SubscriptionObserver } from '../types';
18
+ import { ProviderOptions, SubscriptionObserver } from '../types';
19
19
  import { ConsoleLogger as Logger } from '@aws-amplify/core';
20
20
 
21
21
  const logger = new Logger('MqttOverWSProvider');
@@ -34,11 +34,16 @@ export function mqttTopicMatch(filter: string, topic: string) {
34
34
  return length === topicArray.length;
35
35
  }
36
36
 
37
- export interface MqttProvidertOptions extends ProvidertOptions {
37
+ export interface MqttProviderOptions extends ProviderOptions {
38
38
  clientId?: string;
39
39
  url?: string;
40
40
  }
41
41
 
42
+ /**
43
+ * @deprecated Migrated to MqttProviderOptions
44
+ */
45
+ export type MqttProvidertOptions = MqttProviderOptions;
46
+
42
47
  class ClientsQueue {
43
48
  private promises: Map<string, Promise<any>> = new Map();
44
49
 
@@ -69,7 +74,7 @@ const topicSymbol = typeof Symbol !== 'undefined' ? Symbol('topic') : '@@topic';
69
74
  export class MqttOverWSProvider extends AbstractPubSubProvider {
70
75
  private _clientsQueue = new ClientsQueue();
71
76
 
72
- constructor(options: MqttProvidertOptions = {}) {
77
+ constructor(options: MqttProviderOptions = {}) {
73
78
  super({ ...options, clientId: options.clientId || uuid() });
74
79
  }
75
80
 
@@ -128,10 +133,7 @@ export class MqttOverWSProvider extends AbstractPubSubProvider {
128
133
  }
129
134
  }
130
135
 
131
- public async newClient({
132
- url,
133
- clientId,
134
- }: MqttProvidertOptions): Promise<any> {
136
+ public async newClient({ url, clientId }: MqttProviderOptions): Promise<any> {
135
137
  logger.debug('Creating new MQTT client', clientId);
136
138
 
137
139
  // @ts-ignore
@@ -161,7 +163,7 @@ export class MqttOverWSProvider extends AbstractPubSubProvider {
161
163
 
162
164
  protected async connect(
163
165
  clientId: string,
164
- options: MqttProvidertOptions = {}
166
+ options: MqttProviderOptions = {}
165
167
  ): Promise<any> {
166
168
  return await this.clientsQueue.get(clientId, clientId =>
167
169
  this.newClient({ ...options, clientId })
@@ -189,15 +191,11 @@ export class MqttOverWSProvider extends AbstractPubSubProvider {
189
191
  targetTopics.forEach(topic => client.send(topic, message));
190
192
  }
191
193
 
192
- protected _topicObservers: Map<
193
- string,
194
- Set<SubscriptionObserver<any>>
195
- > = new Map();
194
+ protected _topicObservers: Map<string, Set<SubscriptionObserver<any>>> =
195
+ new Map();
196
196
 
197
- protected _clientIdObservers: Map<
198
- string,
199
- Set<SubscriptionObserver<any>>
200
- > = new Map();
197
+ protected _clientIdObservers: Map<string, Set<SubscriptionObserver<any>>> =
198
+ new Map();
201
199
 
202
200
  private _onMessage(topic: string, msg: any) {
203
201
  try {
@@ -223,7 +221,7 @@ export class MqttOverWSProvider extends AbstractPubSubProvider {
223
221
 
224
222
  subscribe(
225
223
  topics: string[] | string,
226
- options: MqttProvidertOptions = {}
224
+ options: MqttProviderOptions = {}
227
225
  ): Observable<any> {
228
226
  const targetTopics = ([] as string[]).concat(topics);
229
227
  logger.debug('Subscribing to topic(s)', targetTopics.join(','));
@@ -11,19 +11,19 @@
11
11
  * and limitations under the License.
12
12
  */
13
13
  import Observable from 'zen-observable-ts';
14
- import { PubSubProvider, ProvidertOptions } from '../types';
14
+ import { PubSubProvider, ProviderOptions } from '../types';
15
15
  import { ConsoleLogger as Logger } from '@aws-amplify/core';
16
16
 
17
17
  const logger = new Logger('AbstractPubSubProvider');
18
18
 
19
19
  export abstract class AbstractPubSubProvider implements PubSubProvider {
20
- private _config: ProvidertOptions;
20
+ private _config: ProviderOptions;
21
21
 
22
- constructor(options: ProvidertOptions = {}) {
22
+ constructor(options: ProviderOptions = {}) {
23
23
  this._config = options;
24
24
  }
25
25
 
26
- configure(config: ProvidertOptions = {}): ProvidertOptions {
26
+ configure(config: ProviderOptions = {}): ProviderOptions {
27
27
  this._config = { ...config, ...this._config };
28
28
 
29
29
  logger.debug(`configure ${this.getProviderName()}`, this._config);
@@ -37,20 +37,20 @@ export abstract class AbstractPubSubProvider implements PubSubProvider {
37
37
 
38
38
  abstract getProviderName(): string;
39
39
 
40
- protected get options(): ProvidertOptions {
40
+ protected get options(): ProviderOptions {
41
41
  return { ...this._config };
42
42
  }
43
43
 
44
- public abstract newClient(clientOptions: ProvidertOptions): Promise<any>;
44
+ public abstract newClient(clientOptions: ProviderOptions): Promise<any>;
45
45
 
46
46
  public abstract publish(
47
47
  topics: string[] | string,
48
48
  msg: any,
49
- options?: ProvidertOptions
49
+ options?: ProviderOptions
50
50
  ): void;
51
51
 
52
52
  public abstract subscribe(
53
53
  topics: string[] | string,
54
- options?: ProvidertOptions
54
+ options?: ProviderOptions
55
55
  ): Observable<any>;
56
56
  }
package/src/PubSub.ts CHANGED
@@ -20,7 +20,7 @@ import {
20
20
  INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER,
21
21
  INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER,
22
22
  } from '@aws-amplify/core';
23
- import { PubSubProvider, PubSubOptions, ProvidertOptions } from './types';
23
+ import { PubSubProvider, PubSubOptions, ProviderOptions } from './types';
24
24
  import { AWSAppSyncProvider, AWSAppSyncRealTimeProvider } from './Providers';
25
25
 
26
26
  const { isNode } = browserOrNode();
@@ -133,7 +133,7 @@ export class PubSubClass {
133
133
  );
134
134
  }
135
135
 
136
- private getProviders(options: ProvidertOptions = {}) {
136
+ private getProviders(options: ProviderOptions = {}) {
137
137
  const { provider: providerName } = options;
138
138
  if (!providerName) {
139
139
  return this._pluggables;
@@ -150,7 +150,7 @@ export class PubSubClass {
150
150
  async publish(
151
151
  topics: string[] | string,
152
152
  msg: any,
153
- options?: ProvidertOptions
153
+ options?: ProviderOptions
154
154
  ) {
155
155
  return Promise.all(
156
156
  this.getProviders(options).map(provider =>
@@ -161,7 +161,7 @@ export class PubSubClass {
161
161
 
162
162
  subscribe(
163
163
  topics: string[] | string,
164
- options?: ProvidertOptions
164
+ options?: ProviderOptions
165
165
  ): Observable<any> {
166
166
  if (isNode && this._options && this._options.ssr) {
167
167
  throw new Error(
@@ -11,7 +11,7 @@
11
11
  * and limitations under the License.
12
12
  */
13
13
  import Observable from 'zen-observable-ts';
14
- import { ProvidertOptions } from './PubSub';
14
+ import { ProviderOptions } from './PubSub';
15
15
 
16
16
  export interface PubSubProvider {
17
17
  // configure your provider
@@ -23,14 +23,10 @@ export interface PubSubProvider {
23
23
  // return the name of you provider
24
24
  getProviderName(): string;
25
25
 
26
- publish(
27
- topics: string[] | string,
28
- msg: any,
29
- options?: ProvidertOptions
30
- ): void;
26
+ publish(topics: string[] | string, msg: any, options?: ProviderOptions): void;
31
27
 
32
28
  subscribe(
33
29
  topics: string[] | string,
34
- options?: ProvidertOptions
30
+ options?: ProviderOptions
35
31
  ): Observable<any>;
36
32
  }
@@ -14,6 +14,11 @@ export interface PubSubOptions {
14
14
  [key: string]: any;
15
15
  }
16
16
 
17
- export interface ProvidertOptions {
17
+ export interface ProviderOptions {
18
18
  [key: string]: any;
19
19
  }
20
+
21
+ /**
22
+ * @deprecated Migrated to ProviderOptions
23
+ */
24
+ export type ProvidertOptions = ProviderOptions;