Implement query execution, scoped RPC enrichment, live collections, and scaffold integration
This commit is contained in:
@@ -111,7 +111,7 @@ valueMemberOperation
|
||||
;
|
||||
|
||||
relationshipMember
|
||||
: queryReadContract? RELATION identifier ID stringLiteral COLON cardinality targetConstraint ORDERED?
|
||||
: queryReadContract? RELATION identifier ID stringLiteral COLON cardinality targetConstraint ORDERED? (KEYED stringLiteral)?
|
||||
LBRACE relationshipOperation* RBRACE
|
||||
;
|
||||
|
||||
@@ -143,16 +143,21 @@ packageExport
|
||||
| packageFunctionExport
|
||||
| packageConstructorExport
|
||||
| packageQuery
|
||||
| packageQuerySpecialization
|
||||
;
|
||||
|
||||
packageQuery
|
||||
: QUERY identifier ID stringLiteral ROOT interfaceType
|
||||
: QUERY identifier typeParameters? ID stringLiteral ROOT interfaceType
|
||||
DOCUMENT stringLiteral OPERATION stringLiteral LBRACE queryClause* RBRACE
|
||||
;
|
||||
|
||||
packageQuerySpecialization
|
||||
: QUERY identifier ID stringLiteral SPECIALIZE identifier typeArguments SEMI
|
||||
;
|
||||
|
||||
queryClause
|
||||
: FRAGMENTS stringLiteral SEMI
|
||||
| VIEW identifier AS interfaceType SEMI
|
||||
| VIEW OBJECT? identifier AS interfaceType SEMI
|
||||
| MAX identifier INTEGER SEMI
|
||||
| ALLOW interfaceType DOT identifier identifier stringLiteral SEMI
|
||||
| WATCH SEMI
|
||||
@@ -206,6 +211,7 @@ dependencyPort
|
||||
| EDGE identifier ID stringLiteral COLON cardinality targetConstraint primitiveList SEMI
|
||||
| INTERFACE identifier ID stringLiteral COLON identifier typeArguments? SEMI
|
||||
| CONSTRUCTOR identifier ID stringLiteral COLON identifier (INPUT valueType)? SEMI
|
||||
| QUERY identifier ID stringLiteral COLON identifier DOT identifier SEMI
|
||||
;
|
||||
|
||||
primitiveList
|
||||
@@ -322,6 +328,7 @@ dependencyBinding
|
||||
| identifier TO EDGE identifier DOT identifier (VIA EDGE identifier DOT identifier)? SEMI
|
||||
| identifier TO INTERFACE identifier typeArguments? (VIA EDGE identifier DOT identifier)? SEMI
|
||||
| identifier TO CONSTRUCTOR identifier SEMI
|
||||
| identifier TO QUERY identifier DOT identifier (VIA EDGE identifier DOT identifier)? SEMI
|
||||
;
|
||||
|
||||
constructorBindingDecl
|
||||
@@ -391,6 +398,7 @@ identifier
|
||||
: IDENTIFIER
|
||||
| SOURCE
|
||||
| QUERY
|
||||
| SPECIALIZE
|
||||
| ROOT
|
||||
| DOCUMENT
|
||||
| FRAGMENTS
|
||||
@@ -408,6 +416,7 @@ stringLiteral
|
||||
|
||||
WORKSPACE: 'workspace';
|
||||
QUERY: 'query';
|
||||
SPECIALIZE: 'specialize';
|
||||
ROOT: 'root';
|
||||
DOCUMENT: 'document';
|
||||
FRAGMENTS: 'fragments';
|
||||
|
||||
Reference in New Issue
Block a user