1.0.1 • Published 1 year ago

weak-object v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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

ParamTypeDescription
propstringproperty name

weakObject.set(prop, value) ⇒ WeakObject

Set a property of WeakObject

Kind: instance method of WeakObject
Returns: WeakObject - the WeakObject that called this method

ParamTypeDescription
propstringproperty name
valueobjectvalue

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

ParamTypeDescription
propstringproperty 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

ParamTypeDescription
propstringproperty name

License

MIT