82
*/
83
export function getInvalidTypeError(value: any, type: undefined | string | string[]): string | undefined {
85
return;
86
}
88
>
const typeArr = Array.isArray(type) ? type : [type];
89
>
if (!typeArr.some(_type => valueValidatesAsType(value, _type))) {
90
>
return nls.localize('invalidTypeError', "Setting has an invalid type, expected {0}. Fix in JSON.", JSON.stringify(type));
91
>
}
92
>
93
>
return;
94
>
}
95
97
>
const valueType = typeof value;
98
>
if (type === 'boolean') {
99
>
return valueType === 'boolean';
100
>
} else if (type === 'object') {
101
return value && !Array.isArray(value) && valueType === 'object';
103
>
return value === null;
104
>
} else if (type === 'array') {
105
>
return Array.isArray(value);
106
>
} else if (type === 'string') {
107
>
return valueType === 'string';
108
>
} else if (type === 'number' || type === 'integer') {
109
>
return valueType === 'number';
110
>
}
111
112
return true;