Files
Foundry-VTT-Docker/resources/app/node_modules/@smithy/property-provider/dist-es/chain.js
2025-01-04 00:34:03 +01:00

22 lines
579 B
JavaScript

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;
};