open-index/open-npm huggingface dataset:
npm package: @monksoftware/huangcha
Description: Universal typescript XMPP library based on Strophe.js and reactivex observable streams
Author: MONK Software
Latest version: 0.11.3

# Huangcha
Huangcha is typescript xmpp client library based on [strophe.js](https://github.com/strophe/strophejs). It works both in nodejs and browsers, and
provides an API based on [reactivex](http://reactivex.io/) observable streams.

## Usage

The library is meant to be used as high-level xmpp client dependency on
other projects.
Nonetheless, you can "run it" as a readonly xmpp client. Could be useful
to observe raw incoming xmpp streams, debug connection and authentication
issues, and so on. To do so, you can launch it this way:

```bash
env DEBUG='huangcha:*' XMPP_HOST='wss://xmpphost:port/ws-xmpp' XMPP_JID='node@domain/resource' XMPP_PASSWORD='password' npm run start
```

And you'll get something like this:

![client screenshot](./static/client-screenshot.png)

## Debugging

Following the widespread javascript convention, the library defines several
[DEBUG](https://github.com/visionmedia/debug) namespaces that can be used
to enable logging. Being a library supposed to be used by final projects,
huangcha doesn't log anything by default.

Launch it with `DEBUG='huangcha:*'` to log everything, including raw xmpp frames
(`huangcha:raw`).

## FAQs

### Where does the name come from ?

Typescript XMPP => first and last letters: T P => sounds like Tea Pee =>
yellow tea (if your pee in not yellow, you should call a doctor) =>
[Huangcha](https://en.wikipedia.org/wiki/Yellow_tea#Chinese_huangcha) is a
rare and refined variety of yellow tea.
Thanks to [this youtube video](https://www.youtube.com/watch?v=_UR-l3QI2nE)
for confirming the pronounciation of the letters in english.
npm package: @monksoftware/monredis
Description: IORedis wrapper with improved cluster support and sensible defaults
Author: Monk Software
Latest version: 2.3.0

# Monredis

Monredis is a thin wrapper around
[ioredis](https://github.com/luin/ioredis/tree/v3.2.2)
providing improved cluster support and sensible defaults for both
single-node and cluster redis instances.

## Usage

The module exports a factory function, use it to get a ioredis redis client

```js
const Redis = require('monredis')

// Single node redis instance
const redisClient = Redis('redis://:authpwd@host:port')

// Redis cluster with keys prefix
const redisClusterClient = Redis(
  'redis://:authpwd@host:port',
  true,
  {keyPrefix: 'myprefix'}
)
```

See `simple.js` file inside `example` folder for a more complete example.

## Documentation

The factory functions takes 4 arguments:

* `host`: string or array, required.
  The [redis url](https://www.iana.org/assignments/uri-schemes/prov/redis) to
  connect to. Can be an array of multiple urls if connecting to a cluster,
  so that if some nodes are down it will connect to the next one in the array
  for the initial connection. NOTE: **You don't have to pass all the cluster
  nodes here when connecting to a cluster!** ioredis will automatically find
  and connect to all nodes as soon as it connects to one;
  the nodes here are only the candidates for the initial connection. One or two
  are enough unless you have a very unstable cluster.
* `cluster`: boolean, default `false` - pass `true` to connect to redis cluster
* `nodeOptions`: object, optional -
  [ioredis redis options](https://github.com/luin/ioredis/blob/master/API.md#new-redisport-host-options)
* `clusterOptions`: object, optional -
  [ioredis cluster options](https://github.com/luin/ioredis/blob/master/API.md#Cluster),
  minus the `redisOptions` key, which we take from the previous `nodeOptions`
  parameter.

You can check the default values for `nodeOptions` and `clusterOptions` in the
main source file and in the
[ioredis'documentation](https://github.com/luin/ioredis/blob/master/API.md#new_Redis_new).
The values you provide will overwrite the defaults, so you
can change a single key or override everything.

### Keys prefix

One particularly useful param in `nodeOptions` is the `keyPrefix` one:
if supplied, all keys in the commands executed by the client will be
automatically and transparently prefixed with the value. For example:

```js
const Monredis = require('monredis')
const redis = Monredis('redis://localhost:6379', false, {keyPrefix: 'dev:'})

// Will actually create and read 'dev:mymapkey'
redisClient.set('mykey', 'value')
redisClient.get('mykey')
```

This is great for namespacing of keys in shared redis instances, or you can
also use this feature to [force all your keys to end up in a single redis
cluster node by providing a prefix between `{}` brackets.](
https://redis.io/topics/cluster-tutorial#redis-cluster-data-sharding)
npm package: @monku/affix
Description: 將某個元素固定在可視範圍內。當內容較長時，可把指定元素固定，達到輔助操作、導覽的效果
Author: zhong666
Latest version: 0.2.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Affix (Core)
將某個元素固定在可視範圍內。當內容較長時，可把指定元素固定，達到輔助操作、導覽的效果

## 安裝
```
yarn add @monku/affix
```
npm package: @monku/affix-react
Description: [Affix](../core/README.md) 的 React 版本
Author: zhong666
Latest version: 0.2.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Affix (React)
[Affix](../core/README.md) 的 React 版本

## 安裝
```
yarn add @monku/affix-react
```
npm package: @monku/affix-vue
Description: [Affix](../core/README.md) 的 Vue 版本
Author: zhong666
Latest version: 0.2.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Affix (Vue)
[Affix](../core/README.md) 的 Vue 版本

## 安裝
```
yarn add @monku/affix-vue
```
npm package: @monku/list
Description: 提供一些滾動列表相關資訊，例如：至頂(至底)事件、目前滾動是哪個軸 (x, y)...
Author: zhong666
Latest version: 0.2.0
Deprecated: Please move to @bouzu/scroller

# List (Core)
提供一些滾動列表相關資訊，例如：至頂(至底)事件、目前滾動是哪個軸 (x, y)...

## 安裝
```
yarn add @monku/list
```
npm package: @monku/list-react
Description: [List](../core/README.md) 的 React 版本
Author: zhong666
Latest version: 0.2.0
Deprecated: Please move to @bouzu/react-scroller

# List (React)
[List](../core/README.md) 的 React 版本

## 安裝
```
yarn add @monku/list-react
```
npm package: @monku/list-vue
Description: [List](../core/README.md) 的 Vue 版本
Author: zhong666
Latest version: 0.2.1
Deprecated: Please move to @bouzu/vue-scroller

# List (Vue)
[List](../core/README.md) 的 Vue 版本

## 安裝
```
yarn add @monku/list-vue
```
npm package: @monku/virtual-list
Description: 虛擬滾動列表，應用在大量資料(10000+)的列表上面，即使資料量大，也可以控制 DOM 數量，讓介面滾動滑順
Author: zhong666
Latest version: 0.2.0
Deprecated: Please move to @bouzu/virtualizer

# Virtual List (Core)
虛擬滾動列表，應用在大量資料(10000+)的列表上面，即使資料量大，也可以控制 DOM 數量，讓介面滾動滑順

## 安裝
```
yarn add @monku/virtual-list
```
npm package: @monku/virtual-list-react
Description: [Virtual List](../core/README.md) 的 React 版本
Author: zhong666
Latest version: 0.1.0
Deprecated: Please move to @bouzu/react-virtualizer

# Virtual List (React)
[Virtual List](../core/README.md) 的 React 版本

## 安裝
```
yarn add @monku/virtual-list-react
```
npm package: @monku/virtual-list-vue
Description: [Virtual List](../core/README.md) 的 Vue 版本
Author: zhong666
Latest version: 0.2.1
Deprecated: Please move to @bouzu/vue-virtualizer

# Virtual List (Vue)
[Virtual List](../core/README.md) 的 Vue 版本

## 安裝
```
yarn add @monku/virtual-list-vue
```