weak-object
v1.0.1
Published
A native-like object, but with a weak reference to all values, automatically deleting the corresponding property when the value is recycled
Downloads
10
Maintainers
Readme
WeakObject
A native-like object, but with a weak reference to all values, automatically deleting the corresponding property when the value is recycled.
- written in TypeScript
- zero dependence
- ESM support
Requirement
This package uses ES2021 Syntax WeakRef and FinalizationRegistry.
The following are the minimum versions that support these syntaxes:
- Chromium >= 84
- Firefox >= 79
- Safari >= 14.1
- Node.js >= 14.6.0
Install
- Using
npm
:npm install weak-object
- Or using
pnpm
:pnpm add weak-object
Quick start
// first, import this module:
import WeakObject from "weak-object";
// or using CommonJS
const WeakObject = require("weak-object");
const weak = new WeakObject();
const obj = { foo: "bar" };
weak.add("baz", obj);
weak.has("baz"); // true
weak.delete("baz");
weak.has("baz"); // false
API reference
Generate with jsdoc2mad
WeakObject
Kind: global class
- WeakObject
- .get(prop) ⇒ object | undefined
- .set(prop, value) ⇒ WeakObject
- .has(prop) ⇒ boolean
- .delete(prop) ⇒ boolean
weakObject.get(prop) ⇒ object | undefined
Get a property of WeakObject
Kind: instance method of WeakObject
Returns: object | undefined - value of property or undefined if the property not exists
| Param | Type | Description | | ----- | ------------------- | ------------- | | prop | string | property name |
weakObject.set(prop, value) ⇒ WeakObject
Set a property of WeakObject
Kind: instance method of WeakObject
Returns: WeakObject - the WeakObject that called this method
| Param | Type | Description | | ----- | ------------------- | ------------- | | prop | string | property name | | value | object | value |
weakObject.has(prop) ⇒ boolean
Determine if a property exists in WeakObject
Kind: instance method of WeakObject
Returns: boolean - returns true if the property exists, otherwise false
| Param | Type | Description | | ----- | ------------------- | ------------- | | prop | string | property name |
weakObject.delete(prop) ⇒ boolean
Delete a property of WeakObject if exists
Kind: instance method of WeakObject
Returns: boolean - returns true when the property exists and is successfully deleted, otherwise false
| Param | Type | Description | | ----- | ------------------- | ------------- | | prop | string | property name |
License
MIT