Comparing version 0.0.12 to 0.0.13
@@ -538,2 +538,85 @@ const _ = require("lodash"); | ||
} | ||
/** | ||
* 解析参数列表 | ||
* @param {[string]} paramArgs 参数列表 | ||
* @return { {_:[any], args:object }} _是未能识别的参数数组,args是识别后的参数对象 | ||
*/ | ||
static options(paramArgs) { | ||
/** | ||
* 取参数名称 | ||
* @param {String} paramArg 要解析的参数 | ||
* @return {{isArg:boolean, argName:string, argOri:string}} 处理结果 | ||
*/ | ||
function GetArgsName(paramArg) { | ||
let ret = {isArg:false, argName:'', argOri:paramArg}; | ||
let strName = null; | ||
if(paramArg.substring(0,2) === '--') { //如果是前缀-- | ||
strName = paramArg.substring(2).trim(); | ||
} | ||
else if(paramArg.substring(0,1) === '-') { //如果是前缀- | ||
strName = paramArg.substring(1).trim(); | ||
} | ||
else { | ||
return ret; | ||
} | ||
if(strName.length === 0) { | ||
return ret; | ||
} | ||
ret.isArg = true; | ||
ret.argName = strName; | ||
return ret; | ||
} | ||
let ret = { _:[], args:{} }; | ||
paramArgs = paramArgs || []; | ||
if(!Array.isArray(paramArgs)) { | ||
paramArgs = [paramArgs]; | ||
} | ||
let argPre = { | ||
is : false, //是否存在前缀 | ||
argName: '', //前缀的名称 | ||
argOri : '', //原始参数 | ||
}; | ||
for(let i = 0; i < paramArgs.length; i++) { | ||
let arg = paramArgs[i]; | ||
let isString = utils.isString(arg); //判断是否是字符串 | ||
if(isString) { | ||
arg = arg.trim(); | ||
} | ||
if(argPre.is) { //如果存在前缀 | ||
ret.args[argPre.argName] = arg; | ||
argPre.is = false; | ||
argPre.argName = ''; | ||
argPre.argOri = ''; | ||
continue; | ||
} | ||
if(!isString) { | ||
ret._.push(arg); | ||
continue; | ||
} | ||
let p = GetArgsName(arg); | ||
if(p.isArg) { | ||
argPre.is = true; | ||
argPre.argName = p.argName; | ||
argPre.argOri = p.argOri; | ||
continue; | ||
} | ||
else { | ||
ret._.push(arg); | ||
} | ||
} | ||
if(argPre.is) { //如果存在前缀,但是,没有值,则加到_中 | ||
ret._.push(argPre.argOri); | ||
} | ||
return ret; | ||
} | ||
} | ||
@@ -540,0 +623,0 @@ exports = module.exports = { |
{ | ||
"name": "xmcommon", | ||
"version": "0.0.12", | ||
"version": "0.0.13", | ||
"description": "javascript common lib for es6", | ||
@@ -26,3 +26,3 @@ "main": "index.js", | ||
"dependencies": { | ||
"@types/node": "^11.9.4", | ||
"@types/node": "^10.14.4", | ||
"lodash": "^4.17.11" | ||
@@ -29,0 +29,0 @@ }, |
# xmcommon | ||
一个js 通用库 | ||
github: https://github.com/zdhsoft/xmcommon | ||
npm: https://www.npmjs.com/package/xmcommon | ||
- github: https://github.com/zdhsoft/xmcommon | ||
- npm: https://www.npmjs.com/package/xmcommon | ||
@@ -12,2 +12,29 @@ ## 安装 | ||
## 0.0.13 | ||
- 2019-03-28 | ||
- \* 优化index.d.ts部分注释 | ||
- \+ utils增加options对参数解析的方法 用于node启动后,传入参数的接收处理 | ||
```js | ||
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); | ||
``` | ||
运行结果 | ||
```json | ||
{ | ||
"_": [ | ||
"../tt", | ||
"aaaaa", | ||
"-aaaaa" | ||
], | ||
"args": { | ||
"env": "aaaaa", | ||
"version": "1.0.0", | ||
"flag": "true" | ||
} | ||
} | ||
``` | ||
## 0.0.12 | ||
@@ -14,0 +41,0 @@ - 2019-02-18 |
@@ -244,5 +244,8 @@ // Type definitions for xmcommon 0.0 | ||
* @memberOf utils | ||
* @param {function} paramFunc 要调用的函数 | ||
* @param {...args} args 要调用的参数 | ||
* @return {...args} 返回回调函数的传入参数列表 | ||
* @param paramFunc 要调用的函数 | ||
* @param args 要调用的参数 | ||
* @return 返回回调函数的参数列表 | ||
* @example | ||
* function test(paramCallback:function, arg1:any, arg2:any); //第一个参数是回调函数 | ||
* await utils.WaitFunction(test, arg1, arg2); | ||
*/ | ||
@@ -261,5 +264,9 @@ static WaitFunction(paramFunc:Function, ...args:any[]):any[]; | ||
* @memberOf utils | ||
* @param {function} paramFunc 要调用的函数 | ||
* @param {...args} args 要传给函数的参数数组 | ||
*/ | ||
* @param paramFunc 要调用的函数 | ||
* @param args 要传给函数的参数数组 | ||
* @return 返回回调函数的参数列表 | ||
* @example | ||
* function test(arg1:any, arg2:any, paramCallback:function); //回调函数在最后面 | ||
* await utils.WaitFunctionEx(test, arg1, arg2); | ||
* */ | ||
static WaitFunctionEx(paramFunc:Function, ...args:any[]):any[]; | ||
@@ -272,20 +279,30 @@ | ||
* @memberOf utils | ||
* @param {object} paramObject 要调用函数的对象实例 | ||
* @param {String} paramFunc 要调用的函数名称 | ||
* @param {...args} args 要调用的参数 | ||
* @return {...args} 返回回调函数的传入参数列表 | ||
* @param paramObject 要调用函数的对象实例 | ||
* @param paramFunc 要调用的函数名称 | ||
* @param args 要调用的参数 | ||
* @return 返回回调函数的参数列表 | ||
* @example | ||
* class CTest { | ||
* public function test(paramCallback:function, arg1:any, arg2:any);//第一个参数是回调函数 | ||
* }; | ||
* let t = new CTest(); | ||
* await utils.WaitClassFunction(t, "test", arg1, arg2); | ||
*/ | ||
static WaitClassFunction(paramObject:object, paramFunction:string, ...args:any[]):any[]; | ||
/** | ||
* 异步调用类成员函数,注意:要求第一个参数回调函数 | ||
* 异步调用类成员函数,注意:要求最后一个参数回调函数 | ||
* @static | ||
* @async | ||
* @memberOf utils | ||
* @param {object} paramObject 要调用函数的对象实例 | ||
* @param {String} paramFunc 要调用的函数名称 | ||
* @param {...args} args 要调用的参数 | ||
* @return {...args} 返回回调函数的传入参数列表 | ||
*/ | ||
* @param paramObject 要调用函数的对象实例 | ||
* @param paramFunc 要调用的函数名称 | ||
* @param args 要调用的参数 | ||
* @return 返回回调函数的传入参数列表 | ||
* @example | ||
* class CTest { | ||
* public function test(arg1:any, arg2:any, paramCallback:function); //回调函数在最后面 | ||
* }; | ||
* let t = new CTest(); | ||
* await utils.WaitClassFunctionEx(t, "test", arg1, arg2); | ||
*/ | ||
static WaitClassFunctionEx(paramObject:object, paramFunction:string, ...args:any[]):any[]; | ||
@@ -316,4 +333,4 @@ | ||
* @static | ||
* @param {Integer} v 要格式化的字节数 | ||
* @return {String} 格式化的字符串 | ||
* @param v 要格式化的字节数 | ||
* @return 格式化的字符串 | ||
* @memberof utils | ||
@@ -325,13 +342,12 @@ */ | ||
* 休眠指定的毫秒数 | ||
* @param {Integer} paramT 要休眠的时长 | ||
* @return {void} 无返回值 | ||
* @param paramT 要休眠的时长 | ||
* @return 无返回值 | ||
*/ | ||
static sleep(paramT:number):void; | ||
/** | ||
* 将params的key和values分别变成两个数组 | ||
* @param {object} params 参数表 | ||
* @return {keyValuesReturn} 返回的结果 | ||
* @param params 参数表 | ||
* @return 返回的结果 | ||
* */ | ||
static keyValues(params:object):keyValuesReturn; | ||
static keyValues(params:{}):{keys:[string], values:[any]}; | ||
@@ -346,5 +362,5 @@ /** | ||
* @memberOf utils | ||
* @param {Number} num 要格化的数字 | ||
* @param {String} pattern 模式 | ||
* @return {String} 格式化后的字符串 | ||
* @param num 要格化的数字 | ||
* @param pattern 模式 | ||
* @return 格式化后的字符串 | ||
*/ | ||
@@ -355,5 +371,5 @@ static formatNumber(num:number, pattern:string):string; | ||
* 将指定的内容,转换为整数,如果转换失败,则用缺省值 | ||
* @param {String} paramSrcInteger 要被转换为整数的字符串 | ||
* @param {Number} paramDefault 缺省值 | ||
* @return {Number} 转换后的整数 | ||
* @param paramSrcInteger 要被转换为整数的字符串 | ||
* @param paramDefault 缺省值 | ||
* @return 转换后的整数 | ||
*/ | ||
@@ -363,5 +379,5 @@ static ToInteger (paramSrcInteger:string, paramDefault:number):number; | ||
* 将指定的内容,转换为数字,如果转换失败,则用缺省值 | ||
* @param {string} paramSrcNumber 要被转换为数字的字符串 | ||
* @param {number} paramDefault 缺省值 | ||
* @return {number} 转换后的浮点数 | ||
* @param paramSrcNumber 要被转换为数字的字符串 | ||
* @param paramDefault 缺省值 | ||
* @return 转换后的浮点数 | ||
*/ | ||
@@ -372,13 +388,20 @@ static ToFloat(paramSrcNumber:string, paramDefault:number):number; | ||
* 这个主要的做是,对异常做了处理,减少其它地方对异常处理的问题。 | ||
* @param {String} paramJsonString Json格式的字符串 | ||
* @return {any} 转换后的对象 | ||
* @param paramJsonString Json格式的字符串 | ||
* @return 转换后的对象 | ||
*/ | ||
static JsonParse (paramJsonString:string):any; | ||
static JsonParse (paramJsonString:string):{}; | ||
/** | ||
* 创建目录 | ||
* @param {string} dirpath 要创建的目录,支持多层级创建 | ||
* @param {number} mode 创建后,目录的权限,默认为0o777 | ||
* @return {boolean} 返回创建结果 | ||
* @param dirpath 要创建的目录,支持多层级创建 | ||
* @param mode 创建后,目录的权限,默认为0o777 | ||
* @return 返回创建结果 | ||
*/ | ||
static mkdirsSync(dirpath:string, mode:number):boolean; | ||
/** | ||
* 解析参数列表 | ||
* @param paramArgs 参数列表 | ||
* @return _是未能识别的参数数组,args是识别后的参数对象 | ||
*/ | ||
static options(paramArgs:[string]):{_:[any], args:{} }; | ||
} | ||
@@ -385,0 +408,0 @@ |
@@ -0,0 +0,0 @@ { |
{ "extends": "dtslint/dt.json" } |
@@ -9,3 +9,4 @@ import {utils, MemorySize, getLogger, SimpleCode} from "xmcommon" | ||
let s:SimpleCode = new SimpleCode(); | ||
let k = r.keys[0]; | ||
let v = getLogger(__filename); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
101475
23
3053
84
+ Added@types/node@10.17.60(transitive)
- Removed@types/node@11.15.54(transitive)
Updated@types/node@^10.14.4