1.0.2 • Published 7 years ago

be-type v1.0.2

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

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:

InterfaceSpec
Functionplain function
Objectplain object
Stringbasic string
Numberbasic number
Booleanbasic boolean
NaNstrict equality to NaN
Nilnull or undefined
Emptynone length
Infinitystrict equality to Infinity
Finitebasic number and not NaN or Infinity
Nativepristine native function
SafeIntegerbased on Number.isSafeInteger
Integerbased on Number.isInteger
ElementHTML Element