This repository has been archived on 2024-09-11. You can view files and clone it, but cannot push or open issues or pull requests.
svrjs-blog-newsletter/cronjob/node_modules/@smithy/property-provider/dist-cjs/index.js
2024-05-26 22:54:55 +02:00

150 lines
4.5 KiB
JavaScript

var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
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);
// src/index.ts
var src_exports = {};
__export(src_exports, {
CredentialsProviderError: () => CredentialsProviderError,
ProviderError: () => ProviderError,
TokenProviderError: () => TokenProviderError,
chain: () => chain,
fromStatic: () => fromStatic,
memoize: () => memoize
});
module.exports = __toCommonJS(src_exports);
// src/ProviderError.ts
var _ProviderError = class _ProviderError extends Error {
constructor(message, tryNextLink = true) {
super(message);
this.tryNextLink = tryNextLink;
this.name = "ProviderError";
Object.setPrototypeOf(this, _ProviderError.prototype);
}
static from(error, tryNextLink = true) {
return Object.assign(new this(error.message, tryNextLink), error);
}
};
__name(_ProviderError, "ProviderError");
var ProviderError = _ProviderError;
// src/CredentialsProviderError.ts
var _CredentialsProviderError = class _CredentialsProviderError extends ProviderError {
constructor(message, tryNextLink = true) {
super(message, tryNextLink);
this.tryNextLink = tryNextLink;
this.name = "CredentialsProviderError";
Object.setPrototypeOf(this, _CredentialsProviderError.prototype);
}
};
__name(_CredentialsProviderError, "CredentialsProviderError");
var CredentialsProviderError = _CredentialsProviderError;
// src/TokenProviderError.ts
var _TokenProviderError = class _TokenProviderError extends ProviderError {
constructor(message, tryNextLink = true) {
super(message, tryNextLink);
this.tryNextLink = tryNextLink;
this.name = "TokenProviderError";
Object.setPrototypeOf(this, _TokenProviderError.prototype);
}
};
__name(_TokenProviderError, "TokenProviderError");
var TokenProviderError = _TokenProviderError;
// src/chain.ts
var chain = /* @__PURE__ */ __name((...providers) => async () => {
if (providers.length === 0) {
throw new ProviderError("No providers in chain");
}
let lastProviderError;
for (const provider of providers) {
try {
const credentials = await provider();
return credentials;
} catch (err) {
lastProviderError = err;
if (err == null ? void 0 : err.tryNextLink) {
continue;
}
throw err;
}
}
throw lastProviderError;
}, "chain");
// src/fromStatic.ts
var fromStatic = /* @__PURE__ */ __name((staticValue) => () => Promise.resolve(staticValue), "fromStatic");
// src/memoize.ts
var memoize = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => {
let resolved;
let pending;
let hasResult;
let isConstant = false;
const coalesceProvider = /* @__PURE__ */ __name(async () => {
if (!pending) {
pending = provider();
}
try {
resolved = await pending;
hasResult = true;
isConstant = false;
} finally {
pending = void 0;
}
return resolved;
}, "coalesceProvider");
if (isExpired === void 0) {
return async (options) => {
if (!hasResult || (options == null ? void 0 : options.forceRefresh)) {
resolved = await coalesceProvider();
}
return resolved;
};
}
return async (options) => {
if (!hasResult || (options == null ? void 0 : options.forceRefresh)) {
resolved = await coalesceProvider();
}
if (isConstant) {
return resolved;
}
if (requiresRefresh && !requiresRefresh(resolved)) {
isConstant = true;
return resolved;
}
if (isExpired(resolved)) {
await coalesceProvider();
return resolved;
}
return resolved;
};
}, "memoize");
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
CredentialsProviderError,
ProviderError,
TokenProviderError,
chain,
fromStatic,
memoize
});