@netology-group/account
Version:
account client
70 lines (58 loc) • 2.55 kB
JavaScript
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { Debug } from './utils/index';
var debug =
/*#__PURE__*/
Debug('@netology-group/account/token-provider');
export var TokenProvider =
/*#__PURE__*/
function () {
function TokenProvider(token, engine) {
_classCallCheck(this, TokenProvider);
_defineProperty(this, "__token", void 0);
_defineProperty(this, "__engine", void 0);
var access_token = token.access_token,
refresh_token = token.refresh_token,
_token$expires_time = token.expires_time,
expires_time = _token$expires_time === void 0 ? 0 : _token$expires_time;
this.__token = {
access_token: access_token,
refresh_token: refresh_token,
expires_time: expires_time
};
engine && this.iEngine(engine).initialize();
}
_createClass(TokenProvider, [{
key: "iEngine",
value: function iEngine(engine) {
this.__engine = engine;
return this;
}
}, {
key: "initialize",
value: function initialize() {
if (!this.__engine) throw new TypeError('`engine` is absent');
this.__engine.store(this.__token);
return this;
}
}, {
key: "token",
value: function token() {
var __engine = this.__engine;
if (!__engine) throw new TypeError('`engine` is absent');
return __engine.tokenData().then(function (_) {
return _.access_token;
});
} // use `getToken` method for backward compatibility
}, {
key: "getToken",
value: function getToken() {
// eslint-disable-next-line no-console
debug('`getToken` is deprecated. Use `.token()` instead.');
return this.token();
}
}]);
return TokenProvider;
}();