UNPKG

810 BJavaScriptView Raw
1const BaseProvider = require('./BaseProvider');
2const HttpProvider = require('./HttpProvider');
3// const WebsocketProvider = require('./WebsocketProvider');
4
5function providerFactory(url, options) {
6 let provider;
7
8 if (typeof url !== 'string') {
9 throw new Error(`url must be string, got ${url}`);
10 }
11
12 if (!url) {
13 provider = new BaseProvider(url, options); // empty provider
14 } else if (url.startsWith('http')) {
15 provider = new HttpProvider(url, options);
16 } else if (url.startsWith('ws')) {
17 throw new Error(`Invalid protocol or url "${url}"`); // FIXME: support ws in browser
18 // provider = new WebsocketProvider(url, options);
19 } else {
20 throw new Error(`Invalid protocol or url "${url}"`);
21 }
22
23 return provider;
24}
25
26module.exports = providerFactory;