UNPKG

1.04 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.inferType = void 0;
4var formats_1 = require("./formats");
5function inferType(value) {
6 if (value === null) {
7 return { name: "null", value: null };
8 }
9 if (typeof value === "boolean") {
10 return { name: "bool", value: value };
11 }
12 if (typeof value === "number") {
13 if (Number.isInteger(value)) {
14 return { name: "int", value: value };
15 }
16 else {
17 return { name: "float", value: value };
18 }
19 }
20 if (typeof value === "string") {
21 return { name: "string", value: value, format: (0, formats_1.inferFormat)(value) };
22 }
23 if (typeof value === "object") {
24 if (Array.isArray(value)) {
25 return {
26 name: "array",
27 value: value,
28 };
29 }
30 return {
31 name: "object",
32 value: value,
33 };
34 }
35 return { name: "null", value: null };
36}
37exports.inferType = inferType;