fix: bool type in python code
This commit is contained in:
@@ -28,21 +28,38 @@ export const formatCurlArgs = (
|
|||||||
return `-d '${toShellSafeMultilineJson(parameters)}'`;
|
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
|
// python format
|
||||||
export const formatPyParams = (parameters: Record<string, any>) => {
|
export const formatPyParams = (parameters: Record<string, any>) => {
|
||||||
return _.keys(parameters).reduce((acc: string, key: string) => {
|
return _.keys(parameters).reduce((acc: string, key: string) => {
|
||||||
if (parameters[key] === null || parameters[key] === undefined) {
|
if (parameters[key] === null || parameters[key] === undefined) {
|
||||||
return acc;
|
return acc;
|
||||||
}
|
}
|
||||||
const vauleType = typeof parameters[key];
|
return acc + ` ${key}=${toPyLiteral(parameters[key], 2, 1)},\n`;
|
||||||
const value =
|
|
||||||
vauleType === 'object'
|
|
||||||
? JSON.stringify(parameters[key], null, 2)
|
|
||||||
: vauleType === 'string'
|
|
||||||
? `"${parameters[key]}"`
|
|
||||||
: parameters[key];
|
|
||||||
|
|
||||||
return acc + ` ${key}=${value},\n`;
|
|
||||||
}, '');
|
}, '');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user