Files
lan-manager/web/node_modules/@antv/layout/es/util/function.js
openclaw 0a5f6a8047 Initial commit: Lan-manager project code
- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs

Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
2026-04-20 00:52:58 +08:00

56 lines
1.6 KiB
JavaScript

import { isArray, isObject } from ".";
import { isNumber } from "./number";
export const isFunction = (val) => typeof val === 'function';
export const getFunc = (value, defaultValue, func) => {
let resultFunc;
if (func) {
resultFunc = func;
}
else if (isNumber(value)) {
resultFunc = () => value;
}
else {
resultFunc = () => defaultValue;
}
return resultFunc;
};
export const getFuncByUnknownType = (defaultValue, value, resultIsNumber = true) => {
if (!value && value !== 0) {
return (d) => {
if (d.size) {
if (isArray(d.size))
return d.size[0] > d.size[1] ? d.size[0] : d.size[1];
if (isObject(d.size))
return d.size.width > d.size.height ? d.size.width : d.size.height;
return d.size;
}
return defaultValue;
};
}
if (isFunction(value)) {
return value;
}
if (isNumber(value)) {
return () => value;
}
if (isArray(value)) {
return () => {
if (resultIsNumber) {
const max = Math.max(...value);
return isNaN(max) ? defaultValue : max;
}
return value;
};
}
if (isObject(value)) {
return () => {
if (resultIsNumber) {
const max = Math.max(value.width, value.height);
return isNaN(max) ? defaultValue : max;
}
return [value.width, value.height];
};
}
return () => defaultValue;
};
//# sourceMappingURL=function.js.map