Class: MultipleResultsReader<TOut>
Defined in: src/procedure/MultipleResultsReader.ts:17
Forward-only reader for stored procedures that return multiple tabular result sets (tables).
Modeled after Dapper's GridReader and ADO.NET SqlDataReader.NextResult().
Usecase
Sequentially consume multiple result tables returned by a single stored procedure execution.
Example
const reader = await context.procedure('usp_GetCustomerDashboard')
.input({ CustomerId: 101 })
.reader();
const customer = reader.readFirst<Customer>(); // First row of Table 1
const orders = reader.read<Order>(); // All rows of Table 2
const stats = reader.read<Stat>(); // All rows of Table 3
Type Parameters
| Type Parameter | Default type |
|---|---|
TOut | Record<string, unknown> |
Accessors
tableCount
Get Signature
get tableCount():
number
Defined in: src/procedure/MultipleResultsReader.ts:65
Total number of tables / result sets returned by the procedure.
Returns
number
hasMore
Get Signature
get hasMore():
boolean
Defined in: src/procedure/MultipleResultsReader.ts:72
True if there are more unread tables remaining.
Returns
boolean
position
Get Signature
get position():
number
Defined in: src/procedure/MultipleResultsReader.ts:79
The 0-based index of the table that will be read on the next .read() call.
Returns
number
Constructors
Constructor
new MultipleResultsReader<
TOut>(resultSets,outputParams?,returnValue?,rowsAffected?):MultipleResultsReader<TOut>
Defined in: src/procedure/MultipleResultsReader.ts:20
Parameters
| Parameter | Type | Default value |
|---|---|---|
resultSets | unknown[][] | undefined |
outputParams | TOut | ... |
returnValue | number | 0 |
rowsAffected | number | 0 |
Returns
MultipleResultsReader<TOut>
Methods
read()
read<
T>():T[]
Defined in: src/procedure/MultipleResultsReader.ts:34
Reads the next table / record set as typed records.
If no more tables exist, returns an empty array [].
Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
T | unknown | Type representing each row in this table. |
Returns
T[]
Array of typed rows from the current result table.
readFirst()
readFirst<
T>():T|null
Defined in: src/procedure/MultipleResultsReader.ts:48
Reads a single record (the first row) from the next table, or returns null if the table is empty.
Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
T | unknown | Type representing the record. |
Returns
T | null
The first matching record or null.
readAll()
readAll<
T>():T
Defined in: src/procedure/MultipleResultsReader.ts:58
Returns all returned tables as a tuple or array of arrays without consuming the reader.
Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
T extends unknown[] | unknown[] | Tuple of table arrays, e.g. [Customer[], Order[], Stat[]]. |
Returns
T
Properties
outputParams
readonlyoutputParams:TOut
Defined in: src/procedure/MultipleResultsReader.ts:22
returnValue
readonlyreturnValue:number=0
Defined in: src/procedure/MultipleResultsReader.ts:23
rowsAffected
readonlyrowsAffected:number=0
Defined in: src/procedure/MultipleResultsReader.ts:24