open-index/open-npm huggingface dataset:
npm package: @lowinc/jigsawpuzzle-ui
Description: >
Author: sunweiqi
Latest version: 0.1.6

# mobile-ui

>

[![NPM](https://img.shields.io/npm/v/mobile-ui.svg)](https://www.npmjs.com/package/mobile-ui) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save mobile-ui
```

## Usage

```tsx
import * as React from 'react'

import MyComponent from 'mobile-ui'

class Example extends React.Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [LOWINC](https://github.com/LOWINC)
npm package: @lowinc/qy-ui
Description: 权益平台组件库
Author: lowinc
Latest version: 1.0.7

# 基于 Taro 的多端 UI 库示范用例

> 通过 Taro 提供的多端 UI 库打包能力，可以打包出一个多端运行的 UI 库，目前已经支持 微信/支付宝/百度小程序以及 H5，RN 端的支持还在调研中

## 多端 UI 库项目结构

多端 UI 库的项目目录结构与普通 Taro 项目基本一致，不同点如下

#### 增加一个 UI 库入口文件

需要在 `src` 目录下添加 `index.js` 或者 `index.ts` 来作为 UI 库的入口文件，用于输出 UI 组件，如果有多个 UI 组件，可以如下书写

```javascript
export { default as A } from './components/A/A'
export { default as B } from './components/B/B'
```

这样的话，这个组件库使用起来，会是如下的方式

```javascript
import { A } from 'taro-ui-sample'

<A />
```

如果只有 UI 组件，也可以如下书写

```javascript
import A from './components/A/A'

export default A
```

这样的话，这个组件库使用起来，会是如下的方式

```javascript
import A from 'taro-ui-sample'

<A />
```

#### 配置文件改造

为了打包出可以在 H5 端使用的组件库，需要在 `config/index.js` 文件中增加一些配置

```javascript
if (process.env.TARO_BUILD_TYPE === 'ui') {
  Object.assign(config.h5, {
    enableSourceMap: false,
    enableExtract: false,
    enableDll: false
  })
  config.h5.webpackChain = chain => {
    chain.plugins.delete('htmlWebpackPlugin')
    chain.plugins.delete('addAssetHtmlWebpackPlugin')
    chain.merge({
      output: {
        path: path.join(process.cwd(), 'dist', 'h5'),
        filename: 'index.js',
        libraryTarget: 'umd',
        library: 'taro-ui-sample'
      },
      externals: {
        nervjs: 'commonjs2 nervjs',
        classnames: 'commonjs2 classnames',
        '@tarojs/components': 'commonjs2 @tarojs/components',
        '@tarojs/taro-h5': 'commonjs2 @tarojs/taro-h5',
        'weui': 'commonjs2 weui'
      }
    })
  }
}
```

以上配置可以根据需要自行修改。

#### package.json 依赖处理

package.json 中 `dependencies` 中只放必要的依赖，并且建议尽量精简，原有 Taro 相关的依赖可以放到 `devDependencies` 中，这样安装 UI 库的时候不需要再重复安装

## 打包命令

在完成以上项目结构改造后，你就可以获得一个 Taro 的多端 UI 库的项目了

这时候你可以通过如下命令来进行打包

```bash
$ TARO_BUILD_TYPE=ui taro build --ui
```

打包之后的文件在 `dist` 目录下

里面会包含一个 `index.js` 的入口文件，内容如下，需要注意的是，这个内容是 Taro 自动生成的，不可修改

```javascript
if (process.env.TARO_ENV === 'h5') {
  module.exports = require('./h5/index')
  module.exports.default = module.exports
} else {
  module.exports = require('./weapp/index')
  module.exports.default = module.exports
}
```

H5 端以及小程序类（微信/支付宝/百度）的文件分别在 `h5` 和 `weapp` 目录下，通过入口文件就能在不同的端内进行引用

## 项目测试

推荐采用 [jest](https://jestjs.io/) 进行测试，项目中已经包含了完整的测试配置与范例，可以直接使用，有以下值得注意的地方

#### 使用 babel-jest

转换器使用 `babel-jest`，为了配合 babel 7 进行使用，需要安装

```bash
$ yarn add --dev babel-jest babel-core@^7.0.0-bridge.0 @babel/core
```

其中 `babel-core@^7.0.0-bridge.0` 一定要安装

#### babel.config.js

由于测试使用了 babel 7，为了避免和 Taro 本身使用的 babel 冲突，测试使用的 babel 配置位于 `babel.config.js` 中
npm package: @lowk3v/n8n-nodes-nmap
Description: Nmap Scan
Author: Zubial
Latest version: 1.0.1-lowk-2

# NmapNode – Custom n8n Node for Network Scanning

This is a n8n community node.

NmapNode is a custom n8n node designed to automate network discovery and port scanning using Nmap. It allows users to scan their local network, identify active devices, and detect open ports with customizable scan options.

[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

## Key Features
* Nmap Quick Scan Network (-sn)
* Nmap Discovery Network (-sS)
* Nmap Ports Fast Scan (-F)
* Nmap All Ports Scan (-p-)

## Additional Features by @LowK
* Option choose sudo for nmap command

## Installation

Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

Install with `npm i n8n-nodes-nmap`

Need Nmap installed on n8n instance eg. `apt-get install nmap`

## Disclaimer
The NmapNode for n8n is intended for authorized security assessments and internal network audits only. Unauthorized scanning of networks, systems, or devices without explicit permission may violate laws and regulations.

By using this node, you acknowledge that:
*	You have explicit authorization to scan the target network.
*	You assume full responsibility for any consequences arising from its use.
*	The developers and contributors of this node are not liable for any misuse or damages caused.

⚠ Always obtain proper authorization before conducting any network scan. ⚠

## Compatibility

Developed using n8n version 1.64

## Resources

* [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
npm package: @lowkey/audio-releaser
Description: Release AV session after usage
Author: Max Prokopenko
Latest version: 0.1.2

# @lowkey/audio-releaser

Release AV session after usage

## Installation

```sh
npm install @lowkey/audio-releaser
```

or 

```sh
yarn add @lowkey/audio-releaser
```

then install pods

```sh
cd ios/ && pod install
```

## Usage
### To set AVSession category

| Category   |      Are      |
|----------|:-------------:|
| Playback |  AVAudioSessionCategoryPlayback |
| PlayAndRecord |    AVAudioSessionCategoryPlayAndRecord   |

```js
import AudioReleaser from "@lowkey/audio-releaser";

// ...
AudioReleaser.setCategory('Playback');
```

### To release audio after usage
```js
import AudioReleaser from "@lowkey/audio-releaser";

// ...
AudioReleaser.releaseAudio();
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @lowkey/react-native-cache
Description: Cache everything
Author: Max Prokopenko
Latest version: 0.1.2

# @lowkey/react-native-cache

Cache everything

## Installation

```sh
npm install @lowkey/react-native-cache
```

## Usage

```js
import ReactNativeCache from "@lowkey/react-native-cache";

// ...


```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @lowkey/react-native-ellipse-view
Description: Rounded view for React Native
Author: Max Prokopenko
Latest version: 0.2.4

# react-native-ellipse-view

View smoothly rounded with Bézier curve for React Native.

<img src="https://user-images.githubusercontent.com/20337903/114556770-b4978b00-9c71-11eb-8a4b-27ffd82c4243.png" width="300">

## Installation

```sh
npm install @lowkey/react-native-ellipse-view
```
or
```sh
yarn add @lowkey/react-native-ellipse-view
```

## Usage

```js
import EllipseView from "@lowkey/react-native-ellipse-view";

// ...

<EllipseView style={styles.ellipseViewContainer}>
    <Image source={require('./example.jpeg')} style={styles.avatar} />
</EllipseView>

```

## Props

| Property  | Type | Default | Required | Description |
| ------------- |:-------------:|:-------------:|:-------------:|:-------------:|
| `roundness`      | number (0-1)     |  0.45      | false      | Changes the "borderRadius" of the ellipse |

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @lowkey/react-native-encryption
Description: Symmetric and asymmetric encryption for React Native
Author: Max Prokopenko
Latest version: 0.2.7

<!-- # react-native-lowkey-encryption

encryption

## Installation

```sh
npm install react-native-lowkey-encryption
```

## Usage

```js
import LowkeyEncryption from "react-native-lowkey-encryption";

// ...

const result = await LowkeyEncryption.multiply(3, 7);
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT -->
npm package: @lowkey/react-native-link-preview
Description: Get link metadata to show url preview in React Native.
Author: Max Prokopenko
Latest version: 0.2.2

# @lowkey/react-native-link-preview
Fully native link metadata generation to create link preview in React Native. Metadata generation happens on native thread, so the JS thread stays unblocked with 60fps. 

Supports most of the basic links, Spotify, Youtube and Facebook.

Supported on iOS and Android.


https://user-images.githubusercontent.com/20337903/124804885-73a6ce00-df63-11eb-8a24-6dd5888dfafb.mov



## Installation

```sh
npm install @lowkey/react-native-link-preview
```

or 

```sh
yarn add @lowkey/react-native-link-preview
```

then install pods

```sh
cd ios/ && pod install
```

## Usage
### Get URL metadata

```js
import LinkPreview from "@lowkey/react-native-link-preview";

// ...
const url = 'https://www.apple.com/ipad/';
const metadata = await LinkPreview.generate(url);

/*
console.log(metadata);
{
    title: string;
    type: string;
    url: string;
    imageURL: string;
    description: string;
}
*/
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @lowkey/react-native-open-sms
Description: Open message composer in app
Author: Max Prokopenko
Latest version: 0.1.1

# react-native-open-sms

Open a system standard interface, which lets the user compose and send SMS messages.(iMessage etc)

![EB4B4044-6A97-43D3-8253-80E0A94A5AA8](https://user-images.githubusercontent.com/20337903/114843299-576f1700-9de2-11eb-92bc-b7e759838da1.GIF)

## Installation

```sh
npm install @lowkey/react-native-open-sms
```
or
```sh
yarn add @lowkey/react-native-open-sms
```

Install pods
```sh
npx pod-install
```

## Usage

```js
import OpenSms from '@lowkey/react-native-open-sms';

// ...

const openComposer = () => {
    OpenSms.displaySMSComposerSheet({
      body: 'Hello my dear friend!',
      recipients: ['1234567890'],
    }).then((result: string) => {
      switch (result) {
        case OpenSms.Types.Sent:
          console.log('Message was sent!');
          break;
        case OpenSms.Types.Cancelled:
          console.log('Sending was cancelled!');
          break;
        case OpenSms.Types.Failed:
          console.log('Sending failed');
          break;
        case OpenSms.Types.NotSupported:
          console.log('Sending is not supported');
          break;
        default:
          console.log('Error occupied', result);
          break;
      }
    });
  };

```

## Props
| Prop  | Type  | Description | Required |
| ----------------| ---------------- |:----------------:|:----------------:|
| body      | String      | Message Text     |false     |
| recipients      | string[]      | Message recipients     |true     |

## Types

Action types returned when promise is resolved

| Type  | Description | 
| ----------------| ---------------- |
| OpenSms.Types.Sent      | Message was sent      |
| OpenSms.Types.Cancelled      | User canceled message sending      |
| OpenSms.Types.Failed      | Message sending failed      |
| OpenSms.Types.NotSupported      | Message sending is not supported (iOS simulator)      |

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @lowkey/thumbnailer
Description: Create a thumbnail for image
Author: Max Prokopenko
Latest version: 1.2.0

# @lowkey/thumbnailer

React Native module to create a thumbnail for video (iOS only)

## Installation

```sh
npm install @lowkey/thumbnailer
cd ios && pod install
```

## Usage

```js
import Thumbnailer from "@lowkey/thumbnailer";

// ...

Thumbnailer.getThumbnail("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4", (error, data) => {
    console.log('URI:', data.uri);
    console.log('Size:', data.size);
    console.log('Width:', data.width);
    console.log('Height:', data.height);
});
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @lowkeychat/react-native-proximity-sensor
Description: test
Author: Evgeny
Latest version: 0.2.1

# react-native-proximity-sensor

Library for React Native to work with proximity-sensor. 

## Installation

```sh
npm install react-native-proximity-sensor

cd ios && pod install
```

or

```sh
yarn add react-native-proximity-sensor

cd ios && pod install
```


## Usage

1. Subscribe on listening Proximity sensor

```js
import { ProximitySensor } from 'react-native-proximity-sensor';

// ...

ProximitySensor.start();


```

2. Listen for changes

```tsx

import { ProximitySensor } from 'react-native-proximity-sensor';
// ...

useEffect(() => {
    const subscription = ProximitySensor.onChangeListener((isNear) => {
      console.warn('isNear: ', isNear);
    });

    return () => {
      subscription.remove();
    };
  }, []);

```

3. Stop listening

```js

import { ProximitySensor } from 'react-native-proximity-sensor';


// ...

ProximitySensor.stop();

```

# Android

Android required some additional steps to work with Proximity sensor. Just add permissions to AndroidManifest.xml:

```xml

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.hardware.sensor.proximity"/>

```

# New architecture 

## ios

Install pods with right flag:

```sh
RCT_NEW_ARCH_ENABLED=1 pod install
```

## android

Add to `android/gradle.properties`:
```gradle
newArchEnabled=true
```


## License

MIT
npm package: @lowlighter/diff
Description: Diff (patience algorithm)
Author: lowlighter
Latest version: 2.0.0

# ➕ Diff

[![JSR](https://jsr.io/badges/@libs/diff)](https://jsr.io/@libs/diff) [![JSR Score](https://jsr.io/badges/@libs/diff/score)](https://jsr.io/@libs/diff)
[![NPM](https://img.shields.io/npm/v/@lowlighter%2Fdiff?logo=npm&labelColor=cb0000&color=183e4e)](https://www.npmjs.com/package/@lowlighter/diff) [![Coverage](https://libs-coverage.lecoq.io/diff/badge.svg)](https://libs-coverage.lecoq.io/diff)

Use the patience algorithm for practical purposes.

- [`🦕 Playground`](https://libs.lecoq.io/diff)
- [`📚 Documentation`](https://jsr.io/@libs/diff/doc)

## 📑 Examples

```ts
import { diff } from "./diff.ts"
diff("foo\n", "foo")
```

```diff
--- a
+++ b
@@ -1 +1 @@
-foo
+foo
\ No newline at end of file
```

## ✨ Features

- Support for computing the [unified patch](https://opensource.com/article/18/8/diffs-patches) between two strings.
- Support for matching the [`diff`](https://www.man7.org/linux/man-pages/man1/diff.1.html) command line output.
- Has no external dependencies.
- Is lightweight.

## 📜 License and credits

```plaintext
Copyright (c) Simon Lecoq <@lowlighter>. (MIT License)
https://github.com/lowlighter/libs/blob/main/LICENSE
```

This library is based on the previous work of [@jonTrent](https://github.com/jonTrent) which is itself based on the work of Bram Cohen.

- The [original JavaScript source code](https://github.com/jonTrent/PatienceDiff/blob/dev/PatienceDiff.js) was public domain under [the Unlicense](https://raw.githubusercontent.com/jonTrent/PatienceDiff/master/UNLICENSE.txt)
npm package: @lowlighter/logger
Description: Simple logger
Author: lowlighter
Latest version: 3.1.1

# 📰 Logger

[![JSR](https://jsr.io/badges/@libs/logger)](https://jsr.io/@libs/logger) [![JSR Score](https://jsr.io/badges/@libs/logger/score)](https://jsr.io/@libs/logger)
[![NPM](https://img.shields.io/npm/v/@lowlighter%2Flogger?logo=npm&labelColor=cb0000&color=183e4e)](https://www.npmjs.com/package/@lowlighter/logger) [![Coverage](https://libs-coverage.lecoq.io/logger/badge.svg)](https://libs-coverage.lecoq.io/logger)

- [`🦕 Playground`](https://dash.deno.com/playground/libs-logger)
- [`📚 Documentation`](https://jsr.io/@libs/logger/doc)

## 📑 Examples

![](https://raw.githubusercontent.com/lowlighter/libs/main/logger/example.png)

```ts
import { Logger } from "./mod.ts"

// Configure logger
const tags = { foo: "bar" }
const log = new Logger({ level: "trace", tags, date: true, time: true, delta: true, caller: true })

// Print logs
log
  .error("🍱 bento")
  .warn("🍜 ramen")
  .ok("🍚 gohan")
  .info("🍣 sushi")
  .log("🍥 narutomaki")
  .debug("🍡 dango")
  .wdebug("🍵 matcha")
  .trace("🍙 onigiri")
  .probe("🥟 gyoza")

//
log
  .censor({ keys: ["password", /^api_/], values: [/offensive-word/] })
  .log({ user: "foo", password: "bar", api_key: "foobar", message: "offensive-word content" })
```

## ✨ Features

- Has no external dependencies.
- Support for colored output.
- Support for log levels.
- Support for tags.
- Support for timestamps (date, time, delta).
- Support for displaying caller information (file, function name, line and column).
- Support for multiple log formatters (text, JSON).
- Support censorship of sensitive data.

## 🕊️ Migrating from `2.x.x` to `3.x.x`

Version `3.x.x` and onwards require Deno `2.x.x` or later.

## 🕊️ Migrating from `1.x.x` to `2.x.x`

### Flattened constructor options

All fields from `options` are now located at the root of the constructor argument.

```diff
- new Logger({ options: { date: true, time: true } })
+ new Logger({ date: true, time: true })
```

### Chainable setters for `level` and `options`

Instead of properties, `level()` and `options()` are now chainable setters when called with arguments and getters when called without.

```diff
- log.level = Logger.level.log
- log.options = {...}
- console.log(log.level, log.options)
+ log.level(Logger.level.log).options({...})
+ console.log(log.level(), log.options())
```

### Flexible file formatting

To offer more flexibility, `caller.fileformat` is now a `[RegExp, string]` tuple.

```diff
- const options = { caller: { fileformat: /(?<file>.*)/ } }
+ const options = { caller: { fileformat: [/(?<file>.*)/, "$<file>"] } }
```

### Additional stream channels

The following new stream channels are available:

- `ok` (use same channel as `info`)
- `wdebug` (use same channel as `debug`)
- `trace` (use same channel as `debug`)
- `probe` (use same channel as `debug`)

## 📜 License and credits

```plaintext
Copyright (c) Simon Lecoq <@lowlighter>. (MIT License)
https://github.com/lowlighter/libs/blob/main/LICENSE
```
npm package: @lowlighter/orm
Description: Object-relational mapping toolbox.
Author: lowlighter
Latest version: 0.9.0

# 💰 ORM

[![JSR](https://jsr.io/badges/@libs/orm)](https://jsr.io/@libs/orm) [![JSR Score](https://jsr.io/badges/@libs/orm/score)](https://jsr.io/@libs/orm)
[![NPM](https://img.shields.io/npm/v/@lowlighter%2Form?logo=npm&labelColor=cb0000&color=183e4e)](https://www.npmjs.com/package/@lowlighter/orm) [![Coverage](https://libs-coverage.lecoq.io/orm/badge.svg)](https://libs-coverage.lecoq.io/orm)

- [`🦕 Playground`](https://libs.lecoq.io/orm)
- [`📚 Documentation`](https://jsr.io/@libs/orm/doc)

## 📜 Licenses

```plaintext
Copyright (c) Simon Lecoq <@lowlighter>. (MIT License)
https://github.com/lowlighter/libs/blob/main/LICENSE
```
npm package: @lowlighter/qrcode
Description: Pure TypeScript QRcode generator with no dependencies.
Author: lowlighter
Latest version: 2.0.0

# 🔳 QR Code generator

[![JSR](https://jsr.io/badges/@libs/qrcode)](https://jsr.io/@libs/qrcode) [![JSR Score](https://jsr.io/badges/@libs/qrcode/score)](https://jsr.io/@libs/qrcode)
[![NPM](https://img.shields.io/npm/v/@lowlighter%2Fqrcode?logo=npm&labelColor=cb0000&color=183e4e)](https://www.npmjs.com/package/@lowlighter/qrcode) [![Coverage](https://libs-coverage.lecoq.io/qrcode/badge.svg)](https://libs-coverage.lecoq.io/qrcode)

- [`🦕 Playground`](https://libs.lecoq.io/qrcode)
- [`📚 Documentation`](https://jsr.io/@libs/qrcode/doc)

## 📑 Examples

### SVG output

```ts
import { qrcode } from "./mod.ts"
const svg = qrcode("https://example.com", { output: "svg" })
console.assert(svg.includes("</svg>"))
```

### Console output

```ts
import { qrcode } from "./mod.ts"
qrcode("https://example.com", { output: "console" })
```

### Array output

```ts
import { qrcode } from "./mod.ts"
const array = qrcode("https://example.com")
console.assert(Array.isArray(array))
```

## ✨ Features

- Support for `array`, `console` and `svg` outputs out-of-the-box.
- Support for custom colors and error correction level (ECL).
- Has a modern implementation using TypeScript and EcmaScript modules.
- Has no external dependencies _(not even the DOM's [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas) element)_!
- Is runtime agnostic _(and even works in browsers)_!

## 📜 License and credits

```plaintext
Copyright (c) Simon Lecoq <@lowlighter>. (MIT License)
https://github.com/lowlighter/libs/blob/main/LICENSE

Copyright (c) Project Nayuki. (MIT License)
https://www.nayuki.io/page/qr-code-generator-library
```

This library is based on the awesome work of [@nayiki](https://github.com/nayuki).

Please take a look at their articles about QR Codes:

- [Creating a QR Code step by step](https://www.nayuki.io/page/creating-a-qr-code-step-by-step)
- [QR Code generator library](https://www.nayuki.io/page/qr-code-generator-library)