Knex <TRecord, TResult>
Hierarchy
- QueryInterface<TRecord, TResult>
- EventEmitter
- Knex
Callable
Parameters
tableName: TTable
optionaloptions: PgTableOptions
Returns QueryBuilder<TableType<TTable>, DeferredKeySelection<ResolveTableType<TableType<TTable>, base>, never, false, {}, false, {}, never>[]>
Index
Properties
- __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
- orderBy
- orderByRaw
- orHaving
- orHavingBetween
- orHavingNotBetween
- orHavingNotIn
- orHavingNotNull
- orHavingNull
- orHavingRaw
- orWhere
- orWhereBetween
- orWhereExists
- orWhereILike
- orWhereIn
- orWhereJsonNotSubsetOf
- orWhereJsonNotSupersetOf
- orWhereJsonObject
- orWhereJsonPath
- orWhereJsonSubsetOf
- orWhereJsonSupersetOf
- orWhereLike
- orWhereNot
- orWhereNotBetween
- orWhereNotExists
- orWhereNotIn
- orWhereNotJsonObject
- orWhereNotNull
- orWhereNull
- orWhereRaw
- outerJoin
- partitionBy
- rank
- raw
- ref
- rightJoin
- rightOuterJoin
- rowNumber
- schema
- seed
- select
- sum
- sumDistinct
- table
- union
- unionAll
- updateFrom
- userParams
- using
- VERSION
- 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
- once
- onConflict
- pluck
- prependListener
- prependOnceListener
- queryBuilder
- rawListeners
- removeAllListeners
- removeListener
- returning
- setMaxListeners
- transaction
- transactionProvider
- truncate
- update
- upsert
- withUserParams
Properties
__knex__
inheritedandHaving
inheritedandHavingNotIn
inheritedandWhere
inheritedandWhereBetween
inheritedandWhereILike
inheritedandWhereJsonNotSubsetOf
inheritedandWhereJsonNotSupersetOf
inheritedandWhereJsonObject
inheritedandWhereJsonPath
inheritedandWhereJsonSubsetOf
inheritedandWhereJsonSupersetOf
inheritedandWhereLike
inheritedandWhereNot
inheritedandWhereNotBetween
inheritedandWhereNotJsonObject
inheritedandWhereRaw
inheritedas
inheritedavg
inheritedavgDistinct
client
inheritedcolumn
inheritedcolumns
inheritedcomment
inheritedcount
inheritedcountDistinct
inheritedcrossJoin
inheriteddenseRank
inheriteddistinct
inheriteddistinctOn
inheritedexcept
inheritedfirst
fn
inheritedfrom
inheritedfromRaw
inheritedfullOuterJoin
inheritedgroupBy
inheritedgroupByRaw
inheritedhaving
inheritedhavingBetween
inheritedhavingIn
inheritedhavingNotBetween
inheritedhavingNotIn
inheritedhavingNotNull
inheritedhavingNull
inheritedhavingRaw
inheritedhavingWrapped
inheritedhintComment
inheritedinnerJoin
inheritedintersect
inheritedinto
optionalisTransaction
inheritedjoin
inheritedjoinRaw
inheritedjsonExtract
inheritedjsonInsert
inheritedjsonRemove
inheritedjsonSet
inheritedleftJoin
inheritedleftOuterJoin
inheritedmax
migrate
inheritedmin
inheritedorderBy
inheritedorderByRaw
inheritedorHaving
inheritedorHavingBetween
inheritedorHavingNotBetween
inheritedorHavingNotIn
inheritedorHavingNotNull
inheritedorHavingNull
inheritedorHavingRaw
inheritedorWhere
inheritedorWhereBetween
inheritedorWhereExists
inheritedorWhereILike
inheritedorWhereIn
inheritedorWhereJsonNotSubsetOf
inheritedorWhereJsonNotSupersetOf
inheritedorWhereJsonObject
inheritedorWhereJsonPath
inheritedorWhereJsonSubsetOf
inheritedorWhereJsonSupersetOf
inheritedorWhereLike
inheritedorWhereNot
inheritedorWhereNotBetween
inheritedorWhereNotExists
inheritedorWhereNotIn
inheritedorWhereNotJsonObject
inheritedorWhereNotNull
inheritedorWhereNull
inheritedorWhereRaw
inheritedouterJoin
inheritedpartitionBy
inheritedrank
raw
ref
inheritedrightJoin
inheritedrightOuterJoin
inheritedrowNumber
schema
seed
inheritedselect
inheritedsum
inheritedsumDistinct
inheritedtable
inheritedunion
inheritedunionAll
inheritedupdateFrom
userParams
inheritedusing
VERSION
inheritedwhere
inheritedwhereBetween
inheritedwhereExists
inheritedwhereILike
inheritedwhereIn
inheritedwhereJsonNotSubsetOf
inheritedwhereJsonNotSupersetOf
inheritedwhereJsonObject
inheritedwhereJsonPath
inheritedwhereJsonSubsetOf
inheritedwhereJsonSupersetOf
inheritedwhereLike
inheritedwhereNot
inheritedwhereNotBetween
inheritedwhereNotExists
inheritedwhereNotIn
inheritedwhereNotJsonObject
inheritedwhereNotNull
inheritedwhereNull
inheritedwhereRaw
inheritedwhereWrapped
inheritedwith
inheritedwithMaterialized
inheritedwithNotMaterialized
inheritedwithRaw
inheritedwithRecursive
inheritedwithSchema
inheritedwithWrapped
Methods
optionalinherited[captureRejectionSymbol]
Parameters
error: Error
event: string | symbol
rest...args: AnyRest
Returns void
inheritedaddListener
Parameters
eventName: string | symbol
listener: (...args: any[]) => void
Returns this
batchInsert
Parameters
tableName: TableDescriptor
data: TRecord2 extends CompositeTableType<unknown, unknown, Partial<unknown>, Partial<unknown>> ? readonly ResolveTableType<TRecord2<TRecord2>, insert>[] : readonly DbRecordArr<TRecord2>[]
optionalchunkSize: number
Returns BatchInsertBuilder<TRecord2, TResult2>
inheritedclear
Parameters
statement: ClearStatements
Returns QueryBuilder<TRecord, TResult>
inheritedclearCounters
Returns QueryBuilder<TRecord, TResult>
inheritedclearGroup
Returns QueryBuilder<TRecord, TResult>
inheritedclearHaving
Returns QueryBuilder<TRecord, TResult>
inheritedclearOrder
Returns QueryBuilder<TRecord, TResult>
inheritedclearSelect
Returns QueryBuilder<TRecord, UnwrapArrayMember<TResult> extends DeferredKeySelection<TBase, TKeys, true, any, any, any, any> ? DeferredKeySelection<TBase, never, false, {}, false, {}, never>[] : TResult>
inheritedclearWhere
Returns QueryBuilder<TRecord, TResult>
inheriteddecrement
Parameters
columnName: keyof TRecord
optionalamount: number
Returns QueryBuilder<TRecord, number>
inheriteddel
Parameters
returning: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
inheriteddelete
Parameters
returning: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
destroy
Parameters
callback: Function
Returns void
inheritedemit
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: AnyRest
Returns boolean
inheritedeventNames
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)[]
inheritedgetMaxListeners
Returns the current max listener value for the
EventEmitter
which is either set byemitter.setMaxListeners(n)
or defaults to defaultMaxListeners.Returns number
inheritedincrement
Parameters
columnName: keyof TRecord
optionalamount: number
Returns QueryBuilder<TRecord, number>
initialize
Parameters
optionalconfig: Config<any>
Returns void
inheritedinsert
Parameters
data: TRecord extends CompositeTableType<unknown, unknown, Partial<unknown>, Partial<unknown>> ? ResolveTableType<TRecord<TRecord>, insert> | readonly ResolveTableType<TRecord<TRecord>, insert>[] : DbRecordArr<TRecord> | readonly DbRecordArr<TRecord>[]
returning: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
inheritedlimit
Parameters
limit: number
optionaloptions: string | Readonly<{ skipBinding?: boolean }>
Returns QueryBuilder<TRecord, TResult>
inheritedlistenerCount
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
inheritedlisteners
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[]
inheritedmodify
Parameters
callback: QueryCallbackWithArgs<TRecord, any>
rest...args: any[]
Returns QueryBuilder<TRecord2, TResult2>
inheritedoff
Alias for
emitter.removeListener()
.Parameters
eventName: string | symbol
listener: (...args: any[]) => void
Returns this
inheritedoffset
Parameters
offset: number
optionaloptions: boolean | Readonly<{ skipBinding?: boolean }>
Returns QueryBuilder<TRecord, TResult>
inheritedon
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 this
inheritedonce
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 this
inheritedonConflict
Parameters
column: TKey
Returns OnConflictQueryBuilder<TRecord, TResult>
inheritedpluck
Parameters
column: K
Returns QueryBuilder<TRecord, TRecord[K][]>
inheritedprependListener
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 this
inheritedprependOnceListener
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 this
queryBuilder
Returns QueryBuilder<TRecord2, TResult2>
inheritedrawListeners
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[]
inheritedremoveAllListeners
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
optionaleventName: string | symbol
Returns this
inheritedremoveListener
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 this
inheritedreturning
Parameters
column: *
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, DeferredKeySelection<TRecord, never, false, {}, false, {}, never>[]>
inheritedsetMaxListeners
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 this
transaction
Parameters
optionalconfig: TransactionConfig
Returns Promise<Transaction<any, any[]>>
transactionProvider
Parameters
optionalconfig: TransactionConfig
Returns TransactionProvider
inheritedtruncate
Returns QueryBuilder<TRecord, void>
inheritedupdate
Parameters
columnName: K1
value: DbColumn<ResolveTableType<TRecord, update>[K1]>
returning: K2
optionaloptions: DMLOptions
Returns QueryBuilder<TRecord, TResult2>
inheritedupsert
Parameters
data: TRecord extends CompositeTableType<unknown, unknown, Partial<unknown>, Partial<unknown>> ? ResolveTableType<TRecord<TRecord>, upsert> | readonly ResolveTableType<TRecord<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