@arc-publishing/sdk-amp
Version:
Arc AMP SDK to work with Google AMP Pages
58 lines • 2.05 kB
JavaScript
import { __assign, __awaiter, __generator } from "tslib";
import AMP from './amp';
import MemoryStorage from '@arc-publishing/sdk-subs-core/lib/utils/memoryStorage';
import CookieStorage from '@arc-publishing/sdk-subs-core/lib/utils/cookieStorage';
export function getOptions(options) {
if (options === void 0) { options = {}; }
return __awaiter(this, void 0, void 0, function () {
var isLoggedIn, reqOptions;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, AMP._Identity.isLoggedIn()];
case 1:
isLoggedIn = _a.sent();
reqOptions = __assign(__assign({}, options), { headers: isLoggedIn
? __assign(__assign({}, options.headers), { Authorization: AMP._Identity.userIdentity.accessToken }) : __assign({}, options.headers) });
if (!isLoggedIn) {
reqOptions = __assign(__assign({}, reqOptions), { credentials: 'include' });
}
return [2, reqOptions];
}
});
});
}
export 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;
}
export var initStorage = function (baseDomain) {
if (typeof window === 'undefined') {
return new MemoryStorage();
}
if (baseDomain) {
return new CookieStorage(baseDomain);
}
try {
var testKey = 'ArcId.test';
localStorage.setItem(testKey, 'testValue');
localStorage.removeItem(testKey);
return localStorage;
}
catch (_) {
return new CookieStorage(baseDomain);
}
};
//# sourceMappingURL=utils.js.map