Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
NHibernate-style hi/lo ID generator for node.js & SQL Server
NHibernate-style hi/lo ID generator for node.js
node-hilo exports a factory function that takes a configuration object:
/*
The configuration argument can contain the following:
{
hilo: {
maxLo: 10 // an integer value for maxLo
},
// sql is a config object that seriate would understand
sql: {
user: "you_me_anyone",
password: "superseekret",
server: "some.server.com",
database: "meh_databass"
}
}
*/
var hilo = require( "node-hilo" )( configuration );
node-hilo exports three module members: a nextId
method, a nextIds
method and a read-only property called hival
. You will likely never need to care about the hival
value - it's there for diagnostics and testing. The nextId
method returns a promise, with the newly generated ID being passed to the success callback:
const id = await hilo.nextId();
// block of 100 ids
const ids = await hilo.nextIds( 100 )
JavaScript doesn't natively support 64 bit integers - we're using a helper lib (big-integer) to allow us to properly represent them. Because of this, the generated IDs are passed back as strings (even though they're long
values). You will need to ensure your DB server converts/casts them to long
(which SQL will normally implicitly do for you).
If you'd like to learn more about the hi/lo algorithm:
If you plan to run the integration tests, you will need access to an MS SQL server. Create a test database that can be used (the integration tests create two tables), and save a configuration file called intTestDbCfg.json
under the spec/integration
folder. Your configuration file will look similar to this:
{
"sql": {
"user": "dbuser",
"password": "dbuserpwd",
"server": "localhost",
"database": "nhutil"
},
"hilo": {
"maxLo": 100
},
"test" : {
"recordsToCreate" : 15000,
"startingHiVal" : "314159265"
}
}
FAQs
NHibernate-style hi/lo ID generator for node.js & SQL Server
The npm package node-hilo receives a total of 55 weekly downloads. As such, node-hilo popularity was classified as not popular.
We found that node-hilo demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.