UNPKG

@schibstedspain/boros-cmp

Version:

Schibsted GDPR - Consent Management Provider - Standalone

54 lines (42 loc) 1.64 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _GlobalVendorListAccessError = _interopRequireDefault(require("../../domain/vendor_list/GlobalVendorListAccessError")); /** * @class * @implements VendorListRepository */ var HttpVendorListRepository = /*#__PURE__*/ function () { function HttpVendorListRepository(_ref) { var fetcher = _ref.fetcher, vendorListHost = _ref.vendorListHost, vendorListFilename = _ref.vendorListFilename; this._fetcher = fetcher; this._vendorListHost = vendorListHost; this._vendorListFilename = vendorListFilename; } var _proto = HttpVendorListRepository.prototype; _proto.getGlobalVendorList = function getGlobalVendorList(_temp) { var _this = this; var _ref2 = _temp === void 0 ? {} : _temp, vendorListVersion = _ref2.vendorListVersion; return Promise.resolve(this._vendorListHost + (vendorListVersion && Number(vendorListVersion) ? '/v-' + vendorListVersion : '') + '/' + this._vendorListFilename).then(function (url) { return _this._fetcher(url); }).then(filterOkFetchResponse).then(function (fetchResponse) { return fetchResponse.json(); }); }; return HttpVendorListRepository; }(); exports.default = HttpVendorListRepository; var filterOkFetchResponse = function filterOkFetchResponse(fetchResponse) { if (!fetchResponse.ok) { throw new _GlobalVendorListAccessError.default('Invalid response fetching the global vendor list'); } return fetchResponse; };