Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Aria2ClientBaseClass<T>

Type parameters

  • T

Hierarchy

Index

Constructors

constructor

Properties

Static Readonly captureRejectionSymbol

captureRejectionSymbol: typeof captureRejectionSymbol

Static captureRejections

captureRejections: boolean

Sets or gets the default captureRejection value for all emitters.

Static defaultMaxListeners

defaultMaxListeners: number

Static Readonly errorMonitor

errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

Accessors

Abstract system

Methods

addListener

addMetalink

  • addMetalink(metalink: string | Buffer, options?: IAria2ClientOptions, position?: number): Promise<string[]>
  • This method adds a Metalink download by uploading a ".metalink" file. metalink is a base64-encoded string which contains the contents of the ".metalink" file. options is a struct and its members are pairs of option name and value. See Options below for more details. If position is given, it must be an integer starting from 0. The new download will be inserted at position in the waiting queue. If position is omitted or position is larger than the current size of the queue, the new download is appended to the end of the queue. This method returns an array of GIDs of newly registered downloads. If --rpc-save-upload-metadata is true, the uploaded data is saved as a file named hex string of SHA-1 hash of data plus ".metalink" in the directory specified by --dir option. E.g. a file name might be 0a3893293e27ac0490424c06de4d09242215f0a6.metalink. If a file with the same name already exists, it is overwritten! If the file cannot be saved successfully or --rpc-save-upload-metadata is false, the downloads added by this method are not saved by --save-session.

    example
    await aria2.addMetalink(".....");
    

    Parameters

    Returns Promise<string[]>

    TAria2ClientGID[]

addTorrent

  • addTorrent(torrent: string | Buffer, uris?: string | string[], options?: IAria2ClientOptions, position?: number): Promise<string>
  • This method adds a BitTorrent download by uploading a ".torrent" file. If you want to add a BitTorrent Magnet URI, use the aria2.addUri() method instead. torrent must be a base64-encoded string containing the contents of the ".torrent" file. uris is an array of URIs (string). uris is used for Web-seeding. For single file torrents, the URI can be a complete URI pointing to the resource; if URI ends with /, name in torrent file is added. For multi-file torrents, name and path in torrent are added to form a URI for each file. options is a struct and its members are pairs of option name and value. See Options below for more details. If position is given, it must be an integer starting from 0. The new download will be inserted at position in the waiting queue. If position is omitted or position is larger than the current size of the queue, the new download is appended to the end of the queue. This method returns the GID of the newly registered download. If --rpc-save-upload-metadata is true, the uploaded data is saved as a file named as the hex string of SHA-1 hash of data plus ".torrent" in the directory specified by --dir option. E.g. a file name might be 0a3893293e27ac0490424c06de4d09242215f0a6.torrent. If a file with the same name already exists, it is overwritten! If the file cannot be saved successfully or --rpc-save-upload-metadata is false, the downloads added by this method are not saved by --save-session.

    example
    let torrent = fs.readFileSync('./file.torrent');
    await aria2.addTorrent(torrent);

    Parameters

    • torrent: string | Buffer
    • Optional uris: string | string[]
    • Optional options: IAria2ClientOptions
    • Optional position: number

      >= 0

    Returns Promise<string>

    TAria2ClientGID

addUri

  • This method adds a new download. uris is an array of HTTP/FTP/SFTP/BitTorrent URIs (strings) pointing to the same resource. If you mix URIs pointing to different resources, then the download may fail or be corrupted without aria2 complaining. When adding BitTorrent Magnet URIs, uris must have only one element and it should be BitTorrent Magnet URI. options is a struct and its members are pairs of option name and value. See Options below for more details. If position is given, it must be an integer starting from 0. The new download will be inserted at position in the waiting queue. If position is omitted or position is larger than the current size of the queue, the new download is appended to the end of the queue. This method returns the GID of the newly registered download.

    example
    await aria2.addUri('http://example.org/file', {}, 0);
    

    Parameters

    Returns Promise<string>

    TAria2ClientGID

changeGlobalOption

  • This method changes global options dynamically. options is a struct. The following options are available:

    • bt-max-open-files
    • download-result
    • keep-unfinished-download-result
    • log
    • log-level
    • max-concurrent-downloads
    • max-download-result
    • max-overall-download-limit
    • max-overall-upload-limit
    • optimize-concurrent-downloads
    • save-cookies
    • save-session
    • server-stat-of

    In addition, options listed in the Input File subsection are available, except for following options: checksum, index-out, out, pause and select-file.

    With the log option, you can dynamically start logging or change log file. To stop logging, specify an empty string("") as the parameter value. Note that log file is always opened in append mode. This method returns OK for success.

    Parameters

    Returns Promise<string>

    TAria2ChangeOptionResult

changeOption

  • This method changes options of the download denoted by gid (string) dynamically. options is a struct. The options listed in Input File subsection are available, except for following options:

    • dry-run
    • metalink-base-uri
    • parameterized-uri
    • pause
    • piece-length
    • rpc-save-upload-metadata

    Except for the following options, changing the other options of active download makes it restart (restart itself is managed by aria2, and no user intervention is required):

    • bt-max-peers
    • bt-request-peer-speed-limit
    • bt-remove-unselected-file
    • force-save
    • max-download-limit
    • max-upload-limit This method returns OK for success.

    The following examples set the max-download-limit option to 20K for the download GID#2089b05ecca3d829.

    example
    await aria2.changeOption(`2089b05ecca3d829`, {
    'max-download-limit': '20K'
    });

    Parameters

    Returns Promise<string>

    TAria2ChangeOptionResult

changePosition

  • This method changes the position of the download denoted by gid in the queue. pos is an integer. how is a string. If how is POS_SET, it moves the download to a position relative to the beginning of the queue. If how is POS_CUR, it moves the download to a position relative to the current position. If how is POS_END, it moves the download to a position relative to the end of the queue. If the destination position is less than 0 or beyond the end of the queue, it moves the download to the beginning or the end of the queue respectively. The response is an integer denoting the resulting position. (See enum EAria2ChangePositionHow)

    For example, if GID#2089b05ecca3d829 is currently in position 3, aria2.changePosition('2089b05ecca3d829', -1, EAria2ChangePositionHow.Cur) will change its position to 2. Additionally aria2.changePosition('2089b05ecca3d829', 0, EAria2ChangePositionHow.Set) will change its position to 0 (the beginning of the queue).

    The following examples move the download GID#2089b05ecca3d829 to the front of the queue.

    example
    await aria2.changePosition('2089b05ecca3d829', 0, EAria2ChangePositionHow.Set);
    

    Parameters

    Returns Promise<number>

    TAria2ChangePositionResult

changeUri

  • changeUri(gid: string, fileIndex: number, delUris: string[], addUris: string[], position?: number): Promise<TAria2ChangeUriResult>
  • This method removes the URIs in delUris from and appends the URIs in addUris to download denoted by gid. delUris and addUris are lists of strings. A download can contain multiple files and URIs are attached to each file. fileIndex is used to select which file to remove/attach given URIs. fileIndex is 1-based. position is used to specify where URIs are inserted in the existing waiting URI list. position is 0-based. When position is omitted, URIs are appended to the back of the list. This method first executes the removal and then the addition. position is the position after URIs are removed, not the position when this method is called. When removing an URI, if the same URIs exist in download, only one of them is removed for each URI in delUris. In other words, if there are three URIs http://example.org/aria2 and you want remove them all, you have to specify (at least) 3 http://example.org/aria2 in delUris. This method returns a list which contains two integers. The first integer is the number of URIs deleted. The second integer is the number of URIs added.

    The following examples add the URI http://example.org/file to the file whose index is 1 and belongs to the download GID#2089b05ecca3d829.

    Parameters

    • gid: string
    • fileIndex: number
    • delUris: string[]
    • addUris: string[]
    • Optional position: number

    Returns Promise<TAria2ChangeUriResult>

    TAria2ChangeUriResult

emit

  • emit(eventName: string | symbol, ...args: any[]): boolean
  • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    const EventEmitter = require('events');
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener
    since

    v0.1.26

    Parameters

    • eventName: string | symbol
    • Rest ...args: any[]

    Returns boolean

eventNames

  • eventNames(): (string | symbol)[]
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    const EventEmitter = require('events');
    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    since

    v6.0.0

    Returns (string | symbol)[]

forcePause

  • forcePause(gid: string): Promise<string>
  • This method pauses the download denoted by gid. This method behaves just like aria2.pause() except that this method pauses downloads without performing any actions which take time, such as contacting BitTorrent trackers to unregister the download first.

    Parameters

    • gid: string

    Returns Promise<string>

    TAria2ClientGID

forcePauseAll

  • forcePauseAll(): Promise<string>
  • This method is equal to calling aria2.forcePause() for every active/waiting download. This methods returns OK.

    Returns Promise<string>

    TAria2PauseAllResult

forceRemove

  • forceRemove(gid: string): Promise<string>
  • This method removes the download denoted by gid. This method behaves just like aria2.remove() except that this method removes the download without performing any actions which take time, such as contacting BitTorrent trackers to unregister the download first.

    Parameters

    • gid: string

    Returns Promise<string>

    TAria2ClientGID

forceShutdown

  • forceShutdown(): Promise<string>
  • This method shuts down aria2. This method behaves like function aria2.shutdown() without performing any actions which take time, such as contacting BitTorrent trackers to unregister downloads first. This method returns OK.

    example
    await aria2.forceShutdown();
    

    Returns Promise<string>

    TAria2ShutdownResult

Abstract getCreateOptions

getFiles

  • This method returns the file list of the download denoted by gid (string). The response is an array of structs which contain following keys. Values are strings.

    Parameters

    • gid: string

    Returns Promise<IAria2FileStatus[]>

    IAria2FileStatus[]

getGlobalOption

  • This method returns the global options. The response is a struct. Its keys are the names of options. Values are strings. Note that this method does not return options which have no default value and have not been set on the command-line, in configuration files or RPC methods. Because global options are used as a template for the options of newly added downloads, the response contains keys returned by the aria2.getOption() method.

    Returns Promise<TAria2ClientInputOption>

    TAria2ClientInputOption

getGlobalStat

getMaxListeners

  • getMaxListeners(): number
  • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

    since

    v1.0.0

    Returns number

getOption

  • This method returns options of the download denoted by gid. The response is a struct where keys are the names of options. The values are strings. Note that this method does not return options which have no default value and have not been set on the command-line, in configuration files or RPC methods.

    The following examples get options of the download GID#2089b05ecca3d829.

    Parameters

    • gid: string

    Returns Promise<TAria2ClientInputOption>

    TAria2ClientInputOption

getPeers

  • This method returns a list peers of the download denoted by gid (string). This method is for BitTorrent only. The response is an array of structs and contains the following keys. Values are strings.

    Parameters

    • gid: string

    Returns Promise<IAria2PeersInfo[]>

    IAria2PeersInfo[]

getServers

  • This method returns currently connected HTTP(S)/FTP/SFTP servers of the download denoted by gid (string). The response is an array of structs and contains the following keys. Values are strings.

    Parameters

    • gid: string

    Returns Promise<TAria2ServersInfo>

    TAria2ServersInfo

getSessionInfo

  • This method returns session information. The response is a struct and contains following key.

    example
    await aria2.saveSession();
    

    Returns Promise<IAria2ClientSessionInfo>

    TAria2SaveSessionResult

getUris

  • This method returns the URIs used in the download denoted by gid (string). The response is an array of structs and it contains following keys. Values are string.

    Parameters

    • gid: string

    Returns Promise<IAria2UriStatus[]>

    IAria2UriStatus[]

getVersion

  • This method returns the version of aria2 and the list of enabled features. The response is a struct and contains following keys.

    example
    await aria2.getVersion();
    

    Returns Promise<IAria2Version>

    IAria2Version

listenerCount

  • listenerCount(eventName: string | symbol): number
  • Returns the number of listeners listening to the event named eventName.

    since

    v3.2.0

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

    Returns number

listeners

  • listeners(eventName: string | symbol): Function[]
  • Returns a copy of the array of listeners for the event named eventName.

    server.on('connection', (stream) => {
    console.log('someone connected!');
    });
    console.log(util.inspect(server.listeners('connection')));
    // Prints: [ [Function] ]
    since

    v0.1.26

    Parameters

    • eventName: string | symbol

    Returns Function[]

off

  • Alias for emitter.removeListener().

    since

    v10.0.0

    Parameters

    • eventName: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Aria2ClientBaseClass<T>

on

once

pause

  • pause(gid: string): Promise<string>
  • This method pauses the download denoted by gid (string). The status of paused download becomes paused. If the download was active, the download is placed in the front of waiting queue. While the status is paused, the download is not started. To change status to waiting, use the aria2.unpause() method. This method returns GID of paused download.

    Parameters

    • gid: string

    Returns Promise<string>

    TAria2ClientGID

pauseAll

  • pauseAll(): Promise<string>
  • This method is equal to calling aria2.pause() for every active/waiting download. This methods returns OK.

    Returns Promise<string>

    TAria2PauseAllResult

prependListener

  • prependListener(eventName: string | symbol, listener: (...args: any[]) => void): Aria2ClientBaseClass<T>
  • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

    server.prependListener('connection', (stream) => {
    console.log('someone connected!');
    });

    Returns a reference to the EventEmitter, so that calls can be chained.

    since

    v6.0.0

    Parameters

    • eventName: string | symbol

      The name of the event.

    • listener: (...args: any[]) => void

      The callback function

        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Aria2ClientBaseClass<T>

prependOnceListener

  • prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): Aria2ClientBaseClass<T>
  • Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

    server.prependOnceListener('connection', (stream) => {
    console.log('Ah, we have our first user!');
    });

    Returns a reference to the EventEmitter, so that calls can be chained.

    since

    v6.0.0

    Parameters

    • eventName: string | symbol

      The name of the event.

    • listener: (...args: any[]) => void

      The callback function

        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Aria2ClientBaseClass<T>

purgeDownloadResult

  • purgeDownloadResult(): Promise<string>
  • This method purges completed/error/removed downloads to free memory. This method returns OK.

    Returns Promise<string>

    TAria2PurgeDownloadResult

Abstract rawCall

  • rawCall<T, R>(methods: string, ...args: T[]): Promise<R>
  • [Unsafe] Call any method with any params.

    example
    await aria2.rawCall('aria2.getVersion');
    

    Type parameters

    • T

    • R

    Parameters

    • methods: string

      The RPC Method.

    • Rest ...args: T[]

    Returns Promise<R>

rawListeners

  • rawListeners(eventName: string | symbol): Function[]
  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    since

    v9.4.0

    Parameters

    • eventName: string | symbol

    Returns Function[]

Abstract rawSend

  • rawSend<T>(data: T): Promise<void>
  • [Unsafe, Don't await or .then] Send Any Data

    Type parameters

    • T

    Parameters

    • data: T

      Your Data, Buffer, string....

      await aria2.rawSend(JSON.stringify({}));
      

    Returns Promise<void>

remove

  • remove(gid: string): Promise<string>
  • This method removes the download denoted by gid (string). If the specified download is in progress, it is first stopped. The status of the removed download becomes removed. This method returns GID of removed download.

    The following examples remove a download with GID#2089b05ecca3d829.

    example
    await aria2.remove('2089b05ecca3d829')
    

    Parameters

    • gid: string

    Returns Promise<string>

    TAria2ClientGID

removeAllListeners

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    since

    v0.1.26

    Parameters

    • Optional event: string | symbol

    Returns Aria2ClientBaseClass<T>

removeDownloadResult

  • removeDownloadResult(gid: string): Promise<string>
  • This method removes a completed/error/removed download denoted by gid from memory. This method returns OK for success.

    The following examples remove the download result of the download GID#2089b05ecca3d829.

    example
    await aria2.removeDownloadResult('2089b05ecca3d829');
    

    Parameters

    • gid: string

    Returns Promise<string>

    TAria2RemoveDownloadResult

removeListener

  • removeListener(eventName: string | symbol, listener: (...args: any[]) => void): Aria2ClientBaseClass<T>
  • Removes the specified listener from the listener array for the event namedeventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);

    removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

    Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and_before_ the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

    const myEmitter = new MyEmitter();

    const callbackA = () => {
    console.log('A');
    myEmitter.removeListener('event', callbackB);
    };

    const callbackB = () => {
    console.log('B');
    };

    myEmitter.on('event', callbackA);

    myEmitter.on('event', callbackB);

    // callbackA removes listener callbackB but it will still be called.
    // Internal listener array at time of emit [callbackA, callbackB]
    myEmitter.emit('event');
    // Prints:
    // A
    // B

    // callbackB is now removed.
    // Internal listener array [callbackA]
    myEmitter.emit('event');
    // Prints:
    // A

    Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, but it means that any copies of the listener array as returned by the emitter.listeners() method will need to be recreated.

    When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping')listener is removed:

    const ee = new EventEmitter();

    function pong() {
    console.log('pong');
    }

    ee.on('ping', pong);
    ee.once('ping', pong);
    ee.removeListener('ping', pong);

    ee.emit('ping');
    ee.emit('ping');

    Returns a reference to the EventEmitter, so that calls can be chained.

    since

    v0.1.26

    Parameters

    • eventName: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Aria2ClientBaseClass<T>

saveSession

  • saveSession(): Promise<string>
  • This method saves the current session to a file specified by the --save-session option. This method returns OK if it succeeds.

    example
    await aria2.saveSession();
    

    Returns Promise<string>

    TAria2SaveSessionResult

setMaxListeners

  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

    Returns a reference to the EventEmitter, so that calls can be chained.

    since

    v0.3.5

    Parameters

    • n: number

    Returns Aria2ClientBaseClass<T>

shutdown

  • shutdown(): Promise<string>
  • This method shuts down aria2. This method returns OK.

    example
    await aria2.shutdown();
    

    Returns Promise<string>

    TAria2ShutdownResult

tellActive

tellStatus

  • This method returns the progress of the download denoted by gid (string). keys is an array of strings. If specified, the response contains only keys in the keys array. If keys is empty or omitted, the response contains all keys. This is useful when you just want specific keys and avoid unnecessary transfers. For example, aria2.tellStatus("2089b05ecca3d829", ["gid", "status"]) returns the gid and status keys only. The response is a struct and contains following keys. Values are strings.

    Parameters

    • gid: string

    Returns Promise<IAria2DownloadStatus>

    Pick<IAria2DownloadStatus, T> | IAria2DownloadStatus

  • Type parameters

    Parameters

    • gid: string
    • keys: T[]

    Returns Promise<Pick<IAria2DownloadStatus, T>>

tellStopped

  • This method returns a list of stopped downloads. offset is an integer and specifies the offset from the least recently stopped download. num is an integer and specifies the max. number of downloads to be returned. For the keys parameter, please refer to the aria2.tellStatus() method.

    offset and num have the same semantics as described in the aria2.tellWaiting() method.

    The response is an array of the same structs as returned by the aria2.tellStatus() method.

    Parameters

    • offset: number
    • num: number

    Returns Promise<IAria2DownloadStatus[]>

    Pick<IAria2DownloadStatus, T>[] | IAria2DownloadStatus[]

  • Type parameters

    Parameters

    • offset: number
    • num: number
    • keys: T[]

    Returns Promise<Pick<IAria2DownloadStatus, T>[]>

tellWaiting

  • This method returns a list of waiting downloads, including paused ones. offset is an integer and specifies the offset from the download waiting at the front. num is an integer and specifies the max. number of downloads to be returned. For the keys parameter, please refer to the aria2.tellStatus() method.

    If offset is a positive integer, this method returns downloads in the range of [offset, offset + num).

    offset can be a negative integer. offset == -1 points last download in the waiting queue and offset == -2 points the download before the last download, and so on. Downloads in the response are in reversed order then.

    For example, imagine three downloads "A", "B" and "C" are waiting in this order. aria2.tellWaiting(0, 1) returns ["A"]. aria2.tellWaiting(1, 2) returns ["B", "C"]. aria2.tellWaiting(-1, 2) returns ["C", "B"].

    The response is an array of the same structs as returned by aria2.tellStatus() method.

    Parameters

    • offset: number
    • num: number

    Returns Promise<IAria2DownloadStatus[]>

    Pick<IAria2DownloadStatus, T>[] | IAria2DownloadStatus[]

  • Type parameters

    Parameters

    • offset: number
    • num: number
    • keys: T[]

    Returns Promise<Pick<IAria2DownloadStatus, T>[]>

unpause

  • unpause(gid: string): Promise<string>
  • This method changes the status of the download denoted by gid (string) from paused to waiting, making the download eligible to be restarted. This method returns the GID of the unpaused download.

    Parameters

    • gid: string

    Returns Promise<string>

    TAria2ClientGID

unpauseAll

  • unpauseAll(): Promise<string>
  • This method is equal to calling aria2.unpause() for every paused download. This methods returns OK.

    Returns Promise<string>

    TAria2PauseAllResult

Static getEventListeners

  • getEventListeners(emitter: DOMEventTarget | EventEmitter, name: string | symbol): Function[]
  • Returns a copy of the array of listeners for the event named eventName.

    For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

    For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

    const { getEventListeners, EventEmitter } = require('events');

    {
    const ee = new EventEmitter();
    const listener = () => console.log('Events are fun');
    ee.on('foo', listener);
    getEventListeners(ee, 'foo'); // [listener]
    }
    {
    const et = new EventTarget();
    const listener = () => console.log('Events are fun');
    et.addEventListener('foo', listener);
    getEventListeners(et, 'foo'); // [listener]
    }
    since

    v15.2.0

    Parameters

    • emitter: DOMEventTarget | EventEmitter
    • name: string | symbol

    Returns Function[]

Static listenerCount

  • listenerCount(emitter: EventEmitter, eventName: string | symbol): number
  • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

    const { EventEmitter, listenerCount } = require('events');
    const myEmitter = new EventEmitter();
    myEmitter.on('event', () => {});
    myEmitter.on('event', () => {});
    console.log(listenerCount(myEmitter, 'event'));
    // Prints: 2
    since

    v0.9.12

    deprecated

    Since v3.2.0 - Use listenerCount instead.

    Parameters

    • emitter: EventEmitter

      The emitter to query

    • eventName: string | symbol

      The event name

    Returns number

Static on

  • on(emitter: EventEmitter, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
  • ```js const { on, EventEmitter } = require('events');

    (async () => { const ee = new EventEmitter();

    // Emit later on process.nextTick(() => { ee.emit('foo', 'bar'); ee.emit('foo', 42); });

    for await (const event of on(ee, 'foo')) { // The execution of this inner block is synchronous and it // processes one event at a time (even with await). Do not use // if concurrent execution is required. console.log(event); // prints ['bar'] [42] } // Unreachable here })();


    Returns an `AsyncIterator` that iterates `eventName` events. It will throw
    if the `EventEmitter` emits `'error'`. It removes all listeners when
    exiting the loop. The `value` returned by each iteration is an array
    composed of the emitted event arguments.

    An `AbortSignal` can be used to cancel waiting on events:

    ```js
    const { on, EventEmitter } = require('events');
    const ac = new AbortController();

    (async () => {
    const ee = new EventEmitter();

    // Emit later on
    process.nextTick(() => {
    ee.emit('foo', 'bar');
    ee.emit('foo', 42);
    });

    for await (const event of on(ee, 'foo', { signal: ac.signal })) {
    // The execution of this inner block is synchronous and it
    // processes one event at a time (even with await). Do not use
    // if concurrent execution is required.
    console.log(event); // prints ['bar'] [42]
    }
    // Unreachable here
    })();

    process.nextTick(() => ac.abort());
    since

    v13.6.0, v12.16.0

    Parameters

    • emitter: EventEmitter
    • eventName: string

      The name of the event being listened for

    • Optional options: StaticEventEmitterOptions

    Returns AsyncIterableIterator<any>

    that iterates eventName events emitted by the emitter

Static once

  • once(emitter: NodeEventTarget, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
  • once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
  • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

    This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.

    const { once, EventEmitter } = require('events');

    async function run() {
    const ee = new EventEmitter();

    process.nextTick(() => {
    ee.emit('myevent', 42);
    });

    const [value] = await once(ee, 'myevent');
    console.log(value);

    const err = new Error('kaboom');
    process.nextTick(() => {
    ee.emit('error', err);
    });

    try {
    await once(ee, 'myevent');
    } catch (err) {
    console.log('error happened', err);
    }
    }

    run();

    The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

    const { EventEmitter, once } = require('events');

    const ee = new EventEmitter();

    once(ee, 'error')
    .then(([err]) => console.log('ok', err.message))
    .catch((err) => console.log('error', err.message));

    ee.emit('error', new Error('boom'));

    // Prints: ok boom

    An AbortSignal can be used to cancel waiting for the event:

    const { EventEmitter, once } = require('events');

    const ee = new EventEmitter();
    const ac = new AbortController();

    async function foo(emitter, event, signal) {
    try {
    await once(emitter, event, { signal });
    console.log('event emitted!');
    } catch (error) {
    if (error.name === 'AbortError') {
    console.error('Waiting for the event was canceled!');
    } else {
    console.error('There was an error', error.message);
    }
    }
    }

    foo(ee, 'foo', ac.signal);
    ac.abort(); // Abort waiting for the event
    ee.emit('foo'); // Prints: Waiting for the event was canceled!
    since

    v11.13.0, v10.16.0

    Parameters

    • emitter: NodeEventTarget
    • eventName: string | symbol
    • Optional options: StaticEventEmitterOptions

    Returns Promise<any[]>

  • Parameters

    • emitter: DOMEventTarget
    • eventName: string
    • Optional options: StaticEventEmitterOptions

    Returns Promise<any[]>

Generated using TypeDoc