@supabase/postgrest-js 1.11.0 → 1.12.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,43 @@ 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
+ } : SelectQueryError<`Referencing missing column \`${Field['original']}\``> : Record<string, unknown>;
85
108
  /**
86
109
  * Notes: all `Parse*` types assume that their input strings have their whitespace
87
110
  * removed. They return tuples of ["Return Value", "Remainder of text"] or
88
111
  * a `ParserError`.
89
112
  */
90
113
  /**
91
- * Reads a consecutive sequence of more than 1 letter,
92
- * where letters are `[0-9a-zA-Z_]`.
114
+ * Reads a consecutive sequence of 1 or more letter, where letters are `[0-9a-zA-Z_]`.
93
115
  */
94
116
  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
117
  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
118
  /**
97
- * Reads a consecutive sequence of more than 1 double-quoted letters,
119
+ * Reads a consecutive sequence of 1 or more double-quoted letters,
98
120
  * where letters are `[^"]`.
99
121
  */
100
122
  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
123
  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
124
  /**
103
125
  * Parses a (possibly double-quoted) identifier.
104
- * For now, identifiers are just sequences of more than 1 letter.
126
+ * Identifiers are sequences of 1 or more letters.
105
127
  */
106
128
  declare type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
107
129
  infer Name,
108
130
  `${infer Remainder}`
109
131
  ] ? [Name, `${Remainder}`] : ReadQuotedLetters<Input> extends [infer Name, `${infer Remainder}`] ? [Name, `${Remainder}`] : ParserError<`No (possibly double-quoted) identifier at \`${Input}\``>;
110
132
  /**
111
- * Parses a node.
112
- * A node is one of the following:
113
- * - `*`
133
+ * Parses a field without preceding field renaming.
134
+ * A field is one of the following:
114
135
  * - `field`
115
136
  * - `field::type`
116
137
  * - `field->json...`
@@ -118,29 +139,17 @@ declare type ParseIdentifier<Input extends string> = ReadLetters<Input> extends
118
139
  * - `field!hint(nodes)`
119
140
  * - `field!inner(nodes)`
120
141
  * - `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
142
  *
129
- * TODO: more support for JSON operators `->`, `->>`.
143
+ * TODO: support type casting of JSON operators `a->b::type`, `a->>b::type`.
130
144
  */
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}`] ? [
145
+ 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
146
  {
138
147
  name: Name;
139
148
  original: Name;
140
149
  children: Fields;
141
150
  },
142
151
  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 [
152
+ ] : 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
153
  infer Fields,
145
154
  `${infer Remainder}`
146
155
  ] ? [
@@ -151,7 +160,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
151
160
  children: Fields;
152
161
  },
153
162
  EatWhitespace<Remainder>
154
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
163
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, 'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
155
164
  infer Fields,
156
165
  `${infer Remainder}`
157
166
  ] ? [
@@ -162,68 +171,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
162
171
  children: Fields;
163
172
  },
164
173
  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}`] ? [
174
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, 'Expected embedded resource after `!hint`'> : ParserError<'Expected identifier after `!`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
227
175
  {
228
176
  name: Name;
229
177
  original: Name;
@@ -237,16 +185,39 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
237
185
  ] ? [
238
186
  {
239
187
  name: PropertyName;
188
+ original: PropertyName;
240
189
  type: PropertyType;
241
190
  },
242
191
  EatWhitespace<Remainder>
243
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : [
192
+ ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : EatWhitespace<Remainder> extends `::${infer Remainder}` ? ParseIdentifier<Remainder> extends [`${infer CastType}`, `${infer Remainder}`] ? CastType extends PostgreSQLTypes ? [{
193
+ name: Name;
194
+ type: TypeScriptTypes<CastType>;
195
+ }, EatWhitespace<Remainder>] : ParserError<`Invalid type for \`::\` operator \`${CastType}\``> : ParserError<`Invalid type for \`::\` operator at \`${Remainder}\``> : [
244
196
  {
245
197
  name: Name;
246
198
  original: Name;
247
199
  },
248
200
  EatWhitespace<Remainder>
249
201
  ] : ParserError<`Expected identifier at \`${Input}\``>;
202
+ /**
203
+ * Parses a node.
204
+ * A node is one of the following:
205
+ * - `*`
206
+ * - a field, as defined above
207
+ * - a renamed field, `renamed_field:field`
208
+ * - a spread field, `...field`
209
+ */
210
+ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [{
211
+ star: true;
212
+ }, EatWhitespace<Remainder>] : Input extends `...${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`] ? Field extends {
213
+ children: unknown[];
214
+ } ? [Prettify<{
215
+ spread: true;
216
+ } & 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 {
217
+ name: string;
218
+ } ? [Prettify<Omit<Field, 'name'> & {
219
+ name: Name;
220
+ }>, EatWhitespace<Remainder>] : ParserError<`Unable to parse renamed field`> : ParserError<`Unable to parse renamed field`> : ParseField<Input> : ParserError<`Expected identifier at \`${Input}\``>;
250
221
  /**
251
222
  * Parses a JSON property accessor of the shape `->a->b->c`. The last accessor in
252
223
  * the series may convert to text by using the ->> operator instead of ->.
@@ -261,12 +232,12 @@ declare type ParseJsonAccessor<Input extends string> = Input extends `->${infer
261
232
  ] ? [PropertyName, PropertyType, EatWhitespace<Remainder>] : [Name, Json, EatWhitespace<Remainder>] : ParserError<'Expected property name after `->`'> : Input;
262
233
  /**
263
234
  * Parses an embedded resource, which is an opening `(`, followed by a sequence of
264
- * nodes, separated by `,`, then a closing `)`.
235
+ * 0 or more nodes separated by `,`, then a closing `)`.
265
236
  *
266
237
  * Returns a tuple of ["Parsed fields", "Remainder of text"], an error,
267
238
  * or the original string input indicating that no opening `(` was found.
268
239
  */
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;
240
+ 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
241
  /**
271
242
  * Parses a sequence of nodes, separated by `,`.
272
243
  *
@@ -290,7 +261,9 @@ declare type GetResultHelper<Schema extends GenericSchema, Row extends Record<st
290
261
  /**
291
262
  * Constructs a type definition for an object based on a given PostgREST query.
292
263
  *
293
- * @param Row Record<string, unknown>.
264
+ * @param Schema Database schema.
265
+ * @param Row Type of a row in the given table.
266
+ * @param Relationships Relationships between different tables in the database.
294
267
  * @param Query Select query string literal to parse.
295
268
  */
296
269
  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":"AAEA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEjD,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;AAEpC,aAAK,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,EAAE,CAAA;AAE/E,aAAK,0BAA0B,GAC3B,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,WAAW,GACX,aAAa,GACb,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,CAAA;AAEV,aAAK,oBAAoB,GAAG,IAAI,0BAA0B,EAAE,CAAA;AAE5D,aAAK,eAAe,GAAG,0BAA0B,GAAG,oBAAoB,CAAA;AAExE,aAAK,0BAA0B,CAAC,CAAC,SAAS,0BAA0B,IAAI,CAAC,SAAS,MAAM,GACpF,OAAO,GACP,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GACpE,MAAM,GACN,CAAC,SACG,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,WAAW,GACX,aAAa,GACb,MAAM,GACN,QAAQ,GACZ,MAAM,GACN,CAAC,SAAS,MAAM,GAAG,OAAO,GAC1B,IAAI,GACJ,CAAC,SAAS,MAAM,GAChB,SAAS,GACT,CAAC,SAAS,QAAQ,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,OAAO,CAAA;AAEX,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAExE,aAAK,eAAe,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,SAAS,oBAAoB,GAC5E,0BAA0B,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAAE,GACrF,0BAA0B,CAAC,CAAC,CAAC,CAAA;AAEjC;;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;AAClE,oBAAY,gBAAgB,CAAC,OAAO,SAAS,MAAM,IAAI;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAA;AAEhF;;GAEG;AACH,aAAK,2BAA2B,CAAC,KAAK,EAAE,OAAO,SAAS,MAAM,IAAI,KAAK,SAAS,WAAW,CAAC,MAAM,CAAC,GAC/F,KAAK,GACL,WAAW,CAAC,OAAO,CAAC,CAAA;AAExB;;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;;GAEG;AACH,aAAK,OAAO,CAAC,QAAQ,EAAE,aAAa,IAAI,aAAa,SAAS,CAAC,MAAM,CAAC,CAAC,GACnE,CAAC,SAAS;IAAE,cAAc,EAAE,QAAQ,CAAA;CAAE,GACpC,IAAI,GACJ,KAAK,GACP,aAAa,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACjC,IAAI,GACJ,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GACzB,KAAK,CAAA;AAET;;GAEG;AACH,aAAK,aAAa,CAAC,QAAQ,EAAE,aAAa,IAAI,aAAa,SAAS,CAAC,MAAM,CAAC,CAAC,GACzE,CAAC,SAAS;IAAE,cAAc,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,GACtD,IAAI,GACJ,KAAK,GACP,aAAa,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9C,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACvC,IAAI,GACJ,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,GAC/B,KAAK,CAAA;AAET;;;GAGG;AACH,aAAK,aAAa,CAAC,QAAQ,EAAE,aAAa,IAAI,aAAa,SAAS,CAAC,MAAM,CAAC,CAAC,GACzE,CAAC,SAAS;IAAE,kBAAkB,EAAE,QAAQ,CAAA;CAAE,GACxC,IAAI,GACJ,KAAK,GACP,aAAa,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9C,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACvC,IAAI,GACJ,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,GAC/B,KAAK,CAAA;AAET,aAAK,mBAAmB,CAAC,QAAQ,EAAE,aAAa,IAAI,aAAa,SAAS,CAAC,MAAM,CAAC,CAAC,GAC/E,CAAC,SAAS;IAAE,kBAAkB,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,GAC1D,IAAI,GACJ,KAAK,GACP,aAAa,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9C,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC7C,IAAI,GACJ,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,GACrC,KAAK,CAAA;AAET;;;;;;;GAOG;AACH,aAAK,wBAAwB,CAC3B,MAAM,SAAS,aAAa,EAC5B,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,YAAY,EACZ,aAAa,EACb,KAAK,IACH,KAAK,SAAS;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAC5B,GAAG,GACH,KAAK,SAAS;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,GACrE,eAAe,CACb,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,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS;IAAE,aAAa,EAAE,MAAM,CAAC,CAAA;CAAE,GACtF,CAAC,GACD,OAAO,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,OAAO,CACR,GACD,KAAK,SAAS;IAAE,QAAQ,EAAE,EAAE,CAAA;CAAE,GAC9B,EAAE,GACF,KAAK,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,GACnF;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,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS;QAAE,aAAa,EAAE,MAAM,CAAC,CAAA;KAAE,GACtF,CAAC,GACD,OAAO,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,OAAO,CACR,SAAS,MAAM,KAAK,GAEjB,aAAa,CACX,KAAK,CAAC,MAAM,CAAC,EACb,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS;QAC9D,aAAa,EAAE,MAAM,CAAC,CAAA;KACvB,GACG,CAAC,GACD,OAAO,CACZ,SAAS,IAAI,GACZ,KAAK,GAAG,IAAI,GACZ,aAAa,SAAS,OAAO,EAAE,GAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,SAAS,IAAI,GAChD,KAAK,GAAG,IAAI,GACZ,KAAK,EAAE,GACT,KAAK,EAAE,GACT,KAAK;CACV,GACD,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,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS;QAAE,aAAa,EAAE,MAAM,CAAC,CAAA;KAAE,GACtF,CAAC,GACD,OAAO,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,OAAO,CACR,SAAS,MAAM,KAAK,GAEjB,mBAAmB,CACjB,YAAY,EACZ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS;QAC9D,aAAa,EAAE,MAAM,CAAC,CAAA;KACvB,GACG,CAAC,GACD,OAAO,CACZ,SAAS,IAAI,GACZ,KAAK,GAAG,IAAI,GACZ,aAAa,SAAS,OAAO,EAAE,GAC/B,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,SAAS,IAAI,GAC1D,KAAK,GAAG,IAAI,GACZ,KAAK,EAAE,GACT,KAAK,EAAE,GACT,KAAK;CACV,GACD,KAAK,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAC7C;KAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;CAAE,GAC3B,KAAK,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChD,KAAK,CAAC,UAAU,CAAC,SAAS,MAAM,GAAG,GACjC;KAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;CAAE,GAChD,gBAAgB,CAAC,gCAAgC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GACzE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3B;;;;GAIG;AAEH;;GAEG;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;;;GAGG;AACH,aAAK,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC/D,kBAAkB,GAClB,KAAK,SAAS,IAAI,MAAM,SAAS,EAAE,GACnC,uBAAuB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACvF,OAAO,SAAS,EAAE,GAChB,WAAW,CAAC,wBAAwB,SAAS,IAAI,CAAC,GAClD,CAAC,OAAO,EAAE,SAAS,CAAC,GACtB,uBAAuB,CAAC,SAAS,EAAE,EAAE,CAAC,GACxC,WAAW,CAAC,mCAAmC,KAAK,IAAI,CAAC,CAAA;AAE7D,aAAK,uBAAuB,CAAC,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GACzF,kBAAkB,GAClB,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,SAAS,EAAE,GAC5C,CAAC,SAAS,GAAG,GACX,CAAC,GAAG,EAAE,SAAS,CAAC,GAChB,uBAAuB,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAClD,WAAW,CAAC,sCAAsC,GAAG,GAAG,KAAK,IAAI,CAAC,CAAA;AAEtE;;;GAGG;AACH,aAAK,eAAe,CAAC,KAAK,SAAS,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS;IACtE,MAAM,IAAI;IACV,GAAG,MAAM,SAAS,EAAE;CACrB,GACG,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,GACtB,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACnE,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,GACtB,WAAW,CAAC,+CAA+C,KAAK,IAAI,CAAC,CAAA;AAEzE;;;;;;;;;;;;GAYG;AACH,aAAK,UAAU,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,EAAE,GACpD,WAAW,CAAC,cAAc,CAAC,GAC3B,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,2BAA2B,CACzB,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAC/C,2CAA2C,CAC5C,GACH,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACtD,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAClF,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,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GACxF,2BAA2B,CACzB,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAC/C,2CAA2C,CAC5C,GACH,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,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GACxF,2BAA2B,CACzB,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAC/C,0CAA0C,CAC3C,GACH,WAAW,CAAC,+BAA+B,CAAC,GAC9C,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,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IAClD,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,GAAG,MAAM,SAAS,EAAE;CACrB,GAED;IAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GAC9F,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC3E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC/C,aAAa,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,SAAS,EAAE,GACvD,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,MAAM,QAAQ,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAE5E,QAAQ,SAAS,eAAe,GAC9B,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;CAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAC3E,WAAW,CAAC,sCAAsC,QAAQ,IAAI,CAAC,GACjE,WAAW,CAAC,yCAAyC,SAAS,IAAI,CAAC,GAErE;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;;;;;;;GAOG;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,GAE5C,KAAK,SAAS,MAAM,MAAM,SAAS,EAAE,GACnC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC9E,KAAK,SAAS;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,GACnC,CAAC,QAAQ,CAAC;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG,KAAK,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAC9D,WAAW,CAAC,iCAAiC,CAAC,GAChD,WAAW,CAAC,iCAAiC,CAAC,GAChD,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACjE,aAAa,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,UAAU,EAAE,GAGtD,UAAU,CAAC,KAAK,CAAC,GACjB,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GAEtD,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC9E,KAAK,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5B,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAC1E,WAAW,CAAC,+BAA+B,CAAC,GAC9C,WAAW,CAAC,+BAA+B,CAAC,GAE9C,UAAU,CAAC,KAAK,CAAC,GACnB,WAAW,CAAC,4BAA4B,KAAK,IAAI,CAAC,CAAA;AAEtD;;;;;;GAMG;AACH,aAAK,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,KAAK,MAAM,SAAS,EAAE,GAC/E,SAAS,SAAS,IAAI,MAAM,SAAS,EAAE,GACrC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACnE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACxC,WAAW,CAAC,oCAAoC,CAAC,GACnD,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACrE,iBAAiB,CAAC,SAAS,CAAC,SAAS;IACnC,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,GAAG,MAAM,SAAS,EAAE;CACrB,GACC,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACtD,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACxC,WAAW,CAAC,mCAAmC,CAAC,GAClD,KAAK,CAAA;AAET;;;;;;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,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAClC,WAAW,CAAC,cAAc,CAAC,GAE/B,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAC9D,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACpD,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAC9B,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GACtC,WAAW,CAAC,0CAA0C,CAAC,GACzD,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,YAAY,EACZ,aAAa,EACb,MAAM,SAAS,OAAO,EAAE,EACxB,GAAG,IACD,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,GACxB,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,gBAAgB,CAC5F,MAAM,CAAC,CACR,GACC,gBAAgB,CAAC,CAAC,CAAC,GACnB,eAAe,CACb,MAAM,EACN,GAAG,EACH,YAAY,EACZ,aAAa,EACb;CAAE,EACF,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,GAAG,GAAG,CAC5E,GACH,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GACvC,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,gBAAgB,CAC5F,MAAM,CAAC,CACR,GACC,gBAAgB,CAAC,CAAC,CAAC,GACnB,eAAe,CACb,MAAM,EACN,GAAG,EACH,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,GAAG,GAAG,CAC5E,GACH,QAAQ,CAAC,GAAG,CAAC,CAAA;AAEjB;;;;;;;GAOG;AACH,oBAAY,SAAS,CACnB,MAAM,SAAS,aAAa,EAC5B,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,YAAY,EACZ,aAAa,EACb,KAAK,SAAS,MAAM,IAClB,UAAU,CAAC,KAAK,CAAC,SAAS,OAAO,EAAE,GACnC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GACrF,UAAU,CAAC,KAAK,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.11.0";
1
+ export declare const version = "1.12.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.12.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,43 @@ 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
+ } : SelectQueryError<`Referencing missing column \`${Field['original']}\``> : Record<string, unknown>;
85
108
  /**
86
109
  * Notes: all `Parse*` types assume that their input strings have their whitespace
87
110
  * removed. They return tuples of ["Return Value", "Remainder of text"] or
88
111
  * a `ParserError`.
89
112
  */
90
113
  /**
91
- * Reads a consecutive sequence of more than 1 letter,
92
- * where letters are `[0-9a-zA-Z_]`.
114
+ * Reads a consecutive sequence of 1 or more letter, where letters are `[0-9a-zA-Z_]`.
93
115
  */
94
116
  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
117
  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
118
  /**
97
- * Reads a consecutive sequence of more than 1 double-quoted letters,
119
+ * Reads a consecutive sequence of 1 or more double-quoted letters,
98
120
  * where letters are `[^"]`.
99
121
  */
100
122
  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
123
  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
124
  /**
103
125
  * Parses a (possibly double-quoted) identifier.
104
- * For now, identifiers are just sequences of more than 1 letter.
126
+ * Identifiers are sequences of 1 or more letters.
105
127
  */
106
128
  declare type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
107
129
  infer Name,
108
130
  `${infer Remainder}`
109
131
  ] ? [Name, `${Remainder}`] : ReadQuotedLetters<Input> extends [infer Name, `${infer Remainder}`] ? [Name, `${Remainder}`] : ParserError<`No (possibly double-quoted) identifier at \`${Input}\``>;
110
132
  /**
111
- * Parses a node.
112
- * A node is one of the following:
113
- * - `*`
133
+ * Parses a field without preceding field renaming.
134
+ * A field is one of the following:
114
135
  * - `field`
115
136
  * - `field::type`
116
137
  * - `field->json...`
@@ -118,29 +139,17 @@ declare type ParseIdentifier<Input extends string> = ReadLetters<Input> extends
118
139
  * - `field!hint(nodes)`
119
140
  * - `field!inner(nodes)`
120
141
  * - `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
142
  *
129
- * TODO: more support for JSON operators `->`, `->>`.
143
+ * TODO: support type casting of JSON operators `a->b::type`, `a->>b::type`.
130
144
  */
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}`] ? [
145
+ 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
146
  {
138
147
  name: Name;
139
148
  original: Name;
140
149
  children: Fields;
141
150
  },
142
151
  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 [
152
+ ] : 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
153
  infer Fields,
145
154
  `${infer Remainder}`
146
155
  ] ? [
@@ -151,7 +160,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
151
160
  children: Fields;
152
161
  },
153
162
  EatWhitespace<Remainder>
154
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
163
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, 'Expected embedded resource after `!inner`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
155
164
  infer Fields,
156
165
  `${infer Remainder}`
157
166
  ] ? [
@@ -162,68 +171,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
162
171
  children: Fields;
163
172
  },
164
173
  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}`] ? [
174
+ ] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, 'Expected embedded resource after `!hint`'> : ParserError<'Expected identifier after `!`'> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`] ? [
227
175
  {
228
176
  name: Name;
229
177
  original: Name;
@@ -237,16 +185,39 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
237
185
  ] ? [
238
186
  {
239
187
  name: PropertyName;
188
+ original: PropertyName;
240
189
  type: PropertyType;
241
190
  },
242
191
  EatWhitespace<Remainder>
243
- ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : [
192
+ ] : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string> ? ParseEmbeddedResource<EatWhitespace<Remainder>> : EatWhitespace<Remainder> extends `::${infer Remainder}` ? ParseIdentifier<Remainder> extends [`${infer CastType}`, `${infer Remainder}`] ? CastType extends PostgreSQLTypes ? [{
193
+ name: Name;
194
+ type: TypeScriptTypes<CastType>;
195
+ }, EatWhitespace<Remainder>] : ParserError<`Invalid type for \`::\` operator \`${CastType}\``> : ParserError<`Invalid type for \`::\` operator at \`${Remainder}\``> : [
244
196
  {
245
197
  name: Name;
246
198
  original: Name;
247
199
  },
248
200
  EatWhitespace<Remainder>
249
201
  ] : ParserError<`Expected identifier at \`${Input}\``>;
202
+ /**
203
+ * Parses a node.
204
+ * A node is one of the following:
205
+ * - `*`
206
+ * - a field, as defined above
207
+ * - a renamed field, `renamed_field:field`
208
+ * - a spread field, `...field`
209
+ */
210
+ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [{
211
+ star: true;
212
+ }, EatWhitespace<Remainder>] : Input extends `...${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`] ? Field extends {
213
+ children: unknown[];
214
+ } ? [Prettify<{
215
+ spread: true;
216
+ } & 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 {
217
+ name: string;
218
+ } ? [Prettify<Omit<Field, 'name'> & {
219
+ name: Name;
220
+ }>, EatWhitespace<Remainder>] : ParserError<`Unable to parse renamed field`> : ParserError<`Unable to parse renamed field`> : ParseField<Input> : ParserError<`Expected identifier at \`${Input}\``>;
250
221
  /**
251
222
  * Parses a JSON property accessor of the shape `->a->b->c`. The last accessor in
252
223
  * the series may convert to text by using the ->> operator instead of ->.
@@ -261,12 +232,12 @@ declare type ParseJsonAccessor<Input extends string> = Input extends `->${infer
261
232
  ] ? [PropertyName, PropertyType, EatWhitespace<Remainder>] : [Name, Json, EatWhitespace<Remainder>] : ParserError<'Expected property name after `->`'> : Input;
262
233
  /**
263
234
  * Parses an embedded resource, which is an opening `(`, followed by a sequence of
264
- * nodes, separated by `,`, then a closing `)`.
235
+ * 0 or more nodes separated by `,`, then a closing `)`.
265
236
  *
266
237
  * Returns a tuple of ["Parsed fields", "Remainder of text"], an error,
267
238
  * or the original string input indicating that no opening `(` was found.
268
239
  */
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;
240
+ 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
241
  /**
271
242
  * Parses a sequence of nodes, separated by `,`.
272
243
  *
@@ -290,7 +261,9 @@ declare type GetResultHelper<Schema extends GenericSchema, Row extends Record<st
290
261
  /**
291
262
  * Constructs a type definition for an object based on a given PostgREST query.
292
263
  *
293
- * @param Row Record<string, unknown>.
264
+ * @param Schema Database schema.
265
+ * @param Row Type of a row in the given table.
266
+ * @param Relationships Relationships between different tables in the database.
294
267
  * @param Query Select query string literal to parse.
295
268
  */
296
269
  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.12.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const version = '1.11.0';
1
+ export const version = '1.12.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.12.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,12 @@ 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']] }
237
270
  : SelectQueryError<`Referencing missing column \`${Field['original']}\``>
238
- : Field extends { name: string; type: infer T }
239
- ? { [K in Field['name']]: T }
240
271
  : Record<string, unknown>
241
272
 
242
273
  /**
@@ -246,8 +277,7 @@ type ConstructFieldDefinition<
246
277
  */
247
278
 
248
279
  /**
249
- * Reads a consecutive sequence of more than 1 letter,
250
- * where letters are `[0-9a-zA-Z_]`.
280
+ * Reads a consecutive sequence of 1 or more letter, where letters are `[0-9a-zA-Z_]`.
251
281
  */
252
282
  type ReadLetters<Input extends string> = string extends Input
253
283
  ? GenericStringError
@@ -266,7 +296,7 @@ type ReadLettersHelper<Input extends string, Acc extends string> = string extend
266
296
  : [Acc, '']
267
297
 
268
298
  /**
269
- * Reads a consecutive sequence of more than 1 double-quoted letters,
299
+ * Reads a consecutive sequence of 1 or more double-quoted letters,
270
300
  * where letters are `[^"]`.
271
301
  */
272
302
  type ReadQuotedLetters<Input extends string> = string extends Input
@@ -289,7 +319,7 @@ type ReadQuotedLettersHelper<Input extends string, Acc extends string> = string
289
319
 
290
320
  /**
291
321
  * Parses a (possibly double-quoted) identifier.
292
- * For now, identifiers are just sequences of more than 1 letter.
322
+ * Identifiers are sequences of 1 or more letters.
293
323
  */
294
324
  type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
295
325
  infer Name,
@@ -301,9 +331,8 @@ type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
301
331
  : ParserError<`No (possibly double-quoted) identifier at \`${Input}\``>
302
332
 
303
333
  /**
304
- * Parses a node.
305
- * A node is one of the following:
306
- * - `*`
334
+ * Parses a field without preceding field renaming.
335
+ * A field is one of the following:
307
336
  * - `field`
308
337
  * - `field::type`
309
338
  * - `field->json...`
@@ -311,36 +340,20 @@ type ParseIdentifier<Input extends string> = ReadLetters<Input> extends [
311
340
  * - `field!hint(nodes)`
312
341
  * - `field!inner(nodes)`
313
342
  * - `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
343
  *
322
- * TODO: more support for JSON operators `->`, `->>`.
344
+ * TODO: support type casting of JSON operators `a->b::type`, `a->>b::type`.
323
345
  */
324
- type ParseNode<Input extends string> = Input extends ''
346
+ type ParseField<Input extends string> = Input extends ''
325
347
  ? ParserError<'Empty string'>
326
- : // `*`
327
- Input extends `*${infer Remainder}`
328
- ? [{ star: true }, EatWhitespace<Remainder>]
329
348
  : 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}`
349
+ ? EatWhitespace<Remainder> extends `!inner${infer Remainder}`
338
350
  ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`]
339
351
  ? // `field!inner(nodes)`
340
352
  [{ 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`'>
353
+ : CreateParserErrorIfRequired<
354
+ ParseEmbeddedResource<EatWhitespace<Remainder>>,
355
+ 'Expected embedded resource after `!inner`'
356
+ >
344
357
  : EatWhitespace<Remainder> extends `!${infer Remainder}`
345
358
  ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer Hint, `${infer Remainder}`]
346
359
  ? EatWhitespace<Remainder> extends `!inner${infer Remainder}`
@@ -350,89 +363,21 @@ type ParseNode<Input extends string> = Input extends ''
350
363
  ]
351
364
  ? // `field!hint!inner(nodes)`
352
365
  [{ 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`'>
366
+ : CreateParserErrorIfRequired<
367
+ ParseEmbeddedResource<EatWhitespace<Remainder>>,
368
+ 'Expected embedded resource after `!inner`'
369
+ >
356
370
  : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
357
371
  infer Fields,
358
372
  `${infer Remainder}`
359
373
  ]
360
374
  ? // `field!hint(nodes)`
361
375
  [{ 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`'>
376
+ : CreateParserErrorIfRequired<
377
+ ParseEmbeddedResource<EatWhitespace<Remainder>>,
378
+ 'Expected embedded resource after `!hint`'
379
+ >
365
380
  : 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
381
  : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`]
437
382
  ? // `field(nodes)`
438
383
  [{ name: Name; original: Name; children: Fields }, EatWhitespace<Remainder>]
@@ -442,13 +387,56 @@ type ParseNode<Input extends string> = Input extends ''
442
387
  `${infer Remainder}`
443
388
  ]
444
389
  ? // `field->json...`
445
- [{ name: PropertyName; type: PropertyType }, EatWhitespace<Remainder>]
390
+ [{ name: PropertyName; original: PropertyName; type: PropertyType }, EatWhitespace<Remainder>]
446
391
  : ParseEmbeddedResource<EatWhitespace<Remainder>> extends ParserError<string>
447
392
  ? ParseEmbeddedResource<EatWhitespace<Remainder>>
393
+ : EatWhitespace<Remainder> extends `::${infer Remainder}`
394
+ ? ParseIdentifier<Remainder> extends [`${infer CastType}`, `${infer Remainder}`]
395
+ ? // `field::type`
396
+ CastType extends PostgreSQLTypes
397
+ ? [{ name: Name; type: TypeScriptTypes<CastType> }, EatWhitespace<Remainder>]
398
+ : ParserError<`Invalid type for \`::\` operator \`${CastType}\``>
399
+ : ParserError<`Invalid type for \`::\` operator at \`${Remainder}\``>
448
400
  : // `field`
449
401
  [{ name: Name; original: Name }, EatWhitespace<Remainder>]
450
402
  : ParserError<`Expected identifier at \`${Input}\``>
451
403
 
404
+ /**
405
+ * Parses a node.
406
+ * A node is one of the following:
407
+ * - `*`
408
+ * - a field, as defined above
409
+ * - a renamed field, `renamed_field:field`
410
+ * - a spread field, `...field`
411
+ */
412
+ type ParseNode<Input extends string> = Input extends ''
413
+ ? ParserError<'Empty string'>
414
+ : // `*`
415
+ Input extends `*${infer Remainder}`
416
+ ? [{ star: true }, EatWhitespace<Remainder>]
417
+ : // `...field`
418
+ Input extends `...${infer Remainder}`
419
+ ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`]
420
+ ? Field extends { children: unknown[] }
421
+ ? [Prettify<{ spread: true } & Field>, EatWhitespace<Remainder>]
422
+ : ParserError<'Unable to parse spread resource'>
423
+ : ParserError<'Unable to parse spread resource'>
424
+ : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`]
425
+ ? EatWhitespace<Remainder> extends `::${infer _Remainder}`
426
+ ? // `field::`
427
+ // Special case to detect type-casting before renaming.
428
+ ParseField<Input>
429
+ : EatWhitespace<Remainder> extends `:${infer Remainder}`
430
+ ? // `renamed_field:`
431
+ ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`]
432
+ ? Field extends { name: string }
433
+ ? [Prettify<Omit<Field, 'name'> & { name: Name }>, EatWhitespace<Remainder>]
434
+ : ParserError<`Unable to parse renamed field`>
435
+ : ParserError<`Unable to parse renamed field`>
436
+ : // Otherwise, just parse it as a field without renaming.
437
+ ParseField<Input>
438
+ : ParserError<`Expected identifier at \`${Input}\``>
439
+
452
440
  /**
453
441
  * Parses a JSON property accessor of the shape `->a->b->c`. The last accessor in
454
442
  * the series may convert to text by using the ->> operator instead of ->.
@@ -474,7 +462,7 @@ type ParseJsonAccessor<Input extends string> = Input extends `->${infer Remainde
474
462
 
475
463
  /**
476
464
  * Parses an embedded resource, which is an opening `(`, followed by a sequence of
477
- * nodes, separated by `,`, then a closing `)`.
465
+ * 0 or more nodes separated by `,`, then a closing `)`.
478
466
  *
479
467
  * Returns a tuple of ["Parsed fields", "Remainder of text"], an error,
480
468
  * or the original string input indicating that no opening `(` was found.
@@ -482,11 +470,14 @@ type ParseJsonAccessor<Input extends string> = Input extends `->${infer Remainde
482
470
  type ParseEmbeddedResource<Input extends string> = Input extends `(${infer Remainder}`
483
471
  ? ParseNodes<EatWhitespace<Remainder>> extends [infer Fields, `${infer Remainder}`]
484
472
  ? EatWhitespace<Remainder> extends `)${infer Remainder}`
485
- ? Fields extends []
486
- ? ParserError<'Expected fields after `(`'>
487
- : [Fields, EatWhitespace<Remainder>]
473
+ ? [Fields, EatWhitespace<Remainder>]
488
474
  : ParserError<`Expected ")"`>
489
- : ParseNodes<EatWhitespace<Remainder>>
475
+ : // If no nodes were detected, check for `)` for empty embedded resources `()`.
476
+ ParseNodes<EatWhitespace<Remainder>> extends ParserError<string>
477
+ ? EatWhitespace<Remainder> extends `)${infer Remainder}`
478
+ ? [[], EatWhitespace<Remainder>]
479
+ : ParseNodes<EatWhitespace<Remainder>>
480
+ : ParserError<'Expected embedded resource fields or `)`'>
490
481
  : Input
491
482
 
492
483
  /**
@@ -560,7 +551,9 @@ type GetResultHelper<
560
551
  /**
561
552
  * Constructs a type definition for an object based on a given PostgREST query.
562
553
  *
563
- * @param Row Record<string, unknown>.
554
+ * @param Schema Database schema.
555
+ * @param Row Type of a row in the given table.
556
+ * @param Relationships Relationships between different tables in the database.
564
557
  * @param Query Select query string literal to parse.
565
558
  */
566
559
  export type GetResult<
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.11.0'
1
+ export const version = '1.12.0'