buddy

node MVC discord bot
Log | Files | Refs | README

README.md (3223B)


      1 # abort-controller
      2 
      3 [![npm version](https://img.shields.io/npm/v/abort-controller.svg)](https://www.npmjs.com/package/abort-controller)
      4 [![Downloads/month](https://img.shields.io/npm/dm/abort-controller.svg)](http://www.npmtrends.com/abort-controller)
      5 [![Build Status](https://travis-ci.org/mysticatea/abort-controller.svg?branch=master)](https://travis-ci.org/mysticatea/abort-controller)
      6 [![Coverage Status](https://codecov.io/gh/mysticatea/abort-controller/branch/master/graph/badge.svg)](https://codecov.io/gh/mysticatea/abort-controller)
      7 [![Dependency Status](https://david-dm.org/mysticatea/abort-controller.svg)](https://david-dm.org/mysticatea/abort-controller)
      8 
      9 An implementation of [WHATWG AbortController interface](https://dom.spec.whatwg.org/#interface-abortcontroller).
     10 
     11 ```js
     12 import AbortController from "abort-controller"
     13 
     14 const controller = new AbortController()
     15 const signal = controller.signal
     16 
     17 signal.addEventListener("abort", () => {
     18     console.log("aborted!")
     19 })
     20 
     21 controller.abort()
     22 ```
     23 
     24 > https://jsfiddle.net/1r2994qp/1/
     25 
     26 ## 💿 Installation
     27 
     28 Use [npm](https://www.npmjs.com/) to install then use a bundler.
     29 
     30 ```
     31 npm install abort-controller
     32 ```
     33 
     34 Or download from [`dist` directory](./dist).
     35 
     36 - [dist/abort-controller.mjs](dist/abort-controller.mjs) ... ES modules version.
     37 - [dist/abort-controller.js](dist/abort-controller.js) ... Common JS version.
     38 - [dist/abort-controller.umd.js](dist/abort-controller.umd.js) ... UMD (Universal Module Definition) version. This is transpiled by [Babel](https://babeljs.io/) for IE 11.
     39 
     40 ## 📖 Usage
     41 
     42 ### Basic
     43 
     44 ```js
     45 import AbortController from "abort-controller"
     46 // or
     47 const AbortController = require("abort-controller")
     48 
     49 // or UMD version defines a global variable:
     50 const AbortController = window.AbortControllerShim
     51 ```
     52 
     53 If your bundler recognizes `browser` field of `package.json`, the imported `AbortController` is the native one and it doesn't contain shim (even if the native implementation was nothing).
     54 If you wanted to polyfill `AbortController` for IE, use `abort-controller/polyfill`.
     55 
     56 ### Polyfilling
     57 
     58 Importing `abort-controller/polyfill` assigns the `AbortController` shim to the `AbortController` global variable if the native implementation was nothing.
     59 
     60 ```js
     61 import "abort-controller/polyfill"
     62 // or
     63 require("abort-controller/polyfill")
     64 ```
     65 
     66 ### API
     67 
     68 #### AbortController
     69 
     70 > https://dom.spec.whatwg.org/#interface-abortcontroller
     71 
     72 ##### controller.signal
     73 
     74 The [AbortSignal](https://dom.spec.whatwg.org/#interface-AbortSignal) object which is associated to this controller.
     75 
     76 ##### controller.abort()
     77 
     78 Notify `abort` event to listeners that the `signal` has.
     79 
     80 ## 📰 Changelog
     81 
     82 - See [GitHub releases](https://github.com/mysticatea/abort-controller/releases).
     83 
     84 ## 🍻 Contributing
     85 
     86 Contributing is welcome ❤️
     87 
     88 Please use GitHub issues/PRs.
     89 
     90 ### Development tools
     91 
     92 - `npm install` installs dependencies for development.
     93 - `npm test` runs tests and measures code coverage.
     94 - `npm run clean` removes temporary files of tests.
     95 - `npm run coverage` opens code coverage of the previous test with your default browser.
     96 - `npm run lint` runs ESLint.
     97 - `npm run build` generates `dist` codes.
     98 - `npm run watch` runs tests on each file change.