vtex
Version:
The platform for e-commerce apps
27 lines (26 loc) • 889 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ramda_1 = require("ramda");
const Apps_1 = require("../../../api/clients/IOClients/infra/Apps");
const castValue = (value) => {
let parsedValue;
try {
parsedValue = JSON.parse(value);
}
catch (err) {
parsedValue = value;
}
const numberCast = Number(value);
return Number.isNaN(numberCast) ? parsedValue : numberCast;
};
exports.default = async (app, field, value) => {
const apps = Apps_1.createAppsClient();
const newSetting = {};
newSetting[field] = castValue(value);
const newSettingsJson = await apps
.getAppSettings(app)
.then(ramda_1.merge(ramda_1.__, newSetting))
.then(newSettings => JSON.stringify(newSettings, null, 2));
await apps.saveAppSettings(app, newSettingsJson);
console.log(newSettingsJson);
};