open-index/open-npm huggingface dataset:
npm package: @suxhk/pinia-auto-refs
Description: Auto storeToRefs for use pinia state.
Author: Allen-1998
Latest version: 0.0.1

# pinia-auto-refs

[![NPM version](https://img.shields.io/npm/v/pinia-auto-refs?color=a1b858&label=)](https://www.npmjs.com/package/pinia-auto-refs)
[![NPM downloads](https://img.shields.io/npm/dm/pinia-auto-refs.svg?style=flat)](https://npmjs.com/package/pinia-auto-refs)

Pinia Auto Refs on-demand for Vite. With TypeScript support. Powered by [unplugin-auto-import](https://github.com/antfu/unplugin-auto-import).Inspiration by [vieruuuu](https://github.com/vieruuuu) in [pinia/issues#718](https://github.com/vuejs/pinia/issues/718).

[掘金：受够了手动 storeToRefs？来试试这个 vite 插件吧](https://juejin.cn/post/7097893752030625828/)<br>
[Playground](https://stackblitz.com/edit/vitejs-vite-rf7juf)

## without

```ts
import useUserStore from '@/store/user'

const userStore = useUserStore()
const { name, token, fullName } = storeToRefs(userStore)
const { updateName } = userStore
```

## with

```ts
const { name, token, fullName, updateName } = useStore('user')
```

## Install

`npm i pinia-auto-refs`

## Setup

```ts
// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import PiniaAutoRefs from 'pinia-auto-refs'

export default defineConfig({
  resolve: {
    alias: {
      '@': resolve(__dirname, 'src'),
    },
  },
  plugins: [
    AutoImport({
      imports: [
        'pinia',
        {
          '@/helper/pinia-auto-refs': ['useStore'],
        },
      ],
    }),
    PiniaAutoRefs(),
  ],
})
```

## Config Options

```ts
type Options = Partial<{
  storeDir: string
  excludes: string[]
  outputFile: string
}>

const defaultOptions = {
  storeDir: 'src/store',
  excludes: ['index'],
  outputFile: 'src/helper/pinia-auto-refs.ts',
}
```

## Attentions

You need to switch the store export mode to `export default`, because we can't get what you exported directly when we import automatically. Using `export default` makes it much easier.

```ts
// store/test.ts
export default defineStore({
  id: 'test',
  /* ... */
})
```
npm package: @suxhk/vite-plugin-env-auto-types
Description: Automatically generate env type | 自动生成环境变量类型
Author: suxhk
Latest version: 0.0.5

# @suxhk/vite-plugin-env-auto-types

Automatically generate env type

<br />


## Motivation

Want to automatically get prompted for `import.meta.env` instead of managing it manually 👉 [vitejs.dev/guide/env-and-mode](https://vitejs.dev/guide/env-and-mode.html#intellisense-for-typescript)

<br />

## Usage

### install

```shell
npm i @suxhk/vite-plugin-env-auto-types -D
```

<br />

### useing

```ts
// vite.config.ts
import { defineConfig } from "vite"
import EnvAutoTypes, { parse } from "@suxhk/vite-plugin-env-auto-types"

export default defineConfig(({ command, mode }) => {
  const root = process.cwd()
  const env = loadEnv(mode, root)
  const viteEnv: ImportMetaEnv = parse(env) // Convert data type
  console.log(viteEnv.VITE_APP_NAME)
  return {
    base: viteEnv.VITE_APP_PUBLIC_PATH,
    ...
    plugins: [
      EnvAutoTypes({
        dts: 'env-auto.d.ts' // Write file location, default to "env-auto.d.ts"
      })
    ]
  }
})
```

```ts
// name.vue || main.ts
import { VITE_APP_PUBLIC_PATH , VITE_APP_DEV_PORT , VITE_APP_DEL_CONSOLE} from 'vite-env'

console.log( VITE_APP_PUBLIC_PATH ) // '/demo' is string
console.log( VITE_APP_DEV_PORT ) // 8080 is number
console.log( VITE_APP_DEL_CONSOLE ) // false is boolean

```

```json5
// tsconfig.json
{
    "include": ["./env-auto.d.ts"] // Ensure that files are scanned
}
```

<br />
### Generate the `env-auto.d.ts` file:

```ts
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by @suxhk/vite-plugin-env-auto-types

interface ImportMetaEnv {
  readonly VITE_APP_COOKIE_KEY: string
  readonly VITE_APP_OUTDIR: string
  readonly VITE_APP_NAME: string
  readonly VITE_APP_DEV_PORT: number
  readonly VITE_APP_NPROGRESS: boolean
  readonly VITE_APP_DEBUG: boolean
  readonly VITE_APP_MODE: string
  readonly VITE_APP_PUBLIC_PATH: string
  readonly VITE_APP_BASE_API: string
  readonly VITE_APP_DEV_PROXY: string
}
interface ImportMeta {
  readonly env: ImportMetaEnv
}

declare module "vite-env" {
   const VITE_APP_COOKIE_KEY: Readonly<string>
   const VITE_APP_OUTDIR: Readonly<string>
   const VITE_APP_NAME: Readonly<string>
   const VITE_APP_DEV_PORT: Readonly<number>
   const VITE_APP_NPROGRESS: Readonly<boolean>
   const VITE_APP_DEBUG: Readonly<boolean>
   const VITE_APP_MODE: Readonly<string>
   const VITE_APP_PUBLIC_PATH: Readonly<string>
   const VITE_APP_BASE_API: Readonly<string>
   const VITE_APP_DEV_PROXY: Readonly<string>
}


```

<br />

## License

Made with [markthree](https://github.com/SUXHK)

Published under [MIT License](./LICENSE).
npm package: @suxingli/overload-ts
Description: 一个强大的 TypeScript 函数重载工具，支持链式调用和类型推导
Author: suxingli
Latest version: 1.0.0

# overload-ts

#### 介绍
一个强大的 TypeScript 函数重载工具，支持链式调用和类型推导

#### 软件架构
基于 TypeScript 开发，使用 Proxy 和 Map 实现函数重载。核心特性：
- 链式 API 设计
- 完整的 TypeScript 类型推导
- 运行时类型匹配
- 零依赖，轻量级


#### 安装教程
```bash
# npm 安装
npm install @suxingli/overload-ts

# yarn 安装
yarn add @suxingli/overload-ts

# pnpm 安装
pnpm add @suxingli/overload-ts
```

#### 使用说明
```ts
import overload from '@suxingli/overload-ts';

// 创建一个重载函数
const greet = overload()
greet.on('string').do((name) => {
    return `Hello, ${name}!`
})
greet.on('string', 'number').do((name, age) => {
    return `Hello, ${name}! You are ${age} years old.`
})

// 调用
console.log(greet('Alice')); // Hello, Alice!
console.log(greet('Bob', 25)); // Hello, Bob! You are 25 years old.
```

#### 支持类型
- string - 字符串
- number - 数字
- boolean - 布尔值
- object - 对象
- function - 函数
- symbol - Symbol
- bigint - 大整数
- undefined - undefined
npm package: @suxsem/zigbee-herdsman
Description: An open source ZigBee gateway solution with node.js.
Author: Koen Kanters
Latest version: 10.0.1
Deprecated: false

# zigbee-herdsman

![npm](https://img.shields.io/npm/v/zigbee-herdsman)

zigbee-herdsman is an open source Zigbee gateway solution with Node.js JavaScript runtime back-end.

It was originally forked from zigbee-shepherd with the goal to refactor it to improve maintainability.

# API Documentation

For automatically generated API reference documentation, see: [tsdocs.dev](https://tsdocs.dev/docs/zigbee-herdsman).


# Changelog

## 0.14.0 breaking changes
- `sendWhenActive` has been replaced with `sendWhen: 'active'`

## 0.13.0 breaking changes
- `controller.touchlinkFactoryReset` has been renamed to `controller.touchlinkFactoryResetFirst()`

## 0.12.0 breaking changes
- options.network.extenedPanID -> options.network.extendedPanID (typo fix)

## 0.11.0 breaking changes
- endpoint.bind[].cluster will now return cluster object instead of cluster number

## 0.10.0 breaking changes
- controller.start() renamed `resetted` start result to `reset`

## 0.9.0 breaking changes
- Removed controller.softReset() -> use controller.reset('soft') now
- Removed group.get('groupID') -> use group.groupID now

## 0.8.0 breaking changes
- Removed device.getEndpoints() -> use device.endpoints now
- Removed device/endpoint.set() -> directly set properties now (e.g. device.modelID = 'newmodelid')
- Removed device/endpoint.get() -> directly get properties now (e.g. device.modelID)
- Removed group.getMembers() -> use group.members now
- Removed endpoint.deviceIeeeAddress -> use endpoint.getDevice().ieeeAddr

# Related projects

## Zigbee2MQTT

[Zigbee2MQTT](https://github.com/Koenkk/zigbee2mqtt) is a Zigbee to MQTT gateway. It bridges events and allows you to control your Zigbee devices via MQTT. Allows you to use your Zigbee devices without the vendors or propritary and closed sources bridges or gateways. Zigbee2MQTT also keeps track of the state of the system and the capabilities of connected devices. It uses zigbee-herdsman and [zigbee-herdsman-converters](https://github.com/Koenkk/zigbee-herdsman-converters) as modules to handle low-level core Zigbee communication. 

## ioBroker

[ioBroker](https://github.com/ioBroker) is an home automation integration platform that is focused on Building Automation, Smart Metering, Ambient Assisted Living, Process Automation, Visualization and Data Logging. It uses zigbee-herdsman for its Zigbee integration.
npm package: @suxuan/tiny
Description: Removes all spaces from a string
Latest version: 2.0.0

# @suxuan/tiny

[![npm (scoped)](https://img.shields.io/npm/v/@suxuan/tiny.svg)](https://www.npmjs.com/package/@suxuan/tiny)
[![npm bundle size (minified)](https://img.shields.io/bundlephobia/min/@suxuan/tiny.svg)](https://www.npmjs.com/package/@suxuan/tiny)

Removes all spaces from a string.

## Install

```
$ npm install @suxuan/tiny
```

## Usage

```js
const tiny = require("@suxuan/tiny");

tiny("So much space!");
//=> "Somuchspace!"

tiny(1337);
//=> Uncaught TypeError: Tiny wants a string!
//    at tiny (<anonymous>:2:41)
//    at <anonymous>:1:1
```
npm package: @suxueweibo/react-native-intent-launcher
Description: call native function about intent in react-native android
Author: poberwong
Latest version: 0.2.1

# react-native-intent-launcher  
[![version](https://img.shields.io/npm/v/react-native-intent-launcher.svg)](https://www.npmjs.com/package/react-native-intent-launcher) [![downloads](https://img.shields.io/npm/dm/react-native-intent-launcher.svg?style=flat)](https://www.npmjs.com/package/react-native-intent-launcher)
[![downloads](https://img.shields.io/npm/dt/react-native-intent-launcher.svg?style=flat)](https://www.npmjs.com/package/react-native-intent-launcher)  

call native function `startActivity` in react-native

## Description
You can call native function `startActivity` in react-native to do something with `Intent` which can only be solved with android native code

## Installation

1. `npm install react-native-intent-launcher` 
2. `react-native link react-native-intent-launcher`

## Usage
```javascript
import IntentLauncher, { IntentConstant } from 'react-native-intent-launcher'
...
IntentLauncher.startActivity({
	action: 'android.settings.APPLICATION_DETAILS_SETTINGS',
	data: 'package:com.example'
})

// check if app is installed by package name
IntentLauncher.isAppInstalled('wtf.swell')
  .then((result) => {
    console.log('isAppInstalled yes');
  })
  .catch((error) => console.warn('isAppInstalled: no', error));

// open another app by package name
IntentLauncher.startAppByPackageName('wtf.swell')
  .then((result) => {
    console.log('startAppByPackageName started');
  })
  .catch((error) => console.warn('startAppByPackageName: could not open', error));
...
```

## Properties
* `action` String
* `data` String
* `category` String
* `flags` String
* `extra` Object
* `packageName` String
* `className` String
* `flags` Number

In the `IntentConstant`, we provide some constants for these properties, you can look up document provided by google to find out property we didn't support currently.

## License
*MIT*
npm package: @suxueweibo/react-native-web-webview
Description: React Native for Web implementation of RN's WebView
Author: Louis Lagrange
Latest version: 1.0.3

# react-native-web-webview

> React Native for Web implementation of RN's WebView

## Getting started

`$ npm install react-native-web-webview --save`

Alias the package in your webpack config:

```
resolve: {
    alias: {
        'react-native': 'react-native-web',
        ...
        'react-native-webview': 'react-native-web-webview',
    }
}
```

Add the following rule to your webpack config:

```js
const rule = {
  test: /postMock.html$/,
  use: {
    loader: 'file-loader',
    options: {
      name: '[name].[ext]',
    },
  },
};
```

## Usage

```js
import { WebView } from 'react-native-webview';
```

See [RN's doc](https://github.com/react-native-community/react-native-webview).

Supported props are:

- `source`
- `onMessage`
- `scrollEnabled`
- `injectedJavaScript`
- `style`

Additional, web-specific props are:

- `newWindow`: (_boolean_|_{ name: string, features: string}_)
  This will open the source in a new window, optionally giving it an [internal name and custom features](https://developer.mozilla.org/en-US/docs/Web/API/Window/open).
  By default, the name is `webview` and there are no features set.
  This is useful when your target has X-Frame-Options or a no-CORS policy.
  It currently only supports a `source` prop with a `method` set to `POST`.
  Please feel free to do a PR to support more request types!
- `title`: (_string_) This prop will set the `webview` title.

## Examples

See the [storybook](https://react-native-web-community.github.io/react-native-web-webview/storybook).

## Contributing

PRs are welcome!
npm package: @suyaswap-libs/sdk
Description: 🛠 An SDK for building applications on top of suyaswap.
Latest version: 1.0.0

# SuyaSwap SDK

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/suya-swap/suya-swap-sdk
```

Move into the suya-swap-sdk working directory

```sh
cd suya-swap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @suyaswap-libs/uikit
Description: Set of UI components for wakanda projects
Latest version: 0.1.6

# Wakanda UIkit

Wakanda UIkit is a set of React components and hooks used to build pages on Wakanda's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @wakandaswap-libs/uikit`

## Setup

### Theme

Before using Wakanda UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@wakandaswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@wakandaswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.