@supabase/postgrest-js 1.0.0 → 1.1.1
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 +1 -1
- package/dist/main/PostgrestBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestBuilder.js +17 -3
- package/dist/main/PostgrestBuilder.js.map +1 -1
- package/dist/main/PostgrestClient.d.ts +4 -9
- package/dist/main/PostgrestClient.d.ts.map +1 -1
- package/dist/main/PostgrestClient.js +5 -0
- package/dist/main/PostgrestClient.js.map +1 -1
- package/dist/main/PostgrestFilterBuilder.d.ts +2 -171
- package/dist/main/PostgrestFilterBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestFilterBuilder.js +170 -0
- package/dist/main/PostgrestFilterBuilder.js.map +1 -1
- package/dist/main/PostgrestQueryBuilder.d.ts +8 -8
- package/dist/main/PostgrestQueryBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestQueryBuilder.js.map +1 -1
- package/dist/main/PostgrestTransformBuilder.d.ts +9 -19
- package/dist/main/PostgrestTransformBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestTransformBuilder.js +24 -0
- package/dist/main/PostgrestTransformBuilder.js.map +1 -1
- package/dist/main/select-query-parser.d.ts +31 -21
- package/dist/main/select-query-parser.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 +17 -3
- package/dist/module/PostgrestBuilder.js.map +1 -1
- package/dist/module/PostgrestClient.d.ts +4 -9
- package/dist/module/PostgrestClient.d.ts.map +1 -1
- package/dist/module/PostgrestClient.js +5 -0
- package/dist/module/PostgrestClient.js.map +1 -1
- package/dist/module/PostgrestFilterBuilder.d.ts +2 -171
- package/dist/module/PostgrestFilterBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestFilterBuilder.js +170 -0
- package/dist/module/PostgrestFilterBuilder.js.map +1 -1
- package/dist/module/PostgrestQueryBuilder.d.ts +8 -8
- package/dist/module/PostgrestQueryBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestQueryBuilder.js.map +1 -1
- package/dist/module/PostgrestTransformBuilder.d.ts +9 -19
- package/dist/module/PostgrestTransformBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestTransformBuilder.js +24 -0
- package/dist/module/PostgrestTransformBuilder.js.map +1 -1
- package/dist/module/select-query-parser.d.ts +31 -21
- package/dist/module/select-query-parser.d.ts.map +1 -1
- package/dist/module/version.d.ts +1 -1
- package/dist/module/version.js +1 -1
- package/package.json +8 -4
- package/src/PostgrestBuilder.ts +16 -2
- package/src/PostgrestClient.ts +11 -10
- package/src/PostgrestFilterBuilder.ts +75 -73
- package/src/PostgrestQueryBuilder.ts +11 -11
- package/src/PostgrestTransformBuilder.ts +27 -12
- package/src/select-query-parser.ts +40 -22
- package/src/version.ts +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GenericSchema } from './types';
|
|
1
2
|
declare type Whitespace = ' ' | '\n' | '\t';
|
|
2
3
|
declare type LowerAlphabet = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z';
|
|
3
4
|
declare type Alphabet = LowerAlphabet | Uppercase<LowerAlphabet>;
|
|
@@ -21,13 +22,14 @@ declare type EatWhitespace<Input extends string> = string extends Input ? Generi
|
|
|
21
22
|
* @param Name Name of the table being queried.
|
|
22
23
|
* @param Field Single field parsed by `ParseQuery`.
|
|
23
24
|
*/
|
|
24
|
-
declare type ConstructFieldDefinition<Row extends Record<string, unknown>, Field> = Field extends {
|
|
25
|
+
declare type ConstructFieldDefinition<Schema extends GenericSchema, Row extends Record<string, unknown>, Field> = Field extends {
|
|
25
26
|
star: true;
|
|
26
27
|
} ? Row : Field extends {
|
|
27
28
|
name: string;
|
|
28
|
-
|
|
29
|
+
original: string;
|
|
30
|
+
children: unknown[];
|
|
29
31
|
} ? {
|
|
30
|
-
[
|
|
32
|
+
[_ in Field['name']]: GetResultHelper<Schema, (Schema['Tables'] & Schema['Views'])[Field['original']]['Row'], Field['children'], unknown> extends infer Child ? Child | Child[] | null : never;
|
|
31
33
|
} : Field extends {
|
|
32
34
|
name: string;
|
|
33
35
|
original: string;
|
|
@@ -71,64 +73,71 @@ declare type ParseIdentifier<Input extends string> = ReadLetters<Input>;
|
|
|
71
73
|
*/
|
|
72
74
|
declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [{
|
|
73
75
|
star: true;
|
|
74
|
-
}, EatWhitespace<Remainder>] : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer
|
|
76
|
+
}, EatWhitespace<Remainder>] : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
|
|
75
77
|
{
|
|
76
78
|
name: Name;
|
|
77
|
-
|
|
79
|
+
original: Name;
|
|
80
|
+
children: Fields;
|
|
78
81
|
},
|
|
79
82
|
EatWhitespace<Remainder>
|
|
80
83
|
] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : EatWhitespace<Remainder> extends `!${infer Remainder}` ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer _Hint, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
81
|
-
infer
|
|
84
|
+
infer Fields,
|
|
82
85
|
`${infer Remainder}`
|
|
83
86
|
] ? [
|
|
84
87
|
{
|
|
85
88
|
name: Name;
|
|
86
|
-
|
|
89
|
+
original: Name;
|
|
90
|
+
children: Fields;
|
|
87
91
|
},
|
|
88
92
|
EatWhitespace<Remainder>
|
|
89
93
|
] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
90
|
-
infer
|
|
94
|
+
infer Fields,
|
|
91
95
|
`${infer Remainder}`
|
|
92
96
|
] ? [
|
|
93
97
|
{
|
|
94
98
|
name: Name;
|
|
95
|
-
|
|
99
|
+
original: Name;
|
|
100
|
+
children: Fields;
|
|
96
101
|
},
|
|
97
102
|
EatWhitespace<Remainder>
|
|
98
103
|
] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!hint`'> : ParserError<'Expected identifier after `!`'> : EatWhitespace<Remainder> extends `:${infer Remainder}` ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer OriginalName, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
99
|
-
infer
|
|
104
|
+
infer Fields,
|
|
100
105
|
`${infer Remainder}`
|
|
101
106
|
] ? [
|
|
102
107
|
{
|
|
103
108
|
name: Name;
|
|
104
|
-
|
|
109
|
+
original: OriginalName;
|
|
110
|
+
children: Fields;
|
|
105
111
|
},
|
|
106
112
|
EatWhitespace<Remainder>
|
|
107
113
|
] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : EatWhitespace<Remainder> extends `!${infer Remainder}` ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer _Hint, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
108
|
-
infer
|
|
114
|
+
infer Fields,
|
|
109
115
|
`${infer Remainder}`
|
|
110
116
|
] ? [
|
|
111
117
|
{
|
|
112
118
|
name: Name;
|
|
113
|
-
|
|
119
|
+
original: OriginalName;
|
|
120
|
+
children: Fields;
|
|
114
121
|
},
|
|
115
122
|
EatWhitespace<Remainder>
|
|
116
123
|
] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
117
|
-
infer
|
|
124
|
+
infer Fields,
|
|
118
125
|
`${infer Remainder}`
|
|
119
126
|
] ? [
|
|
120
127
|
{
|
|
121
128
|
name: Name;
|
|
122
|
-
|
|
129
|
+
original: OriginalName;
|
|
130
|
+
children: Fields;
|
|
123
131
|
},
|
|
124
132
|
EatWhitespace<Remainder>
|
|
125
133
|
] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!hint`'> : ParserError<'Expected identifier after `!`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
126
|
-
infer
|
|
134
|
+
infer Fields,
|
|
127
135
|
`${infer Remainder}`
|
|
128
136
|
] ? [
|
|
129
137
|
{
|
|
130
138
|
name: Name;
|
|
131
|
-
|
|
139
|
+
original: OriginalName;
|
|
140
|
+
children: Fields;
|
|
132
141
|
},
|
|
133
142
|
EatWhitespace<Remainder>
|
|
134
143
|
] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : [
|
|
@@ -137,10 +146,11 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
|
|
|
137
146
|
original: OriginalName;
|
|
138
147
|
},
|
|
139
148
|
EatWhitespace<Remainder>
|
|
140
|
-
] : ParseIdentifier<EatWhitespace<Remainder>> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer
|
|
149
|
+
] : ParseIdentifier<EatWhitespace<Remainder>> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
|
|
141
150
|
{
|
|
142
151
|
name: Name;
|
|
143
|
-
|
|
152
|
+
original: Name;
|
|
153
|
+
children: Fields;
|
|
144
154
|
},
|
|
145
155
|
EatWhitespace<Remainder>
|
|
146
156
|
] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : [
|
|
@@ -176,13 +186,13 @@ declare type ParseNodesHelper<Input extends string, Fields extends unknown[]> =
|
|
|
176
186
|
* Returns an array of parsed nodes, or an error.
|
|
177
187
|
*/
|
|
178
188
|
declare type ParseQuery<Query extends string> = string extends Query ? GenericStringError : ParseNodes<EatWhitespace<Query>> extends [infer Fields, `${infer Remainder}`] ? EatWhitespace<Remainder> extends '' ? Fields : ParserError<`Unexpected input: ${Remainder}`> : ParseNodes<EatWhitespace<Query>>;
|
|
179
|
-
declare type GetResultHelper<Row extends Record<string, unknown>, Fields extends unknown[], Acc> = Fields extends [infer R] ? GetResultHelper<Row, [], ConstructFieldDefinition<Row, R> & Acc> : Fields extends [infer R, ...infer Rest] ? GetResultHelper<Row, Rest, ConstructFieldDefinition<Row, R> & Acc> : Acc;
|
|
189
|
+
declare type GetResultHelper<Schema extends GenericSchema, Row extends Record<string, unknown>, Fields extends unknown[], Acc> = Fields extends [infer R] ? GetResultHelper<Schema, Row, [], ConstructFieldDefinition<Schema, Row, R> & Acc> : Fields extends [infer R, ...infer Rest] ? GetResultHelper<Schema, Row, Rest, ConstructFieldDefinition<Schema, Row, R> & Acc> : Acc;
|
|
180
190
|
/**
|
|
181
191
|
* Constructs a type definition for an object based on a given PostgREST query.
|
|
182
192
|
*
|
|
183
193
|
* @param Row Record<string, unknown>.
|
|
184
194
|
* @param Query Select query string literal to parse.
|
|
185
195
|
*/
|
|
186
|
-
export declare type GetResult<Row extends Record<string, unknown>, Query extends string> = ParseQuery<Query> extends unknown[] ? GetResultHelper<Row, ParseQuery<Query>, unknown> : ParseQuery<Query>;
|
|
196
|
+
export declare type GetResult<Schema extends GenericSchema, Row extends Record<string, unknown>, Query extends string> = ParseQuery<Query> extends unknown[] ? GetResultHelper<Schema, Row, ParseQuery<Query>, unknown> : ParseQuery<Query>;
|
|
187
197
|
export {};
|
|
188
198
|
//# sourceMappingURL=select-query-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-query-parser.d.ts","sourceRoot":"","sources":["../../src/select-query-parser.ts"],"names":[],"mappings":"AAEA,aAAK,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;AAEnC,aAAK,aAAa,GACd,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAA;AAEP,aAAK,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;AAExD,aAAK,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAEtE,aAAK,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAA;AAWpC;;GAEG;AACH,aAAK,WAAW,CAAC,OAAO,SAAS,MAAM,IAAI;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAA;AACpE,aAAK,kBAAkB,GAAG,WAAW,CAAC,2BAA2B,CAAC,CAAA;AAElE;;GAEG;AACH,aAAK,aAAa,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC3D,kBAAkB,GAClB,KAAK,SAAS,GAAG,UAAU,GAAG,MAAM,SAAS,EAAE,GAC/C,aAAa,CAAC,SAAS,CAAC,GACxB,KAAK,CAAA;AAET;;;;;;GAMG;AACH,aAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"select-query-parser.d.ts","sourceRoot":"","sources":["../../src/select-query-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,aAAK,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;AAEnC,aAAK,aAAa,GACd,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAA;AAEP,aAAK,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;AAExD,aAAK,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAEtE,aAAK,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAA;AAWpC;;GAEG;AACH,aAAK,WAAW,CAAC,OAAO,SAAS,MAAM,IAAI;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAA;AACpE,aAAK,kBAAkB,GAAG,WAAW,CAAC,2BAA2B,CAAC,CAAA;AAElE;;GAEG;AACH,aAAK,aAAa,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC3D,kBAAkB,GAClB,KAAK,SAAS,GAAG,UAAU,GAAG,MAAM,SAAS,EAAE,GAC/C,aAAa,CAAC,SAAS,CAAC,GACxB,KAAK,CAAA;AAET;;;;;;GAMG;AACH,aAAK,wBAAwB,CAC3B,MAAM,SAAS,aAAa,EAC5B,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,IACH,KAAK,SAAS;IAChB,IAAI,EAAE,IAAI,CAAA;CACX,GACG,GAAG,GACH,KAAK,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,GACrE;KACG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,eAAe,CACnC,MAAM,EACN,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAC9D,KAAK,CAAC,UAAU,CAAC,EACjB,OAAO,CACR,SAAS,MAAM,KAAK,GACjB,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,GACtB,KAAK;CACV,GACD,KAAK,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChD;KAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;CAAE,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3B;;;;GAIG;AAEH;;;GAGG;AACH,aAAK,WAAW,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GACzD,kBAAkB,GAClB,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC/E,OAAO,SAAS,EAAE,GAChB,WAAW,CAAC,wBAAwB,KAAK,IAAI,CAAC,GAC9C,CAAC,OAAO,EAAE,SAAS,CAAC,GACtB,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAEhC,aAAK,iBAAiB,CAAC,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GACnF,kBAAkB,GAClB,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,SAAS,EAAE,GAC5C,CAAC,SAAS,MAAM,GACd,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAC1C,CAAC,GAAG,EAAE,KAAK,CAAC,GACd,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAEb;;;;;GAKG;AACH,aAAK,eAAe,CAAC,KAAK,SAAS,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,CAAA;AAE/D;;;;;;;;;;;;;;;;GAgBG;AACH,aAAK,SAAS,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,EAAE,GACnD,WAAW,CAAC,cAAc,CAAC,GAE7B,KAAK,SAAS,IAAI,MAAM,SAAS,EAAE,GACjC,CAAC;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAC1C,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACjE,aAAa,CAAC,SAAS,CAAC,SAAS,SAAS,MAAM,SAAS,EAAE,GACzD,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAE1F;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GAC5E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC/C,WAAW,CAAC,2CAA2C,CAAC,GAC1D,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACtD,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACnF,aAAa,CAAC,SAAS,CAAC,SAAS,SAAS,MAAM,SAAS,EAAE,GACzD,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,MAAM;IACZ,GAAG,MAAM,SAAS,EAAE;CACrB,GAEC;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GAC5E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC/C,WAAW,CAAC,2CAA2C,CAAC,GAC1D,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,MAAM;IACZ,GAAG,MAAM,SAAS,EAAE;CACrB,GAED;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GAC5E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC/C,WAAW,CAAC,0CAA0C,CAAC,GACzD,WAAW,CAAC,+BAA+B,CAAC,GAC9C,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACtD,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,YAAY,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC1F,aAAa,CAAC,SAAS,CAAC,SAAS,SAAS,MAAM,SAAS,EAAE,GACzD,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,MAAM;IACZ,GAAG,MAAM,SAAS,EAAE;CACrB,GAEC;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GACpF,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC/C,WAAW,CAAC,2CAA2C,CAAC,GAC1D,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACtD,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACnF,aAAa,CAAC,SAAS,CAAC,SAAS,SAAS,MAAM,SAAS,EAAE,GACzD,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,MAAM;IACZ,GAAG,MAAM,SAAS,EAAE;CACrB,GAEC;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GACpF,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC/C,WAAW,CAAC,2CAA2C,CAAC,GAC1D,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,MAAM;IACZ,GAAG,MAAM,SAAS,EAAE;CACrB,GAED;IACE;QACE,IAAI,EAAE,IAAI,CAAA;QACV,QAAQ,EAAE,YAAY,CAAA;QACtB,QAAQ,EAAE,MAAM,CAAA;KACjB;IACD,aAAa,CAAC,SAAS,CAAC;CACzB,GACD,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC/C,WAAW,CAAC,0CAA0C,CAAC,GACzD,WAAW,CAAC,+BAA+B,CAAC,GAC9C,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,MAAM;IACZ,GAAG,MAAM,SAAS,EAAE;CACrB,GAED;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GACpF,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAE/C;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GACpE,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC3C,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAE5F;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GAC5E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAE/C;IAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GAC5D,WAAW,CAAC,4BAA4B,KAAK,IAAI,CAAC,CAAA;AAEtD;;;;;;GAMG;AACH,aAAK,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,IAAI,MAAM,SAAS,EAAE,GAClF,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC/E,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACpD,MAAM,SAAS,EAAE,GACf,WAAW,CAAC,2BAA2B,CAAC,GACxC,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACpC,WAAW,CAAC,cAAc,CAAC,GAC7B,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GACtC,KAAK,CAAA;AAET;;;;GAIG;AACH,aAAK,UAAU,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GACxD,kBAAkB,GAClB,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAE/B,aAAK,gBAAgB,CAAC,KAAK,SAAS,MAAM,EAAE,MAAM,SAAS,OAAO,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS;IAC/F,MAAM,KAAK;IACX,GAAG,MAAM,SAAS,EAAE;CACrB,GACG,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACpD,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,GAC9D,CAAC,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAChD,SAAS,CAAC,KAAK,CAAC,CAAA;AAEpB;;;;;;GAMG;AACH,aAAK,UAAU,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GACxD,kBAAkB,GAClB,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC7E,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,GACjC,MAAM,GACN,WAAW,CAAC,qBAAqB,SAAS,EAAE,CAAC,GAC/C,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;AAEpC,aAAK,eAAe,CAClB,MAAM,SAAS,aAAa,EAC5B,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,SAAS,OAAO,EAAE,EACxB,GAAG,IACD,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,GACxB,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAChF,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GACvC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAClF,GAAG,CAAA;AAEP;;;;;GAKG;AACH,oBAAY,SAAS,CACnB,MAAM,SAAS,aAAa,EAC5B,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,SAAS,MAAM,IAClB,UAAU,CAAC,KAAK,CAAC,SAAS,OAAO,EAAE,GACnC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GACxD,UAAU,CAAC,KAAK,CAAC,CAAA"}
|
package/dist/module/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.
|
|
1
|
+
export declare const version = "1.1.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/module/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '1.
|
|
1
|
+
export const version = '1.1.1';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@supabase/postgrest-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Isomorphic PostgREST client",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"postgrest",
|
|
@@ -26,9 +26,12 @@
|
|
|
26
26
|
"build:module": "tsc -p tsconfig.module.json",
|
|
27
27
|
"docs": "typedoc src/index.ts --out docs/v2",
|
|
28
28
|
"docs:json": "typedoc --json docs/v2/spec.json --excludeExternals src/index.ts",
|
|
29
|
-
"test": "run-s test:db
|
|
30
|
-
"test:
|
|
31
|
-
"test:
|
|
29
|
+
"test": "run-s test:types db:clean db:run test:run db:clean",
|
|
30
|
+
"test:run": "jest --runInBand",
|
|
31
|
+
"test:update": "run-s db:clean db:run && jest --runInBand --updateSnapshot && run-s db:clean",
|
|
32
|
+
"test:types": "run-s build:module && tsd --files test/*.test-d.ts",
|
|
33
|
+
"db:clean": "cd test/db && docker-compose down --volumes",
|
|
34
|
+
"db:run": "cd test/db && docker-compose up --detach && wait-for-localhost 3000"
|
|
32
35
|
},
|
|
33
36
|
"dependencies": {
|
|
34
37
|
"cross-fetch": "^3.1.5"
|
|
@@ -42,6 +45,7 @@
|
|
|
42
45
|
"rimraf": "^3.0.2",
|
|
43
46
|
"semantic-release-plugin-update-version-in-files": "^1.1.0",
|
|
44
47
|
"ts-jest": "^28.0.3",
|
|
48
|
+
"tsd": "^0.24.1",
|
|
45
49
|
"typedoc": "^0.22.16",
|
|
46
50
|
"typescript": "~4.7",
|
|
47
51
|
"wait-for-localhost-cli": "^3.0.0"
|
package/src/PostgrestBuilder.ts
CHANGED
|
@@ -106,9 +106,23 @@ export default abstract class PostgrestBuilder<Result>
|
|
|
106
106
|
|
|
107
107
|
try {
|
|
108
108
|
error = JSON.parse(body)
|
|
109
|
+
|
|
110
|
+
// Workaround for https://github.com/supabase/postgrest-js/issues/295
|
|
111
|
+
if (Array.isArray(error) && res.status === 404) {
|
|
112
|
+
data = []
|
|
113
|
+
error = null
|
|
114
|
+
status = 200
|
|
115
|
+
statusText = 'OK'
|
|
116
|
+
}
|
|
109
117
|
} catch {
|
|
110
|
-
|
|
111
|
-
|
|
118
|
+
// Workaround for https://github.com/supabase/postgrest-js/issues/295
|
|
119
|
+
if (res.status === 404 && body === '') {
|
|
120
|
+
status = 204
|
|
121
|
+
statusText = 'No Content'
|
|
122
|
+
} else {
|
|
123
|
+
error = {
|
|
124
|
+
message: body,
|
|
125
|
+
}
|
|
112
126
|
}
|
|
113
127
|
}
|
|
114
128
|
|
package/src/PostgrestClient.ts
CHANGED
|
@@ -56,22 +56,22 @@ export default class PostgrestClient<
|
|
|
56
56
|
this.fetch = fetch
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
/**
|
|
60
|
-
* Perform a query on a table or a view.
|
|
61
|
-
*
|
|
62
|
-
* @param relation - The table or view name to query
|
|
63
|
-
*/
|
|
64
59
|
from<
|
|
65
60
|
TableName extends string & keyof Schema['Tables'],
|
|
66
61
|
Table extends Schema['Tables'][TableName]
|
|
67
|
-
>(relation: TableName): PostgrestQueryBuilder<Table>
|
|
62
|
+
>(relation: TableName): PostgrestQueryBuilder<Schema, Table>
|
|
68
63
|
from<ViewName extends string & keyof Schema['Views'], View extends Schema['Views'][ViewName]>(
|
|
69
64
|
relation: ViewName
|
|
70
|
-
): PostgrestQueryBuilder<View>
|
|
71
|
-
from(relation: string): PostgrestQueryBuilder<any>
|
|
72
|
-
|
|
65
|
+
): PostgrestQueryBuilder<Schema, View>
|
|
66
|
+
from(relation: string): PostgrestQueryBuilder<Schema, any>
|
|
67
|
+
/**
|
|
68
|
+
* Perform a query on a table or a view.
|
|
69
|
+
*
|
|
70
|
+
* @param relation - The table or view name to query
|
|
71
|
+
*/
|
|
72
|
+
from(relation: string): PostgrestQueryBuilder<Schema, any> {
|
|
73
73
|
const url = new URL(`${this.url}/${relation}`)
|
|
74
|
-
return new PostgrestQueryBuilder<any>(url, {
|
|
74
|
+
return new PostgrestQueryBuilder<Schema, any>(url, {
|
|
75
75
|
headers: { ...this.headers },
|
|
76
76
|
schema: this.schema,
|
|
77
77
|
fetch: this.fetch,
|
|
@@ -113,6 +113,7 @@ export default class PostgrestClient<
|
|
|
113
113
|
count?: 'exact' | 'planned' | 'estimated'
|
|
114
114
|
} = {}
|
|
115
115
|
): PostgrestFilterBuilder<
|
|
116
|
+
Schema,
|
|
116
117
|
Function_['Returns'] extends any[]
|
|
117
118
|
? Function_['Returns'][number] extends Record<string, unknown>
|
|
118
119
|
? Function_['Returns'][number]
|