open-index/open-npm huggingface dataset:
npm package: @mudas/env
Description: A plugin for environment
Author: mudas
Latest version: 0.0.5

# env
[![npm version](https://img.shields.io/npm/v/@mudas/env.svg)](https://www.npmjs.org/package/@mudas/env)

> A plugin that supports Vue to dispatch global events.

## Setup
install：
```npm
npm i @mudas/env -S
```

You need to add configuration for vue-cli to correctly translate the es module in node_modules:
```js
// vue.config.js:
module.exports = {
    transpileDependencies: [
      '@mudas/*' // all of node_module for '@mudas'
    ]
}
```


### Usage

```js
import { parsingUserAgentEnv, parsingAppletEnv, parsingURLParams } from '@mudas/env';

// Applet ENV
parsingApplet({ ...parsingUserAgent(), ...parsingURLParams() }).then((data) => {
    // ... return types/EnvHolderType & { wechatApplet:boolean, alipayApplet:boolean }
});

```
npm package: @mudas/file
Description: Simplified Blob Encapsulation to Support File Construction, Download and Upload
Author: mudas
Latest version: 0.0.6

# @mudas/file

> 简化的 Blob 对象封装，对文件构建、下载、上传提供基础数据支持.  
Simplified Blob Encapsulation to Support File Construction, Download and Upload

## Setup
`mime` 未构建到 `@mudas/file`中，用户可自行单独升级。
```npm
npm i @mudas/file core-js mime -S
```

## Usage
### 1、BlobFile
简化的 Blob 对象封装，可方便的通过运行时内容产出实体文件用于上传或者下载到本地。
```ecmascript 6
/**
 * 创建文件对象
 * @param {Array<*>|Blob} data 数据内容源
 * @param {String} filename 文件名（不包含扩展名）
 * @param {String} [extension] 文件后缀名，默认 'txt'
 * @param {String} [endings] 决定 append() 的数据格式（数据中的 \n 如何被转换）取值为 Endings.transparent 或 Endings.native
 */
constructor(data, filename, extension = 'txt', endings = Endings.native)

// 文件内容
get data();

// 文件名（无后缀）
get filename();

// 文件后缀名
get extension();

// 文件全名（包含后缀）
get fullname();

/**
 * 立即下载该文件到本地
 */
download();
```

### 2、Mime
use `mime 2.4.4`，来做为 blob 文件 mime types 的支撑。
若需要对文件后缀信息进行扩展，请参照以下方法：
```ecmascript 6
Mime.define({
  // 自定义补充的扩展名
  // text/plain: ['txt','ini']
}, false);

// false - 代表不覆盖原有配置，而只扩充
```

### 3、download
Blob 文件引用自 `download()`，内置提供对当前Blob文件的本地下载功能。

## Changelog

### v0.0.5
- 更新 README

### v0.0.4
- 优化构建规则，优化输出包

### v0.0.3
- 增强 download 文件名的默认缺省支持

### v0.0.2
- 修复相关细节，完善 d.ts 类型定义
npm package: @mudas/filters
Description: A library project for filters
Author: mudas
Latest version: 0.2.0

# @mudas/filters
> A library project for filters

## Setup
install:
```npm
npm i @mudas/filters -S
```
setup:
```js
import {currency} from '@mudas/filters';
Vue.filter('currency', currency);
````
usage:
```html
<template>
  <div>{{value|currency}}</div>
</template>
```

## Filters List
scope|function|desc
---|---|---
Currency|currency(value:number)|Convert to currency format，e.g. '100,00.01' 
Datetime|dateformat(dateInfo:*, format:string = 'YYYY-MM-DD')|Convert to date format
Datetime|timestr(ms:number)|Convert to time format
physical|distance(value, fixed = 1)|Formatted distance field with unit output, The unit is 'm' when it is less than 1000, and the unit is 'km' when it is more than 1000.
String|repeat,trim|Alias of repeat,trim in lodash
npm package: @mudas/payset
Description: [![npm version](https://img.shields.io/npm/v/@mudas/payset.svg)](https://www.npmjs.org/package/@mudas/payset) > 复杂业务联动表单简化工具库
Author: mudas
Latest version: 0.1.0

# payset
[![npm version](https://img.shields.io/npm/v/@mudas/payset.svg)](https://www.npmjs.org/package/@mudas/payset)
> 复杂业务联动表单简化工具库

## Project setup
```
npm install @mudas/payset -S
```
### README
```

配置项规则
------------------------------------------------------------------------------

{项配置}
标识名: {
  type（暂不支持）: 表单控件类型 text/select/checkboxgroup/radiogroup,
  value: 默认值,
  rule: 联动规则,
  master: 首次初始化主动触发默认值事件，以初始化后续连带事务
}

------------------------------------------------------------------------------

{rule 配置}
> '表现'
> [值, '表现1', '表现2']
> { 值1：表现, 值2：表现, 值N：表现 }

【表现分为】
  value              - 指定值，与 [value, 'custom'] 等价，并且可由用户选择
  'custom'           - 设置为默认值（value 指定，若未设置则由系统指定），并且可由用户选择
  'hide'             - 直接隐藏，保持原有值
  'required'         - 设置必填字段，保持原有值
  'disabled'         - 直接禁用，保持原有值
  [value, display]   - 强制设置为 value 指定的值，并且应用指定的视觉显示规则，display: hide-隐藏，disabled-禁用，custom-可选
                       display 支持多个显示规则，如 [value, 'required', 'custom']

  {}                 - 次级关注组件，规则同上（复合规则，最终由最底层规则确定表现），若有多个字段规则，则任意取其中一个成立规则的子规则,
                       若同时成立取第一个满足条件的字段规则的子规则。（警告：该方式不支持同级多条件的关系处理，请使用函数联动规则）

【特殊联动函数】
  用以补充需要同时依赖多个值来决定表现的情况。

  1、function(value, model){}
  value - 监听目标当前的值
  model - 包含其它属性的数据集合模型，可从中取出目标字段当前的值，做为其它条件依据

  通过函数的形式返回规则配置值，而不是通过值列表的形式由系统选择。
  该方式可以返回更复杂的配置结果，主要用于无法通过值匹配（单条件A）拿规则的情况，比如需要通过另一个条件（条件B）或更多条件，来共同决定之间是
  “and, or”等复杂逻辑关系时，可以解决该需求。

  2、{watch:[], handler:function(value, model){}}
  handler 类型的监听器，补充 function 类型监听器的不足
  function 类型只适用于在最底层级监听单个目标字段，而 handler 可以任意层级通过 watch 监听多个目标字段
  该类型会监听 watch 列表中的字段以及目标字段，如下所示：

    rule: {
      merchant_business_type: {
        watch: ['account_type', 'license_type'],
        handler(value, model) {}
      }
    }

  该规则会对3个目标的变化作出响应：merchant_business_type、account_type、license_type
  所以在 watch 列表中无须重复加入 merchant_business_type 这个监听目标

【注意事项】
  若当前字段值，被后续字段依赖，则必须设置为具体的值，不论是 hide、disabled、custom 中任何类型
  只有不被依赖的自由字段值，才能放心的设置为 custom 为空值，由用户决定是否输入或者选择具体的值


配置项案例
------------------------------------------------------------------------------

const config = {
	usertype: {
	 master: true, // 初始化触发第一次响应（若页面没有任何初始响应规则执行，须依靠用户交互才能开始运行）
	 value: '1',
	 // 值类型规则（顶级）
	 rule: ['1', 'required']
	},
	nickname: {
	 // 子级依赖型规则
	 rule: {
	   usertype: {
		 1: 'hide',
		 2: 'custom',
		 3: 'required'
	   }
	 }
	},
	address: {
	 // handler 类型规则（顶层）
	 rule: {
	   watch: ['usertype'],
	   handler(value, model) {
		 if (model['usertype'] === '3') return ['', 'hide'];
		 return ['', 'required'];
	   }
	 }
	}
}

注意：
1、每个配置集合，都应该设计1个或者多个顶级被依赖规则，而这些顶级规则不依赖任何其它项目，具有独立的默认值 value，
且 master 为 true 来在页面加载完成后立即生效第一次配置，让页面规则开始联动起来。
2、rule: xxx 顶级规则只能是 string、string[]、handler、object（包含子规则）四种类型，函数类型配置不能做为顶级规则
3、位于中间层的规则，因为其做为后续规则的依赖项目，应该不论哪种情况都返回具体的值，来给予后续规则指引具体的取值分支

```
npm package: @mudas/plugin-vue-handler
Description: A library for global event
Author: mudas
Latest version: 0.0.4

# plugin-vue-handler
[![npm version](https://img.shields.io/npm/v/@mudas/plugin-vue-handler.svg)](https://www.npmjs.org/package/@mudas/plugin-vue-handler)

> A plugin that supports Vue to dispatch global events.

## Setup
install：
```npm
npm i @mudas/plugin-vue-handler -S
```

You need to add configuration for vue-cli to correctly translate the es module in node_modules:
```js
// vue.config.js:
module.exports = {
    transpileDependencies: [
      '@mudas/*' // all of node_module for '@mudas'
    ]
}
```

register vue plugin：
```js
import Handler from '@mudas/plugin-vue-handler';

// bind Vue.emit()
// bind this.$handler.on(type, handler, component = null)
// bind this.$handler.off(type, component = null)
// bind this.$handler.emit(type, option = null, component = null)

Vue.use(Handler);
```


### Usage

```vue
// app.vue or any children:
export default {
  name: 'app',

  handler: {
    ['global-event-name'](option) {
      // this = the VueComponent
      this.methodTest(option);
    }
  },

  methods: {
    methodTest(option) {
      console.warn('test-event.app:', this, option);
    }
  }
}

// Then call the following code in any business code
// to dispatch a global event so that any subcomponents
// that listen to this event "global-event-name" respond to the event:
Vue.emit('global-event-name', { arguments: 123 });

```
npm package: @mudas/reset.css
Description: > 来源于 YUI 3.18.1 (build f7e7bcb)
Author: mudas
Latest version: 0.0.2

# reset.css 
> 来源于 YUI 3.18.1 (build f7e7bcb)

## Project setup

```
npm install @mudas/reset.css -S
```

### Usage
```js
import "@mudas/reset.css";
```
npm package: @mudas/store
Description: Use vuex in a more concise and convenient way
Author: 张雄军
Latest version: 0.0.7

# @mudas/store

> Use vuex in a more concise and convenient way

**Documents：** [view the document](https://aosnow.github.io/easy-store/)

### Usage

``` bash
npm install -S @mudas/store
```

## Build Option
By default, babel-loader does not translate all files in node_modules, so specifying node_modules separately requires the esm module that babel translates
```js
module.exports = {
  transpileDependencies: [
    '@mudas/*'
  ]
};
```

### Option
Use the 'EasyStoreConfig' to register multiple stores
```ts
export declare interface EasyStoreConfig<S, R> {
  // type 类型标识
  type: string;

  // 接口配置地址（若不配置将省略 action 的注册，除非自定义 action 方法）
  url?: URLConfig;

  // 每次请求都会加入的参数数据，如 {data:{a:10,...}, config:{headers:{...}, timeout:1000}}
  params?: CommonParams;

  // 是否增量存储数据到 state 中
  increment?: boolean;

  // State的默认值（若不设置此属性，则默认为 `{}`，设置成 `false` 强制不注册）
  state?: S | (() => S) | boolean; // support from v0.0.7

  // 自定义 getter 方法（或设置为 true，自动根据type生成对应的 getter，设置成 `false` 强制不注册）
  getter?: Getter<S, R> | boolean; // support from v0.0.7

  // 自定义 mutation 方法（或设置为 true，自动根据type生成对应的 mutation，设置成 `false` 强制不注册）
  mutation?: Mutation<S> | boolean; // support from v0.0.7

  // 自定义 action 方法（可不设置，自动根据 url 生成对应的接口请求方法）
  action?: Action<S, R> | boolean; // support from v0.0.7
}

export declare interface URLConfig {
  url: string;
  http: any;
  method?: string | Function; // 默认 'get'
}

export interface CommonParams {
  data?: Object | (() => Object);
  config?: AxiosRequestConfig;
}
```
> Note: for more information, please see types

### Usage example
```js
const USER_LOGIN = 'login';
const USER_LOGINOUT = 'login-out';

const storeConfig = [
  {
    type: USER_LOGIN,
    url: { url: '/user/login', http: Vue.http, method: 'post' }
  },
  {
    type: USER_LOGINOUT,
    url: { url: '/user/logout', http: Vue.http },  // default method: 'get'
    mutation(state, data) {
      state.loginfo = data;
    }
  }
];

export default new EasyStore(storeConfig).output();
```

ouput:
```js
{
  namespaced: true,
  actions: {login: ƒ, login-out: ƒ}
  getters: {login: ƒ, login-out: ƒ}
  mutations: {login: ƒ, login-out: ƒ}
  state: {login: {}, login-out: {}}
}
```

If you only register action, refer to the following:
```js
const DATA_LIST = 'data-list';

const storeConfig = [
  {
    type: DATA_LIST,
    // (ver <= 0.0.6) => scheme: {state:false, getter:false, mutation:false},

    // ver >= 0.0.7
    state: false,
    getter: false,
    mutation: false,

    url: { url: '/data/list', http: Vue.http, method: 'get' }
  }
];

export default new EasyStore(storeConfig).output();
```
npm package: @mudas/util
Description: A tools library of null、boolean、number、string、datetime、object、array、function、url、currency、map
Author: mudas
Latest version: 0.0.14

# @mudas/util

> A tools library of null、boolean、number、string、datetime、object、array、function、url、currency、map

**说明：**
该工具同样适用于小程序开发环境（尤其是 uni-app 开发环境），旨在小程序开发中替代 lodash，且与 H5 项目实现工具统一。

**文档：** [点击查阅使用手册](https://aosnow.github.io/util/)


## 快速安装
```bash
npm install @mudas/util -S
```

## 构建参数
默认情况下 babel-loader 不转译所有 node_modules 中的文件，因此单独指定 node_modules 需要让 babel 转译的 esm 模块
```js
module.exports = {
  transpileDependencies: [
    '@mudas/*'
  ]
};
```
> 注意：以上为 `vue.config.js` 配置方法，其它构建环境请自行查阅相关文档。

## 使用示例
```js
import {isArray} from '@mudas/util';

isArray([1, 2, 3]);
// => true
```

## 目录
[快速上手指南](https://aosnow.github.io/util/guide)
### 数据类型工具
- [boolean 布尔值工具](https://aosnow.github.io/util/boolean)
- [number 数值工具](https://aosnow.github.io/util/number)
- [string 字符串工具](https://aosnow.github.io/util/string)
- [object 对象工具](https://aosnow.github.io/util/object)
- [null 工具](https://aosnow.github.io/util/null)
- [empty 空值工具](https://aosnow.github.io/util/empty)
- [array 数组工具](https://aosnow.github.io/util/array)
- [function 函数工具](https://aosnow.github.io/util/function)
- [file 文件内容工具](https://aosnow.github.io/util/file)
- [buffer 工具](https://aosnow.github.io/util/buffer)
- [form 表单内容工具](https://aosnow.github.io/util/form)
### 日期时间工具
- [datetime 日期时间工具](https://aosnow.github.io/util/datetime)
### 数据赋值取值工具
- [assign 赋值取值工具](https://aosnow.github.io/util/assign)
### 数据深度合并工具
- [merge 合并工具](https://aosnow.github.io/util/merge)
### 数据克隆工具
- [clone 克隆工具](https://aosnow.github.io/util/clone)
### 货币工具
- [currency 货币工具](https://aosnow.github.io/util/currency)
### 地图工具
- [map 地图工具](https://aosnow.github.io/util/map)
### URL 地址处理工具
- [url 地址工具](https://aosnow.github.io/util/url)
npm package: @mudas/util-store
Description: toolkit for store
Author: mudas
Latest version: 0.0.6

# util-store
[![npm version](https://img.shields.io/npm/v/@mudas/util-store.svg)](https://www.npmjs.org/package/@mudas/util-store)
> A tools for incremental storage in store, and module merge and other transactions

## Setup
install：
```npm
npm i @mudas/util-store -S
```

You need to add configuration for vue-cli to correctly translate the es module in node_modules:
```js
// vue.config.js:
module.exports = {
    transpileDependencies: [
      '@mudas/*' // all of node_module for '@mudas'
    ]
}
```

### Usage	

directory Structure:
```text
env
  |- index.js
  |- env1.js
  └─ env2.js
```

env/env1.js:
```js
import * as utils from '@mudas/util-store';

const Mutations = {
  [ENV_INFO](state, data) {
    // Incremental save
    // existing field values are overwritten, non-existent fields are created
    utils.increment(state.envInfo, data);
    
    // Simple value type or null, no need to use incremental save
    // please use the fllowing code, direct assignment:
    // state.envInfo = 1; // null, true, 'any'
  }
};
```

env/index.js:
```js
import * as utils from '@mudas/util-store';
import EnvInfo1 from './env1';
import EnvInfo2 from './env2';

// Combine multiple StoreOptions into a single StoreOptions
export default utils.mergeStore([
  EnvInfo1, 
  EnvInfo2
]);
```
npm package: @mudas/validate
Description: A tools library of RegExp validater
Author: 张雄军
Latest version: 0.0.1

# @mudas/validate

> A tools library of RegExp validater.

**Documents：** [view the document](https://aosnow.github.io/validate/)

## Steup
```bash
npm install @mudas/validate -S
```

## Build option
By default, babel-loader does not translate all files in node_modules, so specifying node_modules separately requires the esm module that babel translates
```js
module.exports = {
  transpileDependencies: [
    '@mudas/*'
  ]
};
```
> Note: The above is the configuration method of `vue.config.js`, please refer to relevant documents for other build environments

## Usage example
```js
import {isEmail} from '@mudas/validate';

isEmail('aosnow@yeah.net');
// => true
```

Or direct reference to regular:
```js
import {Email} from '@mudas/validate';

Email.test('aosnow@yeah.net');
// => true
```
npm package: @mudas/weui.js
Description: A lot of modifications have been made by Weui. If you don't like it, please use the original version.
Author: mudas
Latest version: 0.0.5

@mudas/weui.js
=====

[![npm version](https://img.shields.io/npm/v/@mudas/weui.js.svg)](https://www.npmjs.org/package/@mudas/weui.js/)


### 概述

[WeUI](https://github.com/aosnow/weui.git) 的轻量级 js 改版库（基于 `zepto v1.2.0`）。

该 `@mudas/weui.js` 源于 `weui.js`，进行大量修改、优化、升级、加入新组件，转换大量老旧 `JS` 语法到 `ES6`，并将 `weui` 样式组件项目合并至该项目。另外对 `webpack` 等构建配置升级到 `webpack v4.39.x`，若想使用原版请查看：https://github.com/Tencent/weui.js

### 计划
- [ ] 使用 scss 语法全部替换 less，增强 css 预处理能力
- [ ] 使用新 ES6 class 架构重构简化所有组件
- [ ] 所有组件回调风格去除 onClick 类似驼峰法，替换成 handler
- [x] 新组件：半屏弹框 half-screen
- [x] 新组件：无限滚动 infinite-scroll
- [x] 新组件：选项拾取器 option-picker（实现单选、多选）
- [x] 新组件：重写 action-sheet（支持自定义操作区内容，如插入客服图标）
- [x] 新组件：重写 slider 组件，支持更多自由配置参数
- [x] 使用 zepto 替代内部 balajs 库，并转换到外部依赖，由用户自行控制


### 二次开发

#### 安装

```npm
git clone https://github.com/aosnow/weui.js.git
cd weui.js
npm install
npm start
```

#### 编译

```npm
npm run build
```


### 使用

#### global 

```html
<link rel="stylesheet" href="weui.min.css">
<script type="text/javascript" src="weui.min.js"></script>
<script type="text/javascript">
    weui.alert('alert');
</script>
```

#### import as module

```javascript
import weui from '@mudas/weui.js';

weui.alert('alert');
```

### 文档

[Documents](https://aosnow.github.io/weui.js/)

### 贡献

如果你有好的意见或建议，欢迎给我们提issue或pull request。

### License
The MIT License(http://opensource.org/licenses/MIT)

请自由地享受和参与开源
npm package: @mudaser/sdk
Description: 🛠 An SDK for building applications on top of MDO.
Latest version: 1.0.2

# Pancakeswap SDK

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![Actions Status](https://github.com/pancakeswap/pancakeswap-sdk/workflows/CI/badge.svg)](https://github.com/pancakeswap/pancakeswap-sdk)
[![npm version](https://img.shields.io/npm/v/@pancakeswap-lib/sdk/latest.svg)](https://www.npmjs.com/package/@pancakeswap-lib/sdk/v/latest)

## 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/pancakeswap/pancakeswap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @mudassirali1/cli-number-guessing
Description: This repository contains a simple command-line number guessing game implemented in [typescript language]. Users can play the game by running the provided script in their terminal. The game randomly selects a number within a specified range, and the player
Author: MudassirAli
Latest version: 1.0.12

# cli-number-guessing
This repository contains a simple command-line number guessing game implemented in [typescript language]. Users can play the game by running the provided script in their terminal. The game randomly selects a number within a specified range, and the player has to guess the correct number
npm package: @mudbill/duckduckgo-images-api
Description: DuckDuckGo image search API
Author: Magnus Bull
Latest version: 2.0.1

# duckduckgo-images-api

Based on [KshitijMhatre's version](https://github.com/KshitijMhatre/duckduckgo-images-api) as it has been unmaintained.

A lightweight library to programmatically obtain image search results from DuckDuckGo's search engine.

## Usage

To install:

```bash
# npm
npm install @mudbill/duckduckgo-images-api

# bun
bun add @mudbill/duckduckgo-images-api
```

TypeScript definitions are included.

The package provides a simple async/await API:

```ts
const images = await imageSearch({
    // the search term
    query: "pikachu",

    // filter by safe search (default true)
    safe: true, 
    
    // number of result sets to fetch (default 1)
    // each set includes up to 100 images
    iterations: 1, 
    
    // number of retries if a query fails
    retries: 2, 
})
```

The `imageSearch` function returns a Promise that resolves to an array of complete results.

```ts
imageSearch({ query: "birds", safe: true })
    .then((results) => console.log(results));
```

The `imageSearchGenerator` function is an async generator that yields a Promise of each result set. Useful for large iterations.

```ts
for await (let resultSet of imageSearchGenerator({
    query: "birds",
    safe: true,
    iterations: 4,
})) {
    // 4 loops of 100 images each
    console.log(resultSet);
}
```

Please feel free to report any issues or feature requests.

### Note

DuckDuckGo provides an instant answer API. This package does not use this route. This package mocks the browser behaviour using the same request format. Use it wisely.
npm package: @mudcovered/express-service
Description: This package provides a simple framework for typescript REST services based on express. It provides the following:
Latest version: 1.4.0

# Express-service
This package provides a simple framework for typescript REST services
based on express. It provides the following:

1. Async request handling support
2. Schema validation for API input
3. Standardise HTTP errors
4. Configurable setup for body parsers and logging
npm package: @muddydev/epixzone-widget
Description: EpixZone blockchain explorer widget
Author: EpixZone
Latest version: 0.3.30

# EpixZone Widget

A Vue 3 blockchain explorer widget for the EpixZone ecosystem.

## Install

- npm

```bash
npm install @epixzone/widget
```

- yarn

```bash
yarn add @epixzone/widget
```

- cdn

```html
<script src="https://unpkg.com/@epixzone/widget/dist/widget.js"></script>
```

## Usage

```js
import '@epixzone/widget';

// Use as web component
<epix-widget></epix-widget>
```

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.

## Recommended IDE Setup

- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).

## Type Support For `.vue` Imports in TS

TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.

If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:

1. Disable the built-in TypeScript Extension
   1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
   2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
npm package: @mudit_26/react-native-qr-code
Description: A QR Code generator for React Native based on @react-native-community/art
Author: Mudit Jumnani
Latest version: 1.0.1

# react-native-qr-code

A QR Code generator for React Native based on @react-native-community/art.


## Installing module

Please install @react-native-community/art first.

```sh
yarn add @react-native-community/art

or

npm install @react-native-community/art --save
```

and

```sh
yarn add @mudit_26/react-native-qr-code

or 

npm install @mudit_26/react-native-qr-code --save

```

## Linking module

### Mostly automatic linking

For `react-native >= 0.60` ReactNativeART should be autolinked and no additional action is required.

For `react-native < 0.60` you need to link ReactNative ART:

```js
react-native link @react-native-community/art
```
For any difficulty while linking `@react-native-community/art` follow https://github.com/react-native-community/art/blob/master/README.md


## Usage

```
import QRCode from '@mudit_26/react-native-qr-code';

render() {
  return (
    <QRCode
      value='Hello World!'
    />
  );
};

```

### Props

| Name | Type | Description | Default
| ------------ | ------------- | ------------ |------------ |
| `size` | Number  | Current position in steps | 100
| ```value``` | String  | String Value of the QR codes | Hello World!
| ```color``` | String  | Color of the QR code | black
| ```style``` | Object  | Custom styling | {}
| ```backgroundColor``` | String  | Color of the background | white



## Dependencies

### PeerDependencies

* [@react-native-community/art](https://github.com/react-native-community/art)

### Dependencies

* [qr.js](https://github.com/defunctzombie/qr.js)

---
npm package: @mudita/app-function-component
Description: React function component with some addons.
Author: mudita
Latest version: 1.0.10

<p align="center">
  <a href="https://mudita.com">
    <img alt="Mudita" src="/mudita-logo.svg" width="160" />
  </a>
</p>
<h1 align="center">
  App Function Component
</h1>

React function component with some addons.

## Install

```
npm install @mudita/app-function-component --save-dev

# Or

yarn add @mudita/app-function-component --dev
```
npm package: @mudita/delay-response-function
Description: Delays async function to be resolved not earlier than after given time.
Author: mudita
Latest version: 1.0.2

<p align="center">
  <a href="https://mudita.com">
    <img alt="Mudita" src="/mudita-logo.svg" width="160" />
  </a>
</p>
<h1 align="center">
  Delay response function
</h1>

An async function that delays other async function to be resolved not earlier than after given time.

## Install

```
npm install @mudita/delay-response-function

# or

yarn add @mudita/delay-response-function
```

## Usage

```TS
await delayResponse(somePromise, timeInMsToResolve)
```

## Example

```TS
const fakePromise = () =>
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve("resolved")
    }, 125)
  })

const data = await delayResponse(fakePromise, 1000)

// Console will log after 1s even though fakePromise was resolved in 125ms
console.log(data) // "resolved"
```
npm package: @mudita/eslint-config
Description: <p align="center">   <a href="https://mudita.com">     <img alt="Mudita" src="/mudita-logo.svg" width="160" />   </a> </p> <h1 align="center">   Mudita eslint config  </h1> Eslint config used in Mudita projects
Author: mudita
Latest version: 1.0.20

<p align="center">
  <a href="https://mudita.com">
    <img alt="Mudita" src="/mudita-logo.svg" width="160" />
  </a>
</p>
<h1 align="center">
  Mudita eslint config 
</h1>
Eslint config used in Mudita projects

## Install

```
npm install @mudita/eslint-config --save-dev
# Or
yarn add @mudita/eslint-config --dev
```
npm package: @mudita/stylelint-config
Description: <p align="center">   <a href="https://mudita.com">     <img alt="Mudita" src="/mudita-logo.svg" width="160" />   </a> </p> <h1 align="center">   Mudita stylelint config  </h1> Stylelint config of Mudita
Author: mudita
Latest version: 1.0.4

<p align="center">
  <a href="https://mudita.com">
    <img alt="Mudita" src="/mudita-logo.svg" width="160" />
  </a>
</p>
<h1 align="center">
  Mudita stylelint config 
</h1>
Stylelint config of Mudita

## Install

```
npm install @mudita/stylelint-config --save-dev
# Or
yarn add @mudita/stylelint-config --dev
```