@@ -34,35 +34,27 @@ export {
3434 JSONArrayType ,
3535} from "./@types" ;
3636
37- export type InferOptions = {
38- returnValue ?: "yes" | "no" ;
39- } ;
40-
41- export function inferType ( value : unknown , options ?: InferOptions ) : JSONValueType {
42- const opts : Required < InferOptions > = Object . assign ( { } , { returnValue : "yes" } , options ) ;
43-
44- const shouldReturnValue = opts . returnValue === "yes" ;
45-
37+ export function inferType ( value : unknown ) : JSONValueType {
4638 if ( value === null ) {
47- return { name : "null" , value : shouldReturnValue ? null : undefined } ;
39+ return { name : "null" , value } ;
4840 }
4941
5042 if ( typeof value === "boolean" ) {
51- return { name : "bool" , value : shouldReturnValue ? value : undefined } ;
43+ return { name : "bool" , value } ;
5244 }
5345
5446 if ( typeof value === "number" ) {
5547 if ( Number . isInteger ( value ) ) {
56- return { name : "int" , value : shouldReturnValue ? value : undefined } ;
48+ return { name : "int" , value } ;
5749 } else {
58- return { name : "float" , value : shouldReturnValue ? value : undefined } ;
50+ return { name : "float" , value } ;
5951 }
6052 }
6153
6254 if ( typeof value === "string" ) {
6355 return {
6456 name : "string" ,
65- value : shouldReturnValue ? value : undefined ,
57+ value,
6658 format : inferFormat ( value ) ,
6759 } ;
6860 }
@@ -71,16 +63,16 @@ export function inferType(value: unknown, options?: InferOptions): JSONValueType
7163 if ( Array . isArray ( value ) ) {
7264 return {
7365 name : "array" ,
74- value : shouldReturnValue ? value : undefined ,
66+ value,
7567 } ;
7668 }
7769
7870 return {
7971 name : "object" ,
8072 format : inferObjectFormat ( value ) ,
81- value : shouldReturnValue ? value : undefined ,
73+ value,
8274 } ;
8375 }
8476
85- return { name : "null" , value : shouldReturnValue ? null : undefined } ;
77+ return { name : "null" , value : null } ;
8678}
0 commit comments