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 +11 -6
- package/dist/index.d.mts +21 -13
- package/dist/index.d.ts +21 -13
- package/dist/index.js +12 -3
- package/dist/index.mjs +12 -3
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
98
|
+
type SelectAll = SelectOne & {
|
|
99
99
|
limit?: number;
|
|
100
|
-
lazy?:
|
|
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
|
|
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
|
-
}
|
|
174
|
-
type FullArrayResult<ResultWrapper, Result, IsAsync extends boolean
|
|
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
|
-
}
|
|
179
|
-
type ArrayResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends
|
|
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
|
|
195
|
-
lazy?:
|
|
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<
|
|
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<
|
|
218
|
-
|
|
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,
|
|
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
|
|
98
|
+
type SelectAll = SelectOne & {
|
|
99
99
|
limit?: number;
|
|
100
|
-
lazy?:
|
|
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
|
|
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
|
-
}
|
|
174
|
-
type FullArrayResult<ResultWrapper, Result, IsAsync extends boolean
|
|
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
|
-
}
|
|
179
|
-
type ArrayResult<ResultWrapper, Result, IsAsync extends boolean, IsLazy extends
|
|
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
|
|
195
|
-
lazy?:
|
|
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<
|
|
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<
|
|
218
|
-
|
|
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,
|
|
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(
|
|
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(
|
|
270
|
+
return this._fetchAll({
|
|
271
|
+
...this._options,
|
|
272
|
+
...options
|
|
273
|
+
}).execute();
|
|
268
274
|
}
|
|
269
275
|
all(options) {
|
|
270
|
-
return this._fetchAll(
|
|
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(
|
|
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(
|
|
228
|
+
return this._fetchAll({
|
|
229
|
+
...this._options,
|
|
230
|
+
...options
|
|
231
|
+
}).execute();
|
|
226
232
|
}
|
|
227
233
|
all(options) {
|
|
228
|
-
return this._fetchAll(
|
|
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.
|
|
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
|
}
|