1.0.2 • Published 3 years ago

ahk v1.0.2

Weekly downloads
57
License
ISC
Repository
github
Last release
3 years ago

A handler to add conditions on Knex queries.

Install

npm install ahk --save

Using

const Ahk = require('ahk')

Operators

namedescription
eqequal
neqnot equal
gtegreater than or equal
gtgreater than
ltless than
lteless than or equal
inin
ninnot in
lklike
nlknot like
btwbetween
nbtwnot between
isnullis null / is not null
oror

Examples

// Operator EQ
const filter = {
	param1: {
		eq: 2
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` = 2)
// Operator NEQ
const filter = {
	param1: {
		neq: 2
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (not `param1` = 2)
// Operator GT
const filter = {
	param1: {
		gt: 5
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` > 5)
// Operator GTE
const filter = {
	param1: {
		gte: 5
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` >= 5)
// Operator LT
const filter = {
	param1: {
		lt: 5
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` < 5)
// Operator LTE
const filter = {
	param1: {
		lte: 5
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` <= 5)
// Operator LK
const filter = {
	param1: {
		lk: 'za%'
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` like 'za%')
// Operator NLK
const filter = {
	param1: {
		nlk: 'za%'
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` not like 'za%')
// Operator IN
const filter = {
	param1: {
		in: [1, 2, 3]
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` in (1, 2, 3))
// Operator NIN
const filter = {
	param1: {
		nin: [1, 2, 3]
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` not in (1, 2, 3))
// Operator BTW
const filter = {
	param1: {
		btw: [10, 20]
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` between 10 and 20)
// Operator NBTW
const filter = {
	param1: {
		nbtw: [10, 20]
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` not between 10 and 20)
// Operator ISNULL
const filter = {
	param1: {
		isnull: true
	},
	param2: {
		isnull: false
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` is null) and (`param2` is not null)
// Operator OR
const filter = {
	param1: 1,
	or: {
		param2: {
			eq: 'za%'
		}
	}
}

const query = knex('table').modify(builder => Ahk(builder, filter))

// RESULT
// select * from table where (`param1` = 1) or (`param2` like 'za%')