UNPKG

relution-sdk

Version:

Relution Software Development Kit for TypeScript and JavaScript

57 lines 6.35 kB
/* * @file web/online.ts * Relution SDK * * Created by Thomas Beckmann on 14.10.2016 * Copyright 2016 M-Way Solutions GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @module web */ /** */ "use strict"; var init = require('../core/init'); var server = require('../security/server'); /** * turns the object deeply immutable. * * @param serverInfos to freeze. * @return {ServerInformation} serverInfos for convenience. * * @internal for library use only. */ function freezeServerInformation(serverInfos) { return Object.freeze(serverInfos); } exports.freezeServerInformation = freezeServerInformation; /** * gets the [[ServerInformation]] of the last recent [[ajax]] request. * * @param serverUrlOrServerUrlOptions url of server or options object, omit to query the current server. * @return information object when online, or falsy when offline. */ function getOnlineStatus(serverUrlOrServerUrlOptions) { if (serverUrlOrServerUrlOptions === void 0) { serverUrlOrServerUrlOptions = init.initOptions.serverUrl; } var serverUrl; if (_.isString(serverUrlOrServerUrlOptions)) { serverUrl = serverUrlOrServerUrlOptions; } else if (serverUrlOrServerUrlOptions) { serverUrl = serverUrlOrServerUrlOptions.serverUrl; } return server.Server.getInstance(serverUrl).serverInfos; } exports.getOnlineStatus = getOnlineStatus; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25saW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dlYi9vbmxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNIOztHQUVHO0FBQ0gsTUFBTTs7QUFFTixJQUFZLElBQUksV0FBTSxjQUFjLENBQUMsQ0FBQTtBQUNyQyxJQUFZLE1BQU0sV0FBTSxvQkFBb0IsQ0FBQyxDQUFBO0FBb0I3Qzs7Ozs7OztHQU9HO0FBQ0gsaUNBQXdDLFdBQThCO0lBQ3BFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFGZSwrQkFBdUIsMEJBRXRDLENBQUE7QUFFRDs7Ozs7R0FLRztBQUNILHlCQUFnQywyQkFBd0Y7SUFBeEYsMkNBQXdGLEdBQXhGLDhCQUE4RCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7SUFDdEgsSUFBSSxTQUFpQixDQUFDO0lBQ3RCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsU0FBUyxHQUFHLDJCQUEyQixDQUFDO0lBQzFDLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLFNBQVMsR0FBRywyQkFBMkIsQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUM7QUFDMUQsQ0FBQztBQVJlLHVCQUFlLGtCQVE5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQGZpbGUgd2ViL29ubGluZS50c1xyXG4gKiBSZWx1dGlvbiBTREtcclxuICpcclxuICogQ3JlYXRlZCBieSBUaG9tYXMgQmVja21hbm4gb24gMTQuMTAuMjAxNlxyXG4gKiBDb3B5cmlnaHQgMjAxNiBNLVdheSBTb2x1dGlvbnMgR21iSFxyXG4gKlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xyXG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxyXG4gKlxyXG4gKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICpcclxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxyXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXHJcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxyXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXHJcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4gKi9cclxuLyoqXHJcbiAqIEBtb2R1bGUgd2ViXHJcbiAqL1xyXG4vKiogKi9cclxuXHJcbmltcG9ydCAqIGFzIGluaXQgZnJvbSAnLi4vY29yZS9pbml0JztcclxuaW1wb3J0ICogYXMgc2VydmVyIGZyb20gJy4uL3NlY3VyaXR5L3NlcnZlcic7XHJcblxyXG4vKipcclxuICogdmVyc2lvbiBpbmZvcm1hdGlvbiBvZiBSZWx1dGlvbiBzZXJ2ZXIgZXh0cmFjdGVkIGZyb20gcmVzcG9uc2UgaGVhZGVyLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJJbmZvcm1hdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogcGxhaW4gdmVyc2lvbiBudW1iZXIgb2YgUmVsdXRpb24gc2VydmVyLlxyXG4gICAqXHJcbiAgICogVGhpcyBpcyB0aGUgdmFsdWUgb2YgdGhlIFgtUmVsdXRpb24tVmVyc2lvbiBoZWFkZXI6IGAzLjU2YCwgZm9yIGV4YW1wbGUuXHJcbiAgICovXHJcbiAgdmVyc2lvbj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBodW1hbiByZWFkYWJsZSBmdWxsIG5hbWUgb2YgUmVsdXRpb24gc2VydmVyLlxyXG4gICAqXHJcbiAgICogVGhpcyBpcyB0aGUgdmFsdWUgb2YgdGhlIFgtU2VydmVyIGhlYWRlcjogYFJlbHV0aW9uLzMuNTYgRW50ZXJwcmlzZSAoV2VkIFNlcCAyOCAxMToxNjowMCBDRVNUIDIwMTYpYCwgZm9yIGV4YW1wbGUuXHJcbiAgICovXHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiB0dXJucyB0aGUgb2JqZWN0IGRlZXBseSBpbW11dGFibGUuXHJcbiAqXHJcbiAqIEBwYXJhbSBzZXJ2ZXJJbmZvcyB0byBmcmVlemUuXHJcbiAqIEByZXR1cm4ge1NlcnZlckluZm9ybWF0aW9ufSBzZXJ2ZXJJbmZvcyBmb3IgY29udmVuaWVuY2UuXHJcbiAqXHJcbiAqIEBpbnRlcm5hbCBmb3IgbGlicmFyeSB1c2Ugb25seS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmcmVlemVTZXJ2ZXJJbmZvcm1hdGlvbihzZXJ2ZXJJbmZvczogU2VydmVySW5mb3JtYXRpb24pOiBTZXJ2ZXJJbmZvcm1hdGlvbiB7XHJcbiAgcmV0dXJuIE9iamVjdC5mcmVlemUoc2VydmVySW5mb3MpO1xyXG59XHJcblxyXG4vKipcclxuICogZ2V0cyB0aGUgW1tTZXJ2ZXJJbmZvcm1hdGlvbl1dIG9mIHRoZSBsYXN0IHJlY2VudCBbW2FqYXhdXSByZXF1ZXN0LlxyXG4gKlxyXG4gKiBAcGFyYW0gc2VydmVyVXJsT3JTZXJ2ZXJVcmxPcHRpb25zIHVybCBvZiBzZXJ2ZXIgb3Igb3B0aW9ucyBvYmplY3QsIG9taXQgdG8gcXVlcnkgdGhlIGN1cnJlbnQgc2VydmVyLlxyXG4gKiBAcmV0dXJuIGluZm9ybWF0aW9uIG9iamVjdCB3aGVuIG9ubGluZSwgb3IgZmFsc3kgd2hlbiBvZmZsaW5lLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE9ubGluZVN0YXR1cyhzZXJ2ZXJVcmxPclNlcnZlclVybE9wdGlvbnM6IHN0cmluZyB8IGluaXQuU2VydmVyVXJsT3B0aW9ucyA9IGluaXQuaW5pdE9wdGlvbnMuc2VydmVyVXJsKTogU2VydmVySW5mb3JtYXRpb24ge1xyXG4gIGxldCBzZXJ2ZXJVcmw6IHN0cmluZztcclxuICBpZiAoXy5pc1N0cmluZyhzZXJ2ZXJVcmxPclNlcnZlclVybE9wdGlvbnMpKSB7XHJcbiAgICBzZXJ2ZXJVcmwgPSBzZXJ2ZXJVcmxPclNlcnZlclVybE9wdGlvbnM7XHJcbiAgfSBlbHNlIGlmIChzZXJ2ZXJVcmxPclNlcnZlclVybE9wdGlvbnMpIHtcclxuICAgIHNlcnZlclVybCA9IHNlcnZlclVybE9yU2VydmVyVXJsT3B0aW9ucy5zZXJ2ZXJVcmw7XHJcbiAgfVxyXG4gIHJldHVybiBzZXJ2ZXIuU2VydmVyLmdldEluc3RhbmNlKHNlcnZlclVybCkuc2VydmVySW5mb3M7XHJcbn1cclxuIl19