@supabase/postgrest-js 1.17.2 → 1.17.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/select-query-parser/parser.d.ts +17 -35
- package/dist/cjs/select-query-parser/parser.d.ts.map +1 -1
- package/dist/cjs/select-query-parser/result.d.ts +4 -4
- package/dist/cjs/select-query-parser/result.d.ts.map +1 -1
- package/dist/cjs/select-query-parser/utils.d.ts +54 -47
- package/dist/cjs/select-query-parser/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/select-query-parser/parser.ts +58 -54
- package/src/select-query-parser/result.ts +43 -27
- package/src/select-query-parser/utils.ts +234 -185
- package/src/version.ts +1 -1
|
@@ -6,7 +6,7 @@ import { SimplifyDeep } from '../types';
|
|
|
6
6
|
*
|
|
7
7
|
* Returns an array of parsed nodes, or an error.
|
|
8
8
|
*/
|
|
9
|
-
export declare type ParseQuery<Query extends string> = string extends Query ? GenericStringError : ParseNodes<EatWhitespace<Query>> extends [infer Nodes
|
|
9
|
+
export declare type ParseQuery<Query extends string> = string extends Query ? GenericStringError : ParseNodes<EatWhitespace<Query>> extends [infer Nodes, `${infer Remainder}`] ? Nodes extends Ast.Node[] ? EatWhitespace<Remainder> extends '' ? SimplifyDeep<Nodes> : ParserError<`Unexpected input: ${Remainder}`> : ParserError<'Invalid nodes array structure'> : ParseNodes<EatWhitespace<Query>>;
|
|
10
10
|
/**
|
|
11
11
|
* Notes: all `Parse*` types assume that their input strings have their whitespace
|
|
12
12
|
* removed. They return tuples of ["Return Value", "Remainder of text"] or
|
|
@@ -19,9 +19,9 @@ export declare type ParseQuery<Query extends string> = string extends Query ? Ge
|
|
|
19
19
|
*/
|
|
20
20
|
declare type ParseNodes<Input extends string> = string extends Input ? GenericStringError : ParseNodesHelper<Input, []>;
|
|
21
21
|
declare type ParseNodesHelper<Input extends string, Nodes extends Ast.Node[]> = ParseNode<Input> extends [
|
|
22
|
-
infer Node
|
|
22
|
+
infer Node,
|
|
23
23
|
`${infer Remainder}`
|
|
24
|
-
] ? EatWhitespace<Remainder> extends `,${infer Remainder}` ? ParseNodesHelper<EatWhitespace<Remainder>, [...Nodes, Node]> : [[...Nodes, Node], EatWhitespace<Remainder>] : ParseNode<Input>;
|
|
24
|
+
] ? Node extends Ast.Node ? EatWhitespace<Remainder> extends `,${infer Remainder}` ? ParseNodesHelper<EatWhitespace<Remainder>, [...Nodes, Node]> : [[...Nodes, Node], EatWhitespace<Remainder>] : ParserError<'Invalid node type in nodes helper'> : ParseNode<Input>;
|
|
25
25
|
/**
|
|
26
26
|
* Parses a node.
|
|
27
27
|
* A node is one of the following:
|
|
@@ -30,18 +30,12 @@ declare type ParseNodesHelper<Input extends string, Nodes extends Ast.Node[]> =
|
|
|
30
30
|
* - a renamed field, `renamed_field:field`
|
|
31
31
|
* - a spread field, `...field`
|
|
32
32
|
*/
|
|
33
|
-
declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [Ast.StarNode, EatWhitespace<Remainder>] : Input extends `...${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [
|
|
34
|
-
infer TargetField extends Ast.FieldNode,
|
|
35
|
-
`${infer Remainder}`
|
|
36
|
-
] ? [{
|
|
33
|
+
declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'Empty string'> : Input extends `*${infer Remainder}` ? [Ast.StarNode, EatWhitespace<Remainder>] : Input extends `...${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [infer TargetField, `${infer Remainder}`] ? TargetField extends Ast.FieldNode ? [{
|
|
37
34
|
type: 'spread';
|
|
38
35
|
target: TargetField;
|
|
39
|
-
}, EatWhitespace<Remainder>] : ParserError<`Unable to parse spread resource at \`${Input}\``> : ParseIdentifier<Input> extends [infer NameOrAlias, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `::${infer _}` ? ParseField<Input> : EatWhitespace<Remainder> extends `:${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [
|
|
40
|
-
infer Field extends Ast.FieldNode,
|
|
41
|
-
`${infer Remainder}`
|
|
42
|
-
] ? [Omit<Field, 'alias'> & {
|
|
36
|
+
}, EatWhitespace<Remainder>] : ParserError<'Invalid target field type in spread'> : ParserError<`Unable to parse spread resource at \`${Input}\``> : ParseIdentifier<Input> extends [infer NameOrAlias, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `::${infer _}` ? ParseField<Input> : EatWhitespace<Remainder> extends `:${infer Remainder}` ? ParseField<EatWhitespace<Remainder>> extends [infer Field, `${infer Remainder}`] ? Field extends Ast.FieldNode ? [Omit<Field, 'alias'> & {
|
|
43
37
|
alias: NameOrAlias;
|
|
44
|
-
}, EatWhitespace<Remainder>] : ParserError<`Unable to parse renamed field at \`${Input}\``> : ParseField<Input> : ParserError<`Expected identifier at \`${Input}\``>;
|
|
38
|
+
}, EatWhitespace<Remainder>] : ParserError<'Invalid field type in alias parsing'> : ParserError<`Unable to parse renamed field at \`${Input}\``> : ParseField<Input> : ParserError<`Expected identifier at \`${Input}\``>;
|
|
45
39
|
/**
|
|
46
40
|
* Parses a field without preceding alias.
|
|
47
41
|
* A field is one of the following:
|
|
@@ -55,10 +49,7 @@ declare type ParseNode<Input extends string> = Input extends '' ? ParserError<'E
|
|
|
55
49
|
* - `field!hint!left(nodes)`
|
|
56
50
|
* - a field without an embedded resource (see {@link ParseNonEmbeddedResourceField})
|
|
57
51
|
*/
|
|
58
|
-
declare type ParseField<Input extends string> = Input extends '' ? ParserError<'Empty string'> : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? Name extends 'count' ? ParseCountField<Input> : Remainder extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
59
|
-
infer Children extends Ast.Node[],
|
|
60
|
-
`${infer Remainder}`
|
|
61
|
-
] ? [
|
|
52
|
+
declare type ParseField<Input extends string> = Input extends '' ? ParserError<'Empty string'> : ParseIdentifier<Input> extends [infer Name, `${infer Remainder}`] ? Name extends 'count' ? ParseCountField<Input> : Remainder extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Children, `${infer Remainder}`] ? Children extends Ast.Node[] ? [
|
|
62
53
|
{
|
|
63
54
|
type: 'field';
|
|
64
55
|
name: Name;
|
|
@@ -66,20 +57,17 @@ declare type ParseField<Input extends string> = Input extends '' ? ParserError<'
|
|
|
66
57
|
children: Children;
|
|
67
58
|
},
|
|
68
59
|
Remainder
|
|
69
|
-
] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, `Expected embedded resource after "!inner" at \`${Remainder}\``> : EatWhitespace<Remainder> extends `!left${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
70
|
-
infer Children extends Ast.Node[],
|
|
71
|
-
`${infer Remainder}`
|
|
72
|
-
] ? [
|
|
60
|
+
] : ParserError<'Invalid children array in inner join'> : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, `Expected embedded resource after "!inner" at \`${Remainder}\``> : EatWhitespace<Remainder> extends `!left${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Children, `${infer Remainder}`] ? Children extends Ast.Node[] ? [
|
|
73
61
|
{
|
|
74
62
|
type: 'field';
|
|
75
63
|
name: Name;
|
|
76
64
|
children: Children;
|
|
77
65
|
},
|
|
78
66
|
EatWhitespace<Remainder>
|
|
79
|
-
] : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, `Expected embedded resource after "!left" at \`${EatWhitespace<Remainder>}\``> : EatWhitespace<Remainder> extends `!${infer Remainder}` ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer Hint, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
80
|
-
infer Children
|
|
67
|
+
] : ParserError<'Invalid children array in left join'> : CreateParserErrorIfRequired<ParseEmbeddedResource<EatWhitespace<Remainder>>, `Expected embedded resource after "!left" at \`${EatWhitespace<Remainder>}\``> : EatWhitespace<Remainder> extends `!${infer Remainder}` ? ParseIdentifier<EatWhitespace<Remainder>> extends [infer Hint, `${infer Remainder}`] ? EatWhitespace<Remainder> extends `!inner${infer Remainder}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
68
|
+
infer Children,
|
|
81
69
|
`${infer Remainder}`
|
|
82
|
-
] ? [
|
|
70
|
+
] ? Children extends Ast.Node[] ? [
|
|
83
71
|
{
|
|
84
72
|
type: 'field';
|
|
85
73
|
name: Name;
|
|
@@ -88,10 +76,10 @@ declare type ParseField<Input extends string> = Input extends '' ? ParserError<'
|
|
|
88
76
|
children: Children;
|
|
89
77
|
},
|
|
90
78
|
EatWhitespace<Remainder>
|
|
91
|
-
] : ParseEmbeddedResource<EatWhitespace<Remainder>> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
92
|
-
infer Children
|
|
79
|
+
] : ParserError<'Invalid children array in hint inner join'> : ParseEmbeddedResource<EatWhitespace<Remainder>> : ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
80
|
+
infer Children,
|
|
93
81
|
`${infer Remainder}`
|
|
94
|
-
] ? [
|
|
82
|
+
] ? Children extends Ast.Node[] ? [
|
|
95
83
|
{
|
|
96
84
|
type: 'field';
|
|
97
85
|
name: Name;
|
|
@@ -99,17 +87,14 @@ declare type ParseField<Input extends string> = Input extends '' ? ParserError<'
|
|
|
99
87
|
children: Children;
|
|
100
88
|
},
|
|
101
89
|
EatWhitespace<Remainder>
|
|
102
|
-
] : ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<`Expected identifier after "!" at \`${EatWhitespace<Remainder>}\``> : EatWhitespace<Remainder> extends `(${infer _}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [
|
|
103
|
-
infer Children extends Ast.Node[],
|
|
104
|
-
`${infer Remainder}`
|
|
105
|
-
] ? [
|
|
90
|
+
] : ParserError<'Invalid children array in hint'> : ParseEmbeddedResource<EatWhitespace<Remainder>> : ParserError<`Expected identifier after "!" at \`${EatWhitespace<Remainder>}\``> : EatWhitespace<Remainder> extends `(${infer _}` ? ParseEmbeddedResource<EatWhitespace<Remainder>> extends [infer Children, `${infer Remainder}`] ? Children extends Ast.Node[] ? [
|
|
106
91
|
{
|
|
107
92
|
type: 'field';
|
|
108
93
|
name: Name;
|
|
109
94
|
children: Children;
|
|
110
95
|
},
|
|
111
96
|
EatWhitespace<Remainder>
|
|
112
|
-
] : ParseEmbeddedResource<EatWhitespace<Remainder>> : ParseNonEmbeddedResourceField<Input> : ParserError<`Expected identifier at \`${Input}\``>;
|
|
97
|
+
] : ParserError<'Invalid children array in field'> : ParseEmbeddedResource<EatWhitespace<Remainder>> : ParseNonEmbeddedResourceField<Input> : ParserError<`Expected identifier at \`${Input}\``>;
|
|
113
98
|
declare type ParseCountField<Input extends string> = ParseIdentifier<Input> extends [
|
|
114
99
|
'count',
|
|
115
100
|
`${infer Remainder}`
|
|
@@ -133,10 +118,7 @@ declare type ParseCountField<Input extends string> = ParseIdentifier<Input> exte
|
|
|
133
118
|
* Returns a tuple of ["Parsed fields", "Remainder of text"], an error,
|
|
134
119
|
* or the original string input indicating that no opening `(` was found.
|
|
135
120
|
*/
|
|
136
|
-
declare type ParseEmbeddedResource<Input extends string> = Input extends `(${infer Remainder}` ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? [[], EatWhitespace<Remainder>] : ParseNodes<EatWhitespace<Remainder>> extends [
|
|
137
|
-
infer Nodes extends Ast.Node[],
|
|
138
|
-
`${infer Remainder}`
|
|
139
|
-
] ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? [Nodes, EatWhitespace<Remainder>] : ParserError<`Expected ")" at \`${EatWhitespace<Remainder>}\``> : ParseNodes<EatWhitespace<Remainder>> : ParserError<`Expected "(" at \`${Input}\``>;
|
|
121
|
+
declare type ParseEmbeddedResource<Input extends string> = Input extends `(${infer Remainder}` ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? [[], EatWhitespace<Remainder>] : ParseNodes<EatWhitespace<Remainder>> extends [infer Nodes, `${infer Remainder}`] ? Nodes extends Ast.Node[] ? EatWhitespace<Remainder> extends `)${infer Remainder}` ? [Nodes, EatWhitespace<Remainder>] : ParserError<`Expected ")" at \`${EatWhitespace<Remainder>}\``> : ParserError<'Invalid nodes array in embedded resource'> : ParseNodes<EatWhitespace<Remainder>> : ParserError<`Expected "(" at \`${Input}\``>;
|
|
140
122
|
/**
|
|
141
123
|
* Parses a field excluding embedded resources, without preceding field renaming.
|
|
142
124
|
* This is one of the following:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/select-query-parser/parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC;;;;;;GAMG;AACH,oBAAY,UAAU,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC/D,kBAAkB,GAClB,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC/F,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,GACjC,YAAY,CAAC,KAAK,CAAC,GACnB,WAAW,CAAC,qBAAqB,SAAS,EAAE,CAAC,GAC/C,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;AAEpC;;;;GAIG;AAEH;;;;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,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS;IAC/F,MAAM,IAAI,SAAS,GAAG,CAAC,IAAI;IAC3B,GAAG,MAAM,SAAS,EAAE;CACrB,GACG,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACpD,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAC5D,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAC9C,SAAS,CAAC,KAAK,CAAC,CAAA;AAEpB;;;;;;;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,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAE1C,KAAK,SAAS,MAAM,MAAM,SAAS,EAAE,GACnC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IAC3C,MAAM,WAAW,SAAS,GAAG,CAAC,SAAS;IACvC,GAAG,MAAM,SAAS,EAAE;CACrB,GACC,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACnE,WAAW,CAAC,wCAAwC,KAAK,IAAI,CAAC,GAChE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,WAAW,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACxE,aAAa,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,GAE7C,UAAU,CAAC,KAAK,CAAC,GACjB,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GAEtD,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IAC3C,MAAM,KAAK,SAAS,GAAG,CAAC,SAAS;IACjC,GAAG,MAAM,SAAS,EAAE;CACrB,GACC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACzE,WAAW,CAAC,sCAAsC,KAAK,IAAI,CAAC,GAE9D,UAAU,CAAC,KAAK,CAAC,GACnB,WAAW,CAAC,4BAA4B,KAAK,IAAI,CAAC,CAAA;AAEtD;;;;;;;;;;;;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,IAAI,SAAS,OAAO,GAClB,eAAe,CAAC,KAAK,CAAC,GACtB,SAAS,SAAS,SAAS,MAAM,SAAS,EAAE,GAC5C,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,EAAE;IACjC,GAAG,MAAM,SAAS,EAAE;CACrB,GAEC;IAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAAE,SAAS;CAAC,GAC/E,2BAA2B,CACzB,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAC/C,kDAAkD,SAAS,IAAI,CAChE,GACH,aAAa,CAAC,SAAS,CAAC,SAAS,QAAQ,MAAM,SAAS,EAAE,GAC1D,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,EAAE;IACjC,GAAG,MAAM,SAAS,EAAE;CACrB,GAGC;IAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GAC7E,2BAA2B,CACzB,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAC/C,iDAAiD,aAAa,CAAC,SAAS,CAAC,IAAI,CAC9E,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,QAAQ,SAAS,GAAG,CAAC,IAAI,EAAE;IACjC,GAAG,MAAM,SAAS,EAAE;CACrB,GAEC;IACE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAC9E,aAAa,CAAC,SAAS,CAAC;CACzB,GACD,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GACjD,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,EAAE;IACjC,GAAG,MAAM,SAAS,EAAE;CACrB,GAED;IAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GACzF,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GACjD,WAAW,CAAC,sCAAsC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GACjF,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAC9C,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IACtD,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,EAAE;IACjC,GAAG,MAAM,SAAS,EAAE;CACrB,GAEC;IAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAAE,aAAa,CAAC,SAAS,CAAC;CAAC,GAE7E,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAEjD,6BAA6B,CAAC,KAAK,CAAC,GACtC,WAAW,CAAC,4BAA4B,KAAK,IAAI,CAAC,CAAA;AAEtD,aAAK,eAAe,CAAC,KAAK,SAAS,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,SAAS;IAC1E,OAAO;IACP,GAAG,MAAM,SAAS,EAAE;CACrB,GACG,CACE,aAAa,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,UAAU,EAAE,GACpD,aAAa,CAAC,UAAU,CAAC,GACzB,aAAa,CAAC,SAAS,CAAC,CAC7B,SAAS,GAAG,MAAM,SAAS,EAAE,GAC5B,SAAS,SAAS,KAAK,MAAM,CAAC,EAAE,GAC9B,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,QAAQ,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC1E;IACE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAChF,SAAS;CACV,GACD,kBAAkB,CAAC,SAAS,CAAC,GAC/B,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,EAAE,SAAS,CAAC,GAC3E,KAAK,GACP,WAAW,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAA;AAEnD;;;;;;GAMG;AACH,aAAK,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,IAAI,MAAM,SAAS,EAAE,GAClF,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,SAAS;IAC3C,MAAM,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE;IAC9B,GAAG,MAAM,SAAS,EAAE;CACrB,GACD,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GACpD,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACjC,WAAW,CAAC,qBAAqB,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAChE,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GACtC,WAAW,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAA;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,aAAK,6BAA6B,CAAC,KAAK,SAAS,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,SAAS;IACxF,MAAM,IAAI;IACV,GAAG,MAAM,SAAS,EAAE;CACrB,GAEG,CACE,SAAS,SAAS,KAAK,MAAM,CAAC,EAAE,GAC5B,iBAAiB,CAAC,SAAS,CAAC,SAAS;IACnC,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,GAAG,MAAM,SAAS,EAAE;CACrB,GACC,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,EAAE,SAAS,CAAC,GACvF,iBAAiB,CAAC,SAAS,CAAC,GAC9B,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,EAAE,SAAS,CAAC,CAC/C,SAAS,MAAM,MAAM,GACpB,MAAM,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAEhD,CACE,SAAS,SAAS,KAAK,MAAM,CAAC,EAAE,GAC5B,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,QAAQ,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC1E,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,EAAE,SAAS,CAAC,GAC7D,kBAAkB,CAAC,SAAS,CAAC,GAC/B,CAAC,KAAK,EAAE,SAAS,CAAC,CACvB,SAAS,MAAM,MAAM,GACpB,MAAM,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAEhD,SAAS,SAAS,IAAI,MAAM,CAAC,EAAE,GAC7B,qBAAqB,CAAC,SAAS,CAAC,SAAS;IACvC,MAAM,iBAAiB;IACvB,GAAG,MAAM,SAAS,EAAE;CACrB,GAEC,SAAS,SAAS,KAAK,MAAM,CAAC,EAAE,GAC9B,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,QAAQ,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC1E;IACE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG;QACxB,iBAAiB,EAAE,iBAAiB,CAAA;QACpC,QAAQ,EAAE,QAAQ,CAAA;KACnB;IACD,SAAS;CACV,GACD,kBAAkB,CAAC,SAAS,CAAC,GAC/B,CAAC,KAAK,GAAG;IAAE,iBAAiB,EAAE,iBAAiB,CAAA;CAAE,EAAE,SAAS,CAAC,GAC/D,qBAAqB,CAAC,SAAS,CAAC,GAClC,CAAC,KAAK,EAAE,SAAS,CAAC,GACpB,MAAM,GACR,KAAK,GACP,MAAM,GACR,KAAK,GACP,WAAW,CAAC,4BAA4B,KAAK,IAAI,CAAC,CAAA;AAEtD;;;;;GAKG;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,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAC1C,WAAW,CAAC,mCAAmC,CAAC,GAClD,WAAW,CAAC,aAAa,CAAC,CAAA;AAE9B;;GAEG;AACH,aAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,SAAS,EAAE,GAC/F,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,QAAQ,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAC3F,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACpC,WAAW,CAAC,yCAAyC,SAAS,IAAI,CAAC,GACrE,WAAW,CAAC,aAAa,CAAC,CAAA;AAE9B;;GAEG;AACH,aAAK,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAC7C,aAAa,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,SAAS,EAAE,GAC9C,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS;IAChD,GAAG,MAAM,YAAY,EAAE;IACvB,GAAG,MAAM,SAAS,EAAE;CACrB,GAEC,YAAY,SAAS,KAAK,CAAC,iBAAiB,GAC1C,aAAa,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,SAAS,EAAE,GACrD,CAAC,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GACxC,WAAW,CAAC,0CAA0C,YAAY,IAAI,CAAC,GACzE,WAAW,CAAC,qCAAqC,YAAY,IAAI,CAAC,GACpE,WAAW,CAAC,wCAAwC,SAAS,IAAI,CAAC,GACpE,WAAW,CAAC,YAAY,CAAC,CAAA;AAE/B;;;GAGG;AACH,aAAK,eAAe,CAAC,KAAK,SAAS,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS;IACvE,MAAM,IAAI;IACV,GAAG,MAAM,SAAS,EAAE;CACrB,GACG,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAChC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACpE,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,GAChC,WAAW,CAAC,+CAA+C,KAAK,IAAI,CAAC,CAAA;AAEzE;;GAEG;AACH,aAAK,YAAY,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC1D,kBAAkB,GAClB,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GAChF,OAAO,SAAS,EAAE,GAChB,WAAW,CAAC,wBAAwB,KAAK,IAAI,CAAC,GAC9C,CAAC,OAAO,EAAE,SAAS,CAAC,GACtB,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAEjC,aAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GACpF,kBAAkB,GAClB,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,SAAS,EAAE,GAC5C,CAAC,SAAS,KAAK,CAAC,MAAM,GACpB,kBAAkB,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAC3C,CAAC,GAAG,EAAE,KAAK,CAAC,GACd,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAEb;;;GAGG;AACH,aAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAChE,kBAAkB,GAClB,KAAK,SAAS,IAAI,MAAM,SAAS,EAAE,GACnC,wBAAwB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,GACxF,OAAO,SAAS,EAAE,GAChB,WAAW,CAAC,wBAAwB,SAAS,IAAI,CAAC,GAClD,CAAC,OAAO,EAAE,SAAS,CAAC,GACtB,wBAAwB,CAAC,SAAS,EAAE,EAAE,CAAC,GACzC,WAAW,CAAC,mCAAmC,KAAK,IAAI,CAAC,CAAA;AAE7D,aAAK,wBAAwB,CAAC,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC1F,kBAAkB,GAClB,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,SAAS,EAAE,GAC5C,CAAC,SAAS,GAAG,GACX,CAAC,GAAG,EAAE,SAAS,CAAC,GAChB,wBAAwB,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GACnD,WAAW,CAAC,sCAAsC,GAAG,GAAG,KAAK,IAAI,CAAC,CAAA;AAEtE;;GAEG;AACH,aAAK,aAAa,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC3D,kBAAkB,GAClB,KAAK,SAAS,GAAG,KAAK,CAAC,UAAU,GAAG,MAAM,SAAS,EAAE,GACrD,aAAa,CAAC,SAAS,CAAC,GACxB,KAAK,CAAA;AAET;;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,oBAAY,WAAW,CAAC,OAAO,SAAS,MAAM,IAAI;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAA;AAC3E,aAAK,kBAAkB,GAAG,WAAW,CAAC,2BAA2B,CAAC,CAAA;AAElE,yBAAiB,GAAG,CAAC;IACnB,KAAY,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAA;IAEpD,KAAY,SAAS,GAAG;QACtB,IAAI,EAAE,OAAO,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,IAAI,CAAA;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,iBAAiB,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAA;QAC3C,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAA;KAClB,CAAA;IAED,KAAY,QAAQ,GAAG;QACrB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAED,KAAY,UAAU,GAAG;QACvB,IAAI,EAAE,QAAQ,CAAA;QACd,MAAM,EAAE,SAAS,GAAG;YAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;SAAE,CAAA;KACzC,CAAA;CACF;AAED,kBAAU,KAAK,CAAC;IACd,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;IAE1C,KAAK,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;IAEP,KAAK,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;IAExD,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAEtE,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAA;IAE3C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;;CACxE"}
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/select-query-parser/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { CheckDuplicateEmbededReference, GetFieldNodeResultName, IsAny, IsRelati
|
|
|
12
12
|
* @param Relationships - Relationships of the current table.
|
|
13
13
|
* @param Query - The select query string literal to parse.
|
|
14
14
|
*/
|
|
15
|
-
export declare type GetResult<Schema extends GenericSchema, Row extends Record<string, unknown>, RelationName, Relationships, Query extends string> = IsAny<Schema> extends true ? ParseQuery<Query> extends infer ParsedQuery extends Ast.Node[] ? RelationName extends string ? ProcessNodesWithoutSchema<ParsedQuery> : any : any : Relationships extends null ? ParseQuery<Query> extends infer ParsedQuery extends Ast.Node[] ? RPCCallNodes<ParsedQuery, RelationName extends string ? RelationName : 'rpc_call', Row> : Row : ParseQuery<Query> extends infer ParsedQuery ? ParsedQuery extends Ast.Node[] ? RelationName extends string ? Relationships extends GenericRelationship[] ? ProcessNodes<Schema, Row, RelationName, Relationships, ParsedQuery> : SelectQueryError<'Invalid Relationships cannot infer result type'> : SelectQueryError<'Invalid RelationName cannot infer result type'> : ParsedQuery : never;
|
|
15
|
+
export declare type GetResult<Schema extends GenericSchema, Row extends Record<string, unknown>, RelationName, Relationships, Query extends string> = IsAny<Schema> extends true ? ParseQuery<Query> extends infer ParsedQuery ? ParsedQuery extends Ast.Node[] ? RelationName extends string ? ProcessNodesWithoutSchema<ParsedQuery> : any : ParsedQuery : any : Relationships extends null ? ParseQuery<Query> extends infer ParsedQuery ? ParsedQuery extends Ast.Node[] ? RPCCallNodes<ParsedQuery, RelationName extends string ? RelationName : 'rpc_call', Row> : ParsedQuery : Row : ParseQuery<Query> extends infer ParsedQuery ? ParsedQuery extends Ast.Node[] ? RelationName extends string ? Relationships extends GenericRelationship[] ? ProcessNodes<Schema, Row, RelationName, Relationships, ParsedQuery> : SelectQueryError<'Invalid Relationships cannot infer result type'> : SelectQueryError<'Invalid RelationName cannot infer result type'> : ParsedQuery : never;
|
|
16
16
|
declare type ProcessSimpleFieldWithoutSchema<Field extends Ast.FieldNode> = Field['aggregateFunction'] extends AggregateFunctions ? {
|
|
17
17
|
[K in GetFieldNodeResultName<Field>]: Field['castType'] extends PostgreSQLTypes ? TypeScriptTypes<Field['castType']> : number;
|
|
18
18
|
} : {
|
|
@@ -32,7 +32,7 @@ declare type ProcessNodeWithoutSchema<Node extends Ast.Node> = Node extends Ast.
|
|
|
32
32
|
/**
|
|
33
33
|
* Processes nodes when Schema is any, providing basic type inference
|
|
34
34
|
*/
|
|
35
|
-
declare type ProcessNodesWithoutSchema<Nodes extends Ast.Node[], Acc extends Record<string, unknown> = {}> = Nodes extends [infer FirstNode extends Ast.Node
|
|
35
|
+
declare type ProcessNodesWithoutSchema<Nodes extends Ast.Node[], Acc extends Record<string, unknown> = {}> = Nodes extends [infer FirstNode, ...infer RestNodes] ? FirstNode extends Ast.Node ? RestNodes extends Ast.Node[] ? ProcessNodeWithoutSchema<FirstNode> extends infer FieldResult ? FieldResult extends Record<string, unknown> ? ProcessNodesWithoutSchema<RestNodes, Acc & FieldResult> : FieldResult : any : any : any : Prettify<Acc>;
|
|
36
36
|
/**
|
|
37
37
|
* Processes a single Node from a select chained after a rpc call
|
|
38
38
|
*
|
|
@@ -44,7 +44,7 @@ export declare type ProcessRPCNode<Row extends Record<string, unknown>, Relation
|
|
|
44
44
|
/**
|
|
45
45
|
* Process select call that can be chained after an rpc call
|
|
46
46
|
*/
|
|
47
|
-
export declare type RPCCallNodes<Nodes extends Ast.Node[], RelationName extends string, Row extends Record<string, unknown>, Acc extends Record<string, unknown> = {}> = Nodes extends [infer FirstNode extends Ast.Node
|
|
47
|
+
export declare type RPCCallNodes<Nodes extends Ast.Node[], RelationName extends string, Row extends Record<string, unknown>, Acc extends Record<string, unknown> = {}> = Nodes extends [infer FirstNode, ...infer RestNodes] ? FirstNode extends Ast.Node ? RestNodes extends Ast.Node[] ? ProcessRPCNode<Row, RelationName, FirstNode> extends infer FieldResult ? FieldResult extends Record<string, unknown> ? RPCCallNodes<RestNodes, RelationName, Row, Acc & FieldResult> : FieldResult extends SelectQueryError<infer E> ? SelectQueryError<E> : SelectQueryError<'Could not retrieve a valid record or error value'> : SelectQueryError<'Processing node failed.'> : SelectQueryError<'Invalid rest nodes array in RPC call'> : SelectQueryError<'Invalid first node in RPC call'> : Prettify<Acc>;
|
|
48
48
|
/**
|
|
49
49
|
* Recursively processes an array of Nodes and accumulates the resulting TypeScript type.
|
|
50
50
|
*
|
|
@@ -55,7 +55,7 @@ export declare type RPCCallNodes<Nodes extends Ast.Node[], RelationName extends
|
|
|
55
55
|
* @param Nodes - An array of AST nodes to process.
|
|
56
56
|
* @param Acc - Accumulator for the constructed type.
|
|
57
57
|
*/
|
|
58
|
-
export declare type ProcessNodes<Schema extends GenericSchema, Row extends Record<string, unknown>, RelationName extends string, Relationships extends GenericRelationship[], Nodes extends Ast.Node[], Acc extends Record<string, unknown> = {}> = CheckDuplicateEmbededReference<Schema, RelationName, Relationships, Nodes> extends false ? Nodes extends [infer FirstNode extends Ast.Node
|
|
58
|
+
export declare type ProcessNodes<Schema extends GenericSchema, Row extends Record<string, unknown>, RelationName extends string, Relationships extends GenericRelationship[], Nodes extends Ast.Node[], Acc extends Record<string, unknown> = {}> = CheckDuplicateEmbededReference<Schema, RelationName, Relationships, Nodes> extends false ? Nodes extends [infer FirstNode, ...infer RestNodes] ? FirstNode extends Ast.Node ? RestNodes extends Ast.Node[] ? ProcessNode<Schema, Row, RelationName, Relationships, FirstNode> extends infer FieldResult ? FieldResult extends Record<string, unknown> ? ProcessNodes<Schema, Row, RelationName, Relationships, RestNodes, Acc & FieldResult> : FieldResult extends SelectQueryError<infer E> ? SelectQueryError<E> : SelectQueryError<'Could not retrieve a valid record or error value'> : SelectQueryError<'Processing node failed.'> : SelectQueryError<'Invalid rest nodes array type in ProcessNodes'> : SelectQueryError<'Invalid first node type in ProcessNodes'> : Prettify<Acc> : Prettify<CheckDuplicateEmbededReference<Schema, RelationName, Relationships, Nodes>>;
|
|
59
59
|
/**
|
|
60
60
|
* Processes a single Node and returns the resulting TypeScript type.
|
|
61
61
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/select-query-parser/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACtB,KAAK,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;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,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,GAC1B,UAAU,CAAC,KAAK,CAAC,SAAS,MAAM,WAAW,SAAS,GAAG,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/select-query-parser/result.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,25 +4,29 @@ export declare type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
|
4
4
|
export declare type SelectQueryError<Message extends string> = {
|
|
5
5
|
error: true;
|
|
6
6
|
} & Message;
|
|
7
|
+
export declare type DeduplicateRelationships<T extends readonly unknown[]> = T extends readonly [
|
|
8
|
+
infer First,
|
|
9
|
+
...infer Rest
|
|
10
|
+
] ? First extends Rest[number] ? DeduplicateRelationships<Rest extends readonly unknown[] ? Rest : []> : [First, ...DeduplicateRelationships<Rest extends readonly unknown[] ? Rest : []>] : T;
|
|
7
11
|
export declare type GetFieldNodeResultName<Field extends Ast.FieldNode> = Field['alias'] extends string ? Field['alias'] : Field['aggregateFunction'] extends AggregateFunctions ? Field['aggregateFunction'] : Field['name'];
|
|
8
12
|
declare type FilterRelationNodes<Nodes extends Ast.Node[]> = UnionToArray<{
|
|
9
13
|
[K in keyof Nodes]: Nodes[K] extends Ast.SpreadNode ? Nodes[K]['target'] : Nodes[K] extends Ast.FieldNode ? IsNonEmptyArray<Nodes[K]['children']> extends true ? Nodes[K] : never : never;
|
|
10
14
|
}[number]>;
|
|
11
15
|
declare type ResolveRelationships<Schema extends GenericSchema, RelationName extends string, Relationships extends GenericRelationship[], Nodes extends Ast.FieldNode[]> = UnionToArray<{
|
|
12
|
-
[K in keyof Nodes]: ResolveRelationship<Schema, Relationships, Nodes[K], RelationName> extends infer Relation ? Relation extends {
|
|
16
|
+
[K in keyof Nodes]: Nodes[K] extends Ast.FieldNode ? ResolveRelationship<Schema, Relationships, Nodes[K], RelationName> extends infer Relation ? Relation extends {
|
|
13
17
|
relation: {
|
|
14
|
-
referencedRelation:
|
|
15
|
-
foreignKeyName:
|
|
16
|
-
match:
|
|
18
|
+
referencedRelation: string;
|
|
19
|
+
foreignKeyName: string;
|
|
20
|
+
match: string;
|
|
17
21
|
};
|
|
18
|
-
from:
|
|
22
|
+
from: string;
|
|
19
23
|
} ? {
|
|
20
24
|
referencedTable: Relation['relation']['referencedRelation'];
|
|
21
25
|
fkName: Relation['relation']['foreignKeyName'];
|
|
22
26
|
from: Relation['from'];
|
|
23
27
|
match: Relation['relation']['match'];
|
|
24
28
|
fieldName: GetFieldNodeResultName<Nodes[K]>;
|
|
25
|
-
} : never : never;
|
|
29
|
+
} : Relation : never : never;
|
|
26
30
|
}>[0];
|
|
27
31
|
/**
|
|
28
32
|
* Checks if a relation is implicitly referenced twice, requiring disambiguation
|
|
@@ -30,12 +34,12 @@ declare type ResolveRelationships<Schema extends GenericSchema, RelationName ext
|
|
|
30
34
|
declare type IsDoubleReference<T, U> = T extends {
|
|
31
35
|
referencedTable: infer RT;
|
|
32
36
|
fieldName: infer FN;
|
|
33
|
-
match: infer M
|
|
34
|
-
} ? U extends {
|
|
37
|
+
match: infer M;
|
|
38
|
+
} ? M extends 'col' | 'refrel' ? U extends {
|
|
35
39
|
referencedTable: RT;
|
|
36
40
|
fieldName: FN;
|
|
37
41
|
match: M;
|
|
38
|
-
} ? true : false : false;
|
|
42
|
+
} ? true : false : false : false;
|
|
39
43
|
/**
|
|
40
44
|
* Compares one element with all other elements in the array to find duplicates
|
|
41
45
|
*/
|
|
@@ -43,12 +47,13 @@ declare type CheckDuplicates<Arr extends any[], Current> = Arr extends [infer He
|
|
|
43
47
|
/**
|
|
44
48
|
* Iterates over the elements of the array to find duplicates
|
|
45
49
|
*/
|
|
46
|
-
declare type
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
declare type FindDuplicatesWithinDeduplicated<Arr extends any[]> = Arr extends [infer Head, ...infer Tail] ? CheckDuplicates<Tail, Head> | FindDuplicatesWithinDeduplicated<Tail> : never;
|
|
51
|
+
declare type FindDuplicates<Arr extends any[]> = FindDuplicatesWithinDeduplicated<DeduplicateRelationships<Arr>>;
|
|
52
|
+
export declare type CheckDuplicateEmbededReference<Schema extends GenericSchema, RelationName extends string, Relationships extends GenericRelationship[], Nodes extends Ast.Node[]> = FilterRelationNodes<Nodes> extends infer RelationsNodes ? RelationsNodes extends Ast.FieldNode[] ? ResolveRelationships<Schema, RelationName, Relationships, RelationsNodes> extends infer ResolvedRels ? ResolvedRels extends unknown[] ? FindDuplicates<ResolvedRels> extends infer Duplicates ? Duplicates extends never ? false : Duplicates extends {
|
|
53
|
+
fieldName: infer FieldName;
|
|
54
|
+
} ? FieldName extends string ? {
|
|
50
55
|
[K in FieldName]: SelectQueryError<`table "${RelationName}" specified more than once use hinting for desambiguation`>;
|
|
51
|
-
} : false : false : false : false : false;
|
|
56
|
+
} : false : false : false : false : false : false : false;
|
|
52
57
|
/**
|
|
53
58
|
* Returns a boolean representing whether there is a foreign key referencing
|
|
54
59
|
* a given relation.
|
|
@@ -59,26 +64,27 @@ declare type HasFKeyToFRel<FRelName, Relationships> = Relationships extends [inf
|
|
|
59
64
|
/**
|
|
60
65
|
* Checks if there is more than one relation to a given foreign relation name in the Relationships.
|
|
61
66
|
*/
|
|
62
|
-
declare type
|
|
67
|
+
declare type HasMultipleFKeysToFRelDeduplicated<FRelName, Relationships> = Relationships extends [
|
|
63
68
|
infer R,
|
|
64
69
|
...infer Rest
|
|
65
70
|
] ? R extends {
|
|
66
71
|
referencedRelation: FRelName;
|
|
67
|
-
} ? HasFKeyToFRel<FRelName, Rest> extends true ? true :
|
|
72
|
+
} ? HasFKeyToFRel<FRelName, Rest> extends true ? true : HasMultipleFKeysToFRelDeduplicated<FRelName, Rest> : HasMultipleFKeysToFRelDeduplicated<FRelName, Rest> : false;
|
|
73
|
+
declare type HasMultipleFKeysToFRel<FRelName, Relationships extends unknown[]> = HasMultipleFKeysToFRelDeduplicated<FRelName, DeduplicateRelationships<Relationships>>;
|
|
68
74
|
declare type CheckRelationshipError<Schema extends GenericSchema, Relationships extends GenericRelationship[], CurrentTableOrView extends keyof TablesAndViews<Schema> & string, FoundRelation> = FoundRelation extends SelectQueryError<string> ? FoundRelation : FoundRelation extends {
|
|
69
75
|
relation: {
|
|
70
|
-
referencedRelation: infer RelatedRelationName
|
|
76
|
+
referencedRelation: infer RelatedRelationName;
|
|
71
77
|
name: string;
|
|
72
78
|
};
|
|
73
79
|
direction: 'reverse';
|
|
74
|
-
} ? HasMultipleFKeysToFRel<RelatedRelationName, Relationships> extends true ? SelectQueryError<`Could not embed because more than one relationship was found for '${RelatedRelationName}' and '${CurrentTableOrView}' you need to hint the column with ${RelatedRelationName}!<columnName> ?`> : FoundRelation : FoundRelation extends {
|
|
80
|
+
} ? RelatedRelationName extends string ? HasMultipleFKeysToFRel<RelatedRelationName, Relationships> extends true ? SelectQueryError<`Could not embed because more than one relationship was found for '${RelatedRelationName}' and '${CurrentTableOrView}' you need to hint the column with ${RelatedRelationName}!<columnName> ?`> : FoundRelation : never : FoundRelation extends {
|
|
75
81
|
relation: {
|
|
76
|
-
referencedRelation: infer RelatedRelationName
|
|
82
|
+
referencedRelation: infer RelatedRelationName;
|
|
77
83
|
name: string;
|
|
78
84
|
};
|
|
79
85
|
direction: 'forward';
|
|
80
|
-
from: infer From
|
|
81
|
-
} ? HasMultipleFKeysToFRel<RelatedRelationName, TablesAndViews<Schema>[From]['Relationships']> extends true ? SelectQueryError<`Could not embed because more than one relationship was found for '${From}' and '${RelatedRelationName}' you need to hint the column with ${From}!<columnName> ?`> : FoundRelation : FoundRelation;
|
|
86
|
+
from: infer From;
|
|
87
|
+
} ? RelatedRelationName extends string ? From extends keyof TablesAndViews<Schema> & string ? HasMultipleFKeysToFRel<RelatedRelationName, TablesAndViews<Schema>[From]['Relationships']> extends true ? SelectQueryError<`Could not embed because more than one relationship was found for '${From}' and '${RelatedRelationName}' you need to hint the column with ${From}!<columnName> ?`> : FoundRelation : never : never : FoundRelation;
|
|
82
88
|
/**
|
|
83
89
|
* Resolves relationships for embedded resources and retrieves the referenced Table
|
|
84
90
|
*/
|
|
@@ -87,8 +93,8 @@ export declare type ResolveRelationship<Schema extends GenericSchema, Relationsh
|
|
|
87
93
|
* Resolves reverse relationships (from children to parent)
|
|
88
94
|
*/
|
|
89
95
|
declare type ResolveReverseRelationship<Schema extends GenericSchema, Relationships extends GenericRelationship[], Field extends Ast.FieldNode, CurrentTableOrView extends keyof TablesAndViews<Schema> & string> = FindFieldMatchingRelationships<Schema, Relationships, Field> extends infer FoundRelation ? FoundRelation extends never ? false : FoundRelation extends {
|
|
90
|
-
referencedRelation: infer RelatedRelationName
|
|
91
|
-
} ? RelatedRelationName extends keyof TablesAndViews<Schema> ? FoundRelation extends {
|
|
96
|
+
referencedRelation: infer RelatedRelationName;
|
|
97
|
+
} ? RelatedRelationName extends string ? RelatedRelationName extends keyof TablesAndViews<Schema> ? FoundRelation extends {
|
|
92
98
|
hint: string;
|
|
93
99
|
} ? {
|
|
94
100
|
referencedTable: TablesAndViews<Schema>[RelatedRelationName];
|
|
@@ -100,8 +106,8 @@ declare type ResolveReverseRelationship<Schema extends GenericSchema, Relationsh
|
|
|
100
106
|
relation: FoundRelation;
|
|
101
107
|
direction: 'reverse';
|
|
102
108
|
from: CurrentTableOrView;
|
|
103
|
-
} : SelectQueryError<`Relation '${RelatedRelationName}' not found in schema.`> : false : false;
|
|
104
|
-
export declare type FindMatchingTableRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], value extends string> = Relationships extends [infer R, ...infer Rest extends GenericRelationship[]
|
|
109
|
+
} : SelectQueryError<`Relation '${RelatedRelationName}' not found in schema.`> : false : false : false;
|
|
110
|
+
export declare type FindMatchingTableRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], value extends string> = Relationships extends [infer R, ...infer Rest] ? Rest extends GenericRelationship[] ? R extends {
|
|
105
111
|
referencedRelation: infer ReferencedRelation;
|
|
106
112
|
} ? ReferencedRelation extends keyof Schema['Tables'] ? R extends {
|
|
107
113
|
foreignKeyName: value;
|
|
@@ -115,8 +121,8 @@ export declare type FindMatchingTableRelationships<Schema extends GenericSchema,
|
|
|
115
121
|
columns: [value];
|
|
116
122
|
} ? R & {
|
|
117
123
|
match: 'col';
|
|
118
|
-
} : FindMatchingTableRelationships<Schema, Rest, value> : FindMatchingTableRelationships<Schema, Rest, value> : false : false;
|
|
119
|
-
export declare type FindMatchingViewRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], value extends string> = Relationships extends [infer R, ...infer Rest extends GenericRelationship[]
|
|
124
|
+
} : FindMatchingTableRelationships<Schema, Rest, value> : FindMatchingTableRelationships<Schema, Rest, value> : false : false : false;
|
|
125
|
+
export declare type FindMatchingViewRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], value extends string> = Relationships extends [infer R, ...infer Rest] ? Rest extends GenericRelationship[] ? R extends {
|
|
120
126
|
referencedRelation: infer ReferencedRelation;
|
|
121
127
|
} ? ReferencedRelation extends keyof Schema['Views'] ? R extends {
|
|
122
128
|
foreignKeyName: value;
|
|
@@ -130,8 +136,8 @@ export declare type FindMatchingViewRelationships<Schema extends GenericSchema,
|
|
|
130
136
|
columns: [value];
|
|
131
137
|
} ? R & {
|
|
132
138
|
match: 'col';
|
|
133
|
-
} : FindMatchingViewRelationships<Schema, Rest, value> : FindMatchingViewRelationships<Schema, Rest, value> : false : false;
|
|
134
|
-
export declare type FindMatchingHintTableRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], hint extends string, name extends string> = Relationships extends [infer R, ...infer Rest extends GenericRelationship[]
|
|
139
|
+
} : FindMatchingViewRelationships<Schema, Rest, value> : FindMatchingViewRelationships<Schema, Rest, value> : false : false : false;
|
|
140
|
+
export declare type FindMatchingHintTableRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], hint extends string, name extends string> = Relationships extends [infer R, ...infer Rest] ? Rest extends GenericRelationship[] ? R extends {
|
|
135
141
|
referencedRelation: infer ReferencedRelation;
|
|
136
142
|
} ? ReferencedRelation extends name ? R extends {
|
|
137
143
|
foreignKeyName: hint;
|
|
@@ -145,8 +151,8 @@ export declare type FindMatchingHintTableRelationships<Schema extends GenericSch
|
|
|
145
151
|
columns: [hint];
|
|
146
152
|
} ? R & {
|
|
147
153
|
match: 'col';
|
|
148
|
-
} : FindMatchingHintTableRelationships<Schema, Rest, hint, name> : FindMatchingHintTableRelationships<Schema, Rest, hint, name> : false : false;
|
|
149
|
-
export declare type FindMatchingHintViewRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], hint extends string, name extends string> = Relationships extends [infer R, ...infer Rest extends GenericRelationship[]
|
|
154
|
+
} : FindMatchingHintTableRelationships<Schema, Rest, hint, name> : FindMatchingHintTableRelationships<Schema, Rest, hint, name> : false : false : false;
|
|
155
|
+
export declare type FindMatchingHintViewRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], hint extends string, name extends string> = Relationships extends [infer R, ...infer Rest] ? Rest extends GenericRelationship[] ? R extends {
|
|
150
156
|
referencedRelation: infer ReferencedRelation;
|
|
151
157
|
} ? ReferencedRelation extends name ? R extends {
|
|
152
158
|
foreignKeyName: hint;
|
|
@@ -160,28 +166,28 @@ export declare type FindMatchingHintViewRelationships<Schema extends GenericSche
|
|
|
160
166
|
columns: [hint];
|
|
161
167
|
} ? R & {
|
|
162
168
|
match: 'col';
|
|
163
|
-
} : FindMatchingHintViewRelationships<Schema, Rest, hint, name> : FindMatchingHintViewRelationships<Schema, Rest, hint, name> : false : false;
|
|
169
|
+
} : FindMatchingHintViewRelationships<Schema, Rest, hint, name> : FindMatchingHintViewRelationships<Schema, Rest, hint, name> : false : false : false;
|
|
164
170
|
declare type IsColumnsNullable<Table extends Pick<GenericTable, 'Row'>, Columns extends (keyof Table['Row'])[]> = Columns extends [infer Column, ...infer Rest] ? Column extends keyof Table['Row'] ? ContainsNull<Table['Row'][Column]> extends true ? true : IsColumnsNullable<Table, Rest extends (keyof Table['Row'])[] ? Rest : []> : false : false;
|
|
165
171
|
export declare type IsRelationNullable<Table extends GenericTable, Relation extends GenericRelationship> = IsColumnsNullable<Table, Relation['columns']>;
|
|
166
|
-
declare type TableForwardRelationships<Schema extends GenericSchema, TName> = TName extends keyof TablesAndViews<Schema> ? UnionToArray<RecursivelyFindRelationships<Schema, TName, keyof TablesAndViews<Schema>>> extends infer R extends (GenericRelationship & {
|
|
172
|
+
declare type TableForwardRelationships<Schema extends GenericSchema, TName> = TName extends keyof TablesAndViews<Schema> ? UnionToArray<RecursivelyFindRelationships<Schema, TName, keyof TablesAndViews<Schema>>> extends infer R ? R extends (GenericRelationship & {
|
|
167
173
|
from: keyof TablesAndViews<Schema>;
|
|
168
|
-
})[] ? R : [] : [];
|
|
174
|
+
})[] ? R : [] : [] : [];
|
|
169
175
|
declare type RecursivelyFindRelationships<Schema extends GenericSchema, TName, Keys extends keyof TablesAndViews<Schema>> = Keys extends infer K ? K extends keyof TablesAndViews<Schema> ? FilterRelationships<TablesAndViews<Schema>[K]['Relationships'], TName, K> extends never ? RecursivelyFindRelationships<Schema, TName, Exclude<Keys, K>> : FilterRelationships<TablesAndViews<Schema>[K]['Relationships'], TName, K> | RecursivelyFindRelationships<Schema, TName, Exclude<Keys, K>> : false : false;
|
|
170
176
|
declare type FilterRelationships<R, TName, From> = R extends readonly (infer Rel)[] ? Rel extends {
|
|
171
177
|
referencedRelation: TName;
|
|
172
178
|
} ? Rel & {
|
|
173
179
|
from: From;
|
|
174
180
|
} : never : never;
|
|
175
|
-
declare type ResolveForwardRelationship<Schema extends GenericSchema, Field extends Ast.FieldNode, CurrentTableOrView extends keyof TablesAndViews<Schema> & string> = FindFieldMatchingRelationships<Schema, TablesAndViews<Schema>[Field['name']]['Relationships'], Ast.FieldNode & {
|
|
181
|
+
export declare type ResolveForwardRelationship<Schema extends GenericSchema, Field extends Ast.FieldNode, CurrentTableOrView extends keyof TablesAndViews<Schema> & string> = FindFieldMatchingRelationships<Schema, TablesAndViews<Schema>[Field['name']]['Relationships'], Ast.FieldNode & {
|
|
176
182
|
name: CurrentTableOrView;
|
|
177
183
|
hint: Field['hint'];
|
|
178
|
-
}> extends infer FoundByName extends GenericRelationship ? {
|
|
184
|
+
}> extends infer FoundByName ? FoundByName extends GenericRelationship ? {
|
|
179
185
|
referencedTable: TablesAndViews<Schema>[Field['name']];
|
|
180
186
|
relation: FoundByName;
|
|
181
187
|
direction: 'forward';
|
|
182
188
|
from: Field['name'];
|
|
183
189
|
type: 'found-by-name';
|
|
184
|
-
} : FindFieldMatchingRelationships<Schema, TableForwardRelationships<Schema, CurrentTableOrView>, Field> extends infer FoundByMatch extends GenericRelationship & {
|
|
190
|
+
} : FindFieldMatchingRelationships<Schema, TableForwardRelationships<Schema, CurrentTableOrView>, Field> extends infer FoundByMatch ? FoundByMatch extends GenericRelationship & {
|
|
185
191
|
from: keyof TablesAndViews<Schema>;
|
|
186
192
|
} ? {
|
|
187
193
|
referencedTable: TablesAndViews<Schema>[FoundByMatch['from']];
|
|
@@ -189,7 +195,7 @@ declare type ResolveForwardRelationship<Schema extends GenericSchema, Field exte
|
|
|
189
195
|
direction: 'forward';
|
|
190
196
|
from: CurrentTableOrView;
|
|
191
197
|
type: 'found-by-match';
|
|
192
|
-
} : FindJoinTableRelationship<Schema, CurrentTableOrView, Field['name']> extends infer FoundByJoinTable extends GenericRelationship ? {
|
|
198
|
+
} : FindJoinTableRelationship<Schema, CurrentTableOrView, Field['name']> extends infer FoundByJoinTable ? FoundByJoinTable extends GenericRelationship ? {
|
|
193
199
|
referencedTable: TablesAndViews<Schema>[FoundByJoinTable['referencedRelation']];
|
|
194
200
|
relation: FoundByJoinTable & {
|
|
195
201
|
match: 'refrel';
|
|
@@ -197,7 +203,7 @@ declare type ResolveForwardRelationship<Schema extends GenericSchema, Field exte
|
|
|
197
203
|
direction: 'forward';
|
|
198
204
|
from: CurrentTableOrView;
|
|
199
205
|
type: 'found-by-join-table';
|
|
200
|
-
} : SelectQueryError<`could not find the relation between ${CurrentTableOrView} and ${Field['name']}`>;
|
|
206
|
+
} : SelectQueryError<`could not find the relation between ${CurrentTableOrView} and ${Field['name']}`> : SelectQueryError<`could not find the relation between ${CurrentTableOrView} and ${Field['name']}`> : SelectQueryError<`could not find the relation between ${CurrentTableOrView} and ${Field['name']}`> : SelectQueryError<`could not find the relation between ${CurrentTableOrView} and ${Field['name']}`>;
|
|
201
207
|
/**
|
|
202
208
|
* Given a CurrentTableOrView, finds all join tables to this relation.
|
|
203
209
|
* For example, if products and categories are linked via product_categories table:
|
|
@@ -216,28 +222,29 @@ declare type ResolveForwardRelationship<Schema extends GenericSchema, Field exte
|
|
|
216
222
|
* referencedColumns: ["id"]
|
|
217
223
|
* }
|
|
218
224
|
*/
|
|
219
|
-
|
|
220
|
-
[TableName in keyof TablesAndViews<Schema>]: TablesAndViews<Schema>[TableName]['Relationships'] extends readonly (infer Rel)[] ? Rel extends {
|
|
225
|
+
declare type ResolveJoinTableRelationship<Schema extends GenericSchema, CurrentTableOrView extends keyof TablesAndViews<Schema> & string, FieldName extends string> = {
|
|
226
|
+
[TableName in keyof TablesAndViews<Schema>]: DeduplicateRelationships<TablesAndViews<Schema>[TableName]['Relationships']> extends readonly (infer Rel)[] ? Rel extends {
|
|
221
227
|
referencedRelation: CurrentTableOrView;
|
|
222
|
-
} ? TablesAndViews<Schema>[TableName]['Relationships'] extends readonly (infer OtherRel)[] ? OtherRel extends {
|
|
228
|
+
} ? DeduplicateRelationships<TablesAndViews<Schema>[TableName]['Relationships']> extends readonly (infer OtherRel)[] ? OtherRel extends {
|
|
223
229
|
referencedRelation: FieldName;
|
|
224
230
|
} ? OtherRel : never : never : never : never;
|
|
225
231
|
}[keyof TablesAndViews<Schema>];
|
|
232
|
+
export declare type FindJoinTableRelationship<Schema extends GenericSchema, CurrentTableOrView extends keyof TablesAndViews<Schema> & string, FieldName extends string> = ResolveJoinTableRelationship<Schema, CurrentTableOrView, FieldName> extends infer Result ? [Result] extends [never] ? false : Result : never;
|
|
226
233
|
/**
|
|
227
234
|
* Finds a matching relationship based on the FieldNode's name and optional hint.
|
|
228
235
|
*/
|
|
229
236
|
export declare type FindFieldMatchingRelationships<Schema extends GenericSchema, Relationships extends GenericRelationship[], Field extends Ast.FieldNode> = Field extends {
|
|
230
|
-
hint:
|
|
231
|
-
} ? FindMatchingHintTableRelationships<Schema, Relationships,
|
|
237
|
+
hint: string;
|
|
238
|
+
} ? FindMatchingHintTableRelationships<Schema, Relationships, Field['hint'], Field['name']> extends GenericRelationship ? FindMatchingHintTableRelationships<Schema, Relationships, Field['hint'], Field['name']> & {
|
|
232
239
|
branch: 'found-in-table-via-hint';
|
|
233
240
|
hint: Field['hint'];
|
|
234
|
-
} : FindMatchingHintViewRelationships<Schema, Relationships,
|
|
241
|
+
} : FindMatchingHintViewRelationships<Schema, Relationships, Field['hint'], Field['name']> extends GenericRelationship ? FindMatchingHintViewRelationships<Schema, Relationships, Field['hint'], Field['name']> & {
|
|
235
242
|
branch: 'found-in-view-via-hint';
|
|
236
243
|
hint: Field['hint'];
|
|
237
|
-
} : SelectQueryError<'Failed to find matching relation via hint'> : FindMatchingTableRelationships<Schema, Relationships, Field['name']> extends
|
|
244
|
+
} : SelectQueryError<'Failed to find matching relation via hint'> : FindMatchingTableRelationships<Schema, Relationships, Field['name']> extends GenericRelationship ? FindMatchingTableRelationships<Schema, Relationships, Field['name']> & {
|
|
238
245
|
branch: 'found-in-table-via-name';
|
|
239
246
|
name: Field['name'];
|
|
240
|
-
} : FindMatchingViewRelationships<Schema, Relationships, Field['name']> extends
|
|
247
|
+
} : FindMatchingViewRelationships<Schema, Relationships, Field['name']> extends GenericRelationship ? FindMatchingViewRelationships<Schema, Relationships, Field['name']> & {
|
|
241
248
|
branch: 'found-in-view-via-name';
|
|
242
249
|
name: Field['name'];
|
|
243
250
|
} : SelectQueryError<'Failed to find matching relation via name'>;
|