1.5.4 • Published 4 years ago

get-internal-type v1.5.4

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
4 years ago

get-internal-type

npm version Build Status Twitter

Determine the JavaScript [Class] of an object, where:

Object Value[Class]Version
undefinedundefined1.0.0
nullnull1.0.0
falseboolean1.0.0
Symbol("123")symbol1.0.0
123number1.0.0
BigInt(9007199254740991)bigint1.0.0
"hello"string1.0.0
/s+/giregexp1.0.0
new Date()date1.0.0
new Error("A mistake")error1.0.0
{}object1.0.0
new (class SomeCustomClass {})object1.0.0
() => {}function1.0.0
function(){}function1.0.0
class Simple {}function1.0.0
1,2,3array1.0.0
new Set()set1.2.0
new WeakSet()set1.3.1
new Map()map1.2.0
new WeakMap()map1.3.1
new Int8Array(8)typedarray1.3.0
new Uint8Array()typedarray1.3.0
new Uint8ClampedArray()typedarray1.3.0
new Int16Array()typedarray1.3.0
new Uint16Array()typedarray1.3.0
new Int32Array()typedarray1.3.0
new Uint32Array()typedarray1.3.0
new Float32Array()typedarray1.3.0
new Float64Array()typedarray1.3.0
new BigInt64Array()typedarray1.3.0
new BigUint64Array()typedarray1.3.0
Promise.resolve('any')promise1.4.0
function* () {}generatorfunction1.4.1
(function* () {})()generator1.4.1
new ArrayBuffer(8)arraybuffer1.5.0
new DataView(buffer)dataview1.5.0

Install

Node:

NPM repository

https://nodei.co/npm/get-internal-type.png?downloads=true&downloadRank=true&stars=true

npm install get-internal-type 

GitHub repository

npm install @lopatnov/get-internal-type

Browser:

<script src="https://lopatnov.github.io/get-internal-type/dist/polyfills/array.forEach.min.js"></script>
<script src="https://lopatnov.github.io/get-internal-type/dist/get-internal-type.min.js"></script>

Import package to the project

import getInternalType from 'get-internal-type';

or

var getInternalType = require("get-internal-type");

Gets object type

getInternalType(obj: any) => string

console.log(getInternalType(undefined)) // expected "undefined"
console.log(getInternalType(null)) // expected "null"
console.log(getInternalType(false)) // expected "boolean"
console.log(getInternalType(Symbol("123"))) // expected "symbol"
console.log(getInternalType(123)) // expected "number"
console.log(getInternalType(BigInt(9007199254740991))) // expected "bigint"
console.log(getInternalType("hello")) // expected "string"
console.log(getInternalType(/s+/gi)) // expected "regexp"
console.log(getInternalType(new Date())) // expected "date"
console.log(getInternalType(new Error("A mistake"))) // expected "error"
console.log(getInternalType({})) // expected "object"
console.log(getInternalType(new (class SomeCustomClass {}))) // expected "object"
console.log(getInternalType(() => {})) // expected "function"
console.log(getInternalType(function(){})) // expected "function"
console.log(getInternalType(class Simple {})) // expected "function"
console.log(getInternalType([1,2,3])) // expected "array"

console.log(getInternalType(new Set())) // expected "set"
console.log(getInternalType(new WeakSet())) // expected "set"
console.log(getInternalType(new Map())) // expected "map"
console.log(getInternalType(new WeakMap())) // expected "map"

console.log(getInternalType(new Int8Array(8))) // expected "typedarray"
console.log(getInternalType(new Uint8Array())) // expected "typedarray"
console.log(getInternalType(new Uint8ClampedArray())) // expected "typedarray"
console.log(getInternalType(new Int16Array())) // expected "typedarray"
console.log(getInternalType(new Uint16Array())) // expected "typedarray"
console.log(getInternalType(new Int32Array())) // expected "typedarray"
console.log(getInternalType(new Uint32Array())) // expected "typedarray"
console.log(getInternalType(new Float32Array())) // expected "typedarray"
console.log(getInternalType(new Float64Array())) // expected "typedarray"
console.log(getInternalType(new BigInt64Array())) // expected "typedarray"
console.log(getInternalType(new BigUint64Array())) // expected "typedarray"

console.log(getInternalType(Promise.resolve('any'))) // expected "promise"
console.log(getInternalType(function* () {})) // expected "generatorfunction" (ES6)
console.log(getInternalType((function* () {})())) // expected "generator"

console.log(getInternalType(new ArrayBuffer(16))) // expected "arraybuffer"
console.log(getInternalType(new DataView(new ArrayBuffer(16)))) // expected "dataview"

Demo

See, how it's working: https://runkit.com/lopatnov/get-internal-type-demo

Test it with a runkit: https://npm.runkit.com/get-internal-type

Rights and Agreements

License Apache-2.0

Copyright 2019 Oleksandr Lopatnov

1.5.4

4 years ago

1.5.3

4 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago