Describe the bug
Applying FilterVisibility strips visibility decorators from the resulting Model.
How to keep them for further filtering?
TIA
Reproduction
using Reflection;
@defaultVisibility(Marker.none)
internal enum Marker {
none,
filter,
order,
link,
}
internal model GuessListType<Type extends Model> { ...FilterVisibility<Type, #{ all: #[Lifecycle.Read], none: #[Marker.link] }, "{name}List"> }
internal model GuessOrderType<Type extends Model> { ...FilterVisibility<Type, #{ all: #[Marker.order] }, "{name}Order"> }
model Foo {
@visibility(Marker.filter) @visibility(Marker.order) @visibility(Lifecycle.Read) @key id: string,
@visibility(Marker.filter) @visibility(Marker.order) prop: int32,
@visibility(Marker.link) links: int32[],
}
model FooList is GuessListType<Foo> {} // CORRECT: id, prop
model FooOrder is GuessOrderType<FooList> {} // INCORRECT: empty, should be id, prop
Checklist
Describe the bug
Applying FilterVisibility strips visibility decorators from the resulting Model.
How to keep them for further filtering?
TIA
Reproduction
Checklist