@supabase/postgrest-js 1.11.0 → 1.13.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.
@@ -23,17 +23,31 @@ declare type GenericStringError = ParserError<'Received a generic string'>;
23
23
  export declare type SelectQueryError<Message extends string> = {
24
24
  error: true;
25
25
  } & Message;
26
+ /**
27
+ * Creates a new {@link ParserError} if the given input is not already a parser error.
28
+ */
29
+ declare type CreateParserErrorIfRequired<Input, Message extends string> = Input extends ParserError<string> ? Input : ParserError<Message>;
26
30
  /**
27
31
  * Trims whitespace from the left of the input.
28
32
  */
29
33
  declare type EatWhitespace<Input extends string> = string extends Input ? GenericStringError : Input extends `${Whitespace}${infer Remainder}` ? EatWhitespace<Remainder> : Input;
34
+ /**
35
+ * Returns a boolean representing whether there is a foreign key with the given name.
36
+ */
30
37
  declare type HasFKey<FKeyName, Relationships> = Relationships extends [infer R] ? R extends {
31
38
  foreignKeyName: FKeyName;
32
39
  } ? true : false : Relationships extends [infer R, ...infer Rest] ? HasFKey<FKeyName, [R]> extends true ? true : HasFKey<FKeyName, Rest> : false;
40
+ /**
41
+ * Returns a boolean representing whether there the foreign key has a unique constraint.
42
+ */
33
43
  declare type HasUniqueFKey<FKeyName, Relationships> = Relationships extends [infer R] ? R extends {
34
44
  foreignKeyName: FKeyName;
35
45
  isOneToOne: true;
36
46
  } ? true : false : Relationships extends [infer R, ...infer Rest] ? HasUniqueFKey<FKeyName, [R]> extends true ? true : HasUniqueFKey<FKeyName, Rest> : false;
47
+ /**
48
+ * Returns a boolean representing whether there is a foreign key referencing
49
+ * a given relation.
50
+ */
37
51
  declare type HasFKeyToFRel<FRelName, Relationships> = Relationships extends [infer R] ? R extends {
38
52
  referencedRelation: FRelName;
39
53
  } ? true : false : Relationships extends [infer R, ...infer Rest] ? HasFKeyToFRel<FRelName, [R]> extends true ? true : HasFKeyToFRel<FRelName, Rest> : false;
@@ -44,13 +58,22 @@ declare type HasUniqueFKeyToFRel<FRelName, Relationships> = Relationships extend
44
58
  /**
45
59
  * Constructs a type definition for a single field of an object.
46
60
  *
47
- * @param Definitions Record of definitions, possibly generated from PostgREST's OpenAPI spec.
48
- * @param Name Name of the table being queried.
61
+ * @param Schema Database schema.
62
+ * @param Row Type of a row in the given table.
63
+ * @param Relationships Relationships between different tables in the database.
49
64
  * @param Field Single field parsed by `ParseQuery`.
50
65
  */
51
66
  declare type ConstructFieldDefinition<Schema extends GenericSchema, Row extends Record<string, unknown>, RelationName, Relationships, Field> = Field extends {
52
67
  star: true;
53
68
  } ? Row : Field extends {
69
+ spread: true;
70
+ original: string;
71
+ children: unknown[];
72
+ } ? GetResultHelper<Schema, (Schema['Tables'] & Schema['Views'])[Field['original']]['Row'], Field['original'], (Schema['Tables'] & Schema['Views'])[Field['original']] extends {
73
+ Relationships: infer R;
74
+ } ? R : unknown, Field['children'], unknown> : Field extends {
75
+ children: [];
76
+ } ? {} : Field extends {
54
77
  name: string;
55
78
  original: string;
56
79
  hint: string;
@@ -72,45 +95,45 @@ declare type ConstructFieldDefinition<Schema extends GenericSchema, Row extends
72
95
  Relationships: infer R;
73
96
  } ? R : unknown> extends true ? Child | null : Relationships extends unknown[] ? HasFKeyToFRel<Field['original'], Relationships> extends true ? Child | null : Child[] : Child[] : never;
74
97
  } : Field extends {
75
- name: string;
76
- original: string;
77
- } ? Field['original'] extends keyof Row ? {
78
- [K in Field['name']]: Row[Field['original']];
79
- } : SelectQueryError<`Referencing missing column \`${Field['original']}\``> : Field extends {
80
98
  name: string;
81
99
  type: infer T;
82
100
  } ? {
83
101
  [K in Field['name']]: T;
84
- } : Record<string, unknown>;
102
+ } : Field extends {
103
+ name: string;
104
+ original: string;
105
+ } ? Field['original'] extends keyof Row ? {
106
+ [K in Field['name']]: Row[Field['original']];
107
+ } : Field['original'] extends 'count' ? {
108
+ count: number;
109
+ } : SelectQueryError<`Referencing missing column \`${Field['original']}\``> : Record<string, unknown>;
85
110
  /**
86
111
  * Notes: all `Parse*` types assume that their input strings have their whitespace
87
112
  * removed. They return tuples of ["Return Value", "Remainder of text"] or
88
113
  * a `ParserError`.
89
114
  */
90
115
  /**
91
- * Reads a consecutive sequence of more than 1 letter,
92
- * where letters are `[0-9a-zA-Z_]`.
116
+ * Reads a consecutive sequence of 1 or more letter, where letters are `[0-9a-zA-Z_]`.
93
117
  */
94
118
  declare type ReadLetters<Input extends string> = string extends Input ? GenericStringError : ReadLettersHelper<Input, ''> extends [`${infer Letters}`, `${infer Remainder}`] ? Letters extends '' ? ParserError<`Expected letter at \`${Input}\``> : [Letters, Remainder] : ReadLettersHelper<Input, ''>;
95
119
  declare type ReadLettersHelper<Input extends string, Acc extends string> = string extends Input ? GenericStringError : Input extends `${infer L}${infer Remainder}` ? L extends Letter ? ReadLettersHelper<Remainder, `${Acc}${L}`> : [Acc, Input] : [Acc, ''];
96
120
  /**
97
- * Reads a consecutive sequence of more than 1 double-quoted letters,
121
+ * Reads a consecutive sequence of 1 or more double-quoted letters,
98
122
  * where letters are `[^"]`.
99
123
  */
100
124
  declare type ReadQuotedLetters<Input extends string> = string extends Input ? GenericStringError : Input extends `"${infer Remainder}` ? ReadQuotedLettersHelper<Remainder, ''> extends [`${infer Letters}`, `${infer Remainder}`] ? Letters extends '' ? ParserError<`Expected string at \`${Remainder}\``> : [Letters, Remainder] : ReadQuotedLettersHelper<Remainder, ''> : ParserError<`Not a double-quoted string at \`${Input}\``>;
101
125
  declare type ReadQuotedLettersHelper<Input extends string, Acc extends string> = string extends Input ? GenericStringError : Input extends `${infer L}${infer Remainder}` ? L extends '"' ? [Acc, Remainder] : ReadQuotedLettersHelper<Remainder, `${Acc}${L}`> : ParserError<`Missing closing double-quote in \`"${Acc}${Input}\``>;
102
126
  /**
103
127
  * Parses a (possibly double-quoted) identifier.
104
- * For now, identifiers are just sequences of more than 1 letter.
128
+ * Identifiers are sequences of 1 or more letters.
105
129
  */
106
130
  declare type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
107
131
  infer Name,
108
132
  `${infer Remainder}`
109
133
  ] ? [Name, `${Remainder}`] : ReadQuotedLetters<Input> extends [infer Name, `${infer Remainder}`] ? [Name, `${Remainder}`] : ParserError<`No (possibly double-quoted) identifier at \`${Input}\``>;
110
134
  /**
111
- * Parses a node.
112
- * A node is one of the following:
113
- * - `*`
135
+ * Parses a field without preceding field renaming.
136
+ * A field is one of the following:
114
137
  * - `field`
115
138
  * - `field::type`
116
139
  * - `field->json...`
@@ -118,29 +141,17 @@ declare type ParseIdentifier<Input extends string> = ReadLetters<Input> extends
118
141
  * - `field!hint(nodes)`
119
142
  * - `field!inner(nodes)`
120
143
  * - `field!hint!inner(nodes)`
121
- * - `renamed_field:field`
122
- * - `renamed_field:field::type`
123
- * - `renamed_field:field->json...`
124
- * - `renamed_field:field(nodes)`
125
- * - `renamed_field:field!hint(nodes)`
126
- * - `renamed_field:field!inner(nodes)`
127
- * - `renamed_field:field!hint!inner(nodes)`
128
144
  *
129
- * TODO: more support for JSON operators `->`, `->>`.
145
+ * TODO: support type casting of JSON operators `a->b::type`, `a->>b::type`.
130
146
  */
131
- declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [{
132
- star: true;
133
- }, EatWhitespace<Remainder>] : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `::${infer Remainder}` ? ParseIdentifier<Remainder> extends [infer CastType, `${infer Remainder}`] ? CastType extends PostgreSQLTypes ? [{
134
- name: Name;
135
- type: TypeScriptTypes<CastType>;
136
- }, EatWhitespace<Remainder>] : never : ParserError<`Unexpected type cast at \`${Input}\``> : EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
147
+ declare type ParseField<Input extends string> = Input extends '' ? ParserError<'Empty string'> : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
137
148
  {
138
149
  name: Name;
139
150
  original: Name;
140
151
  children: Fields;
141
152
  },
142
153
  EatWhitespace<Remainder>
143
- ] : 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 [
154
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, '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 [
144
155
  infer Fields,
145
156
  `${infer Remainder}`
146
157
  ] ? [
@@ -151,7 +162,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
151
162
  children: Fields;
152
163
  },
153
164
  EatWhitespace<Remainder>
154
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
165
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, 'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
155
166
  infer Fields,
156
167
  `${infer Remainder}`
157
168
  ] ? [
@@ -162,68 +173,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
162
173
  children: Fields;
163
174
  },
164
175
  EatWhitespace<Remainder>
165
- ] : 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 `::${infer Remainder}` ? ParseIdentifier<Remainder> extends [infer CastType, `${infer Remainder}`] ? CastType extends PostgreSQLTypes ? [{
166
- name: Name;
167
- type: TypeScriptTypes<CastType>;
168
- }, EatWhitespace<Remainder>] : never : ParserError<`Unexpected type cast at \`${Input}\``> : EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
169
- infer Fields,
170
- `${infer Remainder}`
171
- ] ? [
172
- {
173
- name: Name;
174
- original: OriginalName;
175
- children: Fields;
176
- },
177
- EatWhitespace<Remainder>
178
- ] : 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 [
179
- infer Fields,
180
- `${infer Remainder}`
181
- ] ? [
182
- {
183
- name: Name;
184
- original: OriginalName;
185
- hint: Hint;
186
- children: Fields;
187
- },
188
- EatWhitespace<Remainder>
189
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
190
- infer Fields,
191
- `${infer Remainder}`
192
- ] ? [
193
- {
194
- name: Name;
195
- original: OriginalName;
196
- hint: Hint;
197
- children: Fields;
198
- },
199
- EatWhitespace<Remainder>
200
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!hint`'> : ParserError<'Expected identifier after `!`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
201
- infer Fields,
202
- `${infer Remainder}`
203
- ] ? [
204
- {
205
- name: Name;
206
- original: OriginalName;
207
- children: Fields;
208
- },
209
- EatWhitespace<Remainder>
210
- ] : ParseJsonAccessor<EatWhitespace<Remainder>> extends [
211
- infer _PropertyName,
212
- infer PropertyType,
213
- `${infer Remainder}`
214
- ] ? [
215
- {
216
- name: Name;
217
- type: PropertyType;
218
- },
219
- EatWhitespace<Remainder>
220
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : [
221
- {
222
- name: Name;
223
- original: OriginalName;
224
- },
225
- EatWhitespace<Remainder>
226
- ] : ParseIdentifier<EatWhitespace<Remainder>> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
176
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, 'Expected embedded resource after `!hint`'> : ParserError<'Expected identifier after `!`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
227
177
  {
228
178
  name: Name;
229
179
  original: Name;
@@ -237,16 +187,39 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
237
187
  ] ? [
238
188
  {
239
189
  name: PropertyName;
190
+ original: PropertyName;
240
191
  type: PropertyType;
241
192
  },
242
193
  EatWhitespace<Remainder>
243
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : [
194
+ ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : EatWhitespace<Remainder> extends `::${infer Remainder}` ? ParseIdentifier<Remainder> extends [`${infer CastType}`, `${infer Remainder}`] ? CastType extends PostgreSQLTypes ? [{
195
+ name: Name;
196
+ type: TypeScriptTypes<CastType>;
197
+ }, EatWhitespace<Remainder>] : ParserError<`Invalid type for \`::\` operator \`${CastType}\``> : ParserError<`Invalid type for \`::\` operator at \`${Remainder}\``> : [
244
198
  {
245
199
  name: Name;
246
200
  original: Name;
247
201
  },
248
202
  EatWhitespace<Remainder>
249
203
  ] : ParserError<`Expected identifier at \`${Input}\``>;
204
+ /**
205
+ * Parses a node.
206
+ * A node is one of the following:
207
+ * - `*`
208
+ * - a field, as defined above
209
+ * - a renamed field, `renamed_field:field`
210
+ * - a spread field, `...field`
211
+ */
212
+ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [{
213
+ star: true;
214
+ }, EatWhitespace<Remainder>] : Input extends `...${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`] ? Field extends {
215
+ children: unknown[];
216
+ } ? [Prettify<{
217
+ spread: true;
218
+ } & Field>, EatWhitespace<Remainder>] : ParserError<'Unable to parse spread resource'> : ParserError<'Unable to parse spread resource'> : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `::${infer _Remainder}` ? ParseField<Input> : EatWhitespace<Remainder> extends `:${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`] ? Field extends {
219
+ name: string;
220
+ } ? [Prettify<Omit<Field, 'name'> & {
221
+ name: Name;
222
+ }>, EatWhitespace<Remainder>] : ParserError<`Unable to parse renamed field`> : ParserError<`Unable to parse renamed field`> : ParseField<Input> : ParserError<`Expected identifier at \`${Input}\``>;
250
223
  /**
251
224
  * Parses a JSON property accessor of the shape `->a->b->c`. The last accessor in
252
225
  * the series may convert to text by using the ->> operator instead of ->.
@@ -261,12 +234,12 @@ declare type ParseJsonAccessor<Input extends string> = Input extends `->${infer
261
234
  ] ? [PropertyName, PropertyType, EatWhitespace<Remainder>] : [Name, Json, EatWhitespace<Remainder>] : ParserError<'Expected property name after `->`'> : Input;
262
235
  /**
263
236
  * Parses an embedded resource, which is an opening `(`, followed by a sequence of
264
- * nodes, separated by `,`, then a closing `)`.
237
+ * 0 or more nodes separated by `,`, then a closing `)`.
265
238
  *
266
239
  * Returns a tuple of ["Parsed fields", "Remainder of text"], an error,
267
240
  * or the original string input indicating that no opening `(` was found.
268
241
  */
269
- declare type ParseEmbeddedResource<Input extends string> = Input extends `(${infer Remainder}` ? ParseNodes<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? Fields extends [] ? ParserError<'Expected fields after `(`'> : [Fields, EatWhitespace<Remainder>] : ParserError<`Expected ")"`> : ParseNodes<EatWhitespace<Remainder>> : Input;
242
+ declare type ParseEmbeddedResource<Input extends string> = Input extends `(${infer Remainder}` ? ParseNodes<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? [Fields, EatWhitespace<Remainder>] : ParserError<`Expected ")"`> : ParseNodes<EatWhitespace<Remainder>> extends ParserError<string> ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? [[], EatWhitespace<Remainder>] : ParseNodes<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource fields or `)`'> : Input;
270
243
  /**
271
244
  * Parses a sequence of nodes, separated by `,`.
272
245
  *
@@ -290,7 +263,9 @@ declare type GetResultHelper<Schema extends GenericSchema, Row extends Record<st
290
263
  /**
291
264
  * Constructs a type definition for an object based on a given PostgREST query.
292
265
  *
293
- * @param Row Record<string, unknown>.
266
+ * @param Schema Database schema.
267
+ * @param Row Type of a row in the given table.
268
+ * @param Relationships Relationships between different tables in the database.
294
269
  * @param Query Select query string literal to parse.
295
270
  */
296
271
  export declare type GetResult<Schema extends GenericSchema, Row extends Record<string, unknown>, RelationName, Relationships, Query extends string> = ParseQuery<Query> extends unknown[] ? GetResultHelper<Schema, Row, RelationName, Relationships, ParseQuery<Query>, unknown> : ParseQuery<Query>;
@@ -1 +1 @@
1
- {"version":3,"file":"select-query-parser.d.ts","sourceRoot":"","sources":["../../src/select-query-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-query-parser.d.ts","sourceRoot":"","sources":["../../src/select-query-parser.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.11.0";
1
+ export declare const version = "1.13.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '1.11.0';
4
+ exports.version = '1.13.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -23,17 +23,31 @@ declare type GenericStringError = ParserError<'Received a generic string'>;
23
23
  export declare type SelectQueryError<Message extends string> = {
24
24
  error: true;
25
25
  } & Message;
26
+ /**
27
+ * Creates a new {@link ParserError} if the given input is not already a parser error.
28
+ */
29
+ declare type CreateParserErrorIfRequired<Input, Message extends string> = Input extends ParserError<string> ? Input : ParserError<Message>;
26
30
  /**
27
31
  * Trims whitespace from the left of the input.
28
32
  */
29
33
  declare type EatWhitespace<Input extends string> = string extends Input ? GenericStringError : Input extends `${Whitespace}${infer Remainder}` ? EatWhitespace<Remainder> : Input;
34
+ /**
35
+ * Returns a boolean representing whether there is a foreign key with the given name.
36
+ */
30
37
  declare type HasFKey<FKeyName, Relationships> = Relationships extends [infer R] ? R extends {
31
38
  foreignKeyName: FKeyName;
32
39
  } ? true : false : Relationships extends [infer R, ...infer Rest] ? HasFKey<FKeyName, [R]> extends true ? true : HasFKey<FKeyName, Rest> : false;
40
+ /**
41
+ * Returns a boolean representing whether there the foreign key has a unique constraint.
42
+ */
33
43
  declare type HasUniqueFKey<FKeyName, Relationships> = Relationships extends [infer R] ? R extends {
34
44
  foreignKeyName: FKeyName;
35
45
  isOneToOne: true;
36
46
  } ? true : false : Relationships extends [infer R, ...infer Rest] ? HasUniqueFKey<FKeyName, [R]> extends true ? true : HasUniqueFKey<FKeyName, Rest> : false;
47
+ /**
48
+ * Returns a boolean representing whether there is a foreign key referencing
49
+ * a given relation.
50
+ */
37
51
  declare type HasFKeyToFRel<FRelName, Relationships> = Relationships extends [infer R] ? R extends {
38
52
  referencedRelation: FRelName;
39
53
  } ? true : false : Relationships extends [infer R, ...infer Rest] ? HasFKeyToFRel<FRelName, [R]> extends true ? true : HasFKeyToFRel<FRelName, Rest> : false;
@@ -44,13 +58,22 @@ declare type HasUniqueFKeyToFRel<FRelName, Relationships> = Relationships extend
44
58
  /**
45
59
  * Constructs a type definition for a single field of an object.
46
60
  *
47
- * @param Definitions Record of definitions, possibly generated from PostgREST's OpenAPI spec.
48
- * @param Name Name of the table being queried.
61
+ * @param Schema Database schema.
62
+ * @param Row Type of a row in the given table.
63
+ * @param Relationships Relationships between different tables in the database.
49
64
  * @param Field Single field parsed by `ParseQuery`.
50
65
  */
51
66
  declare type ConstructFieldDefinition<Schema extends GenericSchema, Row extends Record<string, unknown>, RelationName, Relationships, Field> = Field extends {
52
67
  star: true;
53
68
  } ? Row : Field extends {
69
+ spread: true;
70
+ original: string;
71
+ children: unknown[];
72
+ } ? GetResultHelper<Schema, (Schema['Tables'] & Schema['Views'])[Field['original']]['Row'], Field['original'], (Schema['Tables'] & Schema['Views'])[Field['original']] extends {
73
+ Relationships: infer R;
74
+ } ? R : unknown, Field['children'], unknown> : Field extends {
75
+ children: [];
76
+ } ? {} : Field extends {
54
77
  name: string;
55
78
  original: string;
56
79
  hint: string;
@@ -72,45 +95,45 @@ declare type ConstructFieldDefinition<Schema extends GenericSchema, Row extends
72
95
  Relationships: infer R;
73
96
  } ? R : unknown> extends true ? Child | null : Relationships extends unknown[] ? HasFKeyToFRel<Field['original'], Relationships> extends true ? Child | null : Child[] : Child[] : never;
74
97
  } : Field extends {
75
- name: string;
76
- original: string;
77
- } ? Field['original'] extends keyof Row ? {
78
- [K in Field['name']]: Row[Field['original']];
79
- } : SelectQueryError<`Referencing missing column \`${Field['original']}\``> : Field extends {
80
98
  name: string;
81
99
  type: infer T;
82
100
  } ? {
83
101
  [K in Field['name']]: T;
84
- } : Record<string, unknown>;
102
+ } : Field extends {
103
+ name: string;
104
+ original: string;
105
+ } ? Field['original'] extends keyof Row ? {
106
+ [K in Field['name']]: Row[Field['original']];
107
+ } : Field['original'] extends 'count' ? {
108
+ count: number;
109
+ } : SelectQueryError<`Referencing missing column \`${Field['original']}\``> : Record<string, unknown>;
85
110
  /**
86
111
  * Notes: all `Parse*` types assume that their input strings have their whitespace
87
112
  * removed. They return tuples of ["Return Value", "Remainder of text"] or
88
113
  * a `ParserError`.
89
114
  */
90
115
  /**
91
- * Reads a consecutive sequence of more than 1 letter,
92
- * where letters are `[0-9a-zA-Z_]`.
116
+ * Reads a consecutive sequence of 1 or more letter, where letters are `[0-9a-zA-Z_]`.
93
117
  */
94
118
  declare type ReadLetters<Input extends string> = string extends Input ? GenericStringError : ReadLettersHelper<Input, ''> extends [`${infer Letters}`, `${infer Remainder}`] ? Letters extends '' ? ParserError<`Expected letter at \`${Input}\``> : [Letters, Remainder] : ReadLettersHelper<Input, ''>;
95
119
  declare type ReadLettersHelper<Input extends string, Acc extends string> = string extends Input ? GenericStringError : Input extends `${infer L}${infer Remainder}` ? L extends Letter ? ReadLettersHelper<Remainder, `${Acc}${L}`> : [Acc, Input] : [Acc, ''];
96
120
  /**
97
- * Reads a consecutive sequence of more than 1 double-quoted letters,
121
+ * Reads a consecutive sequence of 1 or more double-quoted letters,
98
122
  * where letters are `[^"]`.
99
123
  */
100
124
  declare type ReadQuotedLetters<Input extends string> = string extends Input ? GenericStringError : Input extends `"${infer Remainder}` ? ReadQuotedLettersHelper<Remainder, ''> extends [`${infer Letters}`, `${infer Remainder}`] ? Letters extends '' ? ParserError<`Expected string at \`${Remainder}\``> : [Letters, Remainder] : ReadQuotedLettersHelper<Remainder, ''> : ParserError<`Not a double-quoted string at \`${Input}\``>;
101
125
  declare type ReadQuotedLettersHelper<Input extends string, Acc extends string> = string extends Input ? GenericStringError : Input extends `${infer L}${infer Remainder}` ? L extends '"' ? [Acc, Remainder] : ReadQuotedLettersHelper<Remainder, `${Acc}${L}`> : ParserError<`Missing closing double-quote in \`"${Acc}${Input}\``>;
102
126
  /**
103
127
  * Parses a (possibly double-quoted) identifier.
104
- * For now, identifiers are just sequences of more than 1 letter.
128
+ * Identifiers are sequences of 1 or more letters.
105
129
  */
106
130
  declare type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
107
131
  infer Name,
108
132
  `${infer Remainder}`
109
133
  ] ? [Name, `${Remainder}`] : ReadQuotedLetters<Input> extends [infer Name, `${infer Remainder}`] ? [Name, `${Remainder}`] : ParserError<`No (possibly double-quoted) identifier at \`${Input}\``>;
110
134
  /**
111
- * Parses a node.
112
- * A node is one of the following:
113
- * - `*`
135
+ * Parses a field without preceding field renaming.
136
+ * A field is one of the following:
114
137
  * - `field`
115
138
  * - `field::type`
116
139
  * - `field->json...`
@@ -118,29 +141,17 @@ declare type ParseIdentifier<Input extends string> = ReadLetters<Input> extends
118
141
  * - `field!hint(nodes)`
119
142
  * - `field!inner(nodes)`
120
143
  * - `field!hint!inner(nodes)`
121
- * - `renamed_field:field`
122
- * - `renamed_field:field::type`
123
- * - `renamed_field:field->json...`
124
- * - `renamed_field:field(nodes)`
125
- * - `renamed_field:field!hint(nodes)`
126
- * - `renamed_field:field!inner(nodes)`
127
- * - `renamed_field:field!hint!inner(nodes)`
128
144
  *
129
- * TODO: more support for JSON operators `->`, `->>`.
145
+ * TODO: support type casting of JSON operators `a->b::type`, `a->>b::type`.
130
146
  */
131
- declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [{
132
- star: true;
133
- }, EatWhitespace<Remainder>] : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `::${infer Remainder}` ? ParseIdentifier<Remainder> extends [infer CastType, `${infer Remainder}`] ? CastType extends PostgreSQLTypes ? [{
134
- name: Name;
135
- type: TypeScriptTypes<CastType>;
136
- }, EatWhitespace<Remainder>] : never : ParserError<`Unexpected type cast at \`${Input}\``> : EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
147
+ declare type ParseField<Input extends string> = Input extends '' ? ParserError<'Empty string'> : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
137
148
  {
138
149
  name: Name;
139
150
  original: Name;
140
151
  children: Fields;
141
152
  },
142
153
  EatWhitespace<Remainder>
143
- ] : 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 [
154
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, '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 [
144
155
  infer Fields,
145
156
  `${infer Remainder}`
146
157
  ] ? [
@@ -151,7 +162,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
151
162
  children: Fields;
152
163
  },
153
164
  EatWhitespace<Remainder>
154
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
165
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, 'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
155
166
  infer Fields,
156
167
  `${infer Remainder}`
157
168
  ] ? [
@@ -162,68 +173,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
162
173
  children: Fields;
163
174
  },
164
175
  EatWhitespace<Remainder>
165
- ] : 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 `::${infer Remainder}` ? ParseIdentifier<Remainder> extends [infer CastType, `${infer Remainder}`] ? CastType extends PostgreSQLTypes ? [{
166
- name: Name;
167
- type: TypeScriptTypes<CastType>;
168
- }, EatWhitespace<Remainder>] : never : ParserError<`Unexpected type cast at \`${Input}\``> : EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
169
- infer Fields,
170
- `${infer Remainder}`
171
- ] ? [
172
- {
173
- name: Name;
174
- original: OriginalName;
175
- children: Fields;
176
- },
177
- EatWhitespace<Remainder>
178
- ] : 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 [
179
- infer Fields,
180
- `${infer Remainder}`
181
- ] ? [
182
- {
183
- name: Name;
184
- original: OriginalName;
185
- hint: Hint;
186
- children: Fields;
187
- },
188
- EatWhitespace<Remainder>
189
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
190
- infer Fields,
191
- `${infer Remainder}`
192
- ] ? [
193
- {
194
- name: Name;
195
- original: OriginalName;
196
- hint: Hint;
197
- children: Fields;
198
- },
199
- EatWhitespace<Remainder>
200
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!hint`'> : ParserError<'Expected identifier after `!`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
201
- infer Fields,
202
- `${infer Remainder}`
203
- ] ? [
204
- {
205
- name: Name;
206
- original: OriginalName;
207
- children: Fields;
208
- },
209
- EatWhitespace<Remainder>
210
- ] : ParseJsonAccessor<EatWhitespace<Remainder>> extends [
211
- infer _PropertyName,
212
- infer PropertyType,
213
- `${infer Remainder}`
214
- ] ? [
215
- {
216
- name: Name;
217
- type: PropertyType;
218
- },
219
- EatWhitespace<Remainder>
220
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : [
221
- {
222
- name: Name;
223
- original: OriginalName;
224
- },
225
- EatWhitespace<Remainder>
226
- ] : ParseIdentifier<EatWhitespace<Remainder>> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
176
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, 'Expected embedded resource after `!hint`'> : ParserError<'Expected identifier after `!`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
227
177
  {
228
178
  name: Name;
229
179
  original: Name;
@@ -237,16 +187,39 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
237
187
  ] ? [
238
188
  {
239
189
  name: PropertyName;
190
+ original: PropertyName;
240
191
  type: PropertyType;
241
192
  },
242
193
  EatWhitespace<Remainder>
243
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : [
194
+ ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : EatWhitespace<Remainder> extends `::${infer Remainder}` ? ParseIdentifier<Remainder> extends [`${infer CastType}`, `${infer Remainder}`] ? CastType extends PostgreSQLTypes ? [{
195
+ name: Name;
196
+ type: TypeScriptTypes<CastType>;
197
+ }, EatWhitespace<Remainder>] : ParserError<`Invalid type for \`::\` operator \`${CastType}\``> : ParserError<`Invalid type for \`::\` operator at \`${Remainder}\``> : [
244
198
  {
245
199
  name: Name;
246
200
  original: Name;
247
201
  },
248
202
  EatWhitespace<Remainder>
249
203
  ] : ParserError<`Expected identifier at \`${Input}\``>;
204
+ /**
205
+ * Parses a node.
206
+ * A node is one of the following:
207
+ * - `*`
208
+ * - a field, as defined above
209
+ * - a renamed field, `renamed_field:field`
210
+ * - a spread field, `...field`
211
+ */
212
+ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [{
213
+ star: true;
214
+ }, EatWhitespace<Remainder>] : Input extends `...${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`] ? Field extends {
215
+ children: unknown[];
216
+ } ? [Prettify<{
217
+ spread: true;
218
+ } & Field>, EatWhitespace<Remainder>] : ParserError<'Unable to parse spread resource'> : ParserError<'Unable to parse spread resource'> : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `::${infer _Remainder}` ? ParseField<Input> : EatWhitespace<Remainder> extends `:${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`] ? Field extends {
219
+ name: string;
220
+ } ? [Prettify<Omit<Field, 'name'> & {
221
+ name: Name;
222
+ }>, EatWhitespace<Remainder>] : ParserError<`Unable to parse renamed field`> : ParserError<`Unable to parse renamed field`> : ParseField<Input> : ParserError<`Expected identifier at \`${Input}\``>;
250
223
  /**
251
224
  * Parses a JSON property accessor of the shape `->a->b->c`. The last accessor in
252
225
  * the series may convert to text by using the ->> operator instead of ->.
@@ -261,12 +234,12 @@ declare type ParseJsonAccessor<Input extends string> = Input extends `->${infer
261
234
  ] ? [PropertyName, PropertyType, EatWhitespace<Remainder>] : [Name, Json, EatWhitespace<Remainder>] : ParserError<'Expected property name after `->`'> : Input;
262
235
  /**
263
236
  * Parses an embedded resource, which is an opening `(`, followed by a sequence of
264
- * nodes, separated by `,`, then a closing `)`.
237
+ * 0 or more nodes separated by `,`, then a closing `)`.
265
238
  *
266
239
  * Returns a tuple of ["Parsed fields", "Remainder of text"], an error,
267
240
  * or the original string input indicating that no opening `(` was found.
268
241
  */
269
- declare type ParseEmbeddedResource<Input extends string> = Input extends `(${infer Remainder}` ? ParseNodes<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? Fields extends [] ? ParserError<'Expected fields after `(`'> : [Fields, EatWhitespace<Remainder>] : ParserError<`Expected ")"`> : ParseNodes<EatWhitespace<Remainder>> : Input;
242
+ declare type ParseEmbeddedResource<Input extends string> = Input extends `(${infer Remainder}` ? ParseNodes<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? [Fields, EatWhitespace<Remainder>] : ParserError<`Expected ")"`> : ParseNodes<EatWhitespace<Remainder>> extends ParserError<string> ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? [[], EatWhitespace<Remainder>] : ParseNodes<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource fields or `)`'> : Input;
270
243
  /**
271
244
  * Parses a sequence of nodes, separated by `,`.
272
245
  *
@@ -290,7 +263,9 @@ declare type GetResultHelper<Schema extends GenericSchema, Row extends Record<st
290
263
  /**
291
264
  * Constructs a type definition for an object based on a given PostgREST query.
292
265
  *
293
- * @param Row Record<string, unknown>.
266
+ * @param Schema Database schema.
267
+ * @param Row Type of a row in the given table.
268
+ * @param Relationships Relationships between different tables in the database.
294
269
  * @param Query Select query string literal to parse.
295
270
  */
296
271
  export declare type GetResult<Schema extends GenericSchema, Row extends Record<string, unknown>, RelationName, Relationships, Query extends string> = ParseQuery<Query> extends unknown[] ? GetResultHelper<Schema, Row, RelationName, Relationships, ParseQuery<Query>, unknown> : ParseQuery<Query>;
@@ -1 +1 @@
1
- {"version":3,"file":"select-query-parser.d.ts","sourceRoot":"","sources":["../../src/select-query-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-query-parser.d.ts","sourceRoot":"","sources":["../../src/select-query-parser.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.11.0";
1
+ export declare const version = "1.13.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const version = '1.11.0';
1
+ export const version = '1.13.0';
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.11.0",
3
+ "version": "1.13.0",
4
4
  "description": "Isomorphic PostgREST client",
5
5
  "keywords": [
6
6
  "postgrest",
@@ -109,6 +109,13 @@ type ParserError<Message extends string> = { error: true } & Message
109
109
  type GenericStringError = ParserError<'Received a generic string'>
110
110
  export type SelectQueryError<Message extends string> = { error: true } & Message
111
111
 
112
+ /**
113
+ * Creates a new {@link ParserError} if the given input is not already a parser error.
114
+ */
115
+ type CreateParserErrorIfRequired<Input, Message extends string> = Input extends ParserError<string>
116
+ ? Input
117
+ : ParserError<Message>
118
+
112
119
  /**
113
120
  * Trims whitespace from the left of the input.
114
121
  */
@@ -118,6 +125,9 @@ type EatWhitespace<Input extends string> = string extends Input
118
125
  ? EatWhitespace<Remainder>
119
126
  : Input
120
127
 
128
+ /**
129
+ * Returns a boolean representing whether there is a foreign key with the given name.
130
+ */
121
131
  type HasFKey<FKeyName, Relationships> = Relationships extends [infer R]
122
132
  ? R extends { foreignKeyName: FKeyName }
123
133
  ? true
@@ -128,6 +138,9 @@ type HasFKey<FKeyName, Relationships> = Relationships extends [infer R]
128
138
  : HasFKey<FKeyName, Rest>
129
139
  : false
130
140
 
141
+ /**
142
+ * Returns a boolean representing whether there the foreign key has a unique constraint.
143
+ */
131
144
  type HasUniqueFKey<FKeyName, Relationships> = Relationships extends [infer R]
132
145
  ? R extends { foreignKeyName: FKeyName; isOneToOne: true }
133
146
  ? true
@@ -138,6 +151,10 @@ type HasUniqueFKey<FKeyName, Relationships> = Relationships extends [infer R]
138
151
  : HasUniqueFKey<FKeyName, Rest>
139
152
  : false
140
153
 
154
+ /**
155
+ * Returns a boolean representing whether there is a foreign key referencing
156
+ * a given relation.
157
+ */
141
158
  type HasFKeyToFRel<FRelName, Relationships> = Relationships extends [infer R]
142
159
  ? R extends { referencedRelation: FRelName }
143
160
  ? true
@@ -161,8 +178,9 @@ type HasUniqueFKeyToFRel<FRelName, Relationships> = Relationships extends [infer
161
178
  /**
162
179
  * Constructs a type definition for a single field of an object.
163
180
  *
164
- * @param Definitions Record of definitions, possibly generated from PostgREST's OpenAPI spec.
165
- * @param Name Name of the table being queried.
181
+ * @param Schema Database schema.
182
+ * @param Row Type of a row in the given table.
183
+ * @param Relationships Relationships between different tables in the database.
166
184
  * @param Field Single field parsed by `ParseQuery`.
167
185
  */
168
186
  type ConstructFieldDefinition<
@@ -173,6 +191,19 @@ type ConstructFieldDefinition<
173
191
  Field
174
192
  > = Field extends { star: true }
175
193
  ? Row
194
+ : Field extends { spread: true; original: string; children: unknown[] }
195
+ ? GetResultHelper<
196
+ Schema,
197
+ (Schema['Tables'] & Schema['Views'])[Field['original']]['Row'],
198
+ Field['original'],
199
+ (Schema['Tables'] & Schema['Views'])[Field['original']] extends { Relationships: infer R }
200
+ ? R
201
+ : unknown,
202
+ Field['children'],
203
+ unknown
204
+ >
205
+ : Field extends { children: [] }
206
+ ? {}
176
207
  : Field extends { name: string; original: string; hint: string; children: unknown[] }
177
208
  ? {
178
209
  [_ in Field['name']]: GetResultHelper<
@@ -231,12 +262,14 @@ type ConstructFieldDefinition<
231
262
  : Child[]
232
263
  : never
233
264
  }
265
+ : Field extends { name: string; type: infer T }
266
+ ? { [K in Field['name']]: T }
234
267
  : Field extends { name: string; original: string }
235
268
  ? Field['original'] extends keyof Row
236
269
  ? { [K in Field['name']]: Row[Field['original']] }
270
+ : Field['original'] extends 'count'
271
+ ? { count: number }
237
272
  : SelectQueryError<`Referencing missing column \`${Field['original']}\``>
238
- : Field extends { name: string; type: infer T }
239
- ? { [K in Field['name']]: T }
240
273
  : Record<string, unknown>
241
274
 
242
275
  /**
@@ -246,8 +279,7 @@ type ConstructFieldDefinition<
246
279
  */
247
280
 
248
281
  /**
249
- * Reads a consecutive sequence of more than 1 letter,
250
- * where letters are `[0-9a-zA-Z_]`.
282
+ * Reads a consecutive sequence of 1 or more letter, where letters are `[0-9a-zA-Z_]`.
251
283
  */
252
284
  type ReadLetters<Input extends string> = string extends Input
253
285
  ? GenericStringError
@@ -266,7 +298,7 @@ type ReadLettersHelper<Input extends string, Acc extends string> = string extend
266
298
  : [Acc, '']
267
299
 
268
300
  /**
269
- * Reads a consecutive sequence of more than 1 double-quoted letters,
301
+ * Reads a consecutive sequence of 1 or more double-quoted letters,
270
302
  * where letters are `[^"]`.
271
303
  */
272
304
  type ReadQuotedLetters<Input extends string> = string extends Input
@@ -289,7 +321,7 @@ type ReadQuotedLettersHelper<Input extends string, Acc extends string> = string
289
321
 
290
322
  /**
291
323
  * Parses a (possibly double-quoted) identifier.
292
- * For now, identifiers are just sequences of more than 1 letter.
324
+ * Identifiers are sequences of 1 or more letters.
293
325
  */
294
326
  type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
295
327
  infer Name,
@@ -301,9 +333,8 @@ type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
301
333
  : ParserError<`No (possibly double-quoted) identifier at \`${Input}\``>
302
334
 
303
335
  /**
304
- * Parses a node.
305
- * A node is one of the following:
306
- * - `*`
336
+ * Parses a field without preceding field renaming.
337
+ * A field is one of the following:
307
338
  * - `field`
308
339
  * - `field::type`
309
340
  * - `field->json...`
@@ -311,36 +342,20 @@ type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
311
342
  * - `field!hint(nodes)`
312
343
  * - `field!inner(nodes)`
313
344
  * - `field!hint!inner(nodes)`
314
- * - `renamed_field:field`
315
- * - `renamed_field:field::type`
316
- * - `renamed_field:field->json...`
317
- * - `renamed_field:field(nodes)`
318
- * - `renamed_field:field!hint(nodes)`
319
- * - `renamed_field:field!inner(nodes)`
320
- * - `renamed_field:field!hint!inner(nodes)`
321
345
  *
322
- * TODO: more support for JSON operators `->`, `->>`.
346
+ * TODO: support type casting of JSON operators `a->b::type`, `a->>b::type`.
323
347
  */
324
- type ParseNode<Input extends string> = Input extends ''
348
+ type ParseField<Input extends string> = Input extends ''
325
349
  ? ParserError<'Empty string'>
326
- : // `*`
327
- Input extends `*${infer Remainder}`
328
- ? [{ star: true }, EatWhitespace<Remainder>]
329
350
  : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`]
330
- ? EatWhitespace<Remainder> extends `::${infer Remainder}`
331
- ? ParseIdentifier<Remainder> extends [infer CastType, `${infer Remainder}`]
332
- ? // `field::type`
333
- CastType extends PostgreSQLTypes
334
- ? [{ name: Name; type: TypeScriptTypes<CastType> }, EatWhitespace<Remainder>]
335
- : never
336
- : ParserError<`Unexpected type cast at \`${Input}\``>
337
- : EatWhitespace<Remainder> extends `!inner${infer Remainder}`
351
+ ? EatWhitespace<Remainder> extends `!inner${infer Remainder}`
338
352
  ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`]
339
353
  ? // `field!inner(nodes)`
340
354
  [{ name: Name; original: Name; children: Fields }, EatWhitespace<Remainder>]
341
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
342
- ? ParseEmbeddedResource<EatWhitespace<Remainder>>
343
- : ParserError<'Expected embedded resource after `!inner`'>
355
+ : CreateParserErrorIfRequired<
356
+ ParseEmbeddedResource<EatWhitespace<Remainder>>,
357
+ 'Expected embedded resource after `!inner`'
358
+ >
344
359
  : EatWhitespace<Remainder> extends `!${infer Remainder}`
345
360
  ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer Hint, `${infer Remainder}`]
346
361
  ? EatWhitespace<Remainder> extends `!inner${infer Remainder}`
@@ -350,89 +365,21 @@ type ParseNode<Input extends string> = Input extends ''
350
365
  ]
351
366
  ? // `field!hint!inner(nodes)`
352
367
  [{ name: Name; original: Name; hint: Hint; children: Fields }, EatWhitespace<Remainder>]
353
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
354
- ? ParseEmbeddedResource<EatWhitespace<Remainder>>
355
- : ParserError<'Expected embedded resource after `!inner`'>
368
+ : CreateParserErrorIfRequired<
369
+ ParseEmbeddedResource<EatWhitespace<Remainder>>,
370
+ 'Expected embedded resource after `!inner`'
371
+ >
356
372
  : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
357
373
  infer Fields,
358
374
  `${infer Remainder}`
359
375
  ]
360
376
  ? // `field!hint(nodes)`
361
377
  [{ name: Name; original: Name; hint: Hint; children: Fields }, EatWhitespace<Remainder>]
362
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
363
- ? ParseEmbeddedResource<EatWhitespace<Remainder>>
364
- : ParserError<'Expected embedded resource after `!hint`'>
378
+ : CreateParserErrorIfRequired<
379
+ ParseEmbeddedResource<EatWhitespace<Remainder>>,
380
+ 'Expected embedded resource after `!hint`'
381
+ >
365
382
  : ParserError<'Expected identifier after `!`'>
366
- : EatWhitespace<Remainder> extends `:${infer Remainder}`
367
- ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer OriginalName, `${infer Remainder}`]
368
- ? EatWhitespace<Remainder> extends `::${infer Remainder}`
369
- ? ParseIdentifier<Remainder> extends [infer CastType, `${infer Remainder}`]
370
- ? // `renamed_field:field::type`
371
- CastType extends PostgreSQLTypes
372
- ? [{ name: Name; type: TypeScriptTypes<CastType> }, EatWhitespace<Remainder>]
373
- : never
374
- : ParserError<`Unexpected type cast at \`${Input}\``>
375
- : EatWhitespace<Remainder> extends `!inner${infer Remainder}`
376
- ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
377
- infer Fields,
378
- `${infer Remainder}`
379
- ]
380
- ? // `renamed_field:field!inner(nodes)`
381
- [{ name: Name; original: OriginalName; children: Fields }, EatWhitespace<Remainder>]
382
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
383
- ? ParseEmbeddedResource<EatWhitespace<Remainder>>
384
- : ParserError<'Expected embedded resource after `!inner`'>
385
- : EatWhitespace<Remainder> extends `!${infer Remainder}`
386
- ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer Hint, `${infer Remainder}`]
387
- ? EatWhitespace<Remainder> extends `!inner${infer Remainder}`
388
- ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
389
- infer Fields,
390
- `${infer Remainder}`
391
- ]
392
- ? // `renamed_field:field!hint!inner(nodes)`
393
- [
394
- { name: Name; original: OriginalName; hint: Hint; children: Fields },
395
- EatWhitespace<Remainder>
396
- ]
397
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
398
- ? ParseEmbeddedResource<EatWhitespace<Remainder>>
399
- : ParserError<'Expected embedded resource after `!inner`'>
400
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
401
- infer Fields,
402
- `${infer Remainder}`
403
- ]
404
- ? // `renamed_field:field!hint(nodes)`
405
- [
406
- {
407
- name: Name
408
- original: OriginalName
409
- hint: Hint
410
- children: Fields
411
- },
412
- EatWhitespace<Remainder>
413
- ]
414
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
415
- ? ParseEmbeddedResource<EatWhitespace<Remainder>>
416
- : ParserError<'Expected embedded resource after `!hint`'>
417
- : ParserError<'Expected identifier after `!`'>
418
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
419
- infer Fields,
420
- `${infer Remainder}`
421
- ]
422
- ? // `renamed_field:field(nodes)`
423
- [{ name: Name; original: OriginalName; children: Fields }, EatWhitespace<Remainder>]
424
- : ParseJsonAccessor<EatWhitespace<Remainder>> extends [
425
- infer _PropertyName,
426
- infer PropertyType,
427
- `${infer Remainder}`
428
- ]
429
- ? // `renamed_field:field->json...`
430
- [{ name: Name; type: PropertyType }, EatWhitespace<Remainder>]
431
- : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
432
- ? ParseEmbeddedResource<EatWhitespace<Remainder>>
433
- : // `renamed_field:field`
434
- [{ name: Name; original: OriginalName }, EatWhitespace<Remainder>]
435
- : ParseIdentifier<EatWhitespace<Remainder>>
436
383
  : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`]
437
384
  ? // `field(nodes)`
438
385
  [{ name: Name; original: Name; children: Fields }, EatWhitespace<Remainder>]
@@ -442,13 +389,56 @@ type ParseNode<Input extends string> = Input extends ''
442
389
  `${infer Remainder}`
443
390
  ]
444
391
  ? // `field->json...`
445
- [{ name: PropertyName; type: PropertyType }, EatWhitespace<Remainder>]
392
+ [{ name: PropertyName; original: PropertyName; type: PropertyType }, EatWhitespace<Remainder>]
446
393
  : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
447
394
  ? ParseEmbeddedResource<EatWhitespace<Remainder>>
395
+ : EatWhitespace<Remainder> extends `::${infer Remainder}`
396
+ ? ParseIdentifier<Remainder> extends [`${infer CastType}`, `${infer Remainder}`]
397
+ ? // `field::type`
398
+ CastType extends PostgreSQLTypes
399
+ ? [{ name: Name; type: TypeScriptTypes<CastType> }, EatWhitespace<Remainder>]
400
+ : ParserError<`Invalid type for \`::\` operator \`${CastType}\``>
401
+ : ParserError<`Invalid type for \`::\` operator at \`${Remainder}\``>
448
402
  : // `field`
449
403
  [{ name: Name; original: Name }, EatWhitespace<Remainder>]
450
404
  : ParserError<`Expected identifier at \`${Input}\``>
451
405
 
406
+ /**
407
+ * Parses a node.
408
+ * A node is one of the following:
409
+ * - `*`
410
+ * - a field, as defined above
411
+ * - a renamed field, `renamed_field:field`
412
+ * - a spread field, `...field`
413
+ */
414
+ type ParseNode<Input extends string> = Input extends ''
415
+ ? ParserError<'Empty string'>
416
+ : // `*`
417
+ Input extends `*${infer Remainder}`
418
+ ? [{ star: true }, EatWhitespace<Remainder>]
419
+ : // `...field`
420
+ Input extends `...${infer Remainder}`
421
+ ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`]
422
+ ? Field extends { children: unknown[] }
423
+ ? [Prettify<{ spread: true } & Field>, EatWhitespace<Remainder>]
424
+ : ParserError<'Unable to parse spread resource'>
425
+ : ParserError<'Unable to parse spread resource'>
426
+ : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`]
427
+ ? EatWhitespace<Remainder> extends `::${infer _Remainder}`
428
+ ? // `field::`
429
+ // Special case to detect type-casting before renaming.
430
+ ParseField<Input>
431
+ : EatWhitespace<Remainder> extends `:${infer Remainder}`
432
+ ? // `renamed_field:`
433
+ ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`]
434
+ ? Field extends { name: string }
435
+ ? [Prettify<Omit<Field, 'name'> & { name: Name }>, EatWhitespace<Remainder>]
436
+ : ParserError<`Unable to parse renamed field`>
437
+ : ParserError<`Unable to parse renamed field`>
438
+ : // Otherwise, just parse it as a field without renaming.
439
+ ParseField<Input>
440
+ : ParserError<`Expected identifier at \`${Input}\``>
441
+
452
442
  /**
453
443
  * Parses a JSON property accessor of the shape `->a->b->c`. The last accessor in
454
444
  * the series may convert to text by using the ->> operator instead of ->.
@@ -474,7 +464,7 @@ type ParseJsonAccessor<Input extends string> = Input extends `->${infer Remainde
474
464
 
475
465
  /**
476
466
  * Parses an embedded resource, which is an opening `(`, followed by a sequence of
477
- * nodes, separated by `,`, then a closing `)`.
467
+ * 0 or more nodes separated by `,`, then a closing `)`.
478
468
  *
479
469
  * Returns a tuple of ["Parsed fields", "Remainder of text"], an error,
480
470
  * or the original string input indicating that no opening `(` was found.
@@ -482,11 +472,14 @@ type ParseJsonAccessor<Input extends string> = Input extends `->${infer Remainde
482
472
  type ParseEmbeddedResource<Input extends string> = Input extends `(${infer Remainder}`
483
473
  ? ParseNodes<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`]
484
474
  ? EatWhitespace<Remainder> extends `)${infer Remainder}`
485
- ? Fields extends []
486
- ? ParserError<'Expected fields after `(`'>
487
- : [Fields, EatWhitespace<Remainder>]
475
+ ? [Fields, EatWhitespace<Remainder>]
488
476
  : ParserError<`Expected ")"`>
489
- : ParseNodes<EatWhitespace<Remainder>>
477
+ : // If no nodes were detected, check for `)` for empty embedded resources `()`.
478
+ ParseNodes<EatWhitespace<Remainder>> extends ParserError<string>
479
+ ? EatWhitespace<Remainder> extends `)${infer Remainder}`
480
+ ? [[], EatWhitespace<Remainder>]
481
+ : ParseNodes<EatWhitespace<Remainder>>
482
+ : ParserError<'Expected embedded resource fields or `)`'>
490
483
  : Input
491
484
 
492
485
  /**
@@ -560,7 +553,9 @@ type GetResultHelper<
560
553
  /**
561
554
  * Constructs a type definition for an object based on a given PostgREST query.
562
555
  *
563
- * @param Row Record<string, unknown>.
556
+ * @param Schema Database schema.
557
+ * @param Row Type of a row in the given table.
558
+ * @param Relationships Relationships between different tables in the database.
564
559
  * @param Query Select query string literal to parse.
565
560
  */
566
561
  export type GetResult<
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.11.0'
1
+ export const version = '1.13.0'