Nighttime Pachinko Marathon

    eslint-plugin-consistent-subscribe

    1.3.0 • Public • Published

    eslint-plugin-consistent-subscribe

    Build Status npm version License Downloads

    dependencies devDependencies peerDependencies

    Downloads graph

    ESLint rule, checking pairing subscriptions

    Installation

    You'll first need to install ESLint:

    $ npm i eslint --save-dev

    Next, install eslint-plugin-consistent-subscribe:

    $ npm install eslint-plugin-consistent-subscribe --save-dev

    Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-consistent-subscribe globally.

    Usage

    Add consistent-subscribe to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

    {
        "plugins": [
            "consistent-subscribe"
        ]
    }

    Then configure the rules you want to use under the rules section.

    {
        "rules": {
            "consistent-subscribe/consistent-subscribe": 2
        }
    }

    Supported Rules

    consistent-subscribe

    Rule Details

    This rule aims to...
    Examples of incorrect code for this rule:

    $('body').on('click', onClick);
    // subscribe, without unsubscribe

    Examples of correct code for this rule:

    $('body').on('click', onClick);
    setTimeout(() => {
      $('body').off('click', onClick);
    }, 1000);

    Options

    This rule takes a list of objects, where each object describes a separate API subscription.
    Default value is:

    /* eslint-enable consistent-subscribe/consistent-subscribe: [2, {open: 'addEventListener', close: 'removeEventListener'}, {open: 'on',close: 'off'}, {open: 'subscribe',close: 'unsubscribe'}] */
    • open name of subscribe method, i.e. on/subscribe/addEventListener

    • close name of unsubscribe method, i.e. off/unsubscribe/removeEventListener

    • contextEquality. default true - need check, that listened object strict equal The following patterns are not warnings:

      /* eslint-enable consistent-subscribe/consistent-subscribe: [2, {open: 'on',close: 'off', contextEquality: false}] */
      $('body').on('click', onClick);
      $(document.body).off('click', onClick);
    • openArgumentsEquality/closeArgumentsEquality. default true - arguments should strict equal
      If need check not all arguments, this is array of indexed arguments for check\

      The following patterns are considered warnings:

      /* eslint-enable consistent-subscribe/consistent-subscribe: [2, {open: 'on',close: 'off', openArgumentsEquality: true, closeArgumentsEquality: true}] */
      $('body').on('click', onClick);
      $('body').off('click');//missing handler argument

      The following patterns are not warnings:

      /* eslint-enable consistent-subscribe/consistent-subscribe: [2, {open: 'on',close: 'off', openArgumentsEquality: [0], closeArgumentsEquality: [0]}] */
      $('body').on('click', onClick);
      $('body').off('click');//missing handler argument, but it's OK, because checked only first argument

    Author

    © 2016 Viktor Gvozdev gvozdev.viktor@gmail.com and contributors.

    License

    Released under the MIT license.

    Install

    npm i eslint-plugin-consistent-subscribe

    DownloadsWeekly Downloads

    3

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    13.4 kB

    Total Files

    8

    Last publish

    Collaborators

    • gvozd