@sanity/desk-tool
Version:
Tool for managing all sorts of content in a structured manner
25 lines • 756 B
TypeScript
export declare type Merger<T> = (left: T, right: T) => T | [T, T];
/**
* The two ended array supports pushing both at the beginning and
* at the end while preserving indicies.
*/
export declare class TwoEndedArray<T extends {
index: number;
}> {
private _postive;
private _negative;
addToEnd(elem: T): void;
addToBeginning(elem: T): void;
mergeAtEnd(value: T, merger: Merger<T>): void;
mergeAtBeginning(value: T, merger: Merger<T>): void;
removeFromEnd(): void;
has(idx: number): boolean;
get(idx: number): T;
set(idx: number, value: T): void;
get lastIdx(): number;
get last(): T;
get firstIdx(): number;
get first(): T;
get length(): number;
}
//# sourceMappingURL=TwoEndedArray.d.ts.map