1
+ import { ensurePropertyExists } from '../utils'
1
2
import { INFINITY , MAX_ARRAY_SIZE , MAX_STRING_SIZE , NAN , NEGATIVE_INFINITY , UNDEFINED } from './constants'
2
3
import { getBigIntDetails , getComponentDefinitionDetails , getDateDetails , getFunctionDetails , getHTMLElementDetails , getInstanceDetails , getMapDetails , getObjectDetails , getRouterDetails , getSetDetails , getStoreDetails } from './custom'
3
4
import { isVueInstance } from './is'
@@ -69,8 +70,7 @@ export function stringifyReplacer(key: string | number, _value: any, depth?: num
69
70
else if ( proto === '[object Error]' ) {
70
71
return `[native Error ${ ( val as Error ) . message } <>${ ( val as Error ) . stack } ]`
71
72
}
72
- // @ts -expect-error skip type check
73
- else if ( val . state && val . _vm ) {
73
+ else if ( ensurePropertyExists ( val , 'state' , true ) && ensurePropertyExists ( val , '_vm' , true ) ) {
74
74
return getStoreDetails ( val )
75
75
}
76
76
else if ( val . constructor && val . constructor . name === 'VueRouter' ) {
@@ -85,8 +85,7 @@ export function stringifyReplacer(key: string | number, _value: any, depth?: num
85
85
seenInstance ?. set ( val , depth ! )
86
86
return componentVal
87
87
}
88
- // @ts -expect-error skip type check
89
- else if ( typeof val . render === 'function' ) {
88
+ else if ( ensurePropertyExists ( val , 'render' , true ) && typeof val . render === 'function' ) {
90
89
return getComponentDefinitionDetails ( val )
91
90
}
92
91
else if ( val . constructor && val . constructor . name === 'VNode' ) {
@@ -96,12 +95,10 @@ export function stringifyReplacer(key: string | number, _value: any, depth?: num
96
95
else if ( typeof HTMLElement !== 'undefined' && val instanceof HTMLElement ) {
97
96
return getHTMLElementDetails ( val )
98
97
}
99
- // @ts -expect-error skip type check
100
- else if ( val . constructor ?. name === 'Store' && val . _wrappedGetters ) {
98
+ else if ( val . constructor ?. name === 'Store' && '_wrappedGetters' in val ) {
101
99
return '[object Store]'
102
100
}
103
- // @ts -expect-error skip type check
104
- else if ( val . currentRoute ) {
101
+ else if ( ensurePropertyExists ( val , 'currentRoute' , true ) ) {
105
102
return '[object Router]'
106
103
}
107
104
const customDetails = getObjectDetails ( val )
0 commit comments