@supabase/postgrest-js 1.0.0-rc.4 → 1.0.0-rc.6
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/main/PostgrestBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestBuilder.js +22 -23
- package/dist/main/PostgrestBuilder.js.map +1 -1
- package/dist/main/PostgrestClient.d.ts +37 -12
- package/dist/main/PostgrestClient.d.ts.map +1 -1
- package/dist/main/PostgrestClient.js +34 -8
- package/dist/main/PostgrestClient.js.map +1 -1
- package/dist/main/PostgrestFilterBuilder.d.ts +151 -132
- package/dist/main/PostgrestFilterBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestFilterBuilder.js +30 -23
- package/dist/main/PostgrestFilterBuilder.js.map +1 -1
- package/dist/main/PostgrestQueryBuilder.d.ts +120 -29
- package/dist/main/PostgrestQueryBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestQueryBuilder.js +103 -10
- package/dist/main/PostgrestQueryBuilder.js.map +1 -1
- package/dist/main/PostgrestTransformBuilder.d.ts +70 -36
- package/dist/main/PostgrestTransformBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestTransformBuilder.js +53 -27
- package/dist/main/PostgrestTransformBuilder.js.map +1 -1
- package/dist/main/select-query-parser.d.ts +6 -6
- package/dist/main/select-query-parser.d.ts.map +1 -1
- package/dist/main/types.d.ts +17 -7
- package/dist/main/types.d.ts.map +1 -1
- package/dist/main/version.d.ts +1 -1
- package/dist/main/version.js +1 -1
- package/dist/module/PostgrestBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestBuilder.js +22 -23
- package/dist/module/PostgrestBuilder.js.map +1 -1
- package/dist/module/PostgrestClient.d.ts +37 -12
- package/dist/module/PostgrestClient.d.ts.map +1 -1
- package/dist/module/PostgrestClient.js +34 -8
- package/dist/module/PostgrestClient.js.map +1 -1
- package/dist/module/PostgrestFilterBuilder.d.ts +151 -132
- package/dist/module/PostgrestFilterBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestFilterBuilder.js +30 -23
- package/dist/module/PostgrestFilterBuilder.js.map +1 -1
- package/dist/module/PostgrestQueryBuilder.d.ts +120 -29
- package/dist/module/PostgrestQueryBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestQueryBuilder.js +103 -10
- package/dist/module/PostgrestQueryBuilder.js.map +1 -1
- package/dist/module/PostgrestTransformBuilder.d.ts +70 -36
- package/dist/module/PostgrestTransformBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestTransformBuilder.js +53 -27
- package/dist/module/PostgrestTransformBuilder.js.map +1 -1
- package/dist/module/select-query-parser.d.ts +6 -6
- package/dist/module/select-query-parser.d.ts.map +1 -1
- package/dist/module/types.d.ts +17 -7
- package/dist/module/types.d.ts.map +1 -1
- package/dist/module/version.d.ts +1 -1
- package/dist/module/version.js +1 -1
- package/package.json +5 -5
- package/src/PostgrestBuilder.ts +17 -18
- package/src/PostgrestClient.ts +41 -14
- package/src/PostgrestFilterBuilder.ts +182 -164
- package/src/PostgrestQueryBuilder.ts +115 -30
- package/src/PostgrestTransformBuilder.ts +72 -39
- package/src/select-query-parser.ts +9 -9
- package/src/types.ts +20 -7
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEvD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,gBAAgB,CAAC,MAAM,CACnD,YAAW,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEjD,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC9D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAA;IAClB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,kBAAkB,UAAQ;IACpC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC9B,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAA;gBAEjB,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAmB7C;;;;;OAKG;IACH,YAAY,IAAI,IAAI;IAKpB,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,EACzD,WAAW,CAAC,EACR,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GACxE,SAAS,GACT,IAAI,EACR,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"PostgrestBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEvD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,gBAAgB,CAAC,MAAM,CACnD,YAAW,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEjD,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC9D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAA;IAClB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,kBAAkB,UAAQ;IACpC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC9B,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAA;gBAEjB,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAmB7C;;;;;OAKG;IACH,YAAY,IAAI,IAAI;IAKpB,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,EACzD,WAAW,CAAC,EACR,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GACxE,SAAS,GACT,IAAI,EACR,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAmGpC"}
|
|
@@ -46,7 +46,7 @@ class PostgrestBuilder {
|
|
|
46
46
|
}
|
|
47
47
|
then(onfulfilled, onrejected) {
|
|
48
48
|
// https://postgrest.org/en/stable/api.html#switching-schemas
|
|
49
|
-
if (
|
|
49
|
+
if (this.schema === undefined) {
|
|
50
50
|
// skip
|
|
51
51
|
}
|
|
52
52
|
else if (['GET', 'HEAD'].includes(this.method)) {
|
|
@@ -67,32 +67,31 @@ class PostgrestBuilder {
|
|
|
67
67
|
body: JSON.stringify(this.body),
|
|
68
68
|
signal: this.signal,
|
|
69
69
|
}).then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
var _a, _b, _c
|
|
71
|
-
let error =
|
|
72
|
-
let data =
|
|
73
|
-
let count =
|
|
70
|
+
var _a, _b, _c;
|
|
71
|
+
let error = null;
|
|
72
|
+
let data = null;
|
|
73
|
+
let count = null;
|
|
74
74
|
let status = res.status;
|
|
75
75
|
let statusText = res.statusText;
|
|
76
76
|
if (res.ok) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
// discard `text`
|
|
77
|
+
if (this.method !== 'HEAD') {
|
|
78
|
+
const body = yield res.text();
|
|
79
|
+
if (body === '') {
|
|
80
|
+
// Prefer: return=minimal
|
|
82
81
|
}
|
|
83
82
|
else if (this.headers['Accept'] === 'text/csv') {
|
|
84
|
-
data =
|
|
83
|
+
data = body;
|
|
85
84
|
}
|
|
86
85
|
else if (this.headers['Accept'] &&
|
|
87
|
-
this.headers['Accept'].
|
|
88
|
-
data =
|
|
86
|
+
this.headers['Accept'].includes('application/vnd.pgrst.plan+text')) {
|
|
87
|
+
data = body;
|
|
89
88
|
}
|
|
90
89
|
else {
|
|
91
|
-
data = JSON.parse(
|
|
90
|
+
data = JSON.parse(body);
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
|
-
const countHeader = (
|
|
95
|
-
const contentRange = (
|
|
93
|
+
const countHeader = (_a = this.headers['Prefer']) === null || _a === void 0 ? void 0 : _a.match(/count=(exact|planned|estimated)/);
|
|
94
|
+
const contentRange = (_b = res.headers.get('content-range')) === null || _b === void 0 ? void 0 : _b.split('/');
|
|
96
95
|
if (countHeader && contentRange && contentRange.length > 1) {
|
|
97
96
|
count = parseInt(contentRange[1]);
|
|
98
97
|
}
|
|
@@ -102,13 +101,13 @@ class PostgrestBuilder {
|
|
|
102
101
|
try {
|
|
103
102
|
error = JSON.parse(body);
|
|
104
103
|
}
|
|
105
|
-
catch (
|
|
104
|
+
catch (_d) {
|
|
106
105
|
error = {
|
|
107
106
|
message: body,
|
|
108
107
|
};
|
|
109
108
|
}
|
|
110
|
-
if (error && this.allowEmpty && ((
|
|
111
|
-
error =
|
|
109
|
+
if (error && this.allowEmpty && ((_c = error === null || error === void 0 ? void 0 : error.details) === null || _c === void 0 ? void 0 : _c.includes('Results contain 0 rows'))) {
|
|
110
|
+
error = null;
|
|
112
111
|
status = 200;
|
|
113
112
|
statusText = 'OK';
|
|
114
113
|
}
|
|
@@ -133,10 +132,10 @@ class PostgrestBuilder {
|
|
|
133
132
|
hint: '',
|
|
134
133
|
code: fetchError.code || '',
|
|
135
134
|
},
|
|
136
|
-
data:
|
|
137
|
-
count:
|
|
138
|
-
status:
|
|
139
|
-
statusText: '
|
|
135
|
+
data: null,
|
|
136
|
+
count: null,
|
|
137
|
+
status: 0,
|
|
138
|
+
statusText: '',
|
|
140
139
|
}));
|
|
141
140
|
}
|
|
142
141
|
return res.then(onfulfilled, onrejected);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestBuilder.js","sourceRoot":"","sources":["../../src/PostgrestBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAoC;AAIpC,MAA8B,gBAAgB;IAa5C,YAAY,OAAiC;QALnC,uBAAkB,GAAG,KAAK,CAAA;QAMlC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QAEpC,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;SAC3B;aAAM,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YACvC,IAAI,CAAC,KAAK,GAAG,qBAAU,CAAA;SACxB;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;SACnB;IACH,CAAC;IAED;;;;;OAKG;IACH,YAAY;QACV,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CACF,WAGQ,EACR,UAAmF;QAEnF,6DAA6D;QAC7D,IAAI,
|
|
1
|
+
{"version":3,"file":"PostgrestBuilder.js","sourceRoot":"","sources":["../../src/PostgrestBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import PostgrestQueryBuilder from './PostgrestQueryBuilder';
|
|
2
2
|
import PostgrestFilterBuilder from './PostgrestFilterBuilder';
|
|
3
3
|
import { Fetch, GenericSchema } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* PostgREST client.
|
|
6
|
+
*
|
|
7
|
+
* @typeParam Database - Types for the schema from the [type
|
|
8
|
+
* generator](https://supabase.com/docs/reference/javascript/next/typescript-support)
|
|
9
|
+
*
|
|
10
|
+
* @typeParam SchemaName - Postgres schema to switch to. Must be a string
|
|
11
|
+
* literal, the same one passed to the constructor. If the schema is not
|
|
12
|
+
* `"public"`, this must be supplied manually.
|
|
13
|
+
*/
|
|
4
14
|
export default class PostgrestClient<Database = any, SchemaName extends string & keyof Database = 'public' extends keyof Database ? 'public' : string & keyof Database, Schema extends GenericSchema = Database[SchemaName] extends GenericSchema ? Database[SchemaName] : any> {
|
|
5
15
|
url: string;
|
|
6
16
|
headers: Record<string, string>;
|
|
@@ -9,9 +19,11 @@ export default class PostgrestClient<Database = any, SchemaName extends string &
|
|
|
9
19
|
/**
|
|
10
20
|
* Creates a PostgREST client.
|
|
11
21
|
*
|
|
12
|
-
* @param url
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
22
|
+
* @param url - URL of the PostgREST endpoint
|
|
23
|
+
* @param options - Named parameters
|
|
24
|
+
* @param options.headers - Custom headers
|
|
25
|
+
* @param options.schema - Postgres schema to switch to
|
|
26
|
+
* @param options.fetch - Custom fetch
|
|
15
27
|
*/
|
|
16
28
|
constructor(url: string, { headers, schema, fetch, }?: {
|
|
17
29
|
headers?: Record<string, string>;
|
|
@@ -19,23 +31,36 @@ export default class PostgrestClient<Database = any, SchemaName extends string &
|
|
|
19
31
|
fetch?: Fetch;
|
|
20
32
|
});
|
|
21
33
|
/**
|
|
22
|
-
* Perform a table
|
|
34
|
+
* Perform a query on a table or a view.
|
|
23
35
|
*
|
|
24
|
-
* @param
|
|
36
|
+
* @param relation - The table or view name to query
|
|
25
37
|
*/
|
|
26
|
-
from<TableName extends string & keyof Schema['Tables'], Table extends Schema['Tables'][TableName]>(
|
|
27
|
-
from(
|
|
38
|
+
from<TableName extends string & keyof Schema['Tables'], Table extends Schema['Tables'][TableName]>(relation: TableName): PostgrestQueryBuilder<Table>;
|
|
39
|
+
from<ViewName extends string & keyof Schema['Views'], View extends Schema['Views'][ViewName]>(relation: ViewName): PostgrestQueryBuilder<View>;
|
|
40
|
+
from(relation: string): PostgrestQueryBuilder<any>;
|
|
28
41
|
/**
|
|
29
42
|
* Perform a function call.
|
|
30
43
|
*
|
|
31
|
-
* @param fn
|
|
32
|
-
* @param args
|
|
33
|
-
* @param options
|
|
44
|
+
* @param fn - The function name to call
|
|
45
|
+
* @param args - The arguments to pass to the function call
|
|
46
|
+
* @param options - Named parameters
|
|
47
|
+
* @param options.head - When set to `true`, `data` will not be returned.
|
|
48
|
+
* Useful if you only need the count.
|
|
49
|
+
* @param options.count - Count algorithm to use to count rows returned by the
|
|
50
|
+
* function. Only applicable for [set-returning
|
|
51
|
+
* functions](https://www.postgresql.org/docs/current/functions-srf.html).
|
|
52
|
+
*
|
|
53
|
+
* `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the
|
|
54
|
+
* hood.
|
|
55
|
+
*
|
|
56
|
+
* `"planned"`: Approximated but fast count algorithm. Uses the Postgres
|
|
57
|
+
* statistics under the hood.
|
|
58
|
+
*
|
|
59
|
+
* `"estimated"`: Uses exact count for low numbers and planned count for high
|
|
60
|
+
* numbers.
|
|
34
61
|
*/
|
|
35
62
|
rpc<FunctionName extends string & keyof Schema['Functions'], Function_ extends Schema['Functions'][FunctionName]>(fn: FunctionName, args?: Function_['Args'], { head, count, }?: {
|
|
36
|
-
/** When set to true, no data will be returned. */
|
|
37
63
|
head?: boolean;
|
|
38
|
-
/** Count algorithm to use to count rows in a table. */
|
|
39
64
|
count?: 'exact' | 'planned' | 'estimated';
|
|
40
65
|
}): PostgrestFilterBuilder<Function_['Returns'] extends any[] ? Function_['Returns'][number] extends Record<string, unknown> ? Function_['Returns'][number] : never : never, Function_['Returns']>;
|
|
41
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestClient.d.ts","sourceRoot":"","sources":["../../src/PostgrestClient.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,QAAQ,GAAG,GAAG,EACd,UAAU,SAAS,MAAM,GAAG,MAAM,QAAQ,GAAG,QAAQ,SAAS,MAAM,QAAQ,GACxE,QAAQ,GACR,MAAM,GAAG,MAAM,QAAQ,EAC3B,MAAM,SAAS,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,aAAa,GACrE,QAAQ,CAAC,UAAU,CAAC,GACpB,GAAG;IAEP,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IAGb
|
|
1
|
+
{"version":3,"file":"PostgrestClient.d.ts","sourceRoot":"","sources":["../../src/PostgrestClient.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE9C;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,QAAQ,GAAG,GAAG,EACd,UAAU,SAAS,MAAM,GAAG,MAAM,QAAQ,GAAG,QAAQ,SAAS,MAAM,QAAQ,GACxE,QAAQ,GACR,MAAM,GAAG,MAAM,QAAQ,EAC3B,MAAM,SAAS,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,aAAa,GACrE,QAAQ,CAAC,UAAU,CAAC,GACpB,GAAG;IAEP,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IAGb;;;;;;;;OAQG;gBAED,GAAG,EAAE,MAAM,EACX,EACE,OAAY,EACZ,MAAM,EACN,KAAK,GACN,GAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,KAAK,CAAC,EAAE,KAAK,CAAA;KACT;IAQR;;;;OAIG;IACH,IAAI,CACF,SAAS,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EACjD,KAAK,SAAS,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EACzC,QAAQ,EAAE,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC;IACpD,IAAI,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAC1F,QAAQ,EAAE,QAAQ,GACjB,qBAAqB,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC;IAUlD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,GAAG,CACD,YAAY,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EACvD,SAAS,SAAS,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,EAEnD,EAAE,EAAE,YAAY,EAChB,IAAI,GAAE,SAAS,CAAC,MAAM,CAAM,EAC5B,EACE,IAAY,EACZ,KAAK,GACN,GAAE;QACD,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KACrC,GACL,sBAAsB,CACvB,SAAS,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,GAC9B,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1D,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAC5B,KAAK,GACP,KAAK,EACT,SAAS,CAAC,SAAS,CAAC,CACrB;CA6BF"}
|
|
@@ -6,14 +6,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const PostgrestQueryBuilder_1 = __importDefault(require("./PostgrestQueryBuilder"));
|
|
7
7
|
const PostgrestFilterBuilder_1 = __importDefault(require("./PostgrestFilterBuilder"));
|
|
8
8
|
const constants_1 = require("./constants");
|
|
9
|
+
/**
|
|
10
|
+
* PostgREST client.
|
|
11
|
+
*
|
|
12
|
+
* @typeParam Database - Types for the schema from the [type
|
|
13
|
+
* generator](https://supabase.com/docs/reference/javascript/next/typescript-support)
|
|
14
|
+
*
|
|
15
|
+
* @typeParam SchemaName - Postgres schema to switch to. Must be a string
|
|
16
|
+
* literal, the same one passed to the constructor. If the schema is not
|
|
17
|
+
* `"public"`, this must be supplied manually.
|
|
18
|
+
*/
|
|
9
19
|
class PostgrestClient {
|
|
10
20
|
// TODO: Add back shouldThrowOnError once we figure out the typings
|
|
11
21
|
/**
|
|
12
22
|
* Creates a PostgREST client.
|
|
13
23
|
*
|
|
14
|
-
* @param url
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
24
|
+
* @param url - URL of the PostgREST endpoint
|
|
25
|
+
* @param options - Named parameters
|
|
26
|
+
* @param options.headers - Custom headers
|
|
27
|
+
* @param options.schema - Postgres schema to switch to
|
|
28
|
+
* @param options.fetch - Custom fetch
|
|
17
29
|
*/
|
|
18
30
|
constructor(url, { headers = {}, schema, fetch, } = {}) {
|
|
19
31
|
this.url = url;
|
|
@@ -21,8 +33,8 @@ class PostgrestClient {
|
|
|
21
33
|
this.schema = schema;
|
|
22
34
|
this.fetch = fetch;
|
|
23
35
|
}
|
|
24
|
-
from(
|
|
25
|
-
const url = new URL(`${this.url}/${
|
|
36
|
+
from(relation) {
|
|
37
|
+
const url = new URL(`${this.url}/${relation}`);
|
|
26
38
|
return new PostgrestQueryBuilder_1.default(url, {
|
|
27
39
|
headers: Object.assign({}, this.headers),
|
|
28
40
|
schema: this.schema,
|
|
@@ -32,9 +44,23 @@ class PostgrestClient {
|
|
|
32
44
|
/**
|
|
33
45
|
* Perform a function call.
|
|
34
46
|
*
|
|
35
|
-
* @param fn
|
|
36
|
-
* @param args
|
|
37
|
-
* @param options
|
|
47
|
+
* @param fn - The function name to call
|
|
48
|
+
* @param args - The arguments to pass to the function call
|
|
49
|
+
* @param options - Named parameters
|
|
50
|
+
* @param options.head - When set to `true`, `data` will not be returned.
|
|
51
|
+
* Useful if you only need the count.
|
|
52
|
+
* @param options.count - Count algorithm to use to count rows returned by the
|
|
53
|
+
* function. Only applicable for [set-returning
|
|
54
|
+
* functions](https://www.postgresql.org/docs/current/functions-srf.html).
|
|
55
|
+
*
|
|
56
|
+
* `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the
|
|
57
|
+
* hood.
|
|
58
|
+
*
|
|
59
|
+
* `"planned"`: Approximated but fast count algorithm. Uses the Postgres
|
|
60
|
+
* statistics under the hood.
|
|
61
|
+
*
|
|
62
|
+
* `"estimated"`: Uses exact count for low numbers and planned count for high
|
|
63
|
+
* numbers.
|
|
38
64
|
*/
|
|
39
65
|
rpc(fn, args = {}, { head = false, count, } = {}) {
|
|
40
66
|
let method;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestClient.js","sourceRoot":"","sources":["../../src/PostgrestClient.ts"],"names":[],"mappings":";;;;;AAAA,oFAA2D;AAC3D,sFAA6D;AAE7D,2CAA6C;AAG7C,MAAqB,eAAe;IAclC,mEAAmE;IACnE
|
|
1
|
+
{"version":3,"file":"PostgrestClient.js","sourceRoot":"","sources":["../../src/PostgrestClient.ts"],"names":[],"mappings":";;;;;AAAA,oFAA2D;AAC3D,sFAA6D;AAE7D,2CAA6C;AAG7C;;;;;;;;;GASG;AACH,MAAqB,eAAe;IAclC,mEAAmE;IACnE;;;;;;;;OAQG;IACH,YACE,GAAW,EACX,EACE,OAAO,GAAG,EAAE,EACZ,MAAM,EACN,KAAK,MAKH,EAAE;QAEN,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,mCAAQ,2BAAe,GAAK,OAAO,CAAE,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAeD,IAAI,CAAC,QAAgB;QACnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAA;QAC9C,OAAO,IAAI,+BAAqB,CAAM,GAAG,EAAE;YACzC,OAAO,oBAAO,IAAI,CAAC,OAAO,CAAE;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,GAAG,CAID,EAAgB,EAChB,OAA0B,EAAE,EAC5B,EACE,IAAI,GAAG,KAAK,EACZ,KAAK,MAIH,EAAE;QASN,IAAI,MAAuB,CAAA;QAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAA;QAC5C,IAAI,IAAyB,CAAA;QAC7B,IAAI,IAAI,EAAE;YACR,MAAM,GAAG,MAAM,CAAA;YACf,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC7C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;YAC3C,CAAC,CAAC,CAAA;SACH;aAAM;YACL,MAAM,GAAG,MAAM,CAAA;YACf,IAAI,GAAG,IAAI,CAAA;SACZ;QAED,MAAM,OAAO,qBAAQ,IAAI,CAAC,OAAO,CAAE,CAAA;QACnC,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,KAAK,EAAE,CAAA;SACrC;QAED,OAAO,IAAI,gCAAsB,CAAC;YAChC,MAAM;YACN,GAAG;YACH,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,KAAK;SACmC,CAAC,CAAA;IACzD,CAAC;CACF;AAtID,kCAsIC"}
|