UNPKG

trimble-connect-sdk

Version:

Trimble Connect SDK for JavaScript

44 lines 5.69 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 Credentials { constructor() { this.expiryWindow = 15; this.expired = false; this.expireTime = null; } get() { return __awaiter(this, void 0, void 0, function* () { if (this.needsRefresh()) { yield this.refresh(); this.expired = false; } return this; }); } needsRefresh() { const currentTime = Date.now(); const adjustedTime = new Date(currentTime + this.expiryWindow * 1000); if (this.expireTime && adjustedTime > this.expireTime) { return true; } else { return this.expired || this.invalidToken(); } } invalidToken() { return false; } refresh() { return __awaiter(this, void 0, void 0, function* () { this.expired = false; }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbImNyZWRlbnRpYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUlBLE1BQU0sT0FBTyxXQUFXO0lBcUJ0QjtRQWpCTyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQWtCL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQU9ZLEdBQUc7O1lBQ2QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzthQUN0QjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUFBO0lBS00sWUFBWTtRQUNqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFdEUsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3JELE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBS00sWUFBWTtRQUNqQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFRWSxPQUFPOztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO0tBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2VydmljZSBjcmVkZW50aWFscyB0aGF0IG11c3QgYmUgYXR0YWNoZWQgdG8gYXV0aGVudGljYXRlIGVhY2ggcmVxdWVzdC5cbiAqIE9jY2FzaW9uYWxseSBjcmVkZW50aWFscyBjYW4gZXhwaXJlIGluIHRoZSBtaWRkbGUgb2YgYSBsb25nLXJ1bm5pbmcgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDcmVkZW50aWFscyB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmVmb3JlIHtleHBpcmVUaW1lfSBkdXJpbmcgd2hpY2ggdGhlIGNyZWRlbnRpYWxzIHdpbGwgYmUgY29uc2lkZXJlZCBleHBpcmVkLlxuICAgKi9cbiAgcHVibGljIGV4cGlyeVdpbmRvdzogbnVtYmVyID0gMTU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNyZWRlbnRpYWxzIGhhdmUgYmVlbiBleHBpcmVkIGFuZCByZXF1aXJlIGEgcmVmcmVzaC5cbiAgICogVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGV4cGlyZVRpbWUuXG4gICAqL1xuICBwdWJsaWMgZXhwaXJlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGltZSB3aGVuIGNyZWRlbnRpYWxzIHNob3VsZCBiZSBjb25zaWRlcmVkIGV4cGlyZWQuXG4gICAqIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBleHBpcmVkLlxuICAgKi9cbiAgcHVibGljIGV4cGlyZVRpbWU6IERhdGUgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ3JlZGVudGlhbHMgb2JqZWN0IHdpdGggYSBnaXZlbiBzZXQgb2YgY3JlZGVudGlhbCBpbmZvcm1hdGlvbiBhcyBwb3NpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZXhwaXJlZCA9IGZhbHNlO1xuICAgIHRoaXMuZXhwaXJlVGltZSA9IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZXhpc3RpbmcgY3JlZGVudGlhbHMsIHJlZnJlc2hpbmcgdGhlbSBpZiB0aGV5IGFyZSBub3QgeWV0IGxvYWRlZCBvciBoYXZlIGV4cGlyZWQuXG4gICAqIFVzZXJzIHNob3VsZCBjYWxsIHRoaXMgbWV0aG9kIGJlZm9yZSB1c2luZyByZWZyZXNoKCksIGFzIHRoaXMgd2lsbCBub3QgYXR0ZW1wdCB0byByZWxvYWRcbiAgICogY3JlZGVudGlhbHMgd2hlbiB0aGV5IGFyZSBhbHJlYWR5IGxvYWRlZCBpbnRvIHRoZSBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0KCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICBpZiAodGhpcy5uZWVkc1JlZnJlc2goKSkge1xuICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB0aGlzLmV4cGlyZWQgPSBmYWxzZTsgLy8gcmVzZXQgZXhwaXJlZCBmbGFnXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBjcmVkZW50aWFscyBvYmplY3Qgc2hvdWxkIGNhbGwgcmVmcmVzaCgpXG4gICAqL1xuICBwdWJsaWMgbmVlZHNSZWZyZXNoKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBhZGp1c3RlZFRpbWUgPSBuZXcgRGF0ZShjdXJyZW50VGltZSArIHRoaXMuZXhwaXJ5V2luZG93ICogMTAwMCk7XG5cbiAgICBpZiAodGhpcy5leHBpcmVUaW1lICYmIGFkanVzdGVkVGltZSA+IHRoaXMuZXhwaXJlVGltZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmV4cGlyZWQgfHwgdGhpcy5pbnZhbGlkVG9rZW4oKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSB0b2tlbiBpcyBpbnZhbGlkLiBTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSB0aGlzIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBpbnZhbGlkVG9rZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZnJlc2hlcyB0aGUgY3JlZGVudGlhbHMuXG4gICAqIFVzZXJzIHNob3VsZCBjYWxsIGdldCgpIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGZvcmNpYmx5IHJlZnJlc2ggY3JlZGVudGlhbHMuXG4gICAqIEBub3RlIFN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgY2xhc3MgdG8gcmVzZXQgdGhlIHt0b2tlbn0gb24gdGhlIGNyZWRlbnRpYWxzIG9iamVjdC5cbiAgICogQHNlZSBnZXRcbiAgICovXG4gIHB1YmxpYyBhc3luYyByZWZyZXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZXhwaXJlZCA9IGZhbHNlO1xuICB9XG59XG4iXX0=