Comparing version 0.9.13 to 0.9.14
/// <reference types="node" /> | ||
import { XCommonRet } from './common_ret'; | ||
/** | ||
@@ -27,2 +28,16 @@ * 检查对象属性结果,枚举 | ||
/** | ||
* 分页信息 | ||
* - 主要用于mysql的分页请求处理 | ||
*/ | ||
export interface IPageInfo { | ||
/** 第几条记录 从0开始 */ | ||
start: number; | ||
/** 取几条记录 最小1,最大100 */ | ||
length: number; | ||
/** 第几页,从1开始 */ | ||
page: number; | ||
/** // 每页的记录数,等同于length */ | ||
pageSize: number; | ||
} | ||
/** | ||
* 常用工具类 | ||
@@ -396,3 +411,16 @@ * - 这里会提供一组类静态成员的方法 | ||
static randomBetween(paramMin: number, paramMax: number): number; | ||
/** | ||
* 计算页信息 | ||
* - 与mysql limit相对应 | ||
* @param paramStart 开始的下标,从0开始 默认值0 | ||
* @param paramLength 对应的数量,要求大于1,小于1000,最大值1000, 默认值为10 | ||
*/ | ||
static roundPageInfo(paramStart?: number, paramLength?: number): IPageInfo; | ||
/** | ||
* 计算最大页数 CommonRetEx.data就是计算出来的页数 | ||
* @param paramCount 总的记录数 | ||
* @param paramPageSize 每页的记录数 | ||
*/ | ||
static calcMaxPage(paramCount: number, paramPageSize: number): XCommonRet<number>; | ||
} | ||
export default utils; |
@@ -12,2 +12,3 @@ "use strict"; | ||
const constant_1 = require("./constant"); | ||
const common_ret_1 = require("./common_ret"); | ||
/** 日期偏移值,主要用于测试 */ | ||
@@ -484,10 +485,14 @@ let DateTimeOffset = 0; | ||
for (let f = fmt.length - 1; f >= 0; f--) { | ||
switch (fmt.substr(f, 1)) { | ||
switch (fmt.substring(f, f + 1)) { | ||
case '#': | ||
if (i >= 0) | ||
retString = str.substr(i--, 1) + retString; | ||
if (i >= 0) { | ||
retString = str.substring(i, i + 1) + retString; | ||
i--; | ||
} | ||
break; | ||
case '0': | ||
if (i >= 0) | ||
retString = str.substr(i--, 1) + retString; | ||
if (i >= 0) { | ||
retString = str.substring(i, 1 + 1) + retString; | ||
i--; | ||
} | ||
else | ||
@@ -508,3 +513,3 @@ retString = '0' + retString; | ||
for (; i >= 0; i--) { | ||
retString = str.substr(i, 1) + retString; | ||
retString = str.substring(i, i + 1) + retString; | ||
if (i > 0 && (l - i) % 3 === 0) | ||
@@ -524,8 +529,12 @@ retString = ',' + retString; | ||
case '#': | ||
if (i < str.length) | ||
retString += str.substr(i++, 1); | ||
if (i < str.length) { | ||
retString += str.substring(i, i + 1); | ||
i++; | ||
} | ||
break; | ||
case '0': | ||
if (i < str.length) | ||
retString += str.substr(i++, 1); | ||
if (i < str.length) { | ||
retString += str.substring(i, i + 1); | ||
i++; | ||
} | ||
else | ||
@@ -818,4 +827,56 @@ retString += '0'; | ||
} | ||
/** | ||
* 计算页信息 | ||
* - 与mysql limit相对应 | ||
* @param paramStart 开始的下标,从0开始 默认值0 | ||
* @param paramLength 对应的数量,要求大于1,小于1000,最大值1000, 默认值为10 | ||
*/ | ||
static roundPageInfo(paramStart = 0, paramLength = 10) { | ||
const start = Number.isInteger(paramStart) ? paramStart : 0; | ||
let length = Number.isInteger(paramLength) ? paramLength : 10; | ||
if (length < 1) { | ||
length = 10; | ||
} | ||
else if (length > 1000) { | ||
length = 1000; | ||
} | ||
const page = Math.floor(start / length) + 1; | ||
return { start, length, page, pageSize: length }; | ||
} | ||
/** | ||
* 计算最大页数 CommonRetEx.data就是计算出来的页数 | ||
* @param paramCount 总的记录数 | ||
* @param paramPageSize 每页的记录数 | ||
*/ | ||
static calcMaxPage(paramCount, paramPageSize) { | ||
const r = new common_ret_1.XCommonRet(); | ||
r.setOK(0); | ||
do { | ||
if (!Number.isSafeInteger(paramCount)) { | ||
r.setError(constant_1.error_common.ERR_FAIL, `paramCount = ${paramCount} is not safe integer!`); | ||
break; | ||
} | ||
if (!Number.isSafeInteger(paramPageSize)) { | ||
r.setError(constant_1.error_common.ERR_FAIL, `paramPageSize = ${paramPageSize} is not safe integer!`); | ||
break; | ||
} | ||
if (paramPageSize <= 0) { | ||
r.setError(constant_1.error_common.ERR_FAIL, `paramPageSize = ${paramPageSize} <= 0, 页数要是大于0的整数`); | ||
break; | ||
} | ||
if (paramCount <= 0) { | ||
// 如果记录数,小于等于0,则 总页数0 | ||
break; | ||
} | ||
const p = paramCount % paramPageSize; | ||
let pageCnt = (paramCount - p) / paramPageSize; | ||
if (p > 0) { | ||
pageCnt++; | ||
} | ||
r.setOK(pageCnt); | ||
} while (false); | ||
return r; | ||
} | ||
} | ||
exports.utils = utils; | ||
exports.default = utils; |
104
lib/utils.ts
@@ -5,3 +5,4 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ | ||
import path from 'path'; | ||
import { MemorySize } from './constant'; | ||
import { MemorySize, error_common } from './constant'; | ||
import { XCommonRet } from './common_ret'; | ||
@@ -37,2 +38,17 @@ /** 日期偏移值,主要用于测试 */ | ||
/** | ||
* 分页信息 | ||
* - 主要用于mysql的分页请求处理 | ||
*/ | ||
export interface IPageInfo { | ||
/** 第几条记录 从0开始 */ | ||
start: number; | ||
/** 取几条记录 最小1,最大100 */ | ||
length: number; | ||
/** 第几页,从1开始 */ | ||
page: number; | ||
/** // 每页的记录数,等同于length */ | ||
pageSize: number; | ||
} | ||
/** | ||
* 常用工具类 | ||
@@ -169,4 +185,4 @@ * - 这里会提供一组类静态成员的方法 | ||
for (const k in (paramDestObject as any)) { | ||
const kk = (paramSimpleObject as any)[k] ; | ||
for (const k in paramDestObject as any) { | ||
const kk = (paramSimpleObject as any)[k]; | ||
if (kk === undefined) { | ||
@@ -177,3 +193,3 @@ ret.extra.push(k); | ||
for (const k in (paramSimpleObject as any)) { | ||
for (const k in paramSimpleObject as any) { | ||
const v = (paramSimpleObject as any)[k]; | ||
@@ -513,8 +529,14 @@ const kk = (paramDestObject as any)[k]; | ||
for (let f = fmt.length - 1; f >= 0; f--) { | ||
switch (fmt.substr(f, 1)) { | ||
switch (fmt.substring(f, f+1)) { | ||
case '#': | ||
if (i >= 0) retString = str.substr(i--, 1) + retString; | ||
if (i >= 0) { | ||
retString = str.substring(i, i+1) + retString; | ||
i--; | ||
} | ||
break; | ||
case '0': | ||
if (i >= 0) retString = str.substr(i--, 1) + retString; | ||
if (i >= 0) { | ||
retString = str.substring(i, 1+1) + retString; | ||
i--; | ||
} | ||
else retString = '0' + retString; | ||
@@ -534,3 +556,3 @@ break; | ||
for (; i >= 0; i--) { | ||
retString = str.substr(i, 1) + retString; | ||
retString = str.substring(i, i+1) + retString; | ||
if (i > 0 && (l - i) % 3 === 0) retString = ',' + retString; | ||
@@ -549,6 +571,12 @@ } | ||
case '#': | ||
if (i < str.length) retString += str.substr(i++, 1); | ||
if (i < str.length) { | ||
retString += str.substring(i, i+1); | ||
i++; | ||
} | ||
break; | ||
case '0': | ||
if (i < str.length) retString += str.substr(i++, 1); | ||
if (i < str.length) { | ||
retString += str.substring(i, i+1); | ||
i++; | ||
} | ||
else retString += '0'; | ||
@@ -845,4 +873,60 @@ break; | ||
} | ||
/** | ||
* 计算页信息 | ||
* - 与mysql limit相对应 | ||
* @param paramStart 开始的下标,从0开始 默认值0 | ||
* @param paramLength 对应的数量,要求大于1,小于1000,最大值1000, 默认值为10 | ||
*/ | ||
public static roundPageInfo(paramStart: number = 0, paramLength: number = 10): IPageInfo { | ||
const start = Number.isInteger(paramStart) ? paramStart : 0; | ||
let length = Number.isInteger(paramLength) ? paramLength : 10; | ||
if (length < 1) { | ||
length = 10; | ||
} else if (length > 1000) { | ||
length = 1000; | ||
} | ||
const page = Math.floor(start / length) + 1; | ||
return { start, length, page, pageSize: length }; | ||
} | ||
/** | ||
* 计算最大页数 CommonRetEx.data就是计算出来的页数 | ||
* @param paramCount 总的记录数 | ||
* @param paramPageSize 每页的记录数 | ||
*/ | ||
public static calcMaxPage(paramCount: number, paramPageSize: number): XCommonRet<number> { | ||
const r = new XCommonRet<number>(); | ||
r.setOK(0); | ||
do { | ||
if (!Number.isSafeInteger(paramCount)) { | ||
r.setError(error_common.ERR_FAIL, `paramCount = ${paramCount} is not safe integer!`); | ||
break; | ||
} | ||
if (!Number.isSafeInteger(paramPageSize)) { | ||
r.setError(error_common.ERR_FAIL, `paramPageSize = ${paramPageSize} is not safe integer!`); | ||
break; | ||
} | ||
if (paramPageSize <= 0) { | ||
r.setError(error_common.ERR_FAIL, `paramPageSize = ${paramPageSize} <= 0, 页数要是大于0的整数`); | ||
break; | ||
} | ||
if (paramCount <= 0) { | ||
// 如果记录数,小于等于0,则 总页数0 | ||
break; | ||
} | ||
const p = paramCount % paramPageSize; | ||
let pageCnt = (paramCount - p) / paramPageSize; | ||
if (p > 0) { | ||
pageCnt++; | ||
} | ||
r.setOK(pageCnt); | ||
} while (false); | ||
return r; | ||
} | ||
} | ||
export default utils; |
{ | ||
"name": "xmcommon", | ||
"version": "0.9.13", | ||
"description": "一个基于javascript的常用功能扩展库!", | ||
"version": "0.9.14", | ||
"description": "一个基于javascript的常用功能扩展库! 使用TypeScript重构!", | ||
"main": "./dist/index.js", | ||
@@ -6,0 +6,0 @@ "scripts": { |
@@ -39,2 +39,7 @@ # xmcommon | ||
# 版本变更说明 | ||
## 0.9.14 | ||
- 2022-01-05 | ||
- \+ 增加utils.calcMaxPage方法 | ||
- \+ 增加utils.roundPageInfo方法 | ||
## 0.9.13 | ||
@@ -41,0 +46,0 @@ - 2021-12-02 |
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
304364
8439
302