relution-sdk
Version:
Relution Software Development Kit for TypeScript and JavaScript
57 lines • 6.35 kB
JavaScript
/*
* @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
*/
/** */
;
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