This commit is contained in:
Sindre Sorhus 2017-11-06 22:36:51 +07:00
parent 8d8fd2b7e0
commit 9770f66899
4 changed files with 90 additions and 79 deletions

View file

@ -1,60 +1,60 @@
{ {
"name": "@sindresorhus/is", "name": "@sindresorhus/is",
"version": "0.4.0", "version": "0.4.0",
"description": "Type check values: `is.string('🦄') //=> true`", "description": "Type check values: `is.string('🦄') //=> true`",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/is", "repository": "sindresorhus/is",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
}, },
"engines": { "main": "dist/index.js",
"node": ">=4" "engines": {
}, "node": ">=4"
"scripts": { },
"lint": "tslint --project .", "scripts": {
"build": "tsc", "lint": "tslint --project .",
"test": "npm run lint && npm run build && ava dist/tests", "build": "tsc",
"prepublish": "npm run build && del dist/tests" "test": "npm run lint && npm run build && ava dist/tests",
}, "prepublish": "npm run build && del dist/tests"
"main": "dist/index.js", },
"types": "dist/index.d.ts", "files": [
"files": [ "dist"
"dist" ],
], "keywords": [
"keywords": [ "type",
"type", "types",
"types", "is",
"is", "check",
"check", "checking",
"checking", "validate",
"validate", "validation",
"validation", "utility",
"utility", "util",
"util", "typeof",
"typeof", "instanceof",
"instanceof", "object",
"object", "assert",
"assert", "assertion",
"assertion", "test",
"test", "kind",
"kind", "primitive",
"primitive", "verify",
"verify", "compare"
"compare" ],
], "devDependencies": {
"devDependencies": { "@types/jsdom": "^2.0.31",
"@types/jsdom": "^2.0.31", "@types/node": "^8.0.47",
"@types/node": "^8.0.47", "ava": "*",
"ava": "*", "del-cli": "^1.1.0",
"del-cli": "^1.1.0", "jsdom": "^9.12.0",
"jsdom": "^9.12.0", "tslint": "^5.8.0",
"tslint": "^5.8.0", "tslint-xo": "^0.2.1",
"tslint-xo": "^0.2.1", "typescript": "^2.6.1"
"typescript": "^2.6.1" },
} "types": "dist/index.d.ts"
} }

View file

@ -2,7 +2,7 @@ import * as util from 'util';
const toString = Object.prototype.toString; const toString = Object.prototype.toString;
const getObjectType = (value: any) => toString.call(value).slice(8, -1) as string; const getObjectType = (value: any) => toString.call(value).slice(8, -1) as string;
const isOfType = (type: string) => (value: any) => typeof value === type; // tslint:disable-line const isOfType = (type: string) => (value: any) => typeof value === type; // tslint:disable-line:strict-type-predicates
const isObjectOfType = (type: string) => (value: any) => getObjectType(value) === type; const isObjectOfType = (type: string) => (value: any) => getObjectType(value) === type;
function is(value: any) { // tslint:disable-line:only-arrow-functions function is(value: any) { // tslint:disable-line:only-arrow-functions
@ -232,12 +232,18 @@ namespace is { // tslint:disable-line:no-namespace
// tslint:enable:only-arrow-functions no-function-expression // tslint:enable:only-arrow-functions no-function-expression
} }
// Some few keywords are reserved, but we'll populate them for the node-folks // Some few keywords are reserved, but we'll populate them for Node.js users
// See https://github.com/Microsoft/TypeScript/issues/2536 // See https://github.com/Microsoft/TypeScript/issues/2536
Object.defineProperties(is, { Object.defineProperties(is, {
class: {value: is.class_}, class: {
function: {value: is.function_}, value: is.class_
null: {value: is.null_} },
function: {
value: is.function_
},
null: {
value: is.null_
}
}); });
export default is; // tslint:disable-line:no-default-export export default is; // tslint:disable-line:no-default-export

View file

@ -5,7 +5,9 @@ import m from '..';
const isNode8orHigher = Number(process.versions.node.split('.')[0]) >= 8; const isNode8orHigher = Number(process.versions.node.split('.')[0]) >= 8;
// Currently out of order, see https://github.com/Microsoft/TypeScript/issues/15202 class PromiseSubclassFixture<T> extends Promise<T> {} // Currently not working. See https://github.com/Microsoft/TypeScript/issues/15202
// `class PromiseSubclassFixture<T> extends Promise<T> {}`
class ErrorSubclassFixture extends Error {} class ErrorSubclassFixture extends Error {}
const document = jsdom(); const document = jsdom();

View file

@ -1,17 +1,20 @@
{ {
"compileOnSave": true, "compileOnSave": true,
"compilerOptions": { "compilerOptions": {
/* es2015 requires moduleResolution and module to be set, /* es2015 requires moduleResolution and module to be set,
see https://github.com/Microsoft/TypeScript/issues/8189 */ see https://github.com/Microsoft/TypeScript/issues/8189 */
"target": "es2015", "target": "es2015",
"moduleResolution": "node", "moduleResolution": "node",
"module": "none", "module": "none",
"strict": true, "strict": true,
"declaration": true, "declaration": true,
"sourceMap": true, "sourceMap": true,
"outDir": "dist", "outDir": "dist",
"lib": [ "removeComments": true,
"es2015", "dom", "scripthost" "lib": [
] "es2015",
} "dom",
"scripthost"
]
}
} }