๐Ÿ“ฆ facebook / react-native

๐Ÿ“„ undici_v5.x.x.js ยท 46 lines
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow strict-local
 * @format
 */

// Very incomplete types for the undici package.

declare interface undici$Agent$Options {
  connect?: tls$connectOptions;
}

declare module 'undici' {
  declare export type RequestOptions = Readonly<{
    dispatcher?: Dispatcher,
    method?: string,
    headers?: HeadersInit,
    ...
  }>;

  declare export class Dispatcher extends events$EventEmitter {
    constructor(): void;
  }

  declare export class Agent extends Dispatcher {
    constructor(opts?: undici$Agent$Options): void;
  }

  declare export function request(
    url: string | URL,
    options: RequestOptions,
  ): Promise<{
    statusCode: number,
    headers: Headers,
    body: {
      read(): Promise<Buffer>,
      ...
    },
    ...
  }>;
}