$ gnpm install @cspell/strong-weak-map
@cspell/strong-weak-map
A Map with weakly referenced values.
JavaScript WeakMap provides weak keys and strong values.
StrongWeakMap
allows for strong keys and weak values while providing the same API as Map.
npm install -S @cspell/strong-weak-map
TypeScript Example: Simple text file reader.
import { StrongWeakMap } from '@cspell/strong-weak-map';
import { promises as fs } from 'fs';
const cache = new StrongWeakMap<string, Promise<string>>();
export function readTextFile(filename: string, encoding: BufferEncoding = 'utf8'): Promise<string> {
const cached = cache.get(filename);
if (cached) return cached;
const content = fs.readFile(filename, encoding);
cache.set(filename, content);
return content;
}
The above example will reuse the promise as long as it has not been cleaned up by the Garbage Collector.
See: Map
Brought to you by Street Side Software
Copyright 2013 - present © cnpmjs.org | Home |