workers-qb 1.10.0 → 1.10.2

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 CHANGED
@@ -1,8 +1,14 @@
1
1
  <div align="center">
2
- <h1>workers-qb</h1>
3
- <p><em>Zero-dependency Query Builder for Cloudflare Workers</em></p>
2
+ <a href="https://workers-qb.massadas.com/">
3
+ <img src="https://raw.githubusercontent.com/G4brym/workers-qb/refs/heads/main/docs/assets/logo.png" width="500" height="auto" alt="workers-qb"/>
4
+ </a>
5
+ </div>
6
+
7
+ <p align="center">
8
+ <em>Zero-dependency Query Builder for Cloudflare Workers</em>
9
+ </p>
4
10
 
5
- <p>
11
+ <p align="center">
6
12
  <a href="https://workers-qb.massadas.com/" target="_blank">
7
13
  <img src="https://img.shields.io/badge/docs-workers--qb-blue.svg" alt="Documentation">
8
14
  </a>
@@ -12,8 +18,7 @@
12
18
  <a href="https://github.com/G4brym/workers-qb/blob/main/LICENSE" target="_blank">
13
19
  <img src="https://img.shields.io/badge/license-MIT-brightgreen.svg" alt="Software License">
14
20
  </a>
15
- </p>
16
- </div>
21
+ </p>
17
22
 
18
23
  ## Overview
19
24
 
@@ -178,7 +183,7 @@ Visit our [comprehensive documentation](https://workers-qb.massadas.com/) for de
178
183
  - [Advanced Queries](https://workers-qb.massadas.com/advanced-queries/)
179
184
  - [Migrations](https://workers-qb.massadas.com/migrations/)
180
185
  - [Type Checking](https://workers-qb.massadas.com/type-check/)
181
- - [Database-specific guides](https://workers-qb.massadas.com/databases/)
186
+ - [Database-specific guides](https://workers-qb.massadas.com/databases/d1)
182
187
 
183
188
  ## Contributing
184
189
 
package/dist/index.d.mts CHANGED
@@ -95,9 +95,9 @@ type RawQueryFetchAll = Omit<RawQuery, 'fetchType'> & {
95
95
  fetchType: FetchTypes.ALL;
96
96
  };
97
97
  type RawQueryWithoutFetching = Omit<RawQuery, 'fetchType'>;
98
- type SelectAll<IsLazy extends true | undefined = undefined> = SelectOne & {
98
+ type SelectAll = SelectOne & {
99
99
  limit?: number;
100
- lazy?: IsLazy;
100
+ lazy?: boolean;
101
101
  };
102
102
  type ConflictUpsert = {
103
103
  column: string | Array<string>;
@@ -166,17 +166,17 @@ type PGResult = {
166
166
  lastRowId?: string | number;
167
167
  rowCount: number;
168
168
  };
169
- type IterableResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends true | undefined = undefined> = IsLazy extends true ? IsAsync extends true ? Promise<Merge<ResultWrapper, {
169
+ type IterableResult<ResultWrapper, Result, IsAsync extends boolean> = IsAsync extends true ? Promise<Merge<ResultWrapper, {
170
170
  results?: AsyncIterable<Result>;
171
171
  }>> : Merge<ResultWrapper, {
172
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, {
173
+ }>;
174
+ type FullArrayResult<ResultWrapper, Result, IsAsync extends boolean> = IsAsync extends true ? Promise<Merge<ResultWrapper, {
175
175
  results?: Array<Result>;
176
176
  }>> : Merge<ResultWrapper, {
177
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>;
178
+ }>;
179
+ type ArrayResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends boolean = false> = IsLazy extends true ? IterableResult<ResultWrapper, Result, IsAsync> : FullArrayResult<ResultWrapper, Result, IsAsync>;
180
180
  type OneResult<ResultWrapper, Result> = Merge<ResultWrapper, {
181
181
  results?: Result;
182
182
  }>;
@@ -191,8 +191,8 @@ declare function defaultLogger(query: RawQuery, meta: QueryLoggerMeta): any;
191
191
  declare function asyncLoggerWrapper<Async extends boolean = true>(query: Query<any, Async> | Query<any, Async>[], loggerFunction: CallableFunction | undefined, innerFunction: () => any): Promise<any>;
192
192
  declare function syncLoggerWrapper<Async extends boolean = false>(query: Query<any, Async> | Query<any, Async>[], loggerFunction: CallableFunction | undefined, innerFunction: () => any): any;
193
193
 
194
- interface SelectExecuteOptions<IsLazy extends true | undefined> {
195
- lazy?: IsLazy;
194
+ interface SelectExecuteOptions {
195
+ lazy?: boolean;
196
196
  }
197
197
  declare class SelectBuilder<GenericResultWrapper, GenericResult = DefaultReturnObject, IsAsync extends boolean = true> {
198
198
  _debugger: boolean;
@@ -212,10 +212,16 @@ declare class SelectBuilder<GenericResultWrapper, GenericResult = DefaultReturnO
212
212
  offset(offset: SelectAll['offset']): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
213
213
  limit(limit: SelectAll['limit']): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
214
214
  _parseArray(fieldName: string, option: any, value: any): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
215
- getQueryAll<IsLazy extends true | undefined = undefined>(options?: SelectExecuteOptions<IsLazy>): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>, IsAsync>;
215
+ getQueryAll<P extends SelectExecuteOptions = SelectExecuteOptions>(options?: P): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync, P extends {
216
+ lazy: true;
217
+ } ? true : false>, IsAsync>;
216
218
  getQueryOne(): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
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>;
219
+ execute<P extends SelectExecuteOptions = SelectExecuteOptions>(options?: P): ArrayResult<GenericResultWrapper, GenericResult, IsAsync, P extends {
220
+ lazy: true;
221
+ } ? true : false>;
222
+ all<P extends SelectExecuteOptions = SelectExecuteOptions>(options?: P): ArrayResult<GenericResultWrapper, GenericResult, IsAsync, P extends {
223
+ lazy: true;
224
+ } ? true : false>;
219
225
  one(): MaybeAsync<IsAsync, OneResult<GenericResultWrapper, GenericResult>>;
220
226
  count(): MaybeAsync<IsAsync, CountResult<GenericResultWrapper>>;
221
227
  }
@@ -239,7 +245,9 @@ declare class QueryBuilder<GenericResultWrapper, IsAsync extends boolean = true>
239
245
  }): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
240
246
  select<GenericResult = DefaultReturnObject>(tableName: string): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
241
247
  fetchOne<GenericResult = DefaultReturnObject>(params: SelectOne): QueryWithExtra<GenericResultWrapper, OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
242
- fetchAll<GenericResult = DefaultReturnObject, IsLazy extends true | undefined = undefined>(params: SelectAll<IsLazy>): QueryWithExtra<GenericResultWrapper, ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>, IsAsync>;
248
+ fetchAll<GenericResult = DefaultReturnObject, P extends SelectAll = SelectAll>(params: P): QueryWithExtra<GenericResultWrapper, ArrayResult<GenericResultWrapper, GenericResult, IsAsync, P extends {
249
+ lazy: true;
250
+ } ? true : false>, IsAsync>;
243
251
  raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchOne): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
244
252
  raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchAll): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
245
253
  raw<GenericResult = DefaultReturnObject>(params: RawQueryWithoutFetching): Query<GenericResultWrapper, IsAsync>;
package/dist/index.d.ts CHANGED
@@ -95,9 +95,9 @@ type RawQueryFetchAll = Omit<RawQuery, 'fetchType'> & {
95
95
  fetchType: FetchTypes.ALL;
96
96
  };
97
97
  type RawQueryWithoutFetching = Omit<RawQuery, 'fetchType'>;
98
- type SelectAll<IsLazy extends true | undefined = undefined> = SelectOne & {
98
+ type SelectAll = SelectOne & {
99
99
  limit?: number;
100
- lazy?: IsLazy;
100
+ lazy?: boolean;
101
101
  };
102
102
  type ConflictUpsert = {
103
103
  column: string | Array<string>;
@@ -166,17 +166,17 @@ type PGResult = {
166
166
  lastRowId?: string | number;
167
167
  rowCount: number;
168
168
  };
169
- type IterableResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends true | undefined = undefined> = IsLazy extends true ? IsAsync extends true ? Promise<Merge<ResultWrapper, {
169
+ type IterableResult<ResultWrapper, Result, IsAsync extends boolean> = IsAsync extends true ? Promise<Merge<ResultWrapper, {
170
170
  results?: AsyncIterable<Result>;
171
171
  }>> : Merge<ResultWrapper, {
172
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, {
173
+ }>;
174
+ type FullArrayResult<ResultWrapper, Result, IsAsync extends boolean> = IsAsync extends true ? Promise<Merge<ResultWrapper, {
175
175
  results?: Array<Result>;
176
176
  }>> : Merge<ResultWrapper, {
177
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>;
178
+ }>;
179
+ type ArrayResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends boolean = false> = IsLazy extends true ? IterableResult<ResultWrapper, Result, IsAsync> : FullArrayResult<ResultWrapper, Result, IsAsync>;
180
180
  type OneResult<ResultWrapper, Result> = Merge<ResultWrapper, {
181
181
  results?: Result;
182
182
  }>;
@@ -191,8 +191,8 @@ declare function defaultLogger(query: RawQuery, meta: QueryLoggerMeta): any;
191
191
  declare function asyncLoggerWrapper<Async extends boolean = true>(query: Query<any, Async> | Query<any, Async>[], loggerFunction: CallableFunction | undefined, innerFunction: () => any): Promise<any>;
192
192
  declare function syncLoggerWrapper<Async extends boolean = false>(query: Query<any, Async> | Query<any, Async>[], loggerFunction: CallableFunction | undefined, innerFunction: () => any): any;
193
193
 
194
- interface SelectExecuteOptions<IsLazy extends true | undefined> {
195
- lazy?: IsLazy;
194
+ interface SelectExecuteOptions {
195
+ lazy?: boolean;
196
196
  }
197
197
  declare class SelectBuilder<GenericResultWrapper, GenericResult = DefaultReturnObject, IsAsync extends boolean = true> {
198
198
  _debugger: boolean;
@@ -212,10 +212,16 @@ declare class SelectBuilder<GenericResultWrapper, GenericResult = DefaultReturnO
212
212
  offset(offset: SelectAll['offset']): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
213
213
  limit(limit: SelectAll['limit']): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
214
214
  _parseArray(fieldName: string, option: any, value: any): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
215
- getQueryAll<IsLazy extends true | undefined = undefined>(options?: SelectExecuteOptions<IsLazy>): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>, IsAsync>;
215
+ getQueryAll<P extends SelectExecuteOptions = SelectExecuteOptions>(options?: P): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync, P extends {
216
+ lazy: true;
217
+ } ? true : false>, IsAsync>;
216
218
  getQueryOne(): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
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>;
219
+ execute<P extends SelectExecuteOptions = SelectExecuteOptions>(options?: P): ArrayResult<GenericResultWrapper, GenericResult, IsAsync, P extends {
220
+ lazy: true;
221
+ } ? true : false>;
222
+ all<P extends SelectExecuteOptions = SelectExecuteOptions>(options?: P): ArrayResult<GenericResultWrapper, GenericResult, IsAsync, P extends {
223
+ lazy: true;
224
+ } ? true : false>;
219
225
  one(): MaybeAsync<IsAsync, OneResult<GenericResultWrapper, GenericResult>>;
220
226
  count(): MaybeAsync<IsAsync, CountResult<GenericResultWrapper>>;
221
227
  }
@@ -239,7 +245,9 @@ declare class QueryBuilder<GenericResultWrapper, IsAsync extends boolean = true>
239
245
  }): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
240
246
  select<GenericResult = DefaultReturnObject>(tableName: string): SelectBuilder<GenericResultWrapper, GenericResult, IsAsync>;
241
247
  fetchOne<GenericResult = DefaultReturnObject>(params: SelectOne): QueryWithExtra<GenericResultWrapper, OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
242
- fetchAll<GenericResult = DefaultReturnObject, IsLazy extends true | undefined = undefined>(params: SelectAll<IsLazy>): QueryWithExtra<GenericResultWrapper, ArrayResult<GenericResultWrapper, GenericResult, IsAsync, IsLazy>, IsAsync>;
248
+ fetchAll<GenericResult = DefaultReturnObject, P extends SelectAll = SelectAll>(params: P): QueryWithExtra<GenericResultWrapper, ArrayResult<GenericResultWrapper, GenericResult, IsAsync, P extends {
249
+ lazy: true;
250
+ } ? true : false>, IsAsync>;
243
251
  raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchOne): Query<OneResult<GenericResultWrapper, GenericResult>, IsAsync>;
244
252
  raw<GenericResult = DefaultReturnObject>(params: RawQueryFetchAll): Query<ArrayResult<GenericResultWrapper, GenericResult, IsAsync>, IsAsync>;
245
253
  raw<GenericResult = DefaultReturnObject>(params: RawQueryWithoutFetching): Query<GenericResultWrapper, IsAsync>;
package/dist/index.js CHANGED
@@ -258,16 +258,25 @@ var SelectBuilder = class _SelectBuilder {
258
258
  );
259
259
  }
260
260
  getQueryAll(options) {
261
- return this._fetchAll(this._options);
261
+ return this._fetchAll({
262
+ ...this._options,
263
+ ...options
264
+ });
262
265
  }
263
266
  getQueryOne() {
264
267
  return this._fetchOne(this._options);
265
268
  }
266
269
  execute(options) {
267
- return this._fetchAll(this._options).execute();
270
+ return this._fetchAll({
271
+ ...this._options,
272
+ ...options
273
+ }).execute();
268
274
  }
269
275
  all(options) {
270
- return this._fetchAll(this._options).execute();
276
+ return this._fetchAll({
277
+ ...this._options,
278
+ ...options
279
+ }).execute();
271
280
  }
272
281
  one() {
273
282
  return this._fetchOne(this._options).execute();
package/dist/index.mjs CHANGED
@@ -216,16 +216,25 @@ var SelectBuilder = class _SelectBuilder {
216
216
  );
217
217
  }
218
218
  getQueryAll(options) {
219
- return this._fetchAll(this._options);
219
+ return this._fetchAll({
220
+ ...this._options,
221
+ ...options
222
+ });
220
223
  }
221
224
  getQueryOne() {
222
225
  return this._fetchOne(this._options);
223
226
  }
224
227
  execute(options) {
225
- return this._fetchAll(this._options).execute();
228
+ return this._fetchAll({
229
+ ...this._options,
230
+ ...options
231
+ }).execute();
226
232
  }
227
233
  all(options) {
228
- return this._fetchAll(this._options).execute();
234
+ return this._fetchAll({
235
+ ...this._options,
236
+ ...options
237
+ }).execute();
229
238
  }
230
239
  one() {
231
240
  return this._fetchOne(this._options).execute();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workers-qb",
3
- "version": "1.10.0",
3
+ "version": "1.10.2",
4
4
  "description": "Zero dependencies Query Builder for Cloudflare Workers",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -14,7 +14,11 @@
14
14
  "build": "tsup src/index.ts --format cjs,esm --dts",
15
15
  "lint": "npx @biomejs/biome check src/ tests/ || (npx @biomejs/biome check --write src/ tests/; exit 1)",
16
16
  "test": "vitest run --root tests",
17
- "prepare": "husky"
17
+ "prepare": "husky",
18
+ "build-docs": "npm run docs:build && cp docs/_redirects docs/.vitepress/dist/_redirects",
19
+ "docs:dev": "vitepress dev docs",
20
+ "docs:build": "vitepress build docs",
21
+ "docs:preview": "vitepress preview docs"
18
22
  },
19
23
  "publishConfig": {
20
24
  "access": "public"
@@ -62,6 +66,7 @@
62
66
  "husky": "^9.1.6",
63
67
  "tsup": "^8.3.5",
64
68
  "typescript": "^5.6.3",
69
+ "vitepress": "^1.6.3",
65
70
  "vitest": "2.1.8",
66
71
  "wrangler": "^3.86.0"
67
72
  }