npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@xm-fe/xm-base

v0.1.6

Published

鲜沐前端公共逻辑包

Downloads

9

Readme

⚡️ 简介

2022 鲜沐科技 前端通用逻辑包

🚀 使用

npm i @xm-fe/xm-base

0.1.6

0.1.5

  • feat: 上传导出轮询逻辑

0.1.4

  • fix: handleApiResponse 修复老规范的接口响应内容处理

0.1.2

  • feat: handleApiResponse 新来接口响应内容处理

0.1.1

  • feat: 增加 isUrl 判断字符串是否为一个合法的超链接

0.1.0

  • fix: formatMoney 支持无小数千分位

0.0.13

  • feat: 增加去除请求体中字段的收尾空格及制表符 trimAllFields, FormData 不处理
trimAllFields({ a: ' 12 3 4  5  ' }) // { a: '12 3 4  5' }

0.0.10

  • fix: 修复 number.formatMoney 负数问题, 默认输出更改
number.formatMoney(1299) // ¥1,299.00

0.0.9

  • feat: 删除多余的 currencyCNY 金额处理方法,使用number.formatMoney
  • feat: number.toFixedNumber()默认保留两位小数
  • fix: 修复 number.isNumber()对一些隐式类型转化后判断错误处理
import { number } from '@xm-fe/xm-base'

/**
 * 金额处理默认返回 ¥0.00  格式
 * 千分位分隔,支持保留多个小数位
 * @param {String|Number} value 需要格式化的数值
 * @param {Number} precision 小数精确位数,默认是 2
 * @param {String | boolean} prefix 金额前缀 为 true 则显示默认的标志 ¥
 * @returns {String} 分隔号和小数位数处理后的字符串, 当值不能转化为数字
 */
number.formatMoney('1299', 2, true) // ¥1,299.00
number.formatMoney(1299, 2, '¥') // ¥1,299.00
number.formatMoney(1299, 2, '$') // $1,299.00
number.formatMoney(1299, 2, false) // 1,299.00
import { number } from '@xm-fe/xm-base'

/**
 * 金额处理默认返回 ¥0.00  格式
 * 千分位分隔,支持保留多个小数位
 * @param {String|Number} value 需要格式化的数值
 * @param {Number} precision 小数精确位数,默认是 2
 * @param {String | boolean} prefix 金额前缀 为 true 则显示默认的标志 ¥
 * @returns {String} 分隔号和小数位数处理后的字符串, 当值不能转化为数字
 */
number.formatMoney('1299', 2, true) // ¥1,299.00
number.formatMoney(1299, 2, '¥') // ¥1,299.00
number.formatMoney(1299, 2, '$') // $1,299.00
number.formatMoney(1299, 2, false) // 1,299.00

0.0.8

  • feat: 金额处理
  • feat: [],'',undefined,null 的判断
import { currencyCNY, isDef } from '@xm-fe/xm-base'

currencyCNY(99) //¥99.00
currencyCNY(''|null|undefined) //''

isDef([]) // false
isDef('') // false
isDef(undefined) // false
isDef(null) // false
isDef(0) // true

0.0.7

  • feat: 新增数值操作方法
import { number } from '@xm-fe/xm-base'

number.formatMoney() // 金额千分位处理 number.formatMoney()
number.toFixed() // 精确的四舍五入 -> return string
number.toFixedNumber() // 精确的四舍五入 -> return number
number.isNumber() // 判断是否为数字(可计算),isNaN Infinity 也返回为 false

number.plus() // 加法 plus(1,2,3)  plus([1,2,3])  plus([1,2], [3,4])
number.minus() // 减法 minus(1,2,3)  minus([1,2,3])  minus([1,2], [3,4])
number.times() // 乘法 times(1,2,3)  times([1,2,3])  times([1,2], [3,4])
number.divide() // 除法 divide(1,2,3)  divide([1,2,3])  divide([1,2], [3,4])
何时使用工具库的 plus minus times divide 方法?

如果计算时不要求保留几位小数,请使用四则运算方法计算,切勿直接使用 js 的四则运算!!!
如果计算需要保留小数位,比如计算货品相加后的金额数字需要保留 2 位小数,则可以直接使用number.toFixed(0.1 + 0.2, 2) 结果是'0.3'

0.0.6

  • feat: 新增 setLogStr 方法,对象转成字符串

0.0.4

  • 初始化

0.0.2

  • 初始化

0.0.1

  • 初始化

🚀 开发


# 安装依赖
npm i
# 发布流程

# 编译
npm run build

# 第一次登录
npm login

# 发布(发布前修改版号)
npm publish --tag

# 配置npm全局使用淘宝镜像源
npm config set registry https://registry.npm.taobao.org
# 配置npm全局恢复官方镜像源
npm config set registry https://registry.npmjs.org
# 本项目
npm link

# 引用调试的项目
npm link @xm-fe/xm-base

# 取消关联
npm unlink 包名

# 查看
npm ls -g