# jm-utils-pack

> utils

Latest version **1.0.4** (published 2022-12-02) · ISC license · 0 weekly downloads

## Install

```sh
npm install jm-utils-pack
pnpm add jm-utils-pack
yarn add jm-utils-pack
bun add jm-utils-pack
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2022-12-02 |
| First published | 2022-03-04 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 85.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | garmin21 |
| Maintainers | garming21 |
| Keywords | utils |

## Links

- npm: https://www.npmjs.com/package/jm-utils-pack
- Repository: https://gitee.com/garming/jm-utils
- npm.io page: https://npm.io/package/jm-utils-pack

## Recent versions

- 1.0.4 (latest) — 2022-12-02
- 1.0.3 — 2022-11-26
- 1.0.2 — 2022-03-26
- 1.0.1 — 2022-03-12
- 1.0.0 — 2022-03-04

## README

## randomNumber

```ts
/**
 * 生成任意位数随机数(数字)
 *
 * @param {Number} n 可选长度位数
 * @return {Number} 返回随机值
 *
 */
const randomNumber = (n: number) => {};
```

## randomId

```ts
/**
 * 随机生成一个自定义长度，不重复的字母加数字组合，可用来做id标识
 *
 * @param {Number} randomLength 可选长度位数，默认10
 * @return {String} 返回随机值
 *
 */
const randomId = (randomLength = 10) => {};
```

## shallowCopy

```ts
/**
 * 浅拷贝
 *
 * @param {Array | Object} objOrArr 要拷贝的对象或数组
 * @return {Array | Object} 返回拷贝结果
 *
 */
const shallowCopy = (objOrArr: any) => [];
```

## deepCopy

```ts
/**
 * 深拷贝
 *
 * @param {Array | Object} objOrArr 要拷贝的对象或数组
 * @return {Array | Object} 返回拷贝结果
 *
 */
const deepCopy = (objOrArr: any) => {};
```

## debounce

```ts
/**
 * 防抖 (debounce)将多次高频操作优化为只在最后一次执行
 *
 * @param {Function} fn 需要防抖函数
 * @param {Number} wait  需要延迟的毫秒数
 * @param {Boolean} immediate 可选参，设为true，debounce会在wait时间间隔的开始时立即调用这个函数
 * @return {Function}
 *
 */
const debounce = (fn: Function, wait: number, immediate?: boolean) => {};
```

## throttle

```ts
/**
 * 节流(throttle)将高频操作优化成低频操作，每隔 100~500 ms执行一次即可
 *
 * @param {Function} fn 需要防抖函数
 * @param {Number} wait  需要延迟的毫秒数
 * @param {Boolean} immediate 可选参立即执行，设为true，debounce会在wait时间间隔的开始时立即调用这个函数
 * @return {Function}
 *
 */

const throttle = (fn: Function, wait: number, immediate?: boolean) => {};
```

## cardNumber

```ts
// 银行卡只显示后四位
function cardNumber(value: string) {}
```

## telKeep

```ts
// 电话号保留前三位后四位，中间*表示
function telKeep(value: string) {}
```

## formatDecimal

```ts
// 保留小数点后几位
function formatDecimal(num: number | string, decimal: number) {}
```

## params2json

```ts
// 参数转换为json
function params2json(params = "", slice = "&") {}
```

## searchAssign

```ts
// 清除空属性
function searchAssign(value: any) {}
```

## Object 转 formData

```ts
/**
 * Object 转 formData
 * @param obj
 * @param form
 * @param namespace
 * @returns
 */
function objectToFormData(obj: any, form?: FormData, namespace?: any) {}
```

## 获取 Cookie

```ts
/**
 * getCookie
 * @param name
 * @returns
 */
function getCookie(name: string | number) {}
```

## 设置 Cookie

```ts
/**
 * setCookie
 * @param name
 * @param value
 */
function setCookie(name: string | number, value: string) {}
```

## 移除 Cookie

```ts
function delCookie(name: string | number) {}
```

## 对象拉平

```ts
/**
 * 对象拉平
 * @param source
 * @returns
 */

const flatObjectification = (source: { [key: string]: any }): object => {};
```

## 文件流下载

```ts
/**
 * 文件流下载
 * @param res
 * @param type
 * @param filename
 */
const download = (res: any, type: string, filename: string) => {};
```

---
_Source: https://npm.io/package/jm-utils-pack · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
