1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-10 04:54:14 +01:00

27 lines
840 B
TypeScript
Raw Normal View History

2022-09-28 17:45:48 +02:00
import { SettingName, SettingValue } from '../models/setting';
import ParsingLib from './parsing';
2022-09-28 17:45:48 +02:00
export default class SettingLib {
/**
* Convert the provided data to a map, as expected by BulkUpdate
*/
static objectToBulkMap = (data: Record<SettingName, SettingValue>): Map<SettingName, string> => {
const res = new Map<SettingName, string>();
2022-09-28 17:45:48 +02:00
for (const key in data) {
res.set(key as SettingName, `${data[key]}`);
2022-09-28 17:45:48 +02:00
}
return res;
};
/**
* Convert the provided map to a simple javascript object, usable by react-hook-form
2022-09-28 17:45:48 +02:00
*/
static bulkMapToObject = (data: Map<SettingName, string>): Record<SettingName, SettingValue> => {
2022-09-28 17:45:48 +02:00
const res = {} as Record<SettingName, SettingValue>;
data.forEach((value, key) => {
res[key] = ParsingLib.simpleParse(value);
2022-09-28 17:45:48 +02:00
});
return res;
};
}