diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..1ffeaef
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1645820743983
+
+
+ 1645820743983
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/index.ts b/source/index.ts
index 4ea343f..b16ed6b 100644
--- a/source/index.ts
+++ b/source/index.ts
@@ -612,8 +612,8 @@ export const assert: Assert = {
},
buffer: (value: unknown): asserts value is Buffer => assertType(is.buffer(value), 'Buffer', value),
blob: (value: unknown): asserts value is Blob => assertType(is.blob(value), 'Blob', value),
- nullOrUndefined: /* eslint-disable-line @typescript-eslint/ban-types */ (value: unknown): asserts value is null | undefined => assertType(is.nullOrUndefined(value), AssertionTypeDescription.nullOrUndefined, value),
- object: (value: unknown): asserts value is Record => assertType(is.object(value), 'Object', value),
+ nullOrUndefined: (value: unknown): asserts value is null | undefined => assertType(is.nullOrUndefined(value), AssertionTypeDescription.nullOrUndefined, value),
+ object: (value: unknown): asserts value is object => assertType(is.object(value), 'Object', value),
iterable: (value: unknown): asserts value is Iterable => assertType(is.iterable(value), AssertionTypeDescription.iterable, value),
asyncIterable: (value: unknown): asserts value is AsyncIterable => assertType(is.asyncIterable(value), AssertionTypeDescription.asyncIterable, value),
generator: (value: unknown): asserts value is Generator => assertType(is.generator(value), 'Generator', value),
diff --git a/source/types.ts b/source/types.ts
index 3940da2..30a1ec7 100644
--- a/source/types.ts
+++ b/source/types.ts
@@ -49,3 +49,13 @@ export interface ObservableLike {
// eslint-disable-next-line @typescript-eslint/ban-types
export type Falsy = false | 0 | 0n | '' | null | undefined;
+
+export interface WeakRef {
+ readonly [Symbol.toStringTag]: "WeakRef";
+
+ /**
+ * Returns the WeakRef instance's target object, or undefined if the target object has been
+ * reclaimed.
+ */
+ deref(): T | undefined;
+}