Comparing version 0.7.0 to 0.7.1
declare type Class<T = unknown> = new (...args: any[]) => T; | ||
interface PlainObject { | ||
[key: string]: unknown; | ||
} | ||
declare type PlainFunction = () => unknown; | ||
declare type PlainObject = Record<string, unknown>; | ||
declare const enum Types { | ||
@@ -32,5 +31,5 @@ array = "Array", | ||
(value: unknown): Types; | ||
array: (arg: any) => arg is any[]; | ||
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 Function; | ||
asyncFunction: (value: unknown) => value is PlainFunction; | ||
boolean(value: unknown): value is boolean; | ||
@@ -42,6 +41,6 @@ date: (value: unknown) => value is Date; | ||
error: (value: unknown) => value is Error; | ||
function: (value: unknown) => value is Function; | ||
function: (value: unknown) => value is PlainFunction; | ||
generator(value: unknown): value is Generator<unknown, any, unknown>; | ||
generatorFunction: (value: unknown) => value is GeneratorFunction; | ||
instanceOf<T>(instance: unknown, class_: Class<T>): instance is T; | ||
instanceOf<T_1>(instance: unknown, class_: Class<T_1>): instance is T_1; | ||
iterable(value: unknown): value is IterableIterator<unknown>; | ||
@@ -54,16 +53,16 @@ map: (value: unknown) => value is Map<unknown, unknown>; | ||
numericString(value: unknown): value is string; | ||
object(value: unknown): value is object; | ||
object(value: unknown): value is Record<string, unknown>; | ||
oneOf(target: unknown[], value: any): boolean; | ||
plainFunction: (value: unknown) => value is Function; | ||
plainObject(value: unknown): value is PlainObject; | ||
plainFunction: (value: unknown) => value is PlainFunction; | ||
plainObject(value: unknown): value is Record<string, unknown>; | ||
promise: (value: unknown) => value is Promise<unknown>; | ||
propertyOf(target: object, key: string, predicate?: ((v: unknown) => boolean) | undefined): boolean; | ||
propertyOf(target: PlainObject, key: string, predicate?: ((v: unknown) => boolean) | undefined): boolean; | ||
regexp: (value: unknown) => value is RegExp; | ||
set: (value: unknown) => value is Set<object>; | ||
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<object, unknown>; | ||
weakSet: (value: unknown) => value is WeakSet<object>; | ||
weakMap: (value: unknown) => value is WeakMap<Record<string, unknown>, unknown>; | ||
weakSet: (value: unknown) => value is WeakSet<Record<string, unknown>>; | ||
}; | ||
export default is; |
@@ -133,3 +133,2 @@ export var getObjectType = function (value) { | ||
} | ||
// @ts-ignore | ||
var value = target[key]; | ||
@@ -136,0 +135,0 @@ if (is.function(predicate)) { |
declare type Class<T = unknown> = new (...args: any[]) => T; | ||
interface PlainObject { | ||
[key: string]: unknown; | ||
} | ||
declare type PlainFunction = () => unknown; | ||
declare type PlainObject = Record<string, unknown>; | ||
declare const enum Types { | ||
@@ -32,5 +31,5 @@ array = "Array", | ||
(value: unknown): Types; | ||
array: (arg: any) => arg is any[]; | ||
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 Function; | ||
asyncFunction: (value: unknown) => value is PlainFunction; | ||
boolean(value: unknown): value is boolean; | ||
@@ -42,6 +41,6 @@ date: (value: unknown) => value is Date; | ||
error: (value: unknown) => value is Error; | ||
function: (value: unknown) => value is Function; | ||
function: (value: unknown) => value is PlainFunction; | ||
generator(value: unknown): value is Generator<unknown, any, unknown>; | ||
generatorFunction: (value: unknown) => value is GeneratorFunction; | ||
instanceOf<T>(instance: unknown, class_: Class<T>): instance is T; | ||
instanceOf<T_1>(instance: unknown, class_: Class<T_1>): instance is T_1; | ||
iterable(value: unknown): value is IterableIterator<unknown>; | ||
@@ -54,16 +53,16 @@ map: (value: unknown) => value is Map<unknown, unknown>; | ||
numericString(value: unknown): value is string; | ||
object(value: unknown): value is object; | ||
object(value: unknown): value is Record<string, unknown>; | ||
oneOf(target: unknown[], value: any): boolean; | ||
plainFunction: (value: unknown) => value is Function; | ||
plainObject(value: unknown): value is PlainObject; | ||
plainFunction: (value: unknown) => value is PlainFunction; | ||
plainObject(value: unknown): value is Record<string, unknown>; | ||
promise: (value: unknown) => value is Promise<unknown>; | ||
propertyOf(target: object, key: string, predicate?: ((v: unknown) => boolean) | undefined): boolean; | ||
propertyOf(target: PlainObject, key: string, predicate?: ((v: unknown) => boolean) | undefined): boolean; | ||
regexp: (value: unknown) => value is RegExp; | ||
set: (value: unknown) => value is Set<object>; | ||
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<object, unknown>; | ||
weakSet: (value: unknown) => value is WeakSet<object>; | ||
weakMap: (value: unknown) => value is WeakMap<Record<string, unknown>, unknown>; | ||
weakSet: (value: unknown) => value is WeakSet<Record<string, unknown>>; | ||
}; | ||
export default is; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getObjectType = void 0; | ||
exports.getObjectType = function (value) { | ||
var getObjectType = function (value) { | ||
return Object.prototype.toString.call(value).slice(8, -1); | ||
}; | ||
exports.getObjectType = getObjectType; | ||
var isObjectOfType = function (type) { return function (value) { | ||
@@ -136,3 +137,2 @@ return exports.getObjectType(value) === type; | ||
} | ||
// @ts-ignore | ||
var value = target[key]; | ||
@@ -139,0 +139,0 @@ if (is.function(predicate)) { |
102
package.json
{ | ||
"name": "is-lite", | ||
"version": "0.7.0", | ||
"version": "0.7.1", | ||
"description": "A tiny javascript type testing tool", | ||
"author": "Gil Barbara <gilbarbara@gmail.com>", | ||
"keywords": [ | ||
"type", | ||
"check", | ||
"assertion", | ||
"validation", | ||
"test", | ||
"typeguard", | ||
"typeof", | ||
"instanceof" | ||
], | ||
"license": "MIT", | ||
"repository": { | ||
@@ -15,2 +26,3 @@ "type": "git", | ||
"main": "lib/index.js", | ||
"module": "esm/index.js", | ||
"files": [ | ||
@@ -21,30 +33,27 @@ "lib", | ||
], | ||
"types": "lib/index.d.ts", | ||
"keywords": [ | ||
"type", | ||
"test" | ||
], | ||
"license": "MIT", | ||
"types": "lib", | ||
"sideEffects": false, | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"@gilbarbara/tsconfig": "^0.1.0", | ||
"@size-limit/preset-small-lib": "^4.5.7", | ||
"@types/jest": "^26.0.12", | ||
"@types/node": "^14.6.2", | ||
"@typescript-eslint/eslint-plugin": "^2.23.0", | ||
"@typescript-eslint/parser": "^2.23.0", | ||
"eslint": "^6.8.0", | ||
"eslint-config-airbnb-base": "^14.1.0", | ||
"eslint-config-prettier": "^6.10.0", | ||
"eslint-plugin-import": "^2.20.1", | ||
"eslint-plugin-jsx-a11y": "^6.2.3", | ||
"eslint-plugin-prettier": "^3.1.2", | ||
"husky": "^4.2.5", | ||
"jest": "^26.4.2", | ||
"prettier": "^2.1.1", | ||
"@size-limit/preset-small-lib": "^4.9.1", | ||
"@types/jest": "^26.0.16", | ||
"@types/node": "^14.14.10", | ||
"@typescript-eslint/eslint-plugin": "^4.9.0", | ||
"@typescript-eslint/parser": "^4.9.0", | ||
"eslint": "^7.15.0", | ||
"eslint-config-airbnb-base": "^14.2.1", | ||
"eslint-config-prettier": "^7.0.0", | ||
"eslint-plugin-import": "^2.22.1", | ||
"eslint-plugin-jsx-a11y": "^6.4.1", | ||
"eslint-plugin-prettier": "^3.2.0", | ||
"husky": "^4.3.4", | ||
"jest": "^26.6.3", | ||
"prettier": "^2.2.1", | ||
"repo-tools": "^0.2.0", | ||
"rimraf": "^3.0.2", | ||
"size-limit": "^4.5.7", | ||
"ts-jest": "^26.3.0", | ||
"typescript": "^4.0.2" | ||
"size-limit": "^4.9.1", | ||
"ts-jest": "^26.4.4", | ||
"ts-node": "^9.1.0", | ||
"typescript": "^4.1.2" | ||
}, | ||
@@ -61,3 +70,3 @@ "scripts": { | ||
"test:coverage": "jest --bail --coverage", | ||
"test:watch": "jest --watch --verbose", | ||
"test:watch": "jest --watchAll --verbose", | ||
"format": "prettier \"**/*.{js,jsx,json,yml,yaml,css,less,scss,ts,tsx,md,graphql,mdx}\" --write", | ||
@@ -69,41 +78,8 @@ "validate": "npm run lint && npm run test:coverage && npm run build && npm run size", | ||
"prettier": { | ||
"trailingComma": "all", | ||
"singleQuote": true, | ||
"arrowParens": "avoid", | ||
"printWidth": 100, | ||
"proseWrap": "never" | ||
"proseWrap": "never", | ||
"singleQuote": true, | ||
"trailingComma": "all" | ||
}, | ||
"jest": { | ||
"collectCoverage": false, | ||
"collectCoverageFrom": [ | ||
"src/**/*.ts" | ||
], | ||
"coverageThreshold": { | ||
"global": { | ||
"branches": 95, | ||
"functions": 95, | ||
"lines": 95, | ||
"statements": 95 | ||
} | ||
}, | ||
"globals": { | ||
"ts-jest": { | ||
"tsConfig": { | ||
"target": "esnext" | ||
} | ||
} | ||
}, | ||
"moduleDirectories": [ | ||
"node_modules", | ||
"src", | ||
"./" | ||
], | ||
"moduleFileExtensions": [ | ||
"js", | ||
"ts" | ||
], | ||
"preset": "ts-jest", | ||
"testRegex": "/test/.*?\\.(test|spec)\\.ts$", | ||
"verbose": false | ||
}, | ||
"size-limit": [ | ||
@@ -113,2 +89,6 @@ { | ||
"limit": "1 kB" | ||
}, | ||
{ | ||
"path": "./esm/index.js", | ||
"limit": "1 kB" | ||
} | ||
@@ -115,0 +95,0 @@ ], |
@@ -32,3 +32,3 @@ # is-lite | ||
**is.array(value)** | ||
**is.array(value)** | ||
@@ -53,5 +53,5 @@ **is.arrayOf(target: any[], predicate: (value: unknown) => boolean)** | ||
**is.boolean(value)** | ||
**is.boolean(value)** | ||
**is.date(value)** | ||
**is.date(value)** | ||
@@ -61,3 +61,3 @@ **is.defined(value)** | ||
**is.domElement(value) ** | ||
**is.domElement(value) ** | ||
Check if `value` is a DOM Element. | ||
@@ -74,5 +74,5 @@ | ||
**is.error(value)** | ||
**is.error(value)** | ||
**is.function(value)** | ||
**is.function(value)** | ||
@@ -82,3 +82,3 @@ **is.generator(value) ** | ||
**is.generatorFunction(value)** | ||
**is.generatorFunction(value)** | ||
@@ -97,13 +97,13 @@ **is.instanceOf(value, class)** | ||
**is.iterable(value)** | ||
**is.iterable(value)** | ||
**is.map(value)** | ||
**is.map(value)** | ||
**is.nan(value)** | ||
**is.nan(value)** | ||
**is.null(value)** | ||
**is.null(value)** | ||
**is.nullOrUndefined(value)** | ||
**is.nullOrUndefined(value)** | ||
**is.number(value) ** | ||
**is.number(value)** | ||
Note: `is.number(NaN)` returns `false` | ||
@@ -124,3 +124,3 @@ | ||
**is.object(value) ** | ||
**is.object(value)** | ||
Remember that functions and arrays are objects too. | ||
@@ -138,6 +138,6 @@ | ||
**is.plainObject(value) ** | ||
**is.plainObject(value)** | ||
Check if the object is created by either `{}`, `new Object()` or `Object.create(null)`. | ||
**is.promise(value)** | ||
**is.promise(value)** | ||
@@ -158,15 +158,15 @@ **is.propertyOf(target: object, key: string, predicate?: (value: unknown) => boolean)** | ||
**is.regexp(value)** | ||
**is.regexp(value)** | ||
**is.set(value)** | ||
**is.set(value)** | ||
**is.string(value)** | ||
**is.string(value)** | ||
**is.symbol(value)** | ||
**is.symbol(value)** | ||
**is.undefined(value)** | ||
**is.undefined(value)** | ||
**is.weakMap(value)** | ||
**is.weakMap(value)** | ||
**is.weakSet(value)** | ||
**is.weakSet(value)** | ||
@@ -190,2 +190,4 @@ ## Contributing | ||
[@sindresorhus/is](https://github.com/sindresorhus/is) is amazing but I needed something even smaller (and simpler). | ||
This package cover the basics and is less than 1k minified+gzipped. | ||
This package cover the basics and is less than 1k minified+gzipped. | ||
If you need to support legacy browsers, the **Number.isNaN** polyfill is required. |
type Class<T = unknown> = new (...args: any[]) => T; | ||
type PlainFunction = () => unknown; | ||
type PlainObject = Record<string, unknown>; | ||
interface PlainObject { | ||
[key: string]: unknown; | ||
} | ||
const enum Types { | ||
@@ -92,3 +90,3 @@ array = 'Array', | ||
is.asyncFunction = isObjectOfType<Function>(Types.asyncFunction); | ||
is.asyncFunction = isObjectOfType<PlainFunction>(Types.asyncFunction); | ||
@@ -133,3 +131,3 @@ is.boolean = (value: unknown): value is boolean => { | ||
is.function = isOfType<Function>('function'); | ||
is.function = isOfType<PlainFunction>('function'); | ||
@@ -182,3 +180,3 @@ is.generator = (value: unknown): value is Generator => { | ||
is.object = (value: unknown): value is object => { | ||
is.object = (value: unknown): value is PlainObject => { | ||
return !is.nullOrUndefined(value) && (is.function(value) || typeof value === 'object'); | ||
@@ -195,3 +193,3 @@ }; | ||
is.plainFunction = isObjectOfType<Function>(Types.function); | ||
is.plainFunction = isObjectOfType<PlainFunction>(Types.function); | ||
@@ -210,3 +208,7 @@ is.plainObject = (value: unknown): value is PlainObject => { | ||
is.propertyOf = (target: object, key: string, predicate?: (v: unknown) => boolean): boolean => { | ||
is.propertyOf = ( | ||
target: PlainObject, | ||
key: string, | ||
predicate?: (v: unknown) => boolean, | ||
): boolean => { | ||
if (!is.object(target) || !key) { | ||
@@ -216,3 +218,2 @@ return false; | ||
// @ts-ignore | ||
const value = target[key]; | ||
@@ -229,3 +230,3 @@ | ||
is.set = isObjectOfType<Set<object>>(Types.set); | ||
is.set = isObjectOfType<Set<PlainObject>>(Types.set); | ||
@@ -238,6 +239,6 @@ is.string = isOfType<string>(Types.string); | ||
is.weakMap = isObjectOfType<WeakMap<object, unknown>>(Types.weakMap); | ||
is.weakMap = isObjectOfType<WeakMap<PlainObject, unknown>>(Types.weakMap); | ||
is.weakSet = isObjectOfType<WeakSet<object>>(Types.weakSet); | ||
is.weakSet = isObjectOfType<WeakSet<PlainObject>>(Types.weakSet); | ||
export default is; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
40811
183
0
21
609