mindmime's picture
Upload folder using huggingface_hub
a03b3ba verified
// eslint-disable-next-line complexity
export function represent_value(
value: string,
type: string | undefined,
lang: "js" | "py" | null = null
): string | null | number | boolean | Record<string, unknown> {
if (type === undefined) {
return lang === "py" ? "None" : null;
}
if (type === "string" || type === "str" || type == "filepath") {
return lang === null ? value : '"' + value + '"';
} else if (type === "number") {
return lang === null ? parseFloat(value) : value;
} else if (type === "boolean" || type == "bool") {
if (lang === "py") {
value = String(value);
return value === "true" ? "True" : "False";
} else if (lang === "js") {
return value;
}
return value === "true";
} else if (type === "List[str]") {
value = JSON.stringify(value);
return value;
} else if (type.startsWith("Literal['")) {
// a literal of strings
return '"' + value + '"';
}
// assume object type
if (lang === null) {
return value === "" ? null : JSON.parse(value);
} else if (typeof value === "string") {
if (value === "") {
return lang === "py" ? "None" : "null";
}
return value;
}
return JSON.stringify(value);
}