UNPKG

el-beeswarm

Version:

<div style="display: flex; padding: 1rem; flex-direction: column; align-items: center; justify-content: center; height: 100vh; text-align: center; display: flex;

23 lines (18 loc) 471 B
'use strict'; /** * If `map` already has the given `key`, returns its value. Otherwise, calls * `callback`, adds the result to `map` at `key`, and then returns it. * * @template K * @template V * @param {Map<K, V>} map * @param {K} key * @param {() => V} callback * @returns {V} */ module.exports = function (map, key, callback) { if (map.has(key)) return /** @type {V} */ (map.get(key)); const value = callback(); map.set(key, value); return value; };