commit eb22f10eb8126c1ec745e385be14a6f7397dd8c3
Author: Robin Bron <finwo@pm.me>
Date: Fri, 9 Oct 2020 12:03:01 +0200
Move into it's own git repo
Diffstat:
2 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/index.js b/index.js
@@ -0,0 +1,31 @@
+module.exports = {
+ isA: function (actual, expected) {
+ const result = {
+ message: () => `Expected ${actual} to be a ${expected.name}`,
+ pass : false
+ };
+ switch (expected) {
+ case Object:
+ result.pass = (!!actual) && ('object' === typeof actual);
+ return result;
+ case Function:
+ case Number:
+ case String:
+ if ('object' === typeof actual) {
+ result.pass = actual instanceof expected;
+ return result;
+ } else {
+ result.pass = expected.name.toLowerCase() === typeof actual;
+ return result;
+ }
+ default:
+ if ('function' === typeof expected['is' + expected.name]) {
+ result.pass = expected['is' + expected.name](actual);
+ return result;
+ } else {
+ result.pass = actual instanceof expected;
+ return result;
+ }
+ }
+ }
+};
diff --git a/package.json b/package.json
@@ -0,0 +1,11 @@
+{
+ "name": "jest-isa",
+ "version": "0.0.4",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "Robin Bron <robin@finwo.nl>",
+ "license": "MIT"
+}