@aws-sdk/property-provider
Advanced tools
Comparing version 3.357.0 to 3.366.0
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.chain = void 0; | ||
const ProviderError_1 = require("./ProviderError"); | ||
const chain = (...providers) => async () => { | ||
if (providers.length === 0) { | ||
throw new ProviderError_1.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 || err === void 0 ? void 0 : err.tryNextLink) { | ||
continue; | ||
} | ||
throw err; | ||
} | ||
} | ||
throw lastProviderError; | ||
}; | ||
exports.chain = chain; | ||
var property_provider_1 = require("@smithy/property-provider"); | ||
Object.defineProperty(exports, "chain", { enumerable: true, get: function () { return property_provider_1.chain; } }); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CredentialsProviderError = void 0; | ||
const ProviderError_1 = require("./ProviderError"); | ||
class CredentialsProviderError extends ProviderError_1.ProviderError { | ||
constructor(message, tryNextLink = true) { | ||
super(message, tryNextLink); | ||
this.tryNextLink = tryNextLink; | ||
this.name = "CredentialsProviderError"; | ||
Object.setPrototypeOf(this, CredentialsProviderError.prototype); | ||
} | ||
} | ||
exports.CredentialsProviderError = CredentialsProviderError; | ||
var property_provider_1 = require("@smithy/property-provider"); | ||
Object.defineProperty(exports, "CredentialsProviderError", { enumerable: true, get: function () { return property_provider_1.CredentialsProviderError; } }); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.fromStatic = void 0; | ||
const fromStatic = (staticValue) => () => Promise.resolve(staticValue); | ||
exports.fromStatic = fromStatic; | ||
var property_provider_1 = require("@smithy/property-provider"); | ||
Object.defineProperty(exports, "fromStatic", { enumerable: true, get: function () { return property_provider_1.fromStatic; } }); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.memoize = void 0; | ||
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 === null || options === void 0 ? void 0 : options.forceRefresh)) { | ||
resolved = await coalesceProvider(); | ||
} | ||
return resolved; | ||
}; | ||
} | ||
return async (options) => { | ||
if (!hasResult || (options === null || options === void 0 ? 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; | ||
}; | ||
}; | ||
exports.memoize = memoize; | ||
var property_provider_1 = require("@smithy/property-provider"); | ||
Object.defineProperty(exports, "memoize", { enumerable: true, get: function () { return property_provider_1.memoize; } }); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.ProviderError = void 0; | ||
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); | ||
} | ||
} | ||
exports.ProviderError = ProviderError; | ||
var property_provider_1 = require("@smithy/property-provider"); | ||
Object.defineProperty(exports, "ProviderError", { enumerable: true, get: function () { return property_provider_1.ProviderError; } }); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.TokenProviderError = void 0; | ||
const ProviderError_1 = require("./ProviderError"); | ||
class TokenProviderError extends ProviderError_1.ProviderError { | ||
constructor(message, tryNextLink = true) { | ||
super(message, tryNextLink); | ||
this.tryNextLink = tryNextLink; | ||
this.name = "TokenProviderError"; | ||
Object.setPrototypeOf(this, TokenProviderError.prototype); | ||
} | ||
} | ||
exports.TokenProviderError = TokenProviderError; | ||
var property_provider_1 = require("@smithy/property-provider"); | ||
Object.defineProperty(exports, "TokenProviderError", { enumerable: true, get: function () { return property_provider_1.TokenProviderError; } }); |
@@ -1,21 +0,1 @@ | ||
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; | ||
}; | ||
export { chain } from "@smithy/property-provider"; |
@@ -1,9 +0,1 @@ | ||
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); | ||
} | ||
} | ||
export { CredentialsProviderError } from "@smithy/property-provider"; |
@@ -1,1 +0,1 @@ | ||
export const fromStatic = (staticValue) => () => Promise.resolve(staticValue); | ||
export { fromStatic } from "@smithy/property-provider"; |
@@ -1,45 +0,1 @@ | ||
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; | ||
}; | ||
}; | ||
export { memoize } from "@smithy/property-provider"; |
@@ -1,11 +0,1 @@ | ||
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); | ||
} | ||
} | ||
export { ProviderError } from "@smithy/property-provider"; |
@@ -1,9 +0,1 @@ | ||
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); | ||
} | ||
} | ||
export { TokenProviderError } from "@smithy/property-provider"; |
@@ -1,13 +0,1 @@ | ||
import { Provider } from "@aws-sdk/types"; | ||
/** | ||
* @internal | ||
* | ||
* Compose a single credential provider function from multiple credential | ||
* providers. The first provider in the argument list will always be invoked; | ||
* subsequent providers in the list will be invoked in the order in which the | ||
* were received if the preceding provider did not successfully resolve. | ||
* | ||
* If no providers were received or no provider resolves successfully, the | ||
* returned promise will be rejected. | ||
*/ | ||
export declare const chain: <T>(...providers: Provider<T>[]) => Provider<T>; | ||
export { chain } from "@smithy/property-provider"; |
@@ -1,17 +0,1 @@ | ||
import { ProviderError } from "./ProviderError"; | ||
/** | ||
* @internal | ||
* | ||
* An error representing a failure of an individual credential provider. | ||
* | ||
* This error class has special meaning to the {@link chain} method. If a | ||
* provider in the chain is rejected with an error, the chain will only proceed | ||
* to the next provider if the value of the `tryNextLink` property on the error | ||
* is truthy. This allows individual providers to halt the chain and also | ||
* ensures the chain will stop if an entirely unexpected error is encountered. | ||
*/ | ||
export declare class CredentialsProviderError extends ProviderError { | ||
readonly tryNextLink: boolean; | ||
name: string; | ||
constructor(message: string, tryNextLink?: boolean); | ||
} | ||
export { CredentialsProviderError } from "@smithy/property-provider"; |
@@ -1,5 +0,1 @@ | ||
import { Provider } from "@aws-sdk/types"; | ||
/** | ||
* @internal | ||
*/ | ||
export declare const fromStatic: <T>(staticValue: T) => Provider<T>; | ||
export { fromStatic } from "@smithy/property-provider"; |
@@ -1,24 +0,6 @@ | ||
/** | ||
* @internal | ||
*/ | ||
export * from "./CredentialsProviderError"; | ||
/** | ||
* @internal | ||
*/ | ||
export * from "./ProviderError"; | ||
/** | ||
* @internal | ||
*/ | ||
export * from "./TokenProviderError"; | ||
/** | ||
* @internal | ||
*/ | ||
export * from "./chain"; | ||
/** | ||
* @internal | ||
*/ | ||
export * from "./fromStatic"; | ||
/** | ||
* @internal | ||
*/ | ||
export * from "./memoize"; |
@@ -1,40 +0,1 @@ | ||
import { MemoizedProvider, Provider } from "@aws-sdk/types"; | ||
interface MemoizeOverload { | ||
/** | ||
* | ||
* Decorates a provider function with either static memoization. | ||
* | ||
* To create a statically memoized provider, supply a provider as the only | ||
* argument to this function. The provider will be invoked once, and all | ||
* invocations of the provider returned by `memoize` will return the same | ||
* promise object. | ||
* | ||
* @param provider The provider whose result should be cached indefinitely. | ||
*/ | ||
<T>(provider: Provider<T>): MemoizedProvider<T>; | ||
/** | ||
* Decorates a provider function with refreshing memoization. | ||
* | ||
* @param provider The provider whose result should be cached. | ||
* @param isExpired A function that will evaluate the resolved value and | ||
* determine if it is expired. For example, when | ||
* memoizing AWS credential providers, this function | ||
* should return `true` when the credential's | ||
* expiration is in the past (or very near future) and | ||
* `false` otherwise. | ||
* @param requiresRefresh A function that will evaluate the resolved value and | ||
* determine if it represents static value or one that | ||
* will eventually need to be refreshed. For example, | ||
* AWS credentials that have no defined expiration will | ||
* never need to be refreshed, so this function would | ||
* return `true` if the credentials resolved by the | ||
* underlying provider had an expiration and `false` | ||
* otherwise. | ||
*/ | ||
<T>(provider: Provider<T>, isExpired: (resolved: T) => boolean, requiresRefresh?: (resolved: T) => boolean): MemoizedProvider<T>; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export declare const memoize: MemoizeOverload; | ||
export {}; | ||
export { memoize } from "@smithy/property-provider"; |
@@ -1,17 +0,1 @@ | ||
/** | ||
* @internal | ||
* | ||
* An error representing a failure of an individual provider. | ||
* | ||
* This error class has special meaning to the {@link chain} method. If a | ||
* provider in the chain is rejected with an error, the chain will only proceed | ||
* to the next provider if the value of the `tryNextLink` property on the error | ||
* is truthy. This allows individual providers to halt the chain and also | ||
* ensures the chain will stop if an entirely unexpected error is encountered. | ||
*/ | ||
export declare class ProviderError extends Error { | ||
readonly tryNextLink: boolean; | ||
name: string; | ||
constructor(message: string, tryNextLink?: boolean); | ||
static from(error: Error, tryNextLink?: boolean): ProviderError; | ||
} | ||
export { ProviderError } from "@smithy/property-provider"; |
@@ -1,17 +0,1 @@ | ||
import { ProviderError } from "./ProviderError"; | ||
/** | ||
* @internal | ||
* | ||
* An error representing a failure of an individual token provider. | ||
* | ||
* This error class has special meaning to the {@link chain} method. If a | ||
* provider in the chain is rejected with an error, the chain will only proceed | ||
* to the next provider if the value of the `tryNextLink` property on the error | ||
* is truthy. This allows individual providers to halt the chain and also | ||
* ensures the chain will stop if an entirely unexpected error is encountered. | ||
*/ | ||
export declare class TokenProviderError extends ProviderError { | ||
readonly tryNextLink: boolean; | ||
name: string; | ||
constructor(message: string, tryNextLink?: boolean); | ||
} | ||
export { TokenProviderError } from "@smithy/property-provider"; |
@@ -1,2 +0,1 @@ | ||
import { Provider } from "@aws-sdk/types"; | ||
export declare const chain: <T>(...providers: Provider<T>[]) => Provider<T>; | ||
export { chain } from "@smithy/property-provider"; |
@@ -1,6 +0,1 @@ | ||
import { ProviderError } from "./ProviderError"; | ||
export declare class CredentialsProviderError extends ProviderError { | ||
readonly tryNextLink: boolean; | ||
name: string; | ||
constructor(message: string, tryNextLink?: boolean); | ||
} | ||
export { CredentialsProviderError } from "@smithy/property-provider"; |
@@ -1,2 +0,1 @@ | ||
import { Provider } from "@aws-sdk/types"; | ||
export declare const fromStatic: <T>(staticValue: T) => Provider<T>; | ||
export { fromStatic } from "@smithy/property-provider"; |
@@ -1,11 +0,1 @@ | ||
import { MemoizedProvider, Provider } from "@aws-sdk/types"; | ||
interface MemoizeOverload { | ||
<T>(provider: Provider<T>): MemoizedProvider<T>; | ||
<T>( | ||
provider: Provider<T>, | ||
isExpired: (resolved: T) => boolean, | ||
requiresRefresh?: (resolved: T) => boolean | ||
): MemoizedProvider<T>; | ||
} | ||
export declare const memoize: MemoizeOverload; | ||
export {}; | ||
export { memoize } from "@smithy/property-provider"; |
@@ -1,6 +0,1 @@ | ||
export declare class ProviderError extends Error { | ||
readonly tryNextLink: boolean; | ||
name: string; | ||
constructor(message: string, tryNextLink?: boolean); | ||
static from(error: Error, tryNextLink?: boolean): ProviderError; | ||
} | ||
export { ProviderError } from "@smithy/property-provider"; |
@@ -1,6 +0,1 @@ | ||
import { ProviderError } from "./ProviderError"; | ||
export declare class TokenProviderError extends ProviderError { | ||
readonly tryNextLink: boolean; | ||
name: string; | ||
constructor(message: string, tryNextLink?: boolean); | ||
} | ||
export { TokenProviderError } from "@smithy/property-provider"; |
{ | ||
"name": "@aws-sdk/property-provider", | ||
"version": "3.357.0", | ||
"version": "3.366.0", | ||
"scripts": { | ||
@@ -23,3 +23,3 @@ "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", | ||
"dependencies": { | ||
"@aws-sdk/types": "3.357.0", | ||
"@smithy/property-provider": "^1.0.1", | ||
"tslib": "^2.5.0" | ||
@@ -26,0 +26,0 @@ }, |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
17258
75
1
+ Added@smithy/property-provider@1.2.0(transitive)
+ Added@smithy/types@1.2.0(transitive)
- Removed@aws-sdk/types@3.357.0
- Removed@aws-sdk/types@3.357.0(transitive)