UNPKG

@kontent-ai/delivery-sdk

Version:
56 lines 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseListingQuery = void 0; const models_1 = require("../../models"); const base_query_class_1 = require("./base-query.class"); class BaseListingQuery extends base_query_class_1.BaseQuery { constructor(config, queryService) { super(config, queryService); this.config = config; this.queryService = queryService; } /** * Sets continuation token header */ withContinuationToken(token) { var _a; // remove previous continuation token if there is any let queryHeaders = (_a = this._queryConfig.customHeaders) !== null && _a !== void 0 ? _a : []; queryHeaders = queryHeaders.filter((m) => m.header !== models_1.continuationTokenHeaderName); this._queryConfig.customHeaders = queryHeaders; this.withHeaders([ { header: models_1.continuationTokenHeaderName, value: token } ]); return this; } /** * Query to get all items. Uses paging data and may execute multiple HTTP requests depending on number of items */ toAllPromise(queryAllConfig) { return this.queryService.getListAllResponse({ page: 1, listQueryConfig: queryAllConfig, allResponseFactory: (items, responses) => { const response = this.allResponseFactory(items, responses); return { data: response, responses: responses }; }, getResponse: (nextPageUrl, continuationToken) => { if (nextPageUrl) { this.withCustomUrl(nextPageUrl); } if (continuationToken) { this.withContinuationToken(continuationToken); } return this.toPromise(); } }); } } exports.BaseListingQuery = BaseListingQuery; //# sourceMappingURL=base-listing-query.class.js.map