import { pattern, UI } from "commonfabric"; interface Vote { optionId: string; voterName: string; } // FIXTURE: array-method-value-lift // Verifies (CT-1777): a bare reactive VALUE-expression in the return position of a // reactive map/filter/flatMap callback is lifted to a value-level lift, so it runs on // resolved values instead of being emitted raw on OpaqueRef proxies. Before CT-1777 a // filter predicate `v.optionId === oid` compiled to a proxy-vs-proxy `===` — reference // equality, i.e. a constant `false` — so the filter matched nothing (silent, type-clean). // - filter predicate comparison → filterWithPattern(pattern(... return lift(...)(...))) // - map -> non-JSX comparison → mapWithPattern(pattern(... return lift(...)(...))) // - flatMap -> array-element compare → flatMapWithPattern(pattern(... return [lift(...)(...)])) // Collection-valued `??` fallbacks and logical `&&`/`||` stay structural / control-flow // lowered; see filter-flatmap-fallback-chain for the structural-collection counterpart. export default pattern<{ votes: Vote[]; oid: string }>(({ votes, oid }) => { return { [UI]: (