WeakCache is like WeakMap but extends support to primitive keys, and with both object keys and object values being weakly referenced.
npm add @wopjs/weak-cache
import { WeakCache } from "@wopjs/weak-cache";
const cache = new WeakCache();
cache.set("key", { value: "value" });
const objectKey = { key: "key" };
cache.set(key, { value: "value" });
console.log(cache.size); // 2
console.log(cache.get("key")); // { value: "value" }
console.log(cache.get(objectKey)); // { value: "value" }
// ...
// gc()
console.log(cache.size); // 0
You can use npm version to bump version.
npm version patch
Push the tag to remote and CI will publish the new version to npm.
git push --follow-tags
If you want to publish the package in CI, you need to set the NPM_TOKEN
secrets in GitHub repository settings. See how to create a NPM access token.