massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / node_modules / vscode-jsonrpc / lib / common / linkedMap.d.ts
1 export declare namespace Touch {
2     const None: 0;
3     const First: 1;
4     const AsOld: 1;
5     const Last: 2;
6     const AsNew: 2;
7 }
8 export declare type Touch = 0 | 1 | 2;
9 export declare class LinkedMap<K, V> implements Map<K, V> {
10     readonly [Symbol.toStringTag] = "LinkedMap";
11     private _map;
12     private _head;
13     private _tail;
14     private _size;
15     private _state;
16     constructor();
17     clear(): void;
18     isEmpty(): boolean;
19     get size(): number;
20     get first(): V | undefined;
21     get last(): V | undefined;
22     has(key: K): boolean;
23     get(key: K, touch?: Touch): V | undefined;
24     set(key: K, value: V, touch?: Touch): this;
25     delete(key: K): boolean;
26     remove(key: K): V | undefined;
27     shift(): V | undefined;
28     forEach(callbackfn: (value: V, key: K, map: LinkedMap<K, V>) => void, thisArg?: any): void;
29     keys(): IterableIterator<K>;
30     values(): IterableIterator<V>;
31     entries(): IterableIterator<[K, V]>;
32     [Symbol.iterator](): IterableIterator<[K, V]>;
33     protected trimOld(newSize: number): void;
34     private addItemFirst;
35     private addItemLast;
36     private removeItem;
37     private touch;
38     toJSON(): [K, V][];
39     fromJSON(data: [K, V][]): void;
40 }
41 export declare class LRUCache<K, V> extends LinkedMap<K, V> {
42     private _limit;
43     private _ratio;
44     constructor(limit: number, ratio?: number);
45     get limit(): number;
46     set limit(limit: number);
47     get ratio(): number;
48     set ratio(ratio: number);
49     get(key: K, touch?: Touch): V | undefined;
50     peek(key: K): V | undefined;
51     set(key: K, value: V): this;
52     private checkTrim;
53 }