Cloudwatch: Fix nested recursive type (#66950)

* Cloudwatch: Fix nested recursive type

* Cloudwatch: Update exports
This commit is contained in:
Alex Khomenko 2023-04-20 19:39:02 +03:00 committed by GitHub
parent ce0f1803c0
commit 2e55f26e53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 57 additions and 22 deletions

View File

@ -41,6 +41,7 @@ func (j *pgoJenny) Generate(decl *pfs.PluginDecl) (*codejen.File, error) {
Group: decl.SchemaInterface.IsGroup(),
Config: &copenapi.Config{
ExpandReferences: true,
MaxCycleDepth: 10,
},
},
PackageName: slotname,

View File

@ -143,6 +143,16 @@ const (
QueryEditorArrayExpressionTypeOr QueryEditorArrayExpressionType = "or"
)
// Defines values for QueryEditorExpressionExpressionsParametersType.
const (
QueryEditorExpressionExpressionsParametersTypeFunctionParameter QueryEditorExpressionExpressionsParametersType = "functionParameter"
)
// Defines values for QueryEditorExpressionExpressionsPropertyType.
const (
QueryEditorExpressionExpressionsPropertyTypeString QueryEditorExpressionExpressionsPropertyType = "string"
)
// Defines values for QueryEditorExpressionParametersType.
const (
QueryEditorExpressionParametersTypeFunctionParameter QueryEditorExpressionParametersType = "functionParameter"
@ -475,7 +485,8 @@ type CloudWatchMetricsQuerySqlGroupByExpressionsPropertyType string
// CloudWatchMetricsQuerySqlGroupByExpressionsItem defines model for CloudWatchMetricsQuery.sql.groupBy.expressions.Item.
type CloudWatchMetricsQuerySqlGroupByExpressionsItem struct {
Name *string `json:"name,omitempty"`
Expressions []interface{} `json:"expressions,omitempty"`
Name *string `json:"name,omitempty"`
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
Operator *struct {
@ -517,7 +528,8 @@ type CloudWatchMetricsQuerySqlWhereExpressionsPropertyType string
// CloudWatchMetricsQuerySqlWhereExpressionsItem defines model for CloudWatchMetricsQuery.sql.where.expressions.Item.
type CloudWatchMetricsQuerySqlWhereExpressionsItem struct {
Name *string `json:"name,omitempty"`
Expressions []interface{} `json:"expressions,omitempty"`
Name *string `json:"name,omitempty"`
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
Operator *struct {
@ -588,7 +600,8 @@ type QueryEditorArrayExpressionExpressionsPropertyType string
// QueryEditorArrayExpressionExpressionsItem defines model for QueryEditorArrayExpression.expressions.Item.
type QueryEditorArrayExpressionExpressionsItem struct {
Name *string `json:"name,omitempty"`
Expressions []interface{} `json:"expressions,omitempty"`
Name *string `json:"name,omitempty"`
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
Operator *struct {
@ -610,9 +623,10 @@ type QueryEditorArrayExpressionExpressionsItem struct {
// QueryEditorArrayExpressionType defines model for QueryEditorArrayExpression.Type.
type QueryEditorArrayExpressionType string
// QueryEditorArrayExpression is added in veneer
// QueryEditorExpression defines model for QueryEditorExpression.
type QueryEditorExpression struct {
Name *string `json:"name,omitempty"`
Expressions []QueryEditorExpressionExpressionsItem `json:"expressions,omitempty"`
Name *string `json:"name,omitempty"`
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
Operator *struct {
@ -631,6 +645,33 @@ type QueryEditorExpression struct {
union json.RawMessage
}
// QueryEditorExpressionExpressionsParametersType defines model for QueryEditorExpression.Expressions.Parameters.Type.
type QueryEditorExpressionExpressionsParametersType string
// QueryEditorExpressionExpressionsPropertyType defines model for QueryEditorExpression.Expressions.Property.Type.
type QueryEditorExpressionExpressionsPropertyType string
// QueryEditorExpressionExpressionsItem defines model for QueryEditorExpression.expressions.Item.
type QueryEditorExpressionExpressionsItem struct {
Name *string `json:"name,omitempty"`
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
Operator *struct {
Name *string `json:"name,omitempty"`
Value *interface{} `json:"value,omitempty"`
} `json:"operator,omitempty"`
Parameters []struct {
Name *string `json:"name,omitempty"`
Type QueryEditorExpressionExpressionsParametersType `json:"type"`
} `json:"parameters,omitempty"`
Property *struct {
Name *string `json:"name,omitempty"`
Type QueryEditorExpressionExpressionsPropertyType `json:"type"`
} `json:"property,omitempty"`
Type *interface{} `json:"type,omitempty"`
union json.RawMessage
}
// QueryEditorExpressionParametersType defines model for QueryEditorExpression.Parameters.Type.
type QueryEditorExpressionParametersType string
@ -790,7 +831,8 @@ type SQLExpressionGroupByExpressionsPropertyType string
// SQLExpressionGroupByExpressionsItem defines model for SQLExpression.GroupBy.Expressions.Item.
type SQLExpressionGroupByExpressionsItem struct {
Name *string `json:"name,omitempty"`
Expressions []interface{} `json:"expressions,omitempty"`
Name *string `json:"name,omitempty"`
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
Operator *struct {
@ -832,7 +874,8 @@ type SQLExpressionWhereExpressionsPropertyType string
// SQLExpressionWhereExpressionsItem defines model for SQLExpression.Where.Expressions.Item.
type SQLExpressionWhereExpressionsItem struct {
Name *string `json:"name,omitempty"`
Expressions []interface{} `json:"expressions,omitempty"`
Name *string `json:"name,omitempty"`
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
Operator *struct {

View File

@ -14,12 +14,12 @@ export function createArray(
expressions: QueryEditorExpression[],
type: QueryEditorExpressionType.And | QueryEditorExpressionType.Or = QueryEditorExpressionType.And
) {
const array = {
const array: QueryEditorArrayExpression = {
type,
expressions,
};
return array as QueryEditorArrayExpression;
return array;
}
export function createOperator(property: string, operator: string, value?: string): QueryEditorOperatorExpression {

View File

@ -125,8 +125,7 @@ composableKinds: DataQuery: {
expressions: [...#QueryEditorExpression] | [...#QueryEditorArrayExpression]
} @cuetsy(kind="interface")
// QueryEditorArrayExpression is added in veneer
#QueryEditorExpression: #QueryEditorPropertyExpression | #QueryEditorGroupByExpression | #QueryEditorFunctionExpression | #QueryEditorFunctionParameterExpression | #QueryEditorOperatorExpression @cuetsy(kind="type")
#QueryEditorExpression: #QueryEditorArrayExpression | #QueryEditorPropertyExpression | #QueryEditorGroupByExpression | #QueryEditorFunctionExpression | #QueryEditorFunctionParameterExpression | #QueryEditorOperatorExpression @cuetsy(kind="type")
#CloudWatchLogsQuery: {
common.DataQuery

View File

@ -143,10 +143,7 @@ export interface QueryEditorArrayExpression {
type: (QueryEditorExpressionType.And | QueryEditorExpressionType.Or);
}
/**
* QueryEditorArrayExpression is added in veneer
*/
export type QueryEditorExpression = (QueryEditorPropertyExpression | QueryEditorGroupByExpression | QueryEditorFunctionExpression | QueryEditorFunctionParameterExpression | QueryEditorOperatorExpression);
export type QueryEditorExpression = (QueryEditorArrayExpression | QueryEditorPropertyExpression | QueryEditorGroupByExpression | QueryEditorFunctionExpression | QueryEditorFunctionParameterExpression | QueryEditorOperatorExpression);
export interface CloudWatchLogsQuery extends common.DataQuery {
expression?: string;

View File

@ -2,9 +2,6 @@ import {
QueryEditorOperatorExpression as QueryEditorOperatorExpressionBase,
QueryEditorOperator as QueryEditorOperatorBase,
QueryEditorOperatorValueType,
QueryEditorExpressionType,
QueryEditorExpression as QueryEditorExpressionBase,
QueryEditorArrayExpression,
} from './dataquery.gen';
export {
QueryEditorPropertyType,
@ -14,10 +11,10 @@ export {
QueryEditorFunctionExpression,
QueryEditorFunctionParameterExpression,
QueryEditorArrayExpression,
QueryEditorExpressionType,
QueryEditorExpression,
} from './dataquery.gen';
export { QueryEditorExpressionType };
export interface QueryEditorOperator<T extends QueryEditorOperatorValueType> extends QueryEditorOperatorBase {
value?: T;
}
@ -25,5 +22,3 @@ export interface QueryEditorOperator<T extends QueryEditorOperatorValueType> ext
export interface QueryEditorOperatorExpression extends QueryEditorOperatorExpressionBase {
operator: QueryEditorOperator<QueryEditorOperatorValueType>;
}
export type QueryEditorExpression = QueryEditorArrayExpression | QueryEditorExpressionBase;