npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mssql-wrapper-v2

v1.1.1

Published

Simplified wrapper for mssql in Nodejs.

Downloads

6

Readme

mssql-wrapper

Simplified wrapper for mssql in Nodejs. This library tries to extend the functionalities offered by the library mssql.

In the official documentation they recommend creating a singleton class to handle the connection to the pool, this small repository does that for you and lets you query the database without the need of having to instantiate the pool every time. This is a complement to the mssql library, so all the other functionalities of the library are still available.

Create the connection to the pool

In order to create the connection to the pool you must instantiate the Database class with the configuration to the pool. The same configuration file used for the parent library mssql can be used for this wrapper:

const config = {
                user: config.DB_USER,
                password: config.DB_PASSWORD,
                server: config.DB_SERVER,
                database: config.DATABASE,
                pool: config.DB_POOL,
                options: {
                trustServerCertificate: true
                }
                }
new Database(config)

For later connecitons to the database is not necessary to pass the configuration file, you can create them by doing the following:

const connection = await getConnection()

This connection object will allow you to query the database as in the mssql library, but wrappers for the query functions have also been added to this library.

You can releaseConnection the connection by using the following function:

releaseConnection(connection) 

Query wrappers

To use this functionalities you need to have instantiated the database as described in the previous step.

Execute queries

The function executeQuery allows the user to execute any SQL query, but it does not escape special characters.

const results = await executeQuery('SELECT * FROM table');

Once executed the user is returned an object containing the following properties fr any SQL query:

{   success: boolean, 
    message: string, 
    data: list, 
    rowCount: int, 
    error: string, 
    query:string, 
    timeStart: int,
    timeEnd: int,
    executionTime: int
}

Execute transactions

This library also contains a wrapper for transactions. In order to obtain a transaction object to execute the queries on with the following function:

const transaction = getTransaction()

In addition to the usual things that the transaction object has, this one has an attribute called isActive that indicates whether the transaction has been started or not.

In order to close the transaction, you can call the following function, with either commit or rollback as the second argument option:

closeTransaction(transaction,option)

To execute queries within a transaction you need a query object which can be instantiated with the following function:

const transactionRequest = getRequest(transaction) 

Once you have this object you can execute queries and retrieve data with the same format as with executeQuery with the following function:

const results = await executeTransaction (request, query);

Further operations to be added!