{#if type === "str" && typeof innerValue === "string"} {:else if type === "int" && typeof innerValue === "number"} { const value = e.currentTarget.value; if (value === "" || isNaN(parseInt(value))) { innerValue = previousValue; e.currentTarget.value = previousValue.toString(); return; } else { innerValue = parseFloat(value); previousValue = innerValue; } }} value={innerValue} /> {:else if type === "float" && typeof innerValue === "number"} { const value = e.currentTarget.value; if (value === "" || isNaN(parseFloat(value))) { innerValue = previousValue; e.currentTarget.value = previousValue.toString(); return; } else { innerValue = parseFloat(value); previousValue = innerValue; } }} value={innerValue} /> {:else if type === "bool" && typeof innerValue === "boolean"} {:else if type.startsWith("Literal[") && typeof innerValue === "string"} {@const options = type .slice(8, -1) .split(",") .map((option) => option.trim().replaceAll("'", ""))} {:else} {innerValue}-{typeof innerValue} {/if}