organon

0.0.3 • Public • Published

organon

Just a tool, a lib, a bunch of code I use!

Node.js Package - NPM Node.js CI

npm install organon

MS SQL driver

To use this driver it is necessary to install msodbc 17+ for linux or mac or msodbc 17+ for windows

Setup

const process = require('process')
const { MSSQL, drivers } = require('organon/mssql')

const sqlSettings = {
    server: 'localhost',
    database: 'myDataBase',
    driver: drivers.odbc18,
    name: 'organon_sample_process',
    poolPark: 2,
    encrypt: 'no',
    authentication: {
        username: process.env_SQL_AUTH_USERNAME,
        password: process.env_SQL_AUTH_PASSWORD
    },
    options: {
        port: 1433
    }
}

const sqlConn = new MSSQL(sqlSettings)

sqlConn.connect()
.then(() => {
    console.log('Connected to MS SQL Server!')

    const tableDefinition = {
        columns: ['ID', 'myColumn1', 'myColumn2'],
        types: ['int IDENTITY(1,1)', 'VARCHAR(20)', 'datetime2'],
        pk: ['ID'],
        name: 'myTable'
    }

    return sqlConn.createTable(tableDefinition)
    .then(_ => {
        console.log('Table created!')

        const sampleData = {
            myColumn1: "Data for column 1",
            myColumn2: new Date().toISOString().slice(0, 19).replace('T', ' ')
        }

        const query = `INSERT into [${tableDefinition.name}] ` +
                        `([myColumn1], [myColumn2])  ` +
                        `VALUES ('${sampleData.myColumn1}', '${sampleData.myColumn2}')`

        return sqlConn.executeStatement(query)
        .then(_ => {
            console.log('Row inserted!')
        })
    })
})
.catch(err => {
    console.log(err)
})

Logger Module

Environment configuration

NOCEGO_LOGGER_STACKTRACEDEPTH=-1 // -1 default value
NOCEGO_LOGGER_FILENAME=''
NOCEGO_LOGGER_LEVEL='debug' // debug default value
// Log rotation
NOCEGO_LOGGER_MAXSIZE='20m' // 20m default value
NOCEGO_LOGGER_MAXFILES='7d' // 7d default value
NOCEGO_LOGGER_DATEPATTERN='YYYY-MM-DD-HH' // YYYY-MM-DD-HH default value

Setup

const logger = require('organon/logger')
logger('LOGTAG').debug('The error message', { "more" : "information"})

Example of output:

2023-03-15T23:17:56.117Z [LOGTAG] debug: The error message - 
{ more: 'information' }

Errors Module

Types:

  • ConnectionError
  • CriticalError
  • ExecutionError

Example of usage

const { CriticalError } = require('organon/errors')

const err = new CriticalError('Sample message', { more: 'information' })

Example of console.log

    CriticalError: Sample message
        at Object.<anonymous> (/home/kal/code/organon/tests/errors.test.js:16:17)
        at Promise.then.completed (/home/kal/code/organon/node_modules/jest-circus/build/utils.js:293:28)
        at new Promise (<anonymous>)
        at callAsyncCircusFn (/home/kal/code/organon/node_modules/jest-circus/build/utils.js:226:10)
        at _callCircusTest (/home/kal/code/organon/node_modules/jest-circus/build/run.js:297:40)
        at processTicksAndRejections (node:internal/process/task_queues:95:5)
        at _runTest (/home/kal/code/organon/node_modules/jest-circus/build/run.js:233:3)
        at _runTestsForDescribeBlock (/home/kal/code/organon/node_modules/jest-circus/build/run.js:135:9)
        at run (/home/kal/code/organon/node_modules/jest-circus/build/run.js:68:3)
        at runAndTransformResultsToJestFormat (/home/kal/code/organon/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
        at jestAdapter (/home/kal/code/organon/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
        at runTestInternal (/home/kal/code/organon/node_modules/jest-runner/build/runTest.js:367:16)
        at runTest (/home/kal/code/organon/node_modules/jest-runner/build/runTest.js:444:34) {
      isOperational: false,
      extra: { more: 'information' }
    }

Package Sidebar

Install

npm i organon

Weekly Downloads

1

Version

0.0.3

License

MIT

Unpacked Size

47 kB

Total Files

12

Last publish

Collaborators

  • kalstong