type ValidateFeatureSlots<TFeatures> = IsAny<TFeatures> extends true ? object : { [K in keyof TFeatures as K extends keyof FeatureSlotPrereqs ? K : never]: K extends keyof FeatureSlotPrereqs ? [Extract<FeatureSlotPrereqs[K], keyof TFeatures>] extends [never] ? `Error: '${K & string}' requires '${FeatureSlotPrereqs[K] & string}' to be included in this table's features.` : TFeatures[K] : never };Defined in: types/TableFeatures.ts:86
Validates that every row model and fn registry slot in a features object is accompanied by its prerequisite feature.
Slots whose prerequisite is missing have their type replaced with a literal error message, so the offending property fails to type-check with a message naming the feature that needs to be added.
TFeatures extends TableFeatures