Socket
Socket
Sign inDemoInstall

is-what

Package Overview
Dependencies
Maintainers
1
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

is-what - npm Package Compare versions

Comparing version 3.13.0 to 3.14.0

.vscode/settings.json

6

dist/index.cjs.js

@@ -89,3 +89,3 @@ 'use strict';

function isFunction(payload) {
return typeof payload === "function";
return typeof payload === 'function';
}

@@ -296,3 +296,5 @@ /**

function isOneOf(a, b, c, d, e) {
return function (value) { return a(value) || b(value) || (!!c && c(value)) || (!!d && d(value)) || (!!e && e(value)); };
return function (value) {
return a(value) || b(value) || (!!c && c(value)) || (!!d && d(value)) || (!!e && e(value));
};
}

@@ -299,0 +301,0 @@ /**

@@ -85,3 +85,3 @@ /**

function isFunction(payload) {
return typeof payload === "function";
return typeof payload === 'function';
}

@@ -292,3 +292,5 @@ /**

function isOneOf(a, b, c, d, e) {
return function (value) { return a(value) || b(value) || (!!c && c(value)) || (!!d && d(value)) || (!!e && e(value)); };
return function (value) {
return a(value) || b(value) || (!!c && c(value)) || (!!d && d(value)) || (!!e && e(value));
};
}

@@ -295,0 +297,0 @@ /**

{
"name": "is-what",
"sideEffects": false,
"version": "3.13.0",
"version": "3.14.0",
"description": "JS type check (TypeScript supported) functions like `isPlainObject() isArray()` etc. A simple & small integration.",

@@ -13,5 +13,5 @@ "main": "dist/index.cjs.js",

"jest-w": "jest --watchAll",
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
"lint": "tsc --noEmit src/index.ts && eslint . --ext .js,.jsx,.ts,.tsx",
"rollup": "rollup -c ./build.js",
"build": "rm -rf types && rm -rf dist && npm run lint && npm run rollup && npm run test && npm run jest"
"build": "rimraf types && rimraf dist && npm run lint && npm run rollup && npm run test && npm run jest"
},

@@ -63,3 +63,5 @@ "repository": {

"jest": "^26.6.3",
"prettier": "^2.2.1",
"regenerator-runtime": "^0.13.7",
"rimraf": "^3.0.2",
"rollup": "^2.39.0",

@@ -66,0 +68,0 @@ "rollup-plugin-typescript2": "^0.30.0",

@@ -127,2 +127,3 @@ # is What? 🙉

}
return 0
}

@@ -129,0 +130,0 @@ ```

export type AnyFunction = (...args: any[]) => any
export type AnyAsyncFunction = (...args: any[]) => Promise<any>
export type AnyClass = new (...args: any[]) => any
export type PlainObject = Record<string | number | symbol, any>
type TypeGuard<A, B extends A> = (payload: A) => payload is B;
type TypeGuard<A, B extends A> = (payload: A) => payload is B

@@ -13,3 +14,3 @@ /**

*/
export function getType (payload: any): string {
export function getType(payload: any): string {
return Object.prototype.toString.call(payload).slice(8, -1)

@@ -24,3 +25,3 @@ }

*/
export function isUndefined (payload: any): payload is undefined {
export function isUndefined(payload: any): payload is undefined {
return getType(payload) === 'Undefined'

@@ -35,3 +36,3 @@ }

*/
export function isNull (payload: any): payload is null {
export function isNull(payload: any): payload is null {
return getType(payload) === 'Null'

@@ -44,5 +45,5 @@ }

* @param {*} payload
* @returns {payload is Record<string, any>}
* @returns {payload is PlainObject}
*/
export function isPlainObject (payload: any): payload is Record<string, any> {
export function isPlainObject(payload: any): payload is PlainObject {
if (getType(payload) !== 'Object') return false

@@ -56,5 +57,5 @@ return payload.constructor === Object && Object.getPrototypeOf(payload) === Object.prototype

* @param {*} payload
* @returns {payload is Record<string, any>}
* @returns {payload is PlainObject}
*/
export function isObject (payload: any): payload is Record<string, any> {
export function isObject(payload: any): payload is PlainObject {
return isPlainObject(payload)

@@ -69,3 +70,3 @@ }

*/
export function isEmptyObject (payload: any): payload is { [K in any]: never } {
export function isEmptyObject(payload: any): payload is { [K in any]: never } {
return isPlainObject(payload) && Object.keys(payload).length === 0

@@ -75,8 +76,18 @@ }

/**
* Returns whether the payload is a an empty object (excluding special classes or objects with other prototypes)
*
* @param {*} payload
* @returns {payload is PlainObject}
*/
export function isFullObject(payload: any): payload is PlainObject {
return isPlainObject(payload) && Object.keys(payload).length > 0
}
/**
* Returns whether the payload is an any kind of object (including special classes or objects with different prototypes)
*
* @param {*} payload
* @returns {payload is Record<string, any>}
* @returns {payload is PlainObject}
*/
export function isAnyObject (payload: any): payload is Record<string, any> {
export function isAnyObject(payload: any): payload is PlainObject {
return getType(payload) === 'Object'

@@ -94,3 +105,3 @@ }

*/
export function isObjectLike<T extends Record<string, any>> (payload: any): payload is T {
export function isObjectLike<T extends PlainObject>(payload: any): payload is T {
return isAnyObject(payload)

@@ -105,4 +116,4 @@ }

*/
export function isFunction (payload: any): payload is AnyFunction {
return typeof payload === "function"
export function isFunction(payload: any): payload is AnyFunction {
return typeof payload === 'function'
}

@@ -116,3 +127,3 @@

*/
export function isArray (payload: any): payload is any[] {
export function isArray(payload: any): payload is any[] {
return getType(payload) === 'Array'

@@ -127,3 +138,3 @@ }

*/
export function isFullArray (payload: any): payload is any[] {
export function isFullArray(payload: any): payload is any[] {
return isArray(payload) && payload.length > 0

@@ -138,3 +149,3 @@ }

*/
export function isEmptyArray (payload: any): payload is [] {
export function isEmptyArray(payload: any): payload is [] {
return isArray(payload) && payload.length === 0

@@ -149,3 +160,3 @@ }

*/
export function isString (payload: any): payload is string {
export function isString(payload: any): payload is string {
return getType(payload) === 'String'

@@ -160,3 +171,3 @@ }

*/
export function isFullString (payload: any): payload is string {
export function isFullString(payload: any): payload is string {
return isString(payload) && payload !== ''

@@ -171,3 +182,3 @@ }

*/
export function isEmptyString (payload: any): payload is string {
export function isEmptyString(payload: any): payload is string {
return payload === ''

@@ -184,3 +195,3 @@ }

*/
export function isNumber (payload: any): payload is number {
export function isNumber(payload: any): payload is number {
return getType(payload) === 'Number' && !isNaN(payload)

@@ -195,3 +206,3 @@ }

*/
export function isBoolean (payload: any): payload is boolean {
export function isBoolean(payload: any): payload is boolean {
return getType(payload) === 'Boolean'

@@ -206,3 +217,3 @@ }

*/
export function isRegExp (payload: any): payload is RegExp {
export function isRegExp(payload: any): payload is RegExp {
return getType(payload) === 'RegExp'

@@ -217,3 +228,3 @@ }

*/
export function isMap (payload: any): payload is Map<any, any> {
export function isMap(payload: any): payload is Map<any, any> {
return getType(payload) === 'Map'

@@ -228,3 +239,3 @@ }

*/
export function isWeakMap (payload: any): payload is WeakMap<any, any> {
export function isWeakMap(payload: any): payload is WeakMap<any, any> {
return getType(payload) === 'WeakMap'

@@ -239,3 +250,3 @@ }

*/
export function isSet (payload: any): payload is Set<any> {
export function isSet(payload: any): payload is Set<any> {
return getType(payload) === 'Set'

@@ -250,3 +261,3 @@ }

*/
export function isWeakSet (payload: any): payload is WeakSet<any> {
export function isWeakSet(payload: any): payload is WeakSet<any> {
return getType(payload) === 'WeakSet'

@@ -261,3 +272,3 @@ }

*/
export function isSymbol (payload: any): payload is symbol {
export function isSymbol(payload: any): payload is symbol {
return getType(payload) === 'Symbol'

@@ -272,3 +283,3 @@ }

*/
export function isDate (payload: any): payload is Date {
export function isDate(payload: any): payload is Date {
return getType(payload) === 'Date' && !isNaN(payload)

@@ -283,3 +294,3 @@ }

*/
export function isBlob (payload: any): payload is Blob {
export function isBlob(payload: any): payload is Blob {
return getType(payload) === 'Blob'

@@ -294,3 +305,3 @@ }

*/
export function isFile (payload: any): payload is File {
export function isFile(payload: any): payload is File {
return getType(payload) === 'File'

@@ -305,3 +316,3 @@ }

*/
export function isPromise (payload: any): payload is Promise<any> {
export function isPromise(payload: any): payload is Promise<any> {
return getType(payload) === 'Promise'

@@ -316,3 +327,3 @@ }

*/
export function isError (payload: any): payload is Error {
export function isError(payload: any): payload is Error {
return getType(payload) === 'Error'

@@ -327,3 +338,3 @@ }

*/
export function isNaNValue (payload: any): payload is typeof NaN {
export function isNaNValue(payload: any): payload is typeof NaN {
return getType(payload) === 'Number' && isNaN(payload)

@@ -338,3 +349,3 @@ }

*/
export function isPrimitive (
export function isPrimitive(
payload: any

@@ -358,10 +369,35 @@ ): payload is boolean | null | undefined | number | string | symbol {

*/
export const isNullOrUndefined = isOneOf(isNull, isUndefined);
export const isNullOrUndefined = isOneOf(isNull, isUndefined)
export function isOneOf<A, B extends A, C extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>): TypeGuard<A, B | C>;
export function isOneOf<A, B extends A, C extends A, D extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>): TypeGuard<A, B | C | D>;
export function isOneOf<A, B extends A, C extends A, D extends A, E extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>, d: TypeGuard<A, E>): TypeGuard<A, B | C | D | E>;
export function isOneOf<A, B extends A, C extends A, D extends A, E extends A, F extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>, d: TypeGuard<A, E>, e: TypeGuard<A, F>): TypeGuard<A, B | C | D | E | F>;
export function isOneOf(a: AnyFunction, b: AnyFunction, c?: AnyFunction, d?: AnyFunction, e?: AnyFunction): (value: unknown) => boolean {
return (value) => a(value) || b(value) || (!!c && c(value)) || (!!d && d(value)) || (!!e && e(value));
export function isOneOf<A, B extends A, C extends A>(
a: TypeGuard<A, B>,
b: TypeGuard<A, C>
): TypeGuard<A, B | C>
export function isOneOf<A, B extends A, C extends A, D extends A>(
a: TypeGuard<A, B>,
b: TypeGuard<A, C>,
c: TypeGuard<A, D>
): TypeGuard<A, B | C | D>
export function isOneOf<A, B extends A, C extends A, D extends A, E extends A>(
a: TypeGuard<A, B>,
b: TypeGuard<A, C>,
c: TypeGuard<A, D>,
d: TypeGuard<A, E>
): TypeGuard<A, B | C | D | E>
export function isOneOf<A, B extends A, C extends A, D extends A, E extends A, F extends A>(
a: TypeGuard<A, B>,
b: TypeGuard<A, C>,
c: TypeGuard<A, D>,
d: TypeGuard<A, E>,
e: TypeGuard<A, F>
): TypeGuard<A, B | C | D | E | F>
export function isOneOf(
a: AnyFunction,
b: AnyFunction,
c?: AnyFunction,
d?: AnyFunction,
e?: AnyFunction
): (value: unknown) => boolean {
return (value) =>
a(value) || b(value) || (!!c && c(value)) || (!!d && d(value)) || (!!e && e(value))
}

@@ -380,3 +416,3 @@

*/
export function isType<T extends AnyFunction | AnyClass> (payload: any, type: T): payload is T {
export function isType<T extends AnyFunction | AnyClass>(payload: any, type: T): payload is T {
if (!(type instanceof Function)) {

@@ -383,0 +419,0 @@ throw new TypeError('Type must be a function')

@@ -5,9 +5,8 @@ {

"strict": true,
"isolatedModules": true,
"esModuleInterop": true,
"declaration": true,
"declarationDir": "./types/"
},
"include": [
"src/**/*",
"test/**/*"
]
}
"include": ["src/**/*", "test/**/*"]
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc