diff --git a/packages/frontend/src/pages/admin/roles.policy-editor.vue b/packages/frontend/src/pages/admin/roles.policy-editor.vue index 961c5ff4cd..ed18ee9675 100644 --- a/packages/frontend/src/pages/admin/roles.policy-editor.vue +++ b/packages/frontend/src/pages/admin/roles.policy-editor.vue @@ -70,12 +70,16 @@ const props = withDefaults(defineProps<{ readonly: false, }); +type RemoveNever = { + [P in keyof T as T[P] extends never ? never : P]: T[P]; +}; + type RolePolicyEditorValueItem = { value: GetRolePolicyEditorValuesType; -} | ( - (UD extends true ? { useDefault: boolean } : Record) | - (WP extends true ? { priority: 0 | 1 | 2 } : Record) -); +} & RemoveNever< + (UD extends true ? { useDefault: boolean } : { useDefault: never }) + & (WP extends true ? { priority: 0 | 1 | 2 } : { priority: never }) +>; type RolePolicyEditorValue = { [K in keyof typeof rolePolicyEditorDef]: RolePolicyEditorValueItem;