'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
declare namespace getSideChannel {
    type Key = unknown;
    type ListNode<T> = {
        key: Key;
        next: ListNode<T>;
        value: T;
    };
    type RootNode<T> = {
        key: object;
        next: null | ListNode<T>;
    };
    function listGetNode<T>(list: RootNode<T>, key: ListNode<T>['key']): ListNode<T> | void;
    function listGet<T>(objects: RootNode<T>, key: ListNode<T>['key']): T | void;
    function listSet<T>(objects: RootNode<T>, key: ListNode<T>['key'], value: T): void;
    function listHas<T>(objects: RootNode<T>, key: ListNode<T>['key']): boolean;
 
    type Channel = {
        assert: (key: Key) => void;
        has: (key: Key) => boolean;
        get: <T>(key: Key) => T;
        set: <T>(key: Key, value: T) => void;
    }
}
 
declare function getSideChannel(): getSideChannel.Channel;
 
export = getSideChannel;