JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q34646F

Module for type checking in javascript.

Package Exports

  • @neumatter/is
  • @neumatter/is/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@neumatter/is) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

is/NeuType

Tool for better type checking in javascript. You can also create your own type for stricter type enforcement.


Table of Contents

  1. Install
  2. Usage

Install

npm i @neumatter/is

Usage

Default:

// CJS require
const is = require('@neumatter/is')
const { NeuType } = require('@neumatter/is')
// ESM import
import is, { NeuType } from '@neumatter/is'

is.array([]) // true
is.emptyArray([]) // true
is.falseType([]) // true

is.object({}) // true
is.emptyObject({}) // true

is.string('') // true
is.emptyString('') // true
is.falseType('') // true

is.boolean(false) // true

is.number(NaN) // true
is.NaN(NaN) // true

is.infinite(Infinite) // true

is.null(null) // true
is.falseType(null) // true

is.date(new Date()) // true

is.undefined(undefined) // true
is.falseType(undefined) // true

is.function(NeuType) // true
is.instance(new NeuType(), NeuType) // true

is.symbol(Symbol) // true

Generating Types:

// CJS require
const { NeuType } = require('@neumatter/is')
// ESM import
import { NeuType } from '@neumatter/is'

const arrType = new NeuType([{ hello: 'world' }])
arrType.tag // Array<Object>
arrType.is('Array') // true
arrType.instance(Array) // true
arrType.equals([{ random: 'obj' }]) // true | type must match Array<Object>

// Type From Class
class SomeClass {}
const someClassObj = new SomeClass()
const classObjType = new NeuType(someClassObj)
classObjType.tag // Object[SomeClass]
classObjType.is('Object') // true
classObjType.is('SomeClass') // true
classObjType.is(SomeClass) // true
classObjType.equals(SomeClass) // false
classObjType.new() // returns new instance of SomeClass
`${classObjType}` // Object[SomeClass]
'' + classObjType // Object[SomeClass]
console.log(classObjType) // NeuType [Object[SomeClass]] {}

is.array([]) // true
is.emptyArray([]) // true
is.falseType([]) // true

is.object({}) // true
is.emptyObject({}) // true

is.string('') // true
is.emptyString('') // true
is.falseType('') // true

is.boolean(false) // true

is.number(NaN) // true
is.NaN(NaN) // true

is.infinite(Infinite) // true

is.null(null) // true
is.falseType(null) // true

is.date(new Date()) // true

is.undefined(undefined) // true
is.falseType(undefined) // true

is.function(NeuType) // true
is.instance(new NeuType(), NeuType) // true

is.symbol(Symbol) // true