|
|
@@ -7,7 +7,6 @@ import {
|
|
|
isObject,
|
|
|
isPlainObject,
|
|
|
isSet,
|
|
|
- isString,
|
|
|
isSymbol,
|
|
|
objectToString,
|
|
|
} from './general'
|
|
|
@@ -22,17 +21,24 @@ const isRef = (val: any): val is { value: unknown } => {
|
|
|
* @private
|
|
|
*/
|
|
|
export const toDisplayString = (val: unknown): string => {
|
|
|
- return isString(val)
|
|
|
- ? val
|
|
|
- : val == null
|
|
|
- ? ''
|
|
|
- : isArray(val) ||
|
|
|
- (isObject(val) &&
|
|
|
- (val.toString === objectToString || !isFunction(val.toString)))
|
|
|
- ? isRef(val)
|
|
|
- ? toDisplayString(val.value)
|
|
|
- : JSON.stringify(val, replacer, 2)
|
|
|
- : String(val)
|
|
|
+ switch (typeof val) {
|
|
|
+ case 'string':
|
|
|
+ return val
|
|
|
+ case 'object':
|
|
|
+ if (val) {
|
|
|
+ if (isRef(val)) {
|
|
|
+ return toDisplayString(val.value)
|
|
|
+ } else if (
|
|
|
+ isArray(val) ||
|
|
|
+ val.toString === objectToString ||
|
|
|
+ !isFunction(val.toString)
|
|
|
+ ) {
|
|
|
+ return JSON.stringify(val, replacer, 2)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ default:
|
|
|
+ return val == null ? '' : String(val)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
const replacer = (_key: string, val: unknown): any => {
|