import "./_dnt.polyfills.js"; import type { PromiseMaybe } from "./promise.js"; /** * 遍历 map 对象,将结果聚合 array 对象返回 */ export declare const map_to_array: (map: Map, mapper: (value: V, key: K) => R) => R[]; export interface CommonMap { has(key: K): boolean; get(key: K): V | undefined; set(key: K, value: V): unknown; delete(key: K): boolean; } type GetMapKey = T extends CommonMap ? K : unknown; type GetMapValue = T extends CommonMap ? V : unknown; /** * 读取一个map中的值,如果没有,就创建它 */ export declare const map_get_or_put: >(map: T, key: K, put: (key: K, map: T) => GetMapValue) => GetMapValue; /** * 删除一个map中的值,同时返回它 */ export declare const map_delete_and_get: >(map: T, key: K) => GetMapValue | undefined; /** * 读取一个map中的值,如果没有,就异步地创建它 * 使用该函数进行异步创建是会互斥上锁的(如果外部修改了map,写入了值,那么最终会以外部修改为准) */ export declare const map_get_or_put_async: >(map: T, key: K, put: (key: K, map: T) => PromiseMaybe>) => Promise>; export {}; //# sourceMappingURL=map.d.ts.map