UNPKG

@arc-publishing/sdk-amp

Version:
54 lines 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var amp_1 = tslib_1.__importDefault(require("./amp")); var APIErrorResponse_1 = require("@arc-publishing/sdk-subs-core/lib/utils/APIErrorResponse"); var constants_1 = require("./constants"); function checkAMPReaderID(readerId) { return tslib_1.__awaiter(this, void 0, void 0, function () { var error, existingReaderId, isLoggedIn, ampReaderId, allUserReaderIds, ids, resp; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (typeof window === 'undefined') { return [2, '']; } if (!amp_1.default._Identity) { error = "".concat(constants_1.logPrefix, " no Identity provided in AMP.options"); console.error(error); throw new Error(error); } existingReaderId = amp_1.default.ampReaderId; return [4, amp_1.default._Identity.isLoggedIn()]; case 1: isLoggedIn = _a.sent(); ampReaderId = readerId || ''; if (ampReaderId && (!existingReaderId || existingReaderId !== ampReaderId)) { amp_1.default.ampReaderId = ampReaderId; } if (amp_1.default.ampReaderId) { ampReaderId = amp_1.default.ampReaderId; } if (!isLoggedIn) return [3, 4]; allUserReaderIds = []; return [4, amp_1.default.getAMPReaderIDs()]; case 2: ids = _a.sent(); if (Array.isArray(ids)) { allUserReaderIds = ids; } if (!(ampReaderId && !allUserReaderIds.includes(ampReaderId))) return [3, 4]; return [4, amp_1.default.saveAMPReaderID(ampReaderId)]; case 3: resp = _a.sent(); if ((0, APIErrorResponse_1.isAPIErrorResponse)(resp)) { throw resp; } _a.label = 4; case 4: return [2, ampReaderId]; } }); }); } exports.default = checkAMPReaderID; //# sourceMappingURL=checkAMPReaderID.js.map