@jsonhero/value-types
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

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',
};

Package Sidebar

Install

npm i @jsonhero/value-types

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

25 kB

Total Files

33

Last publish

Collaborators

  • ericallam
  • mattaitken