Socket
Book a DemoInstallSign in
Socket

@distributed-systems/types

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@distributed-systems/types

Reliable & easy Js & ES Type detection

latest
Source
npmnpm
Version
2.0.1
Version published
Maintainers
1
Created
Source

types

Easy and reliable type detection with ES6+ support.

Compatibility

Compatible with node 10+ (--experimental-modules flag) and browsers supporting es modules.

Importing

node.js with esm

import types from 'es-modules/distributed-systems/types/1.x/types.mjs';

node.js with npm

import types from '@distributed-systems/types';

API

Be aware that the different object types like Maps, Promises and so on are not detected as objects but as their respective type. If you need to detect them as objects please use the types.someObject() method instead of the types.object() method.

Explicitly test for a type.

types.array([]) // true

Get the type of some variable

types(/[a-z]+/gi) // regexp

Supported Types

  • string
  • number
  • boolean
  • array
  • intArray
  • floatArray
  • object
  • function
  • symbol
  • date
  • regexp
  • error
  • undefined
  • buffer
  • null
  • arrayBuffer
  • map
  • weakMap
  • set
  • weakSet
  • dataView
  • float32Array
  • float64Array
  • int8Array
  • int16Array
  • int32Array
  • uInt8Array
  • uInt16Array
  • uInt32Array
  • uInt8ClampedArray
  • generator
  • promise
  • someObject

Object Types

Since many of the types defined by javascript are just special objects that also can be treated as normal objects ee-types has a bunch of methods that allow you to handle that correctly.

For example, Map is an object, or a custom class where you define a getter that returns a specific name for your object:

const X = class {
    get [Symbol.toStringTag]() {
        return 'AQL query';;
    }
};

console.log(Object.prototype.toString.call(new X()));
// prints: [object AQL Query]
Check for a classic object
types.object({}); // true
types.object(new Map()); // false

// be aware that if you are not explicitly testing
// for an object any object will be treated as one
types({}) // 'object'
types(new Map()) // 'object'

Check any type of object
types.someObject({}); // true
types.someObject(new Map()); // false
types(new Map()) // 'object'

Examples

var types = require('ee-types');


types.string('nope');                // true
types.strign(new String('yeah'));    // true


types(2) // number

types([]]) // array
types(new Array()]) // array
types(new Int8Array()]) // int8Array


types.promise(Promise.all()) // true

Keywords

type

FAQs

Package last updated on 09 Jan 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts