open-index/open-npm huggingface dataset:
npm package: @jswork/next-const-family-name
Description: Family name for next.
Author: afei
Latest version: 1.0.1

# next-const-family-name
> Family name 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-const-family-name
```

## usage
```js
import '@jswork/next-const-family-name';

const names = nx.constFamilyName; // [''赵', '钱', '孙', '李', '周', '都', '吴', '郑',.....]
```

## resources
- https://github.com/wanghuafeng/family_name_handle

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-const-family-name
[download-url]: https://www.npmjs.com/package/@jswork/next-const-family-name
npm package: @jswork/next-const-noun
Description: A lots of noun.
Author: afei
Latest version: 1.0.0

# next-const-noun
> A lots of noun.

[![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-const-noun
```

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

const nouns = nx.constNoun; 
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-const-noun
[download-url]: https://www.npmjs.com/package/@jswork/next-const-noun
npm package: @jswork/next-content-type
Description: Get correct content type for next.
Author: afei
Latest version: 1.0.12

# next-content-type
> Get correct content type 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-content-type
```

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

nx.contentType('urlencoded'); 
// application/x-www-form-urlencoded

nx.contentType('multipart'); 
// multipart/form-data

nx.contentType('json'); 
// application/json;charset=utf-8

nx.contentType('raw'); 
// text/plain
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-content-type
[download-url]: https://www.npmjs.com/package/@jswork/next-content-type
npm package: @jswork/next-cookie
Description: A simple, lightweight JavaScript API for handling browser cookies for next.
Author: afei
Latest version: 1.0.0

# next-cookie
> A simple, lightweight JavaScript API for handling browser cookies 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-cookie
```

## apis
| api   | params                  | description                                       |
| ----- | ----------------------- | ------------------------------------------------- |
| get   | inKey                   | get single key cookey                             |
| gets  | -                       | get all key cookey                                |
| set   | inKey,inValue,inOptions | set cookie with options({ path:'/', expires: ''}) |
| sets  | inObject,inOptions      | set cookie with object;                           |
| del   | inKey                   | del the key                                       |
| dels  | inArray                 | del keys                                          |
| clear | -                       | del all cookies                                   |

## usage
```js
import NxCookie from '@feizheng/next-cookie';

// code goes here:
NxCookie.get
NxCookie.gets
NxCookie.set
NxCookie.sets
NxCookie.del
NxCookie.dels
NxCookie.clear
```

## resources
- https://github.com/js-cookie/js-cookie
- http://www.w3school.com.cn/js/js_cookies.asp
- https://stackoverflow.com/que

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-cookie
[download-url]: https://www.npmjs.com/package/@jswork/next-cookie
npm package: @jswork/next-cookie-fetch
Description: Node fetch meet cookie.
Author: afei
Latest version: 1.0.8

# next-cookie-fetch
> Node fetch meet cookie.

[![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-cookie-fetch
```

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

nx.cookieFetch;
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-cookie-fetch
[download-url]: https://www.npmjs.com/package/@jswork/next-cookie-fetch
npm package: @jswork/next-create-fetcher
Description: Create a resource fetcher.
Author: afei
Latest version: 1.0.6

# next-create-fetcher
> Create a resource fetcher.

[![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-create-fetcher
```

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

const fetcher = nx.createFetcher('user', {
  page: 'page',
  size: 'size',
  dataPath: 'data',
  totalPath: 'total',
  context: {
    user_index: async (params) => {
      // mock api call
      return {
        data: [{ id: 1, name: 'john' }],
        total: 1
      };
    }
  }
});

(async () => {
  const result = await fetcher({ current: 1, pageSize: 10 });
  console.log(result);
})();
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-create-fetcher
[download-url]: https://www.npmjs.com/package/@jswork/next-create-fetcher
npm package: @jswork/next-css-text
Description: Dom css text.
Author: afei
Latest version: 1.0.1

# next-css-text
> Dom css text.

[![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-css-text
```

## apis
| api     | params     | description                 |
| ------- | ---------- | --------------------------- |
| css2obj | (inString) | Transform string to object. |
| obj2css | (inOjbect) | Transform object to string. |

## usage
```js
import NxCssText from '@jswork/next-css-text';

NxCssText.css2obj('color:#f00; background-color:red; width:100px; padding:10px 20px;');
NxCssText.obj2css({
  color: '#f00',
  backgroundColor: 'red',
  width: '100px',
  padding: '10px 20px'
});
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-css-text
[download-url]: https://www.npmjs.com/package/@jswork/next-css-text
npm package: @jswork/next-data-transform
Description: Data transform for next.
Author: afei
Latest version: 1.0.23

# next-data-transform
> Data transform 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-data-transform
```

## apis
| api        | params | description                       |
| ---------- | ------ | --------------------------------- |
| raw        | data   | Do nothing                        |
| json       | data   | application/json;charset=utf-8    |
| urlencoded | data   | application/x-www-form-urlencoded |
| multipart  | data   | multipart/form-data               |

## usage
```js
import NxDataTransform from '@jswork/next-data-transform';

const data = { key: 1, value: 2 };

NxDataTransform.raw(data);          // { key: 1, value: 2 };
NxDataTransform.json(data);         // '{"key":1,"value":2}'
NxDataTransform.urlencoded(data);   // key=1&value=2
NxDataTransform.multipart(data);    // `[object FormData]`
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-data-transform
[download-url]: https://www.npmjs.com/package/@jswork/next-data-transform
npm package: @jswork/next-data2form
Description: Build formData from object.
Author: afei
Latest version: 1.0.1

# next-data2form
> Build formData from object.

[![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-data2form
```

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

// key values
nx.data2form({
  k1: 'image',
  k2: 'v2'
});
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-data2form
[download-url]: https://www.npmjs.com/package/@jswork/next-data2form
npm package: @jswork/next-date
Description: Enhanced date for next.
Author: afei
Latest version: 1.0.19

# next-date
> Enhanced date 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-date
```

## apis
| api            | params | description                                            |
| -------------- | ------ | ------------------------------------------------------ |
| apm            | -      | Get is AM/PM.                                          |
| get            | -      | Get timestamp at current date, for next/previous case. |
| gets           | -      | Get multiple dates.                                    |
| create         | -      | Create data instance.                                  |
| compare        | -      | Compare data.                                          |
| format         | -      | Format date.                                           |
| timezoneOffset | -      | Get timezone offset.                                   |


## consts
| name   | description |
| ------ | ----------- |
| week   | WEEK        |
| day    | DAY         |
| hour   | HOUR        |
| minute | MIUNTE      |
| second | SECOND      |

## usage
```js
import NxDate from '@jswork/next-date';

//1. Timestamp:
NxDate.now();

//2. Get date instance:
NxDate.create() 
NxDate.create('2018-07-01 16:29:49');

//3. Compare:
NxDate.compare('2018-07-01 16:30:14','2018-07-01 16:30:19')
// -1 | 0 | 1

//4. format:
NxDate.format(inTarget,'yyyy-mm-dd HH:MM:ss');

// 5. timezone offset
NxDate.timezoneOffset();

// 6. get formated date
const options = { target: today, format: 'yyyy-mm-dd' };
const fmt1 = NxDate.get(1, 'day', options);
const fmt2 = NxDate.get(1, 'week', options);
const fmt3 = NxDate.get(-1, 'day', options);
const fmt4 = NxDate.get(-1, 'week', options);

// '2021-06-14'
// '2021-06-20'
// '2021-06-12'
// '2021-06-06'

// 7.get multiple dates use one api.
const today = '2021-07-31 19:57:47';
const targets = NxDate.gets([-1, 0, 1], 'day', { target: today, format: 'date' });

// ['2021-07-30', '2021-07-31', '2021-08-01']
```

## resources
- https://github.com/felixge/node-dateformat

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-date
[download-url]: https://www.npmjs.com/package/@jswork/next-date
npm package: @jswork/next-day-of-year
Description: Javascript calculate the day of the year (1 - 366).
Author: afei
Latest version: 1.0.0

# next-day-of-year
> Javascript calculate the day of the year (1 - 366).

[![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-day-of-year
```

## usage
```js
import '@jswork/next-day-of-year';

const day1 = new Date('2020-01-01');
const day2 = new Date('2020-02-01');

nx.dayOfYear(day1); // 1
nx.dayOfYear(day2); // 32
```

## resources
- https://stackoverflow.com/questions/8619879/javascript-calculate-the-day-of-the-year-1-366

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-day-of-year
[download-url]: https://www.npmjs.com/package/@jswork/next-day-of-year
npm package: @jswork/next-dd-promisfy
Description: Promisfy for dingtalk.
Author: afei
Latest version: 1.0.0

# next-dd-promisfy
> Promisfy for dingtalk.

[![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-dd-promisfy
```

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

const getPhoneInfo = nx.ddPromisfy(dd.device.base.getPhoneInfo, { context: dd.device.base });

// call the promisfy function
getPhoneInfo()
  .then(res=>{
    console.log(res);
  }).catch(err=>{
    console.log(err);
  });
```

## resources
- http://bluebirdjs.com/docs/api/promise.promisify.html

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-dd-promisfy
[download-url]: https://www.npmjs.com/package/@jswork/next-dd-promisfy
npm package: @jswork/next-dd-promisfy-all
Description: Promisifies the entire object for next.
Author: afei
Latest version: 1.0.0

# next-dd-promisfy-all
> Promisifies the entire object 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-dd-promisfy-all
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-dd-promisfy-all
[download-url]: https://www.npmjs.com/package/@jswork/next-dd-promisfy-all
npm package: @jswork/next-debounce
Description: Debounce for next.
Author: afei
Latest version: 1.0.0

# next-debounce
> Debounce 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-debounce
```

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

//DOCS here!
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-debounce
[download-url]: https://www.npmjs.com/package/@jswork/next-debounce
npm package: @jswork/next-deep-assign
Description: Deep assign for next.
Author: afei
Latest version: 1.0.4

# next-deep-assign
> Deep assign 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-deep-assign
```

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

const obj1 = {
  lineHeight: 26,
  left: 'center',
  style: {
    items: ['a'],
    fontSize: 24,
    fill: '#333',
    fontWeight: 500
  }
};

const obj2 = {
  lineHeight: 100,
  left: null,
  style: {
    items: [1, 2, 3],
    fontFamily: 'Arial'
  }
};

const result = nx.deepAssign(obj1, obj2);

// result
{
  lineHeight: 100,
  left: null,
  style: {
    items: [1, 2, 3],
    fontSize: 24,
    fill: '#333',
    fontWeight: 500,
    fontFamily: 'Arial'
  }
}
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-deep-assign
[download-url]: https://www.npmjs.com/package/@jswork/next-deep-assign
npm package: @jswork/next-deep-clone
Description: A fastest deep clone implement.
Author: afei
Latest version: 1.0.3

# next-deep-clone
> A fastest deep clone 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-deep-clone
```

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

const obj = { name: 'feizheng', homepage:'https://js.work' };

nx.deepClone(obj);
// { name: 'feizheng', homepage:'https://js.work' };
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-deep-clone
[download-url]: https://www.npmjs.com/package/@jswork/next-deep-clone
npm package: @jswork/next-deep-each
Description: Deep each for next.
Author: afei
Latest version: 1.0.5

# next-deep-each
> Deep each 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-deep-each
```

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

const obj = {
  name: 'deep-each',
  items: [
    {
      name: 'each',
      type: 'any'
    },
    {
      name: 'forEach',
      type: 'array'
    },
    {
      name: 'forIn',
      type: 'object'
    }
  ],
  other: {
    a: {
      b: 1,
      c: {
        d: 2,
        e: 4,
        g: {
          g1: 1,
          g2: 123
        }
      }
    }
  }
};

// main
nx.deepEach(obj, (key, value, target, isAry, paths) => {
  console.log(key,value);
});
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-deep-each
[download-url]: https://www.npmjs.com/package/@jswork/next-deep-each
npm package: @jswork/next-deep-equal
Description: Equal object for next.
Author: afei
Latest version: 1.0.4

# next-deep-equal
> Equal object 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-deep-equal
```

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

const obj1 = {
    a: 1,
    s1: 'string',
    items: [1, 2]
};

const obj2 = {
    a: 1,
    items: [1, 2],
    s1: 'string'
};

nx.deepEqual(obj1, obj2);
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-deep-equal
[download-url]: https://www.npmjs.com/package/@jswork/next-deep-equal
npm package: @jswork/next-defaults
Description: Set defaults value.
Author: afei
Latest version: 1.0.1

# next-defaults
> Set defaults 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-defaults
```

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

// primitive value
nx.defaults(currentValue, defaultValue);
nx.defaults(0, -1);           // 0
nx.defaults(undefeind, -1);   //-1

// object
nx.defaults({ name: 'fei' }, { name: 'afei', age: 18 });
// { name: 'fei', age: 18 }
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-defaults
[download-url]: https://www.npmjs.com/package/@jswork/next-defaults
npm package: @jswork/next-defaults-validate
Description: Get defaults by validate function.
Author: afei
Latest version: 1.0.2

# next-defaults-validate
> Get defaults by validate function.

[![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-defaults-validate
```

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

const target = {
  username: 'xiaoming',
  email: 'abc',
  other: 'value',
  nested: {
    company: {
      address: null
    }
  }
};

nx.defaultsValidate(target, {
  username: (value) => value.length > 3 ? null : 'anonymous',
  email: (value) => value.includes('@') ? null : 'example@email.com',
  'nested.company.address': (value) => value ? null : 'unknown'
});

// output: 
/*
{
  username: 'xiaoming',
  email: 'example@email.com',
  other: 'value',
  nested: {
    company: {
      address: 'unknown'
    }
  }
}
*/
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-defaults-validate
[download-url]: https://www.npmjs.com/package/@jswork/next-defaults-validate
npm package: @jswork/next-delay
Description: Delay for next.
Author: afei
Latest version: 1.0.0

# next-delay
> Delay 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-delay
```

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

## solution
```js
function sleeper(ms) {
  return function(x) {
    return new Promise(resolve => setTimeout(() => resolve(x), ms));
  };
}
```

## resources
- https://stackoverflow.com/questions/38956121/how-to-add-delay-to-promise-inside-then

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

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

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

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

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

# next-delete
> Multiple delete for object.

[![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-delete
```

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

let obj = {
  name:'afei',
  age: 100,
  items:[1,2,3]
};

let obj2 = {
  name:'afei',
  age: 100
};

// delete some items:
nx.delete(obj, ['name','age']);

// or empty the object;
nx.delete(obj2);
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-delete
[download-url]: https://www.npmjs.com/package/@jswork/next-delete
npm package: @jswork/next-delete-if
Description: Delete from object on if condition.
Author: afei
Latest version: 1.0.0

# next-delete-if
> Delete from object on if condition.

[![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-delete-if
```

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

const obj = { name: 'fei', age: 122 };
nx.deleteIf(obj, ['age'], (obj) => obj.age < 100); // delete failed
```

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

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

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

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

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

# next-difference
> Array difference 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-difference
```

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

nx.difference([1,2,3], [2,3]);
// [1]
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-difference
[download-url]: https://www.npmjs.com/package/@jswork/next-difference
npm package: @jswork/next-doc2pdf
Description: Covert doc/docx to pdf.
Author: afei
Latest version: 1.0.0

# next-doc2pdf
> Covert doc/docx to pdf.

[![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-doc2pdf
```

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

nx.doc2pdf({
  input: './__tests__/docs/zscqf_jc_whl_jy0101.doc',
  output: './__tests__/docs/zscqf_jc_whl_jy0101.pdf'
})
```

## doc2pdf + merge
```js
require("@jswork/next-doc2pdf");
require("@jswork/next-pdf-merge");

nx.doc2pdf({
  input: "./files/*.doc",
  output: `./pdfs`
}).then(res => {
  console.log("convert done!");
  nx.pdfMerge({
    input: "./pdfs/*.pdf"
  });
});

```

## resources
- https://github.com/unoconv/unoconv
- http://macappstore.org/unoconv/
- http://dag.wiee.rs/home-made/unoconv/
- https://www.libreoffice.org/

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-doc2pdf
[download-url]: https://www.npmjs.com/package/@jswork/next-doc2pdf
npm package: @jswork/next-dom-create
Description: Dom create for next.
Author: afei
Latest version: 1.0.0

# next-dom-create
> Dom create 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-dom-create
```

## apis
| api      | params               | description           |
| -------- | -------------------- | --------------------- |
| element  | type,props, children | Create element node.  |
| text     | value                | Create text node.     |
| fragment | children             | Create fragment node. |

## usage
```js
import NxDomCreate from '@jswork/next-dom-create';

NxDomCreate.element(
  'div',
  { id: '1', style: 'color: red; font-size: 12px;' },
  'hello world.'
);

// <div id="1" style="color: red; font-size: 12px;">hello world.</div>
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-dom-create
[download-url]: https://www.npmjs.com/package/@jswork/next-dom-create
npm package: @jswork/next-dom-event
Description: Dom event api based on next toolkit.
Author: afei
Latest version: 1.0.8

# next-dom-event
> Dom event api based on next toolkit.

[![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-dom-event
```

## apis
| api | params | description          |
| --- | ------ | -------------------- |
| on  | -      | register a new event |

## usage
```js
import NxDomEvent from '@jswork/next-dom-event';

//create resources:
const el = document.getElement('test1');
const res = NxDomEvent.on(el,'click',()=>{
  console.log('click!');
},capture);
res.destory();
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-dom-event
[download-url]: https://www.npmjs.com/package/@jswork/next-dom-event
npm package: @jswork/next-dom-find-ancestor
Description: Find the closest ancestor element that has a specific class.
Author: afei
Latest version: 1.0.0

# next-dom-find-ancestor
> Find the closest ancestor element that has a specific class.

[![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-dom-find-ancestor
```

## usage
```html
<div class="far ancestor">
    <div id="target2">
      <div class="near ancestor">
          <p id="target1">Where am I?</p>
      </div>
    </div>
</div>
```

```js
import '@jswork/next-dom-find-ancestor';

const el1 = document.querySelector('#target1');
const el2 = document.querySelector('#target2');

nx.domFindAncestor(el1, '.ancestor'); // near
nx.domFindAncestor(el2, '.ancestor'); // far
```

## resources
- https://stackoverflow.com/questions/22119673/find-the-closest-ancestor-element-that-has-a-specific-class

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-dom-find-ancestor
[download-url]: https://www.npmjs.com/package/@jswork/next-dom-find-ancestor
npm package: @jswork/next-dom2json
Description: Dom to json for next.
Author: afei
Latest version: 1.0.0

# next-dom2json
> Dom to json 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-dom2json
```

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

const domElement = `
  <div class="list_item odd" data-value="v1" itemscope="" itemtype="http://schema.org/Movie">
    123
    <span>abc</span>
    <strong>def</strong>
  </div>
`;
const dom = new JSDOM(domElement);
const el = dom.window.document.querySelector('.list_item');
const json = nx.dom2json(el);

// results:
/*
{
  nodeName: 'div',
  nodeType: 1,
  attributes: {
    class: 'list_item odd',
    'data-value': 'v1',
    itemscope: '',
    itemtype: 'http://schema.org/Movie'
  },
  childNodes: [
    {
      nodeName: '#text',
      nodeType: 3,
      nodeValue: '\n        123\n        ',
      childNodes: []
    },
    {
      nodeName: 'span',
      nodeType: 1,
      attributes: {},
      childNodes: [
        {
          nodeName: '#text',
          nodeType: 3,
          nodeValue: 'abc',
          childNodes: []
        }
      ]
    },
    {
      nodeName: '#text',
      nodeType: 3,
      nodeValue: '\n        ',
      childNodes: []
    },
    {
      nodeName: 'strong',
      nodeType: 1,
      attributes: {},
      childNodes: [
        {
          nodeName: '#text',
          nodeType: 3,
          nodeValue: 'def',
          childNodes: []
        }
      ]
    },
    {
      nodeName: '#text',
      nodeType: 3,
      nodeValue: '\n      ',
      childNodes: []
    }
  ]
}
*/
```

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

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

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

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

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

# next-domain
> Get url domain 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-domain
```

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

// normal
nx.domain('https://www.baidu.com/');  // baidu.com

// 2 level
nx.domain('http://12345.i.taobao.com', 2);  // taobao.com
```

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

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

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

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

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

# next-domain2ip
> Query ip from domain.

[![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-domain2ip
```

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

nx.domain2ip('www.china.com').then(res=>{
  console.log(res);
});
// [ '13.114.40.48' ]
```

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

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

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

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

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