Skip to content

be-type is based on ECMAScript2015+ proxy feature

License

Notifications You must be signed in to change notification settings

unadlib/be-type

Repository files navigation

be-type

be-type is based on ECMAScript2015+ proxy feature

Travis Coverage Status npm npm npm

Usage

yarn add be-type
npm install --save be-type

JavaScript:

import be from 'be-type';
be.function(()=>{}); // true

Custom type check:

//be.js
import be,{setBe} from 'be-type';
export default setBe({
    Negative:(value)=> be.Number(negative) && negative < 0
})
//other.js
import be from '../be.js';
be.Negative(-1); // true

API

Interface Rule:

  1. If the first letter of the API is lowercase, then it refers to toString.call(value), the type returned by call.

be.function(()=>{}) equivalent toString.call(()=>{}) ==== "[object Function]"

be.generatorFunction(function* (){}) equivalent toString.call(function* (){}) ==== "[object GeneratorFunction]"

be.uint8Array(new Uint8Array()) equivalent toString.call(new Uint8Array()) ==== "[object Uint8Array]" etc..

  1. if the first letter of the API is Uppercase, it means not toString.call(value), Custom type returned by call

Default built-in type check:

Interface Spec
Function plain function
Object plain object
String basic string
Number basic number
Boolean basic boolean
NaN strict equality to NaN
Nil null or undefined
Empty none length
Infinity strict equality to Infinity
Finite basic number and not NaN or Infinity
Native pristine native function
SafeInteger based on Number.isSafeInteger
Integer based on Number.isInteger
Element HTML Element

About

be-type is based on ECMAScript2015+ proxy feature

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published