UNPKG

@arc-publishing/sdk-amp

Version:
64 lines 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initStorage = exports.getValidURL = exports.getOptions = void 0; var tslib_1 = require("tslib"); var amp_1 = tslib_1.__importDefault(require("./amp")); var memoryStorage_1 = tslib_1.__importDefault(require("@arc-publishing/sdk-subs-core/lib/utils/memoryStorage")); var cookieStorage_1 = tslib_1.__importDefault(require("@arc-publishing/sdk-subs-core/lib/utils/cookieStorage")); function getOptions(options) { if (options === void 0) { options = {}; } return tslib_1.__awaiter(this, void 0, void 0, function () { var isLoggedIn, reqOptions; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4, amp_1.default._Identity.isLoggedIn()]; case 1: isLoggedIn = _a.sent(); reqOptions = tslib_1.__assign(tslib_1.__assign({}, options), { headers: isLoggedIn ? tslib_1.__assign(tslib_1.__assign({}, options.headers), { Authorization: amp_1.default._Identity.userIdentity.accessToken }) : tslib_1.__assign({}, options.headers) }); if (!isLoggedIn) { reqOptions = tslib_1.__assign(tslib_1.__assign({}, reqOptions), { credentials: 'include' }); } return [2, reqOptions]; } }); }); } exports.getOptions = getOptions; function getValidURL(url) { if (typeof window === 'undefined') { return url; } if (!url) { return ''; } var newUrl = window.decodeURIComponent(url); newUrl = newUrl.trim().replace(/\s/g, ''); if (/^(:\/\/)/.test(newUrl)) { return "https".concat(newUrl); } if (!/^(f|ht)tps?:\/\//i.test(newUrl)) { return "https://".concat(newUrl); } return newUrl; } exports.getValidURL = getValidURL; var initStorage = function (baseDomain) { if (typeof window === 'undefined') { return new memoryStorage_1.default(); } if (baseDomain) { return new cookieStorage_1.default(baseDomain); } try { var testKey = 'ArcId.test'; localStorage.setItem(testKey, 'testValue'); localStorage.removeItem(testKey); return localStorage; } catch (_) { return new cookieStorage_1.default(baseDomain); } }; exports.initStorage = initStorage; //# sourceMappingURL=utils.js.map