ledger-app-cosmos
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.104 • Public • Published

    ledger-app-cosmos / Exports

    ledger-app-cosmos

    TypeScript/JavaScript client library to communicate with a Tendermint/Cosmos App running in a Ledger Nano S/X

    Installation

    Install with npm:

    $ npm install --save ledger-app-cosmos

    Install with yarn:

    $ yarn add ledger-app-cosmos

    Demo

    Try online demo

    Documentation

    Try online documentation

    Screenshot

    Example

    Classes

    ledger-app-cosmos / Exports / Cosmos

    Class: Cosmos

    [[include:cosmos/properties.md]]

    [[include:installation.md]]

    [[include:cosmos/usage.md]]

    [[include:cosmos/demo.md]]

    Table of contents

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    constructor

    new Cosmos(transport, scrambleKey?)

    Parameters
    Name Type
    transport default
    scrambleKey string
    Defined in

    src/lib/cosmos/index.ts:71

    Properties

    scrambleKey

    Readonly scrambleKey: string

    Accessors

    transport

    get transport(): default

    Returns

    default

    Defined in

    src/lib/cosmos/index.ts:94

    set transport(transport): void

    Parameters
    Name Type
    transport default
    Returns

    void

    Defined in

    src/lib/cosmos/index.ts:98

    Methods

    debug

    debug(debug): void

    Parameters
    Name Type
    debug boolean
    Returns

    void

    Defined in

    src/lib/cosmos/index.ts:82


    getAddressAndPublicKey

    getAddressAndPublicKey(path, hrp, p1?, p2?): Promise<APK>

    Parameters
    Name Type Default value
    path string | number[] undefined
    hrp string undefined
    p1 number undefined
    p2 number 0
    Returns

    Promise<APK>

    Defined in

    src/lib/cosmos/index.ts:367


    getApplicationInformation

    getApplicationInformation(): Promise<ApplicationInformation>

    Returns

    Promise<ApplicationInformation>

    Defined in

    src/lib/cosmos/index.ts:190


    getBech32FromPK

    getBech32FromPK(hrp, pk): string

    Parameters
    Name Type
    hrp string
    pk Buffer
    Returns

    string

    Defined in

    src/lib/cosmos/index.ts:143


    getDeviceInformation

    getDeviceInformation(): Promise<DeviceInformation>

    Returns

    Promise<DeviceInformation>

    Defined in

    src/lib/cosmos/index.ts:257


    getPublicKey

    getPublicKey(path): Promise<PK>

    Parameters
    Name Type
    path string | number[]
    Returns

    Promise<PK>

    Defined in

    src/lib/cosmos/index.ts:339


    getVersion

    getVersion(force?): Promise<Version>

    Parameters
    Name Type Default value
    force boolean true
    Returns

    Promise<Version>

    Defined in

    src/lib/cosmos/index.ts:174


    serializeHRP

    serializeHRP(hrp): Buffer

    Parameters
    Name Type
    hrp string
    Returns

    Buffer

    Defined in

    src/lib/cosmos/index.ts:128


    serializePath

    serializePath(path): Promise<Buffer>

    Parameters
    Name Type
    path string | readonly number[]
    Returns

    Promise<Buffer>

    Defined in

    src/lib/cosmos/index.ts:157


    showAddressAndPubKey

    showAddressAndPubKey(path, hrp, p1?, p2?): Promise<APK>

    Parameters
    Name Type Default value
    path string | number[] undefined
    hrp string undefined
    p1 number undefined
    p2 number 0
    Returns

    Promise<APK>

    Defined in

    src/lib/cosmos/index.ts:405


    sign

    sign(path, data, size?): Promise<Signature>

    Parameters
    Name Type
    path string | number[]
    data any
    size number
    Returns

    Promise<Signature>

    Defined in

    src/lib/cosmos/index.ts:414

    ledger-app-cosmos / Exports / Ledger

    Class: Ledger

    [[include:ledgerer/properties.md]]

    [[include:installation.md]]

    [[include:ledgerer/usage.md]]

    [[include:ledgerer/demo.md]]

    Hierarchy

    • EventEmitter

      Ledger

    Table of contents

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    constructor

    new Ledger(options?)

    Parameters
    Name Type
    options LedgerOptions
    Overrides

    events.EventEmitter.constructor

    Defined in

    src/lib/Ledger.ts:123

    Properties

    EVENTS

    Readonly EVENTS: typeof EVENTS

    Defined in

    src/lib/Ledger.ts:91


    error

    error: null | Error = null

    Defined in

    src/lib/Ledger.ts:90


    isConnecting

    isConnecting: boolean = false

    Defined in

    src/lib/Ledger.ts:93


    isDisconnecting

    isDisconnecting: boolean = false

    Defined in

    src/lib/Ledger.ts:94


    EVENTS

    Static Readonly EVENTS: typeof EVENTS

    Defined in

    src/lib/Ledger.ts:83


    captureRejectionSymbol

    Static Readonly captureRejectionSymbol: typeof captureRejectionSymbol

    Inherited from

    events.EventEmitter.captureRejectionSymbol

    Defined in

    node_modules/@types/node/events.d.ts:273


    captureRejections

    Static captureRejections: boolean

    Sets or gets the default captureRejection value for all emitters.

    Inherited from

    events.EventEmitter.captureRejections

    Defined in

    node_modules/@types/node/events.d.ts:278


    defaultMaxListeners

    Static defaultMaxListeners: number

    Inherited from

    events.EventEmitter.defaultMaxListeners

    Defined in

    node_modules/@types/node/events.d.ts:279


    errorMonitor

    Static Readonly 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.

    Inherited from

    events.EventEmitter.errorMonitor

    Defined in

    node_modules/@types/node/events.d.ts:272

    Accessors

    cosmos

    get cosmos(): null | Cosmos

    Returns

    null | Cosmos

    Defined in

    src/lib/Ledger.ts:225


    device

    get device(): null | Device

    Returns

    null | Device

    Defined in

    src/lib/Ledger.ts:232


    model

    get model(): null | Model

    Returns

    null | Model

    Defined in

    src/lib/Ledger.ts:236


    transport

    get transport(): null | default

    Returns

    null | default

    Defined in

    src/lib/Ledger.ts:221


    instance

    Static get instance(): Ledger

    Returns

    Ledger

    Defined in

    src/lib/Ledger.ts:117

    Methods

    addListener

    addListener(eventName, listener): Ledger

    Alias for emitter.on(eventName, listener).

    since v0.1.26

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

    Ledger

    Inherited from

    events.EventEmitter.addListener

    Defined in

    node_modules/@types/node/events.d.ts:299


    connect

    connect(request?, force?, emit?): Promise<null | default>

    Parameters
    Name Type Default value
    request boolean false
    force boolean false
    emit boolean true
    Returns

    Promise<null | default>

    Defined in

    src/lib/Ledger.ts:240


    debug

    debug(debug): void

    Parameters
    Name Type
    debug boolean
    Returns

    void

    Defined in

    src/lib/Ledger.ts:105


    disconnect

    disconnect(force?, emit?): Promise<boolean>

    Parameters
    Name Type Default value
    force boolean false
    emit boolean true
    Returns

    Promise<boolean>

    Defined in

    src/lib/Ledger.ts:274


    emit

    emit(eventName, ...args): 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
    Name Type
    eventName string | symbol
    ...args any[]
    Returns

    boolean

    Inherited from

    events.EventEmitter.emit

    Defined in

    node_modules/@types/node/events.d.ts:555


    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)[]

    Inherited from

    events.EventEmitter.eventNames

    Defined in

    node_modules/@types/node/events.d.ts:614


    getAddressAndPublicKey

    getAddressAndPublicKey(path, hrp, p1?, p2?): Promise<null | APK>

    Parameters
    Name Type
    path string | number[]
    hrp string
    p1? number
    p2? number
    Returns

    Promise<null | APK>

    Defined in

    src/lib/Ledger.ts:355


    getApplicationInformation

    getApplicationInformation(): Promise<null | ApplicationInformation>

    Returns

    Promise<null | ApplicationInformation>

    Defined in

    src/lib/Ledger.ts:337


    getBech32FromPK

    getBech32FromPK(hrp, pk): null | string

    Parameters
    Name Type
    hrp string
    pk Buffer
    Returns

    null | string

    Defined in

    src/lib/Ledger.ts:319


    getDeviceInformation

    getDeviceInformation(): Promise<null | DeviceInformation>

    Returns

    Promise<null | DeviceInformation>

    Defined in

    src/lib/Ledger.ts:343


    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

    Inherited from

    events.EventEmitter.getMaxListeners

    Defined in

    node_modules/@types/node/events.d.ts:471


    getPublicKey

    getPublicKey(path): Promise<null | PK>

    Parameters
    Name Type
    path string | number[]
    Returns

    Promise<null | PK>

    Defined in

    src/lib/Ledger.ts:349


    getVersion

    getVersion(): Promise<null | Version>

    Returns

    Promise<null | Version>

    Defined in

    src/lib/Ledger.ts:331


    listenerCount

    listenerCount(eventName): number

    Returns the number of listeners listening to the event named eventName.

    since v3.2.0

    Parameters
    Name Type Description
    eventName string | symbol The name of the event being listened for
    Returns

    number

    Inherited from

    events.EventEmitter.listenerCount

    Defined in

    node_modules/@types/node/events.d.ts:561


    listeners

    listeners(eventName): 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
    Name Type
    eventName string | symbol
    Returns

    Function[]

    Inherited from

    events.EventEmitter.listeners

    Defined in

    node_modules/@types/node/events.d.ts:484


    off

    off(eventName, listener): Ledger

    Alias for emitter.removeListener().

    since v10.0.0

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

    Ledger

    Inherited from

    events.EventEmitter.off

    Defined in

    node_modules/@types/node/events.d.ts:444


    on

    on(eventName, listener): Ledger

    Adds the listener function to the end 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.on('connection', (stream) => {
      console.log('someone connected!');
    });

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

    By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

    const myEE = new EventEmitter();
    myEE.on('foo', () => console.log('a'));
    myEE.prependListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    //   b
    //   a

    since v0.1.101

    Parameters
    Name Type Description
    eventName string | symbol The name of the event.
    listener (...args: any[]) => void The callback function
    Returns

    Ledger

    Inherited from

    events.EventEmitter.on

    Defined in

    node_modules/@types/node/events.d.ts:330


    once

    once(eventName, listener): Ledger

    Adds a one-timelistener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

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

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

    By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

    const myEE = new EventEmitter();
    myEE.once('foo', () => console.log('a'));
    myEE.prependOnceListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    //   b
    //   a

    since v0.3.0

    Parameters
    Name Type Description
    eventName string | symbol The name of the event.
    listener (...args: any[]) => void The callback function
    Returns

    Ledger

    Inherited from

    events.EventEmitter.once

    Defined in

    node_modules/@types/node/events.d.ts:359


    prependListener

    prependListener(eventName, listener): Ledger

    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
    Name Type Description
    eventName string | symbol The name of the event.
    listener (...args: any[]) => void The callback function
    Returns

    Ledger

    Inherited from

    events.EventEmitter.prependListener

    Defined in

    node_modules/@types/node/events.d.ts:579


    prependOnceListener

    prependOnceListener(eventName, listener): Ledger

    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
    Name Type Description
    eventName string | symbol The name of the event.
    listener (...args: any[]) => void The callback function
    Returns

    Ledger

    Inherited from

    events.EventEmitter.prependOnceListener

    Defined in

    node_modules/@types/node/events.d.ts:595


    rawListeners

    rawListeners(eventName): 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
    Name Type
    eventName string | symbol
    Returns

    Function[]

    Inherited from

    events.EventEmitter.rawListeners

    Defined in

    node_modules/@types/node/events.d.ts:514


    reconnect

    reconnect(request?): Promise<null | default>

    Parameters
    Name Type Default value
    request boolean false
    Returns

    Promise<null | default>

    Defined in

    src/lib/Ledger.ts:270


    removeAllListeners

    removeAllListeners(event?): Ledger

    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
    Name Type
    event? string | symbol
    Returns

    Ledger

    Inherited from

    events.EventEmitter.removeAllListeners

    Defined in

    node_modules/@types/node/events.d.ts:455


    removeListener

    removeListener(eventName, listener): Ledger

    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
    Name Type
    eventName string | symbol
    listener (...args: any[]) => void
    Returns

    Ledger

    Inherited from

    events.EventEmitter.removeListener

    Defined in

    node_modules/@types/node/events.d.ts:439


    serializeHRP

    serializeHRP(hrp): null | Buffer

    Parameters
    Name Type
    hrp string
    Returns

    null | Buffer

    Defined in

    src/lib/Ledger.ts:315


    serializePath

    serializePath(path): Promise<null | Buffer>

    Parameters
    Name Type
    path string | readonly number[]
    Returns

    Promise<null | Buffer>

    Defined in

    src/lib/Ledger.ts:323


    setMaxListeners

    setMaxListeners(n): Ledger

    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
    Name Type
    n number
    Returns

    Ledger

    Inherited from

    events.EventEmitter.setMaxListeners

    Defined in

    node_modules/@types/node/events.d.ts:465


    showAddressAndPubKey

    showAddressAndPubKey(path, hrp, p1?, p2?): Promise<null | APK>

    Parameters
    Name Type
    path string | number[]
    hrp string
    p1? number
    p2? number
    Returns

    Promise<null | APK>

    Defined in

    src/lib/Ledger.ts:366


    sign

    sign(path, data, size?): Promise<null | Signature>

    Parameters
    Name Type
    path string | number[]
    data any
    size? number
    Returns

    Promise<null | Signature>

    Defined in

    src/lib/Ledger.ts:377


    transporter

    transporter(request?): Promise<null | default>

    Parameters
    Name Type Default value
    request boolean false
    Returns

    Promise<null | default>

    Defined in

    src/lib/Ledger.ts:427


    u2f

    u2f(): Promise<null | default>

    Returns

    Promise<null | default>

    Defined in

    src/lib/Ledger.ts:131


    webBle

    webBle(request?): Promise<null | default>

    Parameters
    Name Type Default value
    request boolean false
    Returns

    Promise<null | default>

    Defined in

    src/lib/Ledger.ts:195


    webHID

    webHID(request?): Promise<null | default>

    Parameters
    Name Type Default value
    request boolean false
    Returns

    Promise<null | default>

    Defined in

    src/lib/Ledger.ts:173


    webUSB

    webUSB(request?): Promise<null | default>

    Parameters
    Name Type Default value
    request boolean false
    Returns

    Promise<null | default>

    Defined in

    src/lib/Ledger.ts:151


    getEventListeners

    Static getEventListeners(emitter, name): 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
    Name Type
    emitter DOMEventTarget | EventEmitter
    name string | symbol
    Returns

    Function[]

    Inherited from

    events.EventEmitter.getEventListeners

    Defined in

    node_modules/@types/node/events.d.ts:262


    listenerCount

    Static listenerCount(emitter, eventName): 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
    Name Type Description
    emitter EventEmitter The emitter to query
    eventName string | symbol The event name
    Returns

    number

    Inherited from

    events.EventEmitter.listenerCount

    Defined in

    node_modules/@types/node/events.d.ts:234


    on

    Static on(emitter, eventName, options?): AsyncIterableIterator<any>

    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:

    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
    Name Type Description
    emitter EventEmitter -
    eventName string The name of the event being listened for
    options? StaticEventEmitterOptions -
    Returns

    AsyncIterableIterator<any>

    that iterates eventName events emitted by the emitter

    Inherited from

    events.EventEmitter.on

    Defined in

    node_modules/@types/node/events.d.ts:217


    once

    Static once(emitter, eventName, options?): 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 platformEventTarget 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
    Name Type
    emitter NodeEventTarget
    eventName string | symbol
    options? StaticEventEmitterOptions
    Returns

    Promise<any[]>

    Inherited from

    events.EventEmitter.once

    Defined in

    node_modules/@types/node/events.d.ts:157

    Static once(emitter, eventName, options?): Promise<any[]>

    Parameters
    Name Type
    emitter DOMEventTarget
    eventName string
    options? StaticEventEmitterOptions
    Returns

    Promise<any[]>

    Inherited from

    events.EventEmitter.once

    Defined in

    node_modules/@types/node/events.d.ts:158

    Enums

    ledger-app-cosmos / Exports / EVENTS

    Enumeration: EVENTS

    Table of contents

    Enumeration members

    Enumeration members

    CONNECTED

    CONNECTED = "CONNECTED"

    Defined in

    src/lib/Ledger.ts:30


    DISCONNECTED

    DISCONNECTED = "DISCONNECTED"

    Defined in

    src/lib/Ledger.ts:31

    ledger-app-cosmos / Exports

    ledger-app-cosmos

    Table of contents

    Enumerations

    Classes

    Type aliases

    Variables

    Type aliases

    APK

    Ƭ APK: Partial<Object> & Exception

    Defined in

    src/lib/cosmos/types/index.ts:12


    ApplicationInformation

    Ƭ ApplicationInformation: Partial<Object> & Exception

    Defined in

    src/lib/cosmos/types/index.ts:33


    Device

    Ƭ Device: Object

    Type declaration

    Name Type
    deviceClass number
    deviceProtocol number
    deviceSubclass number
    deviceVersionMajor number
    deviceVersionMinor number
    deviceVersionSubminor number
    manufacturerName string
    opened boolean
    productId number
    productName string
    serialNumber string
    usbVersionMajor number
    usbVersionMinor number
    usbVersionSubminor number
    vendorId number

    Defined in

    src/lib/Ledger.ts:44


    DeviceInformation

    Ƭ DeviceInformation: Partial<Object> & Exception

    Defined in

    src/lib/cosmos/types/index.ts:45


    Exception

    Ƭ Exception: Object

    Type declaration

    Name Type
    error_message string
    return_code number

    Defined in

    src/lib/cosmos/types/index.ts:1


    LedgerOptions

    Ƭ LedgerOptions: Object

    Type declaration

    Name Type
    useU2f? boolean
    useWebBle? boolean
    useWebHID? boolean
    useWebUSB? boolean

    Defined in

    src/lib/Ledger.ts:62


    Model

    Ƭ Model: Object

    Type declaration

    Name Type
    blockSize number
    id string
    legacyUsbProductId number
    memorySize number
    productIdMM number
    productName string
    usbOnly boolean

    Defined in

    src/lib/Ledger.ts:34


    PK

    Ƭ PK: Partial<Object> & Exception

    Defined in

    src/lib/cosmos/types/index.ts:6


    Signature

    Ƭ Signature: Partial<Object> & Exception

    Defined in

    src/lib/cosmos/types/index.ts:18


    Version

    Ƭ Version: Partial<Object> & Exception

    Defined in

    src/lib/cosmos/types/index.ts:23

    Variables

    Ledgerer

    Ledgerer: Ledger

    Defined in

    src/lib/Ledger.ts:445

    Install

    npm i ledger-app-cosmos

    DownloadsWeekly Downloads

    4

    Version

    1.0.104

    License

    Apache-2.0

    Unpacked Size

    283 kB

    Total Files

    41

    Last publish

    Collaborators

    • dimetrix