open-index/open-npm huggingface dataset:
npm package: @jskit/_demo
Description: @jskit/demo
Author: cloudyan
Latest version: 0.0.6

# @jskit/demo

原: kit-fibonacci

<p>
  <a href="https://circleci.com/gh/jskit/kit-fibonacci/tree/dev"><img src="https://img.shields.io/circleci/project/jskit/kit-fibonacci/dev.svg" alt="Build Status"></a>
  <a href="https://codecov.io/github/jskit/kit-fibonacci?branch=dev"><img src="https://img.shields.io/codecov/c/github/jskit/kit-fibonacci/dev.svg" alt="Coverage Status"></a>
</p>

使用 JavaScript 尽可能快地来计算斐波那契数列。

```js
import fib from '@jskit/_demo';

fib(12); // 144
```
npm package: @jskit/qs
Description: query-string
Author: cloudyan
Latest version: 0.0.12

# @jskit/qs

已废弃，请使用 `@dwdjs/utils/qs`

[![Circle CI](https://circleci.com/gh/jskit/shared/tree/master.svg?style=svg)](https://circleci.com/gh/jskit/shared/tree/master)

目标

- [x] 拿参数 支持获取完整的 url 搜索参数
- [ ] 用于分享 支持输出标准的 url 格式数据
- [x] 兼容处理 微信分享后在 hash 前面自动添加参数，导致页面链接不规范
- [ ] 支持参数的 merge 合并
- [ ] 支持url 的映射转换

支持处理像这样不规整的URL，其query参数需要特殊处理

```html
// 微信分享后在 hash 前面自动添加参数，导致页面链接不规范
https://m.iqianggou.com/?from=singlemessage&isappinstalled=0#bargain?id=646156&platform=5
```

## Usage

- `copy`      简单拷贝 `JSON.parse(JSON.stringify(data))`;
- `compact`   清除数组中的空数据，如 `''`, `0`, `undefined`, `false`, `NaN`
- `compactObject` 清除对象的无效数据，如 `''`, `undefined`, `null`
- `parse`     解析 url 的 query 参数，输出为对象
- `stringify` 对象转化为查询字符串

```js
import {
  copy,
  compact,
  compactObject,
  parse,
  stringify,
} from '@jskit/qs';

// 非规范链接
const url = 'https://m.iqianggou.com/?from=singlemessage&isappinstalled=0#bargain?id=646156&platform=5'

const query = parse(url);
```
npm package: @jskitty/bitcoin-rpc
Description: A simple, efficient, zero-dep Bitcoin RPC interface.
Author: JSKitty
Latest version: 1.0.2

# bitcoin-rpc - [npm](https://www.npmjs.com/package/@jskitty/bitcoin-rpc)
A simple, efficient, zero-dep Bitcoin RPC interface.

## Why?
Most other Bitcoin RPC libraries either:
- Have unnecessary dependencies.
- Don't follow proper standards (silent RPC errors, strange Promise handling, etc).
- Have hardcoded RPC commands, meaning the lib must be upgraded every time the RPC daemon changes, seriously?

## How?

```js
const RPCClient = require('@jskitty/bitcoin-rpc');

// Create a new RPC class for a Bitcoind RPC daemon
//                           user    pass    host         port
const btcRPC = new RPCClient('user', 'pass', '127.0.0.1', 8332);

// EXAMPLE: Fetch the latest block count
btcRPC.call('getblockcount').then(nBlocks => {
    console.log('There\'s ' + nBlocks + ' blocks in the blockchain, nice!');
});

// EXAMPLE: Fetch a raw block based on it's block hash
btcRPC.call('getblock', '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f').then(cBlock => {
    console.log(cBlock);
});

// EXAMPLE: Asynchronously fetch the latest block count
async function getBlockCount() {
    const nBlocks = await btcRPC.call('getblockcount');
    console.log('There\'s ' + nBlocks + ' blocks in the blockchain, nice!');
}
```