UNPKG

@uiw/react-json-view

Version:
67 lines 1.93 kB
import _extends from "@babel/runtime/helpers/extends"; import { TypeString, TypeTrue, TypeNull, TypeFalse, TypeFloat, TypeBigint, TypeInt, TypeDate, TypeUndefined, TypeNan, TypeUrl } from "../types/index.js"; import { jsx as _jsx } from "react/jsx-runtime"; export var isFloat = n => Number(n) === n && n % 1 !== 0 || isNaN(n); export var Value = props => { var { value, keyName } = props; var reset = { keyName }; if (value instanceof URL) { return /*#__PURE__*/_jsx(TypeUrl, _extends({}, reset, { children: value })); } if (typeof value === 'string') { return /*#__PURE__*/_jsx(TypeString, _extends({}, reset, { children: value })); } if (value === true) { return /*#__PURE__*/_jsx(TypeTrue, _extends({}, reset, { children: value })); } if (value === false) { return /*#__PURE__*/_jsx(TypeFalse, _extends({}, reset, { children: value })); } if (value === null) { return /*#__PURE__*/_jsx(TypeNull, _extends({}, reset, { children: value })); } if (value === undefined) { return /*#__PURE__*/_jsx(TypeUndefined, _extends({}, reset, { children: value })); } if (value instanceof Date) { return /*#__PURE__*/_jsx(TypeDate, _extends({}, reset, { children: value })); } if (typeof value === 'number' && isNaN(value)) { return /*#__PURE__*/_jsx(TypeNan, _extends({}, reset, { children: value })); } else if (typeof value === 'number' && isFloat(value)) { return /*#__PURE__*/_jsx(TypeFloat, _extends({}, reset, { children: value })); } else if (typeof value === 'bigint') { return /*#__PURE__*/_jsx(TypeBigint, _extends({}, reset, { children: value })); } else if (typeof value === 'number') { return /*#__PURE__*/_jsx(TypeInt, _extends({}, reset, { children: value })); } return null; }; Value.displayName = 'JVR.Value';