@@ -2,92 +2,92 @@ import { createContext } from 'solid-js'
2
2
import { createStore } from 'solid-js/store'
3
3
import { tryParseJson } from '../utils/sanitize'
4
4
import {
5
- TANSTACK_DEVTOOLS_SETTINGS ,
6
- TANSTACK_DEVTOOLS_STATE ,
7
- getStorageItem ,
8
- setStorageItem ,
5
+ TANSTACK_DEVTOOLS_SETTINGS ,
6
+ TANSTACK_DEVTOOLS_STATE ,
7
+ getStorageItem ,
8
+ setStorageItem ,
9
9
} from '../utils/storage'
10
10
import { initialState } from './devtools-store'
11
- import type { DevtoolsStore } from './devtools-store' ;
11
+ import type { DevtoolsStore } from './devtools-store'
12
12
import type { Setter } from 'solid-js'
13
13
import type { JSX } from 'solid-js/jsx-runtime'
14
14
15
15
export interface DevtoolsPlugin {
16
- name : string | ( ( el : HTMLDivElement ) => void )
17
- id : string
18
- component : ( el : HTMLDivElement ) => void
16
+ name : string | ( ( el : HTMLDivElement ) => void )
17
+ id : string
18
+ component : ( el : HTMLDivElement ) => void
19
19
}
20
20
21
21
export const DevtoolsContext = createContext < {
22
- store : DevtoolsStore
23
- setStore : Setter < DevtoolsStore >
22
+ store : DevtoolsStore
23
+ setStore : Setter < DevtoolsStore >
24
24
} > ( )
25
25
26
26
interface ContextProps {
27
- children : JSX . Element
28
- plugins ?: Array < DevtoolsPlugin >
29
- config ?: DevtoolsSettings
27
+ children : JSX . Element
28
+ plugins ?: Array < DevtoolsPlugin >
29
+ config ?: DevtoolsSettings
30
30
}
31
31
32
32
const getSettings = ( ) => {
33
- const settingsString = getStorageItem ( TANSTACK_DEVTOOLS_SETTINGS )
34
- const settings = tryParseJson < DevtoolsStore [ 'settings' ] > ( settingsString )
35
- return {
36
- ...settings ,
37
- }
33
+ const settingsString = getStorageItem ( TANSTACK_DEVTOOLS_SETTINGS )
34
+ const settings = tryParseJson < DevtoolsStore [ 'settings' ] > ( settingsString )
35
+ return {
36
+ ...settings ,
37
+ }
38
38
}
39
39
40
40
const getExistingStateFromStorage = (
41
- config ?: DevtoolsSettings ,
42
- plugins ?: Array < DevtoolsPlugin > ,
41
+ config ?: DevtoolsSettings ,
42
+ plugins ?: Array < DevtoolsPlugin > ,
43
43
) => {
44
- const existingState = getStorageItem ( TANSTACK_DEVTOOLS_STATE )
45
- const settings = getSettings ( )
44
+ const existingState = getStorageItem ( TANSTACK_DEVTOOLS_STATE )
45
+ const settings = getSettings ( )
46
46
47
- const state : DevtoolsStore = {
48
- ...initialState ,
49
- plugins : plugins || [ ] ,
50
- state : {
51
- ...initialState . state ,
52
- ...( existingState ? JSON . parse ( existingState ) : { } ) ,
53
- } ,
54
- settings : {
55
- ...initialState . settings ,
56
- ...config ,
57
- ...settings ,
58
- } ,
59
- }
60
- return state
47
+ const state : DevtoolsStore = {
48
+ ...initialState ,
49
+ plugins : plugins || [ ] ,
50
+ state : {
51
+ ...initialState . state ,
52
+ ...( existingState ? JSON . parse ( existingState ) : { } ) ,
53
+ } ,
54
+ settings : {
55
+ ...initialState . settings ,
56
+ ...config ,
57
+ ...settings ,
58
+ } ,
59
+ }
60
+ return state
61
61
}
62
62
63
63
export type DevtoolsSettings = DevtoolsStore [ 'settings' ]
64
64
65
65
export const DevtoolsProvider = ( props : ContextProps ) => {
66
- const [ store , setStore ] = createStore (
67
- getExistingStateFromStorage ( props . config , props . plugins ) ,
68
- )
66
+ const [ store , setStore ] = createStore (
67
+ getExistingStateFromStorage ( props . config , props . plugins ) ,
68
+ )
69
69
70
- const value = {
71
- store,
72
- setStore : (
73
- updater : ( prev : DevtoolsStore ) => DevtoolsStore | Partial < DevtoolsStore > ,
74
- ) => {
75
- const newState = updater ( store )
76
- const { settings, state : internalState } = newState
77
- // Store user settings for dev tools into local storage
78
- setStorageItem ( TANSTACK_DEVTOOLS_SETTINGS , JSON . stringify ( settings ) )
79
- // Store general state into local storage
80
- setStorageItem ( TANSTACK_DEVTOOLS_STATE , JSON . stringify ( internalState ) )
81
- setStore ( ( prev ) => ( {
82
- ...prev ,
83
- ...newState ,
84
- } ) )
85
- } ,
86
- }
70
+ const value = {
71
+ store,
72
+ setStore : (
73
+ updater : ( prev : DevtoolsStore ) => DevtoolsStore | Partial < DevtoolsStore > ,
74
+ ) => {
75
+ const newState = updater ( store )
76
+ const { settings, state : internalState } = newState
77
+ // Store user settings for dev tools into local storage
78
+ setStorageItem ( TANSTACK_DEVTOOLS_SETTINGS , JSON . stringify ( settings ) )
79
+ // Store general state into local storage
80
+ setStorageItem ( TANSTACK_DEVTOOLS_STATE , JSON . stringify ( internalState ) )
81
+ setStore ( ( prev ) => ( {
82
+ ...prev ,
83
+ ...newState ,
84
+ } ) )
85
+ } ,
86
+ }
87
87
88
- return (
89
- < DevtoolsContext . Provider value = { value } >
90
- { props . children }
91
- </ DevtoolsContext . Provider >
92
- )
88
+ return (
89
+ < DevtoolsContext . Provider value = { value } >
90
+ { props . children }
91
+ </ DevtoolsContext . Provider >
92
+ )
93
93
}
0 commit comments