1
0
mirror of synced 2025-12-15 09:38:11 +08:00

增加了三种function和更详细的说明

This commit is contained in:
zhupengfei
2021-11-01 13:31:08 +08:00
parent 022dbbb093
commit 29c69b4c64
9 changed files with 231 additions and 98 deletions

View File

@@ -198,11 +198,60 @@ class Genid {
return tempTimeTicker;
}
/**
* 生成ID
* @returns 始终输出number类型超过时throw error
*/
NextNumber() {
if (this._IsOverCost) {
//
let id = this.NextOverCostId()
if (id >= 9007199254740992n)
throw Error(`${id.toString()} over max of Number 9007199254740992`)
return parseInt(id.toString())
} else {
//
let id = this.NextNormalId()
if (id >= 9007199254740992n)
throw Error(`${id.toString()} over max of Number 9007199254740992`)
return parseInt(id.toString())
}
}
/**
* 生成ID
* @returns 根据输出数值判断小于number最大值时输出number类型大于时输出bigint
*/
NextId() {
if (this._IsOverCost) {
return parseInt(this.NextOverCostId());
let id = this.NextOverCostId()
if (id >= 9007199254740992n)
return id
else
return parseInt(id)
} else {
return parseInt(this.NextNormalId());
let id = this.NextNormalId()
if (id >= 9007199254740992n)
return id
else
return parseInt(id)
}
}
/**
* 生成ID
* @returns 始终输出bigint类型
*/
NextBigId() {
if (this._IsOverCost) {
//
return this.NextOverCostId()
} else {
//
return this.NextNormalId()
}
}
}