Initial
This commit is contained in:
9
resources/app/node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js
generated
vendored
Normal file
9
resources/app/node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { ProviderError } from "./ProviderError";
|
||||
export class CredentialsProviderError extends ProviderError {
|
||||
constructor(message, tryNextLink = true) {
|
||||
super(message, tryNextLink);
|
||||
this.tryNextLink = tryNextLink;
|
||||
this.name = "CredentialsProviderError";
|
||||
Object.setPrototypeOf(this, CredentialsProviderError.prototype);
|
||||
}
|
||||
}
|
||||
11
resources/app/node_modules/@smithy/property-provider/dist-es/ProviderError.js
generated
vendored
Normal file
11
resources/app/node_modules/@smithy/property-provider/dist-es/ProviderError.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
export 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);
|
||||
}
|
||||
}
|
||||
9
resources/app/node_modules/@smithy/property-provider/dist-es/TokenProviderError.js
generated
vendored
Normal file
9
resources/app/node_modules/@smithy/property-provider/dist-es/TokenProviderError.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { ProviderError } from "./ProviderError";
|
||||
export class TokenProviderError extends ProviderError {
|
||||
constructor(message, tryNextLink = true) {
|
||||
super(message, tryNextLink);
|
||||
this.tryNextLink = tryNextLink;
|
||||
this.name = "TokenProviderError";
|
||||
Object.setPrototypeOf(this, TokenProviderError.prototype);
|
||||
}
|
||||
}
|
||||
21
resources/app/node_modules/@smithy/property-provider/dist-es/chain.js
generated
vendored
Normal file
21
resources/app/node_modules/@smithy/property-provider/dist-es/chain.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import { ProviderError } from "./ProviderError";
|
||||
export const chain = (...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?.tryNextLink) {
|
||||
continue;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
throw lastProviderError;
|
||||
};
|
||||
1
resources/app/node_modules/@smithy/property-provider/dist-es/fromStatic.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/property-provider/dist-es/fromStatic.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const fromStatic = (staticValue) => () => Promise.resolve(staticValue);
|
||||
6
resources/app/node_modules/@smithy/property-provider/dist-es/index.js
generated
vendored
Normal file
6
resources/app/node_modules/@smithy/property-provider/dist-es/index.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export * from "./CredentialsProviderError";
|
||||
export * from "./ProviderError";
|
||||
export * from "./TokenProviderError";
|
||||
export * from "./chain";
|
||||
export * from "./fromStatic";
|
||||
export * from "./memoize";
|
||||
45
resources/app/node_modules/@smithy/property-provider/dist-es/memoize.js
generated
vendored
Normal file
45
resources/app/node_modules/@smithy/property-provider/dist-es/memoize.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
export const memoize = (provider, isExpired, requiresRefresh) => {
|
||||
let resolved;
|
||||
let pending;
|
||||
let hasResult;
|
||||
let isConstant = false;
|
||||
const coalesceProvider = async () => {
|
||||
if (!pending) {
|
||||
pending = provider();
|
||||
}
|
||||
try {
|
||||
resolved = await pending;
|
||||
hasResult = true;
|
||||
isConstant = false;
|
||||
}
|
||||
finally {
|
||||
pending = undefined;
|
||||
}
|
||||
return resolved;
|
||||
};
|
||||
if (isExpired === undefined) {
|
||||
return async (options) => {
|
||||
if (!hasResult || options?.forceRefresh) {
|
||||
resolved = await coalesceProvider();
|
||||
}
|
||||
return resolved;
|
||||
};
|
||||
}
|
||||
return async (options) => {
|
||||
if (!hasResult || 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;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user