trimble-connect-sdk
Version:
Trimble Connect SDK for JavaScript
34 lines • 4.44 kB
JavaScript
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==