UNPKG

2.77 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _getIterator2 = require('babel-runtime/core-js/get-iterator');
8
9var _getIterator3 = _interopRequireDefault(_getIterator2);
10
11var _mockBrowser = require('./mockBrowser');
12
13var _mockBrowser2 = _interopRequireDefault(_mockBrowser);
14
15var _client = require('sharedb/lib/client');
16
17var _client2 = _interopRequireDefault(_client);
18
19var _common = require('../util/common');
20
21var _common2 = _interopRequireDefault(_common);
22
23var _connectModel = require('../util/connectModel');
24
25var _connectModel2 = _interopRequireDefault(_connectModel);
26
27var _patchRacerHighway = require('./patchRacerHighway');
28
29var _patchRacerHighway2 = _interopRequireDefault(_patchRacerHighway);
30
31var _axios = require('axios');
32
33var _axios2 = _interopRequireDefault(_axios);
34
35function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37// React Native requires manual configuration of the ShareDB client.
38// Here we patch the connection options to work in RN environment.
39
40// Make RN behave like a browser to trick Racer
41var DEFAULT_BASE_URL = 'http://127.0.0.1:3000';
42
43var NO_BASE_URL_WARN = '\n !!!WARNING!!! baseUrl option is not specified.\n Defaulting to http://127.0.0.1:3000\n\n StartupJS on React Native must know baseUrl of the server to connect to.\n\n IMPORTANT!!! You must provide proper baseUrl in production. Your app\n won\'t be able to automatically find out the server IP address.\n';
44
45exports.default = function () {
46 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
47
48 if (!options.baseUrl) {
49 console.warn(NO_BASE_URL_WARN);
50 options.baseUrl = DEFAULT_BASE_URL;
51 }
52
53 // This module is actually pure side-effects, so we force
54 // its usage to prevent tree-shaking algos from removing the import
55 (0, _mockBrowser2.default)();
56
57 _axios2.default.defaults.baseURL = options.baseUrl;
58 (0, _patchRacerHighway2.default)(options.baseUrl);
59 (0, _common2.default)(_client2.default, options);
60 var _iteratorNormalCompletion = true;
61 var _didIteratorError = false;
62 var _iteratorError = undefined;
63
64 try {
65 for (var _iterator = (0, _getIterator3.default)(options.plugins || []), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
66 var plugin = _step.value;
67
68 plugin(options);
69 }
70 } catch (err) {
71 _didIteratorError = true;
72 _iteratorError = err;
73 } finally {
74 try {
75 if (!_iteratorNormalCompletion && _iterator.return) {
76 _iterator.return();
77 }
78 } finally {
79 if (_didIteratorError) {
80 throw _iteratorError;
81 }
82 }
83 }
84
85 (0, _connectModel2.default)();
86};
87
88module.exports = exports['default'];
\No newline at end of file