JSON Hero Value Types
Easily get value type information from JavaScript objects
Installing
npm install @jsonhero/value-types
Importing
You can require
const { getType } = require('@jsonhero/value-types');
Or if you're using TypeScript:
import { getType } from '@jsonhero/value-types';
Getting started
Primitive types
Primitive name | Example |
---|---|
Null |
null or undefined
|
Boolean |
true or false
|
Number |
5.321 |
BigInt |
BigInt(9007199254740991) |
String |
'Legendary' |
Object |
{ key: value } |
Array |
['value1', 'value2'] |
Boolean
let type = getType(true);
//will return an object like this
type = {
primitiveType: 'Boolean',
isCollection: false,
hasSecondaryType: false,
hasTertiaryType: false,
};
Array
let type = getType(['item1', 'item2']);
//will return an object like this
type = {
primitiveType: 'Array',
isCollection: true,
hasSecondaryType: false,
hasTertiaryType: false,
};
Object
let type = getType({ key: 'value' });
//will return an object like this
type = {
primitiveType: 'Object',
isCollection: true,
hasSecondaryType: false,
hasTertiaryType: false,
};
Secondary types
Secondary types are more sophisticated, they always have a primitive type as well.
Secondary name | Primary name | Example |
---|---|---|
URL |
String |
https://www.google.com/ |
Email |
String |
email@example.co.jp |
DateTime |
String |
2016-05-25T09:24:15,123 |
Image |
String |
https://media.giphy.com/media/NEvPzZ8bd1V4Y/giphy.gif |
URL is a secondary type from a string.
let type = getType('https://www.google.com/');
//will return an object like this
type = {
primitiveType: 'String',
isCollection: false,
hasSecondaryType: true,
secondaryType: 'URL',
hasTertiaryType: false,
};
Image is a secondary type, which also has mimetype information in the tertiary type
let type = getType('https://media.giphy.com/media/NEvPzZ8bd1V4Y/giphy.gif');
//will return an object like this
type = {
primitiveType: 'String',
isCollection: false,
hasSecondaryType: true,
secondaryType: 'Image',
hasTertiaryType: true,
tertiaryType: 'image/gif',
};