open-index/open-npm huggingface dataset:
npm package: @jswork/next-fsm
Description: A finite state machine for next.
Author: afei
Latest version: 1.0.1

# next-fsm
> A finite state machine for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-fsm
```

## apis
| api          | params | description            |
| ------------ | ------ | ---------------------- |
| init         | -      | initial state          |
| transitions  | -      | states list            |
| onTransition | -      | When transition change |
| transition   | -      | Change state directly  |

## usage
```js
import NxFsm from 'next-fsm';

const fsm = new nx.Fsm({
  init: false,
  transitions: [
    { name: 'on', from: false, to: true },
    { name: 'off', from: true, to: false }
  ],
  onTransition: function(inEvent) {
    const { value } = inEvent.target;
    times++;
    console.log('current state:', value);
  }
});

fsm.on();
fsm.off();

fsm.transition('on');
fsm.transition('off');
```

## resources
- https://github.com/afeiship/fsm-notes
- https://github.com/jakesgordon/javascript-state-machine

## license
Code released under [the MIT license](https://github.com/afeiship/next-fsm/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-fsm
[version-url]: https://npmjs.org/package/@jswork/next-fsm

[license-image]: https://img.shields.io/npm/l/@jswork/next-fsm
[license-url]: https://github.com/afeiship/next-fsm/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-fsm
[size-url]: https://github.com/afeiship/next-fsm/blob/master/dist/next-fsm.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-fsm
[download-url]: https://www.npmjs.com/package/@jswork/next-fsm
npm package: @jswork/next-get-key
Description: Get key by value.
Author: afei
Latest version: 1.0.0

# next-get-key
> Get key by value.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-get-key
```

## usage
```js
import '@jswork/next-get-key';

const status = {
  error: -1,
  init: 0,
  play: 1,
  pause: 2,
  loaded: 3,
  ended: 4,
};

nxGetKey(status, -1);   // 'error'
nxGetKey(status, 0);    // 'init'
nxGetKey(status, 1);    // 'play'
nxGetKey(status, 2);    // 'pause'
nxGetKey(status, 3);    // 'loaded'
nxGetKey(status, 4);    // 'ended'
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-get-key/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-get-key
[version-url]: https://npmjs.org/package/@jswork/next-get-key

[license-image]: https://img.shields.io/npm/l/@jswork/next-get-key
[license-url]: https://github.com/afeiship/next-get-key/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-get-key
[size-url]: https://github.com/afeiship/next-get-key/blob/master/dist/next-get-key.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-get-key
[download-url]: https://www.npmjs.com/package/@jswork/next-get-key
npm package: @jswork/next-get-nil
Description: Get null value for nx.get.
Author: afei
Latest version: 1.0.1

# next-get-nil
> Get null value for nx.get.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
yarn add @jswork/next-get-nil
```

## usage
```js
import '@jswork/next-get-nil';

const obj = {a: {b: {c: null}}};
const value = nx.get(obj, 'a.b.c');
const withDefault = nx.get(obj, 'a.b.c', []);

console.log(value); // null
console.log(withDefault); // []
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-get-nil/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-get-nil
[version-url]: https://npmjs.org/package/@jswork/next-get-nil

[license-image]: https://img.shields.io/npm/l/@jswork/next-get-nil
[license-url]: https://github.com/afeiship/next-get-nil/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-get-nil
[size-url]: https://github.com/afeiship/next-get-nil/blob/master/dist/next-get-nil.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-get-nil
[download-url]: https://www.npmjs.com/package/@jswork/next-get-nil
npm package: @jswork/next-get-valid
Description: Get valid data by condtion.
Author: afei
Latest version: 1.0.2

# next-get-valid
> Get valid data by condtion.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
yarn add @jswork/next-get-valid
```

## usage
```js
import '@jswork/next-get-valid';

const data = {
  name: 'xiaoming',
  age: 18,
  email: ''
};

const isValidEmail = (value) => {
  return value.indexOf('@') > -1;
};

const res = nx.getValid(data, 'email', 'example@email', isValidEmail);
// res -> 'example@email'
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-get-valid/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-get-valid
[version-url]: https://npmjs.org/package/@jswork/next-get-valid

[license-image]: https://img.shields.io/npm/l/@jswork/next-get-valid
[license-url]: https://github.com/afeiship/next-get-valid/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-get-valid
[size-url]: https://github.com/afeiship/next-get-valid/blob/master/dist/next-get-valid.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-get-valid
[download-url]: https://www.npmjs.com/package/@jswork/next-get-valid
npm package: @jswork/next-get2get
Description: Get paths one by one.
Author: afei
Latest version: 1.0.8

# next-get2get
> Get paths one by one.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-get2get
```

## usage
```js
import '@jswork/next-get2get';

const e1 = { target: { value: '121' } };
const e2 = { detail: { value: '122' } };
const e3 = 123;
const paths = ['target.value', 'detail.value'];

const res1 = nx.get2get(e1, paths, 'event-value');
const res2 = nx.get2get(e2, paths, 'event-value');
const res3 = nx.get2get(e3, paths, 'event-value');

// '121'
// '122'
// 'event-value'
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-get2get/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-get2get
[version-url]: https://npmjs.org/package/@jswork/next-get2get

[license-image]: https://img.shields.io/npm/l/@jswork/next-get2get
[license-url]: https://github.com/afeiship/next-get2get/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-get2get
[size-url]: https://github.com/afeiship/next-get2get/blob/master/dist/next-get2get.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-get2get
[download-url]: https://www.npmjs.com/package/@jswork/next-get2get
npm package: @jswork/next-git-branch
Description: Get git branches infomation.
Author: afei
Latest version: 1.0.0

# next-git-branch
> Get git branches infomation.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-git-branch
```

## usage
```js
import '@feizheng/next-git-branch';

nx.gitBranch()

/*
{
  current: 'feature/page-reload',
  all: [
    'develop',
    'feature/addContent',
    'feature/page-reload',
    'staging',
    'origin/beta',
    'origin/develop',
    'origin/feature/addContent',
    'origin/feature/contentLibrary',
    'origin/feature/independentBiz',
    'origin/feature/page-reload',
    'origin/feature/pptPreview',
    'origin/master',
    'origin/staging'
  ],
  locals: [ 'develop', 'feature/addContent', 'feature/page-relad', 'staging' ],
  remotes: [
    'beta',
    'develop',
    'feature/addContent',
    'feature/contentLibrary',
    'feature/independentBiz',
    'feature/page-reload',
    'feature/pptPreview',
    'master',
    'staging'
  ]
}
*/
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-git-branch/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-git-branch
[version-url]: https://npmjs.org/package/@jswork/next-git-branch

[license-image]: https://img.shields.io/npm/l/@jswork/next-git-branch
[license-url]: https://github.com/afeiship/next-git-branch/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-git-branch
[size-url]: https://github.com/afeiship/next-git-branch/blob/master/dist/next-git-branch.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-git-branch
[download-url]: https://www.npmjs.com/package/@jswork/next-git-branch
npm package: @jswork/next-git-log
Description: Git logs.
Author: afei
Latest version: 1.0.0

# next-git-log
> Git logs.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-git-log
```

## apis
| api    | type    | default    | description                 |
| ------ | ------- | ---------- | --------------------------- |
| pretty | string  | %h - %s    | git log `pretty`            |
| since  | string  | 2020-05-01 | git log `since`             |
| before | string  | TODAY      | git log `before`            |
| suffix | string  | ''         | git log - ... `suffix`      |
| debug  | boolean | false      | Output the shell scripts    |
| async  | boolean | true       | ExecSync/exec the shell cmd |

## usage
```js
import '@jswork/next-git-log';

nx.gitLog({ since: '2020-06-01' }).then(res => {
  console.log(res);
});

// c1b0ca1 - docs: initail
// 6f6380f - refactor: use tmpl for template
// 5b51e88 - feat: initail
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-git-log/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-git-log
[version-url]: https://npmjs.org/package/@jswork/next-git-log

[license-image]: https://img.shields.io/npm/l/@jswork/next-git-log
[license-url]: https://github.com/afeiship/next-git-log/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-git-log
[size-url]: https://github.com/afeiship/next-git-log/blob/master/dist/next-git-log.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-git-log
[download-url]: https://www.npmjs.com/package/@jswork/next-git-log
npm package: @jswork/next-git-url
Description: Get git urls.
Author: afei
Latest version: 1.1.1

# next-git-url
> Get git urls.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-git-url
```

## apis
| property | description                                 |
| -------- | ------------------------------------------- |
| github   | Check if is github.                         |
| pages    | Gh_pages.                                   |
| url      | Git url in its source.                      |
| ssh      | `ssh` git url.                              |
| https    | `https` git url.                            |
| mr       | Get merge request url(only support gitlab). |

## usage
```js
import '@jswork/next-git-url';

const url = 'git@github.com:afeiship/next-git-url.git';
const gitUrl = new nx.GitUrl(url);
const { github, pages, url, ssh, https } = gitUrl;

// true
// https://afeiship.github.io/next-git-url/
// git@github.com:afeiship/next-git-url.git
// https://github.com/afeiship/next-git-url.git
// https://github.com/afeiship/next-git-url
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-git-url/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-git-url
[version-url]: https://npmjs.org/package/@jswork/next-git-url

[license-image]: https://img.shields.io/npm/l/@jswork/next-git-url
[license-url]: https://github.com/afeiship/next-git-url/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-git-url
[size-url]: https://github.com/afeiship/next-git-url/blob/master/dist/next-git-url.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-git-url
[download-url]: https://www.npmjs.com/package/@jswork/next-git-url
npm package: @jswork/next-global
Description: Global property for next.
Author: afei
Latest version: 1.0.4

# next-global
> Global property for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-global
```

## usage
```js
import '@jswork/next-global';

nx.global(null);
nx.$global = { abc: 123 };
nx.$global = { 'c.d.e': 'test-str' };
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-global/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-global
[version-url]: https://npmjs.org/package/@jswork/next-global

[license-image]: https://img.shields.io/npm/l/@jswork/next-global
[license-url]: https://github.com/afeiship/next-global/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-global
[size-url]: https://github.com/afeiship/next-global/blob/master/dist/next-global.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-global
[download-url]: https://www.npmjs.com/package/@jswork/next-global
npm package: @jswork/next-global-event
Description: Window event for next.
Author: afei
Latest version: 1.0.2

# next-global-event
> Window event for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-global-event
```

## apis
| api  | params          | description    |
| ---- | --------------- | -------------- |
| on   | (name, handler) | Attach event.  |
| emit | (name, data)    | Trigger event. |

## usage
```js
import NxGlobalEvent from '@jswork/next-global-event';

// attach event
const res = NxGlobalEvent.on('panel:ok', (inEvent)=>{
  console.log('I am ok');
});

// dettach event
res.destroy();

// trigger event
NxGlobalEvent.emit('panel:ok', { ready: true });
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-global-event/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-global-event
[version-url]: https://npmjs.org/package/@jswork/next-global-event

[license-image]: https://img.shields.io/npm/l/@jswork/next-global-event
[license-url]: https://github.com/afeiship/next-global-event/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-global-event
[size-url]: https://github.com/afeiship/next-global-event/blob/master/dist/next-global-event.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-global-event
[download-url]: https://www.npmjs.com/package/@jswork/next-global-event
npm package: @jswork/next-gm-api
Description: APIs for tampermonkey.
Author: afei
Latest version: 1.0.4

# next-gm-api
> APIs for tampermonkey.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-gm-api
```

## apis
| api                       | description        |
|---------------------------|--------------------|
| `gets`                    | Get all the apis.  |
| addStyle                  | From tampermonkey. |
| deleteValue               | From tampermonkey. |
| listValues                | From tampermonkey. |
| addValueChangeListener    | From tampermonkey. |
| removeValueChangeListener | From tampermonkey. |
| setValue                  | From tampermonkey. |
| getValue                  | From tampermonkey. |
| log                       | From tampermonkey. |
| getResourceText           | From tampermonkey. |
| getResourceURL            | From tampermonkey. |
| registerMenuCommand       | From tampermonkey. |
| unregisterMenuCommand     | From tampermonkey. |
| openInTab                 | From tampermonkey. |
| xmlhttpRequest            | From tampermonkey. |
| download                  | From tampermonkey. |
| getTab                    | From tampermonkey. |
| saveTab                   | From tampermonkey. |
| getTabs                   | From tampermonkey. |
| notification              | From tampermonkey. |
| setClipboard              | From tampermonkey. |
| info                      | From tampermonkey. |
| cookie                    | From tampermonkey. |

## usage
```js
// @grant GM_addStyle
// @grant GM_deleteValue
// @grant GM_listValues
// @grant GM_addValueChangeListener
// @grant GM_removeValueChangeListener
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_log
// @grant GM_getResourceText
// @grant GM_getResourceURL
// @grant GM_registerMenuCommand
// @grant GM_unregisterMenuCommand
// @grant GM_openInTab
// @grant GM_xmlhttpRequest
// @grant GM_download
// @grant GM_getTab
// @grant GM_saveTab
// @grant GM_getTabs
// @grant GM_notification
// @grant GM_setClipboard
// @grant GM_info
// @grant GM_cookie

import NxGmApi from '@feizheng/next-gm-api';

NxGmApi.log('hello From tampermonkey.~');
```

## resources
- https://www.From tampermonkey..net/documentation.php

## license
Code released under [the MIT license](https://github.com/afeiship/next-gm-api/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-gm-api
[version-url]: https://npmjs.org/package/@jswork/next-gm-api

[license-image]: https://img.shields.io/npm/l/@jswork/next-gm-api
[license-url]: https://github.com/afeiship/next-gm-api/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-gm-api
[size-url]: https://github.com/afeiship/next-gm-api/blob/master/dist/next-gm-api.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-gm-api
[download-url]: https://www.npmjs.com/package/@jswork/next-gm-api
npm package: @jswork/next-gm-app
Description: Tampermonkey app base.
Author: afei
Latest version: 1.0.1

# next-gm-app
> Tampermonkey app base.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
yarn add -S @jswork/next-gm-app
```

## usage
```js
import '@jswork/next-gm-app';

nx.declare({
    extends: nx.GmApp,
    methods: {
        // your methods...
    }
});
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-boilerplate-package/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@boilerplate-scope/next-boilerplate-package
[version-url]: https://npmjs.org/package/@boilerplate-scope/next-boilerplate-package

[license-image]: https://img.shields.io/npm/l/@boilerplate-scope/next-boilerplate-package
[license-url]: https://github.com/afeiship/next-boilerplate-package/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@boilerplate-scope/next-boilerplate-package
[size-url]: https://github.com/afeiship/next-boilerplate-package/blob/master/dist/next-boilerplate-package.min.js

[download-image]: https://img.shields.io/npm/dm/@boilerplate-scope/next-boilerplate-package
[download-url]: https://www.npmjs.com/package/@boilerplate-scope/next-boilerplate-package
npm package: @jswork/next-gm-store-engine
Description: Store engin for tampermonkey GM_storage.
Author: afei
Latest version: 1.0.7

# next-gm-store-engine
> Store engin for tampermonkey GM_storage.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-gm-store-engine
```

## apis
| api        | params      | description                 |
| ---------- | ----------- | --------------------------- |
| setItem    | (key,value) | Set vlaue by key.           |
| getItem    | (key)       | Get value by key.           |
| removeItem | (key)       | Remove a item from storage. |
| clear      | -           | Clear the storage.          |

## usage
```js
import NxGmStoreEngine from '@jswork/next-gm-store-engine';

// Must be grant:

// @grant GM_deleteValue
// @grant GM_listValues
// @grant GM_setValue
// @grant GM_getValue


// basic usage:
NxGmStoreEngine.setItem('afei', 'feizheng');
NxGmStoreEngine.getItem('afei');
NxGmStoreEngine.removeItem('afei');
NxGmStoreEngine.clear();
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-gm-store-engine/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-gm-store-engine
[version-url]: https://npmjs.org/package/@jswork/next-gm-store-engine

[license-image]: https://img.shields.io/npm/l/@jswork/next-gm-store-engine
[license-url]: https://github.com/afeiship/next-gm-store-engine/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-gm-store-engine
[size-url]: https://github.com/afeiship/next-gm-store-engine/blob/master/dist/next-gm-store-engine.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-gm-store-engine
[download-url]: https://www.npmjs.com/package/@jswork/next-gm-store-engine
npm package: @jswork/next-gpid
Description: Get picture uid from url.
Author: afei
Latest version: 1.0.4

# next-gpid
> Get picture uid from url.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
yarn add @jswork/next-gpid
```

## usage
```js
import '@jswork/next-gpid';

const url = 'http://upload-images.jianshu.io/upload_images/2110669-31cb0672f7e2c467.png';
const pid = nx.gpid(url);
// 2110669-31cb0672f7e2c467
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-gpid/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-gpid
[version-url]: https://npmjs.org/package/@jswork/next-gpid

[license-image]: https://img.shields.io/npm/l/@jswork/next-gpid
[license-url]: https://github.com/afeiship/next-gpid/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-gpid
[size-url]: https://github.com/afeiship/next-gpid/blob/master/dist/next-gpid.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-gpid
[download-url]: https://www.npmjs.com/package/@jswork/next-gpid
npm package: @jswork/next-group-by
Description: Creates an object composed of keys generated from the results of running each element of collection thru iteratee.
Author: afei
Latest version: 1.1.6

# next-group-by
> Creates an object composed of keys generated from the results of running each element of collection thru iteratee.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-group-by
```

## usage
```js
import '@jswork/next-group-by';

const arr = [
  'sljflsdjf.jpg',
  'bb.jpg',
  'bc.jpg',
  'ccsdf.jpg',
  'ccsdf.jpg',
  'http://www.agc.cn/1.jpg',
  'sldjfsld.jpg',
  'wx://localResource'
];

const res = nx.groupBy(arr, (item) => {
  var rs = item.split('://');
  return rs.length === 2 ? rs[0] : 'normal';
});

// result
{
  normal: [
    'sljflsdjf.jpg',
    'bb.jpg',
    'bc.jpg',
    'ccsdf.jpg',
    'ccsdf.jpg',
    'sldjfsld.jpg'
  ],
  http: [ 'http://www.agc.cn/1.jpg' ],
  wx: [ 'wx://localResource' ],
  __computed__: {
    normal: 6,
    http: 1,
    wx: 1
  }
}
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-group-by/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-group-by
[version-url]: https://npmjs.org/package/@jswork/next-group-by

[license-image]: https://img.shields.io/npm/l/@jswork/next-group-by
[license-url]: https://github.com/afeiship/next-group-by/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-group-by
[size-url]: https://github.com/afeiship/next-group-by/blob/master/dist/next-group-by.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-group-by
[download-url]: https://www.npmjs.com/package/@jswork/next-group-by
npm package: @jswork/next-group-search
Description: Group search for next.
Author: afei
Latest version: 1.0.5

# next-group-search
> Group search for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
yarn add @jswork/next-group-search
```

## usage
```js
import '@jswork/next-group-search';

const g1 = {
  restock: [
    { name: "asparagus", type: "vegetables", quantity: 5 },
    { name: "bananas", type: "fruit", quantity: 0 },
    { name: "cherries", type: "fruit", quantity: 5 }
  ],
  ok: [
    { name: "goat", type: "meat", quantity: 23 },
    { name: "fish", type: "meat", quantity: 22 }
  ]
};

const res = nx.groupSearch(g1, {
  filters: {
    type: "fruit",
    quantity: 5
  },
  callback: ({ item }) => {
    return item.quantity > 0;
  }
});

console.log(res);

// output: 
//  {
//   restock: [
//     { name: "asparagus", type: "vegetables", quantity: 5 },
//     { name: "cherries", type: "fruit", quantity: 5 }
//   ],
//   ok: []
// };
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-group-search/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-group-search
[version-url]: https://npmjs.org/package/@jswork/next-group-search

[license-image]: https://img.shields.io/npm/l/@jswork/next-group-search
[license-url]: https://github.com/afeiship/next-group-search/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-group-search
[size-url]: https://github.com/afeiship/next-group-search/blob/master/dist/next-group-search.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-group-search
[download-url]: https://www.npmjs.com/package/@jswork/next-group-search
npm package: @jswork/next-guid
Description: Simple guid for next.
Author: afei
Latest version: 1.0.2

# next-guid
> Simple guid for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
yarn add @jswork/next-guid
```

## usage
```js
import '@jswork/next-guid';

// generate guid:
// 968ea2c2-21b6-4ba6-a8d4-bb74de3062a1
// 3c85406b-dca0-4974-ab86-a26b577380b5
// f960d301-1068-4470-aa3a-f406aae879e3
// 061ead49-b6c5-485b-9530-c1eed8166ea5
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-guid/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-guid
[version-url]: https://npmjs.org/package/@jswork/next-guid

[license-image]: https://img.shields.io/npm/l/@jswork/next-guid
[license-url]: https://github.com/afeiship/next-guid/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-guid
[size-url]: https://github.com/afeiship/next-guid/blob/master/dist/next-guid.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-guid
[download-url]: https://www.npmjs.com/package/@jswork/next-guid
npm package: @jswork/next-hash
Description: Get object hash code for next.
Author: afei
Latest version: 1.0.0

# next-hash
> Get object hash code for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-hash
```

## usage
```js
import '@jswork/next-hash';

nx.hash({ name:'afei', github:'afeiship' }); // 4564597f67d8d0f181d4c4b149834a1994afc7e3
nx.hash({ github:'afeiship', name:'afei' }); // 4564597f67d8d0f181d4c4b149834a1994afc7e3
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-hash/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-hash
[version-url]: https://npmjs.org/package/@jswork/next-hash

[license-image]: https://img.shields.io/npm/l/@jswork/next-hash
[license-url]: https://github.com/afeiship/next-hash/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-hash
[size-url]: https://github.com/afeiship/next-hash/blob/master/dist/next-hash.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-hash
[download-url]: https://www.npmjs.com/package/@jswork/next-hash
npm package: @jswork/next-hashlize
Description: Hashlize for url based on next.
Author: afei
Latest version: 1.0.0

# next-hashlize
> Hashlize for url based on next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-hashlize
```

## usage
```js
import '@jswork/next-hashlize';

const hashUrl = '?auctionId=4713&v=1.0.76730bc3';
const hash = nx.hashlize(hashUrl);
// { auctionId: '4713', v: '1.0.76730bc3' }
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-hashlize/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-hashlize
[version-url]: https://npmjs.org/package/@jswork/next-hashlize

[license-image]: https://img.shields.io/npm/l/@jswork/next-hashlize
[license-url]: https://github.com/afeiship/next-hashlize/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-hashlize
[size-url]: https://github.com/afeiship/next-hashlize/blob/master/dist/next-hashlize.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-hashlize
[download-url]: https://www.npmjs.com/package/@jswork/next-hashlize
npm package: @jswork/next-header-normalize
Description: Normalize http header.
Author: afei
Latest version: 1.0.3

# next-header-normalize
> Normalize http header.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-header-normalize
```

## usage
```js
import '@jswork/next-header-normalize';

const header = {
  'AcceptLanguage': 'zh-CN',
  'contentLength': 521,
  'X-Powered-By': null,
  'Content-Type': 'application/json; charset=utf-8',
  'cache-control': 'public, max-age=31536000',
  'authorization': 'Bearer xxx.my-token+'
};

const result = nx.headerNormalize(header, { lowerCase: true, compact: true });

/*
{
  'accept-language': 'zh-CN',
  'content-length': 521,
  'content-type': 'application/json; charset=utf-8',
  'cache-control': 'public, max-age=31536000',
  'authorization': 'Bearer xxx.my-token+'
}
*/
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-header-normalize/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-header-normalize
[version-url]: https://npmjs.org/package/@jswork/next-header-normalize

[license-image]: https://img.shields.io/npm/l/@jswork/next-header-normalize
[license-url]: https://github.com/afeiship/next-header-normalize/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-header-normalize
[size-url]: https://github.com/afeiship/next-header-normalize/blob/master/dist/next-header-normalize.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-header-normalize
[download-url]: https://www.npmjs.com/package/@jswork/next-header-normalize
npm package: @jswork/next-hotkey-focus
Description: Manage elements focus by hotkey.
Author: afei
Latest version: 1.0.4

# next-hotkey-focus
> Manage elements focus by hotkey.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-hotkey-focus
```

## usage
```js
import '@jswork/next-hotkey-focus';

// Make sure selector elements are loaded.
window.addEventListener("DOMContentLoaded", () => {
  nx.hotkeyFocus({
    keys: ['cmd + k'], 
    selectors: ['input[data-hotkey-focus]'],
    callback: (e) => {
      console.log('focued!');
    }
  })
})
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-hotkey-focus/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-hotkey-focus
[version-url]: https://npmjs.org/package/@jswork/next-hotkey-focus

[license-image]: https://img.shields.io/npm/l/@jswork/next-hotkey-focus
[license-url]: https://github.com/afeiship/next-hotkey-focus/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-hotkey-focus
[size-url]: https://github.com/afeiship/next-hotkey-focus/blob/master/dist/next-hotkey-focus.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-hotkey-focus
[download-url]: https://www.npmjs.com/package/@jswork/next-hotkey-focus
npm package: @jswork/next-html2text
Description: Strip html to text for next.
Author: afei
Latest version: 1.0.1

# next-html2text
> Strip html to text for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-html2text
```

## usage
```js
import '@jswork/next-html2text';

nx.html2text("<p>we&#x27;d|better|not.|I|don&#x27;t|want|to|miss|the|train|.</p>")
// we'd|better|not.|I|don't|want|to|miss|the|train|.
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-html2text/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-html2text
[version-url]: https://npmjs.org/package/@jswork/next-html2text

[license-image]: https://img.shields.io/npm/l/@jswork/next-html2text
[license-url]: https://github.com/afeiship/next-html2text/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-html2text
[size-url]: https://github.com/afeiship/next-html2text/blob/master/dist/next-html2text.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-html2text
[download-url]: https://www.npmjs.com/package/@jswork/next-html2text
npm package: @jswork/next-id
Description: Get id in memory for next.
Author: afei
Latest version: 1.0.0

# next-id
> Get id in memory for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-id
```

## usage
```js
import '@jswork/next-id';

const id1 = nx.id();  // 1
const id2 = nx.id();  // 2
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-id/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-id
[version-url]: https://npmjs.org/package/@jswork/next-id

[license-image]: https://img.shields.io/npm/l/@jswork/next-id
[license-url]: https://github.com/afeiship/next-id/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-id
[size-url]: https://github.com/afeiship/next-id/blob/master/dist/next-id.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-id
[download-url]: https://www.npmjs.com/package/@jswork/next-id
npm package: @jswork/next-if
Description: If condition for next.
Author: afei
Latest version: 1.0.1

# next-if
> If condition for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-if
```

## usage
```js
import '@jswork/next-if';

const obj1 = { name: 'fei' };
const res1 = nx.if(obj1.name === 'fei', 'yes', 'no');

// yes
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-if/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-if
[version-url]: https://npmjs.org/package/@jswork/next-if

[license-image]: https://img.shields.io/npm/l/@jswork/next-if
[license-url]: https://github.com/afeiship/next-if/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-if
[size-url]: https://github.com/afeiship/next-if/blob/master/dist/next-if.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-if
[download-url]: https://www.npmjs.com/package/@jswork/next-if
npm package: @jswork/next-includes-multi
Description: Check if string includes multiple for next.
Author: afei
Latest version: 1.0.0

# next-includes-multi
> Check if string includes multiple for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-includes-multi
```

## usage
```js
import '@jswork/next-includes-multi';

const abc = 'abcdef';
const target = ['a', 'b', 'ddd'];

nx.includesMulti(abc, { target, aor: true });
nx.includesMulti(abc, { target });

//some: false
//every: true
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-includes-multi/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-includes-multi
[version-url]: https://npmjs.org/package/@jswork/next-includes-multi

[license-image]: https://img.shields.io/npm/l/@jswork/next-includes-multi
[license-url]: https://github.com/afeiship/next-includes-multi/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-includes-multi
[size-url]: https://github.com/afeiship/next-includes-multi/blob/master/dist/next-includes-multi.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-includes-multi
[download-url]: https://www.npmjs.com/package/@jswork/next-includes-multi
npm package: @jswork/next-indent
Description: Indent string with indent-string.
Author: afei
Latest version: 1.0.0

# next-indent
> Indent string with indent-string.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-indent
```

## usage
```js
import '@jswork/next-indent';
const str = 'hello';

nx.indent(str, 2);
//  hello
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-indent/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-indent
[version-url]: https://npmjs.org/package/@jswork/next-indent

[license-image]: https://img.shields.io/npm/l/@jswork/next-indent
[license-url]: https://github.com/afeiship/next-indent/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-indent
[size-url]: https://github.com/afeiship/next-indent/blob/master/dist/next-indent.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-indent
[download-url]: https://www.npmjs.com/package/@jswork/next-indent
npm package: @jswork/next-instance
Description: Create an instance without new.
Author: afei
Latest version: 1.0.0

# next-instance
> Create an instance without new.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-instance
```

## usage
```js
import '@jswork/next-instance';

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

const p1 = nx.instance(Person, 'fei', 100);
// Person { name: 'fei', age: 100 }
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-instance/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-instance
[version-url]: https://npmjs.org/package/@jswork/next-instance

[license-image]: https://img.shields.io/npm/l/@jswork/next-instance
[license-url]: https://github.com/afeiship/next-instance/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-instance
[size-url]: https://github.com/afeiship/next-instance/blob/master/dist/next-instance.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-instance
[download-url]: https://www.npmjs.com/package/@jswork/next-instance
npm package: @jswork/next-interceptor
Description: Interceptor for next.
Author: afei
Latest version: 1.1.3

# next-interceptor
> Interceptor for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-interceptor
```

## usage
```js
import NxInterceptor from '@jswork/next-interceptor';

const intercetor = new NxInterceptor({
  async: false,
  items:[/* ... your intercetpros ... */]
});

// get response interceptor process data;
const reqData = intercetor.compose(data1, 'request');
const resData = intercetor.compose(data2, 'response');
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-interceptor/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-interceptor
[version-url]: https://npmjs.org/package/@jswork/next-interceptor

[license-image]: https://img.shields.io/npm/l/@jswork/next-interceptor
[license-url]: https://github.com/afeiship/next-interceptor/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-interceptor
[size-url]: https://github.com/afeiship/next-interceptor/blob/master/dist/next-interceptor.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-interceptor
[download-url]: https://www.npmjs.com/package/@jswork/next-interceptor
npm package: @jswork/next-intersection
Description: Simple intersection implement.
Author: afei
Latest version: 1.0.0

# next-intersection
> Simple intersection implement.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-intersection
```

## usage
```js
import '@jswork/next-intersection';

const a1 = [1, 2, 3];
const a2 = [2, 3, 4];

nx.intersection(a1, a2)
// [2, 3]


const a1 = [
  { id: 1, value: 'aa' },
  { id: 2, value: 'bb' },
  { id: 3, value: 'cc' }
];

const a2 = [
  { id: 3, value: 'cc' },
  { id: 4, value: 'dd' }
];

const ids = a2.map(item => item.id);
const res = nx.intersection(a1, a2, (_, value) => {
  return ids.includes(value.id);
});

// [ { id: 3, value: 'cc' } ]
```

## resources
- https://stackoverflow.com/questions/1885557/simplest-code-for-array-intersection-in-javascript

## license
Code released under [the MIT license](https://github.com/afeiship/next-intersection/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-intersection
[version-url]: https://npmjs.org/package/@jswork/next-intersection

[license-image]: https://img.shields.io/npm/l/@jswork/next-intersection
[license-url]: https://github.com/afeiship/next-intersection/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-intersection
[size-url]: https://github.com/afeiship/next-intersection/blob/master/dist/next-intersection.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-intersection
[download-url]: https://www.npmjs.com/package/@jswork/next-intersection
npm package: @jswork/next-invoke
Description: Invoke a method with context.
Author: afei
Latest version: 1.0.1

# next-invoke
> Invoke a method with context.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
yarn add @jswork/next-invoke
```

## usage
```js
import '@jswork/next-invoke';

const obj1 = {
  name: 'obj1',
  fn1: function(arg1, arg2) {
    console.log('args:', arg1, arg2);
    return this.name + '_FEI';
  }
};

const rs = nx.invoke(obj1, 'fn1', ['arg1', 'arg2']);

// obj1_FEI
// args: arg1 arg2
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-invoke/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-invoke
[version-url]: https://npmjs.org/package/@jswork/next-invoke

[license-image]: https://img.shields.io/npm/l/@jswork/next-invoke
[license-url]: https://github.com/afeiship/next-invoke/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-invoke
[size-url]: https://github.com/afeiship/next-invoke/blob/master/dist/next-invoke.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-invoke
[download-url]: https://www.npmjs.com/package/@jswork/next-invoke
npm package: @jswork/next-ip2info
Description: Get infomation from ip.
Author: afei
Latest version: 1.0.0

# next-ip2info
> Get infomation from ip.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-ip2info
```

## usage
```js
import '@jswork/next-ip2info';

nx.ip2info('8.8.8.8').then(res=>{
  console.log(res);
});

/*
  {
    ip: '8.8.8.8',
    location: '美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器',
    os: '未知操作系统',
    browser: '未知浏览器'
  }
*/
```

## resources
- http://www.cz88.net/ip/

## license
Code released under [the MIT license](https://github.com/afeiship/next-ip2info/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-ip2info
[version-url]: https://npmjs.org/package/@jswork/next-ip2info

[license-image]: https://img.shields.io/npm/l/@jswork/next-ip2info
[license-url]: https://github.com/afeiship/next-ip2info/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-ip2info
[size-url]: https://github.com/afeiship/next-ip2info/blob/master/dist/next-ip2info.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-ip2info
[download-url]: https://www.npmjs.com/package/@jswork/next-ip2info
npm package: @jswork/next-is-array
Description: Array.isArray polly fill for next.
Author: afei
Latest version: 1.0.0

# next-is-array
> Array.isArray polly fill for next.

[![version][version-image]][version-url]
[![license][license-image]][license-url]
[![size][size-image]][size-url]
[![download][download-image]][download-url]

## installation
```bash
npm install -S @jswork/next-is-array
```

## usage
```js
import '@jswork/next-is-array';

nx.isArray(null);   // false
nx.isArray([]);     // true
```

## license
Code released under [the MIT license](https://github.com/afeiship/next-is-array/blob/master/LICENSE.txt).

[version-image]: https://img.shields.io/npm/v/@jswork/next-is-array
[version-url]: https://npmjs.org/package/@jswork/next-is-array

[license-image]: https://img.shields.io/npm/l/@jswork/next-is-array
[license-url]: https://github.com/afeiship/next-is-array/blob/master/LICENSE.txt

[size-image]: https://img.shields.io/bundlephobia/minzip/@jswork/next-is-array
[size-url]: https://github.com/afeiship/next-is-array/blob/master/dist/next-is-array.min.js

[download-image]: https://img.shields.io/npm/dm/@jswork/next-is-array
[download-url]: https://www.npmjs.com/package/@jswork/next-is-array