クラス Window

階層構造

  • BaseApi
    • ウィンドウ

コンストラクタ

プロパティ

_isReady: Promise<boolean> = ...
client: any
data?: number | Buffer
logger: Logger
prefix: string = ...
transport: Transport
captureRejectionSymbol: typeof captureRejectionSymbol
captureRejections: boolean

すべての emitter に対するデフォルトの captureRejection 値を設定または取得します。

defaultMaxListeners: number
errorMonitor: typeof errorMonitor

このシンボルは、'error'イベントの監視専用のリスナーをインストールするために使用します。このシンボルを使用してインストールされたリスナーは、通常の'error'リスナーが呼び出される前に呼び出されます。

このシンボルを使用してリスナーをインストールしても、'error'イベントが発行された後の動作は変わりません。そのため、通常の'error'リスナーがインストールされていない場合、プロセスは依然としてクラッシュします。

アクセサ

  • get col(): Promise<number>
  • ディスプレイセルにおける、画面上のウィンドウの位置(列)を0から始まるインデックスで表します。

    Promise<number>を返します。

  • get cursor(): [number, number] | Promise<[number, number]>
  • カーソルの位置を取得します。

    [number, number] | Promise<[number, number]>を返します。

  • set cursor(pos): void
  • カーソルの位置を設定します。

    パラメータ

    • pos: [number, number] | Promise<[number, number]>

    voidを返します。

  • get height(): number | Promise<number>
  • 行数でウィンドウの高さを取得します。

    number | Promise<number>を返します。

  • set height(height): void
  • 行数でウィンドウの高さを設定します。

    パラメータ

    • height: number | Promise<number>

    voidを返します。

  • get row(): Promise<number>
  • ディスプレイセルにおける、画面上のウィンドウの位置(行)を0から始まるインデックスで表します。

    Promise<number>を返します。

  • get width(): number | Promise<number>
  • 列数でウィンドウの幅を取得します。

    number | Promise<number>を返します。

  • set width(width): void
  • 列数でウィンドウの幅を設定します。

    パラメータ

    • width: number | Promise<number>

    voidを返します。

メソッド

  • パラメータ

    • name: string
    • args: any[] = []

    Promise<any>を返します。

  • emitter.on(eventName, listener) のエイリアスです。

    パラメータ

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • パラメータ

          • Rest...args: any[]

          voidを返します。

    this を返します。

    v0.1.26

  • パラメータ

    • name: string
    • args: any[] = []

    Promise<any>を返します。

  • ウィンドウを閉じます。

    パラメータ

    • force: boolean = false

      ウィンドウを強制的に閉じます。

    Promise<any>を返します。

  • ウィンドウの位置を構成します。現在、これはフローティングウィンドウと外部ウィンドウ(分割ウィンドウをこれらのタイプに変更する場合を含む)の構成にのみ使用されます。

    パラメータの意味については、|nvim_open_win()| のドキュメントを参照してください。「width」と「height」に -1 を渡すと、既存のサイズが維持されます。

    フローティングウィンドウを再構成する際、オプションキーがない場合は変更されません。次の制限が適用されます。`row`、`col`、`relative` は一緒に再構成する必要があります。これらのサブセットのみを変更することはエラーです。

    パラメータ

    • options: object = {}

    Promise<any>を返します。

    options オプションオブジェクト

  • スコープ付き変数を削除します。

    パラメータ

    • name: string

    Promise<void> を返します。

  • 登録された順に、`eventName` という名前のイベントに登録されている各リスナーを同期的に呼び出し、各リスナーに指定された引数を渡します。

    イベントにリスナーがある場合は `true`、ない場合は `false` を返します。

    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

    パラメータ

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

    boolean を返します。

    v0.1.26

  • エミッターがリスナーを登録しているイベントをリストする配列を返します。配列内の値は文字列または `Symbol` です。

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

    (string | symbol)[] を返します。

    v6.0.0

  • EventEmitter の現在の最大リスナー値を返します。これは、`emitter.setMaxListeners(n)` で設定されているか、defaultMaxListeners にデフォルト設定されています。

    numberを返します。

    v1.0.0

  • `this` のタイプに応じてスコープ付きオプションを取得します。

    パラメータ

    • name: string

    void | Promise<VimValue> を返します。

  • タイプ(`this.prefix` を使用)に応じてスコープ付き変数を取得します。

    パラメータ

    • name: string

    Promise<VimValue> を返します。

  • `eventName` という名前のイベントをリッスンしているリスナーの数を返します。

    パラメータ

    • eventName: string | symbol

      リスン対象のイベント名

    numberを返します。

    v3.2.0

  • `eventName` という名前のイベントのリスナーの配列のコピーを返します。

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

    パラメータ

    • eventName: string | symbol

    Function[] を返します。

    v0.1.26

  • requestメソッドは基本的に同じですが、Promiseが解決されるのを待つことも選択できます。

    パラメータ

    • name: string
    • args: any[]

    voidを返します。

  • emitter.removeListener()のエイリアスです。

    パラメータ

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • パラメータ

          • Rest...args: any[]

          voidを返します。

    this を返します。

    v10.0.0

  • eventNameという名前のイベントのリスナー配列の最後に、listener関数を追加します。listenerが既に追加されているかどうかはチェックされません。同じeventNamelistenerの組み合わせを複数回渡すと、listenerが複数回追加され、呼び出されます。

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

    EventEmitterへの参照を返し、呼び出しをチェーンできます。

    デフォルトでは、イベントリスナーは追加された順に呼び出されます。emitter.prependListener()メソッドは、イベントリスナーをリスナー配列の先頭に追加する代替手段として使用できます。

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

    パラメータ

    • eventName: string | symbol

      イベントの名前。

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

      コールバック関数

        • (...args): void
        • パラメータ

          • Rest...args: any[]

          voidを返します。

    this を返します。

    v0.1.101

  • eventNameという名前のイベントに対して、**一度だけ**実行されるlistener関数を追加します。次回eventNameがトリガーされると、このリスナーは削除されてから呼び出されます。

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

    EventEmitterへの参照を返し、呼び出しをチェーンできます。

    デフォルトでは、イベントリスナーは追加された順に呼び出されます。emitter.prependOnceListener()メソッドは、イベントリスナーをリスナー配列の先頭に追加する代替手段として使用できます。

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

    パラメータ

    • eventName: string | symbol

      イベントの名前。

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

      コールバック関数

        • (...args): void
        • パラメータ

          • Rest...args: any[]

          voidを返します。

    this を返します。

    v0.3.0

  • eventNameという名前のイベントのリスナー配列の先頭に、listener関数を追加します。listenerが既に追加されているかどうかはチェックされません。同じeventNamelistenerの組み合わせを複数回渡すと、listenerが複数回追加され、呼び出されます。

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

    EventEmitterへの参照を返し、呼び出しをチェーンできます。

    パラメータ

    • eventName: string | symbol

      イベントの名前。

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

      コールバック関数

        • (...args): void
        • パラメータ

          • Rest...args: any[]

          voidを返します。

    this を返します。

    v6.0.0

  • リスナー配列の先頭に、eventNameという名前のイベントに対して**一度だけ**実行されるlistener関数を追加します。次回eventNameがトリガーされると、このリスナーは削除されてから呼び出されます。

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

    EventEmitterへの参照を返し、呼び出しをチェーンできます。

    パラメータ

    • eventName: string | symbol

      イベントの名前。

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

      コールバック関数

        • (...args): void
        • パラメータ

          • Rest...args: any[]

          voidを返します。

    this を返します。

    v6.0.0

  • eventNameという名前のイベントのリスナー配列のコピーを返します。ラッパー(.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');

    パラメータ

    • eventName: string | symbol

    Function[] を返します。

    v9.4.0

  • すべてのリスナー、または指定されたeventNameのリスナーを削除します。

    コードの他の場所で追加されたリスナーを削除するのは、特にEventEmitterインスタンスが他のコンポーネントまたはモジュール(ソケットやファイルストリームなど)によって作成された場合、悪習です。

    EventEmitterへの参照を返し、呼び出しをチェーンできます。

    パラメータ

    • Optionalevent: string | symbol

    this を返します。

    v0.1.26

  • eventNameという名前のイベントのリスナー配列から、指定されたlistenerを削除します。

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

    removeListener()は、リスナー配列からリスナーのインスタンスを最大1つ削除します。指定されたeventNameのリスナー配列に単一のリスナーが複数回追加されている場合、各インスタンスを削除するには、removeListener()を複数回呼び出す必要があります。

    イベントが発行されると、発行時のすべてのリスナーが順番に呼び出されます。これは、発行後、最後のリスナーの実行前に行われたremoveListener()またはremoveAllListeners()の呼び出しは、進行中のemit()からそれらを削除しないことを意味します。後続のイベントは期待通りに動作します。

    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

    リスナーは内部配列を使用して管理されているため、これを実行すると、削除されるリスナーの後に登録されたリスナーの位置インデックスが変更されます。これはリスナーが呼び出される順序には影響しませんが、emitter.listeners()メソッドによって返されるリスナー配列のコピーは再作成する必要があることを意味します。

    単一の関数が単一のイベントに対してハンドラーとして複数回追加された場合(以下の例を参照)、removeListener()は最後に追加されたインスタンスを削除します。この例では、once('ping')リスナーが削除されます。

    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');

    EventEmitterへの参照を返し、呼び出しをチェーンできます。

    パラメータ

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • パラメータ

          • Rest...args: any[]

          voidを返します。

    this を返します。

    v0.1.26

  • パラメータ

    • name: string
    • args: any[] = []

    Promise<any>を返します。

  • デフォルトでは、特定のイベントに対して10個以上のリスナーが追加されると、EventEmitterは警告を出力します。これは、メモリリークを見つけるのに役立つ便利なデフォルトです。emitter.setMaxListeners()メソッドを使用すると、この特定のEventEmitterインスタンスの制限を変更できます。値をInfinity(または0)に設定して、リスナーの数を無制限に指定できます。

    EventEmitterへの参照を返し、呼び出しをチェーンできます。

    パラメータ

    • n: number

    this を返します。

    v0.3.5

  • スコープされたオプションを設定します。

    パラメータ

    • name: string
    • value: VimValue

    戻り値 void | Promise<void>

  • スコープされた変数を設定します。

    パラメータ

    • name: string
    • value: VimValue

    Promise<void> を返します。

  • `eventName` という名前のイベントのリスナーの配列のコピーを返します。

    EventEmitterの場合、これはemitterに対して.listenersを呼び出すことと全く同じ動作をします。

    EventTargetの場合、これはイベントターゲットのイベントリスナーを取得する唯一の方法です。これはデバッグや診断の目的で役立ちます。

    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]
    }

    パラメータ

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

    Function[] を返します。

    v15.2.0

  • 指定されたemitterに登録されている、指定されたeventNameのリスナーの数を返すクラスメソッドです。

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

    パラメータ

    • emitter: EventEmitter

      クエリ対象のemitter

    • eventName: string | symbol

      イベント名

    numberを返します。

    v0.9.12

    v3.2.0以降 - 代わりにlistenerCountを使用してください。

  • 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
    })();

    eventNameイベントを反復処理するAsyncIteratorを返します。EventEmitter'error'をemitした場合、例外をスローします。ループを終了するときに、すべてのリスナーを削除します。各反復処理によって返されるvalueは、emitされたイベント引数で構成される配列です。

    イベントの待機をキャンセルするために、AbortSignalを使用できます。

    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());

    パラメータ

    • emitter: EventEmitter
    • eventName: string

      リスン対象のイベント名

    • オプションoptions: StaticEventEmitterOptions

    戻り値 AsyncIterableIterator<any>

    emitterによってemitされたeventNameイベントを反復処理します。

    v13.6.0, v12.16.0

  • EventEmitterが指定されたイベントをemitしたときに解決される、または待機中にEventEmitter'error'をemitしたときに拒否されるPromiseを作成します。Promiseは、指定されたイベントにemitされたすべての引数の配列で解決されます。

    このメソッドは意図的にジェネリックであり、特別な'error'イベントセマンティクスを持たず、'error'イベントをlistenしないWebプラットフォームのEventTargetインターフェースで動作します。

    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();

    'error'イベントの特別な処理は、events.once()が別のイベントを待つために使用されている場合にのみ使用されます。events.once()'error'イベント自体を待つために使用される場合、特別な処理なしで他の種類のイベントとして扱われます。

    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

    イベントの待機をキャンセルするために、AbortSignalを使用できます。

    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!

    パラメータ

    • emitter: NodeEventTarget
    • eventName: string | symbol
    • オプションoptions: StaticEventEmitterOptions

    戻り値 Promise<any[]>

    v11.13.0, v10.16.0

  • パラメータ

    • emitter: DOMEventTarget
    • eventName: string
    • オプションoptions: StaticEventEmitterOptions

    戻り値 Promise<any[]>