@ikeboy003/cloudrest-client 0.1.0 → 0.2.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/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +30 -0
- package/dist/client.js.map +1 -1
- package/dist/filter.d.ts +50 -10
- package/dist/filter.d.ts.map +1 -1
- package/dist/filter.js +70 -42
- package/dist/filter.js.map +1 -1
- package/dist/index.d.ts +33 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/mutation.d.ts +77 -25
- package/dist/mutation.d.ts.map +1 -1
- package/dist/mutation.js +133 -54
- package/dist/mutation.js.map +1 -1
- package/dist/query.d.ts +31 -5
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +62 -24
- package/dist/query.js.map +1 -1
- package/dist/serialize.d.ts +3 -0
- package/dist/serialize.d.ts.map +1 -1
- package/dist/serialize.js +15 -1
- package/dist/serialize.js.map +1 -1
- package/package.json +5 -3
- package/src/client.ts +49 -4
- package/src/filter.ts +85 -42
- package/src/index.ts +23 -15
- package/src/mutation.ts +132 -62
- package/src/query.ts +69 -31
- package/src/rpc.ts +3 -3
- package/src/serialize.ts +17 -1
package/dist/mutation.js
CHANGED
|
@@ -1,24 +1,98 @@
|
|
|
1
|
-
// Mutations: insert / update / delete
|
|
2
|
-
//
|
|
1
|
+
// Mutations: insert / update / delete (+ upsert, bulk media, write tuning).
|
|
2
|
+
// PostgREST conventions:
|
|
3
|
+
// - POST /table array/object body → insert (`?on_conflict=` → upsert)
|
|
3
4
|
// - PATCH /table?filters → update
|
|
4
5
|
// - DELETE /table?filters → delete
|
|
5
|
-
// - Prefer: return=representation
|
|
6
|
-
|
|
6
|
+
// - Prefer: return=representation|minimal, resolution=*, missing=*, tx=rollback,
|
|
7
|
+
// max-affected/min-affected, timezone, response-buffered
|
|
8
|
+
import * as F from "./filter.js";
|
|
7
9
|
import { joinUrl } from "./serialize.js";
|
|
8
|
-
|
|
10
|
+
// Shared write-tuning state + Prefer assembly (insert/update/delete).
|
|
11
|
+
class WriteTuning {
|
|
12
|
+
returnMode;
|
|
13
|
+
txMode;
|
|
14
|
+
maxAff;
|
|
15
|
+
minAff;
|
|
16
|
+
tz;
|
|
17
|
+
bufferedFlag = false;
|
|
18
|
+
missingMode;
|
|
19
|
+
resolution;
|
|
20
|
+
/** Return affected rows (adds Prefer: return=representation). */
|
|
21
|
+
returning() { this.returnMode = "representation"; return this; }
|
|
22
|
+
/** No body back (Prefer: return=minimal) — the default if unset. */
|
|
23
|
+
minimal() { this.returnMode = "minimal"; return this; }
|
|
24
|
+
/** Dry-run: run + roll back (Prefer: tx=rollback). */
|
|
25
|
+
dryRun() { this.txMode = "rollback"; return this; }
|
|
26
|
+
/** Fail (PGRST) if more than N rows would be affected. */
|
|
27
|
+
maxAffected(n) { this.maxAff = n; return this; }
|
|
28
|
+
/** Fail if fewer than N rows are affected. */
|
|
29
|
+
minAffected(n) { this.minAff = n; return this; }
|
|
30
|
+
/** Render timestamptz output in this zone (Prefer: timezone=<tz>). */
|
|
31
|
+
timezone(tz) { this.tz = tz; return this; }
|
|
32
|
+
/** Buffer the response + set Content-Length (Prefer: response-buffered). */
|
|
33
|
+
buffered() { this.bufferedFlag = true; return this; }
|
|
34
|
+
prefer() {
|
|
35
|
+
const p = [];
|
|
36
|
+
if (this.returnMode)
|
|
37
|
+
p.push(`return=${this.returnMode}`);
|
|
38
|
+
if (this.resolution)
|
|
39
|
+
p.push(`resolution=${this.resolution}`);
|
|
40
|
+
if (this.missingMode)
|
|
41
|
+
p.push(`missing=${this.missingMode}`);
|
|
42
|
+
if (this.txMode)
|
|
43
|
+
p.push(`tx=${this.txMode}`);
|
|
44
|
+
if (this.maxAff !== undefined)
|
|
45
|
+
p.push(`max-affected=${this.maxAff}`);
|
|
46
|
+
if (this.minAff !== undefined)
|
|
47
|
+
p.push(`min-affected=${this.minAff}`);
|
|
48
|
+
if (this.tz)
|
|
49
|
+
p.push(`timezone=${this.tz}`);
|
|
50
|
+
if (this.bufferedFlag)
|
|
51
|
+
p.push("response-buffered");
|
|
52
|
+
return p;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Filter methods shared by update/delete (mirrors QueryBuilder's set).
|
|
56
|
+
class FilterableMutation extends WriteTuning {
|
|
9
57
|
filters = [];
|
|
10
|
-
eq(
|
|
11
|
-
neq(
|
|
12
|
-
gt(
|
|
13
|
-
gte(
|
|
14
|
-
lt(
|
|
15
|
-
lte(
|
|
16
|
-
like(
|
|
17
|
-
ilike(
|
|
18
|
-
|
|
19
|
-
|
|
58
|
+
eq(c, v) { this.filters.push(F.fEq(c, v)); return this; }
|
|
59
|
+
neq(c, v) { this.filters.push(F.fNeq(c, v)); return this; }
|
|
60
|
+
gt(c, v) { this.filters.push(F.fGt(c, v)); return this; }
|
|
61
|
+
gte(c, v) { this.filters.push(F.fGte(c, v)); return this; }
|
|
62
|
+
lt(c, v) { this.filters.push(F.fLt(c, v)); return this; }
|
|
63
|
+
lte(c, v) { this.filters.push(F.fLte(c, v)); return this; }
|
|
64
|
+
like(c, p) { this.filters.push(F.fLike(c, p)); return this; }
|
|
65
|
+
ilike(c, p) { this.filters.push(F.fIlike(c, p)); return this; }
|
|
66
|
+
match(c, p) { this.filters.push(F.fMatch(c, p)); return this; }
|
|
67
|
+
imatch(c, p) { this.filters.push(F.fImatch(c, p)); return this; }
|
|
68
|
+
in(c, vals) { this.filters.push(F.fIn(c, vals)); return this; }
|
|
69
|
+
is(c, v) { this.filters.push(F.fIs(c, v)); return this; }
|
|
70
|
+
isDistinct(c, v) { this.filters.push(F.fIsDistinct(c, v)); return this; }
|
|
71
|
+
fts(c, q, cfg) { this.filters.push(F.fFts(c, q, cfg)); return this; }
|
|
72
|
+
plfts(c, q, cfg) { this.filters.push(F.fPlfts(c, q, cfg)); return this; }
|
|
73
|
+
phfts(c, q, cfg) { this.filters.push(F.fPhfts(c, q, cfg)); return this; }
|
|
74
|
+
wfts(c, q, cfg) { this.filters.push(F.fWfts(c, q, cfg)); return this; }
|
|
75
|
+
cs(c, vals) { this.filters.push(F.fCs(c, vals)); return this; }
|
|
76
|
+
cd(c, vals) { this.filters.push(F.fCd(c, vals)); return this; }
|
|
77
|
+
ov(c, v) { this.filters.push(F.fOv(c, v)); return this; }
|
|
78
|
+
sl(c, r) { this.filters.push(F.fSl(c, r)); return this; }
|
|
79
|
+
sr(c, r) { this.filters.push(F.fSr(c, r)); return this; }
|
|
80
|
+
nxr(c, r) { this.filters.push(F.fNxr(c, r)); return this; }
|
|
81
|
+
nxl(c, r) { this.filters.push(F.fNxl(c, r)); return this; }
|
|
82
|
+
adj(c, r) { this.filters.push(F.fAdj(c, r)); return this; }
|
|
83
|
+
not(entry) { this.filters.push(F.fNot(entry)); return this; }
|
|
84
|
+
notIs(c, v) { this.filters.push(F.fNot(F.fIs(c, v))); return this; }
|
|
85
|
+
filter(c, op, value) { this.filters.push(F.fFilter(c, op, value)); return this; }
|
|
86
|
+
and(...entries) { this.filters.push(F.fAnd(entries)); return this; }
|
|
87
|
+
or(...entries) { this.filters.push(F.fOr(entries)); return this; }
|
|
88
|
+
filterQs() {
|
|
89
|
+
const params = new URLSearchParams();
|
|
90
|
+
for (const f of this.filters)
|
|
91
|
+
params.append(f.column, f.expr);
|
|
92
|
+
return params.toString();
|
|
93
|
+
}
|
|
20
94
|
}
|
|
21
|
-
async function send(ctx, method, url, body,
|
|
95
|
+
async function send(ctx, method, url, body, prefer) {
|
|
22
96
|
// A FormData body is a multipart media write — let the runtime set the
|
|
23
97
|
// multipart Content-Type (with boundary); don't JSON-encode or force a type.
|
|
24
98
|
const isForm = typeof FormData !== "undefined" && body instanceof FormData;
|
|
@@ -27,8 +101,8 @@ async function send(ctx, method, url, body, returnRepresentation) {
|
|
|
27
101
|
...(isForm ? {} : { "Content-Type": "application/json" }),
|
|
28
102
|
...ctx.headers,
|
|
29
103
|
};
|
|
30
|
-
if (
|
|
31
|
-
headers["Prefer"] = "
|
|
104
|
+
if (prefer.length)
|
|
105
|
+
headers["Prefer"] = prefer.join(",");
|
|
32
106
|
const token = await ctx.getToken?.();
|
|
33
107
|
if (token)
|
|
34
108
|
headers["Authorization"] = `Bearer ${token}`;
|
|
@@ -48,34 +122,56 @@ async function send(ctx, method, url, body, returnRepresentation) {
|
|
|
48
122
|
return [];
|
|
49
123
|
return res.json();
|
|
50
124
|
}
|
|
51
|
-
export class InsertBuilder {
|
|
125
|
+
export class InsertBuilder extends WriteTuning {
|
|
52
126
|
ctx;
|
|
53
127
|
table;
|
|
54
128
|
rows;
|
|
55
|
-
returnRows = false;
|
|
56
129
|
files = {};
|
|
130
|
+
onConflictCols;
|
|
131
|
+
columnsList;
|
|
57
132
|
constructor(ctx, table, rows) {
|
|
133
|
+
super();
|
|
58
134
|
this.ctx = ctx;
|
|
59
135
|
this.table = table;
|
|
60
136
|
this.rows = Array.isArray(rows) ? rows : [rows];
|
|
61
137
|
}
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Upsert on conflict of `columns` (a PK/unique set). Default resolution
|
|
140
|
+
* merges (UPDATE); pass `{ ignoreDuplicates: true }` for DO NOTHING.
|
|
141
|
+
*/
|
|
142
|
+
onConflict(columns, opts = {}) {
|
|
143
|
+
this.onConflictCols = Array.isArray(columns) ? columns.join(",") : columns;
|
|
144
|
+
this.resolution = opts.ignoreDuplicates ? "ignore-duplicates" : "merge-duplicates";
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
147
|
+
/** Restrict the insert to these columns (`?columns=`) — consistent bulk keys. */
|
|
148
|
+
columns(cols) {
|
|
149
|
+
this.columnsList = cols.join(",");
|
|
150
|
+
return this;
|
|
151
|
+
}
|
|
152
|
+
/** Treat keys absent from a row as `NULL` rather than the column default. */
|
|
153
|
+
missing(mode) {
|
|
154
|
+
this.missingMode = mode;
|
|
65
155
|
return this;
|
|
66
156
|
}
|
|
67
157
|
/**
|
|
68
|
-
* Attach a file for a media column
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
158
|
+
* Attach a file for a media column — switches to a multipart write (scalar
|
|
159
|
+
* columns as a JSON `payload` part, each file as a part named after its
|
|
160
|
+
* column). The server's media stage stores bytes → reference into the column.
|
|
161
|
+
* Single-row inserts only.
|
|
72
162
|
*/
|
|
73
163
|
attach(column, file) {
|
|
74
164
|
this.files[column] = file;
|
|
75
165
|
return this;
|
|
76
166
|
}
|
|
77
|
-
|
|
78
|
-
|
|
167
|
+
buildUrl() {
|
|
168
|
+
const params = new URLSearchParams();
|
|
169
|
+
if (this.onConflictCols)
|
|
170
|
+
params.set("on_conflict", this.onConflictCols);
|
|
171
|
+
if (this.columnsList)
|
|
172
|
+
params.set("columns", this.columnsList);
|
|
173
|
+
const qs = params.toString();
|
|
174
|
+
return `${joinUrl(this.ctx.baseUrl, String(this.table))}${qs ? `?${qs}` : ""}`;
|
|
79
175
|
}
|
|
80
176
|
formBody() {
|
|
81
177
|
if (this.rows.length !== 1) {
|
|
@@ -83,15 +179,14 @@ export class InsertBuilder {
|
|
|
83
179
|
}
|
|
84
180
|
const fd = new FormData();
|
|
85
181
|
fd.append("payload", new Blob([JSON.stringify(this.rows[0])], { type: "application/json" }));
|
|
86
|
-
for (const [column, file] of Object.entries(this.files))
|
|
182
|
+
for (const [column, file] of Object.entries(this.files))
|
|
87
183
|
fd.append(column, file);
|
|
88
|
-
}
|
|
89
184
|
return fd;
|
|
90
185
|
}
|
|
91
186
|
then(onfulfilled, onrejected) {
|
|
92
|
-
const
|
|
93
|
-
const body =
|
|
94
|
-
return send(this.ctx, "POST",
|
|
187
|
+
const hasFiles = Object.keys(this.files).length > 0;
|
|
188
|
+
const body = hasFiles ? this.formBody() : this.rows;
|
|
189
|
+
return send(this.ctx, "POST", this.buildUrl(), body, this.prefer())
|
|
95
190
|
.then((v) => v)
|
|
96
191
|
.then(onfulfilled, onrejected);
|
|
97
192
|
}
|
|
@@ -100,26 +195,18 @@ export class UpdateBuilder extends FilterableMutation {
|
|
|
100
195
|
ctx;
|
|
101
196
|
table;
|
|
102
197
|
patch;
|
|
103
|
-
returnRows = false;
|
|
104
198
|
constructor(ctx, table, patch) {
|
|
105
199
|
super();
|
|
106
200
|
this.ctx = ctx;
|
|
107
201
|
this.table = table;
|
|
108
202
|
this.patch = patch;
|
|
109
203
|
}
|
|
110
|
-
returning() {
|
|
111
|
-
this.returnRows = true;
|
|
112
|
-
return this;
|
|
113
|
-
}
|
|
114
204
|
url() {
|
|
115
|
-
const
|
|
116
|
-
for (const f of this.filters)
|
|
117
|
-
params.append(f.column, f.expr);
|
|
118
|
-
const qs = params.toString();
|
|
205
|
+
const qs = this.filterQs();
|
|
119
206
|
return `${joinUrl(this.ctx.baseUrl, String(this.table))}${qs ? `?${qs}` : ""}`;
|
|
120
207
|
}
|
|
121
208
|
then(onfulfilled, onrejected) {
|
|
122
|
-
return send(this.ctx, "PATCH", this.url(), this.patch, this.
|
|
209
|
+
return send(this.ctx, "PATCH", this.url(), this.patch, this.prefer())
|
|
123
210
|
.then((v) => v)
|
|
124
211
|
.then(onfulfilled, onrejected);
|
|
125
212
|
}
|
|
@@ -127,25 +214,17 @@ export class UpdateBuilder extends FilterableMutation {
|
|
|
127
214
|
export class DeleteBuilder extends FilterableMutation {
|
|
128
215
|
ctx;
|
|
129
216
|
table;
|
|
130
|
-
returnRows = false;
|
|
131
217
|
constructor(ctx, table) {
|
|
132
218
|
super();
|
|
133
219
|
this.ctx = ctx;
|
|
134
220
|
this.table = table;
|
|
135
221
|
}
|
|
136
|
-
returning() {
|
|
137
|
-
this.returnRows = true;
|
|
138
|
-
return this;
|
|
139
|
-
}
|
|
140
222
|
url() {
|
|
141
|
-
const
|
|
142
|
-
for (const f of this.filters)
|
|
143
|
-
params.append(f.column, f.expr);
|
|
144
|
-
const qs = params.toString();
|
|
223
|
+
const qs = this.filterQs();
|
|
145
224
|
return `${joinUrl(this.ctx.baseUrl, String(this.table))}${qs ? `?${qs}` : ""}`;
|
|
146
225
|
}
|
|
147
226
|
then(onfulfilled, onrejected) {
|
|
148
|
-
return send(this.ctx, "DELETE", this.url(), undefined, this.
|
|
227
|
+
return send(this.ctx, "DELETE", this.url(), undefined, this.prefer())
|
|
149
228
|
.then((v) => v)
|
|
150
229
|
.then(onfulfilled, onrejected);
|
|
151
230
|
}
|
package/dist/mutation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../src/mutation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../src/mutation.ts"],"names":[],"mappings":"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"}
|
package/dist/query.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnyPaths, RowOf, TableName } from "./types.js";
|
|
2
|
-
import {
|
|
2
|
+
import type { FilterEntry, IsValue } from "./filter.js";
|
|
3
3
|
import type { CloudRestError } from "./errors.js";
|
|
4
4
|
export interface ExecContext {
|
|
5
5
|
baseUrl: string;
|
|
@@ -11,6 +11,7 @@ export interface OrderOptions {
|
|
|
11
11
|
ascending?: boolean;
|
|
12
12
|
nullsFirst?: boolean;
|
|
13
13
|
}
|
|
14
|
+
export type CountStrategy = "exact" | "planned" | "estimated";
|
|
14
15
|
export declare class QueryBuilder<P extends AnyPaths, T extends TableName<P>, Row = RowOf<P, T>> implements PromiseLike<Row[]> {
|
|
15
16
|
private readonly ctx;
|
|
16
17
|
private readonly table;
|
|
@@ -22,7 +23,8 @@ export declare class QueryBuilder<P extends AnyPaths, T extends TableName<P>, Ro
|
|
|
22
23
|
private rangeFrom?;
|
|
23
24
|
private rangeTo?;
|
|
24
25
|
private singleMode;
|
|
25
|
-
private
|
|
26
|
+
private countStrategy?;
|
|
27
|
+
private preferExtra;
|
|
26
28
|
constructor(ctx: ExecContext, table: T);
|
|
27
29
|
select(columns: string): this;
|
|
28
30
|
eq(col: string, v: unknown): this;
|
|
@@ -33,27 +35,51 @@ export declare class QueryBuilder<P extends AnyPaths, T extends TableName<P>, Ro
|
|
|
33
35
|
lte(col: string, v: unknown): this;
|
|
34
36
|
like(col: string, pat: string): this;
|
|
35
37
|
ilike(col: string, pat: string): this;
|
|
38
|
+
match(col: string, pat: string): this;
|
|
39
|
+
imatch(col: string, pat: string): this;
|
|
36
40
|
in(col: string, vals: readonly unknown[]): this;
|
|
37
41
|
is(col: string, v: IsValue): this;
|
|
42
|
+
isDistinct(col: string, v: unknown): this;
|
|
43
|
+
fts(col: string, q: string, config?: string): this;
|
|
44
|
+
plfts(col: string, q: string, config?: string): this;
|
|
45
|
+
phfts(col: string, q: string, config?: string): this;
|
|
46
|
+
wfts(col: string, q: string, config?: string): this;
|
|
47
|
+
cs(col: string, vals: readonly unknown[]): this;
|
|
48
|
+
cd(col: string, vals: readonly unknown[]): this;
|
|
49
|
+
ov(col: string, v: readonly unknown[] | string): this;
|
|
50
|
+
sl(col: string, range: unknown): this;
|
|
51
|
+
sr(col: string, range: unknown): this;
|
|
52
|
+
nxr(col: string, range: unknown): this;
|
|
53
|
+
nxl(col: string, range: unknown): this;
|
|
54
|
+
adj(col: string, range: unknown): this;
|
|
38
55
|
notIs(col: string, v: IsValue): this;
|
|
39
56
|
not(entry: FilterEntry): this;
|
|
57
|
+
filter(col: string, op: string, value: string): this;
|
|
58
|
+
and(...entries: FilterEntry[]): this;
|
|
40
59
|
or(...entries: FilterEntry[]): this;
|
|
41
60
|
order(column: string, opts?: OrderOptions): this;
|
|
42
61
|
limit(n: number): this;
|
|
43
62
|
offset(n: number): this;
|
|
44
63
|
range(from: number, to: number): this;
|
|
64
|
+
/** Set the count strategy (`exact` | `planned` | `estimated`). withCount() implies `exact`. */
|
|
65
|
+
count(strategy?: CountStrategy): this;
|
|
66
|
+
/** `Prefer: timezone=<tz>` — render timestamptz output in this zone. */
|
|
67
|
+
timezone(tz: string): this;
|
|
68
|
+
/** `Prefer: response-buffered` — server buffers + sets Content-Length (CF throttle fix). */
|
|
69
|
+
buffered(): this;
|
|
45
70
|
/**
|
|
46
71
|
* Expect exactly one row. Resolves to `Row` (not `Row[]`).
|
|
47
72
|
* Throws if 0 or >1 rows match.
|
|
48
73
|
*/
|
|
49
74
|
single(): SingleQuery<Row>;
|
|
50
75
|
/**
|
|
51
|
-
* Page-aware terminal: returns the rows AND the
|
|
52
|
-
* `
|
|
53
|
-
* `.
|
|
76
|
+
* Page-aware terminal: returns the rows AND the total row count via the
|
|
77
|
+
* `Content-Range` response header. Use with `.range(from,to)` (and optionally
|
|
78
|
+
* `.count("estimated")` for big tables) for paginated lists.
|
|
54
79
|
*/
|
|
55
80
|
withCount(): PagedQuery<Row>;
|
|
56
81
|
private buildUrl;
|
|
82
|
+
private preferHeader;
|
|
57
83
|
private request;
|
|
58
84
|
private execPaged;
|
|
59
85
|
private exec;
|
package/dist/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/query.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// awaitable directly:
|
|
4
4
|
//
|
|
5
5
|
// const rows = await db.from("x").select("a,b").eq("a", 1);
|
|
6
|
-
import
|
|
6
|
+
import * as F from "./filter.js";
|
|
7
7
|
import { joinUrl } from "./serialize.js";
|
|
8
8
|
export class QueryBuilder {
|
|
9
9
|
ctx;
|
|
@@ -16,34 +16,57 @@ export class QueryBuilder {
|
|
|
16
16
|
rangeFrom;
|
|
17
17
|
rangeTo;
|
|
18
18
|
singleMode = false;
|
|
19
|
-
|
|
19
|
+
countStrategy;
|
|
20
|
+
preferExtra = [];
|
|
20
21
|
constructor(ctx, table) {
|
|
21
22
|
this.ctx = ctx;
|
|
22
23
|
this.table = table;
|
|
23
24
|
}
|
|
24
25
|
// ── projection ──────────────────────────────────────────────────────────
|
|
26
|
+
// Raw PostgREST select string — supports embedding (`*,author(*)`), aggregates
|
|
27
|
+
// (`count(),sum(x)`), JSON paths (`data->>k`), casts (`x::text`), spreads
|
|
28
|
+
// (`...t(*)`), and aliases (`alias:col`).
|
|
25
29
|
select(columns) {
|
|
26
30
|
this.selectExpr = columns;
|
|
27
31
|
return this;
|
|
28
32
|
}
|
|
29
33
|
// ── filters ─────────────────────────────────────────────────────────────
|
|
30
|
-
eq(col, v) { this.filters.push(fEq(col, v)); return this; }
|
|
31
|
-
neq(col, v) { this.filters.push(fNeq(col, v)); return this; }
|
|
32
|
-
gt(col, v) { this.filters.push(fGt(col, v)); return this; }
|
|
33
|
-
gte(col, v) { this.filters.push(fGte(col, v)); return this; }
|
|
34
|
-
lt(col, v) { this.filters.push(fLt(col, v)); return this; }
|
|
35
|
-
lte(col, v) { this.filters.push(fLte(col, v)); return this; }
|
|
36
|
-
like(col, pat) { this.filters.push(fLike(col, pat)); return this; }
|
|
37
|
-
ilike(col, pat) { this.filters.push(fIlike(col, pat)); return this; }
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
eq(col, v) { this.filters.push(F.fEq(col, v)); return this; }
|
|
35
|
+
neq(col, v) { this.filters.push(F.fNeq(col, v)); return this; }
|
|
36
|
+
gt(col, v) { this.filters.push(F.fGt(col, v)); return this; }
|
|
37
|
+
gte(col, v) { this.filters.push(F.fGte(col, v)); return this; }
|
|
38
|
+
lt(col, v) { this.filters.push(F.fLt(col, v)); return this; }
|
|
39
|
+
lte(col, v) { this.filters.push(F.fLte(col, v)); return this; }
|
|
40
|
+
like(col, pat) { this.filters.push(F.fLike(col, pat)); return this; }
|
|
41
|
+
ilike(col, pat) { this.filters.push(F.fIlike(col, pat)); return this; }
|
|
42
|
+
match(col, pat) { this.filters.push(F.fMatch(col, pat)); return this; }
|
|
43
|
+
imatch(col, pat) { this.filters.push(F.fImatch(col, pat)); return this; }
|
|
44
|
+
in(col, vals) { this.filters.push(F.fIn(col, vals)); return this; }
|
|
45
|
+
is(col, v) { this.filters.push(F.fIs(col, v)); return this; }
|
|
46
|
+
isDistinct(col, v) { this.filters.push(F.fIsDistinct(col, v)); return this; }
|
|
47
|
+
// full-text search (optional ts config, e.g. "english")
|
|
48
|
+
fts(col, q, config) { this.filters.push(F.fFts(col, q, config)); return this; }
|
|
49
|
+
plfts(col, q, config) { this.filters.push(F.fPlfts(col, q, config)); return this; }
|
|
50
|
+
phfts(col, q, config) { this.filters.push(F.fPhfts(col, q, config)); return this; }
|
|
51
|
+
wfts(col, q, config) { this.filters.push(F.fWfts(col, q, config)); return this; }
|
|
52
|
+
// array / range
|
|
53
|
+
cs(col, vals) { this.filters.push(F.fCs(col, vals)); return this; }
|
|
54
|
+
cd(col, vals) { this.filters.push(F.fCd(col, vals)); return this; }
|
|
55
|
+
ov(col, v) { this.filters.push(F.fOv(col, v)); return this; }
|
|
56
|
+
sl(col, range) { this.filters.push(F.fSl(col, range)); return this; }
|
|
57
|
+
sr(col, range) { this.filters.push(F.fSr(col, range)); return this; }
|
|
58
|
+
nxr(col, range) { this.filters.push(F.fNxr(col, range)); return this; }
|
|
59
|
+
nxl(col, range) { this.filters.push(F.fNxl(col, range)); return this; }
|
|
60
|
+
adj(col, range) { this.filters.push(F.fAdj(col, range)); return this; }
|
|
40
61
|
// Negated `is` — e.g. `notIs("col", "null")` → `col=not.is.null`.
|
|
41
|
-
notIs(col, v) { this.filters.push(fNot(fIs(col, v))); return this; }
|
|
42
|
-
// Generic negation: pass
|
|
43
|
-
not(entry) { this.filters.push(fNot(entry)); return this; }
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
|
|
62
|
+
notIs(col, v) { this.filters.push(F.fNot(F.fIs(col, v))); return this; }
|
|
63
|
+
// Generic negation: pass a non-negated filter helper output.
|
|
64
|
+
not(entry) { this.filters.push(F.fNot(entry)); return this; }
|
|
65
|
+
// Generic escape hatch: any operator + already-serialized value.
|
|
66
|
+
filter(col, op, value) { this.filters.push(F.fFilter(col, op, value)); return this; }
|
|
67
|
+
// Composite logic — pass bare `cond.*` helpers; nestable (`cond.and(cond.or(...))`).
|
|
68
|
+
and(...entries) { this.filters.push(F.fAnd(entries)); return this; }
|
|
69
|
+
or(...entries) { this.filters.push(F.fOr(entries)); return this; }
|
|
47
70
|
// ── ordering / paging ───────────────────────────────────────────────────
|
|
48
71
|
order(column, opts = {}) {
|
|
49
72
|
const { ascending = true, nullsFirst } = opts;
|
|
@@ -56,6 +79,13 @@ export class QueryBuilder {
|
|
|
56
79
|
limit(n) { this.limitN = n; return this; }
|
|
57
80
|
offset(n) { this.offsetN = n; return this; }
|
|
58
81
|
range(from, to) { this.rangeFrom = from; this.rangeTo = to; return this; }
|
|
82
|
+
// ── prefer tuning ─────────────────────────────────────────────────────────
|
|
83
|
+
/** Set the count strategy (`exact` | `planned` | `estimated`). withCount() implies `exact`. */
|
|
84
|
+
count(strategy = "exact") { this.countStrategy = strategy; return this; }
|
|
85
|
+
/** `Prefer: timezone=<tz>` — render timestamptz output in this zone. */
|
|
86
|
+
timezone(tz) { this.preferExtra.push(`timezone=${tz}`); return this; }
|
|
87
|
+
/** `Prefer: response-buffered` — server buffers + sets Content-Length (CF throttle fix). */
|
|
88
|
+
buffered() { this.preferExtra.push("response-buffered"); return this; }
|
|
59
89
|
// ── result shape ────────────────────────────────────────────────────────
|
|
60
90
|
/**
|
|
61
91
|
* Expect exactly one row. Resolves to `Row` (not `Row[]`).
|
|
@@ -66,12 +96,13 @@ export class QueryBuilder {
|
|
|
66
96
|
return this;
|
|
67
97
|
}
|
|
68
98
|
/**
|
|
69
|
-
* Page-aware terminal: returns the rows AND the
|
|
70
|
-
* `
|
|
71
|
-
* `.
|
|
99
|
+
* Page-aware terminal: returns the rows AND the total row count via the
|
|
100
|
+
* `Content-Range` response header. Use with `.range(from,to)` (and optionally
|
|
101
|
+
* `.count("estimated")` for big tables) for paginated lists.
|
|
72
102
|
*/
|
|
73
103
|
withCount() {
|
|
74
|
-
this.
|
|
104
|
+
if (!this.countStrategy)
|
|
105
|
+
this.countStrategy = "exact";
|
|
75
106
|
return { then: (f, r) => this.execPaged().then(f, r) };
|
|
76
107
|
}
|
|
77
108
|
// ── build + execute ─────────────────────────────────────────────────────
|
|
@@ -90,6 +121,12 @@ export class QueryBuilder {
|
|
|
90
121
|
const qs = params.toString();
|
|
91
122
|
return `${joinUrl(this.ctx.baseUrl, String(this.table))}${qs ? `?${qs}` : ""}`;
|
|
92
123
|
}
|
|
124
|
+
preferHeader() {
|
|
125
|
+
const tokens = [...this.preferExtra];
|
|
126
|
+
if (this.countStrategy)
|
|
127
|
+
tokens.push(`count=${this.countStrategy}`);
|
|
128
|
+
return tokens.length ? tokens.join(",") : undefined;
|
|
129
|
+
}
|
|
93
130
|
// Shared request path for every terminal (then / single / withCount).
|
|
94
131
|
async request() {
|
|
95
132
|
const url = this.buildUrl();
|
|
@@ -101,8 +138,9 @@ export class QueryBuilder {
|
|
|
101
138
|
headers["Range-Unit"] = "items";
|
|
102
139
|
headers["Range"] = `${this.rangeFrom}-${this.rangeTo}`;
|
|
103
140
|
}
|
|
104
|
-
|
|
105
|
-
|
|
141
|
+
const prefer = this.preferHeader();
|
|
142
|
+
if (prefer)
|
|
143
|
+
headers["Prefer"] = prefer;
|
|
106
144
|
const token = await this.ctx.getToken?.();
|
|
107
145
|
if (token)
|
|
108
146
|
headers["Authorization"] = `Bearer ${token}`;
|
package/dist/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/serialize.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export declare function joinUrl(base: string, path: string): string;
|
|
2
2
|
export declare function serializeValue(v: unknown): string;
|
|
3
|
+
export declare function serializeListItem(v: unknown): string;
|
|
4
|
+
export declare function serializeArray(v: readonly unknown[]): string;
|
|
5
|
+
export declare function serializeRange(v: unknown): string;
|
|
3
6
|
//# sourceMappingURL=serialize.d.ts.map
|
package/dist/serialize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAmBA,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAOjD"}
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAmBA,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAOjD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAMpD;AAID,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAE5D;AAKD,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAKjD"}
|
package/dist/serialize.js
CHANGED
|
@@ -31,7 +31,7 @@ export function serializeValue(v) {
|
|
|
31
31
|
return String(v);
|
|
32
32
|
return escapeIfNeeded(String(v), SCALAR_SPECIAL);
|
|
33
33
|
}
|
|
34
|
-
function serializeListItem(v) {
|
|
34
|
+
export function serializeListItem(v) {
|
|
35
35
|
if (v === null || v === undefined)
|
|
36
36
|
return "null";
|
|
37
37
|
if (v instanceof Date)
|
|
@@ -42,6 +42,20 @@ function serializeListItem(v) {
|
|
|
42
42
|
return String(v);
|
|
43
43
|
return escapeIfNeeded(String(v), LIST_SPECIAL);
|
|
44
44
|
}
|
|
45
|
+
// PostgreSQL array literal `{a,b,c}` — used by the array operators cs/cd/ov
|
|
46
|
+
// (`tags=cs.{a,b}`). Distinct from the `(a,b)` list form used by `in`.
|
|
47
|
+
export function serializeArray(v) {
|
|
48
|
+
return `{${v.map(serializeListItem).join(",")}}`;
|
|
49
|
+
}
|
|
50
|
+
// Range/value argument for the range operators (sl/sr/nxr/nxl/adj). Accepts a
|
|
51
|
+
// ready-made literal (`"(1,10)"`, `"[2020-01-01,2020-12-31]"`) or a `[lo, hi]`
|
|
52
|
+
// tuple → `(lo,hi)`.
|
|
53
|
+
export function serializeRange(v) {
|
|
54
|
+
if (Array.isArray(v)) {
|
|
55
|
+
return `(${serializeListItem(v[0])},${serializeListItem(v[1])})`;
|
|
56
|
+
}
|
|
57
|
+
return String(v);
|
|
58
|
+
}
|
|
45
59
|
function escapeIfNeeded(s, special) {
|
|
46
60
|
if (s === "")
|
|
47
61
|
return '""';
|