open-index/open-npm huggingface dataset:
npm package: @lenic/compose
Description: 组合模式的一个实现方案，可以把操作封装成一个双工管道。
Author: Lenic Rayleigh
Latest version: 1.1.0

# @lenic/compose

组合模式的一个实现方案，可以把操作封装成一个管道。

## Usage

```html
<div>
  <div>
    <input id="btnWhite" type="button" value="clear" />
    <input id="btnSync" type="button" value="同步测试" />
    <input id="btnAsync" type="button" value="异步测试" />
  </div>
  <div>
    <ol id="olList"></ol>
  </div>
</div>
```

```js
import { compose } from '@lenic/compose';

import seqence from './seqence';

const ol = document.getElementById('olList');

const print = (...args) => {
  const msg = args.join(' -- ');

  const li = document.createElement('li');
  li.innerText = msg;
  ol.appendChild(li);

  console.log(msg);
};

const getPromise = (wait, action) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      action(resolve, reject);
    }, wait);
  });
};

document.getElementById('btnWhite').addEventListener('click', () => {
  ol.innerHTML = null;
});

document.getElementById('btnSync').addEventListener('click', () => {
  const config = compose((options) => options, [
    (next, options) => {
      const res = next(3);
      return res + 1 + options;
    },
    (next, options) => {
      const res = next();
      return res + 2 + options;
    },
    (next, options) => {
      const res = next(5);
      return res + 3 + options;
    },
    (next, options) => {
      const res = next();
      return res + 4 + options;
    }
  ]);

  const result = config.exec(Math.floor(Math.random() * 10));

  print('sync completed', result);
});

document.getElementById('btnAsync').addEventListener('click', () => {
  const seq = seqence(2);

  const config = compose((v) => Promise.resolve(`end(${v})`), [
    seq,
    (next) => {
      return new Promise((r) => {
        setTimeout(() => {
          r(next());
        }, Math.floor(Math.random() * 1000));
      });
    }
  ]);

  config.exec('1').then((v) => print('async completed', v));
  config.exec('2').then((v) => print('async completed', v));
  config.exec('3').then((v) => print('async completed', v));
  config.exec('4').then((v) => print('async completed', v));
  config.exec('5').then((v) => print('async completed', v));
});
```
npm package: @lenic/deferred
Description: Similar to jQuery's Deferred, but it's a promise wrapper.
Author: Lenic Rayleigh
Latest version: 2.1.1

## Deferred

Similar to jQuery's Deferred, but it's a promise wrapper.

### Useage

```ts
import { Deferred } from "@lenic/deferred";

const deferred = new Deferred<string>();

deferred.promise.then(
  (v) => console.log(v),
  (e) => console.error(e)
);

deferred.resolve("hello world"); // then: hello world
deferred.reject("error message"); // catch: error message
```
npm package: @leniumso/threadpool
Description: Parallel operations in js. ThreadPool in js.
Author: LeniumSo
Latest version: 1.0.1

# ThreadPool.js
Parallel operations in js. ThreadPool in js.

```
import ThreadPool from '@leniumso/threadpool';

function threadFunction(num) {
    function fib(n) {
        return n <= 1 ? n : fib(n - 1) + fib(n - 2);
    }

    return fib(num);
}

ThreadPool.isDebugging = true;

ThreadPool.run(threadFunction, 40);
ThreadPool.run(threadFunction, 30);
ThreadPool.run(threadFunction, 45);
```
npm package: @lenivene/imdb-js
Description: Consultar IMDB de uma forma fácil
Author: Lenivene Bezerra
Latest version: 1.0.0

<div align="center">
    <img alt="Logo" title="imdb-js" width="200px" style="max-width:200px;" src=".github/logo.svg">
    <br><br>
    <h1 style="border:0;font-weight:bold;text-transform:uppercase;margin:0">Imdb.js</h1>
    <b>Consulta de informações no IMDB</b>
</div>

# 📔 Indíce

- [📔 Indíce](#-indíce)
- [📖 Sobre](#-sobre)
- [📚 Como usar?](#-como-usar)
- [📝 License](#-license)

# 📖 Sobre

O _Imdb.js_ é um modulo que faz scraper no site imdb e retorna informaçãos do filme

# 📚 Como usar?

```ts
import ImdbJs from "@lenivene/imdb-js";

const imdb = new ImdbJs();

imdb.movie('tt0993846').then(cnpj => {
  /**
   * Example result
   * @return {
   *   id: 'tt0993846',
   *   poster: 'https://..........kFtZTgwNjIyOTg2MDE@._V1_.jpg',
   *   name: 'The Wolf of Wall Street',
   *   year: 2013,
   *   release: 2013-12-25T00:00:00.000Z,
   *   rating: 8.2,
   *   metascore: 75,
   *   certificate: 'R',
   *   description: 'The Wolf of W.........',
   *   storyline: `In th.......`,
   *   genres: [ 'Biography', 'Crime', 'Drama' ],
   *   directors: [ 'Martin Scorsese' ],
   *   creators: [
   *     'Terence Winter',
   *     'Jordan Belfort',
   *     'Red Granite Pictures',
   *     'Appian Way',
   *     'Sikelia Productions'
   *   ]
   * }
  */
  console.log("Result::", result);
})
.catch(error => {
  console.log(error);
})
```

# 📝 License

The logo is fully licensed by its creator.
This project is under the MIT license.