github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/appdef/impl_query.go (about) 1 /* 2 * Copyright (c) 2023-present Sigma-Soft, Ltd. 3 * @author: Nikolay Nikitin 4 */ 5 6 package appdef 7 8 // # Implements: 9 // - IQuery 10 type query struct { 11 function 12 } 13 14 func newQuery(app *appDef, name QName) *query { 15 q := &query{} 16 q.function = makeFunc(app, name, TypeKind_Query) 17 app.appendType(q) 18 return q 19 } 20 21 func (q *query) isQuery() {} 22 23 // # Implements: 24 // - IQueryBuilder 25 type queryBuilder struct { 26 functionBuilder 27 *query 28 } 29 30 func newQueryBuilder(q *query) *queryBuilder { 31 return &queryBuilder{ 32 functionBuilder: makeFunctionBuilder(&q.function), 33 query: q, 34 } 35 }