CASL & Typescript 基本 RBAC 设置

CASL & Typescript basic RBAC set up

我一直在为一个新项目测试 CASL,并在一些帮助下获得了在 CodeSandbox 上配置的基本打字稿 RBAC 设置:

https://codesandbox.io/s/wonderful-meadow-02kls?file=/src/index.ts

我从食谱中提取了一些片段:

https://casl.js.org/v4/en/cookbook/roles-with-static-permissions

我遇到了很多错误,我对 Typescript 的了解还不够深入,无法理解问题所在。

如有任何帮助,我们将不胜感激。

codesandbox 中 typeof 运算符的解释存在一些问题。如果将其更改为常规类型:

type AppAbilities = [
  'update',
  'User' | 'all'
]

一切正常。更新示例:https://codesandbox.io/s/eloquent-jang-0jl6s?file=/src/index.ts