Use 'type: "none"' instead of undefined

This commit is contained in:
Robert
2023-10-11 14:12:58 +01:00
parent eaf81efd64
commit 6db59a84a2

View File

@@ -103,7 +103,7 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
onChange, onChange,
} = props; } = props;
const modeledMethods: Array<ModeledMethod | undefined> = useMemo( const modeledMethods = useMemo(
() => modeledMethodsToDisplay(modeledMethodsProp, method, viewState), () => modeledMethodsToDisplay(modeledMethodsProp, method, viewState),
[modeledMethodsProp, method, viewState], [modeledMethodsProp, method, viewState],
); );
@@ -113,12 +113,7 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
modeledMethods.map((_, index) => (modeledMethod: ModeledMethod) => { modeledMethods.map((_, index) => (modeledMethod: ModeledMethod) => {
const newModeledMethods = [...modeledMethods]; const newModeledMethods = [...modeledMethods];
newModeledMethods[index] = modeledMethod; newModeledMethods[index] = modeledMethod;
onChange( onChange(method.signature, newModeledMethods);
method.signature,
newModeledMethods.filter(
(m): m is ModeledMethod => m !== undefined,
),
);
}), }),
[method, modeledMethods, onChange], [method, modeledMethods, onChange],
); );
@@ -265,9 +260,22 @@ function modeledMethodsToDisplay(
modeledMethods: ModeledMethod[], modeledMethods: ModeledMethod[],
method: Method, method: Method,
viewState: ModelEditorViewState, viewState: ModelEditorViewState,
): Array<ModeledMethod | undefined> { ): ModeledMethod[] {
if (modeledMethods.length === 0) { if (modeledMethods.length === 0) {
return [undefined]; return [
{
type: "none",
input: "",
output: "",
kind: "",
provenance: "manual",
signature: method.signature,
packageName: method.packageName,
typeName: method.typeName,
methodName: method.methodName,
methodParameters: method.methodParameters,
},
];
} }
if (viewState.showMultipleModels) { if (viewState.showMultipleModels) {