@alauda-fe/common
Version:
Alauda frontend team common codes.
66 lines • 7.76 kB
JavaScript
export const RESOURCE_MAC_TYPES = ['cpu', 'memory'];
export const RESOURCE_REQUIREMENT_KEYS = ['requests', 'limits'];
export function getResourceViewModel(data, type, preferEmptyOrC) {
// 对于 '2' 的cpu大小,视图上展示为 '2c'
if (type === 'cpu' && !isNaN(+data)) {
data = `${data}c`;
}
if (type === 'memory' && !isNaN(+data)) {
data = `${data}Bytes`;
}
const reg = /^(\d?\.?\d+)([A-Za-z]+)$/;
const res = {
value: '',
unit: '',
};
if (!isNaN(parseFloat(data))) {
const _res = reg.exec(data) || [];
res.value = _res[1] || '';
const unit = _res[2];
switch (type) {
case 'cpu': {
res.unit = preferEmptyOrC && unit === 'c' ? '' : unit || 'm';
break;
}
case 'memory': {
res.unit = unit || '';
break;
}
}
}
return res;
}
export const resourceUnits = {
cpu: [
{
value: 'm',
label: 'unit_m',
},
{
value: 'c',
label: 'core',
},
],
memory: ['Mi', 'Gi'],
};
export function getResourceValue(data) {
if (typeof data === 'string') {
return data;
}
if (data.value) {
return !data.unit || data.unit === 'c' || data.unit === 'Bytes'
? data.value
: `${data.value}${data.unit}`;
}
return '';
}
export function transferResource(resource) {
return Object.keys(resource).reduce((item, type) => {
const value = getResourceValue(resource[type]);
if (value) {
item[type] = value;
}
return item;
}, {});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBVSxDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBVSxDQUFDO0FBZ0J6RSxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLElBQVksRUFDWixJQUFzQixFQUN0QixjQUF3QjtJQUV4Qiw0QkFBNEI7SUFDNUIsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsMEJBQTBCLENBQUM7SUFDdkMsTUFBTSxHQUFHLEdBQUc7UUFDVixLQUFLLEVBQUUsRUFBRTtRQUNULElBQUksRUFBRSxFQUFFO0tBQ1QsQ0FBQztJQUVGLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksR0FBYSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsR0FBRyxDQUFDLElBQUksR0FBRyxjQUFjLElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDO2dCQUM3RCxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDZCxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsR0FBRyxFQUFFO1FBQ0g7WUFDRSxLQUFLLEVBQUUsR0FBRztZQUNWLEtBQUssRUFBRSxRQUFRO1NBQ2hCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsR0FBRztZQUNWLEtBQUssRUFBRSxNQUFNO1NBQ2Q7S0FDRjtJQUNELE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7Q0FDckIsQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUE4QjtJQUM3RCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPO1lBQzdELENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNaLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBOEI7SUFDN0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFvQixFQUFFLEVBQUU7UUFDakUsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLEVBQWtCLENBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2VDb250cm9sIH0gZnJvbSAnLi4vLi4vZm9ybS92YWxpZGF0b3JzL3Jlc291cmNlLWxpbWl0JztcblxuZXhwb3J0IGNvbnN0IFJFU09VUkNFX01BQ19UWVBFUyA9IFsnY3B1JywgJ21lbW9yeSddIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IFJFU09VUkNFX1JFUVVJUkVNRU5UX0tFWVMgPSBbJ3JlcXVlc3RzJywgJ2xpbWl0cyddIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBSZXNvdXJjZU1hY0tleSA9ICh0eXBlb2YgUkVTT1VSQ0VfTUFDX1RZUEVTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VNYWNzID0gUmVjb3JkPFJlc291cmNlTWFjS2V5LCBzdHJpbmc+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VNYWNGb3JtTW9kYWwgPSBSZWNvcmQ8UmVzb3VyY2VNYWNLZXksIFJlc291cmNlQ29udHJvbD47XG5leHBvcnQgdHlwZSBSZXNvdXJjZVJlcXVpcmVtZW50S2V5ID0gKHR5cGVvZiBSRVNPVVJDRV9SRVFVSVJFTUVOVF9LRVlTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VSZXF1aXJlbWVudFN0cmljdCA9IFJlY29yZDxcbiAgUmVzb3VyY2VSZXF1aXJlbWVudEtleSxcbiAgUmVzb3VyY2VNYWNzXG4+O1xuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVJlcXVpcmVtZW50Rm9ybU1vZGFsID0gUmVjb3JkPFxuICBSZXNvdXJjZVJlcXVpcmVtZW50S2V5LFxuICBSZXNvdXJjZU1hY0Zvcm1Nb2RhbFxuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlVmlld01vZGVsKFxuICBkYXRhOiBzdHJpbmcsXG4gIHR5cGU6ICdjcHUnIHwgJ21lbW9yeScsXG4gIHByZWZlckVtcHR5T3JDPzogYm9vbGVhbixcbik6IFJlc291cmNlQ29udHJvbCB7XG4gIC8vIOWvueS6jiAnMicg55qEY3B15aSn5bCP77yM6KeG5Zu+5LiK5bGV56S65Li6ICcyYydcbiAgaWYgKHR5cGUgPT09ICdjcHUnICYmICFpc05hTigrZGF0YSkpIHtcbiAgICBkYXRhID0gYCR7ZGF0YX1jYDtcbiAgfVxuICBpZiAodHlwZSA9PT0gJ21lbW9yeScgJiYgIWlzTmFOKCtkYXRhKSkge1xuICAgIGRhdGEgPSBgJHtkYXRhfUJ5dGVzYDtcbiAgfVxuICBjb25zdCByZWcgPSAvXihcXGQ/XFwuP1xcZCspKFtBLVphLXpdKykkLztcbiAgY29uc3QgcmVzID0ge1xuICAgIHZhbHVlOiAnJyxcbiAgICB1bml0OiAnJyxcbiAgfTtcblxuICBpZiAoIWlzTmFOKHBhcnNlRmxvYXQoZGF0YSkpKSB7XG4gICAgY29uc3QgX3Jlczogc3RyaW5nW10gPSByZWcuZXhlYyhkYXRhKSB8fCBbXTtcbiAgICByZXMudmFsdWUgPSBfcmVzWzFdIHx8ICcnO1xuICAgIGNvbnN0IHVuaXQgPSBfcmVzWzJdO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnY3B1Jzoge1xuICAgICAgICByZXMudW5pdCA9IHByZWZlckVtcHR5T3JDICYmIHVuaXQgPT09ICdjJyA/ICcnIDogdW5pdCB8fCAnbSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnbWVtb3J5Jzoge1xuICAgICAgICByZXMudW5pdCA9IHVuaXQgfHwgJyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXM7XG59XG5cbmV4cG9ydCBjb25zdCByZXNvdXJjZVVuaXRzID0ge1xuICBjcHU6IFtcbiAgICB7XG4gICAgICB2YWx1ZTogJ20nLFxuICAgICAgbGFiZWw6ICd1bml0X20nLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdjJyxcbiAgICAgIGxhYmVsOiAnY29yZScsXG4gICAgfSxcbiAgXSxcbiAgbWVtb3J5OiBbJ01pJywgJ0dpJ10sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VWYWx1ZShkYXRhOiBSZXNvdXJjZUNvbnRyb2wgfCBzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIGlmIChkYXRhLnZhbHVlKSB7XG4gICAgcmV0dXJuICFkYXRhLnVuaXQgfHwgZGF0YS51bml0ID09PSAnYycgfHwgZGF0YS51bml0ID09PSAnQnl0ZXMnXG4gICAgICA/IGRhdGEudmFsdWVcbiAgICAgIDogYCR7ZGF0YS52YWx1ZX0ke2RhdGEudW5pdH1gO1xuICB9XG4gIHJldHVybiAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZmVyUmVzb3VyY2UocmVzb3VyY2U6IFJlc291cmNlTWFjRm9ybU1vZGFsKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhyZXNvdXJjZSkucmVkdWNlKChpdGVtLCB0eXBlOiBSZXNvdXJjZU1hY0tleSkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gZ2V0UmVzb3VyY2VWYWx1ZShyZXNvdXJjZVt0eXBlXSk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpdGVtW3R5cGVdID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBpdGVtO1xuICB9LCB7fSBhcyBSZXNvdXJjZU1hY3MpO1xufVxuIl19