weak-object
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

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

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

Package Sidebar

Install

npm i weak-object

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

8.97 kB

Total Files

6

Last publish

Collaborators

  • dreamofice