UNPKG

trimble-connect-sdk

Version:

Trimble Connect SDK for JavaScript

34 lines 4.44 kB
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()); }); }; export 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); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUtBLE1BQU0sT0FBTyxlQUFlO0lBVzFCLFlBQ21CLE9BQWdCLEVBQzFCLFFBQWtCLEVBQ2xCLElBQU87UUFGRyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBRztRQVZULGVBQVUsR0FBVyxDQUFDLENBQUM7SUFXM0IsQ0FBQztJQUtHLFdBQVc7UUFHaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFLLElBQUksQ0FBQyxJQUFZLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFELE1BQU0sSUFBSSxHQUFZLElBQUksQ0FBQyxJQUFZLENBQUMsSUFBSSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxLQUFLLElBQUksQ0FBQztTQUN0QjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUtZLFFBQVE7O1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQzthQUM3RDtZQUVELE1BQU0sSUFBSSxHQUFZLElBQUksQ0FBQyxJQUFZLENBQUMsSUFBSSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUksSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlJztcblxuLyoqXG4gKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IGEgc2VydmljZSByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2VSZXNwb25zZTxEPiB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHJldHJpZXMgdGhhdCB3ZXJlIGF0dGVtcHRlZCBiZWZvcmUgdGhlIHJlcXVlc3Qgd2FzIGNvbXBsZXRlZC5cbiAgICovXG4gIHB1YmxpYyByZXRyeUNvdW50OiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBAY29uc3RydWN0b3JcbiAgICogQHBhcmFtIHtSZXNwb25zZX0gcmVzcG9uc2UgIFRoZSByYXcgSFRUUCByZXNwb25zZSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzcG9uc2UgaGVhZGVycyBhbmQgYm9keSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAqIEBwYXJhbSB7RH0gZGF0YSBUaGUgZGUtc2VyaWFsaXplZCByZXNwb25zZSBkYXRhIGZyb20gdGhlIHNlcnZpY2UuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IFNlcnZpY2UsXG4gICAgcHVibGljIHJlc3BvbnNlOiBSZXNwb25zZSxcbiAgICBwdWJsaWMgZGF0YTogRFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgbW9yZSBwYWdlcyBvZiBkYXRhIGNhbiBiZSByZXR1cm5lZCBieSBmdXJ0aGVyIHJlcXVlc3RzLlxuICAgKi9cbiAgcHVibGljIGhhc05leHRQYWdlKCk6IGJvb2xlYW4ge1xuICAgIC8vIFR5cGVTY3JpcHQgMysgZG9lcyBub3QgYWNjZXB0IHRoaXMuZGF0YS5oYXNPd25Qcm9wZXJ0eSwgbmVlZCB0aGUgY2FzdC5cbiAgICAvLyBLZXB0IHRoZSBhc3N1bXB0aW9uIHRoYXQgaWYgRCBoYXMgYSB2YWx1ZSB0aGVuIGl0IGlzIGFuIG9iamVjdCAoaGFzT3duUHJvcGVydHkgY2FuIGJlIGNhbGxlZCwgbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkpLlxuICAgIGlmICh0aGlzLmRhdGEgJiYgKHRoaXMuZGF0YSBhcyBhbnkpLmhhc093blByb3BlcnR5KCduZXh0JykpIHtcbiAgICAgIGNvbnN0IG5leHQ6IHN0cmluZyA9ICh0aGlzLmRhdGEgYXMgYW55KS5uZXh0O1xuICAgICAgcmV0dXJuIG5leHQgIT09IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgcmVxdWVzdCBmb3IgdGhlIG5leHQgcGFnZSBvZiByZXNwb25zZSBkYXRhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIG5leHRQYWdlKCk6IFByb21pc2U8U2VydmljZVJlc3BvbnNlPEQ+PiB7XG4gICAgaWYgKCF0aGlzLmhhc05leHRQYWdlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlcmUgaXMgbm8gbmV4dCBwYWdlIGZvciB0aGlzIHJlc3BvbnNlLicpO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQ6IHN0cmluZyA9ICh0aGlzLmRhdGEgYXMgYW55KS5uZXh0O1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2UubWFrZVJlcXVlc3Q8RD4obmV4dCk7XG4gIH1cbn1cbiJdfQ==