workers-qb 1.8.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/index.d.mts +28 -14
- package/dist/index.d.ts +28 -14
- package/dist/index.js +21 -6
- package/dist/index.mjs +21 -6
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -28,6 +28,7 @@ Currently, 3 databases are supported:
|
|
|
28
28
|
- [x] [Modular selects](https://workers-qb.massadas.com/modular-selects/) (qb.select(...).where(...).where(...).one())
|
|
29
29
|
- [x] [On Conflict for Inserts and Updates](https://workers-qb.massadas.com/advanced-queries/onConflict/)
|
|
30
30
|
- [x] [Upsert](https://workers-qb.massadas.com/advanced-queries/upsert/)
|
|
31
|
+
- [x] Lazy Load Rows
|
|
31
32
|
|
|
32
33
|
## Installation
|
|
33
34
|
|
package/dist/index.d.mts
CHANGED
|
@@ -95,8 +95,9 @@ type RawQueryFetchAll = Omit<RawQuery, 'fetchType'> & {
|
|
|
95
95
|
fetchType: FetchTypes.ALL;
|
|
96
96
|
};
|
|
97
97
|
type RawQueryWithoutFetching = Omit<RawQuery, 'fetchType'>;
|
|
98
|
-
type SelectAll = SelectOne & {
|
|
98
|
+
type SelectAll<IsLazy extends true | undefined = undefined> = SelectOne & {
|
|
99
99
|
limit?: number;
|
|
100
|
+
lazy?: IsLazy;
|
|
100
101
|
};
|
|
101
102
|
type ConflictUpsert = {
|
|
102
103
|
column: string | Array<string>;
|
|
@@ -165,9 +166,17 @@ type PGResult = {
|
|
|
165
166
|
lastRowId?: string | number;
|
|
166
167
|
rowCount: number;
|
|
167
168
|
};
|
|
168
|
-
type
|
|
169
|
+
type IterableResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends true | undefined = undefined> = IsLazy extends true ? IsAsync extends true ? Promise<Merge<ResultWrapper, {
|
|
170
|
+
results?: AsyncIterable<Result>;
|
|
171
|
+
}>> : Merge<ResultWrapper, {
|
|
172
|
+
results?: Iterable<Result>;
|
|
173
|
+
}> : never;
|
|
174
|
+
type FullArrayResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends true | undefined = undefined> = IsLazy extends undefined ? IsAsync extends true ? Promise<Merge<ResultWrapper, {
|
|
169
175
|
results?: Array<Result>;
|
|
170
|
-
}
|
|
176
|
+
}>> : Merge<ResultWrapper, {
|
|
177
|
+
results?: Array<Result>;
|
|
178
|
+
}> : never;
|
|
179
|
+
type ArrayResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends true | undefined = undefined> = IterableResult<ResultWrapper, Result, IsAsync, IsLazy> | FullArrayResult<ResultWrapper, Result, IsAsync, IsLazy>;
|
|
171
180
|
type OneResult<ResultWrapper, Result> = Merge<ResultWrapper, {
|
|
172
181
|
results?: Result;
|
|
173
182
|
}>;
|
|
@@ -182,6 +191,9 @@ declare function defaultLogger(query: RawQuery, meta: QueryLoggerMeta): any;
|
|
|
182
191
|
declare function asyncLoggerWrapper<Async extends boolean = true>(query: Query<any, Async> | Query<any, Async>[], loggerFunction: CallableFunction | undefined, innerFunction: () => any): Promise<any>;
|
|
183
192
|
declare function syncLoggerWrapper<Async extends boolean = false>(query: Query<any, Async> | Query<any, Async>[], loggerFunction: CallableFunction | undefined, innerFunction: () => any): any;
|
|
184
193
|
|
|
194
|
+
interface SelectExecuteOptions<IsLazy extends true | undefined> {
|
|
195
|
+
lazy?: IsLazy;
|
|
196
|
+
}
|
|
185
197
|
declare class SelectBuilder<GenericResultWrapper, GenericResult = DefaultReturnObject, IsAsync extends boolean = true> {
|
|
186
198
|
_debugger: boolean;
|
|
187
199
|
_options: Partial<SelectAll>;
|
|
@@ -200,10 +212,10 @@ declare class SelectBuilder<GenericResultWrapper, GenericResult = DefaultReturnO
|
|
|
200
212
|
offset(offset: SelectAll['offset']): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
|
|
201
213
|
limit(limit: SelectAll['limit']): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
|
|
202
214
|
_parseArray(fieldName: string, option: any, value: any): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
|
|
203
|
-
getQueryAll(): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
215
|
+
getQueryAll<IsLazy extends true | undefined = undefined>(options?: SelectExecuteOptions<IsLazy>): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>, IsAsync>;
|
|
204
216
|
getQueryOne(): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
205
|
-
execute():
|
|
206
|
-
all():
|
|
217
|
+
execute<IsLazy extends true | undefined = undefined>(options?: SelectExecuteOptions<IsLazy>): ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>;
|
|
218
|
+
all<IsLazy extends true | undefined = undefined>(options?: SelectExecuteOptions<IsLazy>): ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>;
|
|
207
219
|
one(): MaybeAsync<IsAsync, OneResult<GenericResultWrapper, GenericResult>>;
|
|
208
220
|
count(): MaybeAsync<IsAsync, CountResult<GenericResultWrapper>>;
|
|
209
221
|
}
|
|
@@ -215,27 +227,28 @@ declare class QueryBuilder<GenericResultWrapper, IsAsync extends boolean = true>
|
|
|
215
227
|
setDebugger(state: boolean): void;
|
|
216
228
|
execute(query: Query<any, IsAsync>): MaybeAsync<IsAsync, any>;
|
|
217
229
|
batchExecute(queryArray: Query<any, IsAsync>[]): MaybeAsync<IsAsync, any[]>;
|
|
230
|
+
lazyExecute(query: Query<any, IsAsync>): IsAsync extends true ? Promise<AsyncIterable<any>> : Iterable<any>;
|
|
218
231
|
createTable<GenericResult = undefined>(params: {
|
|
219
232
|
tableName: string;
|
|
220
233
|
schema: string;
|
|
221
234
|
ifNotExists?: boolean;
|
|
222
|
-
}): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
235
|
+
}): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
223
236
|
dropTable<GenericResult = undefined>(params: {
|
|
224
237
|
tableName: string;
|
|
225
238
|
ifExists?: boolean;
|
|
226
|
-
}): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
239
|
+
}): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
227
240
|
select<GenericResult = DefaultReturnObject>(tableName: string): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
|
|
228
241
|
fetchOne<GenericResult = DefaultReturnObject>(params: SelectOne): QueryWithExtra<GenericResultWrapper, OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
229
|
-
fetchAll<GenericResult = DefaultReturnObject>(params: SelectAll): QueryWithExtra<GenericResultWrapper, ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
242
|
+
fetchAll<GenericResult = DefaultReturnObject, IsLazy extends true | undefined = undefined>(params: SelectAll<IsLazy>): QueryWithExtra<GenericResultWrapper, ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>, IsAsync>;
|
|
230
243
|
raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchOne): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
231
|
-
raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchAll): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
244
|
+
raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchAll): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
232
245
|
raw<GenericResult = DefaultReturnObject>(params: RawQueryWithoutFetching): Query<GenericResultWrapper, IsAsync>;
|
|
233
246
|
insert<GenericResult = DefaultReturnObject>(params: InsertOne): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
234
|
-
insert<GenericResult = DefaultReturnObject>(params: InsertMultiple): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
247
|
+
insert<GenericResult = DefaultReturnObject>(params: InsertMultiple): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
235
248
|
insert<GenericResult = DefaultReturnObject>(params: InsertWithoutReturning): Query<GenericResultWrapper, IsAsync>;
|
|
236
|
-
update<GenericResult = DefaultReturnObject>(params: UpdateReturning): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
249
|
+
update<GenericResult = DefaultReturnObject>(params: UpdateReturning): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
237
250
|
update<GenericResult = DefaultReturnObject>(params: UpdateWithoutReturning): Query<GenericResultWrapper, IsAsync>;
|
|
238
|
-
delete<GenericResult = DefaultReturnObject>(params: DeleteReturning): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
251
|
+
delete<GenericResult = DefaultReturnObject>(params: DeleteReturning): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
239
252
|
delete<GenericResult = DefaultReturnObject>(params: DeleteWithoutReturning): Query<GenericResultWrapper, IsAsync>;
|
|
240
253
|
protected _parse_arguments(row: DefaultObject): Array<any>;
|
|
241
254
|
protected _onConflict(resolution?: string | ConflictTypes | ConflictUpsert): string;
|
|
@@ -312,6 +325,7 @@ declare class DOQB extends QueryBuilder<{}, false> {
|
|
|
312
325
|
constructor(db: any, options?: QueryBuilderOptions<false>);
|
|
313
326
|
migrations(options: MigrationOptions): syncMigrationsBuilder<{}>;
|
|
314
327
|
execute(query: Query<any, false>): any;
|
|
328
|
+
lazyExecute(query: Query<any, false>): Iterable<any>;
|
|
315
329
|
}
|
|
316
330
|
|
|
317
|
-
export { type ArrayResult, type AsyncType, ConflictTypes, type ConflictUpsert, type CountResult, type D1Meta, D1QB, type D1Result, DOQB, type DefaultObject, type DefaultReturnObject, type Delete, type DeleteReturning, type DeleteWithoutReturning, FetchTypes, type Insert, type InsertMultiple, type InsertOne, type InsertWithoutReturning, type Join, JoinTypes, type MaybeAsync, type Migration, type MigrationEntry, type MigrationOptions, type OneResult, OrderTypes, PGQB, type PGResult, type Primitive, Query, QueryBuilder, type QueryBuilderOptions, type QueryLoggerMeta, QueryWithExtra, Raw, type RawQuery, type RawQueryFetchAll, type RawQueryFetchOne, type RawQueryWithoutFetching, type SelectAll, type SelectOne, type SyncType, type Update, type UpdateReturning, type UpdateWithoutReturning, type Where, asyncLoggerWrapper, asyncMigrationsBuilder, defaultLogger, syncLoggerWrapper, syncMigrationsBuilder, type test, trimQuery };
|
|
331
|
+
export { type ArrayResult, type AsyncType, ConflictTypes, type ConflictUpsert, type CountResult, type D1Meta, D1QB, type D1Result, DOQB, type DefaultObject, type DefaultReturnObject, type Delete, type DeleteReturning, type DeleteWithoutReturning, FetchTypes, type FullArrayResult, type Insert, type InsertMultiple, type InsertOne, type InsertWithoutReturning, type IterableResult, type Join, JoinTypes, type MaybeAsync, type Migration, type MigrationEntry, type MigrationOptions, type OneResult, OrderTypes, PGQB, type PGResult, type Primitive, Query, QueryBuilder, type QueryBuilderOptions, type QueryLoggerMeta, QueryWithExtra, Raw, type RawQuery, type RawQueryFetchAll, type RawQueryFetchOne, type RawQueryWithoutFetching, type SelectAll, type SelectOne, type SyncType, type Update, type UpdateReturning, type UpdateWithoutReturning, type Where, asyncLoggerWrapper, asyncMigrationsBuilder, defaultLogger, syncLoggerWrapper, syncMigrationsBuilder, type test, trimQuery };
|
package/dist/index.d.ts
CHANGED
|
@@ -95,8 +95,9 @@ type RawQueryFetchAll = Omit<RawQuery, 'fetchType'> & {
|
|
|
95
95
|
fetchType: FetchTypes.ALL;
|
|
96
96
|
};
|
|
97
97
|
type RawQueryWithoutFetching = Omit<RawQuery, 'fetchType'>;
|
|
98
|
-
type SelectAll = SelectOne & {
|
|
98
|
+
type SelectAll<IsLazy extends true | undefined = undefined> = SelectOne & {
|
|
99
99
|
limit?: number;
|
|
100
|
+
lazy?: IsLazy;
|
|
100
101
|
};
|
|
101
102
|
type ConflictUpsert = {
|
|
102
103
|
column: string | Array<string>;
|
|
@@ -165,9 +166,17 @@ type PGResult = {
|
|
|
165
166
|
lastRowId?: string | number;
|
|
166
167
|
rowCount: number;
|
|
167
168
|
};
|
|
168
|
-
type
|
|
169
|
+
type IterableResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends true | undefined = undefined> = IsLazy extends true ? IsAsync extends true ? Promise<Merge<ResultWrapper, {
|
|
170
|
+
results?: AsyncIterable<Result>;
|
|
171
|
+
}>> : Merge<ResultWrapper, {
|
|
172
|
+
results?: Iterable<Result>;
|
|
173
|
+
}> : never;
|
|
174
|
+
type FullArrayResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends true | undefined = undefined> = IsLazy extends undefined ? IsAsync extends true ? Promise<Merge<ResultWrapper, {
|
|
169
175
|
results?: Array<Result>;
|
|
170
|
-
}
|
|
176
|
+
}>> : Merge<ResultWrapper, {
|
|
177
|
+
results?: Array<Result>;
|
|
178
|
+
}> : never;
|
|
179
|
+
type ArrayResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends true | undefined = undefined> = IterableResult<ResultWrapper, Result, IsAsync, IsLazy> | FullArrayResult<ResultWrapper, Result, IsAsync, IsLazy>;
|
|
171
180
|
type OneResult<ResultWrapper, Result> = Merge<ResultWrapper, {
|
|
172
181
|
results?: Result;
|
|
173
182
|
}>;
|
|
@@ -182,6 +191,9 @@ declare function defaultLogger(query: RawQuery, meta: QueryLoggerMeta): any;
|
|
|
182
191
|
declare function asyncLoggerWrapper<Async extends boolean = true>(query: Query<any, Async> | Query<any, Async>[], loggerFunction: CallableFunction | undefined, innerFunction: () => any): Promise<any>;
|
|
183
192
|
declare function syncLoggerWrapper<Async extends boolean = false>(query: Query<any, Async> | Query<any, Async>[], loggerFunction: CallableFunction | undefined, innerFunction: () => any): any;
|
|
184
193
|
|
|
194
|
+
interface SelectExecuteOptions<IsLazy extends true | undefined> {
|
|
195
|
+
lazy?: IsLazy;
|
|
196
|
+
}
|
|
185
197
|
declare class SelectBuilder<GenericResultWrapper, GenericResult = DefaultReturnObject, IsAsync extends boolean = true> {
|
|
186
198
|
_debugger: boolean;
|
|
187
199
|
_options: Partial<SelectAll>;
|
|
@@ -200,10 +212,10 @@ declare class SelectBuilder<GenericResultWrapper, GenericResult = DefaultReturnO
|
|
|
200
212
|
offset(offset: SelectAll['offset']): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
|
|
201
213
|
limit(limit: SelectAll['limit']): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
|
|
202
214
|
_parseArray(fieldName: string, option: any, value: any): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
|
|
203
|
-
getQueryAll(): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
215
|
+
getQueryAll<IsLazy extends true | undefined = undefined>(options?: SelectExecuteOptions<IsLazy>): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>, IsAsync>;
|
|
204
216
|
getQueryOne(): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
205
|
-
execute():
|
|
206
|
-
all():
|
|
217
|
+
execute<IsLazy extends true | undefined = undefined>(options?: SelectExecuteOptions<IsLazy>): ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>;
|
|
218
|
+
all<IsLazy extends true | undefined = undefined>(options?: SelectExecuteOptions<IsLazy>): ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>;
|
|
207
219
|
one(): MaybeAsync<IsAsync, OneResult<GenericResultWrapper, GenericResult>>;
|
|
208
220
|
count(): MaybeAsync<IsAsync, CountResult<GenericResultWrapper>>;
|
|
209
221
|
}
|
|
@@ -215,27 +227,28 @@ declare class QueryBuilder<GenericResultWrapper, IsAsync extends boolean = true>
|
|
|
215
227
|
setDebugger(state: boolean): void;
|
|
216
228
|
execute(query: Query<any, IsAsync>): MaybeAsync<IsAsync, any>;
|
|
217
229
|
batchExecute(queryArray: Query<any, IsAsync>[]): MaybeAsync<IsAsync, any[]>;
|
|
230
|
+
lazyExecute(query: Query<any, IsAsync>): IsAsync extends true ? Promise<AsyncIterable<any>> : Iterable<any>;
|
|
218
231
|
createTable<GenericResult = undefined>(params: {
|
|
219
232
|
tableName: string;
|
|
220
233
|
schema: string;
|
|
221
234
|
ifNotExists?: boolean;
|
|
222
|
-
}): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
235
|
+
}): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
223
236
|
dropTable<GenericResult = undefined>(params: {
|
|
224
237
|
tableName: string;
|
|
225
238
|
ifExists?: boolean;
|
|
226
|
-
}): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
239
|
+
}): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
227
240
|
select<GenericResult = DefaultReturnObject>(tableName: string): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
|
|
228
241
|
fetchOne<GenericResult = DefaultReturnObject>(params: SelectOne): QueryWithExtra<GenericResultWrapper, OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
229
|
-
fetchAll<GenericResult = DefaultReturnObject>(params: SelectAll): QueryWithExtra<GenericResultWrapper, ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
242
|
+
fetchAll<GenericResult = DefaultReturnObject, IsLazy extends true | undefined = undefined>(params: SelectAll<IsLazy>): QueryWithExtra<GenericResultWrapper, ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>, IsAsync>;
|
|
230
243
|
raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchOne): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
231
|
-
raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchAll): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
244
|
+
raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchAll): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
232
245
|
raw<GenericResult = DefaultReturnObject>(params: RawQueryWithoutFetching): Query<GenericResultWrapper, IsAsync>;
|
|
233
246
|
insert<GenericResult = DefaultReturnObject>(params: InsertOne): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
234
|
-
insert<GenericResult = DefaultReturnObject>(params: InsertMultiple): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
247
|
+
insert<GenericResult = DefaultReturnObject>(params: InsertMultiple): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
235
248
|
insert<GenericResult = DefaultReturnObject>(params: InsertWithoutReturning): Query<GenericResultWrapper, IsAsync>;
|
|
236
|
-
update<GenericResult = DefaultReturnObject>(params: UpdateReturning): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
249
|
+
update<GenericResult = DefaultReturnObject>(params: UpdateReturning): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
237
250
|
update<GenericResult = DefaultReturnObject>(params: UpdateWithoutReturning): Query<GenericResultWrapper, IsAsync>;
|
|
238
|
-
delete<GenericResult = DefaultReturnObject>(params: DeleteReturning): Query<ArrayResult<GenericResultWrapper, GenericResult>, IsAsync>;
|
|
251
|
+
delete<GenericResult = DefaultReturnObject>(params: DeleteReturning): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
|
|
239
252
|
delete<GenericResult = DefaultReturnObject>(params: DeleteWithoutReturning): Query<GenericResultWrapper, IsAsync>;
|
|
240
253
|
protected _parse_arguments(row: DefaultObject): Array<any>;
|
|
241
254
|
protected _onConflict(resolution?: string | ConflictTypes | ConflictUpsert): string;
|
|
@@ -312,6 +325,7 @@ declare class DOQB extends QueryBuilder<{}, false> {
|
|
|
312
325
|
constructor(db: any, options?: QueryBuilderOptions<false>);
|
|
313
326
|
migrations(options: MigrationOptions): syncMigrationsBuilder<{}>;
|
|
314
327
|
execute(query: Query<any, false>): any;
|
|
328
|
+
lazyExecute(query: Query<any, false>): Iterable<any>;
|
|
315
329
|
}
|
|
316
330
|
|
|
317
|
-
export { type ArrayResult, type AsyncType, ConflictTypes, type ConflictUpsert, type CountResult, type D1Meta, D1QB, type D1Result, DOQB, type DefaultObject, type DefaultReturnObject, type Delete, type DeleteReturning, type DeleteWithoutReturning, FetchTypes, type Insert, type InsertMultiple, type InsertOne, type InsertWithoutReturning, type Join, JoinTypes, type MaybeAsync, type Migration, type MigrationEntry, type MigrationOptions, type OneResult, OrderTypes, PGQB, type PGResult, type Primitive, Query, QueryBuilder, type QueryBuilderOptions, type QueryLoggerMeta, QueryWithExtra, Raw, type RawQuery, type RawQueryFetchAll, type RawQueryFetchOne, type RawQueryWithoutFetching, type SelectAll, type SelectOne, type SyncType, type Update, type UpdateReturning, type UpdateWithoutReturning, type Where, asyncLoggerWrapper, asyncMigrationsBuilder, defaultLogger, syncLoggerWrapper, syncMigrationsBuilder, type test, trimQuery };
|
|
331
|
+
export { type ArrayResult, type AsyncType, ConflictTypes, type ConflictUpsert, type CountResult, type D1Meta, D1QB, type D1Result, DOQB, type DefaultObject, type DefaultReturnObject, type Delete, type DeleteReturning, type DeleteWithoutReturning, FetchTypes, type FullArrayResult, type Insert, type InsertMultiple, type InsertOne, type InsertWithoutReturning, type IterableResult, type Join, JoinTypes, type MaybeAsync, type Migration, type MigrationEntry, type MigrationOptions, type OneResult, OrderTypes, PGQB, type PGResult, type Primitive, Query, QueryBuilder, type QueryBuilderOptions, type QueryLoggerMeta, QueryWithExtra, Raw, type RawQuery, type RawQueryFetchAll, type RawQueryFetchOne, type RawQueryWithoutFetching, type SelectAll, type SelectOne, type SyncType, type Update, type UpdateReturning, type UpdateWithoutReturning, type Where, asyncLoggerWrapper, asyncMigrationsBuilder, defaultLogger, syncLoggerWrapper, syncMigrationsBuilder, type test, trimQuery };
|
package/dist/index.js
CHANGED
|
@@ -257,16 +257,16 @@ var SelectBuilder = class _SelectBuilder {
|
|
|
257
257
|
this._fetchOne
|
|
258
258
|
);
|
|
259
259
|
}
|
|
260
|
-
getQueryAll() {
|
|
260
|
+
getQueryAll(options) {
|
|
261
261
|
return this._fetchAll(this._options);
|
|
262
262
|
}
|
|
263
263
|
getQueryOne() {
|
|
264
264
|
return this._fetchOne(this._options);
|
|
265
265
|
}
|
|
266
|
-
execute() {
|
|
266
|
+
execute(options) {
|
|
267
267
|
return this._fetchAll(this._options).execute();
|
|
268
268
|
}
|
|
269
|
-
all() {
|
|
269
|
+
all(options) {
|
|
270
270
|
return this._fetchAll(this._options).execute();
|
|
271
271
|
}
|
|
272
272
|
one() {
|
|
@@ -346,6 +346,9 @@ var QueryBuilder = class {
|
|
|
346
346
|
batchExecute(queryArray) {
|
|
347
347
|
throw new Error("Batch execute method not implemented");
|
|
348
348
|
}
|
|
349
|
+
lazyExecute(query) {
|
|
350
|
+
throw new Error("Execute lazyExecute not implemented");
|
|
351
|
+
}
|
|
349
352
|
createTable(params) {
|
|
350
353
|
return new Query(
|
|
351
354
|
(q) => {
|
|
@@ -396,15 +399,16 @@ var QueryBuilder = class {
|
|
|
396
399
|
fetchAll(params) {
|
|
397
400
|
return new QueryWithExtra(
|
|
398
401
|
(q) => {
|
|
399
|
-
return this.execute(q);
|
|
402
|
+
return params.lazy ? this.lazyExecute(q) : this.execute(q);
|
|
400
403
|
},
|
|
401
|
-
this._select(params),
|
|
404
|
+
this._select({ ...params, lazy: void 0 }),
|
|
402
405
|
this._select({
|
|
403
406
|
...params,
|
|
404
407
|
fields: "count(*) as total",
|
|
405
408
|
offset: void 0,
|
|
406
409
|
groupBy: void 0,
|
|
407
|
-
limit: 1
|
|
410
|
+
limit: 1,
|
|
411
|
+
lazy: void 0
|
|
408
412
|
}),
|
|
409
413
|
typeof params.where === "object" && !Array.isArray(params.where) && params.where?.params ? Array.isArray(params.where?.params) ? params.where?.params : [params.where?.params] : void 0,
|
|
410
414
|
"ALL" /* ALL */
|
|
@@ -899,6 +903,17 @@ var DOQB = class extends QueryBuilder {
|
|
|
899
903
|
};
|
|
900
904
|
});
|
|
901
905
|
}
|
|
906
|
+
lazyExecute(query) {
|
|
907
|
+
return this.loggerWrapper(query, this.options.logger, () => {
|
|
908
|
+
let cursor;
|
|
909
|
+
if (query.arguments) {
|
|
910
|
+
cursor = this.db.exec(query.query, ...query.arguments);
|
|
911
|
+
} else {
|
|
912
|
+
cursor = this.db.exec(query.query);
|
|
913
|
+
}
|
|
914
|
+
return cursor;
|
|
915
|
+
});
|
|
916
|
+
}
|
|
902
917
|
};
|
|
903
918
|
// Annotate the CommonJS export names for ESM import in node:
|
|
904
919
|
0 && (module.exports = {
|
package/dist/index.mjs
CHANGED
|
@@ -215,16 +215,16 @@ var SelectBuilder = class _SelectBuilder {
|
|
|
215
215
|
this._fetchOne
|
|
216
216
|
);
|
|
217
217
|
}
|
|
218
|
-
getQueryAll() {
|
|
218
|
+
getQueryAll(options) {
|
|
219
219
|
return this._fetchAll(this._options);
|
|
220
220
|
}
|
|
221
221
|
getQueryOne() {
|
|
222
222
|
return this._fetchOne(this._options);
|
|
223
223
|
}
|
|
224
|
-
execute() {
|
|
224
|
+
execute(options) {
|
|
225
225
|
return this._fetchAll(this._options).execute();
|
|
226
226
|
}
|
|
227
|
-
all() {
|
|
227
|
+
all(options) {
|
|
228
228
|
return this._fetchAll(this._options).execute();
|
|
229
229
|
}
|
|
230
230
|
one() {
|
|
@@ -304,6 +304,9 @@ var QueryBuilder = class {
|
|
|
304
304
|
batchExecute(queryArray) {
|
|
305
305
|
throw new Error("Batch execute method not implemented");
|
|
306
306
|
}
|
|
307
|
+
lazyExecute(query) {
|
|
308
|
+
throw new Error("Execute lazyExecute not implemented");
|
|
309
|
+
}
|
|
307
310
|
createTable(params) {
|
|
308
311
|
return new Query(
|
|
309
312
|
(q) => {
|
|
@@ -354,15 +357,16 @@ var QueryBuilder = class {
|
|
|
354
357
|
fetchAll(params) {
|
|
355
358
|
return new QueryWithExtra(
|
|
356
359
|
(q) => {
|
|
357
|
-
return this.execute(q);
|
|
360
|
+
return params.lazy ? this.lazyExecute(q) : this.execute(q);
|
|
358
361
|
},
|
|
359
|
-
this._select(params),
|
|
362
|
+
this._select({ ...params, lazy: void 0 }),
|
|
360
363
|
this._select({
|
|
361
364
|
...params,
|
|
362
365
|
fields: "count(*) as total",
|
|
363
366
|
offset: void 0,
|
|
364
367
|
groupBy: void 0,
|
|
365
|
-
limit: 1
|
|
368
|
+
limit: 1,
|
|
369
|
+
lazy: void 0
|
|
366
370
|
}),
|
|
367
371
|
typeof params.where === "object" && !Array.isArray(params.where) && params.where?.params ? Array.isArray(params.where?.params) ? params.where?.params : [params.where?.params] : void 0,
|
|
368
372
|
"ALL" /* ALL */
|
|
@@ -857,6 +861,17 @@ var DOQB = class extends QueryBuilder {
|
|
|
857
861
|
};
|
|
858
862
|
});
|
|
859
863
|
}
|
|
864
|
+
lazyExecute(query) {
|
|
865
|
+
return this.loggerWrapper(query, this.options.logger, () => {
|
|
866
|
+
let cursor;
|
|
867
|
+
if (query.arguments) {
|
|
868
|
+
cursor = this.db.exec(query.query, ...query.arguments);
|
|
869
|
+
} else {
|
|
870
|
+
cursor = this.db.exec(query.query);
|
|
871
|
+
}
|
|
872
|
+
return cursor;
|
|
873
|
+
});
|
|
874
|
+
}
|
|
860
875
|
};
|
|
861
876
|
export {
|
|
862
877
|
ConflictTypes,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workers-qb",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Zero dependencies Query Builder for Cloudflare Workers",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@biomejs/biome": "1.9.4",
|
|
60
|
-
"@cloudflare/vitest-pool-workers": "^0.
|
|
60
|
+
"@cloudflare/vitest-pool-workers": "^0.6.0",
|
|
61
61
|
"@cloudflare/workers-types": "^4.20241106.0",
|
|
62
62
|
"husky": "^9.1.6",
|
|
63
63
|
"tsup": "^8.3.5",
|