backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
80 lines (79 loc) • 2.8 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var Utils = {
isBrowser: isBrowser(),
isLocalStorageSupported: isLocalStorageSupported(),
globalScope: (typeof self === "undefined" ? "undefined" : (0, _typeof2["default"])(self)) === 'object' && self.self === self && self || (typeof global === "undefined" ? "undefined" : (0, _typeof2["default"])(global)) === 'object' && global.global === global && global,
castArray: function castArray(value) {
if (Array.isArray(value)) {
return value;
}
if (typeof value === 'undefined') {
return [];
}
return [value];
},
isCustomClassInstance: function isCustomClassInstance(item) {
if (!item || (0, _typeof2["default"])(item) !== 'object' || Array.isArray(item)) {
return false;
}
return item.constructor !== Object;
},
getClassName: function getClassName(obj) {
if (obj && obj.className) {
return obj.className;
}
if (typeof obj === 'function') {
if (obj.name) {
return obj.name;
}
}
if (obj && (0, _typeof2["default"])(obj) === 'object' && !Array.isArray(obj)) {
if (obj.___class) {
return obj.___class;
}
if (obj.constructor !== Object) {
return Utils.getClassName(obj.constructor);
}
}
return null;
},
uuid: function uuid() {
var chr4 = function chr4() {
return Math.random().toString(16).slice(-4).toUpperCase();
};
var chr8 = function chr8() {
return "".concat(chr4()).concat(chr4());
};
var chr12 = function chr12() {
return "".concat(chr4()).concat(chr4()).concat(chr4());
};
return "".concat(chr8(), "-").concat(chr4(), "-").concat(chr4(), "-").concat(chr4(), "-").concat(chr12());
},
isObject: function isObject(obj) {
return obj != null && obj.constructor.name === 'Object';
},
getWindowNavigator: function getWindowNavigator() {
return typeof __test_navigator !== 'undefined' ? __test_navigator : global.navigator;
}
};
function isBrowser() {
return (typeof self === "undefined" ? "undefined" : (0, _typeof2["default"])(self)) === 'object' && self.self === self && (typeof window === "undefined" ? "undefined" : (0, _typeof2["default"])(window)) === 'object' && window === self;
}
function isLocalStorageSupported() {
try {
if (isBrowser() && window.localStorage) {
localStorage.setItem('localStorageTest', true);
localStorage.removeItem('localStorageTest');
return true;
}
} catch (e) {}
return false;
}
var _default = Utils;
exports["default"] = _default;