Knex <TRecord, TResult>
Hierarchy
- QueryInterface<TRecord, TResult>
- EventEmitter
- Knex
Callable
Type parameters
- TTable: never
Parameters
tableName: TTable
optionaloptions: PgTableOptions
Returns QueryBuilder<TableType<TTable>, DeferredKeySelection<ResolveTableType<TableType<TTable>, base>, never, false, {}, false, {}, never>[]>
Index
Properties
- VERSION
- __knex__
- andHaving
- andHavingNotIn
- andWhere
- andWhereBetween
- andWhereILike
- andWhereJsonNotSubsetOf
- andWhereJsonNotSupersetOf
- andWhereJsonObject
- andWhereJsonPath
- andWhereJsonSubsetOf
- andWhereJsonSupersetOf
- andWhereLike
- andWhereNot
- andWhereNotBetween
- andWhereNotJsonObject
- andWhereRaw
- as
- avg
- avgDistinct
- client
- column
- columns
- comment
- count
- countDistinct
- crossJoin
- denseRank
- distinct
- distinctOn
- except
- first
- fn
- from
- fromRaw
- fullOuterJoin
- groupBy
- groupByRaw
- having
- havingBetween
- havingIn
- havingNotBetween
- havingNotIn
- havingNotNull
- havingNull
- havingRaw
- havingWrapped
- hintComment
- innerJoin
- intersect
- into
- isTransaction
- join
- joinRaw
- jsonExtract
- jsonInsert
- jsonRemove
- jsonSet
- leftJoin
- leftOuterJoin
- max
- migrate
- min
- orHaving
- orHavingBetween
- orHavingNotBetween
- orHavingNotIn
- orHavingRaw
- orWhere
- orWhereBetween
- orWhereExists
- orWhereILike
- orWhereIn
- orWhereJsonNotSubsetOf
- orWhereJsonNotSupersetOf
- orWhereJsonObject
- orWhereJsonPath
- orWhereJsonSubsetOf
- orWhereJsonSupersetOf
- orWhereLike
- orWhereNot
- orWhereNotBetween
- orWhereNotExists
- orWhereNotIn
- orWhereNotJsonObject
- orWhereNotNull
- orWhereNull
- orWhereRaw
- orderBy
- orderByRaw
- outerJoin
- partitionBy
- rank
- raw
- ref
- rightJoin
- rightOuterJoin
- rowNumber
- schema
- seed
- select
- sum
- sumDistinct
- table
- union
- unionAll
- updateFrom
- userParams
- using
- where
- whereBetween
- whereExists
- whereILike
- whereIn
- whereJsonNotSubsetOf
- whereJsonNotSupersetOf
- whereJsonObject
- whereJsonPath
- whereJsonSubsetOf
- whereJsonSupersetOf
- whereLike
- whereNot
- whereNotBetween
- whereNotExists
- whereNotIn
- whereNotJsonObject
- whereNotNull
- whereNull
- whereRaw
- whereWrapped
- with
- withMaterialized
- withNotMaterialized
- withRaw
- withRecursive
- withSchema
- withWrapped
Methods
- [captureRejectionSymbol]
- addListener
- batchInsert
- clear
- clearCounters
- clearGroup
- clearHaving
- clearOrder
- clearSelect
- clearWhere
- decrement
- del
- delete
- destroy
- emit
- eventNames
- getMaxListeners
- increment
- initialize
- insert
- limit
- listenerCount
- listeners
- modify
- off
- offset
- on
- onConflict
- once
- pluck
- prependListener
- prependOnceListener
- queryBuilder
- rawListeners
- removeAllListeners
- removeListener
- returning
- setMaxListeners
- transaction
- transactionProvider
- truncate
- update
- upsert
- withUserParams
Properties
VERSION
__knex__
andHaving
andHavingNotIn
andWhere
andWhereBetween
andWhereILike
andWhereJsonNotSubsetOf
andWhereJsonNotSupersetOf
andWhereJsonObject
andWhereJsonPath
andWhereJsonSubsetOf
andWhereJsonSupersetOf
andWhereLike
andWhereNot
andWhereNotBetween
andWhereNotJsonObject
andWhereRaw
as
avg
avgDistinct
client
column
columns
comment
count
countDistinct
crossJoin
denseRank
distinct
distinctOn
except
first
fn
from
fromRaw
fullOuterJoin
groupBy
groupByRaw
having
havingBetween
havingIn
havingNotBetween
havingNotIn
havingNotNull
havingNull
havingRaw
havingWrapped
hintComment
innerJoin
intersect
into
optionalisTransaction
join
joinRaw
jsonExtract
jsonInsert
jsonRemove
jsonSet
leftJoin
leftOuterJoin
max
migrate
min
orHaving
orHavingBetween
orHavingNotBetween
orHavingNotIn
orHavingRaw
orWhere
orWhereBetween
orWhereExists
orWhereILike
orWhereIn
orWhereJsonNotSubsetOf
orWhereJsonNotSupersetOf
orWhereJsonObject
orWhereJsonPath
orWhereJsonSubsetOf
orWhereJsonSupersetOf
orWhereLike
orWhereNot
orWhereNotBetween
orWhereNotExists
orWhereNotIn
orWhereNotJsonObject
orWhereNotNull
orWhereNull
orWhereRaw
orderBy
orderByRaw
outerJoin
partitionBy
rank
raw
ref
rightJoin
rightOuterJoin
rowNumber
schema
seed
select
sum
sumDistinct
table
union
unionAll
updateFrom
userParams
using
where
whereBetween
whereExists
whereILike
whereIn
whereJsonNotSubsetOf
whereJsonNotSupersetOf
whereJsonObject
whereJsonPath
whereJsonSubsetOf
whereJsonSupersetOf
whereLike
whereNot
whereNotBetween
whereNotExists
whereNotIn
whereNotJsonObject
whereNotNull
whereNull
whereRaw
whereWrapped
with
withMaterialized
withNotMaterialized
withRaw
withRecursive
withSchema
withWrapped
Methods
optional[captureRejectionSymbol]
Parameters
error: Error
event: string
rest...args: any[]
Returns void
addListener
Parameters
eventName: string | symbol
listener: (...args: any[]) => void
Returns Knex<TRecord, TResult>
batchInsert
Type parameters
- TRecord2: {} = TRecord
- TResult2 = number[]
Parameters
tableName: TableDescriptor
data: TRecord2 extends CompositeTableType<unknown, unknown, Partial<unknown>, Partial<unknown>> ? readonly ResolveTableType<TRecord2, insert>[] : readonly DbRecordArr<TRecord2>[]
optionalchunkSize: number
Returns BatchInsertBuilder<TRecord2, TResult2>
clear
Parameters
statement: ClearStatements
Returns QueryBuilder<TRecord, TResult>
clearCounters
Returns QueryBuilder<TRecord, TResult>
clearGroup
Returns QueryBuilder<TRecord, TResult>
clearHaving
Returns QueryBuilder<TRecord, TResult>
clearOrder
Returns QueryBuilder<TRecord, TResult>
clearSelect
Returns QueryBuilder<TRecord, UnwrapArrayMember<TResult> extends DeferredKeySelection<TBase, TKeys, true, any, any, any, any> ? DeferredKeySelection<TBase, never, false, {}, false, {}, never>[] : TResult>
clearWhere
Returns QueryBuilder<TRecord, TResult>
decrement
Parameters
columnName: keyof TRecord
optionalamount: number
Returns QueryBuilder<TRecord, number>
del
Parameters
returning: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
delete
Parameters
returning: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
destroy
Parameters
callback: Function
Returns void
emit
Synchronously calls each of the listeners registered for the event named
eventName
, in the order they were registered, passing the supplied arguments to each.Returns
true
if the event had listeners,false
otherwise.import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();
// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listenerParameters
eventName: string | symbol
rest...args: any[]
Returns boolean
eventNames
Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or
Symbol
s.import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});
const sym = Symbol('symbol');
myEE.on(sym, () => {});
console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]Returns (string | symbol)[]
getMaxListeners
Returns the current max listener value for the
EventEmitter
which is either set byemitter.setMaxListeners(n)
or defaults to defaultMaxListeners.Returns number
increment
Parameters
columnName: keyof TRecord
optionalamount: number
Returns QueryBuilder<TRecord, number>
initialize
Parameters
optionalconfig: Config<any>
Returns void
insert
Parameters
data: TRecord extends CompositeTableType<unknown, unknown, Partial<unknown>, Partial<unknown>> ? ResolveTableType<TRecord, insert> | readonly ResolveTableType<TRecord, insert>[] : DbRecordArr<TRecord> | readonly DbRecordArr<TRecord>[]
returning: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
limit
Parameters
limit: number
optionaloptions: string | Readonly<{ skipBinding?: boolean }>
Returns QueryBuilder<TRecord, TResult>
listenerCount
Returns the number of listeners listening for the event named
eventName
. Iflistener
is provided, it will return how many times the listener is found in the list of the listeners of the event.Parameters
eventName: string | symbol
The name of the event being listened for
optionallistener: Function
The event handler function
Returns number
listeners
Returns a copy of the array of listeners for the event named
eventName
.server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]Parameters
eventName: string | symbol
Returns Function[]
modify
Type parameters
- TRecord2: {} = any
- TResult2: {} = any
Parameters
callback: QueryCallbackWithArgs<TRecord, any>
rest...args: any[]
Returns QueryBuilder<TRecord2, TResult2>
off
Alias for
emitter.removeListener()
.Parameters
eventName: string | symbol
listener: (...args: any[]) => void
Returns Knex<TRecord, TResult>
offset
Parameters
offset: number
optionaloptions: boolean | Readonly<{ skipBinding?: boolean }>
Returns QueryBuilder<TRecord, TResult>
on
Adds the
listener
function to the end of the listeners array for the event namedeventName
. No checks are made to see if thelistener
has already been added. Multiple calls passing the same combination ofeventName
andlistener
will result in thelistener
being added, and called, multiple times.server.on('connection', (stream) => {
console.log('someone connected!');
});Returns a reference to the
EventEmitter
, so that calls can be chained.By default, event listeners are invoked in the order they are added. The
emitter.prependListener()
method can be used as an alternative to add the event listener to the beginning of the listeners array.import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// aParameters
eventName: string | symbol
The name of the event.
listener: (...args: any[]) => void
The callback function
Returns Knex<TRecord, TResult>
onConflict
Type parameters
- TKey: string
Parameters
column: TKey
Returns OnConflictQueryBuilder<TRecord, TResult>
once
Adds a one-time
listener
function for the event namedeventName
. The next timeeventName
is triggered, this listener is removed and then invoked.server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});Returns a reference to the
EventEmitter
, so that calls can be chained.By default, event listeners are invoked in the order they are added. The
emitter.prependOnceListener()
method can be used as an alternative to add the event listener to the beginning of the listeners array.import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// aParameters
eventName: string | symbol
The name of the event.
listener: (...args: any[]) => void
The callback function
Returns Knex<TRecord, TResult>
pluck
Type parameters
- K: string | number | symbol
Parameters
column: K
Returns QueryBuilder<TRecord, TRecord[K][]>
prependListener
Adds the
listener
function to the beginning of the listeners array for the event namedeventName
. No checks are made to see if thelistener
has already been added. Multiple calls passing the same combination ofeventName
andlistener
will result in thelistener
being added, and called, multiple times.server.prependListener('connection', (stream) => {
console.log('someone connected!');
});Returns a reference to the
EventEmitter
, so that calls can be chained.Parameters
eventName: string | symbol
The name of the event.
listener: (...args: any[]) => void
The callback function
Returns Knex<TRecord, TResult>
prependOnceListener
Adds a one-time
listener
function for the event namedeventName
to the beginning of the listeners array. The next timeeventName
is triggered, this listener is removed, and then invoked.server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});Returns a reference to the
EventEmitter
, so that calls can be chained.Parameters
eventName: string | symbol
The name of the event.
listener: (...args: any[]) => void
The callback function
Returns Knex<TRecord, TResult>
queryBuilder
Type parameters
- TRecord2: {} = TRecord
- TResult2 = TResult
Returns QueryBuilder<TRecord2, TResult2>
rawListeners
Returns a copy of the array of listeners for the event named
eventName
, including any wrappers (such as those created by.once()
).import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));
// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();
// Logs "log once" to the console and removes the listener
logFnWrapper();
emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');
// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log');Parameters
eventName: string | symbol
Returns Function[]
removeAllListeners
Removes all listeners, or those of the specified
eventName
.It is bad practice to remove listeners added elsewhere in the code, particularly when the
EventEmitter
instance was created by some other component or module (e.g. sockets or file streams).Returns a reference to the
EventEmitter
, so that calls can be chained.Parameters
optionalevent: string | symbol
Returns Knex<TRecord, TResult>
removeListener
Removes the specified
listener
from the listener array for the event namedeventName
.const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);removeListener()
will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specifiedeventName
, thenremoveListener()
must be called multiple times to remove each instance.Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that any
removeListener()
orremoveAllListeners()
calls after emitting and before the last listener finishes execution will not remove them fromemit()
in progress. Subsequent events behave as expected.import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// ABecause listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, but it means that any copies of the listener array as returned by the
emitter.listeners()
method will need to be recreated.When a single function has been added as a handler multiple times for a single event (as in the example below),
removeListener()
will remove the most recently added instance. In the example theonce('ping')
listener is removed:import { EventEmitter } from 'node:events';
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');Returns a reference to the
EventEmitter
, so that calls can be chained.Parameters
eventName: string | symbol
listener: (...args: any[]) => void
Returns Knex<TRecord, TResult>
returning
Parameters
column: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
setMaxListeners
By default
EventEmitter
s will print a warning if more than10
listeners are added for a particular event. This is a useful default that helps finding memory leaks. Theemitter.setMaxListeners()
method allows the limit to be modified for this specificEventEmitter
instance. The value can be set toInfinity
(or0
) to indicate an unlimited number of listeners.Returns a reference to the
EventEmitter
, so that calls can be chained.Parameters
n: number
Returns Knex<TRecord, TResult>
transaction
Parameters
optionalconfig: TransactionConfig
Returns Promise<Transaction<any, any[]>>
transactionProvider
Parameters
optionalconfig: TransactionConfig
Returns TransactionProvider
truncate
Returns QueryBuilder<TRecord, void>
update
Type parameters
- K1: string
- K2: string
- TResult2 = AddAliases<AddKey<SetBase<UnwrapArrayMember<TResult>, ResolveTableType<TRecord, base>>, K2>, {}>[]
Parameters
columnName: K1
value: DbColumn<ResolveTableType<TRecord, update>[K1]>
returning: K2
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, TResult2>
upsert
Parameters
data: TRecord extends CompositeTableType<unknown, unknown, Partial<unknown>, Partial<unknown>> ? ResolveTableType<TRecord, upsert> | readonly ResolveTableType<TRecord, upsert>[] : DbRecordArr<TRecord> | readonly DbRecordArr<TRecord>[]
returning: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
withUserParams
Parameters
params: Record<string, any>
Returns Knex<any, any[]>
Alias for
emitter.on(eventName, listener)
.v0.1.26