be-type is based on ECMAScript2015+ proxy feature
npm install be-type




bash
yarn add be-type
npm install --save be-type
`
JavaScript:
`javascript
import be from 'be-type';
be.function(()=>{}); // true
`
Custom type check:
`javascript
//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
`$3
#### 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..2. 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` |