fix: prettier write

This commit is contained in:
kshern
2025-02-25 00:09:04 +08:00
parent 18438dbdd0
commit 8267e514ce
2 changed files with 38 additions and 22 deletions

View File

@@ -215,7 +215,11 @@ const DynamicJsonForm = ({
return;
}
const updateArray = (array: JsonValue[], path: string[], value: JsonValue): JsonValue[] => {
const updateArray = (
array: JsonValue[],
path: string[],
value: JsonValue,
): JsonValue[] => {
const [index, ...restPath] = path;
const arrayIndex = Number(index);
@@ -232,7 +236,7 @@ const DynamicJsonForm = ({
}
const newArray = [...array];
if (restPath.length === 0) {
newArray[arrayIndex] = value;
} else {
@@ -242,22 +246,30 @@ const DynamicJsonForm = ({
newArray.length = arrayIndex + 1;
newArray.fill(null, array.length, arrayIndex);
}
newArray[arrayIndex] = updateValue(newArray[arrayIndex], restPath, value);
newArray[arrayIndex] = updateValue(
newArray[arrayIndex],
restPath,
value,
);
}
return newArray;
};
const updateObject = (obj: JsonObject, path: string[], value: JsonValue): JsonObject => {
const updateObject = (
obj: JsonObject,
path: string[],
value: JsonValue,
): JsonObject => {
const [key, ...restPath] = path;
// Validate object key
if (typeof key !== 'string') {
if (typeof key !== "string") {
console.error(`Invalid object key: ${key}`);
return obj;
}
const newObj = { ...obj };
if (restPath.length === 0) {
newObj[key] = value;
} else {
@@ -271,7 +283,11 @@ const DynamicJsonForm = ({
return newObj;
};
const updateValue = (current: JsonValue, path: string[], value: JsonValue): JsonValue => {
const updateValue = (
current: JsonValue,
path: string[],
value: JsonValue,
): JsonValue => {
if (path.length === 0) return value;
try {
@@ -282,14 +298,17 @@ const DynamicJsonForm = ({
// Type checking
if (Array.isArray(current)) {
return updateArray(current, path, value);
} else if (typeof current === 'object' && current !== null) {
} else if (typeof current === "object" && current !== null) {
return updateObject(current, path, value);
} else {
console.error(`Cannot update path ${path.join('.')} in non-object/array value:`, current);
console.error(
`Cannot update path ${path.join(".")} in non-object/array value:`,
current,
);
return current;
}
} catch (error) {
console.error(`Error updating value at path ${path.join('.')}:`, error);
console.error(`Error updating value at path ${path.join(".")}:`, error);
return current;
}
};
@@ -298,7 +317,7 @@ const DynamicJsonForm = ({
const newValue = updateValue(value, path, fieldValue);
onChange(newValue);
} catch (error) {
console.error('Failed to update form value:', error);
console.error("Failed to update form value:", error);
// Keep the original value unchanged
onChange(value);
}

View File

@@ -17,7 +17,6 @@ import ListPane from "./ListPane";
import { CompatibilityCallToolResult } from "@modelcontextprotocol/sdk/types.js";
const ToolsTab = ({
tools,
listTools,
@@ -206,17 +205,15 @@ const ToolsTab = ({
}
className="mt-1"
/>
) : prop.type === "object"|| prop.type === "array" ? (
) : prop.type === "object" || prop.type === "array" ? (
<div className="mt-1">
<DynamicJsonForm
schema={
{
type: prop.type,
properties: prop.properties,
description: prop.description,
items:prop.items
}
}
schema={{
type: prop.type,
properties: prop.properties,
description: prop.description,
items: prop.items,
}}
value={(params[key] as JsonValue) ?? {}}
onChange={(newValue: JsonValue) => {
setParams({