mobx-react-form
Version:
Reactive MobX Form State Management
50 lines • 1.78 kB
TypeScript
/**
* ArrayMap: an ordered key-value collection backed by an observable array.
*
* Exposes the full ObservableMap-compatible API (get, set, has, delete,
* merge, forEach, keys, values, entries, intercept, etc.) while
* maintaining insertion order via an internal observable array.
*
* The observable array backing allows array-like operations such as
* `move(fromIndex, toIndex)` which directly re-orders entries via
* splice — fully MobX reactive.
*/
export declare class ArrayMap<K = string, V = any> {
/** Duck-typing marker for utility code */
_isArrayMap: boolean;
/** Internal observable array: entries stored as [key, value] pairs */
private _entries;
constructor(entries?: [K, V][] | null);
get size(): number;
get(key: K): V | undefined;
set(key: K, value: V): this;
has(key: K): boolean;
delete(key: K): boolean;
clear(): void;
keys(): IterableIterator<K>;
values(): IterableIterator<V>;
entries(): IterableIterator<[K, V]>;
forEach(callbackfn: (value: V, key: K, map: this) => void, thisArg?: any): void;
toJSON(): {
[key: string]: V;
};
toString(): string;
merge(other: any): this;
replace(values: any): this;
get intercept(): any;
[Symbol.iterator](): IterableIterator<[K, V]>;
/**
* Move an entry from `fromIndex` to `toIndex`.
*
* Directly splices the internal observable array, so MobX
* tracks the change as a single array splice operation.
*/
move(fromIndex: number, toIndex: number): void;
/**
* Expose the underlying observable array for direct MobX
* observation (e.g. `observe(arr, cb)` from mobx).
*/
toArray(): Array<[K, V]>;
}
export default ArrayMap;
//# sourceMappingURL=ArrayMap.d.ts.map