UNPKG

3.65 kBJavaScriptView Raw
1var ReactNative = require('react-native');
2var {
3 AsyncStorage
4} = ReactNative;
5var mode = 'production';
6var https = null;
7var https_ = null;
8var wss = null;
9var domain = '';
10switch (mode) {
11 case 'staging':
12 domain = 'herocarcarestaging001.azurewebsites.net';
13 break;
14 case 'production':
15 domain = 'herocarcare.azurewebsites.net';
16 break;
17 default:
18 domain = 'hero-car-care-001.azurewebsites.net';
19 break;
20}
21https_ = `https://${domain}`;
22https = https_ + '/';
23wss = `wss://${domain}/`;
24
25export const DEFAULT_URL = https;
26///export const DEFAULT_URL_ = 'https://herocarcare-v1.azurewebsites.net';
27export const DEFAULT_URL_ = https_;
28export const WS_DEFAULT_URL = wss
29export const DEBUG_MODE = false;
30export const setEnvironment = environment => {
31 return AsyncStorage.setItem('ENVIRONMENT', environment);
32}
33var GOOGLE_PLACES_API = null;
34export const setGooglePlacesApi = api => {
35 GOOGLE_PLACES_API = api;
36 return AsyncStorage.setItem('GOOGLE_PLACES_API', api);
37}
38export const getGooglePlacesApi = () => {
39 return GOOGLE_PLACES_API;
40}
41export const ENVIRONMENT_URLS = 'ENVIRONMENT_URLS'
42export const ENVIRONMENT_URLS_WS = 'ENVIRONMENT_URLS_WS'
43export const setEnvironmentUrls = dict => {
44 return AsyncStorage.setItem(ENVIRONMENT_URLS, JSON.stringify(dict)).then(() => {
45 if (setDefaultUrlPromise && typeof (setDefaultUrlPromise) === 'function')
46 setDefaultUrlPromise();
47 setDefaultUrlPromise = true;
48 });
49}
50export const setEnvironmentWebSocketUrls = dict => {
51 return AsyncStorage.setItem(ENVIRONMENT_URLS_WS, JSON.stringify(dict)).then(() => {
52 if (setDefaultWSPromise && typeof (setDefaultWSPromise) === 'function')
53 setDefaultWSPromise();
54 setDefaultWSPromise = true;
55 });
56}
57
58
59export const setLocation = location => {
60 return AsyncStorage.setItem('LOCATION', JSON.stringify(location));
61}
62export const getLocation = () => {
63 return AsyncStorage.getItem('LOCATION').then(item => {
64 if (item) {
65 return JSON.parse(item);
66 }
67 return null;
68 });
69}
70var setDefaultWSPromise = null;
71export const getDefaultWS = () => {
72 return new Promise((resolve) => {
73
74 if (setDefaultWSPromise) {
75 resolve();
76 }
77 setDefaultWSPromise = resolve;
78 }).then(() => {
79 return AsyncStorage.getItem('ENVIRONMENT').then(res => {
80 return AsyncStorage.getItem(ENVIRONMENT_URLS_WS).then(environments => {
81 var envs = JSON.parse(environments);
82 if (envs[res]) {
83 return envs[res];
84 }
85 throw new Error('unknown ws endpoint');
86 });
87 });
88 });
89}
90
91export const getCurrentEnvironment = () => {
92 return AsyncStorage.getItem('ENVIRONMENT');
93}
94var setDefaultUrlPromise = null;
95export const getDefaultURL = (add) => {
96 add = add || ''
97 return new Promise((resolve, fail) => {
98 if (setDefaultUrlPromise) {
99 resolve();
100 }
101 setDefaultUrlPromise = resolve;
102 }).then(() => {
103 return AsyncStorage.getItem('ENVIRONMENT').then(res => {
104 return AsyncStorage.getItem(ENVIRONMENT_URLS).then(environments => {
105 var envs = JSON.parse(environments);
106 if (envs[res]) {
107 return envs[res];
108 }
109 throw new Error('unknown http(s) endpoint');
110 });
111 });
112 });
113}
114
115export const IceConfiguration = () => {
116 return Promise.resolve().then(() => {
117 return { "iceServers": [{ "url": "stun:stun.l.google.com:19302" }] };
118 });
119}
\No newline at end of file