@alauda-fe/common
Version:
Alauda frontend team common codes.
40 lines • 5.59 kB
JavaScript
import dayjs from 'dayjs';
import { DATE_TIME_FORMAT } from '../core/public-api';
export function getMethodValue(methods, items, defaultKey) {
return methods?.reduce((prev, key) => {
const obj = {};
const curr = defaultKey || key;
if (key === 'latest' || key === 'last') {
obj[curr] = items?.at(-1)?.y;
}
const values = items?.map(d => d.y);
if (key === 'max') {
obj[curr] = Math.max(...values);
}
if (key === 'min') {
obj[curr] = Math.min(...values);
}
if (key === 'avg') {
obj[curr] = values.reduce((p, c) => p + c, 0) / values.length;
}
if (key === 'sum') {
obj[curr] = values.reduce((p, c) => p + c, 0);
}
obj[curr] = +obj[curr];
return {
...prev,
...obj,
};
}, {});
}
export function pointFormat(value) {
const data = +value;
if (!data && data !== 0) {
return '' + value;
}
return data > 0 && data < 0.01 ? '<0.01' : data.toFixed(2);
}
export function handleDateFormat(date, format = DATE_TIME_FORMAT) {
return String(dayjs(date).isValid() ? dayjs(date).format(format) : date);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvdmlldy16Y2hhcnQvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFxQixNQUFNLE9BQU8sQ0FBQztBQUcxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxNQUFNLFVBQVUsY0FBYyxDQUM1QixPQUFpQixFQUNqQixLQUF5QixFQUN6QixVQUFtQjtJQUVuQixPQUFPLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxHQUFHLEdBQTJCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxVQUFVLElBQUksR0FBRyxDQUFDO1FBQy9CLElBQUksR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDdkMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDaEUsQ0FBQztRQUNELElBQUksR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLE9BQU87WUFDTCxHQUFHLElBQUk7WUFDUCxHQUFHLEdBQUc7U0FDUCxDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBYTtJQUN2QyxNQUFNLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQztJQUNwQixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFnQixFQUFFLE1BQU0sR0FBRyxnQkFBZ0I7SUFDMUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRheWpzLCB7IENvbmZpZ1R5cGUgfSBmcm9tICdkYXlqcyc7XG5pbXBvcnQgdHlwZSB7IERhdGFJdGVtIH0gZnJvbSAnenotY2hhcnQnO1xuXG5pbXBvcnQgeyBEQVRFX1RJTUVfRk9STUFUIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ldGhvZFZhbHVlKFxuICBtZXRob2RzOiBzdHJpbmdbXSxcbiAgaXRlbXM6IERhdGFJdGVtWyd2YWx1ZXMnXSxcbiAgZGVmYXVsdEtleT86IHN0cmluZyxcbik6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4ge1xuICByZXR1cm4gbWV0aG9kcz8ucmVkdWNlKChwcmV2LCBrZXkpID0+IHtcbiAgICBjb25zdCBvYmo6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcbiAgICBjb25zdCBjdXJyID0gZGVmYXVsdEtleSB8fCBrZXk7XG4gICAgaWYgKGtleSA9PT0gJ2xhdGVzdCcgfHwga2V5ID09PSAnbGFzdCcpIHtcbiAgICAgIG9ialtjdXJyXSA9IGl0ZW1zPy5hdCgtMSk/Lnk7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlcyA9IGl0ZW1zPy5tYXAoZCA9PiBkLnkpO1xuICAgIGlmIChrZXkgPT09ICdtYXgnKSB7XG4gICAgICBvYmpbY3Vycl0gPSBNYXRoLm1heCguLi52YWx1ZXMpO1xuICAgIH1cbiAgICBpZiAoa2V5ID09PSAnbWluJykge1xuICAgICAgb2JqW2N1cnJdID0gTWF0aC5taW4oLi4udmFsdWVzKTtcbiAgICB9XG4gICAgaWYgKGtleSA9PT0gJ2F2ZycpIHtcbiAgICAgIG9ialtjdXJyXSA9IHZhbHVlcy5yZWR1Y2UoKHAsIGMpID0+IHAgKyBjLCAwKSAvIHZhbHVlcy5sZW5ndGg7XG4gICAgfVxuICAgIGlmIChrZXkgPT09ICdzdW0nKSB7XG4gICAgICBvYmpbY3Vycl0gPSB2YWx1ZXMucmVkdWNlKChwLCBjKSA9PiBwICsgYywgMCk7XG4gICAgfVxuICAgIG9ialtjdXJyXSA9ICtvYmpbY3Vycl07XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnByZXYsXG4gICAgICAuLi5vYmosXG4gICAgfTtcbiAgfSwge30pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9pbnRGb3JtYXQodmFsdWU6IG51bWJlcikge1xuICBjb25zdCBkYXRhID0gK3ZhbHVlO1xuICBpZiAoIWRhdGEgJiYgZGF0YSAhPT0gMCkge1xuICAgIHJldHVybiAnJyArIHZhbHVlO1xuICB9XG4gIHJldHVybiBkYXRhID4gMCAmJiBkYXRhIDwgMC4wMSA/ICc8MC4wMScgOiBkYXRhLnRvRml4ZWQoMik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVEYXRlRm9ybWF0KGRhdGU6IENvbmZpZ1R5cGUsIGZvcm1hdCA9IERBVEVfVElNRV9GT1JNQVQpIHtcbiAgcmV0dXJuIFN0cmluZyhkYXlqcyhkYXRlKS5pc1ZhbGlkKCkgPyBkYXlqcyhkYXRlKS5mb3JtYXQoZm9ybWF0KSA6IGRhdGUpO1xufVxuIl19