@aws-sdk/property-provider
Advanced tools
Comparing version 3.183.0 to 3.186.0
@@ -6,2 +6,10 @@ # Change Log | ||
# [3.186.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.185.0...v3.186.0) (2022-10-06) | ||
**Note:** Version bump only for package @aws-sdk/property-provider | ||
# [3.183.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.182.0...v3.183.0) (2022-10-03) | ||
@@ -8,0 +16,0 @@ |
@@ -0,8 +1,14 @@ | ||
import { __values } from "tslib"; | ||
import { ProviderError } from "./ProviderError"; | ||
export function chain(...providers) { | ||
return () => { | ||
let promise = Promise.reject(new ProviderError("No providers in chain")); | ||
for (const provider of providers) { | ||
promise = promise.catch((err) => { | ||
if (err?.tryNextLink) { | ||
export function chain() { | ||
var providers = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
providers[_i] = arguments[_i]; | ||
} | ||
return function () { | ||
var e_1, _a; | ||
var promise = Promise.reject(new ProviderError("No providers in chain")); | ||
var _loop_1 = function (provider) { | ||
promise = promise.catch(function (err) { | ||
if (err === null || err === void 0 ? void 0 : err.tryNextLink) { | ||
return provider(); | ||
@@ -12,5 +18,18 @@ } | ||
}); | ||
}; | ||
try { | ||
for (var providers_1 = __values(providers), providers_1_1 = providers_1.next(); !providers_1_1.done; providers_1_1 = providers_1.next()) { | ||
var provider = providers_1_1.value; | ||
_loop_1(provider); | ||
} | ||
} | ||
catch (e_1_1) { e_1 = { error: e_1_1 }; } | ||
finally { | ||
try { | ||
if (providers_1_1 && !providers_1_1.done && (_a = providers_1.return)) _a.call(providers_1); | ||
} | ||
finally { if (e_1) throw e_1.error; } | ||
} | ||
return promise; | ||
}; | ||
} |
@@ -0,9 +1,15 @@ | ||
import { __extends } from "tslib"; | ||
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); | ||
var CredentialsProviderError = (function (_super) { | ||
__extends(CredentialsProviderError, _super); | ||
function CredentialsProviderError(message, tryNextLink) { | ||
if (tryNextLink === void 0) { tryNextLink = true; } | ||
var _this = _super.call(this, message, tryNextLink) || this; | ||
_this.tryNextLink = tryNextLink; | ||
_this.name = "CredentialsProviderError"; | ||
Object.setPrototypeOf(_this, CredentialsProviderError.prototype); | ||
return _this; | ||
} | ||
} | ||
return CredentialsProviderError; | ||
}(ProviderError)); | ||
export { CredentialsProviderError }; |
@@ -1,1 +0,5 @@ | ||
export const fromStatic = (staticValue) => () => Promise.resolve(staticValue); | ||
export var fromStatic = function (staticValue) { | ||
return function () { | ||
return Promise.resolve(staticValue); | ||
}; | ||
}; |
@@ -1,45 +0,71 @@ | ||
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; | ||
}; | ||
import { __awaiter, __generator } from "tslib"; | ||
export var memoize = function (provider, isExpired, requiresRefresh) { | ||
var resolved; | ||
var pending; | ||
var hasResult; | ||
var isConstant = false; | ||
var coalesceProvider = function () { return __awaiter(void 0, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!pending) { | ||
pending = provider(); | ||
} | ||
_a.label = 1; | ||
case 1: | ||
_a.trys.push([1, , 3, 4]); | ||
return [4, pending]; | ||
case 2: | ||
resolved = _a.sent(); | ||
hasResult = true; | ||
isConstant = false; | ||
return [3, 4]; | ||
case 3: | ||
pending = undefined; | ||
return [7]; | ||
case 4: return [2, resolved]; | ||
} | ||
}); | ||
}); }; | ||
if (isExpired === undefined) { | ||
return async (options) => { | ||
if (!hasResult || options?.forceRefresh) { | ||
resolved = await coalesceProvider(); | ||
return function (options) { return __awaiter(void 0, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!(!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh))) return [3, 2]; | ||
return [4, coalesceProvider()]; | ||
case 1: | ||
resolved = _a.sent(); | ||
_a.label = 2; | ||
case 2: return [2, resolved]; | ||
} | ||
}); | ||
}); }; | ||
} | ||
return function (options) { return __awaiter(void 0, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!(!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh))) return [3, 2]; | ||
return [4, coalesceProvider()]; | ||
case 1: | ||
resolved = _a.sent(); | ||
_a.label = 2; | ||
case 2: | ||
if (isConstant) { | ||
return [2, resolved]; | ||
} | ||
if (requiresRefresh && !requiresRefresh(resolved)) { | ||
isConstant = true; | ||
return [2, resolved]; | ||
} | ||
if (!isExpired(resolved)) return [3, 4]; | ||
return [4, coalesceProvider()]; | ||
case 3: | ||
_a.sent(); | ||
return [2, resolved]; | ||
case 4: return [2, resolved]; | ||
} | ||
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; | ||
}; | ||
}); | ||
}); }; | ||
}; |
@@ -1,11 +0,18 @@ | ||
export class ProviderError extends Error { | ||
constructor(message, tryNextLink = true) { | ||
super(message); | ||
this.tryNextLink = tryNextLink; | ||
this.name = "ProviderError"; | ||
Object.setPrototypeOf(this, ProviderError.prototype); | ||
import { __extends } from "tslib"; | ||
var ProviderError = (function (_super) { | ||
__extends(ProviderError, _super); | ||
function ProviderError(message, tryNextLink) { | ||
if (tryNextLink === void 0) { tryNextLink = true; } | ||
var _this = _super.call(this, message) || this; | ||
_this.tryNextLink = tryNextLink; | ||
_this.name = "ProviderError"; | ||
Object.setPrototypeOf(_this, ProviderError.prototype); | ||
return _this; | ||
} | ||
static from(error, tryNextLink = true) { | ||
ProviderError.from = function (error, tryNextLink) { | ||
if (tryNextLink === void 0) { tryNextLink = true; } | ||
return Object.assign(new this(error.message, tryNextLink), error); | ||
} | ||
} | ||
}; | ||
return ProviderError; | ||
}(Error)); | ||
export { ProviderError }; |
@@ -0,9 +1,15 @@ | ||
import { __extends } from "tslib"; | ||
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); | ||
var TokenProviderError = (function (_super) { | ||
__extends(TokenProviderError, _super); | ||
function TokenProviderError(message, tryNextLink) { | ||
if (tryNextLink === void 0) { tryNextLink = true; } | ||
var _this = _super.call(this, message, tryNextLink) || this; | ||
_this.tryNextLink = tryNextLink; | ||
_this.name = "TokenProviderError"; | ||
Object.setPrototypeOf(_this, TokenProviderError.prototype); | ||
return _this; | ||
} | ||
} | ||
return TokenProviderError; | ||
}(ProviderError)); | ||
export { TokenProviderError }; |
{ | ||
"name": "@aws-sdk/property-provider", | ||
"version": "3.183.0", | ||
"version": "3.186.0", | ||
"scripts": { | ||
@@ -23,3 +23,3 @@ "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", | ||
"dependencies": { | ||
"@aws-sdk/types": "3.183.0", | ||
"@aws-sdk/types": "3.186.0", | ||
"tslib": "^2.3.1" | ||
@@ -26,0 +26,0 @@ }, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
62249
427
+ Added@aws-sdk/types@3.186.0(transitive)
- Removed@aws-sdk/types@3.183.0(transitive)
Updated@aws-sdk/types@3.186.0