open-index/open-npm huggingface dataset:
npm package: @jswork/next-secret-tmpl
Description: Secret template engine.
Author: afei
Latest version: 1.0.1

# next-secret-tmpl
> Secret template engine.

[![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-secret-tmpl
```

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

const str = '${{ GITHUB_API_TOKEN }} - ${{ afei }}';
const ctx = { GITHUB_API_TOKEN: 'xxx-yyy-zzz', afei:'zhengfei' };
const res = nx.secretTmpl(str, ctx);

// xxx-yyy-zzz - zhengfei
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-secret-tmpl
[download-url]: https://www.npmjs.com/package/@jswork/next-secret-tmpl
npm package: @jswork/next-serial-version-uid
Description: Next serialVersionUID package.
Author: afei
Latest version: 1.0.0

# next-serial-version-uid
> Next serialVersionUID package.

[![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-serial-version-uid
```

## usage
```js
import '@jswork/next-serial-version-uid';

nx.serialVersionUid();

// result like this:

// -140684793622465780
// -275182058742165600
// 743532647376822700
// 205444663589107170
// -760689571385647600
// -175689503257042240
// -107012702703979780
// 180540127736620770
// -733394660804207200
// -539463114373233800
// 737339623528987100
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-serial-version-uid
[download-url]: https://www.npmjs.com/package/@jswork/next-serial-version-uid
npm package: @jswork/next-sets
Description: Set a lot value value.
Author: afei
Latest version: 1.0.5

# next-sets
> Set a lot value 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-sets
```

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

const obj = {};

// set value to obj
nx.sets(obj, {
  testA: 'A1',
  testB: 'B1',
  testC: 'C1',
  testD: 'D1',
  'path.key1.a.b': 'b-value1'
});

// set values to nx
nx.sets({
  a: 1,
  b: 2,
  c: 3
})
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-sets
[download-url]: https://www.npmjs.com/package/@jswork/next-sets
npm package: @jswork/next-shuffle
Description: Shuffle an array.
Author: afei
Latest version: 1.0.0

# next-shuffle
> Shuffle an array.

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

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

const arr = [1, 2, 3, 4, 5];
nx.shuffle(arr);    // [ 1, 4, 3, 5, 2 ]
```

## another solution
```js
function shuffleUseSort(aArr){
  return aArr.sort(function(a, b){
    return (0.5 - Math.random());
  });
}
```

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

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

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

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

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

# next-slate-defaults
> Defaults for slate.

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

## apis
| api      | params                  | description        |
| -------- | ----------------------- | ------------------ |
| children | -                       | Void children.     |
| input    | (inElement, inChildren) | Default importer.  |
| output   | (inNode, inChildren)    | Default exporter.  |
| style    | (target)                | Get default style. |

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

// code goes here:
NxSlateDefaults.children();
NxSlateDefaults.importer(el, children);
NxSlateDefaults.exporter(nodes, children);
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-slate-defaults
[download-url]: https://www.npmjs.com/package/@jswork/next-slate-defaults
npm package: @jswork/next-slate-deserialize
Description: Deserializing html to slate nodes.
Author: afei
Latest version: 1.0.7

# next-slate-deserialize
> Deserializing html to slate nodes.

[![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-slate-deserialize
```

## apis
| api   | params | description                |
| ----- | ------ | -------------------------- |
| parse | -      | Parse html to slate nodes. |

## usage
```js
import NxSlateDeserialize from '@jswork/next-slate-deserialize';

const process = (el, children) => {
  switch (el.nodeName) {
    case 'BODY':
      return jsx('fragment', {}, children);
    case 'BR':
      return '\n';
    case 'BLOCKQUOTE':
      return jsx('element', { type: 'quote' }, children);
    case 'P':
      return jsx('element', { type: 'paragraph' }, children);
    case 'A':
      return jsx('element', { type: 'link', url: el.getAttribute('href') }, children);
    default:
      return el.textContent;
  }
};

const html = `<p>An opening paragraph with a <a href="https://example.com">link</a> in it.</p><blockquote><p>A wise quote.</p></blockquote><p>A closing paragraph!</p>`;

const nodes = NxSlateDeserialize.parse(html, { process });

/*
[
  {
    type: 'paragraph',
    children: [
      { text: 'An opening paragraph with a ' },
      {
        type: 'link',
        url: 'https://example.com',
        children: [{ text: 'link' }]
      },
      { text: ' in it.' }
    ]
  },
  {
    type: 'quote',
    children: [
      {
        type: 'paragraph',
        children: [{ text: 'A wise quote.' }]
      }
    ]
  },
  {
    type: 'paragraph',
    children: [{ text: 'A closing paragraph!' }]
  }
]
*/
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-slate-deserialize
[download-url]: https://www.npmjs.com/package/@jswork/next-slate-deserialize
npm package: @jswork/next-slate-plugin
Description: Slate plugin manager.
Author: afei
Latest version: 1.0.16

# next-slate-plugin
> Slate plugin manager.

[![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-slate-plugin
```

## apis
| api     | params       | description                         |
| ------- | ------------ | ----------------------------------- |
| define  | schema       | Define a plugin.                    |
| actived | node,plugins | Get actived plugin(s) from plugins. |

## usage
```js
import NxSlatePlugin from '@jswork/next-slate-plugin';

const Bold = NxSlatePlugin.define({
  id: 'bold',
  type: 'format',
  serialize: {
    output: (node, children) => {
      return `<strong>${children}</strong>`;
    }
  }
});

const node = {
  text: 'i am a bold text',
  bold: true,
  italic: true
};
const plugins = [{ id: 'paragraph' }, { id: 'bold' }, { id: 'italic' }, { id: 'blockquote'}];
const actived = NxSlatePlugin.actived(node, plugins);

/*
[
  { id: 'bold' },
  { id: 'italic' },
];
*/
```

## full schema
```js
{
  id: null,
  meta: {
    title: null,
    description: null
  },
  hotkey: null,
  decorator: nx.stubValue,
  serialize: {
    input: nx.noop,
    output: NxSlateDefaults.exporter
  },
  statics: {},
  commands: {
    is: nx.noop,
    isHotkey: nx.noop,
    activate: nx.noop,
    deactivate: nx.noop,
    toggle: nx.noop
  },
  events: {
    keydown: nx.noop,
    paste: nx.noop
  },
  render: nx.noop
}
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-slate-plugin
[download-url]: https://www.npmjs.com/package/@jswork/next-slate-plugin
npm package: @jswork/next-slate-serialize
Description: Serializing/deserializing html/text for slate.
Author: afei
Latest version: 1.0.6

# next-slate-serialize
> Serializing/deserializing html/text for slate.

[![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-slate-serialize
```

## apis
| api | params             | description              |
| --- | ------------------ | ------------------------ |
| parse  | inNodes, inOptions | Transform nodes to html. |

## usage
```js
import NxSlateSerialize from '@jswork/next-slate-serialize';

// apis
const nodes = [
  {
    children: [
      {
        type: 'paragraph',
        children: [
          { text: 'An opening paragraph with a ' },
          {
            type: 'link',
            url: 'https://example.com',
            children: [{ text: 'link' }]
          },
          { text: ' in it.' }
        ]
      },
      {
        type: 'quote',
        children: [{ text: 'A wise quote.' }]
      },
      {
        type: 'paragraph',
        children: [{ text: 'A closing paragraph!' }]
      }
    ]
  }
];

const options = {
  process: (node, children) => {
    if (!children) return node.text;
    switch (node.type) {
      case 'quote':
        return `<blockquote><p>${children}</p></blockquote>`;
      case 'paragraph':
        return `<p>${children}</p>`;
      case 'link':
        return `<a href="${node.url}">${children}</a>`;
      default:
        return children;
    }
  },
  joined: ''
};

const html = NxSlateSerialize.parse(nodes, options);
// <p>An opening paragraph with a <a href="https://example.com">link</a> in it.</p><blockquote><p>A wise quote.</p></blockquote><p>A closing paragraph!</p>
```

## resources
- https://docs.slatejs.org/concepts/09-serializing

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-slate-serialize
[download-url]: https://www.npmjs.com/package/@jswork/next-slate-serialize
npm package: @jswork/next-sleep
Description: Sleep for next.
Author: afei
Latest version: 1.0.1

# next-sleep
> Sleep 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-sleep
```

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

await nx.sleep(100);   // wait 100ms;
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-sleep
[download-url]: https://www.npmjs.com/package/@jswork/next-sleep
npm package: @jswork/next-slice2str
Description: Slice string to two part.
Author: afei
Latest version: 1.0.6

# next-slice2str
> Slice string to two part.

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

## apis
| argument | type   | default |
|----------|--------|---------|
| str      | String | -       |
| index    | Number | -       |
| step     | Number | 0       |

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

const str = 'test@123.com';
const idx = str.indexOf('@');
const arr1 = nx.slice2str(str, idx);
const arr2 = nx.slice2str(str, idx, 1);

// [ 'test', '123.com' ]
// [ 'test', '123.com' ]
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-slice2str
[download-url]: https://www.npmjs.com/package/@jswork/next-slice2str
npm package: @jswork/next-spider-fetch
Description: Fetch special for spider.
Author: afei
Latest version: 1.0.13

# next-spider-fetch
> Fetch special for spider.

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

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

nx.spiderFetch('https://api.github.com/users/afeiship')
  .then(res=>res.json())
  .then(res=>{
    console.log(res);
});
```

## options
| name    | type    | description            |
| ------- | ------- | ---------------------- |
| timeout | Number  | Timeout for fetch.     |
| delay   | Number  | Request with delay.    |
| proxy   | String  | Set proxy for request. |
| debug   | Boolean | If debug the options.  |

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-spider-fetch
[download-url]: https://www.npmjs.com/package/@jswork/next-spider-fetch
npm package: @jswork/next-splitlines
Description: Split string by `
` or `
` or `` for next.
Author: afei
Latest version: 1.0.1

# next-splitlines
> Split string by `\r\n` or `\n` or `\r` 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-splitlines
```

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

const str = `1
00:00:03,776 --> 00:00:09,152
Technology trends may push Silicon Valley back to the future.

2
00:00:09,152 --> 00:00:19,009
Carver Mead, a pioneer in integrated circuits and a professor of computer science at the California Institute of Technology,

3
00:00:19,009 --> 00:00:33,473
notes there are now work-stations that enable engineers to design, test and produce chips right on their desks, much the way an editor creates a newsletter on a Macintosh.

`;

const liens = nx.splitlines(str);

/*
[
  '﻿1',
  '00:00:03,776 --> 00:00:09,152',
  'Technology trends may push Silicon Valley back to the future.',
  '',
  '2',
  '00:00:09,152 --> 00:00:19,009',
  'Carver Mead, a pioneer in integrated circuits and a professor of computer science at the California Institute of Technology,',
  '',
  '3',
  '00:00:19,009 --> 00:00:33,473',
  'notes there are now work-stations that enable engineers to design, test and produce chips right on their desks, much the way an editor creates a newsletter on a Macintosh.',
  '',
  ''
];
*/
```

## resources
- https://stackoverflow.com/questions/21895233/how-in-node-to-split-string-by-newline-n

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-splitlines
[download-url]: https://www.npmjs.com/package/@jswork/next-splitlines
npm package: @jswork/next-spys-port-decode
Description: Spys port decode.
Author: afei
Latest version: 1.0.0

# next-spys-port-decode
> Spys port decode.

[![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-spys-port-decode
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-spys-port-decode
[download-url]: https://www.npmjs.com/package/@jswork/next-spys-port-decode
npm package: @jswork/next-srt
Description: Parse srt subtitle content for next.
Author: afei
Latest version: 1.0.2

# next-srt
> Parse srt subtitle content 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-srt
```

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

const str = `1
00:00:04,066 --> 00:00:12,016
We can read of things that happened 5,000 years ago in the Near East, where people first learned to write.

2
00:00:12,432 --> 00:00:17,601
But there are some parts of the world where even now people cannot write.
`

nx.srt(str);

/*
[
  {
    start: 4066,
    end: 12016,
    duration: 7950,
    times: [ '00:00:04,066', '00:00:12,016' ],
    value: 'We can read of things that happened 5,000 years ago in the Near East, where people first learned to write.'
  },
  {
    start: 12432,
    end: 17601,
    duration: 5169,
    times: [ '00:00:12,432', '00:00:17,601' ],
    value: 'But there are some parts of the world where even now people cannot write.'
  },
*/
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-srt
[download-url]: https://www.npmjs.com/package/@jswork/next-srt
npm package: @jswork/next-ssr-toolkits
Description: Next ssr toolkits.
Author: afei
Latest version: 1.0.1

# next-ssr-toolkits
> Next ssr toolkits.

[![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-ssr-toolkits
```

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

//DOCS here!
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-ssr-toolkits
[download-url]: https://www.npmjs.com/package/@jswork/next-ssr-toolkits
npm package: @jswork/next-stack
Description: Stack for next.
Author: afei
Latest version: 1.0.0

# next-stack
> Stack 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-stack
```

## apis
| api     | params     | description                 |
| ------- | ---------- | --------------------------- |
| push    | element(s) | Add one/multiple elements   |
| pop     | -          | Remove top element          |
| peek    | -          | Get top element             |
| isEmpty | -          | Check if elements is empty  |
| clear   | -          | Empty the data              |
| size    | -          | Get the length of the stack |


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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-stack
[download-url]: https://www.npmjs.com/package/@jswork/next-stack
npm package: @jswork/next-step
Description: Get current/next/previous step data.
Author: afei
Latest version: 1.0.0

# next-step
> Get current/next/previous step data.

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

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

const items = [
  {
    id: 15,
    status: 'W',
    student: { id: 3, realname: '小明', photo: 'default-avatar.png' }
  },
  {
    id: 65,
    status: 'R',
    student: { id: 7, realname: '测试3号', photo: 'default-avatar.png' }
  },
  { id: 115, status: 'R', student: { id: 8, realname: 'H彩', photo: 'default-avatar.png' } }
];

const result1 = nx.step(items, {
  callback: (item) => item.id === 15,
  get: (item) => nx.get(item, 'id', null)
});

const result2 = nx.step(items, {
  callback: (item) => item.id === 65,
  get: (item) => nx.get(item, 'id', null)
});

const result3 = nx.step(items, {
  callback: (item) => item.id === 115,
  get: (item) => nx.get(item, 'id', null)
});

// result1 is: { current: 15, previous: null, next: 65 }
// result2 is: { current: 65, previous: 15, next: 115 }
// result3 is: { current: 115, previous: 65, next: null }
```

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

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

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

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

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

# next-stub
> Stub code for next.

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

## apis
| api           | description               |
|---------------|---------------------------|
| nx.stubString | Stub empty and new string |
| nx.stubArray  | Stub empty and new array  |
| nx.stubObject | Stub empty and new object |
| nx.stubThen   | Stub empty and new then   |

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

nx.stubStirng();
nx.stubArray();
nx.stubObject();
nx.stubThen();
```


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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-stub
[download-url]: https://www.npmjs.com/package/@jswork/next-stub
npm package: @jswork/next-stub-event
Description: Stub event for react component.
Author: afei
Latest version: 1.0.0

# next-stub-event
> Stub event for react component.

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

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

const event = { target:{ value } };
const value = 123;

nx.stubEventValue(event);
// value

nx.stubEventTarget(value);
// { target: { value: 123 } }
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-stub-event
[download-url]: https://www.npmjs.com/package/@jswork/next-stub-event
npm package: @jswork/next-stub-singleton
Description: Stub code for singleton.
Author: afei
Latest version: 1.0.7

# next-stub-singleton
> Stub code for singleton.

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

## installation
```shell
yarn add @jswork/next-stub-singleton
```

## usage
```ts
import "@jswork/next-stub-singleton";

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

Object.assign(Person, nx.stubSingleton());

const app = (Person as unknown as SingletonType).getInstance("abc");

console.log(app);
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-stub-singleton
[download-url]: https://www.npmjs.com/package/@jswork/next-stub-singleton
npm package: @jswork/next-sum
Description: Gets the sum of the values in collection.
Author: afei
Latest version: 1.0.2

# next-sum
> Gets the sum of the values in collection.

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

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

const arr1 = [1, 2, 3, 4, 5];
const arr2 = [
  { key: '1', value: 111 },
  { key: '2', value: 222 },
  { key: '3', value: 333 },
  { key: '4', value: 444 }
];
const arr3 = [
  { key: 1, value: 111 },
  { key: 2, value: null },
  { key: 3, value: 2 },
  { key: 3, value: 'abc555' }
];

// simple
nx.sum(arr1);   // 15

// use path(or xx.yy.zz)
nx.sum(arr2, 'value'); // 1110

// with callback
nx.sum(arr3, function (_, item) {
  var val = parseInt(item.value, 10);
  return val ? val : 0;
});

// 113
```

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

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

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

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

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

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

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

const arr = [1, 2, 3, 4];
nx.swap(arr, 0, 3);

// [4, 2, 3, 1]
```

## resources
- https://www.c-sharpcorner.com/blogs/swap-array-elements-in-javascript-using-array-prototype-and-other-methods
- https://dmitripavlutin.com/swap-variables-javascript/


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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-swap
[download-url]: https://www.npmjs.com/package/@jswork/next-swap
npm package: @jswork/next-switch-value
Description: Get value for switch/case condition or default.
Author: afei
Latest version: 1.0.0

# next-switch-value
> Get value for switch/case condition or default.

[![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-switch-value
```

## apis
| api | params | description            |
| --- | ------ | ---------------------- |
| get | -      | get the value in hooks |

## usage
```js
import NxSwitchValue from '@feizheng/next-switch-value';

const svalue = new NxSwitchValue({
  2: '参数错误',
  3: '未知错误',
  '-1': '用户取消',
  '*': '服务端接口返回的错误',
  'circle|rect|use|path': 'svg',
  'div|span|ul|li': 'html',
});

// one2one
svalue.get('2') //参数错误
svalue.get('3') //未知错误
svalue.get('-1') //用户取消


// one2many
svalue.get('circle') // svg
svalue.get('rect') // svg
svalue.get('use') // svg
svalue.get('path') // svg

svalue.get('div') // html
svalue.get('span') // html
svalue.get('ul') // html
svalue.get('li') // html


// defautls
svalue.get(null) //服务端接口返回的错误
svalue.get(100) //服务端接口返回的错误
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-switch-value
[download-url]: https://www.npmjs.com/package/@jswork/next-switch-value
npm package: @jswork/next-tally
Description: Which group and count elements of the collection.
Author: afei
Latest version: 1.0.1

# next-tally
> Which group and count elements of the collection.

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

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


nx.tally([null, undefined, false, true, true, null, true, 1]);
// { '1': 1, null: 2, undefined: 1, false: 1, true: 3 }
```

## resources
- https://medium.com/@baweaver/ruby-2-7-enumerable-tally-a706a5fb11ea


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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-tally
[download-url]: https://www.npmjs.com/package/@jswork/next-tally
npm package: @jswork/next-taroreact-kits
Description: Taro react kits based on next.
Author: afei
Latest version: 1.0.6

# next-taroreact-kits
> Taro react kits 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
yarn add @jswork/next-taroreact-kits
```

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

// init uniapp kits:
nx.TaroreactKits.create({ prefix: 'trv' });
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-taroreact-kits
[download-url]: https://www.npmjs.com/package/@jswork/next-taroreact-kits
npm package: @jswork/next-tarovue-kits
Description: Taro vue kits based on next.
Author: afei
Latest version: 1.0.4

# next-tarovue-kits
> Taro vue kits 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
yarn add @jswork/next-tarovue-kits
```

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

// init uniapp kits:
nx.TarovueKits.create({ prefix: 'trv' });
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-tarovue-kits
[download-url]: https://www.npmjs.com/package/@jswork/next-tarovue-kits
npm package: @jswork/next-time-chunk
Description: Split time to chunks for next.
Author: afei
Latest version: 1.0.0

# next-time-chunk
> Split time to chunks 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-time-chunk
```

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

const fetchApi = (item) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log('data:', item);
      resolve(item);
    }, 1000);
  });
};

nx.timeChunk(
  [1, 2, 3, 4, 5],
  {
    callback: (data) => {
      return fetchApi(data);
    },
    chunk: 2
  }
).then(res => {
  console.log(res);
});


// data: 1
// data: 2

// data: 3
// data: 4

// data: 5

// [ 1, 2, 3, 4, 5 ]
```

## resources
- https://www.cnblogs.com/ahthw/p/5117570.html

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-time-chunk
[download-url]: https://www.npmjs.com/package/@jswork/next-time-chunk
npm package: @jswork/next-time-compare
Description: Time compare for next.
Author: afei
Latest version: 1.0.0

# next-time-compare
> Time compare 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-time-compare
```

## usage
```js
import '@feizheng/next-time-compare';

nx.timeCompare('09:41:13', '9:41:13');    // 0
nx.timeCompare('09:42:13', '9:41:13');    // 1
nx.timeCompare('09:40:13', '9:41:13');    // -1
```

## resources
- https://stackoverflow.com/questions/6212305/how-can-i-compare-two-time-strings-in-the-format-hhmmss

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-time-compare
[download-url]: https://www.npmjs.com/package/@jswork/next-time-compare
npm package: @jswork/next-time-format
Description: Time format for next.
Author: afei
Latest version: 1.1.2

# next-time-format
> Time format 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-time-format
```

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

// micro
nx.timeFormat(354*1000);
// {day: 0, hour: 0, minute: 5, second: 54, datetime:'00:05:54' }


nx.timeFormat(4066);
/*
{
  day: 0,
  hour: 0,
  minute: 0,
  second: 4,
  millisecond: 66,
  datetime: '00:00:04'
}
*/
```

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

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

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

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

[download-image]: https://img.shields.io/npm/dm/@jswork/next-time-format
[download-url]: https://www.npmjs.com/package/@jswork/next-time-format
npm package: @jswork/next-time2clock
Description: Time to clock(lrc/srt) for next.
Author: afei
Latest version: 1.0.5

# next-time2clock
> Time to clock(lrc/srt) 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-time2clock
```

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

const res = nx.time2clock(122313);
// { srt: '00:02:02,313', std: '00:02:02.313', lrc: '02:02.313' }
```

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

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

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

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

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