@daiso-tech/core
Version:
The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.
65 lines • 2.2 kB
JavaScript
/**
* @module BackoffPolicy
*/
import { resolveConstantBackoffSettings, serializeConstantBackoffSettings, } from "../backoff-policies/constant-backoff/_module.js";
import { resolveExponentialBackoffSettings, serializeExponentialBackoffSettings, } from "../backoff-policies/exponential-backoff/_module.js";
import { resolveLinearBackoffSettings, serializeLinearBackoffSettings, } from "../backoff-policies/linear-backoff/_module.js";
import { resolvePolynomialBackoffSettings, serializePolynomialBackoffSettings, } from "../backoff-policies/polynomial-backoff/_module.js";
import { BACKOFFS, } from "../backoff-policies/types.js";
import {} from "../time-span/contracts/_module.js";
import {} from "../utilities/_module.js";
/**
* @internal
*/
export function resolveBackoffSettingsEnum(settings) {
if (settings.type === BACKOFFS.CONSTANT) {
return {
type: BACKOFFS.CONSTANT,
...resolveConstantBackoffSettings(settings),
};
}
if (settings.type === BACKOFFS.EXPONENTIAL) {
return {
type: BACKOFFS.EXPONENTIAL,
...resolveExponentialBackoffSettings(settings),
};
}
if (settings.type === BACKOFFS.LINEAR) {
return {
type: BACKOFFS.LINEAR,
...resolveLinearBackoffSettings(settings),
};
}
return {
type: BACKOFFS.POLYNOMIAL,
...resolvePolynomialBackoffSettings(settings),
};
}
/**
* @internal
*/
export function serializeBackoffSettingsEnum(settings) {
if (settings.type === BACKOFFS.CONSTANT) {
return {
type: BACKOFFS.CONSTANT,
...serializeConstantBackoffSettings(settings),
};
}
if (settings.type === BACKOFFS.EXPONENTIAL) {
return {
type: BACKOFFS.EXPONENTIAL,
...serializeExponentialBackoffSettings(settings),
};
}
if (settings.type === BACKOFFS.LINEAR) {
return {
type: BACKOFFS.LINEAR,
...serializeLinearBackoffSettings(settings),
};
}
return {
type: BACKOFFS.POLYNOMIAL,
...serializePolynomialBackoffSettings(settings),
};
}
//# sourceMappingURL=_shared.js.map