Hi @meetsreekanth, filters are experimental right now, but it should work for the use-case you've just described.
I think the order of your parameters is not correct, the filter callback type looks like this:
export type FilterCallback<
T extends Schema = any,
V = any,
R extends Schema = any
> = (this: T, client: Client, value: V, root?: R) => boolean;
It's also important not to use arrow functions on filters, so this should work:
@filter(function (this: PlayerTurn, client: Client, value: ArraySchema<Card>, root?: GameState) {
return // ??
})
Hope this helps, cheers!