minigame-std
    Preparing search index...

    Interface ZipFromUrlOptions

    unzipFromUrl 的统一选项。

    1.4.0

    import { fs, type ZipFromUrlOptions } from 'minigame-std';

    const options: ZipFromUrlOptions = {
    headers: { 'Authorization': 'Bearer token' },
    onProgress: (p) => console.log(p.progress),
    };
    await fs.unzipFromUrl('https://example.com/archive.zip', '/path/to/output', options);
    interface ZipFromUrlOptions {
        body?: BodyInit | null;
        cache?: RequestCache;
        complete?: DownloadFileCompleteCallback;
        credentials?: RequestCredentials;
        enableHttp2?: boolean;
        enableProfile?: boolean;
        enableQuic?: boolean;
        filename?: string;
        headers?: Record<string, string>;
        integrity?: string;
        keepalive?: boolean;
        keepEmptyBody?: boolean;
        method?: string;
        mode?: RequestMode;
        onChunk?: (chunk: Uint8Array<ArrayBuffer>) => void;
        onProgress?: (progressResult: IOResult<FetchProgress>) => void;
        priority?: RequestPriority;
        redirect?: RequestRedirect;
        referrer?: string;
        referrerPolicy?: ReferrerPolicy;
        retry?: number | FetchRetryOptions;
        signal?: AbortSignal | null;
        timeout?: number;
        window?: null;
    }

    Hierarchy

    Index

    Properties

    body?: BodyInit | null

    A BodyInit object or null to set request's body.

    cache?: RequestCache

    A string indicating how the request will interact with the browser's cache to set request's cache.

    complete?: DownloadFileCompleteCallback

    接口调用结束的回调函数(调用成功、失败都会执行)

    credentials?: RequestCredentials

    A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials.

    enableHttp2?: boolean

    需要基础库: 2.10.4

    是否开启 http2

    enableProfile?: boolean

    是否开启 profile。iOS 和 Android 端默认开启,其他端暂不支持。开启后可在接口回调的 res.profile 中查看性能调试信息。

    enableQuic?: boolean

    需要基础库: 2.10.4

    是否开启 Quic/h3 协议(iOS 微信目前使用 gQUIC-Q43;Android 微信在 v8.0.54 前使用 gQUIC-Q43,v8.0.54 开始使用 IETF QUIC,即 h3 协议;PC微信使用 IETF QUIC,即 h3 协议)

    filename?: string

    The filename to use in the zip archive. Defaults to the basename of the URL pathname, or 'file' if the pathname is '/'.

    headers?: Record<string, string>
    integrity?: string

    A cryptographic hash of the resource to be fetched by request. Sets request's integrity.

    keepalive?: boolean

    A boolean to set request's keepalive.

    keepEmptyBody?: boolean

    Whether to keep empty response body (0 bytes) and create a zip with an empty file entry.

    • true: Empty response creates a zip with an empty file entry
    • false: Empty response returns an EmptyBodyError

    false

    method?: string

    A string to set request's method.

    mode?: RequestMode

    A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode.

    onChunk?: (chunk: Uint8Array<ArrayBuffer>) => void

    Callback invoked when a chunk of data is received.

    Useful for streaming or processing data as it arrives. Each chunk is a Uint8Array<ArrayBuffer> containing the raw bytes.

    Note: This feature uses response.clone() internally. The cloned stream shares the same underlying data source (via tee()), so it does NOT double memory usage. However, if the two streams consume data at different speeds, chunks may be buffered temporarily until both streams have read them.

    Type Declaration

      • (chunk: Uint8Array<ArrayBuffer>): void
      • Parameters

        • chunk: Uint8Array<ArrayBuffer>

          The raw data chunk received from the response stream.

        Returns void

    onProgress?: (progressResult: IOResult<FetchProgress>) => void

    Callback invoked during download to report progress.

    Receives an IOResult<FetchProgress>:

    • Ok(FetchProgress) - Progress update with byte counts
    • Err(Error) - If Content-Length header is missing (called once)

    Note: This feature uses response.clone() internally. The cloned stream shares the same underlying data source (via tee()), so it does NOT double memory usage. However, if the two streams consume data at different speeds, chunks may be buffered temporarily until both streams have read them.

    Type Declaration

      • (progressResult: IOResult<FetchProgress>): void
      • Parameters

        • progressResult: IOResult<FetchProgress>

          The progress result, either success with progress data or error.

        Returns void

    priority?: RequestPriority
    redirect?: RequestRedirect

    A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect.

    referrer?: string

    A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer.

    referrerPolicy?: ReferrerPolicy

    A referrer policy to set request's referrerPolicy.

    retry?: number | FetchRetryOptions

    Retry options.

    Can be a number (shorthand for retries count) or an options object.

    // Retry up to 3 times on network errors
    const result = await fetchT('https://api.example.com/data', {
    retry: 3,
    });

    // Detailed configuration
    const result = await fetchT('https://api.example.com/data', {
    retry: {
    retries: 3,
    delay: 1000,
    when: [500, 502],
    onRetry: (error, attempt) => console.log(error),
    },
    });
    signal?: AbortSignal | null

    An AbortSignal to set request's signal.

    timeout?: number

    需要基础库: 2.10.0

    超时时间,单位为毫秒,默认值为 60000 即一分钟。

    window?: null

    Can only be null. Used to disassociate request from any Window.