Skip to content

Commit 0b95480

Browse files
committed
02 ex. Convert Action to generic
1 parent 69b64af commit 0b95480

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

exercises/02-roleBasedAccess.code.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ const userAccessModel = {
55
} as const;
66

77
export type Role = keyof typeof userAccessModel;
8-
export type Action = typeof userAccessModel[Role][number];
8+
export type Action<R extends Role> = typeof userAccessModel[R][number];
99

10-
export const canUserAccess = (role: Role, action: Action) => {
11-
return (userAccessModel[role] as ReadonlyArray<Action>).includes(action);
10+
export const canUserAccess = <R extends Role>(role: R, action: Action<R>) => {
11+
return (userAccessModel[role] as ReadonlyArray<Action<R>>).includes(action);
1212
};

0 commit comments

Comments
 (0)