Patch Changes
-
fix(db): use
Ref<T, Nullable>brand instead ofRef<T> | undefinedfor nullable join refs in declarative select (#1262)The declarative
select()callback receives proxy objects that record property accesses. These proxies are always truthy at build time, but nullable join sides (left/right/full) were typed asRef<T> | undefined, misleading users into using?.and??operators that have no effect at runtime. Nullable join refs are now typed asRef<T, true>, which allows direct property access without optional chaining while correctly producingT | undefinedin the result type. -
Fix unbounded WHERE expression growth in
DeduplicatedLoadSubsetwhen loading all data after accumulating specific predicates. The deduplication layer now correctly tracks the original request predicate (e.g.,where: undefinedfor "load all") instead of the optimized difference query sent to the backend, ensuringhasLoadedAllDatais properly set and subsequent requests are deduplicated. (#1348) -
fix(db): throw error when fn.select() is used with groupBy() (#1324)
-
Add
queryOncehelper for one-shot query execution, includingfindOne()support and optional QueryBuilder configs. (#1211)