baqend
Version:
Baqend JavaScript SDK
75 lines • 4.5 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebStorage = void 0;
var TokenStorage_1 = require("./TokenStorage");
/**
* @ignore
*/
var WebStorage = /** @class */ (function (_super) {
__extends(WebStorage, _super);
function WebStorage() {
return _super !== null && _super.apply(this, arguments) || this;
}
WebStorage.isAvailable = function () {
try {
// firefox throws an exception if cookies are disabled
if (typeof localStorage === 'undefined') {
return false;
}
localStorage.setItem('bq_webstorage_test', 'bq');
localStorage.removeItem('bq_webstorage_test');
return true;
}
catch (e) {
return false;
}
};
/**
* Creates a global web storage instance for the given origin
* A web token storage use the localStorage or sessionStorage to store the origin tokens
* @param origin
* @return
*/
WebStorage.create = function (origin) {
var temporary = false;
var token = localStorage.getItem("BAT:".concat(origin));
if (!token && typeof sessionStorage !== 'undefined') {
token = sessionStorage.getItem("BAT:".concat(origin));
temporary = !!token;
}
return Promise.resolve(new WebStorage(origin, token, temporary));
};
/**
* @inheritDoc
*/
WebStorage.prototype.saveToken = function (origin, token, temporary) {
var webStorage = temporary ? sessionStorage : localStorage;
if (token) {
webStorage.setItem("BAT:".concat(origin), token);
}
else {
webStorage.removeItem("BAT:".concat(origin));
}
};
return WebStorage;
}(TokenStorage_1.TokenStorage));
exports.WebStorage = WebStorage;
if (WebStorage.isAvailable()) {
TokenStorage_1.TokenStorage.WEB_STORAGE = WebStorage;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9pbnRlcnNlY3Rpb24vV2ViU3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBOEM7QUFFOUM7O0dBRUc7QUFDSDtJQUFnQyw4QkFBWTtJQUE1Qzs7SUE2Q0EsQ0FBQztJQTVDUSxzQkFBVyxHQUFsQjtRQUNFLElBQUk7WUFDRixzREFBc0Q7WUFDdEQsSUFBSSxPQUFPLFlBQVksS0FBSyxXQUFXLEVBQUU7Z0JBQ3ZDLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFFRCxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pELFlBQVksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksaUJBQU0sR0FBYixVQUFjLE1BQWM7UUFDMUIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBTyxNQUFNLENBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxjQUFjLEtBQUssV0FBVyxFQUFFO1lBQ25ELEtBQUssR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLGNBQU8sTUFBTSxDQUFFLENBQUMsQ0FBQztZQUNoRCxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztTQUNyQjtRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsOEJBQVMsR0FBVCxVQUFVLE1BQWMsRUFBRSxLQUFvQixFQUFFLFNBQWtCO1FBQ2hFLElBQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDN0QsSUFBSSxLQUFLLEVBQUU7WUFDVCxVQUFVLENBQUMsT0FBTyxDQUFDLGNBQU8sTUFBTSxDQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDNUM7YUFBTTtZQUNMLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBTyxNQUFNLENBQUUsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQTdDRCxDQUFnQywyQkFBWSxHQTZDM0M7QUE3Q1ksZ0NBQVU7QUErQ3ZCLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFO0lBQzVCLDJCQUFZLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztDQUN2QyJ9