New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

lightning-pool

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lightning-pool - npm Package Compare versions

Comparing version 2.4.0 to 3.0.0

dist/AbortError.d.ts

47

package.json
{
"name": "lightning-pool",
"description": "Fastest object pool implementation for JavaScript",
"version": "2.4.0",
"description": "Fastest generic Pool written with TypeScript",
"version": "3.0.0",
"author": "Panates Ltd.",

@@ -13,16 +13,28 @@ "contributors": [

"javascript",
"pool"
"typescript",
"pool",
"generic"
],
"dependencies": {
"doublylinked": "^2.4.0",
"errorex": "^2.3.2",
"putil-promisify": "^1.7.2"
"doublylinked": "^2.4.3",
"putil-promisify": "^1.8.2"
},
"devDependencies": {
"@types/mocha": "^8.0.4",
"@types/node": "^14.14.7",
"@typescript-eslint/eslint-plugin": "^4.7.0",
"@typescript-eslint/parser": "^4.7.0",
"babel-eslint": "^10.1.0",
"dotenv": "^8.2.0",
"eslint": "^7.13.0",
"eslint-config-google": "^0.14.0",
"mocha": "^8.2.1",
"npm-run-path": "^4.0.1",
"nyc": "^15.1.0",
"rejected-or-not": "^2.0.0"
"ts-cleanup": "^0.2.2",
"ts-loader": "^8.0.11",
"ts-node": "^9.0.0",
"ts-mocha": "^8.0.0",
"tsconfig-paths": "^3.9.0",
"typescript": "^4.0.5"
},

@@ -32,11 +44,12 @@ "engines": {

},
"main": "lib/index.js",
"types": "lib/index.d.ts",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"directories": {
"lib": "./lib"
"lib": "dist",
"test": "test"
},
"files": [
"LICENSE",
"README.md",
"lib/"
"README",
"dist/"
],

@@ -47,6 +60,12 @@ "nyc": {

"scripts": {
"test": "mocha --require ./test/support/env --reporter spec --bail --check-leaks test/",
"cover": "nyc --reporter html --reporter text npm run test",
"test": "ts-mocha -p test/tsconfig.json --paths --reporter spec test/**/*.spec.ts",
"cover": "nyc --reporter=cobertura --reporter html --reporter text npm run test",
"clean": "npm run clean:src && npm run clean:dist",
"clean:dist": "ts-cleanup -d dist --remove-dirs --all",
"clean:src": "ts-cleanup -s src --all | ts-cleanup -s test",
"build": "tsc -b tsconfig-build.json",
"compile": "tsc -b tsconfig.json",
"lint": "eslint src/** --fix --no-error-on-unmatched-pattern",
"travis-cover": "nyc --reporter lcovonly npm run test"
}
}

@@ -7,4 +7,2 @@ # lightning-pool

[![Test Coverage][coveralls-image]][coveralls-url]
[![Dependencies][dependencies-image]][dependencies-url]
[![DevDependencies][devdependencies-image]][devdependencies-url]

@@ -28,5 +26,5 @@ ## About

```js
const lightningPool = require('lightning-pool');
const dbDriver = require('some-db-driver');
```ts
import {Pool} from 'lightning-pool';
import dbDriver from 'some-db-driver';

@@ -37,37 +35,14 @@ /**

const factory = {
create: function(opts){
return new Promise((resolve, reject) => {
DbDriver.createClient((err, client) => {
if (err)
return reject(err);
resolve(client);
});
});
create: async function(opts) {
const client = await DbDriver.createClient();
return client;
},
destroy: function(client){
return new Promise((resolve, reject) => {
client.destroy((err) => {
if (err)
return reject(err);
resolve();
});
});
destroy: async function(client) {
await client.close();
},
reset: function(client){
return new Promise((resolve, reject) => {
client.rollback((err) => {
if (err)
return reject(err);
resolve();
});
});
reset: async function(client){
await client.rollback();
},
validate: function(client){
return new Promise((resolve, reject) => {
client.execute('some test sql', (err) => {
if (err)
return reject(err);
resolve();
});
});
validate: async function(client) {
await client.query('select 1');
}

@@ -77,36 +52,28 @@ };

/**
* Step 1 - Create a the pool object
* Step 2 - Create a the pool object
*/
var opts = {
const pool = new Pool(factory, {
max: 10, // maximum size of the pool
min: 2, // minimum size of the pool
minIdle: 2 // minimum idle resources
}
});
var pool = lightningPool.createPool(factory, opts)
/**
* Step 3 - Use pool in your code to acquire/release resources
*/
// acquire connection - Promise is resolved
const client = await pool.acquire();
// once a resource becomes available
pool.acquire().then(client => {
// Use resource
client.query("select * from foo", [], function() {
// return object back to pool
pool.release(client);
});
}).catch(err => {
console.error(err);
});
// Use resource
await client.query("select * from foo");
// return object back to pool
await pool.release(client);
/**
* Step 3 - Shutdown pool (optional)
* Step 4 - Shutdown pool (optional)
* Call close(force) when you need to shutdown the pool
*/
process.on('SIGINT', function() {
pool.close(true);
});
// Wait for active resource for 5 sec than force shutdown
await pool.close(5000);
```

@@ -120,9 +87,9 @@

```js
const lightningPool = require('lightning-pool');
const pool = lightningPool.createPool(factory, options);
```ts
import {createPool} from 'lightning-pool';
const pool = createPool(factory, options);
```
```js
const {Pool} = require('lightning-pool');
```ts
import {Pool} from 'lightning-pool';
const pool = new Pool(factory, options);

@@ -273,9 +240,13 @@ ```

##### Usage (With promise)
##### Usage
`pool.close([force])`
`close(callback: Callback): void;`
`close(terminateWait: number, callback?: Callback): Promise<void>;`
`close(force: boolean, callback?: Callback): void;`
- `force` (optional): If true, `Pool` will immediately destroy resources instead of waiting to be released (Default false)
- *Returns*: A Promise
- `force`: If true, `Pool` will immediately destroy resources instead of waiting to be released
- `terminateWait`: If specified, `Pool` will wait for active resources to release
- `callback`: If specified, callback will be called after close. If not specified a promise returns.
```js

@@ -400,3 +371,3 @@ var promise = pool.close();

- node `>= 4.0`;
- node `>= 10.0`;

@@ -409,3 +380,3 @@ ### License

[travis-image]: https://img.shields.io/travis/panates/lightning-pool/master.svg
[travis-url]: https://travis-ci.org/panates/lightning-pool
[travis-url]: https://travis-ci.com/panates/lightning-pool
[coveralls-image]: https://img.shields.io/coveralls/panates/lightning-pool/master.svg

@@ -412,0 +383,0 @@ [coveralls-url]: https://coveralls.io/r/panates/lightning-pool

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc