add admin tool to purge all records for a provided node id
This commit is contained in:
23
src/utils/node_id_util.js
Normal file
23
src/utils/node_id_util.js
Normal file
@ -0,0 +1,23 @@
|
||||
class NodeIdUtil {
|
||||
|
||||
/**
|
||||
* Converts the provided hex id to a numeric id, for example: !FFFFFFFF to 4294967295
|
||||
* Anything else will be converted as is to a BigInt, for example "4294967295" to 4294967295
|
||||
* @param hexIdOrNumber a node id in hex format with a prepended "!", or a numeric node id as a string or number
|
||||
* @returns {bigint} the node id in numeric form
|
||||
*/
|
||||
static convertToNumeric(hexIdOrNumber) {
|
||||
|
||||
// check if this is a hex id, and convert to numeric
|
||||
if(hexIdOrNumber.toString().startsWith("!")){
|
||||
return BigInt('0x' + hexIdOrNumber.replaceAll("!", ""));
|
||||
}
|
||||
|
||||
// convert string or number to numeric
|
||||
return BigInt(hexIdOrNumber);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = NodeIdUtil;
|
9
src/utils/node_id_util.test.js
Normal file
9
src/utils/node_id_util.test.js
Normal file
@ -0,0 +1,9 @@
|
||||
const NodeIdUtil = require("./node_id_util");
|
||||
|
||||
test('can convert hex id to numeric id', () => {
|
||||
expect(NodeIdUtil.convertToNumeric("!FFFFFFFF")).toBe(BigInt(4294967295));
|
||||
});
|
||||
|
||||
test('can convert numeric id to numeric id', () => {
|
||||
expect(NodeIdUtil.convertToNumeric(4294967295)).toBe(BigInt(4294967295));
|
||||
});
|
Reference in New Issue
Block a user