@azure/communication-common
Version:
Common package for Azure Communication services.
69 lines (68 loc) • 2.88 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var azureCommunicationTokenCredential_exports = {};
__export(azureCommunicationTokenCredential_exports, {
AzureCommunicationTokenCredential: () => AzureCommunicationTokenCredential
});
module.exports = __toCommonJS(azureCommunicationTokenCredential_exports);
var import_autoRefreshTokenCredential = require("./autoRefreshTokenCredential.js");
var import_staticTokenCredential = require("./staticTokenCredential.js");
var import_tokenParser = require("./tokenParser.js");
var import_entraTokenCredential = require("./entraTokenCredential.js");
class AzureCommunicationTokenCredential {
tokenCredential;
disposed = false;
constructor(tokenOrRefreshOptionsOrEntraOptions) {
if (typeof tokenOrRefreshOptionsOrEntraOptions === "string") {
this.tokenCredential = new import_staticTokenCredential.StaticTokenCredential(
(0, import_tokenParser.parseToken)(tokenOrRefreshOptionsOrEntraOptions)
);
} else if ("tokenRefresher" in tokenOrRefreshOptionsOrEntraOptions) {
this.tokenCredential = new import_autoRefreshTokenCredential.AutoRefreshTokenCredential(tokenOrRefreshOptionsOrEntraOptions);
} else {
this.tokenCredential = new import_entraTokenCredential.EntraTokenCredential(tokenOrRefreshOptionsOrEntraOptions);
}
}
/**
* Gets an `AccessToken` for the user. Throws if already disposed.
* @param abortSignal - An implementation of `AbortSignalLike` to cancel the operation.
*/
async getToken(options) {
this.throwIfDisposed();
const token = await this.tokenCredential.getToken(options);
this.throwIfDisposed();
return token;
}
/**
* Disposes the CommunicationTokenCredential and cancels any internal auto-refresh operation.
*/
dispose() {
this.disposed = true;
this.tokenCredential.dispose();
}
throwIfDisposed() {
if (this.disposed) {
throw new Error("User credential is disposed");
}
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
AzureCommunicationTokenCredential
});
//# sourceMappingURL=azureCommunicationTokenCredential.js.map