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;