diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..87e619e
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1645820743983
+
+
+ 1645820743983
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package.json b/package.json
index cc86fc3..7ada82b 100644
--- a/package.json
+++ b/package.json
@@ -56,11 +56,11 @@
"ava": "^3.3.0",
"del-cli": "^2.0.0",
"eslint-config-xo-typescript": "^0.26.0",
- "jsdom": "^16.0.1",
+ "jsdom": "^19.0.0",
"rxjs": "^6.4.0",
"tempy": "^0.4.0",
"ts-node": "^8.3.0",
- "typescript": "~3.8.2",
+ "typescript": "^4.6.2",
"xo": "^0.26.1",
"zen-observable": "^0.8.8"
},
diff --git a/readme.md b/readme.md
index 05a291a..b816b8a 100644
--- a/readme.md
+++ b/readme.md
@@ -198,6 +198,7 @@ is.boundFunction(function () {});
##### .set(value)
##### .weakMap(value)
##### .weakSet(value)
+##### .weakRef(value)
#### Typed arrays
diff --git a/source/index.ts b/source/index.ts
index 5ce333d..ce0c313 100644
--- a/source/index.ts
+++ b/source/index.ts
@@ -43,6 +43,7 @@ const objectTypeNames = [
'Set',
'WeakMap',
'WeakSet',
+ 'WeakRef',
'ArrayBuffer',
'SharedArrayBuffer',
'DataView',
@@ -216,6 +217,7 @@ is.map = (value: unknown): value is Map(value: unknown): value is Set => isObjectOfType>('Set')(value);
is.weakMap = (value: unknown): value is WeakMap => isObjectOfType>('WeakMap')(value);
is.weakSet = (value: unknown): value is WeakSet