123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _EventEmitter = _interopRequireDefault(require("./EventEmitter"));
- var _LiveQueryClient = _interopRequireDefault(require("./LiveQueryClient"));
- var _CoreManager = _interopRequireDefault(require("./CoreManager"));
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
- function getLiveQueryClient() /*: LiveQueryClient*/{
- return _CoreManager.default.getLiveQueryController().getDefaultLiveQueryClient();
- }
- const LiveQuery = new _EventEmitter.default();
- LiveQuery.open = async () => {
- const liveQueryClient = await getLiveQueryClient();
- liveQueryClient.open();
- };
- LiveQuery.close = async () => {
- const liveQueryClient = await getLiveQueryClient();
- liveQueryClient.close();
- };
- LiveQuery.on('error', () => {});
- var _default = LiveQuery;
- exports.default = _default;
- let defaultLiveQueryClient;
- const DefaultLiveQueryController = {
- setDefaultLiveQueryClient(liveQueryClient ) {
- defaultLiveQueryClient = liveQueryClient;
- },
- async getDefaultLiveQueryClient() {
- if (defaultLiveQueryClient) {
- return defaultLiveQueryClient;
- }
- const [currentUser, installationId] = await Promise.all([_CoreManager.default.getUserController().currentUserAsync(), _CoreManager.default.getInstallationController().currentInstallationId()]);
- const sessionToken = currentUser ? currentUser.getSessionToken() : undefined;
- let liveQueryServerURL = _CoreManager.default.get('LIVEQUERY_SERVER_URL');
- if (liveQueryServerURL && liveQueryServerURL.indexOf('ws') !== 0) {
- throw new Error('You need to set a proper Parse LiveQuery server url before using LiveQueryClient');
- }
-
- if (!liveQueryServerURL) {
- const serverURL = _CoreManager.default.get('SERVER_URL');
- const protocol = serverURL.indexOf('https') === 0 ? 'wss://' : 'ws://';
- const host = serverURL.replace(/^https?:\/\//, '');
- liveQueryServerURL = protocol + host;
- _CoreManager.default.set('LIVEQUERY_SERVER_URL', liveQueryServerURL);
- }
- const applicationId = _CoreManager.default.get('APPLICATION_ID');
- const javascriptKey = _CoreManager.default.get('JAVASCRIPT_KEY');
- const masterKey = _CoreManager.default.get('MASTER_KEY');
- defaultLiveQueryClient = new _LiveQueryClient.default({
- applicationId,
- serverURL: liveQueryServerURL,
- javascriptKey,
- masterKey,
- sessionToken,
- installationId
- });
- defaultLiveQueryClient.on('error', error => {
- LiveQuery.emit('error', error);
- });
- defaultLiveQueryClient.on('open', () => {
- LiveQuery.emit('open');
- });
- defaultLiveQueryClient.on('close', () => {
- LiveQuery.emit('close');
- });
- return defaultLiveQueryClient;
- },
- _clearCachedDefaultClient() {
- defaultLiveQueryClient = null;
- }
- };
- _CoreManager.default.setLiveQueryController(DefaultLiveQueryController);
|