@hero-page/hero-sql-querybuilder

1.0.0 • Public • Published

This entire repository was created completely with AI, using the hero-ai-package-creator, which is open-source, uses GPT-4, and is written & maintained by Sam Chahine ❣️🧞‍♀️

hero-sql-querybuilder

A library that assists in building dynamic SQL queries with various conditions and options.

Functions

select(columns, tableName)

Builds a simple SELECT query with given columns and table name. Handles edge cases where columns are empty or not an array, and table name is not a string. For example, select(['id', 'name'], 'users') returns 'SELECT id, name FROM users'.

where(condition(s))

Builds a WHERE clause with given condition(s). Handles single conditions, multiple conditions with AND or OR, and nested conditions. For example, where('id = 1') returns 'WHERE id = 1'; where([{cond: 'id = 1', op: 'AND', cond: 'name = John'}]) returns 'WHERE id = 1 AND name = John'.

orderBy(column(s), sortOrder)

Builds an ORDER BY clause with given column(s) and optional sort order. Handles single column or multiple columns with ASC/DESC. For example, orderBy('name', 'DESC') returns 'ORDER BY name DESC'.

groupBy(column(s))

Builds a GROUP BY clause with given column(s). Handles single column, multiple columns, and checks for valid column names. For example, groupBy(['name', 'age']) returns 'GROUP BY name, age'.

limit(limitValue)

Builds a LIMIT clause with the given limit value. Handles edge cases where limit is not a valid number or is less than 1. For example, limit(10) returns 'LIMIT 10'.

insert(tableName, columnNames, values)

Builds a basic INSERT query with given table name, column names, and value(s). Handles single/multiple rows and checks for matching column and value count. For example, insert('users', ['name', 'age'], [['John', '30'], ['Jane', '25']]) returns "INSERT INTO users (name, age) VALUES ('John', '30'), ('Jane', '25')".

update(tableName, columnValuePair, whereClause)

Builds an UPDATE query with given table name, column and value pairs, and optional WHERE clause. Handles single/multiple column-value pairs and checks for matching column and value count. For example, update('users', {name: 'John', age: '30'}, 'id = 1') returns "UPDATE users SET name = 'John', age = '30' WHERE id = 1".


Sam Chahine, at Hero

Tests for groupBy

groupBy

Tests for select

select

Tests for update

update

Tests for where

where

Tests for insert

insert

Tests for limit

limit

Tests for orderBy

orderBy

Package Sidebar

Install

npm i @hero-page/hero-sql-querybuilder

Weekly Downloads

3

Version

1.0.0

License

MIT

Unpacked Size

26.9 kB

Total Files

18

Last publish

Collaborators

  • hero-page