2022-09-28 17:45:48 +02:00
|
|
|
import { SettingName, SettingValue } from '../models/setting';
|
2022-10-12 16:48:39 +02:00
|
|
|
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
|
|
|
|
*/
|
2022-10-12 16:48:39 +02:00
|
|
|
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) {
|
2022-10-12 16:48:39 +02:00
|
|
|
res.set(key as SettingName, `${data[key]}`);
|
2022-09-28 17:45:48 +02:00
|
|
|
}
|
|
|
|
return res;
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
2022-10-12 16:48:39 +02:00
|
|
|
* Convert the provided map to a simple javascript object, usable by react-hook-form
|
2022-09-28 17:45:48 +02:00
|
|
|
*/
|
2022-10-12 16:48:39 +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) => {
|
2022-10-12 16:48:39 +02:00
|
|
|
res[key] = ParsingLib.simpleParse(value);
|
2022-09-28 17:45:48 +02:00
|
|
|
});
|
|
|
|
return res;
|
|
|
|
};
|
|
|
|
}
|