Skip to content

Commit 7d28011

Browse files
authored
refactor: fix eslint warning and the style of code (#224)
1 parent 5ae1f8d commit 7d28011

File tree

4 files changed

+24
-29
lines changed

4 files changed

+24
-29
lines changed

src/components/DataKeyPair.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ export const DataKeyPair: React.FC<DataKeyPairProps> = (props) => {
221221
if (!isEmptyValue) {
222222
setInspect(state => !state)
223223
}
224-
}, [setInspect])
224+
}, [isEmptyValue, setInspect])
225225
}
226226
>
227227
{

src/components/DataTypes/createEasyType.tsx

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,14 @@ export function createEasyType<Value> (
1616
displayTypeLabel?: boolean
1717
}
1818
): Omit<DataType<Value>, 'is'> {
19-
const displayTypeLabel = config.displayTypeLabel ?? true
19+
const { fromString, colorKey, displayTypeLabel = true } = config
20+
2021
const Render = React.memo(renderValue)
2122
const EasyType: React.FC<DataItemProps<Value>> = (props) => {
2223
const storeDisplayDataTypes = useJsonViewerStore(store => store.displayDataTypes)
23-
const color = useJsonViewerStore(
24-
store => store.colorspace[config.colorKey])
24+
const color = useJsonViewerStore(store => store.colorspace[colorKey])
2525
return (
26-
<DataBox
27-
sx={{
28-
color
29-
}}
30-
>
26+
<DataBox sx={{ color }} >
3127
{(displayTypeLabel && storeDisplayDataTypes) && <DataTypeLabel dataType={type}/>}
3228
<DataBox className={`${type}-value`}>
3329
<Render value={props.value}/>
@@ -36,15 +32,15 @@ export function createEasyType<Value> (
3632
)
3733
}
3834
EasyType.displayName = `easy-${type}-type`
39-
if (!config.fromString) {
35+
36+
if (!fromString) {
4037
return {
4138
Component: EasyType
4239
}
4340
}
44-
const fromString = config.fromString
41+
4542
const EasyTypeEditor: React.FC<EditorProps<Value>> = ({ value, setValue }) => {
46-
const color = useJsonViewerStore(
47-
store => store.colorspace[config.colorKey])
43+
const color = useJsonViewerStore(store => store.colorspace[colorKey])
4844
return (
4945
<InputBase
5046
value={value}
@@ -72,6 +68,7 @@ export function createEasyType<Value> (
7268
)
7369
}
7470
EasyTypeEditor.displayName = `easy-${type}-type-editor`
71+
7572
return {
7673
Component: EasyType,
7774
Editor: EasyTypeEditor

src/index.tsx

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,23 +73,22 @@ const JsonViewerInner: React.FC<JsonViewerProps> = (props) => {
7373
const predefinedTypes = useMemo(() => predefined(), [])
7474
const registerTypes = useTypeRegistryStore(store => store.registerTypes)
7575
if (onceRef.current) {
76-
const allTypes = [...predefinedTypes]
77-
props.valueTypes?.forEach(type => {
78-
allTypes.push(type)
79-
})
76+
const allTypes = props.valueTypes
77+
? [...predefinedTypes, ...props.valueTypes]
78+
: [...predefinedTypes]
8079
registerTypes(allTypes)
8180
onceRef.current = false
8281
}
8382
useEffect(() => {
84-
const allTypes = [...predefinedTypes]
85-
props.valueTypes?.forEach(type => {
86-
allTypes.push(type)
87-
})
83+
const allTypes = props.valueTypes
84+
? [...predefinedTypes, ...props.valueTypes]
85+
: [...predefinedTypes]
8886
registerTypes(allTypes)
89-
}, [predefinedTypes, props.valueTypes, registerTypes])
87+
}, [props.valueTypes, predefinedTypes, registerTypes])
9088

9189
const value = useJsonViewerStore(store => store.value)
9290
const setHover = useJsonViewerStore(store => store.setHover)
91+
const onMouseLeave = useCallback(() => setHover(null), [setHover])
9392
return (
9493
<Paper
9594
elevation={0}
@@ -100,11 +99,7 @@ const JsonViewerInner: React.FC<JsonViewerProps> = (props) => {
10099
userSelect: 'none',
101100
contentVisibility: 'auto'
102101
}}
103-
onMouseLeave={
104-
useCallback(() => {
105-
setHover(null)
106-
}, [setHover])
107-
}
102+
onMouseLeave={ onMouseLeave }
108103
>
109104
<DataKeyPair
110105
value={value}

src/stores/typeRegistry.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Box } from '@mui/material'
22
import type { SetStateAction } from 'react'
3-
import React, { memo, useMemo, useState } from 'react'
3+
import { memo, useMemo, useState } from 'react'
44
import create from 'zustand'
55
import createStore from 'zustand/context'
66
import { combine } from 'zustand/middleware'
@@ -166,7 +166,10 @@ export function predefined (): DataType<any>[] {
166166
</Box>
167167
)
168168
},
169-
{ colorKey: 'base08', displayTypeLabel: false }
169+
{
170+
colorKey: 'base08',
171+
displayTypeLabel: false
172+
}
170173
)
171174
}
172175
)

0 commit comments

Comments
 (0)