@arc-publishing/sdk-amp
Version:
Arc AMP SDK to work with Google AMP Pages
64 lines • 2.47 kB
JavaScript
;
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