@supabase/postgrest-js 0.38.0 → 1.0.0-next.3
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 +24 -0
- package/dist/main/PostgrestBuilder.d.ts.map +1 -0
- package/dist/main/{lib/types.js → PostgrestBuilder.js} +30 -43
- package/dist/main/PostgrestBuilder.js.map +1 -0
- package/dist/main/PostgrestClient.d.ts +19 -20
- package/dist/main/PostgrestClient.d.ts.map +1 -1
- package/dist/main/PostgrestClient.js +37 -14
- package/dist/main/PostgrestClient.js.map +1 -1
- package/dist/main/{lib/PostgrestFilterBuilder.d.ts → PostgrestFilterBuilder.d.ts} +47 -90
- package/dist/main/PostgrestFilterBuilder.d.ts.map +1 -0
- package/dist/main/PostgrestFilterBuilder.js +162 -0
- package/dist/main/PostgrestFilterBuilder.js.map +1 -0
- package/dist/main/PostgrestQueryBuilder.d.ts +69 -0
- package/dist/main/PostgrestQueryBuilder.d.ts.map +1 -0
- package/dist/main/{lib/PostgrestQueryBuilder.js → PostgrestQueryBuilder.js} +81 -44
- package/dist/main/PostgrestQueryBuilder.js.map +1 -0
- package/dist/{module/lib → main}/PostgrestTransformBuilder.d.ts +14 -7
- package/dist/main/PostgrestTransformBuilder.d.ts.map +1 -0
- package/dist/main/{lib/PostgrestTransformBuilder.js → PostgrestTransformBuilder.js} +14 -15
- package/dist/main/PostgrestTransformBuilder.js.map +1 -0
- package/dist/main/{lib/constants.d.ts → constants.d.ts} +0 -0
- package/dist/main/constants.d.ts.map +1 -0
- package/dist/main/{lib/constants.js → constants.js} +0 -0
- package/dist/main/constants.js.map +1 -0
- package/dist/main/index.d.ts +6 -5
- package/dist/main/index.d.ts.map +1 -1
- package/dist/main/index.js +11 -9
- package/dist/main/index.js.map +1 -1
- package/dist/main/select-query-parser.d.ts +151 -0
- package/dist/main/select-query-parser.d.ts.map +1 -0
- package/dist/main/select-query-parser.js +4 -0
- package/dist/main/select-query-parser.js.map +1 -0
- package/dist/main/types.d.ts +54 -0
- package/dist/main/types.d.ts.map +1 -0
- package/dist/main/types.js +3 -0
- package/dist/main/types.js.map +1 -0
- package/dist/main/version.d.ts +2 -0
- package/dist/main/version.d.ts.map +1 -0
- package/dist/main/{lib/version.js → version.js} +1 -2
- package/dist/main/version.js.map +1 -0
- package/dist/module/PostgrestBuilder.d.ts +24 -0
- package/dist/module/PostgrestBuilder.d.ts.map +1 -0
- package/dist/module/{lib/types.js → PostgrestBuilder.js} +27 -23
- package/dist/module/PostgrestBuilder.js.map +1 -0
- package/dist/module/PostgrestClient.d.ts +19 -20
- package/dist/module/PostgrestClient.d.ts.map +1 -1
- package/dist/module/PostgrestClient.js +37 -14
- package/dist/module/PostgrestClient.js.map +1 -1
- package/dist/module/{lib/PostgrestFilterBuilder.d.ts → PostgrestFilterBuilder.d.ts} +47 -90
- package/dist/module/PostgrestFilterBuilder.d.ts.map +1 -0
- package/dist/module/PostgrestFilterBuilder.js +156 -0
- package/dist/module/PostgrestFilterBuilder.js.map +1 -0
- package/dist/module/PostgrestQueryBuilder.d.ts +69 -0
- package/dist/module/PostgrestQueryBuilder.d.ts.map +1 -0
- package/dist/module/PostgrestQueryBuilder.js +169 -0
- package/dist/module/PostgrestQueryBuilder.js.map +1 -0
- package/dist/{main/lib → module}/PostgrestTransformBuilder.d.ts +14 -7
- package/dist/module/PostgrestTransformBuilder.d.ts.map +1 -0
- package/dist/module/{lib/PostgrestTransformBuilder.js → PostgrestTransformBuilder.js} +10 -14
- package/dist/module/PostgrestTransformBuilder.js.map +1 -0
- package/dist/module/{lib/constants.d.ts → constants.d.ts} +0 -0
- package/dist/module/constants.d.ts.map +1 -0
- package/dist/module/{lib/constants.js → constants.js} +0 -0
- package/dist/module/constants.js.map +1 -0
- package/dist/module/index.d.ts +6 -5
- package/dist/module/index.d.ts.map +1 -1
- package/dist/module/index.js +5 -5
- package/dist/module/index.js.map +1 -1
- package/dist/module/select-query-parser.d.ts +151 -0
- package/dist/module/select-query-parser.d.ts.map +1 -0
- package/dist/module/select-query-parser.js +3 -0
- package/dist/module/select-query-parser.js.map +1 -0
- package/dist/module/types.d.ts +54 -0
- package/dist/module/types.d.ts.map +1 -0
- package/dist/module/types.js +2 -0
- package/dist/module/types.js.map +1 -0
- package/dist/module/version.d.ts +2 -0
- package/dist/module/version.d.ts.map +1 -0
- package/dist/module/version.js +2 -0
- package/dist/module/version.js.map +1 -0
- package/package.json +18 -19
- package/dist/main/lib/PostgrestFilterBuilder.d.ts.map +0 -1
- package/dist/main/lib/PostgrestFilterBuilder.js +0 -396
- package/dist/main/lib/PostgrestFilterBuilder.js.map +0 -1
- package/dist/main/lib/PostgrestQueryBuilder.d.ts +0 -80
- package/dist/main/lib/PostgrestQueryBuilder.d.ts.map +0 -1
- package/dist/main/lib/PostgrestQueryBuilder.js.map +0 -1
- package/dist/main/lib/PostgrestRpcBuilder.d.ts +0 -20
- package/dist/main/lib/PostgrestRpcBuilder.d.ts.map +0 -1
- package/dist/main/lib/PostgrestRpcBuilder.js +0 -41
- package/dist/main/lib/PostgrestRpcBuilder.js.map +0 -1
- package/dist/main/lib/PostgrestTransformBuilder.d.ts.map +0 -1
- package/dist/main/lib/PostgrestTransformBuilder.js.map +0 -1
- package/dist/main/lib/constants.d.ts.map +0 -1
- package/dist/main/lib/constants.js.map +0 -1
- package/dist/main/lib/types.d.ts +0 -65
- package/dist/main/lib/types.d.ts.map +0 -1
- package/dist/main/lib/types.js.map +0 -1
- package/dist/main/lib/version.d.ts +0 -2
- package/dist/main/lib/version.d.ts.map +0 -1
- package/dist/main/lib/version.js.map +0 -1
- package/dist/module/lib/PostgrestFilterBuilder.d.ts.map +0 -1
- package/dist/module/lib/PostgrestFilterBuilder.js +0 -390
- package/dist/module/lib/PostgrestFilterBuilder.js.map +0 -1
- package/dist/module/lib/PostgrestQueryBuilder.d.ts +0 -80
- package/dist/module/lib/PostgrestQueryBuilder.d.ts.map +0 -1
- package/dist/module/lib/PostgrestQueryBuilder.js +0 -132
- package/dist/module/lib/PostgrestQueryBuilder.js.map +0 -1
- package/dist/module/lib/PostgrestRpcBuilder.d.ts +0 -20
- package/dist/module/lib/PostgrestRpcBuilder.d.ts.map +0 -1
- package/dist/module/lib/PostgrestRpcBuilder.js +0 -35
- package/dist/module/lib/PostgrestRpcBuilder.js.map +0 -1
- package/dist/module/lib/PostgrestTransformBuilder.d.ts.map +0 -1
- package/dist/module/lib/PostgrestTransformBuilder.js.map +0 -1
- package/dist/module/lib/constants.d.ts.map +0 -1
- package/dist/module/lib/constants.js.map +0 -1
- package/dist/module/lib/types.d.ts +0 -65
- package/dist/module/lib/types.d.ts.map +0 -1
- package/dist/module/lib/types.js.map +0 -1
- package/dist/module/lib/version.d.ts +0 -2
- package/dist/module/lib/version.d.ts.map +0 -1
- package/dist/module/lib/version.js +0 -3
- package/dist/module/lib/version.js.map +0 -1
- package/src/PostgrestClient.ts +0 -94
- package/src/index.ts +0 -21
- package/src/lib/PostgrestFilterBuilder.ts +0 -469
- package/src/lib/PostgrestQueryBuilder.ts +0 -230
- package/src/lib/PostgrestRpcBuilder.ts +0 -58
- package/src/lib/PostgrestTransformBuilder.ts +0 -175
- package/src/lib/constants.ts +0 -2
- package/src/lib/types.ts +0 -191
- package/src/lib/version.ts +0 -2
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Fetch, PostgrestResponse } from './types';
|
|
2
|
+
export default abstract class PostgrestBuilder<Result> implements PromiseLike<PostgrestResponse<Result>> {
|
|
3
|
+
protected method: 'GET' | 'HEAD' | 'POST' | 'PATCH' | 'DELETE';
|
|
4
|
+
protected url: URL;
|
|
5
|
+
protected headers: Record<string, string>;
|
|
6
|
+
protected schema?: string;
|
|
7
|
+
protected body?: unknown;
|
|
8
|
+
protected shouldThrowOnError: boolean;
|
|
9
|
+
protected signal?: AbortSignal;
|
|
10
|
+
protected fetch: Fetch;
|
|
11
|
+
protected allowEmpty: boolean;
|
|
12
|
+
constructor(builder: PostgrestBuilder<Result>);
|
|
13
|
+
/**
|
|
14
|
+
* If there's an error with the query, throwOnError will reject the promise by
|
|
15
|
+
* throwing the error instead of returning it as part of a successful response.
|
|
16
|
+
*
|
|
17
|
+
* {@link https://github.com/supabase/supabase-js/issues/92}
|
|
18
|
+
*
|
|
19
|
+
* @deprecated Use `throwOnError` in the `PostgrestClient` constructor instead.
|
|
20
|
+
*/
|
|
21
|
+
throwOnError(throwOnError?: boolean): this;
|
|
22
|
+
then<TResult1 = PostgrestResponse<Result>, TResult2 = never>(onfulfilled?: ((value: PostgrestResponse<Result>) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): PromiseLike<TResult1 | TResult2>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=PostgrestBuilder.d.ts.map
|
|
@@ -0,0 +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,EAAE,OAAO,CAAA;IACrC,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;;;;;;;OAOG;IACH,YAAY,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAK1C,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;CA+FpC"}
|
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -27,36 +8,41 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
27
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
9
|
});
|
|
29
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
30
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
|
|
15
|
+
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
32
16
|
class PostgrestBuilder {
|
|
33
17
|
constructor(builder) {
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
this.method = builder.method;
|
|
19
|
+
this.url = builder.url;
|
|
20
|
+
this.headers = builder.headers;
|
|
21
|
+
this.schema = builder.schema;
|
|
22
|
+
this.body = builder.body;
|
|
23
|
+
this.shouldThrowOnError = builder.shouldThrowOnError;
|
|
24
|
+
this.signal = builder.signal;
|
|
25
|
+
this.allowEmpty = builder.allowEmpty;
|
|
36
26
|
if (builder.fetch) {
|
|
37
|
-
|
|
27
|
+
this.fetch = builder.fetch;
|
|
38
28
|
}
|
|
39
29
|
else if (typeof fetch === 'undefined') {
|
|
40
|
-
|
|
30
|
+
this.fetch = cross_fetch_1.default;
|
|
41
31
|
}
|
|
42
32
|
else {
|
|
43
|
-
|
|
33
|
+
this.fetch = fetch;
|
|
44
34
|
}
|
|
45
|
-
this.fetch = (...args) => _fetch(...args);
|
|
46
|
-
this.shouldThrowOnError = builder.shouldThrowOnError || false;
|
|
47
|
-
this.allowEmpty = builder.allowEmpty || false;
|
|
48
35
|
}
|
|
49
36
|
/**
|
|
50
37
|
* If there's an error with the query, throwOnError will reject the promise by
|
|
51
38
|
* throwing the error instead of returning it as part of a successful response.
|
|
52
39
|
*
|
|
53
40
|
* {@link https://github.com/supabase/supabase-js/issues/92}
|
|
41
|
+
*
|
|
42
|
+
* @deprecated Use `throwOnError` in the `PostgrestClient` constructor instead.
|
|
54
43
|
*/
|
|
55
44
|
throwOnError(throwOnError) {
|
|
56
|
-
|
|
57
|
-
throwOnError = true;
|
|
58
|
-
}
|
|
59
|
-
this.shouldThrowOnError = throwOnError;
|
|
45
|
+
this.shouldThrowOnError = throwOnError !== null && throwOnError !== void 0 ? throwOnError : true;
|
|
60
46
|
return this;
|
|
61
47
|
}
|
|
62
48
|
then(onfulfilled, onrejected) {
|
|
@@ -73,16 +59,19 @@ class PostgrestBuilder {
|
|
|
73
59
|
if (this.method !== 'GET' && this.method !== 'HEAD') {
|
|
74
60
|
this.headers['Content-Type'] = 'application/json';
|
|
75
61
|
}
|
|
76
|
-
|
|
62
|
+
// NOTE: Invoke w/o `this` to avoid illegal invocation error.
|
|
63
|
+
// https://github.com/supabase/postgrest-js/pull/247
|
|
64
|
+
const _fetch = this.fetch;
|
|
65
|
+
let res = _fetch(this.url.toString(), {
|
|
77
66
|
method: this.method,
|
|
78
67
|
headers: this.headers,
|
|
79
68
|
body: JSON.stringify(this.body),
|
|
80
69
|
signal: this.signal,
|
|
81
70
|
}).then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
82
71
|
var _a, _b, _c, _d;
|
|
83
|
-
let error =
|
|
84
|
-
let data =
|
|
85
|
-
let count =
|
|
72
|
+
let error = undefined;
|
|
73
|
+
let data = undefined;
|
|
74
|
+
let count = undefined;
|
|
86
75
|
let status = res.status;
|
|
87
76
|
let statusText = res.statusText;
|
|
88
77
|
if (res.ok) {
|
|
@@ -116,7 +105,7 @@ class PostgrestBuilder {
|
|
|
116
105
|
};
|
|
117
106
|
}
|
|
118
107
|
if (error && this.allowEmpty && ((_d = error === null || error === void 0 ? void 0 : error.details) === null || _d === void 0 ? void 0 : _d.includes('Results contain 0 rows'))) {
|
|
119
|
-
error =
|
|
108
|
+
error = undefined;
|
|
120
109
|
status = 200;
|
|
121
110
|
statusText = 'OK';
|
|
122
111
|
}
|
|
@@ -130,7 +119,6 @@ class PostgrestBuilder {
|
|
|
130
119
|
count,
|
|
131
120
|
status,
|
|
132
121
|
statusText,
|
|
133
|
-
body: data,
|
|
134
122
|
};
|
|
135
123
|
return postgrestResponse;
|
|
136
124
|
}));
|
|
@@ -142,9 +130,8 @@ class PostgrestBuilder {
|
|
|
142
130
|
hint: '',
|
|
143
131
|
code: fetchError.code || '',
|
|
144
132
|
},
|
|
145
|
-
data:
|
|
146
|
-
|
|
147
|
-
count: null,
|
|
133
|
+
data: undefined,
|
|
134
|
+
count: undefined,
|
|
148
135
|
status: 400,
|
|
149
136
|
statusText: 'Bad Request',
|
|
150
137
|
}));
|
|
@@ -152,5 +139,5 @@ class PostgrestBuilder {
|
|
|
152
139
|
return res.then(onfulfilled, onrejected);
|
|
153
140
|
}
|
|
154
141
|
}
|
|
155
|
-
exports.
|
|
156
|
-
//# sourceMappingURL=
|
|
142
|
+
exports.default = PostgrestBuilder;
|
|
143
|
+
//# sourceMappingURL=PostgrestBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgrestBuilder.js","sourceRoot":"","sources":["../../src/PostgrestBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import PostgrestQueryBuilder from './
|
|
2
|
-
import PostgrestFilterBuilder from './
|
|
3
|
-
import { Fetch } from './
|
|
4
|
-
export default class PostgrestClient {
|
|
1
|
+
import PostgrestQueryBuilder from './PostgrestQueryBuilder';
|
|
2
|
+
import PostgrestFilterBuilder from './PostgrestFilterBuilder';
|
|
3
|
+
import { Fetch, GenericSchema } from './types';
|
|
4
|
+
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
5
|
url: string;
|
|
6
|
-
headers:
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
schema?: string;
|
|
6
|
+
headers: Record<string, string>;
|
|
7
|
+
schema?: SchemaName;
|
|
10
8
|
fetch?: Fetch;
|
|
11
|
-
shouldThrowOnError
|
|
9
|
+
shouldThrowOnError: boolean;
|
|
12
10
|
/**
|
|
13
11
|
* Creates a PostgREST client.
|
|
14
12
|
*
|
|
@@ -17,10 +15,8 @@ export default class PostgrestClient {
|
|
|
17
15
|
* @param schema Postgres schema to switch to.
|
|
18
16
|
*/
|
|
19
17
|
constructor(url: string, { headers, schema, fetch, throwOnError, }?: {
|
|
20
|
-
headers?:
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
schema?: string;
|
|
18
|
+
headers?: Record<string, string>;
|
|
19
|
+
schema?: SchemaName;
|
|
24
20
|
fetch?: Fetch;
|
|
25
21
|
throwOnError?: boolean;
|
|
26
22
|
});
|
|
@@ -28,6 +24,8 @@ export default class PostgrestClient {
|
|
|
28
24
|
* Authenticates the request with JWT.
|
|
29
25
|
*
|
|
30
26
|
* @param token The JWT token to use.
|
|
27
|
+
*
|
|
28
|
+
* @deprecated Use `headers` in constructor instead.
|
|
31
29
|
*/
|
|
32
30
|
auth(token: string): this;
|
|
33
31
|
/**
|
|
@@ -35,18 +33,19 @@ export default class PostgrestClient {
|
|
|
35
33
|
*
|
|
36
34
|
* @param table The table name to operate on.
|
|
37
35
|
*/
|
|
38
|
-
from<
|
|
36
|
+
from<TableName extends string & keyof Schema['Tables'], Table extends Schema['Tables'][TableName]>(table: TableName): PostgrestQueryBuilder<Table>;
|
|
39
37
|
/**
|
|
40
38
|
* Perform a function call.
|
|
41
39
|
*
|
|
42
40
|
* @param fn The function name to call.
|
|
43
|
-
* @param
|
|
44
|
-
* @param
|
|
45
|
-
* @param
|
|
41
|
+
* @param args The parameters to pass to the function call.
|
|
42
|
+
* @param options Named parameters.
|
|
43
|
+
* @param options.head When set to true, no data will be returned.
|
|
44
|
+
* @param options.count Count algorithm to use to count rows in a table.
|
|
46
45
|
*/
|
|
47
|
-
rpc<
|
|
46
|
+
rpc<FunctionName extends string & keyof Schema['Functions'], Function_ extends Schema['Functions'][FunctionName]>(fn: FunctionName, args?: Function_['Args'], { head, count, }?: {
|
|
48
47
|
head?: boolean;
|
|
49
|
-
count?:
|
|
50
|
-
}): PostgrestFilterBuilder<
|
|
48
|
+
count?: 'exact' | 'planned' | 'estimated';
|
|
49
|
+
}): PostgrestFilterBuilder<Function_['Returns'] extends any[] ? Function_['Returns'][number] extends Record<string, unknown> ? Function_['Returns'][number] : never : never, Function_['Returns']>;
|
|
51
50
|
}
|
|
52
51
|
//# sourceMappingURL=PostgrestClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestClient.d.ts","sourceRoot":"","sources":["../../src/PostgrestClient.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,
|
|
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;IACb,kBAAkB,EAAE,OAAO,CAAA;IAE3B;;;;;;OAMG;gBAED,GAAG,EAAE,MAAM,EACX,EACE,OAAY,EACZ,MAAM,EACN,KAAK,EACL,YAAoB,GACrB,GAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,KAAK,CAAC,EAAE,KAAK,CAAA;QACb,YAAY,CAAC,EAAE,OAAO,CAAA;KAClB;IASR;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;OAIG;IACH,IAAI,CACF,SAAS,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EACjD,KAAK,SAAS,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EACzC,KAAK,EAAE,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC;IAUjD;;;;;;;;OAQG;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;CA8BF"}
|
|
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const PostgrestQueryBuilder_1 = __importDefault(require("./
|
|
7
|
-
const
|
|
8
|
-
const constants_1 = require("./
|
|
6
|
+
const PostgrestQueryBuilder_1 = __importDefault(require("./PostgrestQueryBuilder"));
|
|
7
|
+
const PostgrestFilterBuilder_1 = __importDefault(require("./PostgrestFilterBuilder"));
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
9
|
class PostgrestClient {
|
|
10
10
|
/**
|
|
11
11
|
* Creates a PostgREST client.
|
|
@@ -14,7 +14,7 @@ class PostgrestClient {
|
|
|
14
14
|
* @param headers Custom headers.
|
|
15
15
|
* @param schema Postgres schema to switch to.
|
|
16
16
|
*/
|
|
17
|
-
constructor(url, { headers = {}, schema, fetch, throwOnError, } = {}) {
|
|
17
|
+
constructor(url, { headers = {}, schema, fetch, throwOnError = false, } = {}) {
|
|
18
18
|
this.url = url;
|
|
19
19
|
this.headers = Object.assign(Object.assign({}, constants_1.DEFAULT_HEADERS), headers);
|
|
20
20
|
this.schema = schema;
|
|
@@ -25,6 +25,8 @@ class PostgrestClient {
|
|
|
25
25
|
* Authenticates the request with JWT.
|
|
26
26
|
*
|
|
27
27
|
* @param token The JWT token to use.
|
|
28
|
+
*
|
|
29
|
+
* @deprecated Use `headers` in constructor instead.
|
|
28
30
|
*/
|
|
29
31
|
auth(token) {
|
|
30
32
|
this.headers['Authorization'] = `Bearer ${token}`;
|
|
@@ -36,9 +38,9 @@ class PostgrestClient {
|
|
|
36
38
|
* @param table The table name to operate on.
|
|
37
39
|
*/
|
|
38
40
|
from(table) {
|
|
39
|
-
const url = `${this.url}/${table}
|
|
41
|
+
const url = new URL(`${this.url}/${table}`);
|
|
40
42
|
return new PostgrestQueryBuilder_1.default(url, {
|
|
41
|
-
headers: this.headers,
|
|
43
|
+
headers: Object.assign({}, this.headers),
|
|
42
44
|
schema: this.schema,
|
|
43
45
|
fetch: this.fetch,
|
|
44
46
|
shouldThrowOnError: this.shouldThrowOnError,
|
|
@@ -48,18 +50,39 @@ class PostgrestClient {
|
|
|
48
50
|
* Perform a function call.
|
|
49
51
|
*
|
|
50
52
|
* @param fn The function name to call.
|
|
51
|
-
* @param
|
|
52
|
-
* @param
|
|
53
|
-
* @param
|
|
53
|
+
* @param args The parameters to pass to the function call.
|
|
54
|
+
* @param options Named parameters.
|
|
55
|
+
* @param options.head When set to true, no data will be returned.
|
|
56
|
+
* @param options.count Count algorithm to use to count rows in a table.
|
|
54
57
|
*/
|
|
55
|
-
rpc(fn,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
rpc(fn, args = {}, { head = false, count, } = {}) {
|
|
59
|
+
let method;
|
|
60
|
+
const url = new URL(`${this.url}/rpc/${fn}`);
|
|
61
|
+
let body;
|
|
62
|
+
if (head) {
|
|
63
|
+
method = 'HEAD';
|
|
64
|
+
Object.entries(args).forEach(([name, value]) => {
|
|
65
|
+
url.searchParams.append(name, `${value}`);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
method = 'POST';
|
|
70
|
+
body = args;
|
|
71
|
+
}
|
|
72
|
+
const headers = Object.assign({}, this.headers);
|
|
73
|
+
if (count) {
|
|
74
|
+
headers['Prefer'] = `count=${count}`;
|
|
75
|
+
}
|
|
76
|
+
return new PostgrestFilterBuilder_1.default({
|
|
77
|
+
method,
|
|
78
|
+
url,
|
|
79
|
+
headers,
|
|
59
80
|
schema: this.schema,
|
|
81
|
+
body,
|
|
60
82
|
fetch: this.fetch,
|
|
61
83
|
shouldThrowOnError: this.shouldThrowOnError,
|
|
62
|
-
|
|
84
|
+
allowEmpty: false,
|
|
85
|
+
});
|
|
63
86
|
}
|
|
64
87
|
}
|
|
65
88
|
exports.default = PostgrestClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestClient.js","sourceRoot":"","sources":["../../src/PostgrestClient.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"PostgrestClient.js","sourceRoot":"","sources":["../../src/PostgrestClient.ts"],"names":[],"mappings":";;;;;AAAA,oFAA2D;AAC3D,sFAA6D;AAE7D,2CAA6C;AAG7C,MAAqB,eAAe;IAelC;;;;;;OAMG;IACH,YACE,GAAW,EACX,EACE,OAAO,GAAG,EAAE,EACZ,MAAM,EACN,KAAK,EACL,YAAY,GAAG,KAAK,MAMlB,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;QAClB,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAA;IACxC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,IAAI,CAGF,KAAgB;QAChB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;QAC3C,OAAO,IAAI,+BAAqB,CAAQ,GAAG,EAAE;YAC3C,OAAO,oBAAO,IAAI,CAAC,OAAO,CAAE;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;OAQG;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,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,UAAU,EAAE,KAAK;SACmC,CAAC,CAAA;IACzD,CAAC;CACF;AApID,kCAoIC"}
|