fix: bool type in python code

This commit is contained in:
jialin
2026-05-06 14:43:03 +08:00
committed by jialin
parent 898c7f1be2
commit 01576212a3
+26 -9
View File
@@ -28,21 +28,38 @@ export const formatCurlArgs = (
return `-d '${toShellSafeMultilineJson(parameters)}'`;
};
const toPyLiteral = (val: any, indent = 2, level = 0): string => {
if (val === null) return 'None';
if (typeof val === 'boolean') return val ? 'True' : 'False';
if (typeof val === 'string') return JSON.stringify(val);
if (Array.isArray(val)) {
if (val.length === 0) return '[]';
const pad = ' '.repeat((level + 1) * indent);
const closePad = ' '.repeat(level * indent);
const items = val.map((v) => `${pad}${toPyLiteral(v, indent, level + 1)}`);
return `[\n${items.join(',\n')}\n${closePad}]`;
}
if (typeof val === 'object') {
const keys = Object.keys(val);
if (keys.length === 0) return '{}';
const pad = ' '.repeat((level + 1) * indent);
const closePad = ' '.repeat(level * indent);
const entries = keys.map(
(k) =>
`${pad}${JSON.stringify(k)}: ${toPyLiteral(val[k], indent, level + 1)}`
);
return `{\n${entries.join(',\n')}\n${closePad}}`;
}
return String(val);
};
// python format
export const formatPyParams = (parameters: Record<string, any>) => {
return _.keys(parameters).reduce((acc: string, key: string) => {
if (parameters[key] === null || parameters[key] === undefined) {
return acc;
}
const vauleType = typeof parameters[key];
const value =
vauleType === 'object'
? JSON.stringify(parameters[key], null, 2)
: vauleType === 'string'
? `"${parameters[key]}"`
: parameters[key];
return acc + ` ${key}=${value},\n`;
return acc + ` ${key}=${toPyLiteral(parameters[key], 2, 1)},\n`;
}, '');
};