RecordsOf
RecordsOf<
T,Mode> =Textends [infer First,...(infer Rest)] ? [...(First extends PredictedTrait<infer S> ? S extends Record<string, never> ? [] : [Mode extends "read" ? DeepReadonly<TraitRecord<S>> : TraitRecord<S>] : First extends CoreTrait<infer S> ? S extends Record<string, never> ? [] : [DeepReadonly<TraitRecord<S>>] : First extends PredictedModifier<infer Inner, infer Kind> ? RecordsOf<Inner, Kind extends "or" ? Mode : "read"> : First extends QueryParameter ? InstancesFromParameters<[First]> : []),...RecordsOf<Rest, Mode>] : []
What a pass over a query hands its callback: koota’s records, with a
predicted trait’s record read-only where Mode is "read", an Or‘s
as each of its traits’, and a tracking modifier’s predicted records
read-only always.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
T extends unknown[] |
Mode extends "read" | "write" |