New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

is-lite

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

is-lite - npm Package Compare versions

Comparing version 0.7.1 to 0.8.0

esm/types.d.ts

110

esm/index.d.ts

@@ -1,65 +0,49 @@

declare type Class<T = unknown> = new (...args: any[]) => T;
declare type PlainFunction = () => unknown;
declare type PlainObject = Record<string, unknown>;
declare const enum Types {
array = "Array",
asyncFunction = "AsyncFunction",
bigint = "bigint",
boolean = "boolean",
date = "Date",
error = "Error",
function = "Function",
generator = "Generator",
generatorFunction = "GeneratorFunction",
iterable = "Iterable",
map = "Map",
null = "null",
number = "number",
object = "Object",
promise = "Promise",
regExp = "RegExp",
set = "Set",
string = "string",
symbol = "symbol",
undefined = "undefined",
weakMap = "WeakMap",
weakSet = "WeakSet"
import { Class, Primitive } from './types';
declare const objectTypes: readonly ["Array", "ArrayBuffer", "AsyncFunction", "AsyncGenerator", "AsyncGeneratorFunction", "Date", "Error", "Function", "Generator", "GeneratorFunction", "HTMLElement", "Map", "Object", "Promise", "RegExp", "Set", "WeakMap", "WeakSet"];
declare const primitiveTypes: readonly ["bigint", "boolean", "null", "number", "string", "symbol", "undefined"];
export declare type ObjectTypes = typeof objectTypes[number];
export declare type PrimitiveTypes = typeof primitiveTypes[number];
export declare type TypeName = ObjectTypes | PrimitiveTypes;
export declare function getObjectType(value: unknown): ObjectTypes | undefined;
declare function is(value: unknown): TypeName;
declare namespace is {
export var array: <T>(arg: {} | T) => arg is T extends readonly any[] ? unknown extends T ? never : readonly any[] : any[];
export var arrayOf: (target: unknown[], predicate: (v: unknown) => boolean) => boolean;
export var asyncGeneratorFunction: (value: unknown) => value is (...args: any[]) => Promise<unknown>;
export var asyncFunction: (value: unknown) => value is Function;
export var bigint: (value: unknown) => value is bigint;
export var boolean: (value: unknown) => value is boolean;
export var date: (value: unknown) => value is Date;
export var defined: (value: unknown) => boolean;
export var domElement: (value: unknown) => value is HTMLElement;
export var empty: (value: unknown) => boolean;
export var error: (value: unknown) => value is Error;
var _a: (value: unknown) => value is Function;
export var generator: (value: unknown) => value is Generator<unknown, any, unknown>;
export var generatorFunction: (value: unknown) => value is GeneratorFunction;
export var instanceOf: <T>(instance: unknown, class_: Class<T>) => instance is T;
export var iterable: (value: unknown) => value is IterableIterator<unknown>;
export var map: (value: unknown) => value is Map<unknown, unknown>;
export var nan: (value: unknown) => boolean;
var _b: (value: unknown) => value is null;
export var nullOrUndefined: (value: unknown) => value is null | undefined;
export var number: (value: unknown) => value is number;
export var numericString: (value: unknown) => value is string;
export var object: (value: unknown) => value is object;
export var oneOf: (target: unknown[], value: any) => boolean;
export var plainFunction: (value: unknown) => value is Function;
export var plainObject: (value: unknown) => value is Record<string | number | symbol, unknown>;
export var primitive: (value: unknown) => value is Primitive;
export var promise: (value: unknown) => value is Promise<unknown>;
export var propertyOf: (target: Record<string | number | symbol, unknown>, key: string, predicate?: ((v: unknown) => boolean) | undefined) => boolean;
export var regexp: (value: unknown) => value is RegExp;
export var set: (value: unknown) => value is Set<Record<string | number | symbol, unknown>>;
export var string: (value: unknown) => value is string;
export var symbol: (value: unknown) => value is symbol;
export var undefined: (value: unknown) => value is undefined;
export var weakMap: (value: unknown) => value is WeakMap<Record<string | number | symbol, unknown>, unknown>;
export var weakSet: (value: unknown) => value is WeakSet<Record<string | number | symbol, unknown>>;
export { _a as function, _b as null };
}
export declare const getObjectType: (value: unknown) => string;
declare const is: {
(value: unknown): Types;
array: <T>(arg: {} | T) => arg is T extends readonly any[] ? unknown extends T ? never : readonly any[] : any[];
arrayOf(target: unknown[], predicate: (v: unknown) => boolean): boolean;
asyncFunction: (value: unknown) => value is PlainFunction;
boolean(value: unknown): value is boolean;
date: (value: unknown) => value is Date;
defined(value: unknown): boolean;
domElement(value: unknown): value is Element;
empty(value: unknown): boolean;
error: (value: unknown) => value is Error;
function: (value: unknown) => value is PlainFunction;
generator(value: unknown): value is Generator<unknown, any, unknown>;
generatorFunction: (value: unknown) => value is GeneratorFunction;
instanceOf<T_1>(instance: unknown, class_: Class<T_1>): instance is T_1;
iterable(value: unknown): value is IterableIterator<unknown>;
map: (value: unknown) => value is Map<unknown, unknown>;
nan(value: unknown): boolean;
null(value: unknown): value is null;
nullOrUndefined(value: unknown): value is null | undefined;
number(value: unknown): value is number;
numericString(value: unknown): value is string;
object(value: unknown): value is Record<string, unknown>;
oneOf(target: unknown[], value: any): boolean;
plainFunction: (value: unknown) => value is PlainFunction;
plainObject(value: unknown): value is Record<string, unknown>;
promise: (value: unknown) => value is Promise<unknown>;
propertyOf(target: PlainObject, key: string, predicate?: ((v: unknown) => boolean) | undefined): boolean;
regexp: (value: unknown) => value is RegExp;
set: (value: unknown) => value is Set<Record<string, unknown>>;
string: (value: unknown) => value is string;
symbol: (value: unknown) => value is symbol;
undefined: (value: unknown) => value is undefined;
weakMap: (value: unknown) => value is WeakMap<Record<string, unknown>, unknown>;
weakSet: (value: unknown) => value is WeakSet<Record<string, unknown>>;
};
export * from './types';
export default is;

@@ -1,35 +0,84 @@

export var getObjectType = function (value) {
return Object.prototype.toString.call(value).slice(8, -1);
};
var isObjectOfType = function (type) { return function (value) {
return getObjectType(value) === type;
}; };
var isOfType = function (type) { return function (value) { return typeof value === type; }; };
var is = function (value) {
switch (value) {
case null:
return "null" /* null */;
case true:
case false:
return "boolean" /* boolean */;
default:
var DOM_PROPERTIES_TO_CHECK = [
'innerHTML',
'ownerDocument',
'style',
'attributes',
'nodeValue',
];
var objectTypes = [
'Array',
'ArrayBuffer',
'AsyncFunction',
'AsyncGenerator',
'AsyncGeneratorFunction',
'Date',
'Error',
'Function',
'Generator',
'GeneratorFunction',
'HTMLElement',
'Map',
'Object',
'Promise',
'RegExp',
'Set',
'WeakMap',
'WeakSet',
];
var primitiveTypes = [
'bigint',
'boolean',
'null',
'number',
'string',
'symbol',
'undefined',
];
export function getObjectType(value) {
var objectTypeName = Object.prototype.toString.call(value).slice(8, -1);
if (/HTML\w+Element/.test(objectTypeName)) {
return 'HTMLElement';
}
if (isObjectType(objectTypeName)) {
return objectTypeName;
}
return undefined;
}
function isObjectOfType(type) {
return function (value) { return getObjectType(value) === type; };
}
function isObjectType(name) {
return objectTypes.includes(name);
}
// eslint-disable-next-line @typescript-eslint/ban-types
function isOfType(type) {
return function (value) { return typeof value === type; };
}
function isPrimitiveType(name) {
return primitiveTypes.includes(name);
}
function is(value) {
if (value === null) {
return 'null';
}
switch (typeof value) {
case 'undefined':
return "undefined" /* undefined */;
case 'bigint':
return 'bigint';
case 'boolean':
return 'boolean';
case 'number':
return 'number';
case 'string':
return "string" /* string */;
case 'number':
return "number" /* number */;
case 'bigint':
return "bigint" /* bigint */;
return 'string';
case 'symbol':
return "symbol" /* symbol */;
return 'symbol';
case 'undefined':
return 'undefined';
default:
}
if (is.array(value)) {
return "Array" /* array */;
return 'Array';
}
if (is.plainFunction(value)) {
return "Function" /* function */;
return 'Function';
}

@@ -42,4 +91,4 @@ var tagType = getObjectType(value);

/* istanbul ignore next */
return "Object" /* object */;
};
return 'Object';
}
is.array = Array.isArray;

@@ -52,16 +101,14 @@ is.arrayOf = function (target, predicate) {

};
is.asyncFunction = isObjectOfType("AsyncFunction" /* asyncFunction */);
is.asyncGeneratorFunction = function (value) {
return getObjectType(value) === 'AsyncGeneratorFunction';
};
// eslint-disable-next-line @typescript-eslint/ban-types
is.asyncFunction = isObjectOfType('AsyncFunction');
is.bigint = isOfType('bigint');
is.boolean = function (value) {
return value === true || value === false;
};
is.date = isObjectOfType("Date" /* date */);
is.date = isObjectOfType('Date');
is.defined = function (value) { return !is.undefined(value); };
is.domElement = function (value) {
var DOM_PROPERTIES_TO_CHECK = [
'innerHTML',
'ownerDocument',
'style',
'attributes',
'nodeValue',
];
return (is.object(value) &&

@@ -80,3 +127,4 @@ !is.plainObject(value) &&

};
is.error = isObjectOfType("Error" /* error */);
is.error = isObjectOfType('Error');
// eslint-disable-next-line @typescript-eslint/ban-types
is.function = isOfType('function');

@@ -88,3 +136,3 @@ is.generator = function (value) {

};
is.generatorFunction = isObjectOfType("GeneratorFunction" /* generatorFunction */);
is.generatorFunction = isObjectOfType('GeneratorFunction');
is.instanceOf = function (instance, class_) {

@@ -99,3 +147,3 @@ if (!instance || !class_) {

};
is.map = isObjectOfType("Map" /* map */);
is.map = isObjectOfType('Map');
is.nan = function (value) {

@@ -111,3 +159,3 @@ return Number.isNaN(value);

is.number = function (value) {
return isOfType("number" /* number */)(value) && !is.nan(value);
return isOfType('number')(value) && !is.nan(value);
};

@@ -117,2 +165,3 @@ is.numericString = function (value) {

};
// eslint-disable-next-line @typescript-eslint/ban-types
is.object = function (value) {

@@ -127,3 +176,4 @@ return !is.nullOrUndefined(value) && (is.function(value) || typeof value === 'object');

};
is.plainFunction = isObjectOfType("Function" /* function */);
// eslint-disable-next-line @typescript-eslint/ban-types
is.plainFunction = isObjectOfType('Function');
is.plainObject = function (value) {

@@ -136,3 +186,6 @@ if (getObjectType(value) !== 'Object') {

};
is.promise = isObjectOfType("Promise" /* promise */);
is.primitive = function (value) {
return is.null(value) || isPrimitiveType(typeof value);
};
is.promise = isObjectOfType('Promise');
is.propertyOf = function (target, key, predicate) {

@@ -148,10 +201,11 @@ if (!is.object(target) || !key) {

};
is.regexp = isObjectOfType("RegExp" /* regExp */);
is.set = isObjectOfType("Set" /* set */);
is.string = isOfType("string" /* string */);
is.symbol = isOfType("symbol" /* symbol */);
is.undefined = isOfType("undefined" /* undefined */);
is.weakMap = isObjectOfType("WeakMap" /* weakMap */);
is.weakSet = isObjectOfType("WeakSet" /* weakSet */);
is.regexp = isObjectOfType('RegExp');
is.set = isObjectOfType('Set');
is.string = isOfType('string');
is.symbol = isOfType('symbol');
is.undefined = isOfType('undefined');
is.weakMap = isObjectOfType('WeakMap');
is.weakSet = isObjectOfType('WeakSet');
export * from './types';
export default is;
//# sourceMappingURL=index.js.map

@@ -1,65 +0,49 @@

declare type Class<T = unknown> = new (...args: any[]) => T;
declare type PlainFunction = () => unknown;
declare type PlainObject = Record<string, unknown>;
declare const enum Types {
array = "Array",
asyncFunction = "AsyncFunction",
bigint = "bigint",
boolean = "boolean",
date = "Date",
error = "Error",
function = "Function",
generator = "Generator",
generatorFunction = "GeneratorFunction",
iterable = "Iterable",
map = "Map",
null = "null",
number = "number",
object = "Object",
promise = "Promise",
regExp = "RegExp",
set = "Set",
string = "string",
symbol = "symbol",
undefined = "undefined",
weakMap = "WeakMap",
weakSet = "WeakSet"
import { Class, Primitive } from './types';
declare const objectTypes: readonly ["Array", "ArrayBuffer", "AsyncFunction", "AsyncGenerator", "AsyncGeneratorFunction", "Date", "Error", "Function", "Generator", "GeneratorFunction", "HTMLElement", "Map", "Object", "Promise", "RegExp", "Set", "WeakMap", "WeakSet"];
declare const primitiveTypes: readonly ["bigint", "boolean", "null", "number", "string", "symbol", "undefined"];
export declare type ObjectTypes = typeof objectTypes[number];
export declare type PrimitiveTypes = typeof primitiveTypes[number];
export declare type TypeName = ObjectTypes | PrimitiveTypes;
export declare function getObjectType(value: unknown): ObjectTypes | undefined;
declare function is(value: unknown): TypeName;
declare namespace is {
export var array: <T>(arg: {} | T) => arg is T extends readonly any[] ? unknown extends T ? never : readonly any[] : any[];
export var arrayOf: (target: unknown[], predicate: (v: unknown) => boolean) => boolean;
export var asyncGeneratorFunction: (value: unknown) => value is (...args: any[]) => Promise<unknown>;
export var asyncFunction: (value: unknown) => value is Function;
export var bigint: (value: unknown) => value is bigint;
export var boolean: (value: unknown) => value is boolean;
export var date: (value: unknown) => value is Date;
export var defined: (value: unknown) => boolean;
export var domElement: (value: unknown) => value is HTMLElement;
export var empty: (value: unknown) => boolean;
export var error: (value: unknown) => value is Error;
var _a: (value: unknown) => value is Function;
export var generator: (value: unknown) => value is Generator<unknown, any, unknown>;
export var generatorFunction: (value: unknown) => value is GeneratorFunction;
export var instanceOf: <T>(instance: unknown, class_: Class<T>) => instance is T;
export var iterable: (value: unknown) => value is IterableIterator<unknown>;
export var map: (value: unknown) => value is Map<unknown, unknown>;
export var nan: (value: unknown) => boolean;
var _b: (value: unknown) => value is null;
export var nullOrUndefined: (value: unknown) => value is null | undefined;
export var number: (value: unknown) => value is number;
export var numericString: (value: unknown) => value is string;
export var object: (value: unknown) => value is object;
export var oneOf: (target: unknown[], value: any) => boolean;
export var plainFunction: (value: unknown) => value is Function;
export var plainObject: (value: unknown) => value is Record<string | number | symbol, unknown>;
export var primitive: (value: unknown) => value is Primitive;
export var promise: (value: unknown) => value is Promise<unknown>;
export var propertyOf: (target: Record<string | number | symbol, unknown>, key: string, predicate?: ((v: unknown) => boolean) | undefined) => boolean;
export var regexp: (value: unknown) => value is RegExp;
export var set: (value: unknown) => value is Set<Record<string | number | symbol, unknown>>;
export var string: (value: unknown) => value is string;
export var symbol: (value: unknown) => value is symbol;
export var undefined: (value: unknown) => value is undefined;
export var weakMap: (value: unknown) => value is WeakMap<Record<string | number | symbol, unknown>, unknown>;
export var weakSet: (value: unknown) => value is WeakSet<Record<string | number | symbol, unknown>>;
export { _a as function, _b as null };
}
export declare const getObjectType: (value: unknown) => string;
declare const is: {
(value: unknown): Types;
array: <T>(arg: {} | T) => arg is T extends readonly any[] ? unknown extends T ? never : readonly any[] : any[];
arrayOf(target: unknown[], predicate: (v: unknown) => boolean): boolean;
asyncFunction: (value: unknown) => value is PlainFunction;
boolean(value: unknown): value is boolean;
date: (value: unknown) => value is Date;
defined(value: unknown): boolean;
domElement(value: unknown): value is Element;
empty(value: unknown): boolean;
error: (value: unknown) => value is Error;
function: (value: unknown) => value is PlainFunction;
generator(value: unknown): value is Generator<unknown, any, unknown>;
generatorFunction: (value: unknown) => value is GeneratorFunction;
instanceOf<T_1>(instance: unknown, class_: Class<T_1>): instance is T_1;
iterable(value: unknown): value is IterableIterator<unknown>;
map: (value: unknown) => value is Map<unknown, unknown>;
nan(value: unknown): boolean;
null(value: unknown): value is null;
nullOrUndefined(value: unknown): value is null | undefined;
number(value: unknown): value is number;
numericString(value: unknown): value is string;
object(value: unknown): value is Record<string, unknown>;
oneOf(target: unknown[], value: any): boolean;
plainFunction: (value: unknown) => value is PlainFunction;
plainObject(value: unknown): value is Record<string, unknown>;
promise: (value: unknown) => value is Promise<unknown>;
propertyOf(target: PlainObject, key: string, predicate?: ((v: unknown) => boolean) | undefined): boolean;
regexp: (value: unknown) => value is RegExp;
set: (value: unknown) => value is Set<Record<string, unknown>>;
string: (value: unknown) => value is string;
symbol: (value: unknown) => value is symbol;
undefined: (value: unknown) => value is undefined;
weakMap: (value: unknown) => value is WeakMap<Record<string, unknown>, unknown>;
weakSet: (value: unknown) => value is WeakSet<Record<string, unknown>>;
};
export * from './types';
export default is;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getObjectType = void 0;
var getObjectType = function (value) {
return Object.prototype.toString.call(value).slice(8, -1);
};
var DOM_PROPERTIES_TO_CHECK = [
'innerHTML',
'ownerDocument',
'style',
'attributes',
'nodeValue',
];
var objectTypes = [
'Array',
'ArrayBuffer',
'AsyncFunction',
'AsyncGenerator',
'AsyncGeneratorFunction',
'Date',
'Error',
'Function',
'Generator',
'GeneratorFunction',
'HTMLElement',
'Map',
'Object',
'Promise',
'RegExp',
'Set',
'WeakMap',
'WeakSet',
];
var primitiveTypes = [
'bigint',
'boolean',
'null',
'number',
'string',
'symbol',
'undefined',
];
function getObjectType(value) {
var objectTypeName = Object.prototype.toString.call(value).slice(8, -1);
if (/HTML\w+Element/.test(objectTypeName)) {
return 'HTMLElement';
}
if (isObjectType(objectTypeName)) {
return objectTypeName;
}
return undefined;
}
exports.getObjectType = getObjectType;
var isObjectOfType = function (type) { return function (value) {
return exports.getObjectType(value) === type;
}; };
var isOfType = function (type) { return function (value) { return typeof value === type; }; };
var is = function (value) {
switch (value) {
case null:
return "null" /* null */;
case true:
case false:
return "boolean" /* boolean */;
default:
function isObjectOfType(type) {
return function (value) { return getObjectType(value) === type; };
}
function isObjectType(name) {
return objectTypes.includes(name);
}
// eslint-disable-next-line @typescript-eslint/ban-types
function isOfType(type) {
return function (value) { return typeof value === type; };
}
function isPrimitiveType(name) {
return primitiveTypes.includes(name);
}
function is(value) {
if (value === null) {
return 'null';
}
switch (typeof value) {
case 'undefined':
return "undefined" /* undefined */;
case 'bigint':
return 'bigint';
case 'boolean':
return 'boolean';
case 'number':
return 'number';
case 'string':
return "string" /* string */;
case 'number':
return "number" /* number */;
case 'bigint':
return "bigint" /* bigint */;
return 'string';
case 'symbol':
return "symbol" /* symbol */;
return 'symbol';
case 'undefined':
return 'undefined';
default:
}
if (is.array(value)) {
return "Array" /* array */;
return 'Array';
}
if (is.plainFunction(value)) {
return "Function" /* function */;
return 'Function';
}
var tagType = exports.getObjectType(value);
var tagType = getObjectType(value);
/* istanbul ignore else */

@@ -46,4 +105,4 @@ if (tagType) {

/* istanbul ignore next */
return "Object" /* object */;
};
return 'Object';
}
is.array = Array.isArray;

@@ -56,16 +115,14 @@ is.arrayOf = function (target, predicate) {

};
is.asyncFunction = isObjectOfType("AsyncFunction" /* asyncFunction */);
is.asyncGeneratorFunction = function (value) {
return getObjectType(value) === 'AsyncGeneratorFunction';
};
// eslint-disable-next-line @typescript-eslint/ban-types
is.asyncFunction = isObjectOfType('AsyncFunction');
is.bigint = isOfType('bigint');
is.boolean = function (value) {
return value === true || value === false;
};
is.date = isObjectOfType("Date" /* date */);
is.date = isObjectOfType('Date');
is.defined = function (value) { return !is.undefined(value); };
is.domElement = function (value) {
var DOM_PROPERTIES_TO_CHECK = [
'innerHTML',
'ownerDocument',
'style',
'attributes',
'nodeValue',
];
return (is.object(value) &&

@@ -84,3 +141,4 @@ !is.plainObject(value) &&

};
is.error = isObjectOfType("Error" /* error */);
is.error = isObjectOfType('Error');
// eslint-disable-next-line @typescript-eslint/ban-types
is.function = isOfType('function');

@@ -92,3 +150,3 @@ is.generator = function (value) {

};
is.generatorFunction = isObjectOfType("GeneratorFunction" /* generatorFunction */);
is.generatorFunction = isObjectOfType('GeneratorFunction');
is.instanceOf = function (instance, class_) {

@@ -103,3 +161,3 @@ if (!instance || !class_) {

};
is.map = isObjectOfType("Map" /* map */);
is.map = isObjectOfType('Map');
is.nan = function (value) {

@@ -115,3 +173,3 @@ return Number.isNaN(value);

is.number = function (value) {
return isOfType("number" /* number */)(value) && !is.nan(value);
return isOfType('number')(value) && !is.nan(value);
};

@@ -121,2 +179,3 @@ is.numericString = function (value) {

};
// eslint-disable-next-line @typescript-eslint/ban-types
is.object = function (value) {

@@ -131,5 +190,6 @@ return !is.nullOrUndefined(value) && (is.function(value) || typeof value === 'object');

};
is.plainFunction = isObjectOfType("Function" /* function */);
// eslint-disable-next-line @typescript-eslint/ban-types
is.plainFunction = isObjectOfType('Function');
is.plainObject = function (value) {
if (exports.getObjectType(value) !== 'Object') {
if (getObjectType(value) !== 'Object') {
return false;

@@ -140,3 +200,6 @@ }

};
is.promise = isObjectOfType("Promise" /* promise */);
is.primitive = function (value) {
return is.null(value) || isPrimitiveType(typeof value);
};
is.promise = isObjectOfType('Promise');
is.propertyOf = function (target, key, predicate) {

@@ -152,10 +215,11 @@ if (!is.object(target) || !key) {

};
is.regexp = isObjectOfType("RegExp" /* regExp */);
is.set = isObjectOfType("Set" /* set */);
is.string = isOfType("string" /* string */);
is.symbol = isOfType("symbol" /* symbol */);
is.undefined = isOfType("undefined" /* undefined */);
is.weakMap = isObjectOfType("WeakMap" /* weakMap */);
is.weakSet = isObjectOfType("WeakSet" /* weakSet */);
is.regexp = isObjectOfType('RegExp');
is.set = isObjectOfType('Set');
is.string = isOfType('string');
is.symbol = isOfType('symbol');
is.undefined = isOfType('undefined');
is.weakMap = isObjectOfType('WeakMap');
is.weakSet = isObjectOfType('WeakSet');
__exportStar(require("./types"), exports);
exports.default = is;
//# sourceMappingURL=index.js.map
{
"name": "is-lite",
"version": "0.7.1",
"version": "0.8.0",
"description": "A tiny javascript type testing tool",

@@ -40,4 +40,4 @@ "author": "Gil Barbara <gilbarbara@gmail.com>",

"@types/node": "^14.14.10",
"@typescript-eslint/eslint-plugin": "^4.9.0",
"@typescript-eslint/parser": "^4.9.0",
"@typescript-eslint/eslint-plugin": "^4.9.1",
"@typescript-eslint/parser": "^4.9.1",
"eslint": "^7.15.0",

@@ -49,3 +49,3 @@ "eslint-config-airbnb-base": "^14.2.1",

"eslint-plugin-prettier": "^3.2.0",
"husky": "^4.3.4",
"husky": "^4.3.5",
"jest": "^26.6.3",

@@ -57,3 +57,3 @@ "prettier": "^2.2.1",

"ts-jest": "^26.4.4",
"ts-node": "^9.1.0",
"ts-node": "^9.1.1",
"typescript": "^4.1.2"

@@ -87,7 +87,7 @@ },

"path": "./lib/index.js",
"limit": "1 kB"
"limit": "1.1 kB"
},
{
"path": "./esm/index.js",
"limit": "1 kB"
"limit": "1.1 kB"
}

@@ -94,0 +94,0 @@ ],

@@ -51,3 +51,6 @@ # is-lite

```
**is.asyncGeneratorFunction(value)**
**is.bigint(value)**
**is.boolean(value)**

@@ -119,2 +122,4 @@

**is.primitive(value)**
**is.object(value)**

@@ -121,0 +126,0 @@ Remember that functions and arrays are objects too.

@@ -1,59 +0,97 @@

type Class<T = unknown> = new (...args: any[]) => T;
type PlainFunction = () => unknown;
type PlainObject = Record<string, unknown>;
import { Class, PlainObject, Primitive } from './types';
const enum Types {
array = 'Array',
asyncFunction = 'AsyncFunction',
bigint = 'bigint',
boolean = 'boolean',
date = 'Date',
error = 'Error',
function = 'Function',
generator = 'Generator',
generatorFunction = 'GeneratorFunction',
iterable = 'Iterable',
map = 'Map',
null = 'null',
number = 'number',
object = 'Object',
promise = 'Promise',
regExp = 'RegExp',
set = 'Set',
string = 'string',
symbol = 'symbol',
undefined = 'undefined',
weakMap = 'WeakMap',
weakSet = 'WeakSet',
const DOM_PROPERTIES_TO_CHECK: Array<keyof HTMLElement> = [
'innerHTML',
'ownerDocument',
'style',
'attributes',
'nodeValue',
];
const objectTypes = [
'Array',
'ArrayBuffer',
'AsyncFunction',
'AsyncGenerator',
'AsyncGeneratorFunction',
'Date',
'Error',
'Function',
'Generator',
'GeneratorFunction',
'HTMLElement',
'Map',
'Object',
'Promise',
'RegExp',
'Set',
'WeakMap',
'WeakSet',
] as const;
const primitiveTypes = [
'bigint',
'boolean',
'null',
'number',
'string',
'symbol',
'undefined',
] as const;
export type ObjectTypes = typeof objectTypes[number];
export type PrimitiveTypes = typeof primitiveTypes[number];
export type TypeName = ObjectTypes | PrimitiveTypes;
export function getObjectType(value: unknown): ObjectTypes | undefined {
const objectTypeName = Object.prototype.toString.call(value).slice(8, -1);
if (/HTML\w+Element/.test(objectTypeName)) {
return 'HTMLElement';
}
if (isObjectType(objectTypeName)) {
return objectTypeName;
}
return undefined;
}
export const getObjectType = (value: unknown): string =>
Object.prototype.toString.call(value).slice(8, -1);
function isObjectOfType<T>(type: string) {
return (value: unknown): value is T => getObjectType(value) === type;
}
const isObjectOfType = <T>(type: string) => (value: unknown): value is T =>
getObjectType(value) === type;
function isObjectType(name: unknown): name is ObjectTypes {
return objectTypes.includes(name as ObjectTypes);
}
const isOfType = <T>(type: string) => (value: unknown): value is T => typeof value === type;
// eslint-disable-next-line @typescript-eslint/ban-types
function isOfType<T extends Primitive | Function>(type: string) {
return (value: unknown): value is T => typeof value === type;
}
const is = (value: unknown): Types => {
switch (value) {
case null:
return Types.null;
case true:
case false:
return Types.boolean;
default:
function isPrimitiveType(name: unknown): name is PrimitiveTypes {
return primitiveTypes.includes(name as PrimitiveTypes);
}
function is(value: unknown): TypeName {
if (value === null) {
return 'null';
}
switch (typeof value) {
case 'undefined':
return Types.undefined;
case 'bigint':
return 'bigint';
case 'boolean':
return 'boolean';
case 'number':
return 'number';
case 'string':
return Types.string;
case 'number':
return Types.number;
case 'bigint':
return Types.bigint;
return 'string';
case 'symbol':
return Types.symbol;
return 'symbol';
case 'undefined':
return 'undefined';
default:

@@ -63,7 +101,7 @@ }

if (is.array(value)) {
return Types.array;
return 'Array';
}
if (is.plainFunction(value)) {
return Types.function;
return 'Function';
}

@@ -74,8 +112,8 @@

if (tagType) {
return tagType as Types;
return tagType;
}
/* istanbul ignore next */
return Types.object;
};
return 'Object';
}

@@ -92,4 +130,10 @@ is.array = Array.isArray;

is.asyncFunction = isObjectOfType<PlainFunction>(Types.asyncFunction);
is.asyncGeneratorFunction = (value: unknown): value is (...args: any[]) => Promise<unknown> =>
getObjectType(value) === 'AsyncGeneratorFunction';
// eslint-disable-next-line @typescript-eslint/ban-types
is.asyncFunction = isObjectOfType<Function>('AsyncFunction');
is.bigint = isOfType<bigint>('bigint');
is.boolean = (value: unknown): value is boolean => {

@@ -99,21 +143,13 @@ return value === true || value === false;

is.date = isObjectOfType<Date>(Types.date);
is.date = isObjectOfType<Date>('Date');
is.defined = (value: unknown): boolean => !is.undefined(value);
is.domElement = (value: unknown): value is Element => {
const DOM_PROPERTIES_TO_CHECK = [
'innerHTML',
'ownerDocument',
'style',
'attributes',
'nodeValue',
];
is.domElement = (value: unknown): value is HTMLElement => {
return (
is.object(value) &&
!is.plainObject(value) &&
(value as Element).nodeType === 1 &&
is.string((value as Element).nodeName) &&
DOM_PROPERTIES_TO_CHECK.every(property => property in (value as Element))
(value as HTMLElement).nodeType === 1 &&
is.string((value as HTMLElement).nodeName) &&
DOM_PROPERTIES_TO_CHECK.every(property => property in (value as HTMLElement))
);

@@ -132,5 +168,6 @@ };

is.error = isObjectOfType<Error>(Types.error);
is.error = isObjectOfType<Error>('Error');
is.function = isOfType<PlainFunction>('function');
// eslint-disable-next-line @typescript-eslint/ban-types
is.function = isOfType<Function>('function');

@@ -145,3 +182,3 @@ is.generator = (value: unknown): value is Generator => {

is.generatorFunction = isObjectOfType<GeneratorFunction>(Types.generatorFunction);
is.generatorFunction = isObjectOfType<GeneratorFunction>('GeneratorFunction');

@@ -162,3 +199,3 @@ is.instanceOf = <T>(instance: unknown, class_: Class<T>): instance is T => {

is.map = isObjectOfType<Map<unknown, unknown>>(Types.map);
is.map = isObjectOfType<Map<unknown, unknown>>('Map');

@@ -178,3 +215,3 @@ is.nan = (value: unknown): boolean => {

is.number = (value: unknown): value is number => {
return isOfType<number>(Types.number)(value) && !is.nan(value);
return isOfType<number>('number')(value) && !is.nan(value);
};

@@ -186,3 +223,4 @@

is.object = (value: unknown): value is PlainObject => {
// eslint-disable-next-line @typescript-eslint/ban-types
is.object = (value: unknown): value is object => {
return !is.nullOrUndefined(value) && (is.function(value) || typeof value === 'object');

@@ -199,3 +237,4 @@ };

is.plainFunction = isObjectOfType<PlainFunction>(Types.function);
// eslint-disable-next-line @typescript-eslint/ban-types
is.plainFunction = isObjectOfType<Function>('Function');

@@ -212,4 +251,7 @@ is.plainObject = (value: unknown): value is PlainObject => {

is.promise = isObjectOfType<Promise<unknown>>(Types.promise);
is.primitive = (value: unknown): value is Primitive =>
is.null(value) || isPrimitiveType(typeof value);
is.promise = isObjectOfType<Promise<unknown>>('Promise');
is.propertyOf = (

@@ -233,16 +275,18 @@ target: PlainObject,

is.regexp = isObjectOfType<RegExp>(Types.regExp);
is.regexp = isObjectOfType<RegExp>('RegExp');
is.set = isObjectOfType<Set<PlainObject>>(Types.set);
is.set = isObjectOfType<Set<PlainObject>>('Set');
is.string = isOfType<string>(Types.string);
is.string = isOfType<string>('string');
is.symbol = isOfType<symbol>(Types.symbol);
is.symbol = isOfType<symbol>('symbol');
is.undefined = isOfType<undefined>(Types.undefined);
is.undefined = isOfType<undefined>('undefined');
is.weakMap = isObjectOfType<WeakMap<PlainObject, unknown>>(Types.weakMap);
is.weakMap = isObjectOfType<WeakMap<PlainObject, unknown>>('WeakMap');
is.weakSet = isObjectOfType<WeakSet<PlainObject>>(Types.weakSet);
is.weakSet = isObjectOfType<WeakSet<PlainObject>>('WeakSet');
export * from './types';
export default is;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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