trimble-connect-sdk
Version:
Trimble Connect SDK for JavaScript
53 lines • 6.86 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());
});
};
import { Credentials } from './credentials';
export class ServiceCredentials extends Credentials {
constructor(tidCredentials, token) {
super();
this.tidCredentials = tidCredentials;
if (token) {
if (typeof token === 'string') {
this.token = token;
}
else {
this.token = token.token;
}
}
else {
if (tidCredentials && tidCredentials.tokens) {
this.token = tidCredentials.tokens.access_token;
}
}
}
refresh() {
var _a, _b;
return __awaiter(this, void 0, void 0, function* () {
if (this.tidCredentials) {
yield this.tidCredentials.get();
if (this.tidCredentials.tokens) {
this.token = this.tidCredentials.tokens.access_token;
}
else {
if ((_a = this.tidCredentials) === null || _a === void 0 ? void 0 : _a.onInvalidated) {
(_b = this.tidCredentials) === null || _b === void 0 ? void 0 : _b.onInvalidated(this.tidCredentials.getOAuthRedirect());
}
throw new Error('Cannot acquire service token as TID tokens are not available.');
}
}
else {
throw new Error('The TID credentials provider is not configured.');
}
});
}
invalidToken() {
return !this.token;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZV9jcmVkZW50aWFscy5qcyIsInNvdXJjZVJvb3QiOiIuLyIsInNvdXJjZXMiOlsic2VydmljZV9jcmVkZW50aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzVDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUFXO0lBU2pELFlBQ2tCLGNBQStCLEVBQy9DLEtBQTZCO1FBRTdCLEtBQUssRUFBRSxDQUFDO1FBSFEsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBSy9DLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQzthQUMxQjtTQUNGO2FBQU07WUFDTCxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFO2dCQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2FBQ2pEO1NBQ0Y7SUFDSCxDQUFDO0lBUVksT0FBTzs7O1lBQ2xCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUVoQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO29CQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztpQkFDdEQ7cUJBQU07b0JBQ0wsSUFBSSxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGFBQWEsRUFBRTt3QkFDdEMsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxhQUFhLENBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FDdkMsQ0FBQztxQkFDSDtvQkFDRCxNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRCxDQUNoRSxDQUFDO2lCQUNIO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO2FBQ3BFOztLQUNGO0lBS00sWUFBWTtRQUVqQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVkZW50aWFscyB9IGZyb20gJy4vY3JlZGVudGlhbHMnO1xuaW1wb3J0IHsgVElEQ3JlZGVudGlhbHMgfSBmcm9tICcuL3RpZF9jcmVkZW50aWFscyc7XG5cbi8qKlxuICogU2VydmljZSBjcmVkZW50aWFscyB0aGF0IG11c3QgYmUgYXR0YWNoZWQgdG8gYXV0aGVudGljYXRlIGVhY2ggcmVxdWVzdC5cbiAqIE9jY2FzaW9uYWxseSBjcmVkZW50aWFscyBjYW4gZXhwaXJlIGluIHRoZSBtaWRkbGUgb2YgYSBsb25nLXJ1bm5pbmcgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlQ3JlZGVudGlhbHMgZXh0ZW5kcyBDcmVkZW50aWFscyB7XG4gIC8qKiBUaGUgc2VydmljZSBiZWFyZXIgdG9rZW4uICovXG4gIHB1YmxpYyB0b2tlbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENyZWRlbnRpYWxzIG9iamVjdCB3aXRoIGEgZ2l2ZW4gc2V0IG9mIGNyZWRlbnRpYWwgaW5mb3JtYXRpb24gYXMgcG9zaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEBwYXJhbSB7VElEQ3JlZGVudGlhbHN9IHRpZENyZWRlbnRpYWxzIC0gVGhlIFRJRCBtYXN0ZXIgY3JlZGVudGlhbHMuIElmIHByb3ZpZGVkIHRoZSBzZXJ2aWNlIHRva2VuIGNhbiBiZSByZWZyZXNoZWQgYXV0b21hdGljYWxseS5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBTZXJ2aWNlVG9rZW59IHRva2VuIC0gVGhlIGluaXRpYWwgc2VydmljZSBiZWFyZXIgdG9rZW4gKGlmIGUuZy4ga25vd24gYWxyZWFkeSBmcm9tIG90aGVyIHNvdXJjZXMpLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHRpZENyZWRlbnRpYWxzPzogVElEQ3JlZGVudGlhbHMsXG4gICAgdG9rZW4/OiBzdHJpbmcgfCBTZXJ2aWNlVG9rZW5cbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmICh0b2tlbikge1xuICAgICAgaWYgKHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuLnRva2VuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGlkQ3JlZGVudGlhbHMgJiYgdGlkQ3JlZGVudGlhbHMudG9rZW5zKSB7XG4gICAgICAgIHRoaXMudG9rZW4gPSB0aWRDcmVkZW50aWFscy50b2tlbnMuYWNjZXNzX3Rva2VuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGNyZWRlbnRpYWxzLlxuICAgKiBVc2VycyBzaG91bGQgY2FsbCBnZXQoKSBiZWZvcmUgYXR0ZW1wdGluZyB0byBmb3JjaWJseSByZWZyZXNoIGNyZWRlbnRpYWxzLlxuICAgKiBAbm90ZSBTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSB0aGlzIGNsYXNzIHRvIHJlc2V0IHRoZSB7dG9rZW59IG9uIHRoZSBjcmVkZW50aWFscyBvYmplY3QuXG4gICAqIEBzZWUgZ2V0XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVmcmVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy50aWRDcmVkZW50aWFscykge1xuICAgICAgYXdhaXQgdGhpcy50aWRDcmVkZW50aWFscy5nZXQoKTtcblxuICAgICAgaWYgKHRoaXMudGlkQ3JlZGVudGlhbHMudG9rZW5zKSB7XG4gICAgICAgIHRoaXMudG9rZW4gPSB0aGlzLnRpZENyZWRlbnRpYWxzLnRva2Vucy5hY2Nlc3NfdG9rZW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy50aWRDcmVkZW50aWFscz8ub25JbnZhbGlkYXRlZCkge1xuICAgICAgICAgIHRoaXMudGlkQ3JlZGVudGlhbHM/Lm9uSW52YWxpZGF0ZWQoXG4gICAgICAgICAgICB0aGlzLnRpZENyZWRlbnRpYWxzLmdldE9BdXRoUmVkaXJlY3QoKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdDYW5ub3QgYWNxdWlyZSBzZXJ2aWNlIHRva2VuIGFzIFRJRCB0b2tlbnMgYXJlIG5vdCBhdmFpbGFibGUuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBUSUQgY3JlZGVudGlhbHMgcHJvdmlkZXIgaXMgbm90IGNvbmZpZ3VyZWQuJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgdG9rZW4gaW52YWxpZFxuICAgKi9cbiAgcHVibGljIGludmFsaWRUb2tlbigpOiBib29sZWFuIHtcbiAgICAvLyBUT0RPOiBzdG9yZSBhbmQgY2hlY2sgZXhwaXJhdGlvbiB0aW1lXG4gICAgcmV0dXJuICF0aGlzLnRva2VuO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVRva2VuIHtcbiAgLyoqIFRoZSBzZXJ2aWNlIGJlYXJlciB0b2tlbi4gKi9cbiAgdG9rZW46IHN0cmluZztcbn1cbiJdfQ==