/ src / messages.js
messages.js
 1  let Messages = {};
 2  
 3  Messages.Providers = {};
 4  
 5  Messages.registerProvider = function (providerName, obj) {
 6    this.Providers[providerName] = obj;
 7  };
 8  
 9  Messages.setProvider = function (providerName, options) {
10    let provider = this.Providers[providerName];
11  
12    if (!provider) {
13      throw new Error('Unknown messages provider');
14    }
15  
16    this.currentProviderName = providerName;
17    this.currentMessages = provider;
18  
19    return provider.setProvider(options);
20  };
21  
22  Messages.isAvailable = function () {
23    if (!this.currentMessages) {
24      return false;
25    }
26    return this.currentMessages.isAvailable();
27  };
28  
29  Messages.sendMessage = function (options) {
30    if (!this.currentMessages) {
31      throw new Error('Messages provider not set; e.g EmbarkJS.Messages.setProvider("whisper")');
32    }
33    return this.currentMessages.sendMessage(options);
34  };
35  
36  Messages.listenTo = function (options, callback) {
37    if (!this.currentMessages) {
38      throw new Error('Messages provider not set; e.g EmbarkJS.Messages.setProvider("whisper")');
39    }
40    return this.currentMessages.listenTo(options, callback);
41  };
42  
43  export default Messages;