@jsonhero/value-types
v1.0.1
Published
Easily get value type information from JavaScript objects
Readme
JSON Hero Value Types
Easily get value type information from JavaScript objects
Installing
npm install @jsonhero/value-typesImporting
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 protected] |
| 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',
};