UNPKG

trimble-connect-sdk

Version:

Trimble Connect SDK for JavaScript

38 lines 4.6 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceResponse = void 0; class ServiceResponse { constructor(service, response, data) { this.service = service; this.response = response; this.data = data; this.retryCount = 0; } hasNextPage() { if (this.data && this.data.hasOwnProperty('next')) { const next = this.data.next; return next !== null; } return false; } nextPage() { return __awaiter(this, void 0, void 0, function* () { if (!this.hasNextPage()) { throw new Error('There is no next page for this response.'); } const next = this.data.next; return this.service.makeRequest(next); }); } } exports.ServiceResponse = ServiceResponse; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUtBLE1BQWEsZUFBZTtJQVcxQixZQUNtQixPQUFnQixFQUMxQixRQUFrQixFQUNsQixJQUFPO1FBRkcsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQUc7UUFWVCxlQUFVLEdBQVcsQ0FBQyxDQUFDO0lBVzNCLENBQUM7SUFLRyxXQUFXO1FBR2hCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSyxJQUFJLENBQUMsSUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxRCxNQUFNLElBQUksR0FBWSxJQUFJLENBQUMsSUFBWSxDQUFDLElBQUksQ0FBQztZQUM3QyxPQUFPLElBQUksS0FBSyxJQUFJLENBQUM7U0FDdEI7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFLWSxRQUFROztZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7YUFDN0Q7WUFFRCxNQUFNLElBQUksR0FBWSxJQUFJLENBQUMsSUFBWSxDQUFDLElBQUksQ0FBQztZQUM3QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFJLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7S0FBQTtDQUNGO0FBMUNELDBDQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UnO1xuXG4vKipcbiAqIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBzZXJ2aWNlIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY2xhc3MgU2VydmljZVJlc3BvbnNlPEQ+IHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgcmV0cmllcyB0aGF0IHdlcmUgYXR0ZW1wdGVkIGJlZm9yZSB0aGUgcmVxdWVzdCB3YXMgY29tcGxldGVkLlxuICAgKi9cbiAgcHVibGljIHJldHJ5Q291bnQ6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0ge1Jlc3BvbnNlfSByZXNwb25zZSAgVGhlIHJhdyBIVFRQIHJlc3BvbnNlIG9iamVjdCBjb250YWluaW5nIHRoZSByZXNwb25zZSBoZWFkZXJzIGFuZCBib2R5IGluZm9ybWF0aW9uIGZyb20gdGhlIHNlcnZlci5cbiAgICogQHBhcmFtIHtEfSBkYXRhIFRoZSBkZS1zZXJpYWxpemVkIHJlc3BvbnNlIGRhdGEgZnJvbSB0aGUgc2VydmljZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogU2VydmljZSxcbiAgICBwdWJsaWMgcmVzcG9uc2U6IFJlc3BvbnNlLFxuICAgIHB1YmxpYyBkYXRhOiBEXG4gICkge31cblxuICAvKipcbiAgICogV2hldGhlciBtb3JlIHBhZ2VzIG9mIGRhdGEgY2FuIGJlIHJldHVybmVkIGJ5IGZ1cnRoZXIgcmVxdWVzdHMuXG4gICAqL1xuICBwdWJsaWMgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgLy8gVHlwZVNjcmlwdCAzKyBkb2VzIG5vdCBhY2NlcHQgdGhpcy5kYXRhLmhhc093blByb3BlcnR5LCBuZWVkIHRoZSBjYXN0LlxuICAgIC8vIEtlcHQgdGhlIGFzc3VtcHRpb24gdGhhdCBpZiBEIGhhcyBhIHZhbHVlIHRoZW4gaXQgaXMgYW4gb2JqZWN0IChoYXNPd25Qcm9wZXJ0eSBjYW4gYmUgY2FsbGVkLCBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eSkuXG4gICAgaWYgKHRoaXMuZGF0YSAmJiAodGhpcy5kYXRhIGFzIGFueSkuaGFzT3duUHJvcGVydHkoJ25leHQnKSkge1xuICAgICAgY29uc3QgbmV4dDogc3RyaW5nID0gKHRoaXMuZGF0YSBhcyBhbnkpLm5leHQ7XG4gICAgICByZXR1cm4gbmV4dCAhPT0gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyByZXF1ZXN0IGZvciB0aGUgbmV4dCBwYWdlIG9mIHJlc3BvbnNlIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbmV4dFBhZ2UoKTogUHJvbWlzZTxTZXJ2aWNlUmVzcG9uc2U8RD4+IHtcbiAgICBpZiAoIXRoaXMuaGFzTmV4dFBhZ2UoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGVyZSBpcyBubyBuZXh0IHBhZ2UgZm9yIHRoaXMgcmVzcG9uc2UuJyk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dDogc3RyaW5nID0gKHRoaXMuZGF0YSBhcyBhbnkpLm5leHQ7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5tYWtlUmVxdWVzdDxEPihuZXh0KTtcbiAgfVxufVxuIl19