mirror of
https://github.com/ershisan99/DevToysWeb.git
synced 2025-12-17 20:49:24 +00:00
refactor: use Options instead of Errors
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
"use client";
|
||||
|
||||
import { useCallback, useMemo, useState } from "react";
|
||||
import * as O from "fp-ts/lib/Option";
|
||||
|
||||
import { toolGroups } from "@/config/tools";
|
||||
import { safeJsonParse } from "@/lib/json";
|
||||
import { Editor, EditorProps } from "@/components/ui/editor";
|
||||
import {
|
||||
Select,
|
||||
@@ -31,13 +33,8 @@ export default function Page() {
|
||||
const [indentation, setIndentation] = useState(two);
|
||||
const [input, setInput] = useState('{\n"foo":"bar"\n}');
|
||||
|
||||
let output: string;
|
||||
try {
|
||||
const parsed = JSON.parse(input) as unknown;
|
||||
output = JSON.stringify(parsed, null, indentation);
|
||||
} catch {
|
||||
output = "";
|
||||
}
|
||||
const parsed = safeJsonParse(input);
|
||||
const output = O.isNone(parsed) ? "" : JSON.stringify(parsed.value, null, indentation);
|
||||
|
||||
const clearInput = useCallback(() => setInput(""), []);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user