aiwebfinances
Version:
Display pricing that covers country inflation
41 lines • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const InflationFetcher_1 = require("./InflationFetcher");
const Aiwebfinance = ({ value, countryCode, }) => {
const [inflationRate, setInflationRate] = (0, react_1.useState)(0);
const [loading, setLoading] = (0, react_1.useState)(true);
const [error, setError] = (0, react_1.useState)(null);
const [returnedValue, setReturnedValue] = (0, react_1.useState)(value);
(0, react_1.useEffect)(() => {
const getInflation = async () => {
try {
const rate = await (0, InflationFetcher_1.fetchInflationData)(countryCode);
setInflationRate(rate);
}
catch (err) {
setError("Unable to fetch inflation data.");
}
finally {
setLoading(false);
}
};
getInflation();
}, [countryCode]);
(0, react_1.useEffect)(() => {
if (inflationRate !== null) {
const inflationValue = (value / 100) * inflationRate;
const finalValue = value + inflationValue;
const parsedValue = parseFloat(finalValue.toFixed(2));
setReturnedValue(parsedValue);
}
}, [inflationRate, value]); // Recalculate when inflationRate or value changes
if (loading)
return null;
if (error) {
console.log(error);
}
return returnedValue;
};
exports.default = Aiwebfinance;
//# sourceMappingURL=index.js.map