xmcommon
v1.1.0
Published
一个基于javascript的常用功能扩展库!
Downloads
23
Readme
xmcommon
一个js 通用库, 将一些常用的函数之类的,移到这里方便使用
使用typescript重写的1.0版正式发布。
github: https://github.com/zdhsoft/xmcommon
npm: https://www.npmjs.com/package/xmcommon
目录
[TOC]
安装
npm install xmcommon
主要模块说明
- datetimeUtils 日期时间相关的处理工具函数
- utils 一些常用的工具类函数
- watchRequire 监控文化变化的函数
- SimpleCode 一种换位加编码的类
- getLogger 取日志对象的函数
- setGetLogger 设置getLogger函数的函数,用于替换现有的getLogger函数
- codeUtils 一些编码相关的函数,有md5,sha254,base64等函数
- error_common, error_utils 通用错误信息和错误相关函数
- common_ret 通用返回的类
- bitUtils 二进制标志的工具类
- CNYCurrency 中文货币类
- list_sturct 包含了队列和堆栈的简单实现。
版本变更说明
1.1.0
- + 增加从公元元年到当前时间的天数的函数
- + 增加isSampleDate与isBaseDate两个函数
- + 增加一组常用正则表达式定义
- + 增加一个isObjectLike方法(来源于lodash)
- + 更新依赖库
- + 开始增加jest库,用于编写测试用例
- + 删除buffer相关的未完善的实现 可以使用xmbuffer这个库:https://www.npmjs.com/package/xmbuffer
- + 对货币类和codeutils, list结构进行单元测试
- * 优化baseDate正则表达式
- + 增加枚举工具类
- + 增加excel表中,日期整数转日期的功能 isExcelDate
1.0.9
- * 升级单元测试的mocha的版本
- * 优化货币类,增加读取带千分位的金额
- * 增加typesript的重载函数
- + utils增加getMapkeys,getMapValues,getMapKeyValues,getSetKeys等函数
1.0.8 2022-07-20
- 优化工程项目
- 修复vscode下,无代码提示的bug.
1.0.7 2022-07-12
- 增加enum YesOrNo枚举
- 增加TOptions类型
1.0.6 2022-07-11
- 增加MD5FromStringList,MD5FromBufferList,MD5FromBuffer三个方法
1.0.5 2022-07-08
- 增加isEmpty和isTrueEmpty的方法,这个方法和thinkjs中对应的方法的作用是一样的
- 将一些isXXX的函数,引用lodash或js自带的,不再封装一次,直接引用了
- 日志增加msg接口,用于专门写收发消息文件
1.0.3 2022-04-14
- * 将一些用不到的函数以及类标注为deprecated,还会保留,在2.0的时候会删除
- * 这里的utils,datetimeUtils,watchRequire,common_ret,CNYCurrency等已经常过了常时间的使用,暂无问题,可以放心使用了
0.9.21 2022-3-2
- + utils增加calcPageOffsetByPageInfo,calcPageOffset,notNullEmptyString三个函数
0.9.20 2022-2-24
- * 修改fileExistsSync描述错误
0.9.19 2022-2-23
- + utils增加isDirSync, isFileSync方法
- * 更新依赖库的版本
0.9.18 2022-01-23
- + 增加基于数组实现的Queue和Stack两个类
0.9.17 2022-01-22
- + utils增加一组选项默认值方法 stringOpts, intOpts, numberOpts, boolOpts, objectOpts, 当传入参数不是指定类型时,会返回默认值
- + utils增加一个方法limitString,超过指定的长度,会自动截取指定的长度
0.9.16 2022-01-07
- + 给common_ret增加assignFrom方法
- + 增加ICommonRetBase的定义
- - 删除datatimeUtils的version方法
- + datetimeUtils增加getDateString和getTimeString方法
0.9.15 2022-01-05
- * 更新依赖库的版本
- * 优化utils.formatNumber函数
0.9.14 2022-01-05
- + 增加utils.calcMaxPage方法
- + 增加utils.roundPageInfo方法
0.9.13 2021-12-02
- * 将一些any类型改为unknown类型
0.9.12 2021-11-29
- * CNYCurrency类的format方法,增加无千分位分隔符的参数
0.9.11 2021-11-16
- * 使用prettier格式化代码
- * 使用eslint对代码进行检查
0.9.10 2021-11-15
- * 修复shortpath的bug
0.9.8 2021-11-15
- * 优化日志管理类,增加创建接口和设置猫缺省接口。
0.9.7 2021-11-12
- + 日志增加log方法
- * 更新部分依赖包
0.9.6 2021-09-29
- * 修改common_ret和XCommonRet的设置error的参数类型定义为number
0.9.5 2021-09-28
- * 增加类的导出
0.9.4 2021-09-28
- * 更新readme.md
0.9.3 2021-09-28
- + 增加一个XCommonRet替代common_ret,主要不是支持泛型
0.9.2 2021-09-05
- + 增加一个BufferWapper类
0.9.1 2021-09-03
- * 解决不能引入的问题
0.9.0 2021-09-02
- * 将通用库使用typescript改写,改写量比较大,还没有全面的测试,这个版本请慎用,请尽量用0.1.9这个版本。
- * 增加一些单元测试例子
0.1.9 2021-05-08
- * 依赖的lodash库,出现安全警告,在这里更新依赖库
0.1.8 2021-04-28
- - 标注httpcall为@deprecated 计划在未来的版中,准备删除这个
- * 为common_ret增加toString等方法内容。
0.1.7 2020-12-24
- + 增加fileExists判断文件或目录是否存在
- * 修复makedirs存在的bug
- + 增加renameFile方法
0.1.4 2020-08-20
- + 增加watchRequire注意事项说明
- * 更新lodash的库
0.1.3 2020-06-05
- + 增加utils.randomInteger,随机整数
- + 增加utils.randomScope,随机范围整数
- + 增加utils.randomBetween,随机整数,批定开始和结束值
- * 更新依赖包的版本
0.1.2 2019-07-20
- * 优化utils.formatPercentage生成成
- + 增加utils.roundPercentage,将百分比的值精度控制到 0.0001%
0.1.1 2019-07-14
- * 收到github提示,说依赖的lodash有问题,所以这里升级一下 lodash , 还是高级别的
- * We found a potential security vulnerability in one of your dependencies.
0.1.0 2019-07-14
- * fixbug 修复utils.mkdirSync在linux下,使用绝对路径会失败的bug
- + 增加utils.mkdirSyncEx,用于返回具体的错误信息
- + 增加utils.formatPercentage,用于生成百分比字符串
0.0.22 2019-07-04
- * 修改index.d.ts,增加允许默认值参数定义
0.0.21 2019-06-28
- * fixbug: 不能正确识别增加CNYCurrency类型的对象
- + 增加CNYCurrency.isCurrency函数,判断是否是CNYCurrency类型
- + datetimeUtils增加比较日期的时间差函数
0.0.20 2019-06-26
- * 原生成中文货币大写存在问题,重新找了一个新的版本替换 来源:https://www.jb51.net/article/89661.htm
- + 增加多情况货币测试
- * 修复乘除的bug, 对于自乘与自除,返回的是boolean,判断成功失败
- * 优化人民币大写生成, 主要有小于1元的情况,分为0的时候,要加整
- * 增加生成大写,index.d.ts定义
0.0.17 2019-06-24
- * 增加CNYCurrency构造函数默认值0, 如果传入null或undefined也视为0, 测试CNYCurrency 1-100000000之间的值
- + CNYCurrency 增加assign赋值函数
- * 将index.d.ts中的utils.JsonParse的定义返回值由{}改为any
0.0.16 2019-06-03
- * 修复生成大写的bug,主要是百==>佰 千==>仟
let m = [];
let c = new CNYCurrency(-12345);
m.push(c);
m.push(c.add(109999));
m.push(c.sub(10));
m.push(c.div(0.01));
m.push(c.mul(10));
m.push(c.mul(0.01));
let tt = new CNYCurrency(0);
tt.selfAdd(2805307.04);
tt.selfAdd(4323515.28);
tt.selfAdd(2805307.04);
tt.selfAdd(3281107.13);
m.push(tt);
for(let mm of m) {
console.log(mm.value, mm.intValue, mm.toString(), mm.format(true, true), mm.Chinese());
}
//输出结果
//-12345 -1234500 -12345.00 ¥-1,2345.00 负壹万贰仟叁佰肆拾伍元整
//97654 9765400 97654.00 ¥9,7654.00 玖万柒仟陆佰伍拾肆元整
//-12355 -1235500 -12355.00 ¥-1,2355.00 负壹万贰仟叁佰伍拾伍元整
//-1234500 -123450000 -1234500.00 ¥-123,4500.00 负壹佰贰拾叁万肆仟伍佰元整
//-123450 -12345000 -123450.00 ¥-12,3450.00 负拾贰万叁仟肆佰伍拾元整
//-123.45 -12345 -123.45 ¥-123.45 负壹佰贰拾叁元肆角伍分
//13215236.49 1321523649 13215236.49 ¥1321,5236.49 壹仟叁佰贰拾壹万伍仟贰佰叁拾陆元肆角玖分
0.0.15 2019-06-01
- + 增加CNYCurrency 中文货币类
0.0.14 2019-04-20
- * 优化index.d.ts部分注释, 将object变化any, 将[string]变化string[] 这样在typescript的可以正常使用
- + codeUtils增加MD5FromArgs
- + CHttpCall 增加 asyncJsonPost 和 asyncJsonGet方法
0.0.13 2019-03-28
- * 优化index.d.ts部分注释
- + utils增加options对参数解析的方法 用于node启动后,传入参数的接收处理
let {utils} = require("../lib/utils");
let v = ["../tt", "--env", "aaaaa", "--version", "1.0.0", "aaaaa", "--flag", "true", "-aaaaa"];
let k = utils.options(v);
console.log(JSON.stringify(k, null, 2));
//对于参数接收用 let k = utils.options(process.argv);
运行结果
{
"_": [
"../tt",
"aaaaa",
"-aaaaa"
],
"args": {
"env": "aaaaa",
"version": "1.0.0",
"flag": "true"
}
}
0.0.12 2019-02-18
- + 修改readme.md说明
0.0.10 2019-02-18
- + 增加index.d.ts,使用的时候,可以在vscode有代码提示说明了
0.0.9 2019-02-10
- + datetimeUtils 增加diffLocalDays,CalcLocalDaysByUTC,CalcLocalDaysByDate等函数
- + datetimeUtils 修改getNow()的描述错误
- + datetimeUtils 增加getLocalNow()和getLocalNowSecond()
0.0.8 2018-12-21
- + datetimeUtils 补全上次未能提交的函数
0.0.7 2018-12-12
- + datetimeUtils 增加了ToLocalTime,ToUTCTime,getTodayZeroTime,isSameDay等函数
0.0.6 2018-11-01
- + 增加了bitUtil对整数位处理函数,可以用于标志位处理
- + 增加utils中的ToInteger, ToFloat, JsonParse和mkdirsSync等几个函数
0.0.5 2018-10-31
- * 更新依赖包 lodash 4.17.10 -->4.17.11
0.0.4 2018-10-31
- + 增加日志前缀缩短处理
//文件:example/test.js
let comm = require("xmcommon");
let log = comm.getLogger(__filename);
log.info("hello world");
//[example\test 2018-10-31 19:29:09.802 INFO] hello world
0.0.3
- 初始版本