import { DetailedResult } from '../base'; import { KeyValueEntry } from './common'; /** * Additional success or failure details for {@link Collections.ResultMap | ResultMap} calls. * @public */ export type ResultMapResultDetail = 'added' | 'deleted' | 'exists' | 'failure' | 'invalid-key' | 'invalid-value' | 'not-found' | 'success' | 'updated'; /** * Callback for {@link Collections.ResultMap | ResultMap} `forEach` method. * @public */ export type ResultMapForEachCb = (value: TE, key: TK, map: IReadOnlyResultMap, thisArg?: unknown) => void; /** * A readonly `ReadonlyMap`-like object which reports success or failure * with additional details using the * {@link https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils#the-result-pattern | result pattern}. * @public */ export interface IReadOnlyResultMap { /** * {@inheritdoc Collections.ResultMap.size} */ readonly size: number; /** * {@inheritdoc Collections.ResultMap.entries} */ entries(): IterableIterator>; /** * {@inheritdoc Collections.ResultMap.forEach} */ forEach(cb: ResultMapForEachCb, arg?: unknown): void; /** * {@inheritdoc Collections.ResultMap.get} */ get(key: TK): DetailedResult; /** * {@inheritdoc Collections.ResultMap.has} */ has(key: TK): boolean; /** * {@inheritdoc Collections.ResultMap.keys} */ keys(): IterableIterator; /** * {@inheritdoc Collections.ResultMap.values} */ values(): IterableIterator; /** * Gets an iterator over the map entries. * @returns An iterator over the map entries. */ [Symbol.iterator](): IterableIterator>; } //# sourceMappingURL=readonlyResultMap.d.ts.map